	// JavaScript Document
	var temp, temp1, temp2, temp3;
	var monthname = new Array('January','February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December');
	var dayofmonth = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	var startDate = new Date();

	Event.observe(window, 'load', function() {
		updateArrival();
		updateDeparture();
		
		// observe
		$('arrivalDay').observe('change', changeArrival);
		$('arrivalMonth').observe('change', changeArrival);
		$('arrivalYear').observe('change', changeArrival);
		$('arrivalDate').observe('change', changeArrival);
			
		$('departureDay').observe('change', changeDeparture);
		$('departureMonth').observe('change', changeDeparture);
		$('departureYear').observe('change', changeDeparture);
		$('departureDate').observe('change', changeDeparture);
	});
		
	function updateArrival() {
		temp = $F('arrivalDate');
		temp = temp.split("-");
		$('arrivalDay').selectedIndex = (temp[2]-1);
		$('arrivalMonth').selectedIndex = (temp[1]-1);
		$('arrivalYear').selectedIndex = (parseInt(temp[0]) - parseInt($F('thisYear')));
	}
		
	function updateDeparture() {
		temp = $F("departureDate");
		temp = temp.split("-");
		$('departureDay').selectedIndex = (temp[2]-1);
		$('departureMonth').selectedIndex = (temp[1]-1);
		$('departureYear').selectedIndex = (temp[0] - parseInt($F('thisYear')));
		showDay();
	}
	function showDay() {
		var temp = getDateDiff($F('arrivalDate'), $F('departureDate'));
		$('departureShow').innerHTML = temp;
		$('day').value = temp;
	}
	
		function changeArrival() {
			temp = $F('arrivalYear') + "-" + $F('arrivalMonth') + "-" + $F('arrivalDay');
			temp1 = new Date($F('arrivalYear'), parseInt($F('arrivalMonth')) - 1, (parseInt($F('arrivalDay')) + parseInt($F('day')) ));
			temp1 = temp1.getFullYear() + "-" + (temp1.getMonth() + 1) + "-" + temp1.getDate();
			if(getDateDiff($F('pro_start'), temp) < 0 ) {
				alert("Arrival Date less than Current Date");
				updateArrival();
				return false;
			}
			
			$('arrivalDate').value = temp;
			updateArrival();
			temp = new Date(parseInt($F('arrivalYear')), $F('arrivalMonth') - 1, (parseInt($F('arrivalDay')) + parseInt($F('day'))));
			$('departureDate').value = temp.getFullYear() + "-" + (temp.getMonth() + 1) + "-" + temp.getDate();
			updateDeparture();
		}
		
		function changeDeparture() {
			temp = $F('departureYear') + "-" + $F('departureMonth') + "-" + $F('departureDay');
			temp1 = $F('arrivalYear') + "-" + $F('arrivalMonth') + "-" + $F('arrivalDay');
			if(getDateDiff($F('pro_start'), temp) < 0) {
				alert("Departure Date less than Current Date");
				updateDeparture();
				return false;
			}
			else if(getDateDiff($F('arrivalDate'),temp) > 360) {
				alert("Can't reserve Over 360 nights");
				updateDeparture();
				return false;

			}
			else if(getDateDiff(temp1, temp) < 0) {
				alert("Departure Date less than Arrival Date");
				updateDeparture();
				return false;
			}
			else if(getDateDiff($F('arrivalDate'), $F('departureDate')) < 30) {
				alert("Stay day less than 30");
				updateDeparture();
				return false;
			}
			$('departureDate').value = temp;
			updateDeparture();
		}

//////////////////////////////////////////////////////////////////////////////////////////////////////
	
	function setRoomType() {
		var service = getValueFromRadio(document.room.renttype);
		var url = 'apartmentbooking.ajax.php?req=1&service=' + service;
		new Ajax.Request(url, {
			onComplete: function(response) {
				$('roomDiv').innerHTML = response.responseText;
			}
		});
	}
	
	function changeRoom(room) {
		$('roomtemp').value = room.value;
		$('floortemp').value = 0;
		$('price').value = 0;
		$('priceShow').innerHTML = '';
		if ($F('roomtemp') == 0) {
			alert('Please Select Room');
			$('floorDiv').innerHTML = '';
		}
		else {
			setFloor();
			showRoomDetail();
		}
	}

	function setFloor() {
		var service = getValueFromRadio(document.room.renttype);
		var url = 'apartmentbooking.ajax.php?req=6&service=' + service + '&rid=' + $F('roomtemp');
		new Ajax.Request(url, {
			onComplete: function(response) {
				var temp = response.responseText.split('^');
				if (temp[0] == 'N') {
					$('floorDiv').innerHTML = '';
					$('floor').style.display = 'none';					
					$('floortemp').value = 0;
					$('price').value = temp[1];
					$('priceShow').innerHTML = number_format($F('price'),0,'.',',') + " per Month";
					$('floorDiv').innerHTML = '<input type="text" name="floor" value="' + temp[2] + '" />';
					setTotalPrice();
				}
				else {
					$('floor').style.display = '';
					url = 'apartmentbooking.ajax.php?req=2&service=' + service + '&rid=' + $F('roomtemp');
					new Ajax.Request(url, {
						onComplete: function(response) {
							$('floorDiv').innerHTML = response.responseText;
							if(num == 0) {
								return true;
							}
							else {
								setPrice();
							}
						}
					});
					
				}
			}
		});
		
		
	}
	
	function changeFloor(floorno) {
		$('floortemp').value = floorno.value;
		if ($F('floortemp') == 0) {
			alert('Please Select Floor');
		}
		else {
			setPrice();
		}
	}
	
	function setPrice() {
		var service = getValueFromRadio(document.room.renttype);
		var floorno = $F('floortemp');
		var url = 'apartmentbooking.ajax.php?req=4&service=' + service + '&rid=' + $F('roomtemp') + '&fid=' + floorno;
		new Ajax.Request(url, {
			onComplete: function(response) {
				var text = number_format(response.responseText, 0, '', ',') + ' THB';
				$('price').value = response.responseText;
				$('priceShow').innerHTML = number_format($F('price'),0,'.',',') + " per Month";
				setTotalPrice();
			}
		});
	}
		
	function showRoomDetail() {
		var service = getValueFromRadio(document.room.renttype);
		var url = 'apartmentbooking.ajax.php?req=3&service=' + service + '&rid=' + $F('roomtemp');
		new Ajax.Request(url, {
			onComplete: function(response) {
				$('popBoxRight').innerHTML = response.responseText;
			}
		});
	}
	
	function chkForm() {
		if (!($('pickyes').checked || $('pickno').checked)) {
			alert("Please Select Pickup Type");
			return false;
		}
		if($F('price') == 0 || $F('price') == '') {
			alert("Please Select Floor");
			return false;
		}
		return true;
	}
	
	function getDateDiff(date1, date2){
		var dd;
		dd = date1.split("-");
		var arrDate = new Date(dd[0], (dd[1]-1), dd[2]);
		dd = date2.split("-");
		var deptDate = new Date(dd[0], (dd[1]-1), dd[2]);
		return ((deptDate-arrDate)/1000/60/60/24);
	}