/*<!--
===========================================================================================================
File name       : BAIYOKEHOTEL_JAVASCRIPT.JS
Create			: 22/10/2008
Lastupdate      : 02/07/2009
Developer       : Developer's Team of Thai Online Co.,Ltd. <support@thaionline-reservation.com>
Project         : THAI ONLINE RESERVATION V.1.0
Description     : โปรแกรมจัดการข้อมูลกล่องค้นหาข้อมูลห้องพักสำหรับโรงแรมในเครือ Baiyoke Hotel
License         : CopyRight(C) 2007 THAI ONLINE COMPANY LIMITED.All rights reserved.
Editor          : PHP Editor / Adobe Dreamweaver
===========================================================================================================
-->*/

var Secure		= true;
var SiteName	= Secure ? 'https://secure.thaionline.co.th/booking/customerv1/' : 'http://www.thaionline-reservation.com/customerv1/';
var startDate;
var endDate;
var callbacks = 0;

/*Reset date*/
function resetDates(){startDate = endDate = null;}

function SetDefaultDate()
{
	var ObjLeadTime		= document.getElementById('leadtime')!=null ? document.getElementById('leadtime').value!=0 ? document.getElementById('leadtime').value : 1 : 0;
	var ObjCountTime	= document.getElementById('counttime')!=null ? document.getElementById('counttime').value!=0 ? document.getElementById('counttime').value : 365 : 365;
	var ObjStartTime	= document.getElementById('starttime')!=null ? document.getElementById('starttime').value!=0 ? document.getElementById('starttime').value : 2 : 2;
	ObjLeadTime			= parseFloat(ObjLeadTime)*1;
	ObjCountTime		= parseFloat(ObjCountTime)*1;
	ObjStartTime		= parseFloat(ObjStartTime)*1;
	var ObjMaxDay		= document.getElementById('MaxDays')!=null ? document.getElementById('MaxDays').value : 31;

	/*กำหนดวันที่สุดท้ายที่สามารถจองห้องได้*/
	var SetEndDate = new Date();
	SetEndDate.setDate(SetEndDate.getDate()+ObjCountTime);
	endDate	= SetEndDate;	
	MakeNightList(ObjMaxDay);
}
SetDefaultDate();

function compareDatesOnly(date1, date2) 
{
	var year1 	= date1.getYear();
	var year2 	= date2.getYear();
	var month1 	= date1.getMonth();
	var month2 	= date2.getMonth();
	var day1 	= date1.getDate();
	var day2 	= date2.getDate();
	if(year1>year2){return -1;}
	if(year2>year1){return 1; }
	if(month1>month2){return -1;}
	if(month2>month1){return 1;}
	if(day1>day2){return -1;}
	if(day2>day1){return 1;}
	return 0;
}

/*Calendar :- โหลดช่วงวันที่ที่สามารถ Book ได้*/
function dateInRange1_1(date) 
{
	var ObjLeadTime		= document.getElementById('leadtime')!=null ? document.getElementById('leadtime').value!=0 ? document.getElementById('leadtime').value : 1 : 0;
	ObjLeadTime			= parseFloat(ObjLeadTime)*1;
	
	if(endDate!=null)
	{
		var compareEnd = compareDatesOnly(date, endDate);
		if(compareEnd<0){return (true);}
		if(compareEnd==0){{return "edges";}}
		if(startDate!=null){var compareStart = compareDatesOnly(date,startDate);if(compareStart<0){return "between";}} 
	}
	var today = new Date();
	today.setDate(today.getDate()+ObjLeadTime);
	var compareToday = compareDatesOnly(date, today);
	if(compareToday>0){return(true);}	
	return false;
	return(ret);
}

/*Calendar :- โหลดช่วงวันที่ที่สามารถ Book ได้*/
function dateInRange1_1_2(date) 
{
	var ObjStartTime	= document.getElementById('starttime')!=null ? document.getElementById('starttime').value!=0 ? document.getElementById('starttime').value : 2 : 2;
	ObjStartTime		= parseFloat(ObjStartTime)*1;
	if(endDate!=null)
	{
		var compareEnd = compareDatesOnly(date, endDate);
		if(compareEnd<0){return (true);}
		if(compareEnd==0){{return "edges";}}
		if(startDate!=null){var compareStart = compareDatesOnly(date,startDate);if(compareStart<0){return "between";}} 
	}
	var today = new Date();
	today.setDate(today.getDate()+ObjStartTime);
	var compareToday = compareDatesOnly(date, today);
	if(compareToday>0){return(true);}	
	return false;
	return(ret);
}

/*Calendar */
function filterDates1_1(cal) 
{
	startDate = cal.date;
	var Nights	= document.getElementById('Night')!=null ? document.getElementById('Night').value : 1;
	CheckReservDateToRange(cal,document.myReservation.EndDate,document.myReservation.StartCheckIn,document.myReservation.MaxDays,'StartDate','EndDate','Night',Nights);
	CheckReservDateToRange1(document.myReservation.CurrentDate,cal,document.myReservation.StartCheckIn,document.myReservation.MaxDays,'StartDate','EndDate','starttime');
	
	document.getElementById('starttime').value	= parseFloat(document.getElementById('starttime').value)+1;
	
	if(endDate==null)
	{
		Zapatec.Calendar.setup({
		inputField		: "EndDate",
		button			: "button9b",
		numberMonths	: 2,
		monthsInRow		: 2,
		ifFormat		: "%d-%m-%Y ",
		timeFormat		: "24",
		date			: startDate,
		electric		: false,
		showsTime		: false,
		disableFunc		: dateInRange1_1,/*dateInRange2_1*/
		onUpdate		: filterDates2_1
		});
	}
}	

