// 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? } } }