
function enviar_ajax(boton) {

	var f = boton.form;

	//Comprobaciones a realizar en cada formulario (programadas)
	switch(f._titulo.value) {
		case '':

			break;

	}

	//Deshabilitar botón
	boton.disabled = true;
	var valor = boton.value;
	boton.value = 'Espere por favor...';

	//Envío
	new Ajax.Request('mail.php', {

		parameters: $('form1').serialize(true),

		onSuccess: function(transport){
			var response = transport.responseText;
			if(response == '') {
				alert('El formulario se ha enviado correctamente');
				f.reset();
			} else {
				alert('Ha habido un error al enviar el formulario, por favor inténtelo de nuevo');
			}

			boton.disabled = false;
			boton.value = valor;
		},

		onFailure: function(){
			alert('Ha habido un error al enviar el formulario, por favor inténtelo de nuevo');
			boton.disabled = false;
			boton.value = valor;
		}
	});

}

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


function BDScrearCalendario(h) {
	h.each(function(pair) {

		//Coger los ids
		id_campo = pair.key;
		id_boton_calendario = pair.value;

		//Crear el calendario
		Calendar.setup({
			inputField     : id_campo,     			// id del input
			ifFormat       : "%d/%m/%Y",      		// formato
			button         : id_boton_calendario,	// id de button
			singleClick    : true,					// False es dobleclick
			step           : 1,                		// Mostrar años en pasos de 1
			showOthers	   : true					// Mostrar las dias de semana fuera de mes
		});
	});
}


/**
* Formulario de reserva online
*/

function reserva_elegir_tipo() {
	switch($('reserva_tipo').value) {
		case '':
			$('linea_reserva_programa').hide();
			$('linea_reserva_fecha_entrada').show();
			$('linea_reserva_fecha_salida').show();
		break;
		case '1':
			$('linea_reserva_programa').hide();
			$('linea_reserva_fecha_entrada').show();
			$('linea_reserva_fecha_salida').show();
		break;
		case '2':
			$('reserva_programa').value = '';
			$('linea_reserva_programa').show();
		break;
	}

}

function reserva_elegir_programa() {
	value = $('reserva_programa').value;
	switch(value) {
		case '2n':
		case '3n':
		case '4n':
		case '6n':
		case '7n':
		case '14n':
		case 'esp1':
		case 'esp2':
			$('linea_reserva_fecha_entrada').show();
			$('linea_reserva_fecha_salida').hide();
		break;
		case 'esp3':
			$('linea_reserva_fecha_entrada').hide();
			$('linea_reserva_fecha_salida').hide();
		break;
	}
}


function reservar(){
	var reserva_tipo = $('reserva_tipo').value;
	var reserva_programa = $('reserva_programa').value;
	var reserva_habitacion = $('reserva_habitacion').value;
	var reserva_fecha_entrada = $('reserva_fecha_entrada').value;
	var reserva_fecha_salida = $('reserva_fecha_salida').value;

	v_reserva_fecha_entrada = reserva_fecha_entrada.split('/');
	v_reserva_fecha_salida = reserva_fecha_salida.split('/');

	if (reserva_fecha_entrada != '') {
		date_reserva_fecha_entrada = new Date(parseInt(v_reserva_fecha_entrada[2], 10), parseInt(v_reserva_fecha_entrada[1], 10) - 1, parseInt(v_reserva_fecha_entrada[0], 10));
	}
	if (v_reserva_fecha_salida != '') {
		date_v_reserva_fecha_salida = new Date(parseInt(v_reserva_fecha_salida[2], 10), parseInt(v_reserva_fecha_salida[1], 10) - 1, parseInt(v_reserva_fecha_salida[0], 10));
	}

	var entrada = reserva_fecha_entrada.split('/').reverse().join('');
	var salida = reserva_fecha_salida.split('/').reverse().join('');

	var url;

	if(reserva_tipo == '') {
		alert('Seleccione el tipo de reserva');
		return false;
	}

	// Habitación
	if(reserva_tipo == '1') {
		if(reserva_habitacion == '') {
			alert('Seleccione el tipo de habitación');
			return false;
		}
		if(reserva_fecha_entrada == '') {
			alert('Seleccione la fecha de entrada');
			return false;
		}
		if(reserva_fecha_salida == '') {
			alert('Seleccione la fecha de salida');
			return false;
		}
		if(salida <= entrada) {
			alert('La fecha de salida debe ser posterior a la de entrada');
			return false;
		}
		url = hotel[parseInt(reserva_habitacion)];
	}

	// Programa completo
	if(reserva_tipo == '2') {
		if(reserva_habitacion == '') {
			alert('Seleccione el tipo de habitación');
			return false;
		}

		// Packs que solo admiten habitación doble
		if(reserva_habitacion == '1') {
			if (reserva_programa == 'esp1' || reserva_programa == 'esp2' || reserva_programa == 'esp3') {
				alert('Este pack solamente admite habitación doble');
				return false;
			}
		}

		// Packs que requieren fecha de entrada
		if (reserva_programa != 'esp3') {
			if (reserva_fecha_entrada == '') {
				alert('Seleccione la fecha de entrada');
				return false;
			}
		}

		// Packs que requieren la fecha de salida
		if (false) {
			if (reserva_fecha_salida == '') {
				alert('Seleccione la fecha de salida');
				return false;
			}
			if(salida <= entrada) {
				alert('La fecha de salida debe ser posterior a la de entrada');
				return false;
			}
		}

		// Packs que deben entrar en viernes
		if (reserva_programa == 'esp1' || reserva_programa == 'esp2') {
			if(date_reserva_fecha_entrada.getDay() != 5) {
				alert('Este programa sólo permite entrada en viernes');
				return false;
			}
		}

		// Localiza la URL
		for(var i=0; i<programas.length; i++) {
			if(programas[i][0] == parseInt(reserva_habitacion)) {
				if(programas[i][1] == reserva_programa)	{
					url = programas[i][2];
				}
			}
		}

		// Calculo la fecha de salida
		duracion = 0;

		switch(reserva_programa) {
			case '2n':
				duracion = 2;
			break;
			case '3n':
				duracion = 3;
			break;
			case '4n':
				duracion = 4;
			break;
			case '6n':
				duracion = 6;
			break;
			case '7n':
				duracion = 7;
			break;
			case '14n':
				duracion = 14;
			break;
			case 'esp1':
				duracion = 2;
			break;
			case 'esp2':
				duracion = 2;
			break;
		}
		if(duracion > 0) {
			date_reserva_fecha_salida = new Date(parseInt(v_reserva_fecha_entrada[2], 10), parseInt(v_reserva_fecha_entrada[1], 10) - 1, parseInt(v_reserva_fecha_entrada[0], 10) + duracion);
			reserva_fecha_salida = date_reserva_fecha_salida.getDate() + '/' + (date_reserva_fecha_salida.getMonth() + 1) + '/' + date_reserva_fecha_salida.getFullYear();
		}
	}

	url = url.replace('fecha_entrada', reserva_fecha_entrada);
	url = url.replace('fecha_salida', reserva_fecha_salida);
	//alert(url);
	window.open(url);
	return false;
}

