/******************* Common Functions **********************************/

function funcIsEmail(str_param_email)
{
	var str_current_character;
	var b_valid_email,b_period_present; 
	var i_last_position_of_period,b_correct_length_extension;
	var i_num_at_symbol=0;
	var i_pos_at_symbol;
	var i_length_of_server_name=1;
	var i_pos_consecutive_dots;
	var str_email=new String(funcTrim(str_param_email));
	i_length=str_email.length;
	b_period_present=1;
	b_correct_length_extension=1;
	i_last_position_of_period=0;
	
	if(i_length==0)
	{
		return true;
	}
	
	for(i_loop=0; i_loop<i_length; i_loop++)
	{
		if(!((str_email.charCodeAt(i_loop)>=65 && str_email.charCodeAt(i_loop)<=90)
		  || (str_email.charCodeAt(i_loop)>=97 && str_email.charCodeAt(i_loop)<=122)
		  || (str_email.charCodeAt(i_loop)>=48 && str_email.charCodeAt(i_loop)<=57)
		  || (str_email.charAt(i_loop)=="@")
		  || (str_email.charAt(i_loop)=="_")
		  || (str_email.charAt(i_loop)=="-")
		  || (str_email.charAt(i_loop)==".")))
		{
			return false;
		}
	}
	
	i_pos_consecutive_dots=str_email.indexOf('..');
	if(i_pos_consecutive_dots!=-1)
	{
		return false;
	}
	
	var i_pos_space;
	i_pos_space = str_email.indexOf(' ');
	if(i_pos_space!=-1)
	{
		return false;
	}
	
	i_last_position_of_period = str_email.lastIndexOf('.');
	if(i_last_position_of_period<=0)
	{
		b_period_present=0;
	}
	
	if(((i_length-i_last_position_of_period)>5) || ((i_length-i_last_position_of_period)<3))
	{
		b_correct_length_extension=0;
	}
	
	for(i_loop=0;i_loop<=i_length;i_loop++)
	{
		str_current_character=str_email.charAt(i_loop);
		if (str_current_character=='@')
		{
			i_num_at_symbol=i_num_at_symbol + 1;
		}
	}
	
	if(i_num_at_symbol!=1)
	{
		return false;
	}
	
	i_pos_at_symbol = str_email.indexOf('@');
	if(str_email.charAt(i_pos_at_symbol+1) == '.')
	{
		i_length_of_server_name=0;
	}
	
	if((i_num_at_symbol==1) && (b_period_present==1) && (b_correct_length_extension==1) && (i_length_of_server_name==1))
	{
		b_valid_email=1;
	}
	else
	{
		 b_valid_email=0;
	}
	
	if(b_valid_email==0)
	{
		return false;
	}
	else
	{
		return true;
	}
}

function funcTrim(paramString)
{
	var strString=new String(paramString);
	var strReturnText;
	strReturnText="";
	bNonBlankStarted=false;
	bNonBlankEnded=false;
	strIntermediateBlankChunk="";
	var iLoop;
	for(iLoop=0;iLoop<strString.length;iLoop++)
	{
		if(strString.charCodeAt(iLoop)!=32)
		{
			if(!bNonBlankStarted)
			{
				bNonBlankStarted=true;
			}
			if(bNonBlankStarted && !bNonBlankEnded)
			{
				strReturnText+=strString.charAt(iLoop);
			}
			if(bNonBlankEnded)
			{
				strReturnText+=(strIntermediateBlankChunk+strString.charAt(iLoop));
				bNonBlankEnded=false;
				strIntermediateBlankChunk="";
			}
		}
		else
		{
			if(bNonBlankStarted)
			{
				bNonBlankEnded=true;
				strIntermediateBlankChunk+=" ";
			}
		}
	}
	return strReturnText;
}

