function array_key_exists(key,search){if(!search||(search.constructor!==Array&&search.constructor!==Object)){return false}return search[key]!==undefined}function writeScript(url){var head=document.getElementsByTagName('head')[0];var script=document.createElement('script');if(document.getElementById('scrComp')){var oldSrc=document.getElementById('scrComp');head.removeChild(oldSrc);script.setAttribute('id','scrComp');script.setAttribute('type','text/javascript');script.setAttribute('src',url);head.appendChild(script)}else{script.setAttribute('id','scrComp');script.setAttribute('type','text/javascript');script.setAttribute('src',url);head.appendChild(script)}}function removeAutoComplete(field){field.onkeyup=null}function hideSelectElementCompletion(divId){var nods=document.getElementById(divId).getElementsByTagName('select');for(i=0;i<nods.length;i++){nods[i].style.visibility='hidden';nods[i].cptHideDivAction=0}}function showSelectElementCompletion(divId){var nods=document.getElementById(divId).getElementsByTagName('select');for(i=0;i<nods.length;i++){if(nods[i].cptHideDivAction==0){nods[i].style.visibility='visible'}nods[i].cptHideDivAction=1}}function cursorAfterValue(n){if(n.value){oldValue=n.value;n.value="";n.value=oldValue}}function getSuggestion(uneDiv,col){if((!uneDiv)||(!(uneDiv.getElementsByTagName('span')[col]))){return null}return uneDiv.getElementsByTagName('span')[col].firstChild.data}function gaddEvent(obj,evenement,fn){if(obj.addEventListener)obj.addEventListener(evenement,fn,false);else if(obj.attachEvent)obj.attachEvent("on"+evenement,fn);else return false}function divOnMouseDown(completeur,event,laDiv){completeur._inputField.value=getSuggestion(laDiv,0);completeur.affectValues(laDiv);completeur._suggestionUsed=true;if(completeur._useHistory==true){var cookieValue=completeur._inputField.value;if(completeur._use2ndColumn==true){cookieValue+='|'+getSuggestion(laDiv,1)}updateCookie(cookieValue,completeur._cookieName)}completeur.hideCompleteDiv();completeur.blurThenGetFocus();completeur._completeDiv.innerHTML='';if(completeur._onSubmitFunction)eval(completeur._onSubmitFunction+'("'+completeur._inputField.value+'","'+completeur._2ndColumnValue+'","'+completeur._idValue+'","'+completeur._inputField.id+'")')}function divOnMouseMove(completeur,event,laDiv){completeur._cursorUpDownPressed=false;if(completeur._highlightedSuggestionDiv){completeur.setStyleForElement(completeur._highlightedSuggestionDiv,"AutoCompleteDiv")}children=laDiv.parentNode.childNodes;for(i=0;i<children.length;i++){if(laDiv==children[i]){completeur._highlightedSuggestionIndex=i-1;completeur._highlightedSuggestionDiv=laDiv;break}}completeur.setStyleForElement(laDiv,"AutoCompleteDivAct");if(completeur.onMouseOverUpdate){completeur._suggestionUsed=true;completeur._inputField.value=getSuggestion(laDiv,0);if(this._idField!=null&&document.getElementById(this._idField)){valId=getSuggestion(laDiv,2);if(valId=='|'||isNaN(valId))document.getElementById(this._idField).value="";else document.getElementById(this._idField).value=valId}completeur.affectValues(laDiv)}}function divOnMouseOut(completeur,event,laDiv){completeur.setStyleForElement(laDiv,"AutoCompleteDiv");if(this._idField!=null&&document.getElementById(this._idField)){valId=getSuggestion(this,2);if(valId=='|'||isNaN(valId))document.getElementById(this._idField).value="";else document.getElementById(this._idField).value=valId}}var _maxHistoryItemNb=5;function itemInCookie(itemInfos,_cookieName){var cookie=greadCookie(_cookieName);if(cookie!=null){cookie=unescape(cookie);cookie=cookie.split("$");for(j=0;j<cookie.length;j++){if(itemInfos==cookie[j]){return true}}}return false}function handleCookieData(_cookieName,_inputFieldValue){var cookie=greadCookie(_cookieName);var historyList=[];if(cookie!=null){cookie=unescape(cookie);cookie=cookie.split("$");for(i=0;i<cookie.length;i+=2){var currentValue=cookie[i].split("|");historyList.push(currentValue)}}return historyList}function greadCookie(name){var arg=name+"=";var alen=arg.length;var clen=document.cookie.length;var begin=0;while(begin<clen){var end=begin+alen;if(document.cookie.substring(begin,end)==arg){var endstr=document.cookie.indexOf(";",end);if(endstr==-1)endstr=document.cookie.length;return unescape(document.cookie.substring(end,endstr))}begin=document.cookie.indexOf(" ",begin)+1;if(begin==0)break}return null}function deleteCookie(_cookieName,_completeDivId,_inputField){document.cookie=_cookieName+"=;path=/;expires=Thu, 01-Jan-1970 00:00:01 GMT";document.getElementById(_completeDivId).innerHTML='';document.getElementById(_inputField).focus();return false}function updateCookie(suggestSel,_cookieName){if(!itemInCookie(suggestSel,_cookieName)){suggestNoAccent=noAccentCmpl(suggestSel);var newCookieValue=escape(suggestSel);newCookieValue+="$"+escape(suggestNoAccent);var oldCookieValue=greadCookie(_cookieName);if(oldCookieValue!=null){oldCookieValue=unescape(oldCookieValue);oldCookieValue=oldCookieValue.split("$");for(i=1;i<=oldCookieValue.length;i+=2){if(i<=_maxHistoryItemNb+2||_maxHistoryItemNb==0)newCookieValue+="$"+oldCookieValue[i-1]+"$"+oldCookieValue[i]}}document.cookie=_cookieName+"="+escape(newCookieValue)+";path=/"}}function noAccentCmpl(str){var a="\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 b="aaaaAAAAeeeeEEEEiiiiIIIIooooOOOOuuuuUUUUaonAONc";for(var i=0;i<a.length;i++){str=str.split(a.charAt(i)).join(b.charAt(i))}return str}var BLAutocompleter2=function(divCompletion,field,onSubmitFunction,url,paramName,defaultParams,cssPrefix,selectToHide,idField){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(idField)!='undefined')this._idField=idField;else this._idField=null;if(typeof(cssPrefix)!='undefined')this._cssPrefix=cssPrefix;else this._cssPrefix='';this._cookieName="history";this._maxNbSuggestions=10;this._completeDiv=divCompletion;this._useHistory=true;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._useId&&completeur._idField!=null&&document.getElementById(completeur._idField)){if(completeur._lastKeyCode!=13&&completeur._lastKeyCode!=9)document.getElementById(completeur._idField).value=""}}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==true)updateCookie(V,completeur._cookieName);if(completeur._onSubmitFunction){if(completeur._highlightedSuggestionIndex>=0)eval(completeur._onSubmitFunction+'("'+escape(completeur._inputField.value)+'","'+completeur._2ndColumnValue+'","'+completeur._idValue+'","'+completeur._inputField.id+'")')}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()})};BLAutocompleter2.prototype={completionUsed:function(){return this._suggestionUsed},cmpl:function(jsonData){var liste=this.handleJsonSuggestions(jsonData);this.displayComplete(this._currentInputFieldValue,liste);return;if(this._use2ndColumn)ind_useId=2;else ind_useId=1;if(this._useId&&typeof(liste)!='undefined'&&array_key_exists(ind_useId,liste)&&liste.length>0&&liste[ind_useId][0]!=''&&this._idField!=null&&document.getElementById(this._idField)){if(liste[ind_useId][0]=='|'||isNaN(liste[ind_useId][0]))document.getElementById(this._idField).value="";else document.getElementById(this._idField).value=liste[ind_useId][0]}},setStyleForElement:function(c,name){if(c!=null){if(this._cssPrefix!='')c.className=name+" "+this._cssPrefix+name;else c.className=name}},handleJsonSuggestions:function(xmlDoc){var options=xmlDoc[1];var optionsListe=[];var optionsCol1=[];if((options)&&(options.length)){for(var i=0;(i<options.length)&&(i<this._maxNbSuggestions);++i){optionsCol1.push(options[i])}optionsListe.push(optionsCol1)}if(this._use2ndColumn&&xmlDoc[2]){var optionsCol2=this.handle2ndColumn(xmlDoc[2]);if(optionsCol2!=false)optionsListe.push(optionsCol2)}if(this._useId&&xmlDoc[3]){var optionsCol3=this.handle2ndColumn(xmlDoc[3]);if(optionsCol3!=false)optionsListe.push(optionsCol3)}return optionsListe},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(valeur,liste){while(this._completeDiv.childNodes.length>0){this._completeDiv.removeChild(this._completeDiv.childNodes[0])}if((liste[0])&&(liste[0].length>0)){if(this._useHistory==true)this.displayHistory();var newDiv=document.createElement("SPAN");newDiv.innerHTML='Suggestions';newDiv.id='completeDivTitle';this.setStyleForElement(newDiv,"AutoCompleteDivTitle");this._completeDiv.appendChild(newDiv);var completeur=this;for(var f=0;f<liste[0].length;++f){var newDivLine=document.createElement("div");this.setStyleForElement(newDivLine,"AutoCompleteDiv");var newSpan=document.createElement("span");newSpan.innerHTML=liste[0][f];this.setStyleForElement(newSpan,"AutoCompleteDivCol1");newDivLine.appendChild(newSpan);if(this._use2ndColumn){if((liste[1])&&(liste[1][f]))this.display2ndColumn(newDivLine,liste[1][f]);else this.display2ndColumn(newDivLine,"&nbsp;")}if(this._useId){if(this._use2ndColumn)ind_useId=2;else ind_useId=1;this.displayId(newDivLine,liste[ind_useId][f])}this._completeDiv.appendChild(newDivLine);newDivLine.onmousedown=function(event){divOnMouseDown(completeur,event,this)};newDivLine.onmousemove=function(event){divOnMouseMove(completeur,event,this)};newDivLine.onmouseout=function(event){divOnMouseOut(completeur,event,this)};this._completeDiv.appendChild(newDivLine)}if(this._selectElementToHide)hideSelectElementCompletion(this._selectElementToHide);this.PressAction()}else{this.hideCompleteDiv();this._completeDivRows=0}},handleCursorUpDownEnter:function(eventCode){if(eventCode==40){this.highlightNewValue(this._highlightedSuggestionIndex+1);return false}else if(eventCode==38){this.highlightNewValue(this._highlightedSuggestionIndex-1);return false}else if(eventCode==13||eventCode==3){return false}this._suggestionUsed=null;return true},PressAction:function(){var suggestionList=this._completeDiv.getElementsByTagName("div");var suggestionLongueur=suggestionList.length;this._completeDivRows=suggestionLongueur;this._completeDivDivList=suggestionList;if(this._currentInputFieldValue==""||suggestionLongueur==0)this.hideCompleteDiv();else this.showCompleteDiv();for(var i=0;i<suggestionLongueur;i++){this.setStyleForElement(suggestionList.item(i),"AutoCompleteDiv")}this._highlightedSuggestionIndex=-1;this._highlightedSuggestionDiv=null;var supprSelection=false;switch(this._eventKeycode){case 8:case 33:case 34:case 35:case 35:case 36:case 37:case 39:case 45:case 46:supprSelection=true;break;default:break}if(!supprSelection&&this._highlightedSuggestionDiv){this.setStyleForElement(this._highlightedSuggestionDiv,"AutoCompleteDivAct");var z=this._currentInputFieldValue}else{this._highlightedSuggestionIndex=-1}},blurThenGetFocus:function(completeur){this._cursorUpDownPressed=true;this._inputField.blur();var _self=this;setTimeout(function(){_self._inputField.focus();if(_self._inputField.value){oldValue=_self._inputField.value;_self._inputField.value="";_self._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(C){if(!this._completeDivDivList||(this._completeDivRows<=0))return;this.showCompleteDiv();this._suggestionUsed=true;this.setStyleForElement(this._highlightedSuggestionDiv,"AutoCompleteDiv");if(C>=this._completeDivRows)C=0;if(C<0)C=this._completeDivRows-1;this._highlightedSuggestionIndex=C;this._highlightedSuggestionDiv=this._completeDivDivList.item(C);if(this._highlightedSuggestionDiv!=null){this.setStyleForElement(this._highlightedSuggestionDiv,"AutoCompleteDivAct");this._inputField.value=getSuggestion(this._highlightedSuggestionDiv,0);if(this._idField!=null&&document.getElementById(this._idField)){valId=getSuggestion(this._highlightedSuggestionDiv,2);if(valId=='|'||isNaN(valId))document.getElementById(this._idField).value="";else document.getElementById(this._idField).value=valId}this.affectValues(this._highlightedSuggestionDiv);this._completeDiv.scrollTop=C*this._highlightedSuggestionDiv.offsetHeight}},affectValues:function(theDiv){if(this._use2ndColumn)this._2ndColumnValue=getSuggestion(theDiv,1);if(this._useId){if(this._use2ndColumn){this._idValue=getSuggestion(theDiv,2);if(!parseInt(this._idValue))this._idValue="";document.getElementById(this._idField).value=this._idValue}else{this._idValue=getSuggestion(theDiv,1);if(!parseInt(this._idValue))this._idValue="";document.getElementById(this._idField).value=this._idValue}}},display2ndColumn:function(newDiv,element){var newSpan=document.createElement("SPAN");newSpan.innerHTML=element;this.setStyleForElement(newSpan,"AutoCompleteDivCol2");newDiv.appendChild(newSpan);return false},handle2ndColumn:function(liste){var optionsCol2=[];var options2=liste;if((liste)&&(liste.length)){for(var i=0;i<liste.length;++i){optionsCol2.push(liste[i])}return optionsCol2}return false},displayId:function(newDiv,element){var newSpan=document.createElement("SPAN");newSpan.innerHTML=element;this.setStyleForElement(newSpan,"AutoCompleteId");newDiv.appendChild(newSpan);return false},displayHistory:function(){cookieHistory=handleCookieData(this._cookieName,this._inputField.value);if(cookieHistory.length>0){var historyDiv=document.createElement("SPAN");historyDiv.innerHTML='Historique&nbsp;(<a href="#" class="AutoCompleteDivDel" onClick="javascript:deleteCookie(\''+this._cookieName+'\',\''+this._completeDiv.id+'\',\''+this._inputField.id+'\');return false; ">effacer</a>)';historyDiv.id='completeDivTitle';this.setStyleForElement(historyDiv,"AutoCompleteDivTitle");this._completeDiv.appendChild(historyDiv);var completeur=this;for(var f=0;f<cookieHistory.length;f++){var nouveauDiv=document.createElement("DIV");nouveauDiv.onmousedown=function(event){divOnMouseDown(completeur,event,this)};nouveauDiv.onmousemove=function(event){divOnMouseMove(completeur,event,this)};nouveauDiv.onmouseout=function(event){divOnMouseOut(completeur,event,this)};this.setStyleForElement(nouveauDiv,"AutoCompleteDiv");var nouveauSpan=document.createElement("SPAN");nouveauSpan.innerHTML=cookieHistory[f][0];this.setStyleForElement(nouveauSpan,"AutoCompleteDivCol1");nouveauDiv.appendChild(nouveauSpan);if(this._use2ndColumn){if((cookieHistory[f])&&(cookieHistory[f][1]))this.display2ndColumn(nouveauDiv,cookieHistory[f][1]);else this.display2ndColumn(nouveauDiv,"&nbsp;")}this._completeDiv.appendChild(nouveauDiv)}}}};