var locCodeHolder = "";
var locDescHolder = "";

function setLocationCode(code){
	locCodeHolder.value = code;
}
function setLocationDesc(name){
	locDescHolder.value = name;
}

function openAeropuertos(elementcode, elementname){
	locCodeHolder = elementcode;
	locDescHolder = elementname;
	window.open('/home/aeropuertos/aeropuertos.html','Aeropuertos', 'resizable=yes,toolbars=no,scrollbars=yes,screenX=0,screenY=0,width=640,height=600');
}

function checkSearchForm() {
	if (document.mainSearchForm.departureCityDesc.value == "") {
		alert("Introduzca un origen");
		return false;
	}

	if (document.mainSearchForm.arrivalCityDesc.value == "") {
		alert("Introduzca un destino");
		return false;
	}

	if (!parseDate(document.mainSearchForm.depDate.value)) {
		alert("El formato de la fecha de salida es incorrecto.");
		return false;
	}

	if (document.mainSearchForm.tripType[0].checked==true) {
		if (!parseDate(document.mainSearchForm.retDate.value)) {
			alert("El formato de la fecha de salida es incorrecto.");
			return false;
		}

		arrayDep = document.mainSearchForm.depDate.value.split('/');
		arrayRet = document.mainSearchForm.retDate.value.split('/');

		if (arrayDep[1].length == 1) {
			arrayDep[1] = "0" + arrayDep[1];
		}
		if (arrayDep[0].length == 1) {
			arrayDep[0] = "0" + arrayDep[0];
		}
		if (arrayRet[1].length == 1) {
			arrayRet[1] = "0" + arrayRet[1];
		}
		if (arrayRet[0].length == 1) {
			arrayRet[0] = "0" + arrayRet[0];
		}
		dDep = arrayDep[2] + arrayDep[1] + arrayDep[0];
		dRet = arrayRet[2] + arrayRet[1] + arrayRet[0];

		if ((Number(dDep))>(Number(dRet))) {
			alert("La fecha de retorno de ser posterior a la fecha de salida");
			return false;
		}
	}

	var nadults = parseInt(document.mainSearchForm.adults.value,"10");
	var nchilds = parseInt(document.mainSearchForm.childs.value,"10");
	var nbabies = parseInt(document.mainSearchForm.infants.value,"10");

	ntotpax = nadults + nchilds + nbabies;
	ntotadults = nadults;
	ntotchilds = nchilds + nbabies;

	if (ntotpax > 9) {
		alert("El número máximo de pasajeros es de 9.");
		return false;
	}

	if (ntotpax < 1) {
		alert("No ha seleccionado ningún pasajero");
		return false;
	}

	if ((ntotchilds > 0) && (ntotadults == 0)) {
		alert("Los niños no pueden viajar solos.");
		return false;
	}

	if (ntotchilds > (ntotadults*2)) {
		alert("Máximo dos niños por adulto.");
		return false;
	}

	if (nchilds > (ntotadults*2)) {
		alert("Máximo dos niños por adulto.");
		return false;
	}

	if (nbabies > ntotadults) {
		alert("Máximo 1 bebé por adulto.");
		return false;
	}

	return true;
}

function parseDate(dateString) {
	if (dateString.length != 10) {
		return false;
	}

	if ((dateString.charAt(2) !='/') || (dateString.charAt(5) != '/'))  {
		return false;
	}

	var diafecha, mesfecha, anyofecha;
	var d = new Date();
	var diasmes = [0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];

	diafecha = dateString.substring(0, 2);
	mesfecha = dateString.substring(3, 5);
	anyofecha = dateString.substring(6);

	if (isNaN(diafecha) || isNaN(mesfecha) || isNaN(anyofecha)) {
		return false;
	}

	if (anyofecha < d.getYear()) {
		return false;
	}

	if ((mesfecha < 1) || (mesfecha > 12)) {
		return false;
	}

	if ((diafecha < 1) || (diafecha > diasmes[mesfecha])) {
		return false;
	}
	return true
}
