/* Copyright © 2008 Deep Web Technologies, Inc.  All rights reserved. */

function SearchPane(){this.errors=[];this.errorString="";SearchPane.instance=this;}SearchPane.beginDateAfterEndDate="SearchPane.beginDateAfterEndDate";SearchPane.noCategoriesSelected="SearchPane.noCategoriesSelected";SearchPane.searchEmptyMessage="SearchPane.searchEmptyMessage";SearchPane.searchFieldEmpty="SearchPane.searchFieldEmpty";SearchPane.minYear=1900;SearchPane.currentYear=new Date().getFullYear();SearchPane.instance=null;SearchPane.emptyString=/^\s*$/;SearchPane.prototype.focusOnSearch=function(){if(tab_state=="simple"){document.getElementById("search_terms").focus();}else{var B=document.search.elements;for(var A=0;A<B.length;++A){if(B[A].type=="text"){B[A].focus();break;}}}};SearchPane.prototype.addError=function(A){this.errors.push(A);};SearchPane.textElementsToIgnore={toYear:"toYear",fromYear:"fromYear",alertName:"alertName",description:"description","frequency.multiplier":"frequency.multiplier"};SearchPane.prototype.atLeastOne=function(D){var A=true;var C=D.elements;for(var B=0;B<C.length;++B){if(C[B].type=="text"){if(typeof SearchPane.textElementsToIgnore[C[B].name]!="undefined"){continue;}A&=SearchPane.emptyString.test(C[B].value);if(!A){break;}}}if(A){this.addError(SearchPane.searchEmptyMessage);}};SearchPane.prototype.areAnyCollectionsChecked=function(){var A=document.getElementById("categoryBlock");var B=A.getElementsByTagName("input");var D=false;for(var C=0;C<B.length&&!D;C++){if(B[C].type=="checkbox"&&B[C].checked){D=true;}}if(!D){this.addError(SearchPane.noCategoriesSelected);}};SearchPane.prototype.validateSimpleSearch=function(A){var C=true;var B=document.getElementById(A);if(isBlank(B.value)){MessageBox.error("Invalid Search Parameters","The search field must contain text");C=false;}return C;};SearchPane.prototype.validateAdvancedSearch=function(C,B){var A;var D=true;if(typeof (B)=="undefined"){B=true;}this.errors=[];this.atLeastOne(C);this.validateDates();this.areAnyCollectionsChecked();if(this.errors.length>0){this.errorString="";for(A=0;A<this.errors.length;++A){this.errorString+=this.errors[A];this.errorString+="<br/>";}if(B){MessageBox.error("Invalid Search Parameters",this.errorString);}D=false;}return D;};SearchPane.prototype.isValidDateElement=function(A){return(A!==null)&&(A.tagName=="input")&&(A.type=="text");};SearchPane.prototype.validateDates=function(){var B=document.getElementById("fromYear");var A=document.getElementById("toYear");if(!B||!A){return true;}this.dateFieldIsValid(B);this.dateFieldIsValid(A);if(B.value!==""&&A.value!==""&&B.value>A.value){this.addError(SearchPane.beginDateAfterEndDate);}};SearchPane.prototype.dateFieldIsValid=function(B){var A=B.value;if(A.length===0){}else{if(!A.match(/^[0-9]{4}$/)){if(B.id=="fromYear"){this.addError("The start date must have four digits.");}else{this.addError("The end date must have four digits.");}}else{if(A<SearchPane.minYear){if(B.id=="fromYear"){this.addError("The earliest searchable start year is "+SearchPane.minYear);}else{this.addError("The earliest searchable end year is "+SearchPane.minYear);}}else{if(A>SearchPane.currentYear){if(B.id=="fromYear"){this.addError("The latest searchable start year is "+SearchPane.currentYear+".");}else{this.addError("The latest searchable end year is "+SearchPane.currentYear+".");}}}}}};function switchTabs(C){var B=document.getElementById("simple-tab");var A=document.getElementById("advanced-tab");var E=document.getElementById("simple-tab-content");var D=document.getElementById("advanced-tab-content");if(C==tab_state){return ;}if(tab_state=="simple"){B.className="";A.className="Selected";A.blur();E.className="Removed";D.className="";tab_state="advanced";}else{B.className="Selected";B.blur();A.className="";E.className="";D.className="Removed";tab_state="simple";}SearchPane.instance.focusOnSearch();}