// Date format validation
	function validateDate(fld) {
	    var RegExPattern = /^(?=\d)(?:(?:(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})|(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))|(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2}))($|\ (?=\d)))?(((0?[1-9]|1[012])(:[0-5]\d){0,2}(\ [AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$/;
	    var errorMessage = 'Please enter valid date as month, day, and four digit year.\nYou may use a slash, hyphen or period to separate the values.\nThe date must be a real date. 2-30-2000 would not be accepted.\nFormay mm/dd/yyyy.';
	    if ((fld.match(RegExPattern)) && (fld!='')) {
	        return true;
	    } else {
	        return false;
	    } 
	}
		
 function funcAddCommas(nStr)
 {
	nStr += '';
	x = nStr.split('.');
	x1 = x[0];
	x2 = x.length > 1 ? '.' + x[1] : '';
	var rgx = /(\d+)(\d{3})/;
	while (rgx.test(x1)) {
		x1 = x1.replace(rgx, '$1' + ',' + '$2');
	}
	return x1 + x2;
 }


/******************* Common Functions **********************************/



// Search form Date changing
	function SetCheckoutDate()
	{
		var objForm = document.frmProviderSearch;
		var fromDay = objForm.from_day.value;
		var fromMonth = objForm.from_month.value;
		var fromYear = objForm.from_year.value;
		var toDay 	= objForm.to_day.value;
		var toMonth = objForm.to_month.value;
		var toYear 	= objForm.to_year.value;
		
		if(validateDate(fromMonth + "/" + fromDay + "/" + fromYear))
		{
			var fromDate = new Date();
			var toDate = new Date();
			
			fromDate.setFullYear(Number(fromYear), Number(fromMonth)-1, Number(fromDay));
			toDate.setFullYear(Number(fromYear), Number(fromMonth)-1, Number(fromDay)+2);
			toDay			= toDate.getDate();
			toMonth			= toDate.getMonth();
			toYear			= toDate.getYear();
			
			objForm.to_day.options[toDay-1].selected = true;
			objForm.to_month.options[toMonth].selected = true;
				
			var iFromSelected = objForm.from_year.selectedIndex;
			
			fromYear		= fromDate.getYear();
			if(Number(toYear) == Number(fromYear))
			{
				objForm.to_year.options[iFromSelected].selected = true;
			}
			else
			{
				objForm.to_year.options[1].selected = true;
			}
		}
	}

// Filtering Provider list based on Location, star/category, rateperday.
	function getProviderList(iAreaID, iStarCategoryID, iRateID, strFormAction, iPage)
	{
		var objForm								= document.frmProviderLeftNavigation;
		objForm.hidProviderAreaID.value			= iAreaID;
		objForm.hidProviderStarCategoryID.value = iStarCategoryID;
		objForm.hidProviderRateID.value			= iRateID;
		objForm.page.value						= iPage;
		objForm.action							= strFormAction;
		objForm.submit();
	}

// Filtering Provider list based on Location, star/category, rateperday and submitting for search.
	function getProviderListSearch(iAreaID, iStarCategoryID, iRateID, strFormAction, iPage)
	{
		var objForm								= document.frmTopRightSearchTab;
		objForm.hidProviderAreaID.value			= iAreaID;
		objForm.hidProviderStarCategoryID.value = iStarCategoryID;
		objForm.hidProviderRateID.value			= iRateID;
		objForm.page.value						= iPage;
		objForm.action							= strFormAction;
		objForm.submit();
	}

/* Setting from/to dates automatically in search form in Detail pages */
	function SetCheckoutDate() 
	{
		var objForm = document.frmProviderSearch;
		var fromDay = objForm.from_day.value;
		var fromMonth = objForm.from_month.value;
		var fromYear = objForm.from_year.value;
		var toDay 	= objForm.to_day.value;
		var toMonth = objForm.to_month.value;
		var toYear 	= objForm.to_year.value;
		
		if(validateDate(fromMonth + "/" + fromDay + "/" + fromYear))
		{
			var fromDate = new Date();
			var toDate = new Date();
			
			fromDate.setFullYear(Number(fromYear), Number(fromMonth)-1, Number(fromDay));
			toDate.setFullYear(Number(fromYear), Number(fromMonth)-1, Number(fromDay)+2);
			toDay			= toDate.getDate();
			toMonth			= toDate.getMonth();
			toYear			= toDate.getYear();
			
			objForm.to_day.options[toDay-1].selected = true;
			objForm.to_month.options[toMonth].selected = true;
				
			var iFromSelected = objForm.from_year.selectedIndex;

			fromYear		= fromDate.getYear();
			if(Number(toYear) == Number(fromYear))
			{
				
				objForm.to_year.options[iFromSelected].selected = true;
			}
			else
			{
				
				objForm.to_year.options[1].selected = true;
			}
		}
	}

/* Validating search form in Detail pages */
	function validateSearchForm()
	{
		var objForm = document.frmProviderSearch;
		var fromDay = objForm.from_day.value;
		var fromMonth = objForm.from_month.value;
		var fromYear = objForm.from_year.value;
		var toDay 	= objForm.to_day.value;
		var toMonth = objForm.to_month.value;
		var toYear 	= objForm.to_year.value;

		var dtCurrentDate	= new Date();
		var strCurrentYear	= dtCurrentDate.getFullYear();
		var strCurrentMonth = dtCurrentDate.getMonth()+1;
		var strCurrentDay	= dtCurrentDate.getDate();
		var dtNewDate		= new Date(strCurrentYear, strCurrentMonth, strCurrentDay+2);

		if(validateDate(fromMonth + "/" + fromDay + "/" + fromYear))
		{
			var fromDate = new Date(fromYear, fromMonth, fromDay);
		}
		else
		{
			alert("Please select a valid From date");
			return false;
		}

		if(validateDate(toMonth + "/" + toDay + "/" + toYear))
		{
			var toDate = new Date(toYear, toMonth, toDay);
		}
		else
		{
			alert("Please select a valid To date");
			return false;
		}
		
		if(toDate < fromDate)
		{
			alert("To date should not be a date before From date");
			return false;
		}

		if(dtNewDate > fromDate)
		{
			alert("From Date should be after 48 hours from the current time");
			return false;
		}
		
		objForm.action = "";
		
		return true;
	}
	
	
		function displayRow(iRow)
	{
		iRow = iRow + 1;
		var strRow;
		strRow = "row" + iRow;

		if (document.getElementById(strRow).style.display == 'none')
		{
			document.getElementById(strRow).style.display = 'block';
		}
		else
		{
			document.getElementById(strRow).style.display = 'none';
		}
	}
	
	function displayOffer(iRow)
	{
		iRow = iRow + 1;
		var strRow;
		strRow = "offerRow" + iRow;

		if (document.getElementById(strRow).style.display == 'none')
		{
			document.getElementById(strRow).style.display = 'block';
		}
		else
		{
			document.getElementById(strRow).style.display = 'none';
		}
	}


// view map details of each provider
function funcViewMap(strBookingUrl, strCircuitName, strProviderTypeName, strProviderReferenceID)
{
	window.open(strBookingUrl+'index.php?fuseaction='+strCircuitName+'.viewmap&refid='+strProviderReferenceID, strProviderTypeName+'Map', 'height=450,width=875,top=150,left=80,status=yes');
}

// show map based on provider type
function funcShowMap(strBookingUrl, strCircuitName, strProviderTypeName, strProviderTypeCode)
{
	window.open(strBookingUrl+'index.php?fuseaction='+strCircuitName+'.viewallmap&typecode='+strProviderTypeCode, strProviderTypeName+'Map', 'height=600,width=875,top=80,left=80,status=yes');
}

// map search
function funcSetToClear()
{
	var objForm = document.frmProviderMapSearch;
	objForm.txtsearch.value = "";
}

// provider room more details
function funcDisplayRow(iRow)
{
	iRow = iRow + 1;
	var strRow;
	strRow = "row" + iRow;

	if (document.getElementById(strRow).style.display == 'none')
	{
		document.getElementById(strRow).style.display = 'block';
	}
	else
	{
		document.getElementById(strRow).style.display = 'none';
	}
}

// validate whether a customer select room type from the list or not
function funcValidateBooking()
{
	var objForm	= document.frmSubmitBooking;
	var iCount	= objForm.hidTotalCount.value;
	
	var iLoop;
	var bSelected = false;
	var bReturn = true;
	
	for(iLoop = 1; iLoop <= iCount; iLoop++)
	{
		if (funcTrim(eval("objForm.cboNoOfRooms_"+iLoop+".value")) != 0)
		{
			bSelected = true;
			break;
		}
	}
	
	if (bSelected == false)
	{
		alert("Please select no. of Rooms you want to Book");
		bReturn = false;
	}

	return bReturn;
}


 function funcValidateExtraFeature(iRoomID, iCount, strRoomCart, iRoomCount)
 {
 	var objForm 		= document.frmPersonDetails;
	var iUnit			= 0;
	var iRate			= 0;
	var iCost			= 0;
	var iPersonCount	= 0;
	var iFeatureCount	= 0;
	var iUnitCount		= 0;
	var iTotalCount	 	= 0;

	iPersonCount 		= document.getElementById("hidNoOfPerson_"+iRoomID).value;
	iFeatureCount	 	= document.getElementById("hidTotalRoomFeatures_"+iRoomID).value;
	iUnitCount			= document.getElementById("txtExtraFeatureUnit_"+iRoomID+"_"+iCount).value;
	//iTotalCount			= parseInt(iRoomCount*iPersonCount);

	if(isNaN(iUnitCount) == true)
	{
		alert("Please Enter a Valid Unit");
		document.getElementById("txtExtraFeatureUnit_"+iRoomID+"_"+iCount).focus();
	}

	if(iUnitCount == 0)
	{
		alert("Unit must be greater than zero");
		document.getElementById("txtExtraFeatureUnit_"+iRoomID+"_"+iCount).focus();
	}
	if(iUnitCount > iRoomCount && document.getElementById("chkExtraFeature_"+iRoomID+"_"+iCount).value == "EB")
	{
		alert("Only ONE Extra Bed is allowed per room");
		document.getElementById("txtExtraFeatureUnit_"+iRoomID+"_"+iCount).value = iRoomCount;
		document.getElementById("txtExtraFeatureUnit_"+iRoomID+"_"+iCount).focus();
	}
	
	
	
 	if(eval("objForm.chkExtraFeature_"+iRoomID+"_"+iCount+".checked"))
	{
		if(document.getElementById("chkExtraFeature_"+iRoomID+"_"+iCount).value == "EB")
		{
			document.getElementById("txtExtraFeatureUnit_"+iRoomID+"_"+iCount).readOnly = false;
			//document.getElementById("txtExtraFeatureUnit_"+iRoomID+"_"+iCount).select();
			//document.getElementById("txtExtraFeatureUnit_"+iRoomID+"_"+iCount).focus();
		}

		for(var iLoop = 1; iLoop <= iFeatureCount; iLoop++)
		{
			if(eval("objForm.chkExtraFeature_"+iRoomID+"_"+iLoop+".value") == 'EB' && eval("objForm.chkExtraFeature_"+iRoomID+"_"+iLoop+".checked"))
			{
				iUnit = parseInt(document.getElementById("txtExtraFeatureUnit_"+iRoomID+"_"+iLoop).value);
			}
		}


		if(document.getElementById("chkExtraFeature_"+iRoomID+"_"+iCount).value != "EB" && iPersonCount > 1)
		{
			document.getElementById("txtExtraFeatureUnit_"+iRoomID+"_"+iCount).value = iPersonCount;
		}

		for(var iLoop1 = 1; iLoop1 <= iFeatureCount; iLoop1++)
		{
			if(eval("objForm.chkExtraFeature_"+iRoomID+"_"+iLoop1+".value") != 'EB' && eval("objForm.chkExtraFeature_"+iRoomID+"_"+iLoop1+".checked"))
			{
				document.getElementById("txtExtraFeatureUnit_"+iRoomID+"_"+iLoop1).value = (parseInt(iPersonCount) * parseInt(iRoomCount)) + parseInt(iUnit);
			}
		}

		funcReCalculateTotal(strRoomCart);
		
	}
	else
	{
		if(document.getElementById("chkExtraFeature_"+iRoomID+"_"+iCount).value == "EB")
		{
			document.getElementById("txtExtraFeatureUnit_"+iRoomID+"_"+iCount).value	= 1;
			document.getElementById("txtExtraFeatureUnit_"+iRoomID+"_"+iCount).readOnly = true;
		}

		document.getElementById("txtExtraFeatureUnit_"+iRoomID+"_"+iCount).value = 1;
		document.getElementById("txtExtraFeatureTotal_"+iRoomID+"_"+iCount).value = '0.00';

		for(var iLoop = 1; iLoop <= iFeatureCount; iLoop++)
		{
			if(eval("objForm.chkExtraFeature_"+iRoomID+"_"+iLoop+".value") == 'EB' && eval("objForm.chkExtraFeature_"+iRoomID+"_"+iLoop+".checked"))
			{
				iUnit = parseInt(document.getElementById("txtExtraFeatureUnit_"+iRoomID+"_"+iLoop).value);
			}
		}


		for(var iLoop1 = 1; iLoop1 <= iFeatureCount; iLoop1++)
		{
			if(eval("objForm.chkExtraFeature_"+iRoomID+"_"+iLoop1+".value") != 'EB' && eval("objForm.chkExtraFeature_"+iRoomID+"_"+iLoop1+".checked"))
			{
				document.getElementById("txtExtraFeatureUnit_"+iRoomID+"_"+iLoop1).value = (parseInt(iPersonCount) * parseInt(iRoomCount)) + parseInt(iUnit);
			}
		}

		funcReCalculateTotal(strRoomCart);
	}
 }
 
 
 function funcReCalculateTotal(strRoomCart)
 {
 	var objForm				= document.frmPersonDetails;
 	var arrRoomCart			= strRoomCart.split(";");
	var iTotalFeatureCost	= 0;
	var iTotalCost			= 0;
	var iRoomId				= 0;
	var iFeatureCount		= 0;
	var iUnit				= 0;
	var iRate				= 0;
	var iCost				= 0;
	var iDayCount			= 0;
	var iTotalPersonCount	= 0;
	
	
	iDayCount 			= parseInt(document.getElementById("hidDayCount").value);
	iTotalPersonCount	= parseInt(document.getElementById("hidTotalPersonCount").value);
	
	for(var iLoop = 0; iLoop < arrRoomCart.length; iLoop++)
	{
		var arrRoomCartSub = arrRoomCart[iLoop].split(",");

		if(arrRoomCartSub.length > 0)
		{
			iRoomId 		= arrRoomCartSub[0];
			iFeatureCount 	= document.getElementById("hidTotalRoomFeatures_"+iRoomId).value;
			
			for(var iLoop1 = 1; iLoop1 <= iFeatureCount; iLoop1++)
			{
				if(eval("objForm.chkExtraFeature_"+iRoomId+"_"+iLoop1+".checked"))
				{
					if(document.getElementById("chkExtraFeature_"+iRoomId+"_"+iLoop1).value == 'EB')
					{
						iTotalPersonCount = iTotalPersonCount + parseInt(document.getElementById("txtExtraFeatureUnit_"+iRoomId+"_"+iLoop1).value);
					}
					
					iUnit = document.getElementById("txtExtraFeatureUnit_"+iRoomId+"_"+iLoop1).value;
					iRate = document.getElementById("txtExtraFeatureRate_"+iRoomId+"_"+iLoop1).value;
					iCost = parseFloat((iUnit*iRate*iDayCount)).toFixed(2);
					document.getElementById("txtExtraFeatureTotal_"+iRoomId+"_"+iLoop1).value = iCost;
					iTotalFeatureCost = iTotalFeatureCost + parseFloat(document.getElementById("txtExtraFeatureTotal_"+iRoomId+"_"+iLoop1).value);
				}
			}
		}
	}

	iTotalCost = (parseFloat(document.getElementById("hidTotalCost").value) + iTotalFeatureCost).toFixed(2);

	document.getElementById("txtExtraFeatureTotal").value	= iTotalFeatureCost.toFixed(2);
	document.getElementById("txtTotalPersonCount").value	= iTotalPersonCount;
	document.getElementById("txtTotalCost").value			= funcAddCommas(iTotalCost);
 }

 

	function funcValidatePersonalDetails()
	{
		var objForm 			= document.frmPersonDetails;
		var strFirstName		= objForm.txtFirstName.value;
		var strLastName			= objForm.txtLastName.value;
		var iAge 				= objForm.cboAge.value;
		var strAddress 			= objForm.txtAddress.value;
		//var strPlace 			= objForm.txtPlace.value;
		var strCity 			= objForm.txtCity.value;
		var strState 			= objForm.txtState.value;
		var strCountry 			= objForm.cboCountry.value;
		var strPostCode 		= objForm.txtPostCode.value;
		var strMobileNo 		= objForm.txtMobile.value;
		var strResiNo 			= objForm.txtResi.value;
		var strEmail 			= objForm.txtEmail.value;
		var strEmailConfirm 	= objForm.txtEmailConfirm.value;
		var strArrivalFlightNo 	= objForm.txtArrivalFlightNo.value;
		
		var strFromDay 			= objForm.cboArrivalFlightDay.value;
		var strFromMonth 		= objForm.cboArrivalFlightMonth.value;
		var strFromYear 		= objForm.cboArrivalFlightYear.value;
		
		var strDeptFlightNo 	= objForm.txtDepartureFlightNo.value;
		
		var strToDay 			= objForm.cboDepartureFlightDay.value;
		var strToMonth 			= objForm.cboDepartureFlightMonth.value;
		var strToYear 			= objForm.cboDepartureFlightYear.value;
		
		var strGuestTitle 		= objForm.cboGuestTitle_1.value;
		var strGuestFirstName 	= objForm.txtGuestFirstName_1.value;
		var strGuestLastName 	= objForm.txtGuestLastName_1.value;
		var iGuestAge 			= objForm.cboGuestAge_1.value;
		var iRoomCount 			= objForm.hidRoomCount.value;
		
		var bTerms				= objForm.chkTerms.checked;
		
		var bReturn 			= true;


		var strRoomsCart		= objForm.hidRoomsCart.value;
	 	var arrRoomCart			= strRoomsCart.split(";");
		
		var iRoomId				= 0;
		var iRoomCount			= 0;
		var iFeatureCount		= 0;
		var iUnit				= 0;
		
		if(arrRoomCart.length > 0)
		{
			for(var iLoop = 0; iLoop < arrRoomCart.length; iLoop++)
			{
				var arrRoomCartSub = arrRoomCart[iLoop].split(",");
		
				if(arrRoomCartSub.length > 0)
				{
					iRoomId 		= arrRoomCartSub[0];
					iRoomCount		= arrRoomCartSub[1];
					iFeatureCount 	= document.getElementById("hidTotalRoomFeatures_"+iRoomId).value;
					
					for(var iLoop1 = 1; iLoop1 <= iFeatureCount; iLoop1++)
					{
						if(eval("objForm.chkExtraFeature_"+ iRoomId +"_"+ iLoop1 +".checked"))
						{
							iUnit 		= document.getElementById("txtExtraFeatureUnit_"+ iRoomId +"_"+ iLoop1).value;
							bReturn		= true;

							if(isNaN(iUnit) == true)
							{
								alert("Please Enter Valid Unit");
								bReturn = false;
							}
							if(bReturn == true && iUnit == 0)
							{
								alert("Unit must be greater than Zero");
								bReturn = false;
							}
							
							if(bReturn == true && iUnit > iRoomCount && document.getElementById("chkExtraFeature_"+ iRoomId +"_"+ iLoop1).value == 'EB')
							{
								alert("Only ONE Extra Bed is allowed per room");
								bReturn = false;
							}
							
							if(bReturn == false)
							{
								//alert("ok");
								document.getElementById("txtExtraFeatureUnit_"+ iRoomId +"_"+ iLoop1).select();
								document.getElementById("txtExtraFeatureUnit_"+ iRoomId +"_"+ iLoop1).focus();
								break;
							}
						}
					}
				}
			}
		}


		
		if (bReturn == true && funcTrim(strFirstName) == "")
		{
			alert("Please Enter Your Name");
			bReturn = false;
			objForm.txtFirstName.value = "";
			objForm.txtFirstName.focus();
		}
		
		if (bReturn == true && funcTrim(strLastName) == "")
		{
			alert("Please Enter Your Name");
			bReturn = false;
			objForm.txtLastName.value = "";
			objForm.txtLastName.focus();
		}

		if (bReturn == true && funcTrim(iAge) == "")
		{
			alert("Please Enter Age");
			bReturn = false;
			objForm.cboAge.focus();
		}
		
		if (bReturn == true && funcTrim(strAddress) == "")
		{
			alert("Please Enter Address");
			bReturn = false;
			objForm.txtAddress.value = "";
			objForm.txtAddress.focus();
		}
		
/*		if (bReturn == true && funcTrim(strPlace) == "")
		{
			alert("Please Enter Place");
			bReturn = false;
			objForm.txtPlace.value = "";
			objForm.txtPlace.focus();
		}
*/
		
		if (bReturn == true && funcTrim(strCity) == "")
		{
			alert("Please Enter City");
			bReturn = false;
			objForm.txtCity.value = "";
			objForm.txtCity.focus();
		}
		
		if (bReturn == true && funcTrim(strState) == "")
		{
			alert("Please Enter State");
			bReturn = false;
			objForm.txtState.value = "";
			objForm.txtState.focus();
		}
		
		if (bReturn == true && funcTrim(strCountry) == "")
		{
			alert("Please Select Country");
			bReturn = false;
			objForm.cboCountry.focus();
		}
		
		if (bReturn == true && funcTrim(strMobileNo) == "")
		{
			alert("Please Enter Mobile Number");
			bReturn = false;
			objForm.txtMobile.value = "";
			objForm.txtMobile.focus();
		}
		
		if (bReturn == true && funcTrim(strResiNo) == "")
		{
			alert("Please Enter Telephone Number");
			bReturn =  false;
			objForm.txtResi.value = "";
			objForm.txtResi.focus();
		}
		
		if (bReturn == true && funcTrim(strEmail) == "")
		{
			alert("Please Enter Email Address");
			bReturn = false;
			objForm.txtEmail.value = "";
			objForm.txtEmail.focus();
		}
		
		if (bReturn == true && funcIsEmail(strEmail) == false)
		{
			alert("Please Enter Valid Email");
			bReturn = false;
			objForm.txtEmail.focus();
		}
		
		if (bReturn == true && funcTrim(strEmailConfirm) == "")
		{
			alert("Please Enter Email Confirmation");
			bReturn = false;
			objForm.txtEmailConfirm.value = "";
			objForm.txtEmailConfirm.focus();
		}
		
		if (bReturn == true && funcIsEmail(strEmailConfirm) == false)
		{
			alert("Please Enter Valid Email");
			bReturn = false;
			objForm.txtEmailConfirm.focus();
		}
		
		if (bReturn == true && funcTrim(strEmail)!= funcTrim(strEmailConfirm))
		{
			alert("Email Confirmation Failed !");
			bReturn = false;
			objForm.txtEmailConfirm.focus();
		}
		
		if (bReturn == true && funcTrim(strGuestTitle) == 0)
		{
			alert("Please Enter at least one guest details completely");
			bReturn = false;
			objForm.cboGuestTitle_1.focus();
			
		}
		
		if (bReturn == true && funcTrim(strGuestFirstName) == "")
		{
			alert("Please Enter at least one guest details completely");
			bReturn = false;
			objForm.txtGuestFirstName_1.focus();
		}
		
		if (bReturn == true && funcTrim(strGuestLastName) == "")
		{
			alert("Please Enter at least one guest details completely");
			bReturn = false;
			objForm.txtGuestLastName_1.focus();
		}
		
		if (bReturn == true && funcTrim(iGuestAge) == "")
		{
			alert("Please Enter at least one guest details completely");
			bReturn = false;
			objForm.cboGuestAge_1.focus();
		}
		

		if (bReturn == true && funcTrim(strArrivalFlightNo) == "")
		{
			alert("Please Enter Arrival Flight Number");
			bReturn = false;
			objForm.txtArrivalFlightNo.value = "";
			objForm.txtArrivalFlightNo.focus();
		}
		
		if (bReturn == true && validateDate(strFromMonth+"/"+strFromDay+"/"+strFromYear) == false)
		{
			alert("Please Enter a Valid Arrival Date");
			bReturn = false;
			objForm.cboArrivalFlightDay.focus();
		}
		else
		{
			var FromDate = new Date(strFromYear, strFromMonth, strFromDay);			
		}
		
		if (bReturn == true && funcTrim(strDeptFlightNo) == "")
		{
			alert("Please Enter Departure Flight Number");
			bReturn = false;
			objForm.txtDepartureFlightNo.value = "";
			objForm.txtDepartureFlightNo.focus();
		}
		
		if (bReturn == true && validateDate(strToMonth+"/"+strToDay+"/"+strToYear) == false)
		{
			alert("Please Enter a validate Departure Date");
			bReturn = false;
			objForm.cboDepartureFlightDay.focus();
		}
		else
		{
			var ToDate = new Date(strToYear, strToMonth, strToDay);
		}
		
		if (bReturn == true && FromDate > ToDate)
		{
			alert("Arrival Date Should Not Be Greater than Departure Date");
			bReturn = false;
			objForm.cboArrivalFlightDay.focus();
		}

		if(bReturn == true && bTerms == false)
		{
			alert("Please read and agree terms and conditions");
			bReturn = false;
		}
		
		return bReturn;
	}
 
	// Validate Login
	 function funcValidateLogin()
	 {
	 	objForm 	= document.frmLogin;
		strEmail	= objForm.txtLogin;
		strPassword = objForm.txtLoginPassword;
		
		if(funcTrim(strEmail) == "")
		{
			alert("Please enter email");
			objForm.txtLogin.focus();
			return false;
		}
	
		if(funcTrim(strPassword) == "")
		{
			alert("Please enter password");
			objForm.txtLoginPassword.focus();
			return false;
		}
		return true;
	 }
 
	// Validate Register
	 function funcValidateRegister()
	 {
	 	var objForm 			= document.frmRegister;
		var strFirstName		= objForm.txtFirstName.value;
		var strLastName			= objForm.txtLastName.value;
		var iAge 				= objForm.cboAge.value;
		var strAddress 			= objForm.txtAddress.value;
		//var strPlace 			= objForm.txtPlace.value;
		var strCity 			= objForm.txtCity.value;
		var strState 			= objForm.txtState.value;
		var strCountry 			= objForm.cboCountry.value;
		var strEmail 			= objForm.txtEmail.value;
		var strEmailConfirm 	= objForm.txtEmailConfirm.value;
		var strPassword			= objForm.txtPassword.value;
		var bReturn 			= true;
	
		if (bReturn == true && funcTrim(strFirstName) == "")
		{
			alert("Please Enter Your Name");
			bReturn = false;
			objForm.txtFirstName.value = "";
			objForm.txtFirstName.focus();
		}

		if (bReturn == true && funcTrim(strLastName) == "")
		{
			alert("Please Enter Your Name");
			bReturn = false;
			objForm.txtLastName.value = "";
			objForm.txtLastName.focus();
		}

		if (bReturn == true && funcTrim(iAge) == "")
		{
			alert("Please Enter Age");
			bReturn = false;
			objForm.cboAge.focus();
		}
		
		if (bReturn == true && funcTrim(strAddress) == "")
		{
			alert("Please Enter Address");
			bReturn = false;
			objForm.txtAddress.value = "";
			objForm.txtAddress.focus();
		}
		
		/*if (bReturn == true && funcTrim(strPlace) == "")
		{
			alert("Please Enter Place");
			bReturn = false;
			objForm.txtPlace.value = "";
			objForm.txtPlace.focus();
		}*/
		
		if (bReturn == true && funcTrim(strCity) == "")
		{
			alert("Please Enter City");
			bReturn = false;
			objForm.txtCity.value = "";
			objForm.txtCity.focus();
		}
		
		if (bReturn == true && funcTrim(strState) == "")
		{
			alert("Please Enter State");
			bReturn = false;
			objForm.txtState.value = "";
			objForm.txtState.focus();
		}
		
		if (bReturn == true && funcTrim(strCountry) == "")
		{
			alert("Please Select Country");
			bReturn = false;
			objForm.cboCountry.focus();
		}
		
		if (bReturn == true && funcTrim(strMobileNo) == "")
		{
			alert("Please Enter Mobile Number");
			bReturn = false;
			objForm.txtMobile.value = "";
			objForm.txtMobile.focus();
		}
		
		if (bReturn == true && funcTrim(strResiNo) == "")
		{
			alert("Please Enter Telephone Number");
			bReturn =  false;
			objForm.txtResi.value = "";
			objForm.txtResi.focus();
		}
		
		if (bReturn == true && funcTrim(strEmail) == "")
		{
			alert("Please Enter Email Address");
			bReturn = false;
			objForm.txtEmail.value = "";
			objForm.txtEmail.focus();
		}
		
		if (bReturn == true && funcIsEmail(strEmail) == false)
		{
			alert("Please Enter Valid Email");
			bReturn = false;
			objForm.txtEmail.focus();
		}
		
		if (bReturn == true && funcTrim(strEmailConfirm) == "")
		{
			alert("Please Enter Email Confirmation");
			bReturn = false;
			objForm.txtEmailConfirm.value = "";
			objForm.txtEmailConfirm.focus();
		}
		
		if (bReturn == true && funcIsEmail(strEmailConfirm) == false)
		{
			alert("Please Enter Valid Email");
			bReturn = false;
			objForm.txtEmailConfirm.focus();
		}
		
		if (bReturn == true && funcTrim(strEmail)!= funcTrim(strEmailConfirm))
		{
			alert("Email Confirmation Failed !");
			bReturn = false;
			objForm.txtEmailConfirm.focus();
		}
		
		if (bReturn == true && funcTrim(strPassword) == "")
		{
			alert("Please Enter Password");
			bReturn = false;
			objForm.txtPassword.value = "";
			objForm.txtPassword.focus();
		}
		
		return bReturn;
	 }
	 
	 function funcGetProviderDetails(iProviderTypeId, iProviderId, iReservationId)
	 {
	 	window.open("index.php?fuseaction=booking.bookingdetails&ptypeid="+iProviderTypeId+"&pid="+iProviderId+"&rid="+iReservationId,'BookingDetails','height=425,width=500,top=80,left=200,menubar=0,resizable=0,scrollbars=1,location=0,titlebar=0,fullscreen=0,status=0');
	 }