function CreateRequestObject() { var ro; var browser = navigator.appName; if (browser == "Microsoft Internet Explorer") { ro = new ActiveXObject("Microsoft.XMLHTTP"); } else { ro = new XMLHttpRequest(); } return ro; } http = new Object(); http_in_use = new Array(); num_http_objects = 20; for (var i = 0; i < num_http_objects; i++) { http[i] = CreateRequestObject(); http_in_use[i] = false; } function SendReq(action, params) { //s = prompt(action, "http://www.vizions.com/js/ajax_call.php?action=" + action + "¶ms=" + params); for (i = 0; i < num_http_objects; i++) { if (http_in_use[i] == false) { if (action.indexOf("nope") != -1 && typeof document.viz_form.ajax_calls != "undefined") { //alert(document.viz_form.ajax_calls.value); document.viz_form.ajax_calls.value += "http://www.vizions.com/js/ajax_call.php?action=" + action + "¶ms=" + params + "\n"; } http_in_use[i] = true; post_url = "http://www.vizions.com/js/ajax_call.php?action=" + action + "¶ms=" + params; param_array = params.split("`"); //s = prompt(action, post_url); http[i].open("post", post_url); http[i].onreadystatechange = HandleResponse; http[i].send(null); } } } function HandleResponse() { for (i = 0; i < num_http_objects; ++i) { if (http[i].readyState == 4 && http[i].status == 200) { http_in_use[i] = false; var response = http[i].responseText; //alert(i + " = " + response); var update = new Array(); if (response.indexOf("``innerHTML``") != -1) { //alert(response); update = response.split("``innerHTML``"); matches = ReturnMatches(update[0], "[_0-9a-z]+"); //alert("|" + update[0] + "|"); update[0] = matches[0]; //alert("|" + update[0] + "|"); //alert(update[1]); document.getElementById(update[0]).innerHTML = update[1]; } http[i] = CreateRequestObject(); break; } } }