var ckAvailStartTdy = new Date();
//remove time from Date
ckAvailStartTdy = new Date(ckAvailStartTdy.getFullYear(),  ckAvailStartTdy.getMonth(), ckAvailStartTdy.getDate());
var ckAvailStartDate = new Date(ckAvailStartTdy.getFullYear(),  ckAvailStartTdy.getMonth(), ckAvailStartTdy.getDate());

var updateTotalValue = 0;
function loadCurrency(CurrencyCode)
{
	var cForm    = document.forms['hotelCurrency'];
	var cElement = cForm.elements['CurrencyCode'];

	var cName = cElement.options[cElement.selectedIndex].value;

	for(i=0;i<Currency.length;i+=2){if(Currency[i]==CurrencyCode){var cHotelRate=Currency[(i+1)];break;}}
	for(i=0;i<Currency.length;i+=2){if(Currency[i]==cName){var cRate=Currency[(i+1)];break;}}

	var cRate = Number(cRate)/Number(cHotelRate);
	return(cRate);
}

function updateRate(CurrencyCode)
{
	var cRate = loadCurrency(CurrencyCode);

	var nForm    = document.forms['hotelCurrency'];
	var nElement = nForm.elements['CurrencyCode'];

	var cName = nElement.options[nElement.selectedIndex].text;

	for(i=0;i<Hotel.length;i++)
	{
		var cForm  = document.forms['hotelRate['+i+']'];
		for(j=0;j<Hotel[i].length;j+=5)
		{
			var cSource  = 'Currency_2_'+i+'_'+Hotel[i][j];
//			alert(cSource);
			var cElement = cForm.elements[cSource];
			cElement.value = Math.round(Hotel[i][(j+3)]/Number(cRate));
			if(cElement.value==0){cElement.value='';}
			else
			{
				cElement.value = cElement.value + ' ' + cName;
			}
			var cElement = cForm.elements['Currency_3_'+i+'_'+Hotel[i][j]];
			cElement.value = Math.round(Hotel[i][(j+4)]/Number(cRate));
			if(cElement.value==0){cElement.value='';}
			else
			{
				cElement.value = cElement.value + ' ' + cName;
			}
		}
		if(updateTotalValue==1)
		{
			updateTotal(i,CurrencyCode,cRate);
		}
	}
}

function updateApproxTotal(CurrencyCode)
{
	var cForm    = document.forms['checkAvail'];
	var cElement = cForm.elements['checkHotel[Accommodation]'];
	var cRate    = loadCurrency(CurrencyCode);

	i = cElement.options[cElement.selectedIndex].value;
	if(i!='--')
	{
		updateTotal(i,CurrencyCode,cRate);
	}
	else
	{
		var cElement = cForm.elements['checkHotel[ApproxTotal]'];
		cElement.value = "";
	}
	updateTotalValue=1;
}

function updateTotal(i,CurrencyCode,cRate)
{
	var cForm  = document.forms['checkAvail'];
	var sDate  = getDate(cForm,0);
	var eDate  = getDate(cForm,1);
	var cValue = 0;

	var cDate = sDate;
	for(;cDate.getTime()<eDate.getTime();)
	{
		for(j=0;j<Hotel[i].length;j+=5)
		{
			if(Number(Hotel[i][(j+1)])<=(cDate.getTime()/1000) && Number(Hotel[i][(j+2)])>=(cDate.getTime()/1000))
			{
				cValue += Number(Hotel[i][(j+3)]);break;
			}
		}
		cDate.setDate(cDate.getDate()+1);
	}

	var cElement = cForm.elements['checkHotel[TotalRooms]'];
	var TotalRooms = cElement[cElement.selectedIndex].value;

	var cElement = cForm.elements['checkHotel[ApproxTotal]'];

	var xValue = Number(Math.round(Number(TotalRooms) * Number(cValue/Number(cRate))));

	if(xValue==0)
	{
		cElement.value = '';
	}
	else
	{
		var nForm    = document.forms['hotelCurrency'];
		var nElement = nForm.elements['CurrencyCode'];

		var cName = nElement.options[nElement.selectedIndex].text;

		cElement.value = xValue + ' ' + cName;
	}
}

