// CommonAjaxWS.js

   //var wsURL = 'http://localhost:9080/hdusa/services/CommonWSEJB';
   var xmlDoc;
   
   function getXMLDocRoot(xmlDoc){
	   var xmlDocRoot = new ActiveXObject("Microsoft.XMLDOM");
	   xmlDocRoot.async="false";
	   xmlDocRoot.load(xmlDoc);
	   return xmlDocRoot;
   }
   
   function getNameSpace(){
 	    var nsuri = 'http://common.ws.hdusa.com';
		return nsuri;
   }
   
   function getToSendString(methodName,varNameArray,varValueArray){
        var tempStr= '';
		var toSend = '<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"><Body><'+methodName+' xmlns="'+getNameSpace()+'">';
							for (var i=0; i < varNameArray.length; i++){
							   tempStr =  tempStr + '<'+varNameArray[i]+'>'+varValueArray[i]+'</'+varNameArray[i]+'>';
							}    
			 toSend = toSend + tempStr+ '</'+methodName+'></Body></Envelope>'; 
		return toSend;		 
   }
   
   function getToSendStringForCustomObject(methodName,varXml){
        var tempStr= '';
		var toSend = '<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/"><Body><'+methodName+' xmlns="'+getNameSpace()+'">';
	    tempStr =  tempStr + varXml;
		toSend = toSend + tempStr+ '</'+methodName+'></Body></Envelope>'; 
		
		//alert(' toSend '+toSend);
		return toSend;		 
   }
   
   function invoke_RPC_WS(wsURL, toSend, handler,mode){
	   	xmlPost(wsURL, toSend, handler,mode)
   }
   
   function call_RPC_WS(wsURL,methodName,varNameArray,varValueArray){
	   	var toSend = getToSendString(methodName,varNameArray,varValueArray);
		invoke_RPC_WS(wsURL, toSend, responseHandler,false);
		var xmlDocRoot = getXMLDocRoot(xmlDoc);
		return xmlDocRoot;
   }
   
   function xmlPost(url, toSend, responseHandler,mode)
   {
       if( (mode == undefined) || arguments.length < 4)
       {
              mode=true;
       }
       xmlOpen("POST",url,toSend,responseHandler,mode);
   }
   function xmlOpen(method, url, toSend, responseHandler,mode)
   {
		makeRequest(url,toSend,responseHandler,mode);
   }
				
   function makeRequest(url,toSend,responseHandler,mode) 
   {
        req = false;
        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            req = new XMLHttpRequest();
            if (req.overrideMimeType) {
                req.overrideMimeType('text/xml');
            }
        } else if (window.ActiveXObject) { // IE
            try {
                req = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                req = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }
        if (!req) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }
        req.onreadystatechange = responseHandler;
        req.open('POST', url, false);
        req.setRequestHeader("SOAPAction","http://www.homedirectusa.com/doSomeThing");
        req.setRequestHeader ("Content-Type", "text/xml"); 
        req.send(toSend);
   }
   
   function responseHandler()
   {
	    // Make sure the request is loaded (readyState = 4)
	    if (req.readyState == 4)
	    {
	        // Make sure the status is "OK"
	        if (req.status == 200)
	        {
	            xmlDoc = req.responseXML;
	        }
	        else
	        {
	            showSaved();
	            alert("There was a problem retrieving the XML data:\n" +req.statusText);
	        }
	    }
	} 
	
	function getReturnValue(xmlDocRoot,returnNode)
	{
		var dObj = eval("("+ xmlDocRoot.getElementsByTagName(returnNode)[0].childNodes[0].nodeValue + ")");
		//alert (dObj.DLS);
		return (xmlDocRoot.getElementsByTagName(returnNode)[0].childNodes[0].nodeValue);
	}
   
   	   
 
   
   