/* Hotel Error Messages */
var errHBeforeToday = "Ihr Ankunftsdatum liegt in der Vergangenheit. Bitte überprüfen Sie Ihre Eingabe.";
/* Parking Error Messages */
var errPReturnBeforeArrive = "Das von Ihnen ausgewählte Rückkehrdatum liegt vor Ihrem ausgewählten Anreisedatum. Bitte überprüfen Sie Ihre Eingabe! ";

var errPBeforeToday = "Das von Ihnen ausgewählte Datum liegt in der Vergangenheit. Bitte überprüfen Sie Ihre Eingabe!";
var errPMaxDays = "Buchungen bis 99 Tage können Sie online selbst vornehmen. Bei Buchungen ab 100 Tagen kontaktieren Sie uns bitte unter +49 (0)1805 / 997 990 997 (14 Cent / Minute aus dem deutschen Festnetz, ggf. abweichende Tarife aus dem Mobilfunknetz) oder info@airparks.de";

var maxDays = 99;
var minDays = 1;

function validateMUCParking()	{
	var frm = document.advanced;
	var errMsg = new Array();
	var today = new Date();
	var today_date = today.getDate();
	var today_month = today.getMonth();
	var today_year = today.getFullYear();
	var arr_date = frm.day.options[frm.day.selectedIndex].value;
	var arr_month = frm.my.options[frm.my.selectedIndex].value.substr(0,3);
	var arr_year = frm.my.options[frm.my.selectedIndex].value.substr(3,4);
	arr_month = monthToNum(arr_month);
	var ret_date = frm.r_day.options[frm.r_day.selectedIndex].value;
	var ret_month = frm.r_my.options[frm.r_my.selectedIndex].value.substr(0,3);
	var ret_year = frm.r_my.options[frm.r_my.selectedIndex].value.substr(3,4);
	ret_month = monthToNum(ret_month);
	var today_num = dateToNum(today_date,today_month,today_year);
	var arr_num = dateToNum(arr_date,arr_month,arr_year);
	var ret_num = dateToNum(ret_date,ret_month,ret_year);
	if (ret_num < arr_num)	{
		errMsg[errMsg.length] = errPReturnBeforeArrive;
	}
	if (arr_num < today_num)	{
		errMsg[errMsg.length] = errPBeforeToday;
	}
	
	var overMaxDays = maxDays + 1;
	
	if (!isWithinMaxDays(arr_num,ret_num,maxDays))	{
	
		errMsg[errMsg.length] = errPMaxDays;
	}
	
	
	if (errMsg.length != 0)	{
		var message = "";
		for (x=0;x<errMsg.length;x++)	{
			if (x>0)	{
				message += "\n";
			}
			message += errMsg[x];
		}
		alert(message);
		return false;
	}
	else	{
		saveFormInfo("parking");
		return true;
	}
}

function isWithinMaxDays(arrDate,retDate,maxDays)	{
	arrDate = arrDate.toString();
	retDate = retDate.toString();
	arrDate = new Date(arrDate.substr(0,4),arrDate.substr(4,2),arrDate.substr(6,2));
	retDate = new Date(retDate.substr(0,4),retDate.substr(4,2),retDate.substr(6,2));
	var dayDiff = (retDate.getTime() - arrDate.getTime()) / 86400000;
	return (dayDiff <= maxDays)?true:false;
}


function dateToNum(day,month,year)	{
	day = day.toString(10);
	month = month.toString(10);
	year = year.toString(10);
	if (day.length < 2)	{
		day = "0" + day;
	}
	if (month.length < 2)	{
		month = "0" + month;
	}
	if (year.length == 2)	{
		year = "20" + year;
	}
	var rDate = year+month+day;
	return parseInt(rDate,10);
}

function monthToNum(mName)	{
	mName = mName.substr(0,3).toUpperCase();
	var months = new Array("JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP","OCT","NOV","DEC");
	for (i=0;i<months.length;i++)	{
		if (mName == months[i])	{
			return i.toString();
		}
	}
}

function saveFormInfo(frmToSave)	{
	var startSel = 0;
	var endSel = 0;
	if (frmToSave == "parking")	{
		var frm = document.advanced;
	}
	else	{
		return false;
	}
	var selectsToSave = frm.getElementsByTagName("select");
	var cookieString = "";
	for (s=startSel;s<(selectsToSave.length-endSel);s++)	{
		if (s!=0)	{
			cookieString += "|";
		}
		cookieString += selectsToSave[s].selectedIndex;
	}
	createCookie(frmToSave,cookieString,30);
}

function retrieveFormInfo(frmToPopulate)	{
	if (frmToPopulate == "parking")	{
		var frm = document.advanced;
	}
	else if (frmToPopulate == "hotels")	{
		var frm = document.hotel_search;
	}
	var cookieString = readCookie(frmToPopulate);
	if (cookieString != null)	{
		var selectIndexs = cookieString.split("|");
		var selectsToPopulate = frm.getElementsByTagName("select");
		for (s=0;s<selectsToPopulate.length;s++)	{
			selectsToPopulate[s].options[selectIndexs[s]].selected = true;
		}
	}
}

function createCookie(name,value,days)	{
	if (days)	{
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "";
		expires="; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name)	{
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for (var i=0;i < ca.length;i++)	{
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function eraseCookie(name)	{
	createCookie(name,"",-1);
}

function populateAllForms()	{
	if (document.advanced)	{
		retrieveFormInfo("parking");
		writeinfo("");
	}
	if (document.hotel_search)	{
		retrieveFormInfo("hotels");
	}
}
