// *******************************************************************************************
//	FORMCHECK (location reaction)
// *******************************************************************************************

function FormLocationReactionNL() {
	// FORM
	var f = document.formlocation;	

	// MESSAGE
	var header = 'The following fields haven\'t been filled in properly:\n\n';

	// CHECK FIELDS
	var message = '';
	message += CheckField(f.naam,		'Name');
	message += CheckEmail(f.email,		'', 'EN');
	message += CheckField(f.opmerkingen,'Comments');

  	if (message != "") {
		alert(header+''+message);
		return false
	}
}

function FormStep3EN() {
	// FORM
	var f = document.step3;	

	// MESSAGE
	var header = 'The following fields haven\'t been filled in properly:\n\n';

	// CHECK FIELDS
	var message = '';
	message += CheckField(f.voornaam,	'First name or initials');
	message += CheckField(f.achternaam,	'Lastname');
	message += CheckField(document.getElementById('dag'), 'Birthday');
	message += CheckField(document.getElementById('maand'), 'Birthmonth');
	message += CheckField(document.getElementById('jaar'), 'Birthyear');
	message += CheckField(f.adres,	'Address');
	message += CheckField(f.huisnummer,	'House number');
	message += CheckField(f.postcode,'Zipcode');
	message += CheckField(f.plaats,	'City');
	message += CheckEmail(f.emailadres,	f.emailadres.value, 'EN');
	message += CheckField(f.telefoon, 'Phone number');

   
  	if (message != "") {
		alert(header+''+message);
		return false
		
	}
}

function FormLoginEN() {
	// FORM
	var f = document.step3_login;	

	// MESSAGE
	var header = 'The following fields haven\'t been filled in properly:\n\n';

	// CHECK FIELDS
	var message = '';
	message += CheckField(f.gebruikersnaam, 'Username');
	message += CheckField(f.wachtwoord,	'Password');
   
  	if (message != "") {
		alert(header+''+message);
		return false
		
	}
}

function CheckShortleaseForm() {
	// FORM
	var f = document.shortlease_form;	

	// MESSAGE
	var header = 'The following fields haven\'t been filled in properly:\n\n';

	// CHECK FIELDS
	var message = '';
	message += CheckField(f.Voorkeur_vestiging,	'The prefered MultiRent office');
	message += CheckField(f.Contactpersoon,	'Name');
	message += CheckField(f.Adres,	'Address');
	message += CheckField(f.Huisnummer,	'House number');
	message += CheckField(f.Plaats,	'City');
	message += CheckField(f.Telefoon,'Phone number');
	message += CheckEmail(f.Email,	'Email', 'EN');
	message += CheckField(f.Gewenste_ingangsdatum,'Begin date');
	message += CheckField(f.Aantal_dagen,'Number of days');
	message += CheckField(f.Aantal_kilometers,	'Number of kilometers');
   
  	if (message != "") {
		alert(header+''+message);
		return false
		
	}
}


function CheckBijzondereSituaties() {
	
	//alert('jp');
	// FORM
	var f = document.bijzonder_situaties;	

	// MESSAGE
	var header = 'De volgende velden zijn niet correct ingevuld:\n\n';

	// CHECK FIELDS
	var message = '';
	message += CheckField(f.Contactpersoon,	'Name');
	message += CheckField(f.Adres,	'Address');
	message += CheckField(f.Huisnummer,	'House number');
	message += CheckField(f.Postcode,	'Zipcode');
	message += CheckField(f.Plaats,	'City');
	message += CheckEmail(f.email,	f.email.value, 'EN');
   
  	if (message != "") {
		alert(header+''+message);
		return false
		
	}
}

//make the return date 1 day plus the given pickup date
function ChangeReturnDate()
{
	//alert('ChangeReturnDate()');
	var add_days  = 1;
	//set nr of days to ms
	var ms_to_add = 1000 * 60 * 60 * 24 * add_days;

	//create a date object for the selected pickup_date
	var pickup_date = new Date();
	pickup_date.setFullYear(document.forms['step1'].pickup_date_year.value, document.forms['step1'].pickup_date_month.value - 1, document.forms['step1'].pickup_date_day.value);
	var return_date = new Date();
	
	var pickup_ms = pickup_date.getTime();
	
	var return_ms = pickup_ms + ms_to_add;
	return_date.setTime(return_ms);
	
	document.forms['step1'].return_date_day.value   = return_date.getDate();
	document.forms['step1'].return_date_month.value = return_date.getMonth() + 1;
	document.forms['step1'].return_date_year.value  = return_date.getFullYear();
	
}

