ONEHAT.widget.search=ONEHAT.widget.search||{init:function(){var oThis=this;this.searchContainer=$('searchContainer');this.searchContainer.anim=new YAHOO.util.Anim(this.searchContainer);this.searchContainer.anim.duration=.5;this.searchContainer.anim.method=YAHOO.util.Easing.easeOutStrong;this.resultsUL=$('quickResults');this.q=$('q');this.q.setAttribute('autocomplete','off');this.q.disabled=true;this.q1=$('q1');this.quickResultsLink=$('quickResultsLink');this.submitButton=$('qSubmit');this.submitImage=$('qSubmitImage');this.query=this.q.value;this.timeoutId=null;this.resultsBox=$('quickResultsContainer');this.resultsBox.height=0;this.resultsBox.heightMin=0;this.resultsBox.heightMax=400;this.resultsBox.adjustedHeightMax=0;this.resultsBox.visible=false;this.submitButton.style.display='none';this.submitImage.style.display='block';YUE.addListener(this.submitImage,'click',function(){oThis.submitButton.form.submit();});YUE.addListener(this.searchContainer,'mouseover',function(e){oThis._handleSCmouseover(e);});YUE.addListener(this.searchContainer,'mouseout',function(e){oThis._handleSCmouseout(e);});YUE.addListener(this.q,'focus',function(e){oThis._handleQFocus(e);});YUE.addListener(this.q,'blur',function(e){oThis._handleQBlur(e);});if(this.enableQuickResults){YUE.addListener(this.q,'keyup',function(e){oThis._handleKeyUp(e);});}},_handleQFocus:function(e){var oThis=this;oThis.q.hasFocus=true;if(!this.searchContainer.anim.showing){oThis.showSearchContainer(e);}
if(oThis.enableQuickResults){this.query=this.q.value;if(this.query===''){setTimeout(function(){oThis.hideResults();},500);return true;}
clearTimeout(this.timeoutId);this.timeoutId=setTimeout(function(){oThis.getQuickResults();},250);}},_handleQBlur:function(e){var oThis=this;oThis.q.hasFocus=false;if(this.searchContainer.over){if(!this.searchContainer.anim.showing){oThis.showSearchContainer();}}else{if(!this.searchContainer.anim.hiding){setTimeout(function(){oThis.hideSearchContainer();},700);}}
if(oThis.enableQuickResults){setTimeout(function(){oThis.hideResults();},700);}},_handleSCmouseover:function(e){var oThis=this;if(this.hideDelay){clearTimeout(this.hideDelay);}
this.searchContainer.over=true;if(!this.searchContainer.anim.showing){oThis.showSearchContainer();}},_handleSCmouseout:function(e){var oThis=this;this.searchContainer.over=false;if(oThis.q.hasFocus){return;}
this.hideDelay=setTimeout(function(){oThis.hideSearchContainer();},250);},showSearchContainer:function(){var oThis=this;this.searchContainer.anim.hiding=false;this.q.disabled=false;if(this.searchContainer.anim.isAnimated){this.searchContainer.anim.stop();}
this.searchContainer.anim.attributes={left:{to:737}};this.searchContainer.anim.duration=.5;this.searchContainer.anim.showing=true;this.searchContainer.anim.onComplete.unsubscribeAll();this.searchContainer.anim.onComplete.subscribe(function(){oThis.showing=false;});this.searchContainer.anim.animate();},hideSearchContainer:function(){var oThis=this;oThis.searchContainer.anim.showing=false;oThis.q.disabled=true;if(oThis.searchContainer.anim.isAnimated()){oThis.searchContainer.anim.stop();}
oThis.searchContainer.anim.attributes={left:{to:886}};this.searchContainer.anim.duration=2;this.searchContainer.anim.hiding=true;this.searchContainer.anim.onComplete.unsubscribeAll();this.searchContainer.anim.onComplete.subscribe(function(){oThis.hiding=false;});oThis.searchContainer.anim.animate();},_handleKeyUp:function(e){var iKeyCode=e.keyCode;var oThis=this;this.query=this.q.value;this.q1.innerHTML=this.q.value;this.quickResultsLink.href='county/search?q='+encodeURIComponent(this.q.value);if(this.query===''){setTimeout(function(){oThis.hideResults();},250);return true;}
clearTimeout(this.timeoutId);if(iKeyCode==8||iKeyCode==46){this.timeoutId=setTimeout(function(){oThis.getQuickResults();},250);}else if(iKeyCode<32||(iKeyCode>=33&&iKeyCode<46)||(iKeyCode>=112&&iKeyCode<=123)){}else{this.timeoutId=setTimeout(function(){oThis.getQuickResults();},250);}},getQuickResults:function(){var oThis=this;var request=YAHOO.util.Connect.asyncRequest('GET','ajax/county/search/search/?q='+this.query,{success:function(o){oThis._handleAjaxResponse(o.responseText.parseJSON());}});},showResults:function(response){this.resultsUL.innerHTML="";var totalResults=0;for(var resultsType in response){if(!response.hasOwnProperty(resultsType)){continue;}
var quickResults=response[resultsType];totalResults+=quickResults.length?quickResults.length:0;var li=null;var a=null;switch(resultsType){case'staticResults':for(var i=0;i<quickResults.length;i++){li=document.createElement("li");if(i===0){li.className='firstPagesItem';}
a=document.createElement("a");a.href="display.php?section="+decodeURIComponent(quickResults[i].section)+"&page="+
decodeURIComponent(quickResults[i].page)+"&q="+encodeURIComponent(this.query);this.resultsUL.appendChild(li);li.appendChild(a);a.appendChild(document.createTextNode(quickResults[i].sectionLongName+': '+quickResults[i].pageTitle));}
break;case'newsResults':for(var i=0;i<quickResults.length;i++){li=document.createElement("li");if(i===0){li.className='firstNewsItem';}
a=document.createElement("a");a.href=decodeURIComponent(quickResults[i].section)+'/news/show/'+
decodeURIComponent(quickResults[i].newsID)+'/&q='+encodeURIComponent(this.query);this.resultsUL.appendChild(li);li.appendChild(a);a.appendChild(document.createTextNode(decodeURIComponent(quickResults[i].title)));}
break;}}
var previousHeightMax=this.resultsBox.adjustedHeightMax;this.resultsBox.adjustedHeightMax=this.resultsBox.heightMax-((10-totalResults)*25);this.resultsBox.visible=true;this.resultsBox.style.display='block';if(previousHeightMax>this.resultsBox.adjustedHeightMax){this.shrink(true);}else{this.grow();}},hideResults:function(){this.resultsBox.visible=false;this.shrink();},grow:function(){if(!this.resultsBox.visible){return;}
var change=false;var oThis=this;if(this.resultsBox.height<this.resultsBox.adjustedHeightMax){this.resultsBox.height=this.resultsBox.height+5;change=true;}
if(change){this.resultsBox.style.clip='rect(-39px 323px '+(this.resultsBox.height-39)+'px 0px)';setTimeout(function(){oThis.grow();},10);}},shrink:function(adjustment){var change=false;var oThis=this;if(adjustment){if(this.resultsBox.height>this.resultsBox.adjustedHeightMax){this.resultsBox.height=this.resultsBox.height-5;change=true;}}else{if(this.resultsBox.height>this.resultsBox.heightMin){this.resultsBox.height=this.resultsBox.height-5;change=true;}}
if(change){this.resultsBox.style.clip='rect(-39px 323px '+(this.resultsBox.height-39)+'px 0px)';setTimeout(function(){oThis.shrink(adjustment);},10);}else{if(!adjustment){this.resultsBox.adjustedHeightMax=0;this.resultsBox.style.display='none';}}},_handleAjaxResponse:function(response){for(var resultsType in response){if(!response.hasOwnProperty(resultsType)){continue;}
if(response[resultsType]&&response[resultsType].length>0){var show=true;break;}}
if(show){this.showResults(response);}else{this.hideResults();}}};YUE.onDOMReady(function(){ONEHAT.widget.search.init();});
