var xmlHttp = new Array(); // use array for simultaneous calls function GetXmlHttpObject() { try { return new XMLHttpRequest(); } catch (e) { try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { return new ActiveXObject("Microsoft.XMLHTTP"); } } return null; } function loadAjax(divId, url, someFunction, someParams) { var divObj = document.getElementById(divId); if(divObj) { var reqId = xmlHttp.length; xmlHttp[reqId] = GetXmlHttpObject(); if (xmlHttp[reqId] == null) { alert ("Your browser does not support AJAX!"); return; } xmlHttp[reqId].onreadystatechange = function() { loadedAjax(reqId, someFunction, someParams, divObj); }; xmlHttp[reqId].open("GET", url, true); xmlHttp[reqId].setRequestHeader('Content-Type', 'application/ajax+html'); xmlHttp[reqId].send(null); } else { alert("Can't initiliaze HTML object: " + divId); } return false; } function callAjax(url, someFunction, someParams) { if (someFunction) { var reqId = xmlHttp.length; xmlHttp[reqId] = GetXmlHttpObject(); if (xmlHttp[reqId] == null) { alert ("Your browser does not support AJAX!"); return; } xmlHttp[reqId].onreadystatechange = function() { loadedAjax(reqId, someFunction, someParams, ""); }; xmlHttp[reqId].open("GET", url, true); xmlHttp[reqId].setRequestHeader('Content-Type', 'application/ajax+html'); xmlHttp[reqId].send(null); } else { alert("Function is not defined for AJAX call."); } return false; } function postAjax(url, someFunction, someParams, formObject) { var params = ""; if (formObject) { for (var f = 0; f < formObject.elements.length; f++) { var formElement = formObject.elements[f]; var elementType = formElement.type; var elementName = formElement.name; var elementValue = ""; if (elementType == "radio" || elementType == "checkbox") { if (formElement.checked) { elementValue = formElement.value; } } else { elementValue = formElement.value; } if (elementValue && elementValue != "") { if (params != "") { params += "&"; } params += elementName+"="+encodeURIComponent(elementValue); } } } if (someFunction) { var reqId = xmlHttp.length; xmlHttp[reqId] = GetXmlHttpObject(); if (xmlHttp[reqId] == null) { alert ("Your browser does not support AJAX!"); return; } xmlHttp[reqId].onreadystatechange = function() { loadedAjax(reqId, someFunction, someParams, ""); }; xmlHttp[reqId].open('POST', url, true); xmlHttp[reqId].setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlHttp[reqId].setRequestHeader("Content-length", params.length); xmlHttp[reqId].setRequestHeader("Connection", "close"); xmlHttp[reqId].send(params); } else { alert("Function is not defined for AJAX call."); } return false; } function loadedAjax(reqId, someFunction, someParams, divObj) { if (xmlHttp[reqId].readyState == 4) { if (divObj) { divObj.innerHTML = xmlHttp[reqId].responseText; } if (someFunction) { someFunction(xmlHttp[reqId].responseText, someParams); } xmlHttp[reqId] = null; } } function nextNode(e) { return ((e && e.nodeType != 1) ? nextNode(e = e.nextSibling) : e); } function prevNode(e) { return ((e && e.nodeType != 1) ? prevNode(e = e.previousSibling) : e); } function nextElement(e) { return nextNode(e.nextSibling); } function prevElement(e) { return prevNode(e.previousSibling); } function addClassNameByID(obj_id, classname) { var obj = document.getElementById(obj_id); if (obj) { addClassName(obj, classname); } var obj = document.getElementsByName(obj_id); if (obj) { for(var j=0; j