var hotel = new Array();
hotel[1] = 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=5&idLanguage=es-ES&idPT=20&idP=383,384,385';
hotel[2] = 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=5&idLanguage=es-ES&idPT=20&idP=380,381,382';


// Estructura:
//	nº de personas
//	programa
//	ruta
//	nº de días
//	día de entrada


var programas = new Array();
programas.push(new Array(1, '2n', 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=5&idLanguage=es-ES&idPT=5,6'));
programas.push(new Array(1, '3n', 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=5&idLanguage=es-ES&idPT=5,6'));
programas.push(new Array(1, '4n', 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=5&idLanguage=es-ES&idPT=5,6'));
programas.push(new Array(1, '6n', 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=5&idLanguage=es-ES&idPT=6'));
programas.push(new Array(1, '7n', 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=5&idLanguage=es-ES&idPT=5,6'));
programas.push(new Array(1, '14n', 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=5&idLanguage=es-ES&idPT=6'));
programas.push(new Array(1, 'esp1', ''));
programas.push(new Array(1, 'esp2', ''));
programas.push(new Array(1, 'esp3', ''));

programas.push(new Array(2, '2n', 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=5&idLanguage=es-ES&idPT=2,3'));
programas.push(new Array(2, '3n', 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=5&idLanguage=es-ES&idPT=2,3'));
programas.push(new Array(2, '4n', 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=5&idLanguage=es-ES&idPT=2,3'));
programas.push(new Array(2, '6n', 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=5&idLanguage=es-ES&idPT=3'));
programas.push(new Array(2, '7n', 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=5&idLanguage=es-ES&idPT=2,3'));
programas.push(new Array(2, '14n', 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=5&idLanguage=es-ES&idPT=3'));

programas.push(new Array(2, 'espA1', 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=3&idLanguage=es-ES&idPT=25', 2, 5));
programas.push(new Array(2, 'espA2', 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=3&idLanguage=es-ES&idPT=26', 2, 5));
programas.push(new Array(2, 'espA3', 'https://www.centrotel.es/relaistermal/online.asp?idEstablishmentSRT=3&idPT=27'));
programas.push(new Array(2, 'espA4', 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=3&idLanguage=es-ES&idPT=1&idp=802'));

programas.push(new Array(2, 'espC1', 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=4&idLanguage=es-ES&idPT=25', 2, 5));
programas.push(new Array(2, 'espC2', 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=4&idLanguage=es-ES&idPT=26', 2, 5));
programas.push(new Array(2, 'espC3', 'https://www.centrotel.es/relaistermal/online.asp?idEstablishmentSRT=4&idLanguage=es-ES&idPT=27'));
programas.push(new Array(2, 'espC4', 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=4&idLanguage=es-ES&idPT=1&idp=802'));

programas.push(new Array(2, 'espL1', 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_saLida&idEstablishmentSRT=5&idLanguage=es-ES&idPT=25', 2, 5));
programas.push(new Array(2, 'espL2', 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_saLida&idEstablishmentSRT=5&idLanguage=es-ES&idPT=26', 2, 5));
programas.push(new Array(2, 'espL3', 'https://www.centrotel.es/relaistermal/online.asp?idEstablishmentSRT=5&idPT=27'));
programas.push(new Array(2, 'espL4', 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=5&idLanguage=es-ES&idPT=1&idp=802'));


////////////////////
// Enlaces directos

var tratamientos = new Array();
tratamientos.push(new Array('romano_irlandes', 2, 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=5&idLanguage=es-ES&idPT=2,3,5,6&idP=129,130,135,136,2,3'));
tratamientos.push(new Array('dos_circuitos', 2, 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=5&idLanguage=es-ES&idPT=2,3,5,6&idP=139,140,145,137,2,3'));
tratamientos.push(new Array('antiestres', 3, 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=5&idLanguage=es-ES&idPT=2,3,5,6&idP=20,21,26,27,2,3'));
tratamientos.push(new Array('relais_color', 3, 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=5&idLanguage=es-ES&idPT=2,3,5,6&idP=117,116,111,110,2,3'));
tratamientos.push(new Array('pausa_termal', 4, 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=5&idLanguage=es-ES&idPT=2,3,5,6&idP=147,148,153,154,2,3'))
tratamientos.push(new Array('cura_termal', 6, 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=5&idLanguage=es-ES&idPT=3,6&idP=157,163,2,3'));
tratamientos.push(new Array('respiratorio_intensivo', 7, 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=5&idLanguage=es-ES&idPT=3,6&idP=164,172,2,3'));
tratamientos.push(new Array('respiratorio', 14, 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=5&idLanguage=es-ES&idPT=3,6&idP=175,181,2,3'));
tratamientos.push(new Array('reumatologico', 14, 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=5&idLanguage=es-ES&idPT=3,6&idP=184,190,2,3'));
tratamientos.push(new Array('color_relais_termal', 7, 'https://www.centrotel.es/RelaisTermal/search.asp?start=fecha_entrada&end=fecha_salida&idEstablishmentSRT=5&idLanguage=es-ES&idPT=2,3,5,6&idP=39,40,45,37,2,3'));



function reservar_tratamiento(tratamiento) {
	for(var i=0; i<tratamientos.length; i++) {
		if(tratamientos[i][0] == tratamiento) {
			var hoy = new Date();
			var date_fecha_entrada = new Date(hoy.getFullYear(), hoy.getMonth(), hoy.getDate() + 1);
			var fecha_entrada = date_fecha_entrada.getDate() + '/' + (date_fecha_entrada.getMonth() + 1) + '/' + date_fecha_entrada.getFullYear();
			var duracion = tratamientos[i][1];
			var date_fecha_salida = new Date(hoy.getFullYear(), hoy.getMonth(), hoy.getDate() + 1 + duracion);
			var fecha_salida = date_fecha_salida.getDate() + '/' + (date_fecha_salida.getMonth() + 1) + '/' + date_fecha_salida.getFullYear();
			var url = tratamientos[i][2].replace('fecha_entrada', fecha_entrada).replace('fecha_salida', fecha_salida);
			//alert(url);
			window.open(url);
			return;
		}
	}
	alert('Tratamiento no encontrado');
}


function reservar_programa(programa) {

	for(var i=0; i<programas.length; i++) {
		if((programas[i][0] == 2) && (programas[i][1] == programa)) {

			var hoy = new Date();

			// Día de entrada, si está establecido
			if(programas[i].length >= 5) {
				var dia_semana = programas[i][4];
				var dia_semana_hoy = hoy.getDay();
				var dia_entrada = (dia_semana_hoy < dia_semana) ? hoy.getDate() + (dia_semana - dia_semana_hoy) : hoy.getDate() + (dia_semana - dia_semana_hoy + 7);
				var date_fecha_entrada = new Date(hoy.getFullYear(), hoy.getMonth(), dia_entrada);
			} else {
				var date_fecha_entrada = new Date(hoy.getFullYear(), hoy.getMonth(), hoy.getDate() + 1);
			}
			var fecha_entrada = date_fecha_entrada.getDate() + '/' + (date_fecha_entrada.getMonth() + 1) + '/' + date_fecha_entrada.getFullYear();

			// Duración
			var duracion = 0;
			if(programas[i].length >= 4) {
				var duracion = programas[i][3];
			}

			// Cadena fecha de entrada

			// Fecha de salida
			var date_fecha_salida = new Date(date_fecha_entrada.getFullYear(), date_fecha_entrada.getMonth(), date_fecha_entrada.getDate() + duracion);
			var fecha_salida = date_fecha_salida.getDate() + '/' + (date_fecha_salida.getMonth() + 1) + '/' + date_fecha_salida.getFullYear();

			// URL
			var url = programas[i][2].replace('fecha_entrada', fecha_entrada).replace('fecha_salida', fecha_salida);
			window.open(url);
			return;
		}
	}
	alert('Programa no encontrado');
}










