//public functions function x_cont(url,prm){ var jp = new jsPHP('void(0)'); jp.cmd(url,prm,false); return jp.getdata(); } function x_val(id,url,prm,async){ var jp = new jsPHP('changevalue("'+id+'")'); jp.cmd(url,prm); } function x_htm(id,url,prm,async){ var jp = new jsPHP('changehtml("'+id+'")'); jp.cmd(url,prm,async); } function x_exec(url,prm,async){ var jp = new jsPHP('runjs()'); jp.cmd(url,prm,async); } //ajax-handler class function jsPHP(efunc){ var req; var data = null; var exefunction = efunc; this.cmd = cmd; this.getdata = getdata; // if Mozilla, Safari etc if (window.XMLHttpRequest) req = new XMLHttpRequest() // if IE else if (window.ActiveXObject){ try { req = new ActiveXObject("Msxml2.XMLHTTP") } catch (e){ try{ req = new ActiveXObject("Microsoft.XMLHTTP") }catch (e){} } }else{ alert('This Browser do not support AJAX-Technology!'); return ; } //handle status req.onreadystatechange = reqreadystatechange; function reqreadystatechange() { if (req.readyState != 4)return; if (req.status == 200) { data = req.responseText; try { eval(exefunction); }catch (e){ alert('ERROR executing result!'); } }else{ alert('ERROR loading data :-('); } } function cmd(url,prm,async){ if(!prm) prm=''; if(async!=false && async!=true) async=true; _doajax(url,prm,async); } function getdata(){ return data; } function changevalue(id){ document.getElementById(String(id)).value = data; } function changehtml(id){ document.getElementById(String(id)).innerHTML = data; } function runjs(){ eval(data); } function _doajax(url,prm,async) { data = null; if(!url || url==''){ alert('Requestfile is not set!'); return; }else{ url = 'phpinc='+url ;} if(prm!='') url += '&' + prm; req.open('POST', 'ajax.php' , async); req.setRequestHeader("Method", "POST " + 'ajax.php' + " HTTP/1.1"); req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); req.send(url); } }