/*
  Modulo para la invocacion de WebServices de manera sincronica o asincronica
  sirve para  ProcessResults invocados desde un WebService.
*/

/*Metodo de Invocacion de Webservices*/
function webServiceCall( webServiceName, method, params, callbackFunction, sender )
{
	var xmlhttp = XmlHttp.create();;
	var stringParams = '';
	
	for( key in params ) {
		stringParams = stringParams + key + '=' + params[key] + '&' 
	}
	
	
	var queryString = stringParams.substring(0,stringParams.length-1);
	var url =  "WebServices/" + webServiceName + ".asmx/" + method;
	
	xmlhttp.open("POST", url, true);
	
	xmlhttp.onreadystatechange = function() {
		if( xmlhttp.readyState == 4 ) {
			if(callbackFunction)
			{
				callbackFunction(new ProcessResult(xmlhttp.responseXML), sender);
			}
		}
	}
	
	xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
	xmlhttp.send(queryString);
	
	return;
}


/*Clase equivalente a ProcessResul de BLL pero en JScript*/
function ProcessResult( xml ) {	
	var root = xml.documentElement;	
	node = root.firstChild;

	while(node.nodeName != 'Success')
	{
		(node = node.nextSibling);
	}
	value = node.firstChild.nodeValue;
	
	this.Success = value == 'true' ? 1 : 0 ;
	
	return this;
}