function missatges(numMis, idioma){
	//Idioma 1-cat, 2-cast, 3-Ing
	missatge = new Array();
	
	//missatge[NUM][IDIOMA]
	missatge[0] = new Array("Cal que ompli el nom", "Debe rellenar el nombre", "Must fill the first name field");
	missatge[1] = new Array("Cal que ompli el cognom", "Debe rellenar el apellido", "Must fill the last name field");
	missatge[2] = new Array("Cal que ompli l'adreça", "Debe rellenar la dirección", "Must fill the address field");
	missatge[3] = new Array("Cal que ompli el codi postal", "Debe rellenar el código postal", "Must fill the postal code field");
	missatge[4] = new Array("Cal que ompli la població", "Debe rellenar la población", "Must fill the city field");
	missatge[5] = new Array("Cal que ompli el pais", "Debe rellenar el país", "Must fill the state/country field");
	missatge[6] = new Array("Cal que ompli el telèfon", "Debe rellenar el teléfono", "Must fill the phone field");
	missatge[7] = new Array("Cal que ompli el fax", "Debe rellenar el fax", "Must fill the fax field");
	missatge[8] = new Array("Cal que ompli l'email", "Debe rellenar el email", "Must fill the e-mail address field");
	missatge[9] = new Array("Email incorrecte", "Email incorrecto", "E-mail address incorrect");
	missatge[10]= new Array("Cal que ompli la data d'arribada", "Debe rellenar la fecha de llegada", "Must fill the check in date field");
	missatge[11]= new Array("La data d'arribada és incorrecta", "La fecha de llegada es incorrecta", "The check in date is incorrect");
	missatge[12]= new Array("Cal que ompli la data de sortida", "Debe rellenar la fecha de salida", "Must fill the check out date field");
	missatge[13]= new Array("La data de sortida és incorrecta", "La fecha de salida es incorrecta", "The check out date is incorrect");
	missatge[14]= new Array("Cal que ompli el número d'habitacions", "Debe rellenar el número de habitaciones", "Must fill the number of rooms field");
	missatge[15]= new Array("El número d'habitacions és incorrecte", "El número de habitaciones es incorrecto", "The number of rooms is incorrect");
	missatge[16]= new Array("Cal que ompli el número d'adults", "Debe rellenar el numero de adultos", "Must fill the number of adults field");
	missatge[17]= new Array("El número d'adults és incorrecte", "El numero de adultos es incorrecto", "The number of adults is incorrect");
	missatge[18]= new Array("Cal que ompli el número de nens", "Debe rellenar el numero de niños", "Must fill the number of children field");
	missatge[19]= new Array("El número de nens és incorrecte", "El numero de niños es incorrecto", "The number of children is incorrect");
	
	return missatge[numMis][idioma];
}

