// generic request / response gateway using ajax
// Assembles the request string from the form fields.
function assembleRequestString(url,formId) {
// assemble request string from form fields
requestString = url+'?';
form = document.getElementById(formId)
for (i=0; i < form.elements.length; i++) {
if (i > 0) {
requestString = requestString + '&';
}
requestString = requestString + form.elements[i].name + '=' + form.elements[i].value;
}
return requestString;
}
// Sends request to server
function sendAjax(url,formId,responsePanelId,message,errorMessage) {
requestString = assembleRequestString(url,formId);
req = new XMLHttpRequest();
// alert(requestString);
req.open('GET',requestString,true);
req.onreadystatechange = function() {
if (req.readyState == 4) {
if (req.status != 200) {
if (errorMessage != null) {
insertText(responsePanelId,errorMessage);
}
else {
insertText(responsePanelId,'Error:'+req.responseText);
}
}
else {
if (message != null) {
insertText(responsePanelId,message);
}
else {
insertText(responsePanelId,req.responseText);
}
}
}
}
req.send(null);
}
// inserts text into the specified node
function insertText(responsePanelId,responseText) {
responsePanel = document.getElementById(responsePanelId);
textNode = document.createTextNode(responseText);
// first remove current child nodes
// alert(responseText);
if (responsePanel.childNodes != null) {
try {
responsePanel.removeChild(responsePanel.firstChild);
}
catch (e) {
// do nothing?
}
}
// responsePanel.appendChild(textNode);
responsePanel.innerHTML=responseText;
responsePanel.style.display='block';
}
function addElement(div,display,value ) {
var ni = document.getElementById(div);
var numi = document.getElementById('objectIndex');
var num = (document.getElementById('objectIndex').value -1) + 2;
numi.value = num;
var newdiv = document.createElement('div');
var divIdName = div+num;
newdiv.setAttribute('id',divIdName);
newdiv.innerHTML = " " + display + " Remove";
// alert(newdiv.innerHTML);
ni.appendChild(newdiv);
}
function removeObject(parent, objectIndex){
var objectPanel = document.getElementById(parent);
var object = document.getElementById(objectIndex);
if (objectPanel.childNodes != null) {
try{
objectPanel.removeChild(object);
}
catch (e) {
// do nothing?
}
}
}