function AddDays(strDate,iDays)
{
	strDate = Date.parse(strDate);
	strDate = parseInt(strDate, 10);
	strDate = strDate + iDays*(24*60*60*1000);
	strDate = new Date(strDate);
	return strDate;
}

function GetDomainReferrer()
{
var text = document.frmSearch.tranHost.value
if (text.indexOf("tranHost") > 0)
{
point = text.lastIndexOf("=");
if (text.substring(point, point-8) == "tranHost")
{
document.frmSearch.tranHost.value = text.substring(point+1,text.length);
}
}
}


function GetDomainReferrerv4()
{
var text = document.frmSearch2.tranHost.value
if (text.indexOf("tranHost") > 0)
{
point = text.lastIndexOf("=");
if (text.substring(point, point-8) == "tranHost")
{
document.frmSearch2.tranHost.value = text.substring(point+1,text.length);
}
}
}

function GetURL()
{
document.frmSearch.tranHost.value = window.location.host
document.frmSearch.tranURL.value = window.location.pathname //+window.location.search
}

function setAction()
{
	if (document.frmSearch.roomType.value == 0)
	{
		if (document.frmSearch.numRooms.value == 1)
		{
			document.frmSearch.toPage.value = "all"
		}
		else if (document.frmSearch.numRooms.value > 1)
		{
			document.frmSearch.toPage.value = "multi"
		}
	}
}

function setDepart()
{
	var Arrive = new Date();
	Arrive.setDate(document.frmSearch.selDayStart.value);
	Arrive.setYear(document.frmSearch.selYearStart.value);
	Arrive.setMonth(document.frmSearch.selMonthStart.value - 1);
	var Depart = AddDays(Arrive,1)
	document.frmSearch.selYearEnd.value = Depart.getFullYear();
	document.frmSearch.selMonthEnd.value = eval(parseInt(Depart.getMonth())+1)
	document.frmSearch.selDayEnd.value = Depart.getDate()
}

function setDepartv4()
{
	var Arrive = new Date();
	Arrive.setDate(document.frmSearch2.selDayStart.value);
	Arrive.setYear(document.frmSearch2.selYearStart.value);
	Arrive.setMonth(document.frmSearch2.selMonthStart.value - 1);
	var Depart = AddDays(Arrive,1)
	document.frmSearch2.selYearEnd.value = Depart.getFullYear();
	document.frmSearch2.selMonthEnd.value = eval(parseInt(Depart.getMonth())+1)
	document.frmSearch2.selDayEnd.value = Depart.getDate()
}

function setDatesv4(item)
{
	var d=new Date();
	var newDayArr = d.getDate();
	var newMonthArr = d.getMonth()+1;
	var newYearArr = d.getFullYear();
	var dd = new Date();
	var newDayDep = dd.getDate();
	var newMonthDepr = dd.getMonth()+1;
	var newYearDep = dd.getFullYear();

	dd.setDate(newDayDep+1)
	
	var newDayDep = dd.getDate();
	var newMonthDepr = dd.getMonth()+1;
	var newYearDep = dd.getFullYear();
	if(item != 3)
	{
	document.frmSearch2.selDayStart.value = newDayArr
	document.frmSearch2.selMonthStart.value = newMonthArr
	document.frmSearch2.selYearStart.value = newYearArr
	document.frmSearch2.selDayEnd.value = newDayDep
	document.frmSearch2.selMonthEnd.value = newMonthDepr
	document.frmSearch2.selYearEnd.value = newYearDep
	setDepartv4();
	}
	
}


function setDates()
{
	var d=new Date();
	var newDayArr = d.getDate();
	var newMonthArr = d.getMonth()+1;
	var newYearArr = d.getFullYear();

	document.frmSearch.selDayStart.value = newDayArr
	document.frmSearch.selMonthStart.value = newMonthArr
	document.frmSearch.selYearStart.value = newYearArr


	var dd = new Date();
	var newDayDep = dd.getDate();
	var newMonthDepr = dd.getMonth()+1;
	var newYearDep = dd.getFullYear();

	dd.setDate(newDayDep+1)

	var newDayDep = dd.getDate();
	var newMonthDepr = dd.getMonth()+1;
	var newYearDep = dd.getFullYear();

	document.frmSearch.selDayEnd.value = newDayDep
	document.frmSearch.selMonthEnd.value = newMonthDepr
	document.frmSearch.selYearEnd.value = newYearDep
	setDepart();
}

