/* Scripts pour autocomplétion */ function quickSearchObjects(objectName, destdiv, obj) { if(doKeyUp) { if(objectName != "" ) { searchedText = obj.value; input = obj.id; param = ''; if(searchedText != "" && searchedText.length >= 1) { if(destdiv=='divVille') param = getParamVille(); if(param != '') param = encodeUrl(param); searchedText=encodeUrl(searchedText); _xmlRequest('/etu/keros/template/body/ajax/quicksearch.jspz?&objectname='+objectName+'&searchedtext='+searchedText+'&input='+input+'&destdiv='+destdiv+'¶m='+param+'','draw'); } else { document.getElementById(destdiv).style.display = "none"; } } else { alert("[ERREUR] Objet Inconnu"); } } doKeyUp = true; } function drawdivMotcle(data, xmlData) { drawSearchObjectsResults(data, 'divMotcle',xmlData); } function drawdivVille(data, xmlData) { drawSearchObjectsResults(data, 'divVille',xmlData); } function drawSearchObjectsResults(data, div, xmlData) { var resultDiv = document.getElementById(div); resultDiv.innerHTML = data; resultDiv.style.display = 'block'; currItem=false; } var currItem = false; var doKeyUp = true; function navigateInSearchResults(e) { var results = document.getElementById("searchResList"); var hitKey = -1; if(results) { hitKey = (window.event) ? event.keyCode : e.keyCode; if(hitKey != -1) { return handleKeyCode(hitKey, results); } } return true; } function handleKeyCode(hitKey, ulElem) { switch(hitKey) { case 40 : /*Arrow down*/ if(currItem) { if(currItem.attributes) { currItem.attributes["class"].value = currItem.attributes["class"].value.split(" ")[0]; } else { eval("currItem.class = currItem.class.split(\" \")[0];"); } currItem = currItem.nextSibling; if(! currItem) currItem = ulElem.firstChild; } else { currItem = ulElem.firstChild; } if(currItem) { if(currItem.attributes) { currItem.attributes["class"].value = (currItem.attributes["class"].value + " qsSelected"); } else { eval("currItem.class = currItem.class + \" qsSelected\";"); } autoScroll(currItem, ulElem); } doKeyUp = false; return false; break; case 38 : /*Arrow up*/ if(currItem) { if(currItem.attributes) { currItem.attributes["class"].value = currItem.attributes["class"].value.split(" ")[0]; } else { eval("currItem.class = currItem.class.split(\" \")[0]"); } currItem = currItem.previousSibling; if(! currItem) currItem = ulElem.lastChild; } else { currItem = ulElem.lastChild; } if(currItem) { if(currItem.attributes) { currItem.attributes["class"].value = (currItem.attributes["class"].value + " qsSelected"); } else { eval("currItem.class = currItem.class + \" qsSelected\";"); } autoScroll(currItem, ulElem); } doKeyUp = false; return false; break; case 13 : /*enter*/ if(currItem) { if(currItem.attributes) { document.location.href = currItem.attributes["urlRef"].value; } else { eval("document.location.href = currItem.urlRef"); } } doKeyUp = false; return false; break; default : doKeyUp = true; return true; break; } } function debug(msg, reset) { if(reset) document.getElementById('debug').innerHTML = ""; document.getElementById('debug').innerHTML += msg + "
"; } function autoScroll(currItem, ulElem) { var prevItem; if(currItem.previousSibling) prevItem = currItem.previousSibling; var nextItem; if(currItem.nextSibling) nextItem = currItem.nextSibling; var resDiv = document.getElementById('divSearchObjects'); if(nextItem) { if(nextItem.offsetTop + nextItem.offsetHeight + ulElem.offsetTop > resDiv.offsetHeight) { ulElem.style.top = ulElem.style.top.replace("px","") - nextItem.offsetHeight; } } if(prevItem) { if(prevItem.offsetTop + ulElem.offsetTop < 0) { var tmpMvUp = 0; if(ulElem.style.top != "") { tmpMvUp = ulElem.style.top.replace("px",""); tmpMvUp = parseInt(tmpMvUp); } var tmpPrevItemOffsetHeight = 0; if(prevItem.offsetHeight != "") { try { tmpPrevItemOffsetHeight = prevItem.offsetHeight; }catch(exception) { alert("1"); } try { tmpPrevItemOffsetHeight = parseInt(tmpPrevItemOffsetHeight); }catch(exception) { alert("2"); } } ulElem.style.top = tmpMvUp + tmpPrevItemOffsetHeight; /*ulElem.style.top = parseInt((ulElem.style.top == "") ? "0" : ulElem.style.top.replace("px","")) + parseInt((prevItem.offsetHeight == "") ? "0" :prevItem.offsetHeight.replace("px",""));*/ } } } var hideAvailable = true; function getParamVille(){ var str = ''; region = document.getElementById("region"); regionvalue = (region.selectedIndex == -1 ? '' : region.options[region.selectedIndex].value); if(regionvalue != '') str = "id_region='"+regionvalue+"'"; dept = document.getElementById("dept"); deptvalue = (dept.selectedIndex != -1 ? dept.options[dept.selectedIndex].value : ''); if(deptvalue != '') str = (str != '' ? str + ';' : '') + "id_departement='"+deptvalue+"'"; return str; } function hideOnBlurInput(strLayer,intTime){ browserName = navigator.appName; if (browserName != 'Microsoft Internet Explorer' || (browserName == 'Microsoft Internet Explorer' && hideAvailable==true) ) { setTimeout("hideDisplayLayer('"+ strLayer+"');",intTime); } } function hideOnBlurDiv(strLayer,intTime){ setTimeout("hideDisplayLayer('"+ strLayer+"');",intTime); } function hideOk(){ hideAvailable= true; } function hideKo(){ hideAvailable= false; }