// JavaScript Documentfunction fncontacto(Datos){	// Capturamos los parametros de entrada en un array.	var arrDatos = Datos.split('::');	// Creamos nuevo objeto XMLHttpRequest.	var xhrInf = CreaXMLHttpRequest();    // Inicializamos la página a la que se le realizará la petición.	xhrInf.open('POST', 'includes/fnPublicas.asp', false);	// Indicamos al servidor que los datos se van ha enviar por POST.	xhrInf.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');	// Realizamos la petición al servidor con los parámetros de entrada.	xhrInf.send(	'Accion=2&' +				   	'nombre=' + escape(arrDatos[0]) + '&' +					'apellidos=' + escape(arrDatos[1]) + '&' +					'empresa=' + escape(arrDatos[2]) + '&' +					'email=' + escape(arrDatos[3]) + '&' +					'direccion=' + escape(arrDatos[4]) + '&' +					'telefono=' + escape(arrDatos[5]) + '&' +					'fax=' + escape(arrDatos[6]) + '&' +					'comentarios=' + escape(arrDatos[7]));	}function fnreserva(Datos){	// Capturamos los parametros de entrada en un array.	var arrDatos = Datos.split('::');	// Creamos nuevo objeto XMLHttpRequest.	var xhrPeticion = CreaXMLHttpRequest();    // Inicializamos la página a la que se le realizará la petición.	xhrPeticion.open('POST', 'includes/fnPublicas.asp', false);	// Indicamos al servidor que los datos se van ha enviar por POST.	xhrPeticion.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');	// Realizamos la petición al servidor con los parámetros de entrada.	var strReserva = 'Accion=1&' +				   	'nombre=' + escape(arrDatos[0]) + '&' +					'apellidos=' + escape(arrDatos[1]) + '&' +					'direccion=' + escape(arrDatos[2]) + '&' +					'ciudad=' + escape(arrDatos[3]) + '&' +					'movil=' + escape(arrDatos[4]) + '&' +					'telefono=' + escape(arrDatos[5]) + '&' +					'email=' + escape(arrDatos[6]) + '&' +					'emailfra=' + escape(arrDatos[7]) + '&' +										'zona=' + escape(arrDatos[8]) + '&' +					'dia=' + escape(arrDatos[9]) + '&' +					'mes=' + escape(arrDatos[10]) + '&' +					'anio=' + escape(arrDatos[11]) + '&' +					'periodo=' + escape(arrDatos[12]) + '&' +					'precio=' + escape(arrDatos[13]) + '&' +					'dni=' + escape(arrDatos[14]) + '&' +					'apellido2=' + escape(arrDatos[15]) + '&' +					'CP=' + escape(arrDatos[16]);	strReserva = strReserva.replace(/^\s*|\s*$/g,"");	xhrPeticion.send(strReserva);}/* ************************************************************************************************************function CreaXMLHttpRequest()Descripción:    Crea un núevo objeto tipo XMLHttpRequest y devulve como resultado de la función.Parametros:************************************************************************************************************** */function CreaXMLHttpRequest() {	// Definimos nueva variable para contener el objeto XMLHttpRequest.	var xhrNuevo = false;		// Creación de objeto XMLHttpRequest para navegadores que no sean IE.	if (window.XMLHttpRequest) 	{		xhrNuevo = new XMLHttpRequest();	}	// Creación de objeto para navegadores IE.	else if (window.ActiveXObject) 	{		try 		{			// Primero intentamos crear el nuevo objeto en su última versión si esta está soportada.			xhrNuevo = new ActiveXObject("Msxml2.XMLHTTP");		}		catch (xhrError2)		{			// La creación del objeto XMLHttpRequest en su última versión ha fallado.			try			{				// Intentamos crear el nuevo objeto en su versión para exploradores más antiguos.				xhrNuevo = new ActiveXObject("Microsoft.XMLHTTP");			}			catch (xhrError1) 			{				// No se ha podido crear el objeto, por lo que devolvemos false.				xhrNuevo = false;			}		}    }    	// Devolvemos el nuevo objeto creado.	return xhrNuevo;}/* ************************************************************************************************************function capturaEventosXHR(xhrOrigen, FuncionDestino)Descripción:    Recibe los eventos de servidor provocados por el objeto XMLHttpRequest.Parametros:    xhrOrigen:		Objeto XMLHttpRequest que genera los eventos a controlar por la función.    FuncionDestino:	Función a la que se pasará la respuesta generada por el objeto "xhrOrigen".************************************************************************************************************** */function capturaEventosXHR(xhrOrigen, FuncionDestino) {	// Devolvemos función encargada de atender los eventos del objeto XMLHttpRequest pasado por parámetro.	return function ()	{		// Comprobamos si el estado de carga de la página es "Completo" (4).		if (xhrOrigen.readyState == 4) 		{			// Comprobamos si la respuesta del servidor a sido correcta (200).			if (xhrOrigen.status == 200) 			{				// Pasamos la respuesta XML del objeto a la función encargada de gestionarlo pasada por parámetro.				FuncionDestino(xhrOrigen.responseText);				xhrOrigen = null;			}			else 			{				// Se ha producido un error al procesar la petición al servidor, por lo que lanzamos mensaje				// de error con la respuesta del objeto XMLHttpRequest.				alert("Error servidor HTTP "+xhrOrigen.status+": "+xhrOrigen.statusText);			}		}	}}function Finalizar(){}