var e={id:Math.random().toString(36).substr(2,11)}; var f={tx:[],rx:[]}; function TX(c=[],d=[]){ f['tx'].push({"c":c,"d":d,"e":e}); PARSE(); } TX("init"); function SEND(){ m=new XMLHttpRequest(); m.open("POST","erv.php",true); m.timeout=5000; m.setRequestHeader("Content-type","application/json"); m.onload=function(z){ if(m.readyState===4 && m.status===200){ rx=JSON.parse(m.response); f['rx']=f['rx'].concat(rx['d']); e=rx['e']; PARSE(); }else{ alert("Ajax error: "+m.statusText); } } m.send(JSON.stringify(f['tx'][0])); f['tx'].shift(); } function PARSE(){ while(f['rx'].length){ z=f['rx'][0]; f['rx'].shift(); switch(z['com']){ case "error": alert(z['txt']); break; } } if(f['tx'].length){ SEND(); } }