// This file handles the form validation

var monthLength = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

var errorMessage = '';

var now = new Date();
now = now.getTime(); //NN3

var varFrom = 0;
var varTo = 0;

// This function checks
// if the day is valid for the month
// if the date occurs in the paset
// and sets the variables to compare both dates against each other

function checkDate(day,month,year,field,name) {

	if (year/4 == parseInt(year/4)) {
		monthLength[1] = 29;
		}

	if (day > monthLength[month-1]) {
		  errorMessage += "ERROR! Your " + name + " date is invalid \n";
		  document.getElementById("calendar").className='calerror';
		  return false; 
		}

	monthLength[1] = 28;

	var dateToCheck = new Date();
	dateToCheck.setYear(year);
	dateToCheck.setMonth(month-1);
	dateToCheck.setDate(day);
	var checkDate = dateToCheck.getTime();
	
	if (now > checkDate) {
	  errorMessage += "ERROR! Your " + name + " date occurs in the past \n";
	    document.getElementById("calendar").className='calerror';
	return false;
	} else {
	 if (field == 'from') {
	   varFrom = checkDate;
	} else if (field == 'to') {
	   varTo = checkDate;
	   }	
	return true;
	}
}

// this is the function evoked when the form is submitted

function validateForm() {

var status = true; 

var name = document.getElementById("name").value;
var email = document.getElementById("email").value;

if ( (name == '') && (email == '') ) {
  errorMessage += "Please enter your name and email address \n";
  document.getElementById("yourname").className='descerror';
  document.getElementById("youremail").className='descerror';
  status = false;
} else if (name == '') {
  errorMessage += "Please enter your name \n";
  document.getElementById("yourname").className='descerror';
  status = false;
} else if   (email == '') {
  errorMessage += "Please enter your email address \n";
  document.getElementById("youremail").className='descerror';
  status = false;
} 

// We get all the data together for the date check 
var dayfrom = parseInt(document.getElementById("dayfrom").value);
var monthfrom = parseInt(document.getElementById("monthfrom").value);
var yearfrom = parseInt(document.getElementById("yearfrom").value);
var dayto = parseInt(document.getElementById("dayto").value);
var monthto = parseInt(document.getElementById("monthto").value);
var yearto = parseInt(document.getElementById("yearto").value);

var dateFromCheck = checkDate(dayfrom,monthfrom,yearfrom,'from','pick up');
if (dateFromCheck == false) {
  status = false; 
}

var dateToCheck = checkDate(dayto,monthto,yearto,'to','return');
if (dateToCheck == false) {
  status = false; 
}

if ( (dateFromCheck == true) && (dateToCheck == true) && (varFrom > varTo ) ) {
  errorMessage += "ERROR! Your return is earlier than your pick up date \n";
  document.getElementById("calendar").className='calerror';
  status = false; 
}


if (status == false) {
alert (errorMessage);
}

errorMessage = '';

return status; 

}
