function writeScript(B){var C=document.getElementsByTagName("head")[0];var A=document.createElement("script");A.setAttribute("src",B);A.setAttribute("type","text/javascript");C.appendChild(A);}function removeAutoComplete(A){A.onkeyup=null;}function hideSelectElementCompletion(A){var B=document.getElementById(A).getElementsByTagName("select");for(i=0;i<B.length;i++){B[i].style.visibility="hidden";B[i].cptHideDivAction=0;}}function showSelectElementCompletion(A){var B=document.getElementById(A).getElementsByTagName("select");for(i=0;i<B.length;i++){if(B[i].cptHideDivAction==0){B[i].style.visibility="visible";}B[i].cptHideDivAction=1;}}function cursorAfterValue(A){if(A.value){oldValue=A.value;A.value="";A.value=oldValue;}}function getSuggestion(B,A){if((!B)||(!(B.getElementsByTagName("span")[A]))){return null;}return B.getElementsByTagName("span")[A].firstChild.data;}function gaddEvent(B,C,A){if(B.addEventListener){B.addEventListener(C,A,false);}else{if(B.attachEvent){B.attachEvent("on"+C,A);}else{return false;}}}function divOnMouseDown(completeur,event,laDiv){completeur._inputField.value=getSuggestion(laDiv,0);completeur.affectValues(laDiv);completeur._suggestionUsed=true;if(completeur._useHistory!=null){updateCookie(completeur._inputField.value,completeur._cookieName);}completeur.hideCompleteDiv();completeur.blurThenGetFocus();if(completeur._onSubmitFunction){eval(completeur._onSubmitFunction+'("'+completeur._inputField.value+'","'+completeur._2ndColumnValue+'","'+completeur._idValue+'")');}}function divOnMouseMove(B,C,A){B._cursorUpDownPressed=false;if(B._highlightedSuggestionDiv){B.setStyleForElement(B._highlightedSuggestionDiv,"AutoCompleteDiv");}children=A.parentNode.childNodes;for(i=0;i<children.length;i++){if(A==children[i]){B._highlightedSuggestionIndex=i-1;B._highlightedSuggestionDiv=A;break;}}B.setStyleForElement(A,"AutoCompleteDivAct");if(B.onMouseOverUpdate){B._suggestionUsed=true;B._inputField.value=getSuggestion(A,0);B.affectValues(A);}}function divOnMouseOut(B,C,A){B.setStyleForElement(A,"AutoCompleteDiv");}var _maxHistoryItemNb=5;function itemInCookie(A,C){var B=greadCookie(C);if(B!=null){B=unescape(B);B=B.split("$");for(j=0;j<B.length;j++){if(A==B[j]){return true;}}}return false;}function handleCookieData(C,E){var B=greadCookie(C);var D=new Array();if(B!=null){B=unescape(B);B=B.split("$");for(i=0;i<B.length;i+=2){var A=B[i+1];D.push(B[i]);}}return D;}function greadCookie(D){var B=D+"=";var G=B.length;var A=document.cookie.length;var E=0;while(E<A){var C=E+G;if(document.cookie.substring(E,C)==B){var F=document.cookie.indexOf(";",C);if(F==-1){F=document.cookie.length;}return unescape(document.cookie.substring(C,F));}E=document.cookie.indexOf(" ",E)+1;if(E==0){break;}}return null;}function deleteCookie(A){document.cookie=A+"=;path=/;expires=Thu, 01-Jan-1970 00:00:01 GMT";return false;}function updateCookie(B,A){if(!itemInCookie(B,A)){suggestNoAccent=noAccentCmpl(B);var C=escape(B);C+="$"+escape(suggestNoAccent);var D=greadCookie(A);if(D!=null){D=unescape(D);D=D.split("$");for(i=1;i<=D.length;i+=2){if(i<=_maxHistoryItemNb+2||_maxHistoryItemNb==0){C+="$"+D[i-1]+"$"+D[i];}}}document.cookie=A+"="+escape(C)+";path=/";}}function noAccentCmpl(D){var B="\xE0\xE2\xE4\xE1\xC0\xC1\xC4\xC2\xEB\xE8\xE9\xEA\xCA\xC9\xC8\xCB\xEF\xEE\xED\xEC\xCC\xCD\xCE\xCF\xFC\xF9\xFB\xFA\xDA\xD9\xDB\xDC\xE3\xF5\xF1\xC3\xD5\xD1\xE7";var A="aaaaAAAAeeeeEEEEiiiiIIIIooooOOOOuuuuUUUUaonAONc";for(var C=0;C<B.length;C++){D=D.split(B.charAt(C)).join(A.charAt(C));}return D;}var BLAutocompleter=function(divCompletion,field,onSubmitFunction,url,paramName,defaultParams,cssPrefix,selectToHide){if(!divCompletion){return false;}if(!field){return false;}this._completeDivRows=0;this._completeDivDivList=null;this._highlightedSuggestionIndex=-1;this._highlightedSuggestionDiv=null;this._cursorUpDownPressed=true;this._lastKeyCode=null;this._eventKeycode=null;if(typeof (cssPrefix)!="undefined"){this._cssPrefix=cssPrefix;}else{this._cssPrefix="";}this._cookieName="history";this._maxNbSuggestions=10;this._completeDiv=divCompletion;this._useHistory=null;this._use2ndColumn=null;this._useId=null;this._suggestionUsed=null;this._inputField=field;this._onSubmitFunction=onSubmitFunction;this._urlSearch=url;this._paramName=paramName;this._defaultParams=defaultParams;this._selectElementToHide=selectToHide;this._inputField.setAttribute("autocomplete","off");this.createAutocompleteDiv();this.onMouseOverUpdate=true;this._currentInputFieldValue=this._inputField.value;this._oldInputFieldValue=this._currentInputFieldValue;var completeur=this;this._inputField.onkeydown=function(event){if(!event&&window.event){event=window.event;}if(event){completeur._lastKeyCode=event.keyCode;if((completeur._lastKeyCode==18)||(completeur._lastKeyCode==27)){return false;}}if(completeur.handleCursorUpDownEnter(completeur._lastKeyCode)&&(completeur._lastKeyCode!=0)){completeur._suggestionUsed=null;completeur.PressAction();}else{if(completeur._highlightedSuggestionIndex>=0){return false;}}};this._inputField.onkeyup=function(event){if(!event&&window.event){event=window.event;}completeur._eventKeycode=event.keyCode;if(completeur._eventKeycode==18){return false;}if(completeur._eventKeycode==27){completeur.hideCompleteDiv();return false;}if(completeur._eventKeycode==40||completeur._eventKeycode==38){completeur.blurThenGetFocus();}var V=completeur._inputField.value;if(completeur._eventKeycode!=0){if(completeur._eventKeycode==13||completeur._eventKeycode==3){var d=completeur._inputField;if(d.createTextRange){d.createTextRange().moveStart("character",d.value.length);d.select();}else{if(d.setSelectionRange){d.setSelectionRange(d.value.length,d.value.length);}}if(completeur._useHistory!=null){updateCookie(V,completeur._cookieName);}if(completeur._onSubmitFunction){if(completeur._highlightedSuggestionIndex>=0){eval(completeur._onSubmitFunction+'("'+escape(completeur._inputField.value)+'","'+completeur._2ndColumnValue+'","'+completeur._idValue+'")');}}completeur.hideCompleteDiv();return false;}else{if(completeur._inputField.value!=V){completeur._inputField.value=V;}}}if((completeur._eventKeycode!=40)&&(completeur._eventKeycode!=38)){completeur._cursorUpDownPressed=false;completeur._currentInputFieldValue=V;}else{cursorAfterValue(completeur._inputField);}if(completeur._oldInputFieldValue!=completeur._currentInputFieldValue){var valeur=escape(completeur._currentInputFieldValue);if(valeur!=""){writeScript(completeur._urlSearch+"&"+completeur._paramName+"="+valeur+"&"+completeur._defaultParams);completeur._inputField.focus();}else{completeur.hideCompleteDiv();}}completeur._oldInputFieldValue=completeur._currentInputFieldValue;};this._inputField.onblur=function(event){if(!completeur._cursorUpDownPressed){setTimeout(function(){completeur.hideCompleteDiv();},150);}completeur._cursorUpDownPressed=false;};gaddEvent(window,"resize",function(){completeur.setCompleteDivSize();});};BLAutocompleter.prototype={completionUsed:function(){return this._suggestionUsed;},cmpl:function(B){var A=this.handleJsonSuggestions(B);this.displayComplete(this._currentInputFieldValue,A);},setStyleForElement:function(B,A){if(B!=null){if(this._cssPrefix!=""){B.className=A+" "+this._cssPrefix+A;}else{B.className=A;}}},handleJsonSuggestions:function(D){var A=D[1];var C=new Array();var G=new Array();if((A)&&(A.length)){for(var B=0;(B<A.length)&&(B<this._maxNbSuggestions);++B){G.push(A[B]);}C.push(G);}if(this._use2ndColumn&&D[2]){var F=this.handle2ndColumn(D[2]);if(F!=false){C.push(F);}}if(this._useId&&D[3]){var E=this.handle2ndColumn(D[3]);if(E!=false){C.push(E);}}return C;},setCompleteDivSize:function(){if(this._completeDiv){this._completeDiv.style.left=this._inputField.offsetLeft+"px";this._completeDiv.style.top=this._inputField.offsetTop+this._inputField.offsetHeight-1+"px";}},createAutocompleteDiv:function(){this._completeDiv.style.visibility="hidden";this._completeDiv.style.position="absolute";this.setCompleteDivSize();this.setStyleForElement(this._completeDiv,"AutoCompleteDivListeStyle");},displayComplete:function(A,D){while(this._completeDiv.childNodes.length>0){this._completeDiv.removeChild(this._completeDiv.childNodes[0]);}if((D[0])&&(D[0].length>0)){if(this._useHistory!=null){this.displayHistory();}var F=document.createElement("SPAN");F.innerHTML="Suggestions";F.id="completeDivTitle";this.setStyleForElement(F,"AutoCompleteDivTitle");this._completeDiv.appendChild(F);var E=this;for(var G=0;G<D[0].length;++G){var B=document.createElement("div");this.setStyleForElement(B,"AutoCompleteDiv");var C=document.createElement("span");C.innerHTML=D[0][G];this.setStyleForElement(C,"AutoCompleteDivCol1");B.appendChild(C);if(this._use2ndColumn){if((D[1])&&(D[1][G])){this.display2ndColumn(B,D[1][G]);}else{this.display2ndColumn(B,"&nbsp;");}}if(this._useId){if(this._use2ndColumn&&(D[2][G])){this.displayId(B,D[2][G]);}else{if(!this._use2ndColumn&&(D[1][G])){this.displayId(B,D[1][G]);}}}this._completeDiv.appendChild(B);B.onmousedown=function(H){divOnMouseDown(E,H,this);};B.onmousemove=function(H){divOnMouseMove(E,H,this);};B.onmouseout=function(H){divOnMouseOut(E,H,this);};this._completeDiv.appendChild(B);}if(this._selectElementToHide){hideSelectElementCompletion(this._selectElementToHide);}this.PressAction();}else{this.hideCompleteDiv();this._completeDivRows=0;}},handleCursorUpDownEnter:function(A){if(A==40){this.highlightNewValue(this._highlightedSuggestionIndex+1);return false;}else{if(A==38){this.highlightNewValue(this._highlightedSuggestionIndex-1);return false;}else{if(A==13||A==3){return false;}}}this._suggestionUsed=null;return true;},PressAction:function(){var A=this._completeDiv.getElementsByTagName("div");var D=A.length;this._completeDivRows=D;this._completeDivDivList=A;if(this._currentInputFieldValue==""||D==0){this.hideCompleteDiv();}else{this.showCompleteDiv();}for(var C=0;C<D;C++){this.setStyleForElement(A.item(C),"AutoCompleteDiv");}this._highlightedSuggestionIndex=-1;this._highlightedSuggestionDiv=null;var B=false;switch(this._eventKeycode){case 8:case 33:case 34:case 35:case 35:case 36:case 37:case 39:case 45:case 46:B=true;break;default:break;}if(!B&&this._highlightedSuggestionDiv){this.setStyleForElement(this._highlightedSuggestionDiv,"AutoCompleteDivAct");var E=this._currentInputFieldValue;}else{this._highlightedSuggestionIndex=-1;}},blurThenGetFocus:function(B){this._cursorUpDownPressed=true;this._inputField.blur();var A=this;setTimeout(function(){A._inputField.focus();if(A._inputField.value){oldValue=A._inputField.value;A._inputField.value="";A._inputField.value=oldValue;}},10);return ;},hideCompleteDiv:function(){this._completeDiv.style.visibility="hidden";this._highlightedSuggestionIndex=-1;if(this._selectElementToHide){showSelectElementCompletion(this._selectElementToHide);}},showCompleteDiv:function(){this.setCompleteDivSize();this._completeDiv.style.visibility="visible";},highlightNewValue:function(A){if(!this._completeDivDivList||(this._completeDivRows<=0)){return ;}this.showCompleteDiv();this._suggestionUsed=true;this.setStyleForElement(this._highlightedSuggestionDiv,"AutoCompleteDiv");if(A>=this._completeDivRows){A=0;}if(A<0){A=this._completeDivRows-1;}this._highlightedSuggestionIndex=A;this._highlightedSuggestionDiv=this._completeDivDivList.item(A);if(this._highlightedSuggestionDiv!=null){this.setStyleForElement(this._highlightedSuggestionDiv,"AutoCompleteDivAct");this._inputField.value=getSuggestion(this._highlightedSuggestionDiv,0);this.affectValues(this._highlightedSuggestionDiv);this._completeDiv.scrollTop=A*this._highlightedSuggestionDiv.offsetHeight;}},affectValues:function(A){if(this._use2ndColumn){this._2ndColumnValue=getSuggestion(A,1);}if(this._useId){if(this._use2ndColumn){this._idValue=getSuggestion(A,2);}else{this._idValue=getSuggestion(A,1);}}},display2ndColumn:function(C,B){var A=document.createElement("SPAN");A.innerHTML=B;this.setStyleForElement(A,"AutoCompleteDivCol2");C.appendChild(A);return false;},handle2ndColumn:function(A){var D=new Array();var C=A;if((A)&&(A.length)){for(var B=0;B<A.length;++B){D.push(A[B]);}return D;}return false;},displayId:function(C,B){var A=document.createElement("SPAN");A.innerHTML=B;this.setStyleForElement(A,"AutoCompleteId");C.appendChild(A);return false;},displayHistory:function(){cookieHistory=handleCookieData(this._cookieName,this._inputField.value);if(cookieHistory.length>0){var E=document.createElement("SPAN");E.innerHTML='Historique&nbsp;(<a href="#" class="AutoCompleteDivDel" onClick="javascript:deleteCookie(\''+this._cookieName+"');return false; \">effacer</a>)";E.id="completeDivTitle";this.setStyleForElement(E,"AutoCompleteDivTitle");this._completeDiv.appendChild(E);var B=this;for(var D=0;D<cookieHistory.length;D++){var A=document.createElement("DIV");A.onmousedown=function(F){divOnMouseDown(B,F,this);};A.onmousemove=function(F){divOnMouseMove(B,F,this);};A.onmouseout=function(F){divOnMouseOut(B,F,this);};this.setStyleForElement(A,"AutoCompleteDiv");var C=document.createElement("SPAN");C.innerHTML=cookieHistory[D];this.setStyleForElement(C,"AutoCompleteDivCol1");A.appendChild(C);this._completeDiv.appendChild(A);}}}};
