function SetDate()
{		
	try
	{
		var curDateTime = new Date();
		var curDateTimePlud1 = new Date();
		//alert(curDateTimePlud1);
		//curDateTimePlud1 = DateAdd(curDateTime, 1, 0, 0);
		
		var curDay = parseInt(curDateTimePlud1.getDate());
		var curMonth = parseInt(curDateTimePlud1.getMonth()+1);
		var curYear = parseInt(curDateTimePlud1.getFullYear());								
		
		arrivDay = document.getElementById("ArriveDay");
		arrivDay.selectedIndex = curDay-1;				
		arrivMonth = document.getElementById("ArriveMonth");
		arrivMonth.selectedIndex = curMonth-1;				
		ArrivYear = document.getElementById("ArriveYear");
		ArrivYear.selectedIndex = curYear -2004;
		
		DepDate = new Date();
		DepDate = DateAdd(curDateTime, 1, 0, 0);
		depaDate = parseInt(DepDate.getDate());
		depaMonth = parseInt(DepDate.getMonth()+1);
		depaYear = parseInt(DepDate.getYear());					
		
		deDay = document.getElementById("DepDay");
		deDay.selectedIndex = depaDate-1;
		deMonth = document.getElementById("DepMonth");
		deMonth.selectedIndex = depaMonth-1;
		deYear = document.getElementById("DepYear");
		deYear.selectedIndex = depaYear -2004;
	}
	catch(e)
	{}				
}
function SetDateViewState(aDay,aMonth,aYear,dDay,dMonth,dYear, nDay)
{
	try
	{
		var arrivDay = document.getElementById("ArriveDay");
		arrivDay.selectedIndex = aDay-1;				
		var arrivMonth = document.getElementById("ArriveMonth");
		arrivMonth.selectedIndex = aMonth-1;				
		var ArrivYear = document.getElementById("ArriveYear");
		ArrivYear.selectedIndex = aYear-2004;
		
		var deDay = document.getElementById("DepDay");
		deDay.selectedIndex = dDay-1;
		var deMonth = document.getElementById("DepMonth");
		deMonth.selectedIndex = dMonth-1;
		var deYear = document.getElementById("DepYear");
		deYear.selectedIndex = dYear-2004;
		
		var numday = document.getElementById("NumOfDays");
		numday.value = nDay;
	}
	catch(e)
	{}
}
//Called on  ArriveDay dropdown on search page
function ValArriveDay()
{
	var arriveDate = new Date();
	var departureDate = new Date();
	var arrivDay = document.getElementById("ArriveDay");
	var ArrivDateChoos = (arrivDay.selectedIndex)+1;				
	var arrivMonth = document.getElementById("ArriveMonth");
	var ArrivMonthChoos = (arrivMonth.selectedIndex);				
	var ArrivYear = document.getElementById("ArriveYear");
	var ArrivYearChoos = (ArrivYear.selectedIndex)+2004;				
	arriveDate.setFullYear(ArrivYearChoos,ArrivMonthChoos,ArrivDateChoos);		
	var numDaysToAdd = document.getElementById("NumOfDays");
	var numDaysToAdd = numDaysToAdd.value;				
	
	departureDate = DateAdd(arriveDate, numDaysToAdd,0,0);
					
	DepDate = new Date();
	DepDate = departureDate;				
	depaDate = parseInt(DepDate.getDate());
	depaMonth = parseInt(DepDate.getMonth()+1);
	depaYear = parseInt(DepDate.getYear());					
	
	deDay = document.getElementById("DepDay");
	deDay.selectedIndex = depaDate-1;
	deMonth = document.getElementById("DepMonth");
	deMonth.selectedIndex = depaMonth-1;
	deYear = document.getElementById("DepYear");
	deYear.selectedIndex = depaYear -2004;
	//alert("Subm");
	FormBooking.submit();	
}
//Called on  ArriveDay dropdown on search page
function ValArriveDayServerControl(aYear, aMonth, aDay, numDays, dYear, dMonth, dDay)
{
	var arriveDate = new Date();
	var departureDate = new Date();
	var arrivDay = document.getElementById(aDay);
	var ArrivDateChoos = (arrivDay.selectedIndex)+1;				
	var arrivMonth = document.getElementById(aMonth);
	var ArrivMonthChoos = (arrivMonth.selectedIndex);				
	var ArrivYear = document.getElementById(aYear);
	var ArrivYearChoos = (ArrivYear.selectedIndex)+2004;				
	arriveDate.setFullYear(ArrivYearChoos,ArrivMonthChoos,ArrivDateChoos);		
	var numDaysToAdd = document.getElementById(numDays);
	var numDaysToAdd = numDaysToAdd.value;				
	
	departureDate = DateAdd(arriveDate, numDaysToAdd,0,0);
					
	DepDate = new Date();
	DepDate = departureDate;				
	depaDate = parseInt(DepDate.getDate());
	depaMonth = parseInt(DepDate.getMonth()+1);
	depaYear = parseInt(DepDate.getYear());					
	
	deDay = document.getElementById(dDay);
	deDay.selectedIndex = depaDate-1;
	deMonth = document.getElementById(dMonth);
	deMonth.selectedIndex = depaMonth-1;
	deYear = document.getElementById(dYear);
	deYear.selectedIndex = depaYear -2004;
	//alert("Submit");
	FormBooking.submit();	
}
function ValNumOfDaysServerControl(aYear, aMonth, aDay, numDays, dYear, dMonth, dDay)
{				
	var numDaysToAdd = document.getElementById(numDays);
	var numDaysToAdd = numDaysToAdd.value;	
	if( !isNPlus(numDaysToAdd))
	{			
		var daysToAdd = document.getElementById(numDays);		
		daysToAdd.value = "1";
		ValArriveDayServerControl(aYear, aMonth, aDay, numDays, dYear, dMonth, dDay);		
		return false;					
	}
	ValArriveDayServerControl(aYear, aMonth, aDay, numDays, dYear, dMonth, dDay);
}
function ValDepartureServerControl(aYear, aMonth, aDay, numDays, dYear, dMonth, dDay)
{
	var DepDate = new Date();									
	
	var deDay = document.getElementById(dDay);
	deDay = (deDay.selectedIndex)+1;
	deMonth = document.getElementById(dMonth);
	deMonth = (deMonth.selectedIndex);
	deYear = document.getElementById(dYear);
	deYear = (deYear.selectedIndex) +2004;
	DepDate.setFullYear(deYear,deMonth,deDay);				

	//var numDaysToAdd = document.getElementById("NumOfDays");
	//var numDaysToAdd = numDaysToAdd.value;
	/*if( !isNPlus(numDaysToAdd))
	{
		return false;					
	}*/
	
	var arriveDate = new Date();				
	var arrivDay = document.getElementById(aDay);
	var ArrivDateChoos = (arrivDay.selectedIndex)+1;				
	var arrivMonth = document.getElementById(aMonth);
	var ArrivMonthChoos = (arrivMonth.selectedIndex);				
	var ArrivYear = document.getElementById(aYear);
	var ArrivYearChoos = (ArrivYear.selectedIndex)+2004;				
	arriveDate.setFullYear(ArrivYearChoos,ArrivMonthChoos,ArrivDateChoos);
	
	var days = daysBetween(arriveDate,DepDate);
	
	var numDaysToAdd = document.getElementById(numDays);
	numDaysToAdd.value = days;				
	
	if(days < 1)
	{
		var daysToAdd = document.getElementById(numDays);		
		daysToAdd.value = "1";	
		ValArriveDayServerControl(aYear, aMonth, aDay, numDays, dYear, dMonth, dDay);
	}
	
	FormBooking.submit();							
}
function daysBetween(earlyDate,laterDate)
{
	//-- Returns number of days between two date objects.
	var earlySecs=earlyDate.getTime()
	var laterSecs=laterDate.getTime()
	return Math.floor ((((((laterSecs-earlySecs)/1000)/60)/60)/24))
}
function DateAdd(startDate, numDays, numMonths, numYears)
{
	var returnDate = new Date(startDate.getTime());
	var yearsToAdd = numYears;
	
	var month = returnDate.getMonth()	+ numMonths;
	if (month > 11)
	{
		yearsToAdd = Math.floor((month+1)/12);
		month -= 12*yearsToAdd;
		yearsToAdd += numYears;
	}
	returnDate.setMonth(month);
	returnDate.setFullYear(returnDate.getFullYear()	+ yearsToAdd);
	
	returnDate.setTime(returnDate.getTime()+60000*60*24*numDays);
	
	return returnDate;
}
function DateSub(startDate, numDays, numMonths, numYears)
{
	var returnDate = new Date(startDate.getTime());
	var yearsToAdd = numYears;
	
	var month = returnDate.getMonth()	+ numMonths;
	if (month > 11)
	{
		yearsToAdd = Math.floor((month+1)/12);
		month -= 12*yearsToAdd;
		yearsToAdd += numYears;
	}
	returnDate.setMonth(month);
	returnDate.setFullYear(returnDate.getFullYear()	+ yearsToAdd);
	
	returnDate.setTime(returnDate.getTime()-60000*60*24*numDays);
	
	return returnDate;
}
function isDate(dateStr) 
{
	var datePat = /^(\d{1,2})(\/|-|.)(\d{1,2})(\/|-|.)(\d{4})$/;
	var matchArray = dateStr.match(datePat); // is the format ok?

	if (matchArray == null) {
		//alert("Please enter date as either mm/dd/yyyy or mm-dd-yyyy.");
		return false;
	}

	month = matchArray[1]; // parse date into variables
	day = matchArray[3];
	year = matchArray[5];

	if (month < 1 || month > 12) { // check month range
		//alert("Month must be between 1 and 12.");
		return false;
	}

	if (day < 1 || day > 31) {
		//alert("Day must be between 1 and 31.");
		return false;
	}

	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		//alert("Month "+month+" doesn't have 31 days!")
		return false;
	}

	if (month == 2) { // check for february 29th
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day > 29 || (day==29 && !isleap)) {
			//alert("February " + year + " doesn't have " + day + " days!");
			return false;
		}
	}
	return true; // date is valid
}

