/** * Klasse mit allen Funktionen für die Suche nach Kontaktdaten für den Verkauf oder Ankauf * * @package livesearch * @created 2006-09-27 * @author Christian Pschorr */ function LiveSearch() { var ls = this; this.addEventListener(document.getElementById("txt_search"),"keyup",function(event) { ls.searchSubmit(event); }); } /** * function addEventListener * erzeugt einen EventListener die sowohl im Mozilla als auch im IE funktioniert * @param node obj Element auf das der Listener gesetzt wird * @param event das auszulösende Event * @param function die Funktion die ausgeführt werden soll * @return object Request Object */ LiveSearch.prototype.addEventListener = function(obj, evType, fn) { if(obj.addEventListener){ obj.addEventListener(evType, fn, false); return true; } else if (obj.attachEvent){ var r = obj.attachEvent("on"+evType, fn); return r; } else { return false; } } /** * function requestObject * erzeugt das HttpRequest Objekt * @param none * @return object ajax-Objekt */ LiveSearch.prototype.requestObject = function() { var ro; if(navigator.appName == "Microsoft Internet Explorer") { ro = new ActiveXObject("Microsoft.XMLHTTP"); } else { ro = new XMLHttpRequest(); } return ro; } /** * function searchSubmit * schickt die Suchabfrage an die Datenbank * @param event e Event das auf dem Element txt_search passiert * @param node frm_search Formular aus dem die Suche aufgerufen wird * @return none */ LiveSearch.prototype.searchSubmit = function(e) { document.getElementById("searchresult").style.display = "block"; if(e.keyCode != 27) { var http = this.requestObject(); var svalue = document.getElementById("txt_search").value; var slang = document.getElementById("txt_lang").value; var stype = document.getElementById("txt_type").value; var url = "/_Includes/php/functions/kontakt_suche.inc.php?txt_search=" + svalue + "&lang=" + slang + "&type=" + stype + "&_action=is_search&is_ajax=true"; //-> Verbindung http.open("post",url); http.send(null); http.onreadystatechange = function() { if(http.readyState == 4) { document.getElementById("searchresult").innerHTML = http.responseText; } } } } /** * Instanz zur Livesuche falls sie auf der Seite vorkommt */ window.onload = function() { if(document.getElementById("searchresult")) { var live = new LiveSearch(); } }