/* Author: Makrem Djebali www.teamsware.com License: @copyright 2007 $Id: twreXMLTag.jsp,v 1.1 2009/07/07 08:43:44 Administrateur Exp $ */ function TwreXMLTag(form) { this.id = null; this.query = null; this.target = null; this.submit = null; this.funct = null; this.type = null; /** * selectSingleNode */ this.selectSingleNode = function(node, name){ var nodeList = node.getElementsByTagName(name); if(nodeList.length > 0){ return nodeList[0]; }else{ return false; } } /** * selectSingleNode */ this.selectNodes = function(node, name){ var nodeList = node.getElementsByTagName(name); return nodeList; } this.newRequest = function(url, post, func) {//alert('newrequest') var objRef = this; objRef.contentType = "text/xml"; objRef.url = url; try { if (!(window.XMLHttpRequest)) { //ie objRef.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); objRef.xmlhttp.open("POST", url, true); objRef.xmlhttp.setRequestHeader("content-type", objRef.contentType); objRef.xmlhttp.setRequestHeader("serverUrl", objRef.url); objRef.xmlhttp.onreadystatechange = function(){ if ((objRef.xmlhttp.readyState == 4) && (objRef.xmlhttp.status == 200)) { //we got a good response. We need to process it! if (objRef.xmlhttp.responseXML == null) { return; } objRef.doc = objRef.xmlhttp.responseXML eval(func); } } objRef.xmlhttp.send(post); } else { //everyone else objRef.xmlhttp = new XMLHttpRequest(); objRef.xmlhttp.open("POST", url, true); objRef.xmlhttp.setRequestHeader("content-type", objRef.contentType); objRef.xmlhttp.setRequestHeader("serverUrl", objRef.url); objRef.xmlhttp.onreadystatechange = function(){ if ((objRef.xmlhttp.readyState == 4) && (objRef.xmlhttp.status == 200)) { //we got a good response. We need to process it! if (objRef.xmlhttp.responseXML == null) { return; } objRef.doc = objRef.xmlhttp.responseXML eval(func); } } objRef.xmlhttp.send(post); } } catch (e) { alert("err:" + e); } } /** * submitTag */ this.submitTag = function(args){ //kill any current requests! if (this.xmlhttp != null) { this.xmlhttp.abort(); this.xmlhttp = null; } var xml = ""; xml += "\n"; xml += "\n"; xml += " "+this.submit+"\n"; xml += " "+args+"\n"; xml += ""; //alert(xml) var url = "/tt/PA_1_2GNKJP7H2JNV10IGNMPIA82GP6/xmltag"; this.newRequest(url, xml, this.target); } /** * submitCombo */ this.responseCombo = function(objRef){ //alert('--- xml doc --- ::\n'+Sarissa.serialize(this.doc)) var response = this.selectSingleNode(this.doc, "response"); if(response){ var options = this.selectNodes(response, "element"); var select = document.getElementById(this.targetargs);//alert(options.length+' :: '+select);//return; if(!select.options) select.options = new Array(); select.options.length = 0; //alert() for(i=0;i