function SyncMonth() {
	var Form = document.forms[0];
	
	Form.mesFim.selectedIndex = Form.mesInicio.selectedIndex;
}

function SyncDay() {
	var Form = document.forms[0];
	
	Form.diaFim.selectedIndex = Form.diaInicio.selectedIndex;
}

function SyncYear() {
	var Form = document.forms[0];
	Form.anoFim.selectedIndex = Form.anoInicio.selectedIndex;
}

function DoValidation() {
	if(!(ValidateMail() && ValidatePhone() && ValidateDates())){
		 alert("Reserva com erros, por favor preencha todos os campos do formulário.");
		 return false;
	}
	return true;
}

function ValidateMail() {
	var input = document.forms[0].mail;
	var emailFilter=/^.+@.+\..{2,3}$/;
	
	if(!(emailFilter.test(input.value))) {
		if(input.value != "")
	   		input.className = "errorInput";
	   return false;
	}
	else {
		input.className = "normalInput";
		return true;
	}
}

function ValidatePhone() {
	var input = document.forms[0].contacto;
	filterValue(input, "0123456789");
	var phoneFilter=/^[1-9][0-9]{8,8}$/;
	
	if(!(phoneFilter.test(input.value))) {
		if(input.value != "")
	   		input.className = "errorInput";
	   return false;
	}
	else {
		input.className = "normalInput";
		return true;
	}
	return true;
}

function ValidateDates(){
	var form = document.forms[0];
	var valid = false;
	
	if(form.anoFim.selectedIndex > form.anoInicio.selectedIndex)
		valid = true;
	if(form.anoFim.selectedIndex < form.anoInicio.selectedIndex)
		valid = false;
	if(form.anoFim.selectedIndex == form.anoInicio.selectedIndex){
		if(form.mesFim.selectedIndex > form.mesInicio.selectedIndex)
			valid = true;
		if(form.mesFim.selectedIndex < form.mesInicio.selectedIndex)
			valid = false;
		if(form.mesFim.selectedIndex == form.mesInicio.selectedIndex) {
			if(form.diaFim.selectedIndex >= form.diaInicio.selectedIndex)
				valid = true;
			else
				valid = false;
		}
	}
	if(valid) {
		form.diaFim.className = "normalInput";
		form.mesFim.className = "normalInput";
		form.anoFim.className = "normalInput";
		form.diaInicio.className = "normalInput";
		form.mesInicio.className = "normalInput";
		form.anoInicio.className = "normalInput";
		return true;
	}
	else {
		form.diaFim.className = "errorInput";
		form.mesFim.className = "errorInput";
		form.anoFim.className = "errorInput";
		form.diaInicio.className = "errorInput";
		form.mesInicio.className = "errorInput";
		form.anoInicio.className = "errorInput";
		return false;
	}
}

function filterValue(input, validChars){	
	var i;
	var stripedString = "";
	var c;
	var s = input.value;
	
	for(i = 0; i < s.length; i++) {
		c = s.charAt(i);
		if(validChars.indexOf(c) != -1)
			stripedString += c;
		}
	
	input.value = stripedString;
}