function setDepartBD() {
var Arrive = new Date();
Arrive = new Date(document.frmSearch.selYearStart.value, (parseInt(document.frmSearch.selMonthStart.value) - 1), 1, 23, 0, 0, 0)
var Depart = AddDays(Arrive,31)
document.frmSearch.selYearEnd.value = Depart.getFullYear();
document.frmSearch.selMonthEnd.value = eval(parseInt(Depart.getMonth())+1)
}

function setDepartBDv4() {
var Arrive = new Date();
Arrive = new Date(document.frmSearch2.selYearStart.value, (parseInt(document.frmSearch2.selMonthStart.value) - 1), 1, 23, 0, 0, 0)
var Depart = AddDays(Arrive,31)
document.frmSearch2.selYearEnd.value = Depart.getFullYear();
document.frmSearch2.selMonthEnd.value = eval(parseInt(Depart.getMonth())+1)
}


function setRoomType() {
if (parseInt(document.frmSearch.numRooms.value) > 1)
document.frmSearch.roomType.options[0].selected = true;
}

function setWeekends()
{
if(document.all.NofNights.value > 2 && document.all.rdDay[1].checked == true)
{
document.all.rdDay[2].checked = true
document.all.rdDay[1].disabled = true
}
else
document.all.rdDay[1].disabled = false
}

function ValidateForm()
{
	//get todays, the arrival and the departure dates
	var now = new Date()
	var Arrive = new Date();
	Arrive = new Date(document.frmSearch.selYearStart.value, (parseInt(document.frmSearch.selMonthStart.value) - 1), document.frmSearch.selDayStart.value, 23, 0, 0, 0)
	var Depart = new Date();
	Depart = new Date(document.frmSearch.selYearEnd.value, (parseInt(document.frmSearch.selMonthEnd.value) - 1), document.frmSearch.selDayEnd.value)

	if(Arrive < now)
	{
		alert("The arrival date cannot be in the past.")
		return false;
	}

	if(Depart < Arrive)
	{
		alert("The departure date cannot be before the arrival date.")
		return false;
	}

	if ((Arrive.getFullYear() == Depart.getFullYear()) && (Arrive.getMonth() == Depart.getMonth()) && (Arrive.getDate() == Depart.getDate()))
	{
		alert("The Arrival and Departure dates cannot be the same.")
		return false;
	}

	//if february is selected, then the day selected cannot be higher than the 28th except for leap years
	if (((document.frmSearch.selMonthStart.value == 2 && (document.frmSearch.selYearStart.value % 4) == 0 && document.frmSearch.selDayStart.value > 29) || (document.frmSearch.selMonthStart.value == 2 && (document.frmSearch.selYearStart.value % 4) != 0 && document.frmSearch.selDayStart.value > 28)) || ((document.frmSearch.selMonthEnd.value == 2 && (document.frmSearch.selYearEnd.value % 4) == 0 && document.frmSearch.selDayEnd.value > 29) || (document.frmSearch.selMonthEnd.value == 2 && (document.frmSearch.selYearEnd.value % 4) != 0 && document.frmSearch.selDayEnd.value > 28)))
	{
		alert("Please check your Arrival and Departure dates. They are invalid!")
		return false;
	}

	//if a month with only 30 days in it is selected, then the day selected cannot be higher than the 30th
	if (((document.frmSearch.selMonthStart.value == 4 || document.frmSearch.selMonthStart.value == 6 || document.frmSearch.selMonthStart.value == 9 || document.frmSearch.selMonthStart.value == 11) && document.frmSearch.selDayStart.value > 30) || ((document.frmSearch.selMonthEnd.value == 4 || document.frmSearch.selMonthEnd.value == 6 || document.frmSearch.selMonthEnd.value == 9 || document.frmSearch.selMonthEnd.value == 11) && document.frmSearch.selDayEnd.value > 30))
	{
		alert("Please check your Arrival and Departure dates. They are invalid!")
		return false;
	}
}

function formatNumber (num, decplaces)
{
	num = parseFloat(num);
	if (!isNaN(num))
	{
			var str = "" + Math.round (eval(num) * Math.pow(10,decplaces));
			if (str.indexOf("e") != -1)
			{
					return "Out of Range";
			}
			while (str.length <= decplaces)
			{
					str = "0" + str;
			}
			var decpoint = str.length - decplaces;
			return formatCommas(str.substring(0,decpoint)) + "." + str.substring(decpoint,str.length);
	}
	else
	{
			return "NaN";
	}
}

function formatCommas(numString)
{
	var re = /(-?\d+)(\d{3})/;
	while (re.test(numString))
	{
		numString = numString.replace(re, "$1,$2");
	}
	return numString;
}