var errorObj = new Object();
errorObj.fields = new Array();
errorObj.messages = new Array();

function clearErrors() { 
 if(document.getElementById('searchErrorContainer')) {
  document.getElementById('searchErrorContainer').parentNode.removeChild(document.getElementById('searchErrorContainer'),true);
 }
 errorObj.fields.length=0;
 errorObj.messages.length=0; 
}

function displayErrors(parentContainer) {
 var errorDiv = document.createElement("div");
 errorDiv.setAttribute('id','searchErrorContainer'); 
 var oList = document.createElement("ul");
 oList.setAttribute('id','searchErrorListContainer');  
 var listItems = ''  
 for(var x = 0; x < errorObj.fields.length; x++) {    
  listItems+='<li>'+errorObj.messages[x]+'</li>';    
 }
 oList.innerHTML=listItems;
 errorDiv.appendChild(oList,true);
 document.getElementById('keywordContainer').insertBefore(errorDiv,document.getElementById(parentContainer)); 
}

function formHasErrors() {
 if(errorObj.fields.length > 0) {
  return true;
 }
 return false;
}

function doSearch(sArg,st) { 	 
  document.getElementById('siteSearchResults').innerHTML = 'Searching please wait...';
  AjaxRequest.get(
    { 
      'url':'/includes/_searchResults.cfm?'+ sArg +'&sType='+st
      ,'onSuccess':function(req){ document.getElementById('siteSearchResults').innerHTML = req.responseText; }
      ,'onError':function(req){ document.getElementById('siteSearchResults').innerHTML = req.statusText+'\nContents='+req.responseText; }
    }
  );
} 

function validatePSFind() { 
 clearErrors();
 if(document.getElementById('productNservices').selectedIndex == 0 && document.getElementById('researchApp').selectedIndex == 0 && document.getElementById('diseaseModel').selectedIndex == 0 && document.getElementById('phenotype').selectedIndex == 0) {
  errorObj.fields[errorObj.fields.length]='';
  errorObj.messages[errorObj.messages.length]='Please select a product or a service or a keyword from one of the select lists.';
 } 

 if(formHasErrors()) {  
  displayErrors('searchKeywordLabel');
 }
 else {  
  document.getElementById('searchform').submit();
 } 
}


function validateSearch() { 
 clearErrors();
 if(document.getElementById('searchArg').value == '') {  
  errorObj.fields[errorObj.fields.length]='searchArg';
  errorObj.messages[errorObj.messages.length]='Please include a search term.';
 }	
 
 if(formHasErrors()) {  
  displayErrors('searchKeywordLabel');
 }
 else {  
  document.getElementById('searchform').submit();
 } 
}	

function showHideAdvanced() {
	if (document.getElementById('advancedOptions').style.display == 'none') {
		document.getElementById('advancedOptions').style.display = 'inline';
		document.getElementById('advancedLink').innerHTML='Basic';
		document.getElementById('includeDocumentsInSearch').checked=false;	
		document.getElementById('includeDocContainer').style.display="none";			
	}
  else {
    document.getElementById('includeDocContainer').style.display="inline";
  	document.getElementById('advancedOptions').style.display = 'none';
  	document.getElementById('advancedLink').innerHTML='Advanced';	
  }
}	

function validateSiteSearchForm() {
  clearErrors();
  if(isBlank(document.getElementById('searchArg'))) {
   var errDisplay = '<strong>The following errors have occurred:</strong><br />';
   document.getElementById('siteSearchErrorWrapper').innerHTML=errDisplay + '<ul><li>Please enter search criteria</li></ul>';
   document.getElementById('siteSearchErrorWrapper').style.display="block";   
   document.getElementById('siteSearchErrorWrapper').style.color='#FF0000'; 
   document.getElementById('searchLabel').style.border='1px solid #FF0000';
   return false;
  }  
  return true;
}
 
//function clearErrors() {
//  document.getElementById('siteSearchErrorWrapper').innerHTML='';
//  document.getElementById('siteSearchErrorWrapper').style.display="none"; 
//  document.getElementById('searchLabel').style.border='0px none';
//}
 
// searchDump for Products and Services View All link
function searchDump() {
  document.getElementById('searchArg').value = '*';
  document.getElementById('searchform').submit();
}	 