function isNPlus(str)
{
	str = trim(str);
	strlen = str.length;				
	if(str != "") 
	{					
		for(i =0; i<strlen;i++)
		{
			if(str == "0")
			{
				return false;
			}
			chk = str.charAt(i);						
			if(chk < "0" || chk > "9")
			{							
				return false;
			}
		}
		return true;
	}
	return false;			
}

function trim(s)
{
	while (s.substring(0,1) == ' ') 
	{
		s = s.substring(1,s.length);
	}
	while (s.substring(s.length-1,s.length) == ' ') 
	{
		s = s.substring(0,s.length-1);
	}
	return s;
}

function updateDate(aday,amonth,ayear,dday,dmonth,dyear,days)
{	
	//Arrive
	var numDay = window.opener.document.getElementById("FSearch_NumOfDays");	
	numDay.value = days;	
	var arrDay = window.opener.document.getElementById("FSearch_ArriveDay");
	arrDay.selectedIndex = aday-1;
	var arrMonth = window.opener.document.getElementById("FSearch_ArriveMonth");
	arrMonth.selectedIndex = amonth-1;
	var arrYear = window.opener.document.getElementById("FSearch_ArriveYear");
	arrYear.selectedIndex = ayear-2004;
	
	//Departure
	var deDay = window.opener.document.getElementById("FSearch_DepDay");
	deDay.selectedIndex = dday-1;
	var deMonth = window.opener.document.getElementById("FSearch_DepMonth");
	deMonth.selectedIndex = dmonth-1;
	var deYear = window.opener.document.getElementById("FSearch_DepYear");
	deYear.selectedIndex = dyear-2004;
	
	window.close();
	window.opener.FormBooking.submit();	
}