function getDate(cForm,InOut)
{
	var cElement = cForm.elements['checkHotel[sDay]'];
	var sDay = cElement[cElement.selectedIndex].value;
	var cElement = cForm.elements['checkHotel[sMonth]'];
	var sMonth = cElement[cElement.selectedIndex].value;
	var cElement = cForm.elements['checkHotel[sYear]'];
	var sYear = cElement[cElement.selectedIndex].value;

	var cDate = new Date(sYear,(sMonth-1),sDay);
	if(InOut==1)
	{
		var cElement = cForm.elements['checkHotel[Nights]'];
		var Nights = cElement[cElement.selectedIndex].value;
		cDate.setDate(cDate.getDate()+Number(Nights));
	}
	if(InOut==2)
	{
		var cElement = cForm.elements['checkHotel[eDay]'];
		var eDay = cElement[cElement.selectedIndex].value;
		var cElement = cForm.elements['checkHotel[eMonth]'];
		var eMonth = cElement[cElement.selectedIndex].value;
		var cElement = cForm.elements['checkHotel[eYear]'];
		var eYear = cElement[cElement.selectedIndex].value;

		var cDate = new Date(eYear,(eMonth-1),eDay);

	}
	return(cDate);
}
/*
var Currency = new Array('USD','38.8716672202','EUR','46.6901250810','GBP','67.8785873553',
			'JPY','0.3330607649','SGD','24.0103312421','MYR','10.5104757156','HKD','5.0093412211',
			'AUD','27.4242334222','SEK','4.9919921160','THB','1.0000000000');

var Hotel =  new Array(new Array('0','1143522000','1145073600','192','232','1','1145160000','1152504000','94','139','2','1152590400','1156996800','117','162','3','1157083200','1162270800','94','139'),
new Array('0','1143522000','1145073600','208','249','1','1145160000','1152504000','106','151','2','1152590400','1156996800','129','174','3','1157083200','1162270800','106','151'),
new Array('0','1143522000','1145073600','239','284','1','1145160000','1152504000','117','162','2','1152590400','1156996800','141','185','3','1157083200','1162270800','117','162'),
new Array('0','1143522000','1145073600','585','630','1','1145160000','1162270800','432','477'),
new Array('0','1143522000','1145073600','1342','1387','1','1145160000','1162270800','876','921'));

*/
function setDate(cForm,cDate,InOut)
{
	if(InOut==0)
	{
		var cElement = cForm.elements['checkHotel[sDay]'];
		var cValue = Number(cDate.getDate());setElement(cElement,cValue);

		var cElement = cForm.elements['checkHotel[sMonth]'];
		var cValue = Number(cDate.getMonth())+1;setElement(cElement,cValue);

		var cElement = cForm.elements['checkHotel[sYear]'];
		var cValue = Number(cDate.getFullYear());setElement(cElement,cValue);
	}
	else
	{
		var cElement = cForm.elements['checkHotel[eDay]'];
		var cValue = Number(cDate.getDate());setElement(cElement,cValue);

		var cElement = cForm.elements['checkHotel[eMonth]'];
		var cValue = Number(cDate.getMonth())+1;setElement(cElement,cValue);

		var cElement = cForm.elements['checkHotel[eYear]'];
		var cValue = Number(cDate.getFullYear());setElement(cElement,cValue);
	}
}
function setElement(cElement,cValue)
{
	for(var i=0;i<cElement.length;i++)
	{
		if(Number(cElement.options[i].value)==cValue)
		{
			cElement.selectedIndex = i;
			break;
		}
	}
	if(i==cElement.length) {
		if((cElement.name.indexOf("Year")!=-1) || (cElement.name.indexOf("Nights")!=-1)) {
			var oldYear = Number(cElement.options[cElement.length - 1].value) + 1;
			while (oldYear<=cValue)
			{
				cElement.options[cElement.length] = new Option(oldYear, oldYear);
				oldYear = oldYear + 1;
			}
			cElement.selectedIndex = cElement.length - 1;
		}
	}
}

var lsdjfsadfjsdlfk = 0;
function updateCheckAvailAll(column, frommonth)
{
	var cForm = document.forms['checkAvail'];
	var cDate = ckAvailStartDate;
	if(lsdjfsadfjsdlfk==0) {
		setDate(cForm,ckAvailStartDate,0);
		lsdjfsadfjsdlfk = 1;
	} else cDate = ckAvailStartTdy;

	updateCheckAvailDo(column,cForm,cDate, frommonth);
}
function updateCheckAvail(column, frommonth)
{
	var cForm = document.forms['checkAvail'];
	var cDate = ckAvailStartDate;
	if(lsdjfsadfjsdlfk==0) {
		setDate(cForm,ckAvailStartDate,0);
		lsdjfsadfjsdlfk = 1;
	} else cDate = ckAvailStartTdy;

	updateCheckAvailDo(column,cForm,cDate, frommonth);
}

