// JavaScript Document var xmlHttp; var has_secondary; var use_loader; var load_element; function populate(str,script,element,display,numchars,data,flag,multiple,useloader,loaderelement){ temp = element; //declare global has_secondary = multiple; use_loader = useloader; load_element = loaderelement; if(display != "nohide") { //check for ALL if(str=="" || str==0){ document.getElementById(temp + "wrap").style.display = "none"; } else { if(numchars > 0 && numchars != "") { if(str.length >= numchars) document.getElementById(temp + "wrap").style.display = ""; else document.getElementById(temp + "wrap").style.display = "none"; } else { document.getElementById(temp + "wrap").style.display = ""; } } } //no header request functionality xmlHttp=GetXmlHttpObject() if (xmlHttp==null){ alert ("Sorry, your browser does not support HTTP Request. Exiting function."); return; } var url="/js/include/" + script + ".php"; //use dynamic file url=url+"?q="+str; //val pass url=url+"&d="+data; // additional data url=url+"&f="+flag; // additional params url=url+"&sid="+Math.random(); //id for ajax xmlHttp.onreadystatechange=stateChanged; xmlHttp.open("GET",url,true); xmlHttp.send(null); } function stateChanged(multiple){ if (xmlHttp.readyState == 1 && use_loader == 1) { document.getElementById(load_element).style.display = "block"; } if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { if (use_loader == 1) { document.getElementById(load_element).style.display = "none"; } document.getElementById(temp).innerHTML=xmlHttp.responseText; //dynamic write if(has_secondary == 1) { secondary_ajax(); } } } function GetXmlHttpObject(){ var objXMLHttp=null if (window.XMLHttpRequest) objXMLHttp=new XMLHttpRequest() else if (window.ActiveXObject) objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP") return objXMLHttp } function ajaxrequestObj(what_to_search_for, target_area_id, name_of_ajax_file, is_it_initially_invisible){ //validate parameters if(what_to_search_for == "" || target_area_id == "" || name_of_ajax_file == "") { alert("Invalid request made.\nPlease check parameters are being sent correctly."); return false; } else { var ajaxObject = new Object(); ajaxObject.searchdata = what_to_search_for; ajaxObject.targetarea = target_area_id; ajaxObject.filename = name_of_ajax_file; ajaxObject.invisible = is_it_initially_invisible; ajaxObject.loader = target_area_id + "_loader"; } //check for support try { document.getElementById; } catch(dom) { alert("Your browser does not support a required method.\nPlease use an updated browser."); return false; } try { var xmlhttp = new XMLHttpRequest(); } catch(firefox) { try { var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch(explorer) { alert("Your browser does not support Ajax.\nPlease use an updated version of Firefox, Internet Explorer, Safari or Opera."); } } //request status xmlhttp.onreadystatechange = function() { //request complete if(xmlhttp.readyState == 4 && xmlhttp.status == 200) { //check if target area exists switch(typeof(ajaxObject.targetarea)){ case "string": try { var targetareaobj = document.getElementById(ajaxObject.targetarea); } catch(targetarea) { alert("Target area does not exist!\nCancelling request..."); return false; } //check loader exists if(document.getElementById(ajaxObject.loader)) { var loaderobj = document.getElementById(ajaxObject.loader); loaderobj.style.display = "none"; } //if initially invisible, then show if(ajaxObject.invisible == true) { targetareaobj.style.display = "block"; } //write the output targetareaobj.innerHTML = xmlhttp.responseText; break; case "function": ajaxObject.targetarea(xmlhttp.responseText); break; } } //loading... else if(xmlhttp.readyState == 1) { //check loader exists if(document.getElementById(ajaxObject.loader)) { var loaderobj = document.getElementById(ajaxObject.loader); loaderobj.style.display = "block"; } } } //prep url var url = "http://"+document.domain+ "/js/include/base.php?p=" + ajaxObject.searchdata + "&f=" + ajaxObject.filename; //send request xmlhttp.open("GET", url, true); xmlhttp.send(null); } function htmlescape(string){ return string.replace(/&/g,'&').replace(//g,'>'); } function ajaxrequest(what_to_search_for, target_area_id, name_of_ajax_file, is_it_initially_invisible) { new ajaxrequestObj(what_to_search_for, target_area_id, name_of_ajax_file, is_it_initially_invisible); }