//Validation of arrival time
function ValidateArrivalTime(boxId)
{
	var txBox = document.getElementById(boxId);
	//var txBox = document.getElementById("FSearchControl_FSearchHallCtrl_FHallDateSelect_ArriveTimeTxb");
	var timeAsText = txBox.value;
	if(timeAsText.charAt(0) != ':' && timeAsText!="")
	{
		var arr = new Array();
		var arr = timeAsText.split(":");
		var hours = arr[0];
		var minutes = arr[1];	
		var tmp = hours;
		if (minutes != null)
			tmp += minutes;
	
		if(isInteger(tmp))
		{
			if(arr.length == 1)
			{
				if(hours.length == 3)
				{
					var hours_cpy = hours;
					hours = hours_cpy.substring(0, 1);
					minutes = hours_cpy.substring(1, 3);
				}
				else if(hours.length == 4)
				{
					var hours_cpy = hours;
					hours = hours_cpy.substring(0, 2);
					minutes = hours_cpy.substring(2, 4);
				}
			}
			if(minutes == 0)
				minutes = null;
			if(hours>=0 && hours<24)
			{
				if(hours.length == 1)
					hours = "0" +hours;
				timeAsText = hours;
			}
			else
				timeAsText = "";
			if(minutes != null && hours<24 && (minutes>0 && minutes<60) && minutes != "")
				timeAsText += ":" +minutes;
			else if((minutes == null && hours<24) || minutes == "")
				timeAsText += ":00";
			else
				timeAsText = "";
	
			txBox.value = timeAsText;
		}
		else
			txBox.value = "";	
	}
	else
		txBox.value = "";
			
}

