﻿var nrmsAjaxUtilityResponesFunction;
var nrmsAjaxUtilityRequert;

/**Get
 */
function invokeAsyServerByGet(URL, sendStr, resposeFunction){
	invokeAsyServer("GET", URL, sendStr, resposeFunction)
}
/**Post
 */
function invokeAsyServerByPost(URL, sendStr, resposeFunction){
	invokeAsyServer("POST", URL, sendStr, resposeFunction)
}
/**
 */
function invokeAsyServer(method, URL, sendStr, resposeFunction){
	if(nrmsAjaxUtilityRequert != null){
		resposeFunction("Error: ");
		return ;
	}
	nrmsAjaxUtilityRequert = null;
	nrmsAjaxUtilityResponesFunction = null;
	
	if("Microsoft Internet Explorer" == window.navigator.appName){
		var versionIndex = window.navigator.appVersion.indexOf("MSIE");
		var version = window.navigator.appVersion.substring(versionIndex+5, versionIndex+8);
		version = parseFloat(version);
		if(version < 7){
			//IE 7.0 -
			nrmsAjaxUtilityRequert = new ActiveXObject("Microsoft.XMLHTTP"); 
		}
		else{
			//IE 7.0 +
			nrmsAjaxUtilityRequert = new XMLHttpRequest();
		}
	}
	else{
		//Another Browser:Mozilla, Safari, ...
		nrmsAjaxUtilityRequert = new XMLHttpRequest(); 
		nrmsAjaxUtilityRequert.overrideMimeType("text/xml");
	}
	nrmsAjaxUtilityResponesFunction = resposeFunction;
	
	
	nrmsAjaxUtilityRequert.onreadystatechange = function(){
		if (nrmsAjaxUtilityRequert.readyState == 4) {
			if (nrmsAjaxUtilityRequert.status == 200){
				result = nrmsAjaxUtilityRequert.responseText;
				if(nrmsAjaxUtilityResponesFunction != null){
					nrmsAjaxUtilityResponesFunction(result);
				}
				nrmsAjaxUtilityRequert = null;
				nrmsAjaxUtilityResponesFunction = null;
			} 
			else{ 
				if(nrmsAjaxUtilityResponesFunction != null){
					//alert( nrmsAjaxUtilityRequert.responseText);
					nrmsAjaxUtilityResponesFunction("Error:There was a problem with the request. The request status error code is:"+nrmsAjaxUtilityRequert.status);
				}
				nrmsAjaxUtilityRequert = null;
				nrmsAjaxUtilityResponesFunction = null;
			} 
		}
	}
	nrmsAjaxUtilityRequert.open(method, URL, true);
	if(sendStr == null){
		sendStr = "";
	}
	nrmsAjaxUtilityRequert.send(sendStr);

//	invokeAjaxServer(URL, method ,sendStr, resposeFunction, true);
}
 
/**
 */
function invokeServerByGet(sUrl, sendStr){
	var m = invokeServer("GET",sUrl,sendStr);
	return m;
}

/**
 */
function invokeServerByPost(sUrl, sendStr){
	var m = invokeServer("POST",sUrl,sendStr);
	return m;
}
/**
 */
function invokeServer(method,url, sendStr){
	resultMessage = "";
	invokeServerRequest = null;
	if("Microsoft Internet Explorer" == window.navigator.appName){
		versionIndex = window.navigator.appVersion.indexOf("MSIE");
		version = window.navigator.appVersion.substring(versionIndex+5, versionIndex+8);
		version = parseFloat(version);
		if(version < 7){
			//IE 7.0 -
			invokeServerRequest = new ActiveXObject("Microsoft.XMLHTTP"); 
		}
		else{
			//IE 7.0 +
			invokeServerRequest = new XMLHttpRequest();
		}
	}
	else{
		//Another Browser:Mozilla, Safari, ...
		invokeServerRequest = new XMLHttpRequest(); 
		invokeServerRequest.overrideMimeType("text/xml");
	}
	invokeServerRequest.onreadystatechange = function(){
		if (invokeServerRequest.readyState == 4) { 
			if (invokeServerRequest.status == 200) { 
				resultMessage = invokeServerRequest.responseText;
			} else { 
				alert("There was a problem with the request. The request status error code is:"+invokeServerRequest.status); 
				alert("request="+invokeServerRequest.responseText);

				resultMessage = null;
			} 
		}
	};
	invokeServerRequest.open(method, url, false);
	if(sendStr == null){
		sendStr = "";
	}
	invokeServerRequest.send(sendStr);
	return resultMessage;
}

