var sajax_debug_mode=false;var sajax_request_type="GET";var sajax_target_id="";var sajax_failure_redirect=""; function sajax_debug(text){if (sajax_debug_mode) alert(text);} function sajax_init_object(){sajax_debug("sajax_init_object() called..") var A;var msxmlhttp=new Array('Msxml2.XMLHTTP.5.0','Msxml2.XMLHTTP.4.0', 'Msxml2.XMLHTTP.3.0','Msxml2.XMLHTTP','Microsoft.XMLHTTP');for (var i=0;i < msxmlhttp.length;i++){try{A=new ActiveXObject(msxmlhttp[i]); }catch (e){A=null;}}if(!A && typeof XMLHttpRequest !="undefined") A=new XMLHttpRequest();if (!A) sajax_debug("Could not create connection object.");return A;}var sajax_requests=new Array(); function sajax_cancel(){for (var i=0;i < sajax_requests.length;i++) sajax_requests[i].abort();} function sajax_do_call(func_name, args){var i, x, n;var uri;var post_data;var target_id;sajax_debug("in sajax_do_call().." + sajax_request_type + "/" + sajax_target_id); target_id=sajax_target_id;if (typeof(sajax_request_type)=="undefined" || sajax_request_type=="") sajax_request_type="GET";uri="/common/type_ahead.php";if (sajax_request_type=="GET"){if (uri.indexOf("?")==-1) uri +="?rs=" + escape(func_name);else uri +="&rs=" + escape(func_name);uri +="&rst=" + escape(sajax_target_id);uri +="&rsrnd=" + new Date().getTime(); for (i=0;i < args.length-1;i++) uri +="&rsargs[]=" + escape(args[i]);post_data=null;}else if (sajax_request_type=="POST"){post_data="rs=" + escape(func_name);post_data +="&rst=" + escape(sajax_target_id); post_data +="&rsrnd=" + new Date().getTime();for (i=0;i < args.length-1;i++) post_data=post_data + "&rsargs[]=" + escape(args[i]);}else{alert("Illegal request type: " + sajax_request_type);}x=sajax_init_object(); if (x==null){if (sajax_failure_redirect !=""){location.href=sajax_failure_redirect;return false;}else{sajax_debug("NULL sajax object for user agent:\n" + navigator.userAgent); return false;}}else{x.open(sajax_request_type, uri, true);// window.open(uri); sajax_requests[sajax_requests.length]=x;if (sajax_request_type=="POST"){x.setRequestHeader("Method", "POST " + uri + " HTTP/1.1"); x.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");}x.onreadystatechange=function(){if (x.readyState !=4) return; sajax_debug("received " + x.responseText);var status;var data;var txt=x.responseText.replace(/^\s*|\s*$/g,"");status=txt.charAt(0); data=txt.substring(2);if (status==""){// let's just assume this is a pre-response bailout and let it slide for now }else if (status=="-") alert("Error: " + data);else{if (target_id !="") document.getElementById(target_id).innerHTML=eval(data);else{try{var callback;var extra_data=false; if (typeof args[args.length-1]=="object"){callback=args[args.length-1].callback;extra_data=args[args.length-1].extra_data;}else{callback=args[args.length-1]; }callback(eval(data), extra_data);}catch (e){sajax_debug("Caught error " + e + ": Could not eval " + data );}}}}}sajax_debug(func_name + " uri=" + uri + "/post=" + post_data); x.send(post_data);sajax_debug(func_name + " waiting..");delete x;return true;}// interface 'onkeyup' ahead sowie wrapper für gook_ahead function x_gook_ahead(){sajax_do_call("gook_ahead", x_gook_ahead.arguments);} function go_ahead(z){if(document.getElementById("such").value){if(z!='') document.getElementById("type_ahead").innerHTML=z;else document.getElementById("type_ahead").innerHTML=' '; }if(z==''){// && !isNaN(document.getElementById("such").value.charAt(0)) ){// leer, aber nicht "Springe zu Band-Seite" // document.getElementById("such").value=z; // document.suchen_Form.such.focus(); }}var key; function taste(ev){key=ev.which;} function ahead(xin){// form id="suchen_Form" action="/lexikon" onkeydown="ahead();return false;" window.onkeypress=taste;// alert('Taste '+key); if(key==0){document.getElementById("such").value=' ';document.getElementById("type_ahead").innerHTML=' ';}else if(key!=13){if(xin) document.getElementById("such").value=xin;// Der Link "down_ahead" ruft Javasript ahead auf var x=document.getElementById("such").value;// Das Input-Formular Suchen ruft 'onkeyup' Javasript ahead auf while(x.charAt(0)==' ') x=x.substr(1);// Keine Blanks am Anfang x_gook_ahead(x, go_ahead);}}