/*  $Id: webmethod.js 9567 2008-02-21 06:34:20Z ajramos $
 * 
 */
 
function WebMethod(url,request,callback,type){
	var _http = getXmlHttpObject();
	if(!_http){ return;}
	_http.open(request,url,true);
	if(request=="POST"){_http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');}
	_http.onreadystatechange=function(){
		if(_http.readyState==4){
			if (type == "XML") {
				callback(_http.responseXML);			
			} else {
				callback(_http.responseText);			
			}
		}
	};
	_http.send(request);
}

function httpPost(url,request,callback){
    var _httpPost = getXmlHttpObject();
    if(!_httpPost){ return;}
    _httpPost.open("POST",url,true);    
    _httpPost.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    _httpPost.onreadystatechange=function(){if(_httpPost.readyState==4){callback(_httpPost.responseText);}};
    _request = param(request);
    _httpPost.send(_request);    
}

function httpRequest(url,request){
    var _httpPost = getXmlHttpObject();
    if(!_httpPost){ return;}
    _httpPost.open("POST",url,false);    
    _httpPost.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
    _request = param(request);
    _httpPost.send(_request);  
    return _httpPost.responseText;  
}

function param(a) {
	var s = [];
	for ( var i in a )
	s[s.length] = i + "=" + encodeURIComponent( a[i] );
	return s.join("&");
};

function getXmlHttpObject(){
	var _http=false;
	try {_http=new XMLHttpRequest();} catch (e1){
	try {_http=new ActiveXObject("Msxml2.xmlhttp");} catch (e2){
	try {_http=new ActiveXObject("Microsoft.xmlhttp");} catch (e3){_http=false;}}}
	return _http;
}
