function loadRate(objRef) {
	var roomCatgId = objRef[objRef.selectedIndex].value;
	if(roomCatgId == "0") {
		return true;
	}
	var ROOM_CATG_RATES = new Array();
	ROOM_CATG_RATES["1"] = "4500";
	ROOM_CATG_RATES["2"] = "5000";
	ROOM_CATG_RATES["3"] = "6000";
     ROOM_CATG_RATES["4"] = "7500";
	 
	var PACKAGE_ROOMCATG_ID = new Array();
	PACKAGE_ROOMCATG_ID["1"] = 66;
	PACKAGE_ROOMCATG_ID["2"] = 67;
	PACKAGE_ROOMCATG_ID["3"] = 68;
	PACKAGE_ROOMCATG_ID["4"] = 69;
	
	document.booking.packageId.value = PACKAGE_ROOMCATG_ID[roomCatgId];
	document.booking.oneDayCost.value = ROOM_CATG_RATES[roomCatgId];
	//alert(document.booking.packageId.value);
	setDepDate(document.getElementById('ArrDate'), document.getElementById('DepDate'), document.getElementById('NoOfNights').value, document.getElementById('RoomCost'),document.getElementById('oneDayCost').value);
}

function validateAnni(){
 				var error = "";
				if(/^\s*$/.test(document.booking.Name.value)){
					error = "Please, enter name.\n";			 				
				}
				if(/^\s*$/.test(document.booking.LastName.value)){
					error += "Please, enter last name.\n";			 				
				}
				if(/^\s*$/.test(document.booking.Country.value)){
					error += "Please, enter country name.\n";			 				
				}
				if(/^\s*$/.test(document.booking.Email.value)){
					error += "Please, enter email address.\n";			 				
				}else if(!/[a-zA-Z0-9]+([\.-\_]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+/.test(document.booking.Email.value)){
					error += "Please, enter valid email address.\n";
				}				
				if(/^\s*$/.test(document.booking.TelContact.value)){
					error += "Please, enter telephone/mobile no.\n";			 				
				}
				if(/^(0|\s*)$/.test(document.booking.packageName.value)){
					error += "Please, select Room type.\n";
				}
				if(/^\s*$/.test(document.booking.ArrDate.value)){
					error += "Please, enter/select check in date.\n";			 				
				}else if(!/\d\d\/\d\d\/\d\d\d\d/.test(document.booking.ArrDate.value)){
					error += "Please, enter check in date in dd/MM/yyyy format.\n";				
				}
				if(/^\s*$/.test(document.booking.Address.value)){
					error += "Please, enter address.\n";			 				
				}
				if(/^\s*$/.test(document.booking.PaxSpecialRequest.value)){
					error += "Please, enter special requests/comments.\n";			 				
				} 	
				if(!/^\s*$/.test(error)){
					alert(error);
					return false;
				}
				return true;
            }
 
			function convertFormatDate(val){
				var dateVal = val.value;
				if(/^\s*$/.test(dateVal)){
					return;
				}
				if(/\//.test(dateVal)){
					dateVal = dateVal.replace(/\//g, "");
				}
				if(! /^\d{6,}$/.test(dateVal)){
					return;
				}
				var dayVal, monthVal, yearVal;
				dayVal = dateVal.substr(0,2);
				monthVal = dateVal.substr(2,2);
				yearVal = dateVal.substr(4);
				if(yearVal.length == 2){
					var dt = new Date(Date()); //returns todays date & time
					var currentYr = dt.getFullYear(); 
					yearVal = currentYr.toString().substr(0,2) + yearVal;
				}
				val.value = dayVal + "/" + monthVal + "/" + yearVal;
			}
	                          
			function setDepDate(arrDate, depDate, nights, RoomRate, oneDayCost){
				if(!/^\d{1,2}\/\d{1,2}\/\d\d\d\d$/.test(arrDate.value) || !/^\d+$/.test(nights)){
					depDate.value = "";
					return;
				}
				var arrDateVal = arrDate.value;
				var arrDateArr = arrDateVal.split("/");
				var nextDateObj = new Date(arrDateArr[2], arrDateArr[1]-1,arrDateArr[0]);
				if(nextDateObj.getDay()==5 || nextDateObj.getDay()==6 || nextDateObj.getDay()==0){
					alert("This is a weekday package only.");
					var month="";					
					var day ="";
					var year ="";
					var currentTime = new Date();
					var getNextMon = 0; 
					if(currentTime.getDay()!=5 && currentTime.getDay()!=6){
						month = currentTime.getMonth() + 1;
						day = currentTime.getDate();
						year = currentTime.getFullYear();
					}
					else{
						getNextMon = ((7-currentTime.getDay()));					 	
						currentTime.setDate(currentTime.getDate()+eval(getNextMon));
						month = currentTime.getMonth() + 1;
						day = currentTime.getDate();
						year = currentTime.getFullYear();
					}																		
					arrDate.value=day+"/"+month+"/"+year;
					depDate.value="";
					nextDateObj = new Date(year, month-1,day);
					
				}
				nights=createOption(document.getElementById('NoOfNights'),nextDateObj.getDay());
				nextDateObj=checkPublicHoliday(nextDateObj,nights,document.getElementById('holidayRate'),arrDate,RoomRate,oneDayCost);
				nextDateObj.setDate(nextDateObj.getDate()+eval(nights));
				var nextDay = nextDateObj.getDate();
				var nextMonth = nextDateObj.getMonth() + 1;
				var nextYear = nextDateObj.getFullYear();
				if(/^.$/.test(nextDay)){
					nextDay = "0"+nextDay;
				}
				if(/^.$/.test(nextMonth)){
					nextMonth = "0"+nextMonth;
				}
				if(/^.$/.test(nextYear)){
					nextYear = "0"+nextYear;
				}
				depDate.value =nextDay + "/" + nextMonth + "/" + nextYear;
				return checkDateDiff("31/03/2011", document.forms[0].DepDate.value);
			}
			function roomCostVal(roomType){
				document.forms[0].RoomCost.value= roomType.value;
			}
			function createOption(noOfNight,nextDateDay){
				var selectedNight = noOfNight.value;
				var count = (6 - nextDateDay);
				noOfNight.options.length=0;
				if(/^(\s*|0)$/.test(selectedNight) || selectedNight>=count){				
					selectedNight=count-1;
				}
				for (i=1;i<count;i++){
					noOfNight.options[noOfNight.options.length] = new Option(i, i);
					if(i == selectedNight){
						noOfNight.options[i-1].selected=true;
					}
					if(i>=3){break;}												
				}
				return selectedNight;
			}
		
			function checkDateDiff(lastDate, checkDate){
				var lastDateAry = lastDate.split("/");
				var checkDateAry = checkDate.split("/");
 				var lastDateObj = new Date(lastDateAry[2], lastDateAry[1]-1, lastDateAry[0]);//Month is 0-11 in JavaScript
				var chkOutDateObj = new Date(checkDateAry[2], checkDateAry[1]-1, checkDateAry[0]);//Month is 0-11 in JavaScript
				var one_day=1000*60*60*24;
				var noOfDays = (Math.ceil((lastDateObj.getTime()-chkOutDateObj.getTime())/one_day));
				if(noOfDays<0){
					alert("Package is valid upto 31st March 2011!");
				}
			}
		function setArrDate(arrDate){
			var currentTime = new Date();
			var getNextMon = 0; 
			if(currentTime.getDay()!=5 && currentTime.getDay()!=6){
				month = currentTime.getMonth() + 1;
				day = currentTime.getDate();
				year = currentTime.getFullYear();
			}
			else{
				getNextMon = ((7-currentTime.getDay()));					 	
				currentTime.setDate(currentTime.getDate()+eval(getNextMon));
				month = currentTime.getMonth() + 1;
				day = currentTime.getDate();
				year = currentTime.getFullYear();
			}	
			arrDate.value=day+"/"+month+"/"+year;
			setDepDate(document.getElementById('ArrDate'), document.getElementById('DepDate'), document.getElementById('NoOfNights').value, document.getElementById('RoomCost'),document.getElementById('oneDayCost').value);		
		}
		function checkPublicHoliday(nextDateObj,noOfNight,holidayRate,arrDate,RoomRate,oneDayCost){
			RoomRate.value ="";
			var holidays=0;
			var returnDay = nextDateObj.getDate();
			var returnMonth = nextDateObj.getMonth();
			var returnYear = nextDateObj.getFullYear();
			var arrayHoliday = new Array();
			//enter the holidays date
			//var holiday = new Array("19-8-2009","23-8-2009");
			var holiday = new Array("","");
			//enter the holidays rate
			//var holidayRateVal = new Array("","10000");
			var holidayRateVal = new Array("","");
			var j=0;
			var addDay=0;
		 	for(var i=0;i<holiday.length;i++){
		 		nextDateObj = new Date(returnYear,returnMonth,returnDay);
		 		addDay=0;
				arrayHoliday=holiday[i].split("-");
				for(j=0;j<noOfNight;j++){
					nextDateObj.setDate(nextDateObj.getDate()+addDay);				
					nextDay = nextDateObj.getDate();
					nextMonth = nextDateObj.getMonth() + 1;
					nextYear = nextDateObj.getFullYear();
					if(/^(\s*|0)$/.test(holidayRateVal[i]) && nextYear==arrayHoliday[2] && nextMonth==arrayHoliday[1] && nextDay==arrayHoliday[0]){
					 	alert("This is a weekday package and not available for public holidays on ("+holiday[i]+") \n Please select another date.");
					 	var month="";					
						var day ="";
						var year ="";
						var currentTime = new Date();
						var getNextMon = 0; 
						if(currentTime.getDay()!=5 && currentTime.getDay()!=6){
							month = currentTime.getMonth() + 1;
							day = currentTime.getDate();
							year = currentTime.getFullYear();
						}   	
						else{
							getNextMon = ((7-currentTime.getDay()));					 	
							currentTime.setDate(currentTime.getDate()+eval(getNextMon));
							month = currentTime.getMonth() + 1;
							day = currentTime.getDate();
							year = currentTime.getFullYear();
						}																		
						arrDate.value=day+"/"+month+"/"+year;
						//depDate.value="";
						nextDateObj = new Date(year, month-1,day);
						createOption(document.getElementById('NoOfNights'),nextDateObj.getDay());
						return nextDateObj;
					}
					else if(!/^(\s*|0)$/.test(holidayRateVal[i]) && nextYear==arrayHoliday[2] && nextMonth==arrayHoliday[1] && nextDay==arrayHoliday[0]){
						RoomRate.value = eval(RoomRate.value + holidayRateVal[i]);  									
						holidays=holidays+1;
					}   	
					addDay=1;
				}
			}
			var weekDays = (noOfNight - holidays) * oneDayCost;
			var roomRateVal=RoomRate.value;
			if(!/^\d+$/.test(roomRateVal)){
				roomRateVal=0;							
			}
			RoomRate.value = parseInt(roomRateVal) + parseInt(weekDays);
			nextDateObj = new Date(returnYear,returnMonth,returnDay);
			return nextDateObj; 
		}

