var aDisallowedSites=new Array();var retrievedData=null;var offsetWidth=200;var previousFilterUrl="";var sFilterData="";var arrXMLUrl=new Array();var arrFilterUrl=new Array();var arrElementID=new Array();var arrDefault=new Array();function IsValidSite(){var i,length,pub;for(i=0,length=aDisallowedSites.length;i<length;i++){pub=document.location.pathname;pub=pub.substr(0,aDisallowedSites[i].length);pub=pub.toLowerCase();if(pub==aDisallowedSites[i]){return false;}}return true;}function CreateSuggest(elementID,sDefault){if(!IsValidSite()){return;}arrXMLUrl[arrXMLUrl.length]=sXMLUrl;arrFilterUrl[arrFilterUrl.length]=sFilterUrl;arrElementID[arrElementID.length]=elementID;arrDefault[arrDefault.length]=sDefault;}function EKSuggest(oProvider,bTypeAhead,bPhoneticMatch,bAnyMatch,sCssClass){this.showItems=10;this.cur=-1;this.layer=null;this.iframe=null;this.provider=oProvider;this.textbox=oProvider.suggestionElement();this.doTypeAhead=bTypeAhead;this.doPhoneticMatch=bPhoneticMatch;this.doAnyMatch=bAnyMatch;this.layerCss=sCssClass;this.keyEvent=false;this.mouseEvent=false;this.IMEEvent=false;this.init();}EKSuggest.prototype.findPos=function(element){var coordinates=function(){};coordinates.x=0;coordinates.y=0;while(element.offsetParent){coordinates.x+=element.offsetLeft;coordinates.y+=element.offsetTop;element=element.offsetParent;}return coordinates;};EKSuggest.prototype.autosuggest=function(aSuggestions,bTypeAhead){if(aSuggestions.length>0){if(bTypeAhead){this.typeAhead(aSuggestions[0].text);}this.showSuggestions(aSuggestions);}else{this.hideSuggestions();if(this.layer){this.layer.innerHTML="";}}};EKSuggest.prototype.createDropDown=function(){var oThis,IE6;oThis=this;this.layer=document.createElement("DIV");this.layer.className="suggestions bookingSuggestions";this.layer.style.display="none";if(this.layerCss){this.layer.className=this.layer.className+" "+this.layerCss;}this.layer.onmousedown=this.layer.onmouseup=this.layer.onmouseover=function(oEvent){oEvent=oEvent||window.event;return oThis.handleMouseEvents(oEvent);};IE6=isIE6Less();if(IE6){this.iframe=document.createElement("IFRAME");this.iframe.className="suggestions bookingSuggestions";this.iframe.style.display="none";if(this.layerCss){this.iframe.className=this.iframe.className+" "+this.layerCss;}this.iframe.border="0";document.body.appendChild(this.iframe);}document.body.appendChild(this.layer);};EKSuggest.prototype.handleMouseEvents=function(oEvent){var oTarget=oEvent.target||oEvent.srcElement;switch(oEvent.type){case"mousedown":while(oTarget.parentNode!=null){if(oTarget.parentNode.tagName=="DIV"&&oTarget.parentNode==this.layer){this.textbox.value=oTarget.attributes.getNamedItem("text").nodeValue;this.hideSuggestions();this.textbox.focus();if("function"==typeof oEvent.preventDefault){oEvent.preventDefault();}else{oEvent.returnValue=false;}return false;}oTarget=oTarget.parentNode;}this.mouseEvent=true;this.textbox.focus();break;case"mouseover":if(!this.keyEvent){while(oTarget.parentNode!=null){if(oTarget.parentNode.tagName=="DIV"&&oTarget.parentNode==this.layer&&oTarget.className!="separator"){this.highlightSuggestion(oTarget);}oTarget=oTarget.parentNode;}}break;}};EKSuggest.prototype.handleKeyDown=function(oEvent){var sDefault,cSuggestionNodes,oNode;this.keyEvent=true;switch(oEvent.keyCode){case 38:this.previousSuggestion();return false;break;case 40:this.nextSuggestion();return false;break;case 13:if(!this.IMEEvent&&this.layer&&this.layer.childNodes){if(this.layer.childNodes.length==1){this.nextSuggestion();}else{cSuggestionNodes=this.layer.childNodes;if(this.cur>=0&&cSuggestionNodes.length>0&&this.cur<cSuggestionNodes.length){oNode=cSuggestionNodes[this.cur];this.textbox.value=oNode.attributes.getNamedItem("text").nodeValue;}else{this.textbox.value=this.provider.defaultValue();}}this.hideSuggestions();this.textbox.blur();this.textbox.focus();}return false;break;case 27:this.hideSuggestions();sDefault=this.provider.defaultValue();this.textbox.value=sDefault;this.selectRange(0,sDefault.length);return false;break;case 229:this.IMEEvent=true;break;}};EKSuggest.prototype.handleKeyUp=function(oEvent){this.keyEvent=false;var iKeyCode=oEvent.keyCode;if(iKeyCode==8||iKeyCode==46){this.provider.resetSuggestionCache();this.provider.requestSuggestions(this,false,this.doPhoneticMatch,this.doAnyMatch);}else{if(iKeyCode==37||iKeyCode==39){this.provider.resetSuggestionCache();}else{if(iKeyCode==13){if(this.IMEEvent){this.provider.requestSuggestions(this,this.doTypeAhead,this.doPhoneticMatch,this.doAnyMatch);}this.IMEEvent=false;return false;}else{if(iKeyCode<32||(iKeyCode>=33&&iKeyCode<46)||(iKeyCode>=112&&iKeyCode<=123)){}else{this.provider.requestSuggestions(this,this.doTypeAhead,this.doPhoneticMatch,this.doAnyMatch);}}}}};EKSuggest.prototype.handleBlur=function(oEvent){if(!this.mouseEvent){this.hideSuggestions();if(this.layer&&this.layer.childNodes&&this.layer.childNodes.length==1){this.nextSuggestion();}if(!this.provider.validateValue()){this.textbox.value=this.provider.defaultValue();}}this.mouseEvent=false;};EKSuggest.prototype.handleFocus=function(oEvent){if(!this.mouseEvent){if(!this.provider.validateValue()){this.provider.resetSuggestionCache();this.clearValue();}}else{this.textbox.value=this.textbox.value;}};EKSuggest.prototype.hideSuggestions=function(){this.provider.resetSuggestionCache();if(this.layer){this.layer.style.display="none";this.layer.style.height="0px";if(this.iframe){this.iframe.style.display="none";}}};EKSuggest.prototype.clearValue=function(){this.textbox.value="";};EKSuggest.prototype.highlightSuggestion=function(oSuggestionNode){var i,length,oNode;for(i=0,length=this.layer.childNodes.length;i<length;i++){oNode=this.layer.childNodes[i];if(oNode==oSuggestionNode&&oNode.className!="separator"){oNode.className="current";}else{if(oNode.className=="current"){oNode.className="";}}}};EKSuggest.prototype.init=function(){var oThis=this;if(this.textbox){this.textbox.onkeyup=function(oEvent){oEvent=oEvent||window.event;return oThis.handleKeyUp(oEvent);};this.textbox.onkeydown=function(oEvent){oEvent=oEvent||window.event;return oThis.handleKeyDown(oEvent);};this.textbox.onblur=function(oEvent){oEvent=oEvent||window.event;return oThis.handleBlur(oEvent);};this.textbox.onfocus=function(oEvent){oEvent=oEvent||window.event;return oThis.handleFocus(oEvent);};}};EKSuggest.prototype.nextSuggestion=function(){if(this.layer&&this.layer.childNodes){var cSuggestionNodes,oNode;cSuggestionNodes=this.layer.childNodes;if(cSuggestionNodes.length>0&&this.cur<cSuggestionNodes.length-1){oNode=cSuggestionNodes[++this.cur];if(oNode.className=="separator"&&this.cur<cSuggestionNodes.length-1){oNode=cSuggestionNodes[++this.cur];}this.highlightSuggestion(oNode);this.ensureVisible(oNode);this.textbox.value=oNode.attributes.getNamedItem("text").nodeValue;}}};EKSuggest.prototype.previousSuggestion=function(){if(this.layer&&this.layer.childNodes){var cSuggestionNodes,oNode;cSuggestionNodes=this.layer.childNodes;if(cSuggestionNodes.length>0&&this.cur>0){oNode=cSuggestionNodes[--this.cur];if(oNode.className=="separator"&&this.cur>0){oNode=cSuggestionNodes[--this.cur];}this.highlightSuggestion(oNode);this.ensureVisible(oNode);this.textbox.value=oNode.attributes.getNamedItem("text").nodeValue;}}};EKSuggest.prototype.ensureVisible=function(oNode){var oItem,iOffset;iOffset=0;oItem=oNode;while(oItem.previousSibling!=null){iOffset+=oItem.offsetHeight;oItem=oItem.previousSibling;}iOffset+=oItem.offsetHeight;if(iOffset<(this.layer.scrollTop+2)){this.layer.scrollTop=iOffset-oNode.offsetHeight;}if((iOffset-this.layer.scrollTop)>this.layer.offsetHeight){this.layer.scrollTop+=(oNode.offsetHeight+2);}};EKSuggest.prototype.selectRange=function(iStart,iLength){var oRange;if(this.textbox.createTextRange){oRange=this.textbox.createTextRange();oRange.moveStart("character",iStart);oRange.moveEnd("character",iLength-this.textbox.value.length);oRange.select();}else{if(this.textbox.setSelectionRange){this.textbox.setSelectionRange(iStart,iLength);}}this.textbox.focus();};EKSuggest.prototype.showSuggestions=function(aSuggestions){var oDiv,oAttr,i,length,iCount,pos,height;oDiv=null;if(!this.layer){this.createDropDown();}this.layer.innerHTML="";for(i=0,length=aSuggestions.length;i<length;i++){oDiv=document.createElement("DIV");if(aSuggestions[i].value=="---"){oDiv.innerHTML="<hr />";oAttr=document.createAttribute("class");oAttr.value="separator";oDiv.attributes.setNamedItem(oAttr);}else{oDiv.innerHTML=aSuggestions[i].display;oAttr=document.createAttribute("text");oAttr.value=aSuggestions[i].text;oDiv.attributes.setNamedItem(oAttr);}this.layer.appendChild(oDiv);}this.cur=-1;iCount=aSuggestions.length>this.showItems?this.showItems:aSuggestions.length;if(this.iframe){this.iframe.style.zIndex=-1000;this.iframe.style.display="block";}this.layer.style.zIndex=-900;this.layer.style.display="block";var height=3;for(i=0;i<iCount;i++){height+=this.layer.childNodes[i].offsetHeight;if(this.layer.childNodes[i].className=="separator"){height+=5;}}this.layer.style.width=offsetWidth+"px";this.layer.style.height=height+"px";pos=this.findPos(this.textbox);this.layer.style.display="none";this.layer.style.top=(pos.y+this.textbox.offsetHeight)+"px";if(isRTL()){this.layer.style.left=(pos.x+this.textbox.offsetWidth-offsetWidth-47)+"px";}else{this.layer.style.left=pos.x+"px";}this.layer.style.zIndex=1000;this.layer.style.display="block";if(this.iframe){this.layer.style.width=offsetWidth-3+"px";this.iframe.style.display="none";this.iframe.style.left=this.layer.style.left;this.iframe.style.top=this.layer.style.top;this.iframe.style.width=this.layer.style.width;this.iframe.style.height=this.layer.style.height;this.iframe.style.zIndex=900;this.iframe.style.display="block";}};EKSuggest.prototype.typeAhead=function(sSuggestion){var iLen;if(this.textbox.createTextRange||this.textbox.setSelectionRange){iLen=this.textbox.value.length;this.textbox.value=sSuggestion;this.selectRange(iLen,sSuggestion.length);}};EKSuggest.prototype.getScrollPosition=function(){var coordinates=function(){};coordinates.x=0;coordinates.y=0;if(typeof(window.pageYOffset)=="number"){coordinates.x=window.pageXOffset;coordinates.y=window.pageYOffset;}else{if(document.body&&(document.body.scrollLeft||document.body.scrollTop)){coordinates.x=document.body.scrollLeft;coordinates.y=document.body.scrollTop;}else{if(document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)){coordinates.x=document.documentElement.scrollLeft;coordinates.y=document.documentElement.scrollTop;}}}return coordinates;};EKSuggest.prototype.getWindowSize=function(){var size=function(){};size.width=0;size.height=0;if(typeof(window.innerWidth)=="number"){size.width=window.innerWidth;size.height=window.innerHeight;}else{if(document.documentElement&&(document.documentElement.clientWidth||document.documentElement.clientHeight)){size.width=document.documentElement.clientWidth;size.height=document.documentElement.clientHeight;}else{if(document.body&&(document.body.clientWidth||document.body.clientHeight)){size.width=document.body.clientWidth;size.height=document.body.clientHeight;}}}return size;};function EKSuggestData(text,display,value,match,cleanMatch){this.text=text;this.display=display;this.orgDisplay=display;this.value=value;this.match=match;this.cleanMatch=cleanMatch;}EKSuggestData.prototype.toString=function(){return this.text;};EKSuggestData.prototype.valueOf=function(){return this.match;};function EKSuggestProvider(oElement,sDefaultValue){var aLabels,i,length;if(!oElement){return;}this.defaultVal=sDefaultValue;this.suggestElement=document.createElement("INPUT");this.suggestElement.type="text";this.suggestElement.id=oElement.id+"-suggest";this.suggestElement.name=oElement.name+"-suggest";this.suggestElement.className=oElement.className;this.suggestElement.tabIndex=oElement.tabIndex;this.suggestElement.autosuggest=true;this.suggestElement.setAttribute("autocomplete","off");this.suggestElement.value=this.defaultVal;this.submitElement=document.createElement("INPUT");this.submitElement.type="hidden";this.submitElement.id=oElement.id;this.submitElement.name=oElement.name;this.submitElement.value="";if(oElement.value){this.submitElement.value=oElement.value;}this.resetSuggestionCache();oElement.parentNode.replaceChild(this.suggestElement,oElement);this.suggestElement.parentNode.insertBefore(this.submitElement,this.suggestElement);var aLabels=document.getElementsByTagName("LABEL");if(aLabels.length>0){for(i=0,length=aLabels.length;i<length;i++){if(aLabels[i].htmlFor==oElement.id){aLabels[i].htmlFor=this.suggestElement.id;}}}}EKSuggestProvider.prototype.suggestionElement=function(){return this.suggestElement;};EKSuggestProvider.prototype.submitInput=function(){return this.submitElement;};EKSuggestProvider.prototype.defaultValue=function(){return this.defaultVal;};EKSuggestProvider.prototype.validateValue=function(){var i,length;for(i=0,length=this.suggestCache.length;i<length;i++){if(this.suggestElement.value==this.suggestCache[i].text){if(this.submitElement.value!=this.suggestCache[i].value){this.submitElement.value=this.suggestCache[i].value;if(this.submitElement.onChange){this.submitElement.onChange();}}return true;}}this.submitElement.value="";return false;};EKSuggestProvider.prototype.resetSuggestionCache=function(){var i,length;this.suggestCache=new Array();for(i=0,length=this.suggestData.length;i<length;i++){this.suggestCache[i]=this.suggestData[i];}};EKSuggestProvider.prototype.requestSuggestions=function(oSuggestControl,bTypeAhead,bPhoneticMatch,bAnyMatch){var aSuggestions,iCount,sValue,oSuggestion,oRegExp,i,length,sDisplay,oRegCSS;aSuggestions=new Array();var minchar=0;if(typeof this.FilterUrl!="undefined"){var mode=this.FilterUrl.substring(this.FilterUrl.length-1);if(mode==7||mode==8){minchar=2;}}if(this.suggestElement.value.length>minchar){iCount=0;sValue=this.prepareSearchValue(this.suggestElement.value.toLowerCase(),bPhoneticMatch);if(bTypeAhead){sValue="^"+sValue;}if(!bAnyMatch&&!bTypeAhead){oRegExp=new RegExp("^"+sValue+"|(\\("+sValue+")","i");}else{oRegExp=new RegExp(sValue+"(|)","i");}oRegCSS=new RegExp("(\\(.*?\\))","i");for(i=0,length=this.suggestCache.length;i<length;i++){sMatch=this.suggestCache[i].match;if(sMatch.match(oRegExp)!=null){aSuggestions[iCount]=this.suggestCache[i];oSuggestion=aSuggestions[iCount];sDisplay=oSuggestion.orgDisplay;sDisplay=sDisplay.replace(oRegExp,"<b>$1$2</b>");sDisplay=sDisplay.replace(oRegCSS,"<span>$1</span>");oSuggestion.display=sDisplay;iCount++;}}this.suggestCache=aSuggestions;}oSuggestControl.autosuggest(aSuggestions,bTypeAhead);};EKSuggestProvider.prototype.prepareSearchValue=function(sValue,bPhoneticMatch){sValue=sValue.replace(/([\.\^\$\*\+\?\{\}\\\[\]\|\(\)])/gi,"\\$1");if(bPhoneticMatch){sValue=sValue.replace(/a/gi,"[aàáâãäå]");sValue=sValue.replace(/u/gi,"[uùúûü]");sValue=sValue.replace(/e/gi,"[eèéêë]");sValue=sValue.replace(/i/gi,"[iìíîï]");sValue=sValue.replace(/n/gi,"[nñ]");sValue=sValue.replace(/c/gi,"[cç]");sValue=sValue.replace(/b/gi,"[bß]");sValue=sValue.replace(/s/gi,"[sß]");}return sValue="("+sValue+")";};function EKDropdownProvider(oDropdown,sDefault){var iCount,i,length,option;if(!oDropdown||!oDropdown.options||oDropdown.options.length==0){return;}this.suggestData=new Array();iCount=1;for(i=1,length=oDropdown.options.length;i<15&&i<length;i++){if(oDropdown.options[i].value==""){iCount=i+1;break;}}for(i=iCount,length=oDropdown.options.length;i<length;i++){option=oDropdown.options[i];this.suggestData[i-iCount]=new EKSuggestData(option.text,option.text,option.value,option.text,option.text);}EKSuggestProvider.call(this,oDropdown,sDefault);if(oDropdown.selectedIndex>0){option=oDropdown.options[oDropdown.selectedIndex];this.suggestElement.value=option.text;this.submitElement.value=option.value;}}EKDropdownProvider.prototype=new EKSuggestProvider();EKDropdownProvider.prototype.constructor=EKDropdownProvider;function EKDropdownFilterProvider(oDropdown,sDefault,oFilter,sQuery){var oThis;if(!oDropdown){return;}this.filterElement=oFilter;this.triggerElement=oTrigger;this.filterUrl=sQuery;this.filter=null;this.oldFilter="";oThis=this;this.filterElement.onChange=function(){oThis.triggerChange();};this.XMLHTTP=this.createXMLHttpRequest();EKDropdownProvider.call(this,oDropdown,sDefault);}EKDropdownFilterProvider.prototype=new EKDropdownProvider();EKDropdownFilterProvider.prototype.constructor=EKDropdownFilterProvider;EKDropdownFilterProvider.prototype.createXMLHttpRequest=function(){if(typeof XMLHttpRequest!="undefined"){return new XMLHttpRequest();}else{if(typeof ActiveXObject!="undefined"){return new ActiveXObject("Microsoft.XMLHTTP");}else{throw new Error("XMLHttpRequest not supported");}}};EKDropdownFilterProvider.prototype.handleXMLRequest=function(){if(this.XMLHTTP.readyState==4){try{if(this.XMLHTTP.status==200){this.resetSuggestionCache(this.XMLHTTP.responseText);}else{this.resetSuggestionCache();}}catch(err){this.resetSuggestionCache();}}};EKDropdownFilterProvider.prototype.triggerChange=function(){var oThis;if(this.filterElement.value!=""&&this.filterElement.value!=this.oldFilter){this.suggestionElement().readOnly=true;this.XMLHTTP.open("GET",this.filterUrl+this.filterElement.value,true);oThis=this;this.XMLHTTP.onreadystatechange=function(){oThis.handleXMLRequest();};this.XMLHTTP.send(null);this.oldFilter=this.filterElement.value;}};EKDropdownFilterProvider.prototype.resetSuggestionCache=function(sFilter){var iCount,i,length;if(sFilter){this.filter=sFilter;}this.suggestCache=new Array();iCount=0;for(i=0,length=this.suggestData.length;i<length;i++){if(this.oldFilter==""||!this.filter||this.filter.search(this.suggestData[i].value)!=-1){this.suggestCache[iCount]=this.suggestData[i];iCount++;}}this.suggestionElement().readOnly=false;};function EKXMLProvider(oDropdown,sDefault,sXML,sFilterUrl){EKXMLProvider(oDropdown,sDefault,sXML,sFilterUrl,true);}function EKXMLProvider(oDropdown,sDefault,sXML,sFilterUrl,fireRequestOnce){var oXMLHTTP,i,length,oData,sValue,sDisplay,sName,sMatch,oRegExp;if(!oDropdown){return;}oXMLHTTP=this.createXMLHttpRequest();this.FilterUrl=sFilterUrl;if(sFilterUrl!=previousFilterUrl){oXMLHTTP.open("GET",sFilterUrl,false);oXMLHTTP.send(null);sFilterData=oXMLHTTP.responseText;previousFilterUrl=sFilterUrl;}if(!fireRequestOnce||(fireRequestOnce&&retrievedData==null)){this.documentUrl=sXML;oXMLHTTP.open("GET",this.documentUrl,false);oXMLHTTP.send(null);oData=oXMLHTTP.responseXML.documentElement.childNodes;if(fireRequestOnce){retrievedData=oData;}}else{if(retrievedData!=null){oData=retrievedData;}}this.suggestData=new Array();oRegExp=new RegExp("\\s+\\(\\w{2,3}\\)","gi");var iCount=0;for(i=0,length=oData.length;i<length;i++){sValue=oData[i].attributes.getNamedItem("v").value;sDisplay=oData[i].attributes.getNamedItem("d").value;sName=oData[i].attributes.getNamedItem("n").value;sMatch=oData[i].attributes.getNamedItem("m").value;if(sFilterData.search(sValue)!=-1){this.suggestData[iCount]=new EKSuggestData(sName+" ("+sValue+")",sDisplay,sValue,sMatch,sMatch.replace(oRegExp,""));iCount++;}}EKSuggestProvider.call(this,oDropdown,sDefault);}EKXMLProvider.prototype=new EKSuggestProvider();EKXMLProvider.prototype.constructor=EKXMLProvider;EKXMLProvider.prototype.createXMLHttpRequest=function(){if(typeof XMLHttpRequest!="undefined"){return new XMLHttpRequest();}else{if(typeof ActiveXObject!="undefined"){return new ActiveXObject("Microsoft.XMLHTTP");}else{throw new Error("XMLHttpRequest not supported");}}};EKXMLProvider.prototype.requestSuggestions=function(oSuggestControl,bTypeAhead,bPhoneticMatch,bAnyMatch){var aSuggestions,iStartMatch,iAnyMatch,oSuggestion,sValue,oRegExpText,oRegExpCode,oRegExpAll,i,length,sDisplay,oRegCSS,sName,sMatch;aSuggestions=new Array();var minchar=0;if(typeof this.FilterUrl!="undefined"){var mode=this.FilterUrl.substring(this.FilterUrl.length-1);if(mode==7||mode==8){minchar=2;if(this.suggestElement.value.length>2){var lpUrl;if(mode==7){lpUrl="/system/aspx/LPHotelCityXml.aspx?c=";}else{if(mode==8){lpUrl="/system/aspx/LPCarCityXml.aspx?c=";}}var oXMLHTTP=this.createXMLHttpRequest();oXMLHTTP.open("GET",lpUrl+this.suggestElement.value,false);oXMLHTTP.send(null);if(oXMLHTTP.status==200&&oXMLHTTP.responseText!=""){oData=oXMLHTTP.responseXML.documentElement.childNodes;oRegExp=new RegExp("\\s+\\(\\w{2,3}\\)","gi");var iCount=0;this.suggestData.length=0;for(i=0,length=oData.length;i<length;i++){sValue=oData[i].attributes.getNamedItem("v").value;sDisplay=oData[i].attributes.getNamedItem("d").value;sName=oData[i].attributes.getNamedItem("n").value;sMatch=oData[i].attributes.getNamedItem("m").value;this.suggestData[iCount]=new EKSuggestData(sDisplay,sDisplay,sName,sMatch,sMatch.replace(oRegExp,""));iCount++;}this.resetSuggestionCache();}}}}if(this.suggestElement.value.length>minchar){iStartMatch=0;iAnyMatch=0;sValue=this.prepareSearchValue(this.suggestElement.value.toLowerCase(),bPhoneticMatch);if(bTypeAhead&&!bAnyMatch){oRegExpText=new RegExp("^"+sValue+"(|)","i");}else{oRegExpText=new RegExp("^"+sValue+"|(\\("+sValue+")","i");}oRegExpCode=new RegExp("\\|(.*?\\(("+sValue+")\\w{0,2}\\))\\|","gi");oRegExpAll=new RegExp(sValue,"gi");oRegCSS=new RegExp("(\\(.*?\\))","i");for(i=0,length=this.suggestCache.length;i<length;i++){oSuggestion=null;if(this.suggestCache[i].text.match(oRegExpText)!=null){aSuggestions.splice(iStartMatch,0,this.suggestCache[i]);oSuggestion=aSuggestions[iStartMatch];sDisplay=oSuggestion.text;sDisplay=sDisplay.replace(oRegExpText,"<b>$1$2</b>");sDisplay=sDisplay.replace(oRegCSS,"<span>$1</span>");oSuggestion.display=sDisplay;iStartMatch++;}else{if(this.suggestCache[i].match.match(oRegExpCode)!=null&&bAnyMatch){aSuggestions[iStartMatch+iAnyMatch]=this.suggestCache[i];oSuggestion=aSuggestions[iStartMatch+iAnyMatch];sDisplay=oSuggestion.text;sDisplay=sDisplay.replace(oRegCSS,"<span>$1</span>");oSuggestion.display=this.formatDisplay(sValue,sDisplay,this.suggestCache[i].match,oRegExpAll);iAnyMatch++;}else{if(this.suggestCache[i].cleanMatch.match(oRegExpAll)!=null&&bAnyMatch){aSuggestions[iStartMatch+iAnyMatch]=this.suggestCache[i];oSuggestion=aSuggestions[iStartMatch+iAnyMatch];sDisplay=oSuggestion.text;sDisplay=sDisplay.replace(oRegCSS,"<span>$1</span>");oSuggestion.display=this.formatDisplay(sValue,sDisplay,this.suggestCache[i].match,oRegExpAll);if(typeof oSuggestion.display=="undefined"){oSuggestion.display=sDisplay;}iAnyMatch++;}}}}if(aSuggestions.length==1){aSuggestions[0].display=aSuggestions[0].orgDisplay;}if(aSuggestions.length>1&&iAnyMatch>0&&iStartMatch>0){aSuggestions.splice(iStartMatch,0,new EKSuggestData("","","---","",""));}}oSuggestControl.autosuggest(aSuggestions,bTypeAhead&&!bAnyMatch);};EKXMLProvider.prototype.formatDisplay=function(sValue,sText,sMatch,oRegHighlight){var oRegMatch,oMatch;oRegMatch=new RegExp("\\|(.*?"+sValue+".*?)\\|","i");oMatch=sMatch.match(oRegMatch);if(oMatch!=null&&oMatch.length>0){sDispMatch=oMatch[1];if(sDispMatch.indexOf("|")!=-1){aDispMatch=sDispMatch.split("|");sDispMatch=aDispMatch[aDispMatch.length-1];}return sText+", <i>"+sDispMatch.replace(oRegHighlight,"<b>$1</b>")+"</i>";}};function EKXMLFilterProvider(oDropdown,sDefault,oFilter,sXML,sFilterUrl,sQuery){var oThis;if(!oDropdown){return;}this.filterElement=oFilter;this.filterUrl=sQuery;this.filter=null;this.oldFilter="";oThis=this;this.filterElement.onChange=function(){oThis.triggerChange();};this.filterElement.onblur=function(){oThis.triggerChange();};this.XMLHTTP=this.createXMLHttpRequest();this.XMLHTTP.onreadystatechange=function(){oThis.handleXMLRequest();};EKXMLProvider.call(this,oDropdown,sDefault,sXML,sFilterUrl,true);}EKXMLFilterProvider.prototype=new EKXMLProvider();EKXMLFilterProvider.prototype.constructor=EKXMLFilterProvider;EKXMLFilterProvider.prototype.handleXMLRequest=function(){if(this.XMLHTTP.readyState==4){try{if(this.XMLHTTP.status==200){this.resetSuggestionCache(this.XMLHTTP.responseText);}else{this.resetSuggestionCache();}}catch(err){this.resetSuggestionCache();}}};EKXMLFilterProvider.prototype.triggerChange=function(){if(this.filterElement.value!=""&&this.filterElement.value!=this.oldFilter){this.suggestionElement().readOnly=true;this.XMLHTTP.open("GET",this.filterUrl+this.filterElement.value,true);oThis=this;this.XMLHTTP.onreadystatechange=function(){oThis.handleXMLRequest();};this.XMLHTTP.send(null);this.oldFilter=this.filterElement.value;}};EKXMLFilterProvider.prototype.resetSuggestionCache=function(sFilter){var iCount,i,length;if(sFilter){this.filter=sFilter;}this.suggestCache=new Array();iCount=0;for(i=0,length=this.suggestData.length;i<length;i++){if(this.oldFilter==""||!this.filter||this.filter.search(this.suggestData[i].value)!=-1){this.suggestCache[iCount]=this.suggestData[i];iCount++;}}this.suggestionElement().readOnly=false;};function isIE6Less(){var IE6Less=false;try{if(navigator.appName=="Microsoft Internet Explorer"){var version=parseFloat((new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})")).exec(navigator.userAgent)[1]);if(version<=6){IE6Less=true;}}}catch(err){}return IE6Less;}$(document).ready(function(){var oDropdown,oProvider,oSuggest,curVal,curText,i,length;for(i=0,length=arrElementID.length;i<length;i++){var oDropdown=document.getElementById(arrElementID[i]);if(oDropdown){if(oDropdown.value!=""){curText=oDropdown.options[oDropdown.selectedIndex].text;if(curText.indexOf("|")!=-1){curText=curText.substring(0,curText.indexOf("|"));}}oProvider=new EKXMLProvider(oDropdown,arrDefault[i],arrXMLUrl[i],arrFilterUrl[i],true);oSuggest=new EKSuggest(oProvider,false,true,true);if(typeof arrXMLUrl[i]!="undefined"){if(oDropdown.value!=""){oSuggest.textbox.value=curText;var mode=arrXMLUrl[i].substring(arrXMLUrl[i].length-1);if(mode!=7&&mode!=8&&mode!=4&&mode!=5){oSuggest.textbox.focus();}}}else{oSuggest.textbox.focus();}}}});
