QuickSearchManager=function(a,b,c){this.name=a;this.theme=c;this.searchController=b;this.mainContainer=null;this.searchField=null;this.searchResults=null;this.imageFileName="quickSearch";this.imageId=this.imageFileName+"Img"+this.name;this.imageStates={norm:"-128px -123px",over:"-128px -150px",down:"-128px -177px"};this.button=null;this.specialKeyPressed=false;this.lastKey=null;this.numResultRows=null;this.lastSearch=null;this.delayedRequest=null;this.processCount=0;this.spinner=null;this.spinnerStatus="off";this.hasFocus=false;this.isOpen=false;bindMethods(this)};QuickSearchManager.prototype.initialize=function(){this.mainContainer=getElement(this.name+"quickSearchContainer");this.button=getElement(this.imageId);this.topSpan=getElement("quickSearchTopSpan"+this.name);updateNodeAttributes(this.button,{onmousedown:this.showQuickSearchField});updateNodeAttributes(this.button,{onmouseover:this.highlightButton});updateNodeAttributes(this.button,{onmouseout:this.unhighlightButton});addToCallStack(document,"onmousedown",this.hideQuickSearch)};QuickSearchManager.prototype.highlightButton=function(){if(document.images.length!=0&&showElement){this.button.style.backgroundPosition=this.imageStates.over;showElement($("quickSearchNavButtonText"))}};QuickSearchManager.prototype.unhighlightButton=function(){if(document.images.length!=0){this.button.style.backgroundPosition=this.imageStates.norm;hideElement($("quickSearchNavButtonText"))}};QuickSearchManager.prototype.pressButton=function(){if(document.images.length!=0){this.button.style.backgroundPosition=this.imageStates.down;hideElement($("quickSearchNavButtonText"));updateNodeAttributes(this.button,{onmousedown:this.hideQuickSearch});updateNodeAttributes(this.button,{onmouseover:null});updateNodeAttributes(this.button,{onmouseout:null})}};QuickSearchManager.prototype.unpressButton=function(){this.button.style.backgroundPosition=this.imageStates.norm;updateNodeAttributes(this.button,{onmousedown:this.showQuickSearchField});updateNodeAttributes(this.button,{onmouseover:this.highlightButton});updateNodeAttributes(this.button,{onmouseout:this.unhighlightButton})};QuickSearchManager.prototype.hideQuickSearch=function(b){if(this.isOpen){var a=getEventTarget(b);for(;a!=null&&a!=this.button&&a!=this.topSpan;a=a.parentNode){}if(a==this.topSpan){}else{if(a==null){this.unpressButton();this.clearResults();this.mainContainer.innerHTML="";this.isOpen=false}else{this.unpressButton();this.highlightButton();this.clearResults();this.mainContainer.innerHTML="";this.isOpen=false}}}};QuickSearchManager.prototype.showQuickSearchField=function(){if(!this.isOpen){this.pressButton();var b=opriusLoadJSONDoc("/quickSearch/",{tg_format:"json",tg_random:(new Date()).getTime()});var a=function(d,c){if(c==undefined){return false}d.mainContainer.innerHTML=c.itemsHTML;d.searchField=getElement("quickSearchTextField");updateNodeAttributes(d.searchField,{onkeyup:d.theKeyUp,onkeydown:d.theKeyPress,onblur:d.lostFocus,onfocus:d.gotFocus});d.spinner=getElement("quickSearchSpinner");d.spinnerOnImg=getNodeAttribute(d.spinner,"src2");d.spinnerOffImg=getNodeAttribute(d.spinner,"src");d.searchResults=getElement("quickSearchTheResults");d.searchField.focus();d.isOpen=true};b.addCallback(partial(a,this))}};QuickSearchManager.prototype.theKeyPress=function(b){b=b||window.event;var a=b.keyCode||b.which;this.lastKey=a;this.specialKeyPressed=false;if(this.numResultRows>0){}else{}};QuickSearchManager.prototype.theKeyUp=function(a){if(this.specialKeyPressed||(this.searchField.value==this.lastSearch)){return false}if(!this.searchField.value){if(this.delayedRequest){this.delayedRequest.cancel()}this.clearResults();return false}if(this.delayedRequest){this.delayedRequest.cancel()}this.delayedRequest=callLater(1,this.doDelayedRequest);return true};QuickSearchManager.prototype.lostFocus=function(){this.hasFocus=false};QuickSearchManager.prototype.gotFocus=function(a){this.hasFocus=true};QuickSearchManager.prototype.clearResults=function(){this.lastSearch=null;this.processCount=0;this.spinnerToggle("off");this.searchResults.innerHTML=""};QuickSearchManager.prototype.doDelayedRequest=function(){this.delayedRequest=null;if(!this.searchField.value){this.clearResults();return false}this.processCount=this.processCount+1;this.spinnerToggle("on");this.lastSearch=this.searchField.value;var a=loadJSONDoc(this.searchController,{tg_format:"json",tg_random:(new Date()).getTime(),searchString:this.searchField.value});a.addCallback(this.displayResults)};QuickSearchManager.prototype.spinnerToggle=function(a){if(this.spinner&&this.spinnerStatus!=a){if(this.spinnerStatus=="on"){this.spinnerStatus="off";this.spinner.src=this.spinnerOffImg}else{this.spinnerStatus="on";this.spinner.src=this.spinnerOnImg}}};QuickSearchManager.prototype.displayResults=function(a){if(a==undefined){return false}if(!this.hasFocus){this.processCount=this.processCount-1;if(this.processCount==0){this.spinnerToggle("off")}return false}this.searchResults.innerHTML=a.itemsHTML;this.searchResults=getElement("quickSearchTheResults");var b=document.all?createDOM("IFRAME"):createDOM("DIV");appendChildNodes(this.searchResults,b);this.processCount=this.processCount-1;if(this.processCount==0){this.spinnerToggle("off")}};