/*function ValidateInt(input)
{
	//alert('ValidateInt start');
	var value = input.value;
	//alert('Før løkken');
	var i=0;
	for(i=0; i<input.length; i++)
	{
		alert('i forløkke');
		if (!isDigit(value.charAt(i)))
			alert('Field must be numeric');
		return;
	}
}*/

function isInteger(val)
{
	if(isNaN(val))
		return false;
	return true;
}

function HideMonthes()
{
    var elm = document.getElementById('CalFrom');
    elm.innerHTML = "";
}
			
function ShowMonthes(url, month, monthLangVersion)
{
    //alert("TB Test1");
    /*
    var b = 'I am a JavaScript hacker.'
    var temp = new Array();
    temp = b.split(' ');
    */
    
    var temp = new Array();
    temp = month.split(",");
    
    var templangversionList = new Array();
    templangversionList = monthLangVersion.split(",");
    
    var str = "<table class=\"CalendarMonth\" width=\"50\">";
    
    //alert("TB Test2");
    
    for(i=0; i<temp.length;i++)
    {			    
        str += "<tr><td onclick=\"CallMonth('"+url+"', '"+temp[i]+"')\">"+templangversionList[i]+"</td></tr>";
    }
    /*str += "<tr><td onclick=\"CallMonth('"+url+"', 'feb')\">Feb</td></tr>";
    str += "<tr><td onclick=\"CallMonth('"+url+"', 'mar')\">Mar</td></tr>";
    str += "<tr><td onclick=\"CallMonth('"+url+"', 'apr')\">Apr</td></tr>";
    str += "<tr><td onclick=\"CallMonth('"+url+"', 'may')\">May</td></tr>";
    str += "<tr><td onclick=\"CallMonth('"+url+"', 'jun')\">Jun</td></tr>";
    str += "<tr><td onclick=\"CallMonth('"+url+"', 'jul')\">Jul</td></tr>";*/
    
    str += "</table>";
    
    //alert("TB Test3");
    
    var elm = document.getElementById('CalFrom');
    elm.innerHTML = str;
    
    
    //elm.			    
    //alert(str);	    
}
			
function MonthVal(intVal)
{
    var retVal = 1;
    
    if(intVal == 1)
        retVal = "jan";
    if(intVal == 2)
        retVal = "feb";
    if(intVal == 3)
        retVal = "mar";
    if(intVal == 4)
        retVal = "apr";
    if(intVal == 5)
        retVal = "may";
    if(intVal == 6)
        retVal = "jun";
    if(intVal == 7)
        retVal = "jul";
    if(intVal == 8)
        retVal = "aug";
    if(intVal == 9)
        retVal = "sep";
    if(intVal == 10)
        retVal = "okt";
    if(intVal == 11)
        retVal = "nov";
    if(intVal == 12)
        retVal = "dec";
        
    return retVal;
        
    
}
			
function CallMonth(url, mon)
{
    //alert('TB Test');
    var urlstr = url+"&calendarmonth="+mon; 
    //alert(urlstr)
    
    document.location.href= urlstr;
}