function comprovarReserves(idioma){
	//Idioma 1-cat, 2-cast, 3-Ing
	
	if(Trim(document.freservas.Nom.value) == ""){
		alert(missatges(0, idioma));
		document.freservas.Nom.focus();
		return false;
	}
	if(Trim(document.freservas.Cognoms.value) == ""){
		alert(missatges(1, idioma));
		document.freservas.Cognoms.focus();
		return false;
	}
	if(Trim(document.freservas.Direccion.value) == ""){
		alert(missatges(2, idioma));
		document.freservas.Direccion.focus()
		return false;
	}
	if(Trim(document.freservas.CodiPostal.value) == ""){
		alert(missatges(3, idioma));
		document.freservas.CodiPostal.focus();
		return false;
	}
	if(Trim(document.freservas.Poblacio.value) == ""){
		alert(missatges(4, idioma));
		document.freservas.Poblacio.focus();
		return false;
	}
	if(Trim(document.freservas.Pais.value) == ""){
		alert(missatges(5, idioma));
		document.freservas.Pais.focus();
		return false;
	}
	if(Trim(document.freservas.Telefon.value) == ""){
		alert(missatges(6, idioma));
		document.freservas.Telefon.focus();
		return false;
	}
	if(Trim(document.freservas.Fax.value) == ""){
		alert(missatges(7, idioma));
		document.freservas.Fax.focus();
		return false;
	}
	if(Trim(document.freservas.Email.value) == ""){
		alert(missatges(8, idioma));
		document.freservas.Email.focus();
		return false;
	}
	//---Buscar la "@" i el "." al email---
	else{
		var trobatArroba = false;
		var trobatPunt = false;
		var i = 0;
		
		while (i<document.freservas.Email.value.length){
			if(document.freservas.Email.value.charAt(i)=="@") trobatArroba = true;
			if(document.freservas.Email.value.charAt(i)==".") trobatPunt = true;
			i++;
		}
		if(!trobatArroba || !trobatPunt){
			alert(missatges(9, idioma));
			document.freservas.Email.focus();
			return false;
		}
	}
	if((Trim(document.freservas.Dia1.value) == "") || (Trim(document.freservas.Mes1.value) == "") || (Trim(document.freservas.Any1.value) == "")){
		alert(missatges(10, idioma));
		document.freservas.Dia1.focus();
		return false;
	}
	//---Comprova que la data d'arribada és correcte, igual o superior al dia actual---
	else{
		var dataActual = new Date();
		var dataArribada = new Date(parseInt(Trim(document.freservas.Any1.value)),parseInt(Trim(document.freservas.Mes1.value)-1),parseInt(Trim(document.freservas.Dia1.value)),23,59,59);
		
		if (!isDateCorrect(Trim(document.freservas.Any1.value), Trim(document.freservas.Mes1.value), Trim(document.freservas.Dia1.value))){
			alert(missatges(11, idioma));
			document.freservas.Dia1.focus();
			return false;
		}
		
		//La data d'arribada té de ser superior a la data actual
		if (dataArribada.getTime() < dataActual.getTime()){
			//--- Es fa servir el codi de missatge 11 com l'anterior ---
			alert(missatges(11, idioma));
			document.freservas.Dia1.focus();
			return false;
		}
	}
	if((Trim(document.freservas.Dia2.value) == "") || (Trim(document.freservas.Mes2.value) == "") || (Trim(document.freservas.Any2.value) == "")){
		alert(missatges(12, idioma));
		document.freservas.Dia2.focus();
		return false;
	}
	//---Comprova que la data de sortida és correcte, dataArribada < dataSortida---
	else{
		var dataSortida = new Date(parseInt(Trim(document.freservas.Any2.value)),parseInt(Trim(document.freservas.Mes2.value)-1),parseInt(Trim(document.freservas.Dia2.value)),23,59,59);
		
		if (!isDateCorrect(Trim(document.freservas.Any2.value), Trim(document.freservas.Mes2.value), Trim(document.freservas.Dia2.value))){
			alert(missatges(13, idioma));
			document.freservas.Dia2.focus();
			return false;
		}
		//--- La data de sortida té de ser superior a la data d'entrada
		if(dataArribada.getTime() >= dataSortida.getTime()){
			//--- Es fa servir el codi de missatge 13 com l'anterior ---
			alert(missatges(13, idioma));
			document.freservas.Dia2.focus();
			return false;
		}
	}
	if(Trim(document.freservas.Habitacions.value) == ""){
		alert(missatges(14, idioma));
		document.freservas.Habitacions.focus();
		return false;
	}
	//--- Comprovar que han entrar un número ---
	else{
		if(!isInteger(document.freservas.Habitacions.value)){
			alert(missatges(15, idioma));
			document.freservas.Habitacions.focus();
			return false;
		}
	}
	if(Trim(document.freservas.Adults.value) == ""){
		alert(missatges(16, idioma));
		document.freservas.Adults.focus();
		return false;
	}
	//--- Comprovar que han entrar un número ---
	else{
		if(!isInteger(document.freservas.Adults.value)){
			alert(missatges(17, idioma));
			document.freservas.Adults.focus();
			return false;
		}
	}
	if(Trim(document.freservas.Nens.value) == ""){
		alert(missatges(18, idioma));
		document.freservas.Nens.focus();
		return false;
	}
	//--- Comprovar que han entrar un número ---
	else{
		if(!isInteger(document.freservas.Nens.value)){
			alert(missatges(19, idioma));
			document.freservas.Nens.focus();
			return false;
		}
	}
	
	document.freservas.submit();
}

//--- Funcions auxiliars ---
function isDateCorrect(a, m, d){
		var dia = parseInt(d);
		var mes = parseInt(m-1); //Els mesos van de 0 (Gener) a 11 (Desembre).
		var any = parseInt(a);
		var dates = new Date(any, mes, dia);
		var retorn = true;
		
		if((dates.getFullYear() != any) || (dates.getMonth() != mes) || (dates.getDate() != dia)){
			retorn = false;
		}
		
		return retorn;
}

function isInteger(s) {
	return (s.toString().search(/^-?[0-9]+$/) == 0);
}