function filterDates2_1(cal){CheckReservDateToRange1(document.myReservation.StartDate,cal,document.myReservation.StartCheckIn,document.myReservation.MaxDays,'StartDate','EndDate','Night');}

function dateInRange2_1(date) 
{
	if(startDate!=null) 
	{
		var compareDays = compareDatesOnly(startDate, date);
		if(compareDays < 0){return (true);}
		if(compareDays==0){{return "edges";}}
		if((endDate != null) && (date > startDate) && (date < endDate)){return "between";} 
	} 
	var now = new Date();
	now.setDate(now.getDate()+2);	
	if(compareDatesOnly(now,date)<0){return (true);}	
	return false;
}

/* Booking Package*/ 
function ShowCalendarforPackage()
{
	var cal = new Zapatec.Calendar.setup
	({
		inputField  	: "StartDate",
		button 			: "button9a",
		numberMonths	: 2,
		monthsInRow		: 2,
		ifFormat 		: "%d-%m-%Y ",
		timeFormat 		: "24", 
		showsTime 		: false,
		electric  		: false,
		dateStatusFunc	: dateInRange1_1, 
		onUpdate 		: filterDates1_1
	});
	Zapatec.Calendar.setup({inputField:"EndDate",button:"button9b",numberMonths:2,monthsInRow:2,ifFormat:"%d-%m-%Y ",timeFormat:"24",showsTime:false,electric:false,dateStatusFunc:dateInRange1_1_2,/*dateInRange2_1*/onUpdate:filterDates2_1});
}
ShowCalendarforPackage();

function AjaxLoadDefault(HotelID){var xScript;var ObjCheckIn = document.getElementById('StartDate').value;var ObjCheckOut = document.getElementById('EndDate').value;if(document.getElementById('ReservationOK')!=null){ document.getElementById('ReservationOK').disabled=true;}xScript = document.createElement('SCRIPT');xScript.setAttribute('type','text/javascript');xScript.setAttribute('id','JSAjaxCheckInOutBooking');xScript.setAttribute('src','http://www.thaionline-reservation.com/customerv1/web1/customers/baiyokehotel_ajax.php?actions=LoadDefault&HotelID='+HotelID+'&StartDate='+ObjCheckIn+'&EndDate='+ObjCheckOut+'&Rand='+Math.random());document.getElementsByTagName('BODY')[0].appendChild(xScript);}
AjaxLoadDefault(1);

/*หาวันที่ checkout จากจำนวนคืนที่เลือก*/
function MakeCheckOut(obj){CheckReservNumToDate(document.myReservation.StartDate,document.myReservation.EndDate,document.myReservation.StartCheckIn,document.myReservation.MaxDays,'StartDate','EndDate',obj,'Night');}

/*Click Reservation*/
function ReservatoinSubmit(){with(document.myReservation){CheckIn.value	= StartDate.value;CheckOut.value= EndDate.value;if(hotel_name.value==''){alert('Please select hotel ');hotel_name.focus();return false;}if(StartDate.value==''){alert('Please choose check in ');StartDate.focus();return false;}if(EndDate.value==''){ alert('Please choose check out ');EndDate.focus();return false;}/*Baiyoke Sky Hotel*/if(hotel_name.selectedIndex==0){document.myReservation.HotelID.value=14;}/*Baiyoke Boutique Hotel*/if(hotel_name.selectedIndex==1){document.myReservation.HotelID.value=15;}/*Baiyoke Suite Hotel*/if(hotel_name.selectedIndex==2){document.myReservation.HotelID.value=16;}action=SiteName+'web1/customers/reservation4booking.php';submit();}}

/*Click Modify*/
function AmendSubmit(){with(document.myReservation){/*Baiyoke Sky Hotel*/if(hotel_name.selectedIndex==0){document.myReservation.HotelID.value=14;}/*Baiyoke Boutique Hotel*/if(hotel_name.selectedIndex==1){document.myReservation.HotelID.value=15;}/*Baiyoke Suite Hotel*/if(hotel_name.selectedIndex==2){document.myReservation.HotelID.value=16;}action=SiteName+'web1/customers/reservation4amend.php';submit();}}

/*Click Cancel*/
function CancelSubmit(){with(document.myReservation){/*Baiyoke Sky Hotel*/if(hotel_name.selectedIndex==0){document.myReservation.HotelID.value=14;}/*Baiyoke Boutique Hotel*/if(hotel_name.selectedIndex==1){document.myReservation.HotelID.value=15;}/*Baiyoke Suite Hotel*/if(hotel_name.selectedIndex==2){document.myReservation.HotelID.value=16;}action=SiteName+'web1/customers/reservation4cancel.php';submit();}}
	  
/*Make New list Adult*/
function MakeAdultList(Room){var ObjAdult = document.getElementById('Adult');var Length = ObjAdult.length;/*Clear*/for(var i=0;i<Length;i++){ObjAdult.options[0]=null;}/* Make new list*/var Total = parseInt(Room)*4;for(var i=0;i<=parseInt(Total)-parseInt(Room);-i++){ObjAdult.options[i]=new Option(i+parseInt(Room),i+parseInt(Room));}}
	  
/*Make New list Adult*/
function MakeNightList(Night){var ObjNight 	= document.getElementById('Night');var Length = ObjNight.length;/*Clear*/for(var i=0;i<Length;i++){ObjNight.options[0]=null;}/* Make new list*/for(var i=1;i<=parseInt(Night);-i++){ObjNight.options[i-1]=new Option(i,i);}}
