var siteSearchErrorObj = new Object();
siteSearchErrorObj.fields = new Array();
siteSearchErrorObj.messages = new Array();

function clearSiteSearchErrors() {  
 for(var x = 0; x < siteSearchErrorObj.fields.length; x++) {  
  if(document.getElementById(siteSearchErrorObj.fields[x]+'Container')) {
   document.getElementById(siteSearchErrorObj.fields[x]+'Container').className='';
  }
 }
 document.getElementById('siteSearchErrorDetail').innerHTML='';
 document.getElementById('siteSearchErrorContainer').style.display="none"; 
 siteSearchErrorObj.fields.length=0;
 siteSearchErrorObj.messages.length=0;   
}

function siteSearchFormHasErrors() {    
 if(siteSearchErrorObj.fields.length > 0) {   
  return true;
 }
 return false;
}

function displaySiteSearchErrorsMessages() {   
 var errorStr='';
 for(var x = 0; x < siteSearchErrorObj.fields.length; x++) {    
  if(siteSearchErrorObj.messages[x] != "") {   
   errorStr+='<li>'+siteSearchErrorObj.messages[x]+'</li>';  
  }  
  if(document.getElementById(siteSearchErrorObj.fields[x]+'Container')) { 
   document.getElementById(siteSearchErrorObj.fields[x]+'Container').className="validationError";
  } 
 }
 document.getElementById('siteSearchErrorDetail').innerHTML=errorStr;
 document.getElementById('siteSearchErrorContainer').style.display="block";
 window.scrollTo(0,0);
}
 
function search() {   
 if(validateSearch()) {
  document.getElementById('ss_resultsPage').value=1;	
  document.getElementById('siteSearchForm').submit();
 }
 else {
  displaySiteSearchErrorsMessages();
 }
}
  
function advancedSearchOptions() {
 if(document.getElementById('advancedSearchOptionsContainer').style.display == "block") {
  document.getElementById('advancedSearchOptionsContainer').style.display = "none";	 
 }
 else {
  document.getElementById('advancedSearchOptionsContainer').style.display = "block";	
 }
}
  
function searchHelp() {
 if(document.getElementById('searchHelpContainer').style.display == "block") {
  document.getElementById('searchHelpContainer').style.display = "none";	 
 }
 else {
  document.getElementById('searchHelpContainer').style.display = "block";	
 }
} 
  
function validateSearch() {    
 clearSiteSearchErrors();   
 if(isBlank(document.getElementById('searchArg'))) {  
  siteSearchErrorObj.fields[siteSearchErrorObj.fields.length]='searchArg';
  siteSearchErrorObj.messages[siteSearchErrorObj.messages.length]='Search argument is a required field.';  
 }     
 if(siteSearchFormHasErrors()) {
  return false;
 }
 return true;      
}
  
function getResultsPage(resultsPage) {
 document.getElementById('siteSearchForm').reset();
 document.getElementById('ss_resultsPage').value=resultsPage;
 document.getElementById('siteSearchForm').submit(); 
}

function searchFilters(filterType) {
 resetFilters();
 if(filterType == 'both') {  
  document.getElementById('textFiltersContainer').style.display="none";
  document.getElementById('documentFiltersContainer').style.display="none";
 }
 else if(filterType == 'page') {
  document.getElementById('textFiltersContainer').style.display="block";
  document.getElementById('documentFiltersContainer').style.display="none";
 }
 else if(filterType == 'documents') {
  document.getElementById('textFiltersContainer').style.display="none";
  document.getElementById('documentFiltersContainer').style.display="block";
 }
}

function manageFilters(filterType) {
 var total = document.getElementsByName(filterType+'Section').length; 
 if(getCurrentFilterAction(filterType) != "Check All") {
  unSelectAllFilters(filterType);
 } 
 else {
  selectAllFilters(filterType);
 }
 updateFilterAction(filterType);
}

function updateFilterAction(filterType) {
 if(getCurrentFilterAction(filterType) == "Check All") {
  document.getElementById(filterType+'FilterAction').innerHTML='Uncheck All';
 }
 else {
  document.getElementById(filterType+'FilterAction').innerHTML='Check All';
 }
}

function getCurrentFilterAction(filterType) {
 return document.getElementById(filterType+'FilterAction').innerHTML;
}

function selectAllFilters(filterType) {
 var total = document.getElementsByName(filterType+'Section').length;
 for(var x = 0; x < total; x++) {
  document.getElementsByName(filterType+'Section').item(x).checked=true;
 }
}

function unSelectAllFilters(filterType) {
 var total = document.getElementsByName(filterType+'Section').length;
 for(var x = 0; x < total; x++) {
  document.getElementsByName(filterType+'Section').item(x).checked=false;
 }
}

function resetFilters() {
 unSelectAllFilters('page');
 document.getElementById('pageFilterAction').innerHTML='Check All'; 
 unSelectAllFilters('document');
 document.getElementById('documentFilterAction').innerHTML='Check All';
 unSelectAllFilters('extension');
 document.getElementById('extensionFilterAction').innerHTML='Check All';
}

function openResultWindow(url) {
 window.open(url);
}