﻿function CreateXmlHttp() 
{ 
	var pgmIds = ["MSXML3.XMLHTTP", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP", "MSXML.XMLHTTP", "MSXML2.ServerXMLHTTP"];
	var xmlhttp = null;
	for (var i = 0; i < pgmIds.length; i++) 
	{
		try 
		{
			xmlhttp = new ActiveXObject(pgmIds[i]);
		} 
		catch(ex) {}
		if (xmlhttp != null) return xmlhttp;
	}
	alert("Create XmlHttp Failed . ");
	return null;
}


function CreateXmlDom()
{
	var pgmIds = ["MSXML3.DOMDocument", "MSXML2.DOMDocument", "Microsoft.DOMDocument", "MSXML.DOMDocument", "Microsoft.XMLDOM"];
	var xmldom = null;
	for (var i = 0; i < pgmIds.length; i++) 
	{
		try 
		{
			xmldom = new ActiveXObject(pgmIds[i]);
		} catch(ex) {}
		if (xmldom != null) return xmldom;
	}
	alert("Create XmlDom Failed .");
	return null;
}

function GetFuncXML(strTPE,strFunc,strParams)  // generate XML string
{
   var strXML="<Client><TPE>"+strTPE+"</TPE><FUNC>"+strFunc+"</FUNC><PARAMS>"+strParams+"</PARAMS></Client>";  
   return strXML;
}

function GetXMLErrorMsg(strXML) //get Error Info
{
	return GetXMLNodeValue(strXML,"ErrorMsg");
}
			

function GetXMLNodeValue(strXML,nodeName) // get Node Value in XML
{ 
	var Dom =CreateXmlDom();// new ActiveXObject("Microsoft.XMLDOM") 
	Dom.async=false  
	Dom.loadXML(strXML) 
	if(Dom.parseError.errorCode != 0)  
	{ 
		delete(Dom) ;
		return "";
		//return (false) 
	} 
	else 
	{ 
		var node = Dom.documentElement.selectSingleNode("//"+nodeName); 
		var nodeValue="";
		if(node != undefined || node != null )
		{ 
			nodeValue = node.text; 
		}		
		delete(Dom) 
		return(nodeValue); 
	} 
} 


function XMLHttpCallSuccess(XmlResponseText)
{
	return GetXMLNodeValue(XmlResponseText,"XmlHttpReturnValue") =="0" ;
}


function XmlHttpAsyncExec(strUrl,strTpe,strFunc,strParams)
{
	var oXMLHTTP = CreateXmlHttp();　　
	oXMLHTTP.open("POST", strUrl , true);   
	oXMLHTTP.setRequestHeader("Content-Type","text/xml ;charset=utf-8");			 
	oXMLHTTP.send(GetFuncXML(strTpe,strFunc,strParams));　	
}			

function XmlHttpExec(strUrl,strTpe,strFunc,strParams)
{
	var oXMLHTTP = CreateXmlHttp();　　
	oXMLHTTP.open("POST", strUrl , false); 
	oXMLHTTP.setRequestHeader("Content-Type","text/xml ;charset=utf-8");				 
	oXMLHTTP.send(GetFuncXML(strTpe,strFunc,strParams));　
	return XMLHttpCallSuccess(oXMLHTTP.responseText);				
}	
			
function XmlHttpCall(strUrl,strTpe,strFunc,strParams)
{
	var oXMLHTTP = CreateXmlHttp();　　
	oXMLHTTP.open("POST",strUrl, false); 
	oXMLHTTP.setRequestHeader("Content-Type","text/xml ;charset=utf-8");			
	oXMLHTTP.send(GetFuncXML(strTpe,strFunc,strParams));　
	return oXMLHTTP.responseText;				
}		


function Urlexist(_url)
{
	var xmlHttp = CreateXmlHttp();
	xmlHttp.open("HEAD", _url, false);
	xmlHttp.send();
	return ( xmlHttp.status == 200 || xmlHttp.status == 0 );
}




function XmlHttpAsyncCall(xmlhttp, strUrl,strTpe,strFunc,strParams)
{
	xmlhttp.open("POST", strUrl , true);   
	xmlhttp.setRequestHeader("Content-Type","text/xml ;charset=utf-8");			 
	xmlhttp.send(GetFuncXML(strTpe,strFunc,strParams));　	
}



