/*************************************/ /* Ajax.js copyright by InOdesign */ /* Version: 2.0 */ /* */ /* All rights reserved */ /* Internet: http://www.inodesign.de */ /* E-Mail: apirequest@inodesign.de */ /*************************************/ var ajax_http = createRequestObject(); var ajax_waiting = false; var ajax_stack = new Array(); var ajax_timer = null; function createRequestObject() { return (navigator.appName == "Microsoft Internet Explorer" ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest()); } function ajax(action) { if (typeof action == 'object') ajax_stack.push(action); if (ajax_waiting) { window.clearTimeout(ajax_timer); ajax_timer = window.setTimeout("ajax();",100); return; } if (ajax_stack.length == 0) return; var ajax_cmd = ''; for(var key in ajax_stack[0]) ajax_cmd += (ajax_cmd ? '&' : '') + key + '=' + (ajax_stack[0][key] ? ajax_stack[0][key].split('&').join('%amp;') : false); ajax_waiting = true; var ajax_randomizer = new Date(); with (ajax_http) { open('POST', '/ajax.php?randomizer=' + ajax_randomizer.getTime()); onreadystatechange = handleResponse; setRequestHeader("Content-type", "application/x-www-form-urlencoded"); setRequestHeader("Content-length", ajax_cmd.length); setRequestHeader("Connection", "close"); send(ajax_cmd); } window.clearTimeout(ajax_timer); ajax_timer = window.setTimeout("ajax();",100); } function handleResponse() { if (ajax_http.readyState == 4 && ajax_waiting && ajax_http.status == 200) { try { eval(ajax_http.responseText); } catch (err) { alert("Error in ajax-response (" + err + ")\n\nResponse:\n" + ajax_http.responseText); } ajax_stack.shift(); ajax_waiting = false; window.clearTimeout(ajax_timer); ajax_timer = window.setTimeout("ajax();",100); } }