function IsReturnLaterThenPickupDate()
{
	//alert('IsReturnLaterThenPickupDate()');
	var pickup_date = new Date();
	pickup_date.setFullYear(document.forms['step1'].pickup_date_year.value, document.forms['step1'].pickup_date_month.value - 1, document.forms['step1'].pickup_date_day.value);
	var return_date = new Date();
	return_date.setFullYear(document.forms['step1'].return_date_year.value, document.forms['step1'].return_date_month.value - 1, document.forms['step1'].return_date_day.value);
	
	if(return_date.getTime() >= pickup_date.getTime())
	{
		HideElement('feedback_return_smaller_pickup');
		return true;
	}
	else
	{
		ShowElement('feedback_return_smaller_pickup');
		return false;
	}	
}

function ReturnHoliday(day, month, year)
{
	//alert('ReturnHoliday(' + day + ',' + month + ',' + year + ')');
	var holidays = new Array();
	
	holidays['2010-1-1'] = "Newyears Day";         //Nieuwjaarsdag 2010  vrijdag 1 januari 2010    
	holidays['2010-4-4'] = "First Easter";         //1e paasdag 2010     zondag 4 april 2010       
	holidays['2010-4-5'] = "Second Easter";        //2e paasdag 2010     maandag 5 april 2010      
	holidays['2010-4-30'] = "Queensday";            //Koninginnedag 2010  vrijdag 30 april 2010     
	holidays['2010-5-5'] = "Liberation Day";       //Bevrijdingsdag 2010 woensdag 5 mei 2010       
	holidays['2010-5-13'] = "Ascension Day";        //Hemelvaartsdag 2010 donderdag 13 mei 2010     
	holidays['2010-5-23'] = "First Whitsuntide";    //1e pinksterdag 2010 zondag 23 mei 2010        
	holidays['2010-5-24'] = "Second Whitsuntide";   //2e pinksterdag 2010 maandag 24 mei 2010       
	holidays['2010-12-25'] = "First Christmas Day";  //1e kerstdag 2010    zaterdag 25 december 2010 
	holidays['2010-12-26'] = "Second Christmas Day"; //2e kerstdag 2010    zondag 26 december 2010   
	
	return holidays[year + '-' + month + '-' + day];
}

function CheckForDatesInPast()
{
	//alert('CheckForDatesInPast()');
	var return_value = true;
	var todays_date = new Date();
	var pickup_date = new Date();
	pickup_date.setFullYear(document.forms['step1'].pickup_date_year.value, document.forms['step1'].pickup_date_month.value - 1, document.forms['step1'].pickup_date_day.value);

	var return_date = new Date();
	return_date.setFullYear(document.forms['step1'].return_date_year.value, document.forms['step1'].return_date_month.value - 1, document.forms['step1'].return_date_day.value);

	var monthLength = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	
	var pickup_holiday = ReturnHoliday(document.forms['step1'].pickup_date_day.value, document.forms['step1'].pickup_date_month.value, document.forms['step1'].pickup_date_year.value);

	var return_holiday = ReturnHoliday(document.forms['step1'].return_date_day.value, document.forms['step1'].return_date_month.value, document.forms['step1'].return_date_year.value);
	
	if(pickup_holiday != undefined)
	{
		document.getElementById('pickup_holiday').innerHTML = pickup_holiday;
		ShowElement('feedback_pickup_holiday');
		return_value = false;
	}	
	else
	{
		HideElement('feedback_pickup_holiday');
	}
	
	if(return_holiday != undefined)
	{
		document.getElementById('return_holiday').innerHTML = return_holiday;
		ShowElement('feedback_return_holiday');
		return_value = false;
	}
	else
		HideElement('feedback_return_holiday');

/*	
	if(return_value == false)
		return false;
*/	

	//check for leapyears (divisble by 4)
	if(document.forms['step1'].pickup_date_year.value / 4 == parseInt(document.forms['step1'].pickup_date_year.value / 4))
		monthLength[1] = 29;
	else
		monthLength[1] = 28;
	
	if(document.forms['step1'].pickup_date_day.value > monthLength[document.forms['step1'].pickup_date_month.value - 1])
	{
		ShowElement('feedback_invalid_pickup_date');
		return_value = false;
	}
	else
		HideElement('feedback_invalid_pickup_date');
	
	if(document.forms['step1'].return_date_year.value / 4 == parseInt(document.forms['step1'].return_date_year.value / 4))
		monthLength[1] = 29;
	else
		monthLength[1] = 28;
	
	if(document.forms['step1'].return_date_day.value > monthLength[document.forms['step1'].return_date_month.value - 1])
	{
		ShowElement('feedback_invalid_return_date');
		return_value = false;
	}
	else
		HideElement('feedback_invalid_return_date');
		
	//alert('pickup :\t' + pickup_date.getTime() + '\nreturn :\t' + return_date.getTime() + '\nnow :\t' + todays_date.getTime());
	//check if the pickup date or return date are smaller (earlier) than today, if so return error
	if(pickup_date.getTime() < todays_date.getTime() || return_date.getTime() < todays_date.getTime())
	{
		ShowElement('feedback_dates_in_past');
		return_value = false;
	}
	else
	{
		HideElement('feedback_dates_in_past');
		
	}
	
	return return_value;
}


