function FFSuggest(){var i;var s;var F=false;var I="";var x="";var b="";var t="";var f="";var G;var E=new Array();var D;var z=0;var y=false;var C="suggestTextQuery";var m="suggestTextType";var w="suggestTextAmount";var o="suggestTextQueryTyped";var v="suggestFooter";var j="suggestHeader";var k="suggestRow";var q="suggestHighlight";this.init=function(P,N,O,K,M,Q,L,J){x=P;t=N;b=O;pMandantParamName=L;pMandant=J;f=K;I=M;F=Q;if(x==""){if(F){alert("no searchurl defined")}return null}else{if(I==""){if(F){alert("no instancename defined")}return null}else{if(t==""){if(F){alert("no formname defined")}return null}else{if(b==""){if(F){alert("no queryparamname defined")}return null}else{if(f==""){if(F){alert("need a layer for output")}}}}}}G=document[t][b];G.onkeyup=d;G.onfocus=g;G.onblur=r;document[t].onsubmit=a};function a(){y=true;if(E[z]!=undefined){document[t][b].value=E[z].split("###")[0]}}this.handleClick=function(){if(E[z]!=undefined){document[t][b].value=E[z].split("###")[0];document[t].submit()}};this.handleMouseOver=function(K){var J=c(K);n();if(J!=null){A(J);z=K}};this.handleMouseOut=function(K){var J=c(K);if(J!=null){e(J);z=-1}};function d(J){J=(J)?J:((event)?event:null);var K=J.keyCode;if(K==38){h("up")}else{if(K==27){r()}else{if(K==40){h("down")}else{if(G.value==""){r();if(s!=null){s.innerHTML=""}return null}if(D!=G.value){u()}D=G.value}}}}function h(M){var L=z;if(M=="up"){L--}else{L+=1}if(L<0){n();G.focus();z=-1}else{var K=c(L);if(K!=null){n();A(K);z=L}}var J=G.value;G.value="";G.focus();G.value=J}function u(){var L=G.value;var K=x+"?"+b+"="+escape(L)+"&"+pMandantParamName+"="+pMandant;try{if(window.XMLHttpRequest){i=new XMLHttpRequest()}else{if(window.ActiveXObject){i=new ActiveXObject("Microsoft.XMLHTTP")}else{if(F){alert("no ajax connection")}}}s=document.getElementById(f);if(s!=null){if(L!=""){i.open("GET",K,true);i.onreadystatechange=H;i.send(null)}else{r()}}else{if(F){alert("no layer for output found")}}}catch(J){r();if(J==undefined){if(F){alert("Error: "+J.getmessage)}}else{if(F){alert("Error: "+J)}}}}function r(){if(s!=null){s.style.display="none";p()}}this.hideLayerOutsideCall=function(){if(s!=null){s.style.display="none";p()}};function g(){if(s!=null&&E!=null&&E.length>=1){s.style.display="block"}}function H(){if(y==false){if(i.readyState==4){if(i.status!=200){r();if(F){alert("Error ("+i.status+"): "+i.statusText)}}else{B(i.responseText)}}}}function l(J){if(typeof(onSuggestCompleted)=="function"){onSuggestCompleted(J)}}function p(){if(typeof(onSuggestLayerHidden)=="function"){onSuggestLayerHidden()}}function B(O){z=-1;E=new Array();E=O.split("\n");var K='<table cellpadding="0" cellspacing="0" class="'+f+'" width="100%" border="0" onMouseDown="'+I+'.handleClick();">';K+='<tr class="'+j+'" ><td nowrap="nowrap" colspan="3">Vorschl&auml;ge f&uuml;r Ihre Suchanfrage...</td></tr>';var N=new Array();for(var J in E){var L=E[J].charCodeAt(0);if(L!=13&&L!=10&&E[J].length>=1){N.push(E[J])}}E=N;var M=G.value;for(var J in E){pSuggestParts=new Array();pSuggestParts=E[J].split("###");K+='<tr id="'+f+"_"+J+'" class="'+k+'" onMouseOver="'+I+".handleMouseOver("+J+');" onMouseOut="'+I+".handleMouseOut("+J+');"><td nowrap="nowrap" class="'+C+'">'+pSuggestParts[0].replace(new RegExp("("+M+")","ig"),'<span class="'+o+'">$1</span>')+'</td><td nowrap="nowrap" class="'+m+'">'+pSuggestParts[2]+'</td><td nowrap="nowrap" class="'+w+'">'+pSuggestParts[1]+"</td></tr>"}K+='<tr><td class="'+v+'" colspan="3">&nbsp;</td></tr></table>';if(E.length>=1){g();s.innerHTML=K;l(true)}else{r();s.innerHTML="";l(false)}}function A(J){J.className=q}function e(J){J.className=k}function n(){var K;for(var J in E){K=c(J);if(K!=null){e(K)}}}function c(K){var J;J=document.getElementById(f+"_"+K);return J}};