/*
 * Conexión con un Servlet para transferencia de datos. Funciona por medio de AJAX.
 * Ocupa el método POST para poder enviar más datos y de forma no visible.
 */
function sendData(url, params){
	if (typeof XMLHttpRequest != "undefined") {
		req = new XMLHttpRequest();
	}
	else 
		if (window.ActiveXObject) {
			req = new ActiveXObject("Microsoft.XMLHTTP");
		}
	req.open("POST", url, true);
	req.onreadystatechange = callback;
	req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");	
	req.send(params);
}

/*
 * Función que es llamada cuando el Servlet sea contactado y regrese los resultados de la consulta.
 */
function callback(){
	//alert("1")
	if (req.readyState == 4) {
		//alert("2")
		if (req.status == 200) {
			//alert("3")
			parseMessage();
		}
	}
}

/*
 * Obtiene el resultado de la consulta y llama a la función de manipulación de datos.
 */
function parseMessage(){
	var message = req.responseXML;
	var consulta = message.getElementsByTagName("consulta")[0];
	var funcion = consulta.getElementsByTagName("funcion")[0].firstChild.nodeValue;
	if(funcion == 'ESI')
		setMessage(message);
	else if(funcion == 'Representante')
		setMessage2(message);
	else if(funcion == 'Declaraciones')
		calculos(message);
	else if(funcion == 'Declaraciones_Importes')
		importes(message);
	else if(funcion == 'Cambios')
		cambiar(message);
	else if(funcion == 'Ejercicios')
		cambiarEjercicios(message);
	else if(funcion == 'Tabla')
		cambiarTabla(message);
	else if(funcion == 'Servicio')
		cambiarServicio(message);
	else if(funcion == 'Linea')
		cambiarLinea(message);
	else if(funcion == 'Version')
		cambiarVersion(message);
	else if(funcion == 'Colonias')
		cambiarColonias(message);
	else if(funcion == 'Localidades')
		cambiarLocalidades(message);
	else if(funcion == 'Municipios')
		cambiarMunicipios(message);
	else if(funcion =='ImpuestoClave')
		cambiarImpuesto(message);
	else if(funcion =='Alfabetizacion')
		cambiarAlfabetizacion(message);
	else if(funcion =='Fondo')
		cambiarFondo(message);
}