function updateCheckAvailDo(column,cForm,cDate, frommonth)
{
//	var cForm = document.forms['checkAvail'];
//	var cDate = getcDate();

	var sDate  = getDate(cForm,0);setDate(cForm,sDate,0);	//Get Start Date & Set Correct StartDate
	var eDate  = getDate(cForm,2);setDate(cForm,eDate,1);	//Get EndDate & Set Correct EndDate

//-Change StartDate or Number of Nights------------------------------------------------------------
	if(column=='sDate' || column=='Nights')
	{
		var sDate  = getDate(cForm,0);
		if(sDate.getTime()<cDate.getTime())
		{
			var nextMonthDate;
			if(typeof(frommonth)=="undefined") {

				nextMonthDate = new Date(sDate.getFullYear(),  sDate.getMonth() + 1, sDate.getDate());
				if(sDate.getFullYear()==nextMonthDate.getFullYear()) {
					nextMonthDate = new Date(sDate.getFullYear() + 1,  sDate.getMonth(), sDate.getDate());
				} else 
				if(sDate.getFullYear()<=nextMonthDate.getFullYear()) {

				}
				if(nextMonthDate.getTime()<cDate.getTime()) {nextMonthDate = cDate;}
			} else {
				nextMonthDate = cDate;
			}
			setDate(cForm,nextMonthDate,0);
			sDate  = getDate(cForm,0);
		}
		var eDate  = getDate(cForm,1);
		setDate(cForm,eDate,1);
	}
//-Change EndDate----------------------------------------------------------------------------------
	else if(column=='eDate')
	{
//-Check If selected end date is before first date-------------------------------------------------
		if(eDate.getTime()<cDate.getTime())
		{
			setDate(cForm,cDate,0);				// Set StartDate to first Date
			var sDate  = getDate(cForm,0);		// Get StartDate
			var eDate  = getDate(cForm,1);		// Get EndDate (StartDate + Nights)
			setDate(cForm,eDate,1);				// Set EndDate
		}
//-Check If selected end date is before start date
		else if(eDate.getTime()<=sDate.getTime())
		{
			eDate = sDate;
			eDate.setDate(eDate.getDate()+1);
			setDate(cForm,eDate,1);				// Set EndDate
		}
//-Set Number of nights.
		var sDate  = getDate(cForm,0);			// Get StartDate
		var eDate  = getDate(cForm,2);			// Get EndDate
			
		var cTime  = eDate.getTime() - sDate.getTime();
		var nDate  = new Date(cTime);
		var cValue = Number(nDate.getDate()) - 1;
		cValue = Math.floor(cTime / (1000 * 60 * 60 * 24));
		var cElement = cForm.elements['checkHotel[Nights]'];
		setElement(cElement,cValue);
	}
}

function checkAvailability()
{
	var cForm = document.forms['checkAvail'];
	cForm.submit();
}

function bookRoom()
{
	var cForm = document.forms['checkAvail'];
	cForm.submit();
}

//-------------------------------------------------------------------------------------------------
function getcDate()
{
	var cDate = new Date();
	var mDate = new Date();
	mDate.setFullYear(mDate.getFullYear()+10);

	for(var i=0;i<Hotel.length;i++)
	{
		if((Number(Hotel[i][1])*1000)<mDate.getTime())
		{
			mDate = new Date((Number(Hotel[i][1])*1000));
		}
	}
	if(mDate.getFullYear()!=(cDate.getFullYear()+10))
	{
		cDate = mDate;
	}
	return(cDate);
}
//-------------------------------------------------------------------------------------------------

function setYear()
{
	var sDays  = new Date().getTime() + (3*86400000);
	var sDate  = new Date(sDays);
	var cYear = Number(sDate.getFullYear());
	if(cYear<1900) {
		if(!document.all) cYear = Number(sDate.getYear()) + 1900;
		else cYear = Number(sDate.getYear());
	}
	document.write("<option value =" + cYear + ">" +cYear+"</option>");
	document.write("<option value =" + (cYear+1) + ">" +(cYear+1)+"</option>");	
}

