/*
Strip whitespace from the beginning and end of a string
Input : a string
*/
function trim(str)
{
	return str.replace(/^\s+|\s+$/g,'');
}

/*
Function only accept character & space
*/

function onlychar(){
	if ((event.keyCode < 65 || event.keyCode > 90) && (event.keyCode < 97 || event.keyCode > 122) && event.keyCode != 32) event.returnValue = false;
}

/*
Function only accept number & space for phone number
*/

function onlynumphn(){
	if ((event.keyCode < 48 || event.keyCode > 57) && event.keyCode != 32 && (event.keyCode < 43 || event.keyCode > 44) && (event.keyCode < 40 || event.keyCode > 41)) event.returnValue = false;
}

//Function not accept single & double quotes
function noquote(){
	if (event.keyCode==34 || event.keyCode==39) event.returnValue = false;
}

//Function accept only number
function hournumberonly(){
	if ((event.keyCode < 48 || event.keyCode > 58)) event.returnValue = false;
}

/*
Make sure that textBox only contain number
*/
function checkNumber(textBox)
{
	while (textBox.value.length > 0 && isNaN(textBox.value)) {
		textBox.value = textBox.value.substring(0, textBox.value.length - 1)
	}
	
	textBox.value = trim(textBox.value);
/*	if (textBox.value.length == 0) {
		textBox.value = 0;		
	} else {
		textBox.value = parseInt(textBox.value);
	}*/
}

/*
Make sure that textBox contain min length we wanna
*/
function checkMinLength(textBox,length)
{
	if (textBox.value.length < length) {
		alert("Please enter at least "+length+" leters");
		textBox.select();
		textBox.focus();
	}
}

/*
	Check if a form element is empty.
	If it is display an alert box and focus
	on the element
*/
function isEmpty(formElement, message, alrt) {
	formElement.value = trim(formElement.value);
	
	_isEmpty = false;
	if (formElement.value == '') {
		_isEmpty = true;
		if(alrt){
			alert(message);
			formElement.focus();
		}
	}
	
	return _isEmpty;
}

/*
	Check if two form elements are equal.
	If it is display an alert box and focus
	on the element
*/
function isNotEqual(formElement1,formElement2, message) {
	formElement1.value = trim(formElement1.value);
	formElement2.value = trim(formElement2.value);
	
	_isEqual = false;
	if (formElement1.value != formElement2.value) {
		_isEqual = true;
		alert(message);
		formElement2.focus();
	}
	
	return _isEqual;
}

/*
	Check if first form element is bigger than second form elements.
	If it is display an alert box and focus
	on the element
*/
function isBigger(formElement1,formElement2, message) {
	formElement1.value = trim(formElement1.value);
	formElement2.value = trim(formElement2.value);
	
	_isBigger = false;
	if (parseInt(formElement1.value) >= parseInt(formElement2.value)) {
		_isBigger = true;
		alert(message);
		formElement2.focus();
	}
	
	return _isBigger;
}

/*

*/
function isNotEmail(formElement, message)
{
	formElement.value = trim(formElement.value);
	
	_isEmail = false;
	if(formElement.value.indexOf ('@',0) == -1 || formElement.value.indexOf ('.',0) == -1) {
		alert(message);
		formElement.select();
		formElement.focus();
		_isEmail = true;
	}
	return _isEmail;
}

/*

*/
function hasSpace(formElement, message)
{
	formElement.value = trim(formElement.value);
	
	_hasSpaceisEmail = false;
	if(formElement.value.indexOf ('@',0) == -1 || formElement.value.indexOf ('.',0) == -1) {
		alert(message);
		formElement.select();
		formElement.focus();
		_isEmail = true;
	}
	return _isEmail;
}

/*
Function check the username length
*/
function isWrongLength(formElement, message, alrt) {
	string = trim(formElement.value);
	
	_isWrongLength = false;
	if ((string.length < 5) || (string.length > 20)) {
		_isWrongLength = true;
		if(alrt){
			alert(message);
			formElement.focus();
		}
	}
	
	return _isWrongLength;
}

/*
Function check the username formart allow only letters, numbers, and underscores
*/
function isWrongFormart(formElement, message, alrt) {
	string = trim(formElement.value);
	
	_isWrongFormart = false;
	var illegalChars = /\W/;
  // allow only letters, numbers, and underscores
    if (illegalChars.test(string)) {
//       error = "The username contains illegal characters.\n";
		_isWrongFormart = true;
		if(alrt){
			alert(message);
			formElement.focus();
		}
	}
	
	return _isWrongFormart;
}

/*
Function check the password formart allow only letters and numbers
*/
function isWrongFormartLetNum(formElement, message, alrt) {
	string = trim(formElement.value);
	
	_isWrongFormart = false;
	var illegalChars = /[\W_]/;
  // allow only letters and numbers
    if (illegalChars.test(string)) {
//       error = "The password contains illegal characters.\n";
		_isWrongFormart = true;
		if(alrt){
			alert(message);
			formElement.focus();
		}
	}
	
	return _isWrongFormart;
}


















//Function swap image restore
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

//Function preload image
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

//Function find object
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

//Function swap image
function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

//Function formart checkout date
function formartdate(form) {
	for (var i = 0; i < form.arr_y.length; i++) {
      if (form.arr_y.options[i].selected)
        var fyear = form.arr_y.options[i].text;
    }
	
	var checkinDate = new Date(fyear,form.arr_m.selectedIndex,form.arr_d.selectedIndex+1);
	
	var checkoutDate = new Date(checkinDate.getTime()+(1000*60*60*24*1));
	var out_d = checkoutDate.getDate();
	var out_m = checkoutDate.getMonth();
	var out_y = checkoutDate.getFullYear();
	
    form.dep_d.options[out_d-1].selected=1;
	form.dep_m.options[out_m].selected=1;
	for (var i = 0; i < form.dep_y.length; i++){		
      	if(form.dep_y.options[i].text == out_y){
			form.dep_y.options[i].selected=1;
		}
    }	
}

//Weekday Array
var wdArray = new Array("Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat")

//Set day in week of arrival and departure date
function setWkd(form){
//	var form = document.frmtourbooking;
	var dep_dV = form.dep_d.value;
    var checkinDate = new Date(form.arr_y.value, (form.arr_m.value-1), form.arr_d.value);
	if(dep_dV != ""){
	    var checkoutDate = new Date(form.dep_y.value, (form.dep_m.value-1), form.dep_d.value);
	}

    form.inWd.value = "(" + wdArray[checkinDate.getDay()] + ")";
    if(dep_dV){
		form.outWd.value = "(" + wdArray[checkoutDate.getDay()] + ")";
	}
}

//Function detect arrival and departure date
function checkvaliddate(form){
	// IN Date
    var fyear = form.arr_y.value;
	var inDate = new Date (Date.UTC(fyear,(form.arr_m.value-1),form.arr_d.value));
	var inDtVal = inDate.getTime();
	
	// OUT Date
    var outyear = form.dep_y.value;
	var outDate = new Date (Date.UTC(outyear,(form.dep_m.value-1),form.dep_d.value));
	var outDtVal = outDate.getTime();

	var today = new Date();	
	var cdate = today.getTime()+(1000*60*60*24*4);
	
	if (inDtVal <= cdate)
	{
		alert("Arrival date must be the 5 days after current date!");
		form.CheckInD.focus();
		return false;

	}
	else
	{
		var num = Math.round((inDtVal-cdate)/(1000*60*60*24));
		if (num<0)
		{
			alert("Cannot make reservation in the past");
			return false;
		}
		else{
			if((outDtVal-inDtVal)<=0){
				alert("Invalid Departure Date, Please try again");
				form.CheckOutD.focus();
				return false;
			}
			else{
				var length = Math.round((outDtVal-inDtVal)/(1000*60*60*24));
				if(length < 1){
					alert("Please choose a new departure.");
					form.CheckOutD.focus();
					return false;
				}
				else
					return true;

			}
		}
	}
}

//Function detect arrival date
function checkarrivaldate(form){
	// IN Date
    var fyear = form.arr_y.value;
	var inDate = new Date (Date.UTC(fyear,(form.arr_m.value-1),form.arr_d.value));
	var inDtVal = inDate.getTime();

	var today = new Date();	
	var cdate = today.getTime()+(1000*60*60*24*4);
	if (inDtVal <= cdate)
	{
		alert("Arrival date must be the 5 days after current date!");
		form.CheckInD.focus();
		return false;

	}
	else
	{
		var num = Math.round((inDtVal-cdate)/(1000*60*60*24));
		if (num<0)
		{
			alert("Cannot make reservation in the past");
			return false;
		}
		else
			return true;
	}
}

//Function detect from reservation
function detectfrmreserv(frm){
	var itm = 21;
	var numrcat = eval(frm.numrcat.value);
	
	if(frm.gender.selectedIndex == 0){
		alert("Please select your solutation!");
		frm.gender.focus();
		return false;
	}
	else
		if(frm.txtcustfname.value == ""){
			alert("Please enter your first name!");
			frm.txtcustfname.focus();
			return false;
		}
		else
			if(frm.txtcustlname.value == ""){
				alert("Please enter your last name!");
				frm.txtcustlname.focus();
				return false;
			}
			else
				if(frm.txtcustemail.value == ""){
					alert("Please enter your email address!");
					frm.txtcustemail.focus();
					return false;
				}
				else
					if(frm.txtcustemail.value.indexOf ('@',0) == -1 || frm.txtcustemail.value.indexOf ('.',0) == -1) {
							alert ("The Email field requires a \"@\" and a \".\" be used. \n\nPlease re-enter your Email address.")
							frm.txtcustemail.select();
							frm.txtcustemail.focus();
							return false;
					}
					else
						if(frm.txtcustnation.selectedIndex == 0){
							alert("Please select your nationality from list!");
							frm.txtcustnation.focus();
							return false;
						}
						else
							if(frm.txtcustcount.selectedIndex == 0){
								alert("Please select your country of residence!");
								frm.txtcustcount.focus();
								return false;
							}
							else
								if(!checkvaliddate(frm)){
									return false;
								}
								else
									if(!confirmbookcheckedrcat(frm)){
										frm.elements[itm-1].focus();
										return false;
									}
									else{
										for(i=1;i<=numrcat;i++){
											if(frm.elements[itm-1].checked == true){
												if(frm.elements[itm].value == ""){
													alert("Please enter number of room!");
													frm.elements[itm].focus();
													return false;
												}
												else
													if(frm.elements[itm+1].value == "" && frm.elements[itm+2].value == ""){
														alert("Please enter number of adult(s) and children!");
														frm.elements[itm+1].focus();
														return false;
													}
											}
											itm+=4;
										}
										
										if(frm.pickuptrans.checked == true){
											if(frm.txtflightdetails.value == ""){
												alert("Please enter transport/flight details!");
												frm.txtflightdetails.focus();
												return false;
											}
										}
										
										if(frm.txtspecialrequest.value == ""){
											alert("Please enter your special request!");
											frm.txtspecialrequest.focus();
											return false;
										}
										else
											return true;
									}
}

//Function detect from tour booking
function detectfrmtourbook(frm){
	if(!checkarrivaldate(frm)){
		return false;
	}
	else{
		if(frm.txtarrflght.value != ""){
			if(frm.txtarrtime.value == ""){
				alert("Please enter arrival time!");
				frm.txtarrtime.focus();
				return false;
			}
		}
		if(frm.txtdepflght.value != ""){
			if(frm.txtdeptime.value == ""){
				alert("Please enter departure time!");
				frm.txtdeptime.focus();
				return false;
			}
		}
		if(frm.txttourcode.value == ""){
			alert("Please enter the tour code!");
			frm.txttourcode.focus();
			return false;
		}
		else
			if(frm.txthotcat.value == ""){//selectedIndex == 0
				alert("Please select hotel category!");
				frm.txthotcat.focus();
				return false;
			}
			else
				if(frm.txtnumroom.value == ""){
					alert("Please enter number of room(s)!");
					frm.txtnumroom.focus();
					return false;
				}
				else
					if(frm.txtnumadult.value == "" && frm.txtnumchild.value == ""){
						alert("Please enter number of adult(s) and children!");
						frm.txtnumadult.focus();
						return false;
					}
					else
						if(frm.gstgender.selectedIndex == 0){
							alert("Please select guest solutation!");
							frm.gstgender.focus();
							return false;
						}
						else
							if(frm.txtgstfname.value == ""){
								alert("Please enter guest first name!");
								frm.txtgstfname.focus();
								return false;
							}
							else
								if(frm.txtgstlname.value == ""){
									alert("Please enter guest last name!");
									frm.txtgstlname.focus();
									return false;
								}
								else
									if(frm.txtgstnation.selectedIndex == 0){
										alert("Please select guest nationality!");
										frm.txtgstnation.focus();
										return false;
									}
									else
										if(frm.samegstinfo.checked == false && frm.gender.selectedIndex == 0){
											alert("Please select your solutation!");
											frm.gender.focus();
											return false;
										}
										else
											if(frm.samegstinfo.checked == false && frm.txtcustfname.value == ""){
												alert("Please enter your first name!");
												frm.txtcustfname.focus();
												return false;
											}
											else
												if(frm.samegstinfo.checked == false && frm.txtcustlname.value == ""){
													alert("Please enter your last name!");
													frm.txtcustlname.focus();
													return false;
												}
												else
													if(frm.txtcustemail.value == ""){
														alert("Please enter your email address!");
														frm.txtcustemail.focus();
														return false;
													}
													else
														if(frm.txtcustemail.value.indexOf ('@',0) == -1 || frm.txtcustemail.value.indexOf ('.',0) == -1) {
															alert ("The Email field requires a \"@\" and a \".\" be used. \n\nPlease re-enter your Email address.")
															frm.txtcustemail.select();
															frm.txtcustemail.focus();
															return false;
														}
														else
															if(frm.txtcustemail2.value == ""){
																alert("Please enter the re-enter email address!");
																frm.txtcustemail2.focus();
																return false;
															}
															else
																if(frm.txtcustemail.value != frm.txtcustemail2.value ){
																	alert("Your email doest not match!");
																	frm.txtcustemail2.select();
																	frm.txtcustemail2.focus();
																	return false;
																}
																else
																	if(frm.samegstinfo.checked == false && frm.txtcustnation.selectedIndex == 0){
																		alert("Please select your nationality!");
																		frm.txtcustnation.focus();
																		return false;
																	}
																	else
																		if(frm.txtcustcount.selectedIndex == 0){
																			alert("Please select your country of residence!");
																			frm.txtcustcount.focus();
																			return false;
																		}
																		else
																			return true;
	}
}

//Function detect from tour inquiry
function detectfrmtourinquiry(frm){
	if(!checkarrivaldate(frm)){
		return false;
	}
	else{
		if(frm.txtarrflght.value != ""){
			if(frm.txtarrtime.value == ""){
				alert("Please enter arrival time!");
				frm.txtarrtime.focus();
				return false;
			}
		}
		if(frm.txtdepflght.value != ""){
			if(frm.txtdeptime.value == ""){
				alert("Please enter departure time!");
				frm.txtdeptime.focus();
				return false;
			}
		}
		if(frm.txttouritine.value == ""){
			alert("Please enter the tour itineraries!");
			frm.txttouritine.focus();
			return false;
		}
		else
			if(frm.txthotcat.value == ""){//selectedIndex == 0
				alert("Please select hotel category!");
				frm.txthotcat.focus();
				return false;
			}
			else
				if(frm.txtnumroom.value == ""){
					alert("Please enter number of room(s)!");
					frm.txtnumroom.focus();
					return false;
				}
				else
					if(frm.txtnumadult.value == "" && frm.txtnumchild.value == ""){
						alert("Please enter number of adult(s) and children!");
						frm.txtnumadult.focus();
						return false;
					}
					else
						if(frm.gstgender.selectedIndex == 0){
							alert("Please select guest solutation!");
							frm.gstgender.focus();
							return false;
						}
						else
							if(frm.txtgstfname.value == ""){
								alert("Please enter guest first name!");
								frm.txtgstfname.focus();
								return false;
							}
							else
								if(frm.txtgstlname.value == ""){
									alert("Please enter guest last name!");
									frm.txtgstlname.focus();
									return false;
								}
								else
									if(frm.txtgstnation.selectedIndex == 0){
										alert("Please select guest nationality!");
										frm.txtgstnation.focus();
										return false;
									}
									else
										if(frm.samegstinfo.checked == false && frm.gender.selectedIndex == 0){
											alert("Please select your solutation!");
											frm.gender.focus();
											return false;
										}
										else
											if(frm.samegstinfo.checked == false && frm.txtcustfname.value == ""){
												alert("Please enter your first name!");
												frm.txtcustfname.focus();
												return false;
											}
											else
												if(frm.samegstinfo.checked == false && frm.txtcustlname.value == ""){
													alert("Please enter your last name!");
													frm.txtcustlname.focus();
													return false;
												}
												else
													if(frm.txtcustemail.value == ""){
														alert("Please enter your email address!");
														frm.txtcustemail.focus();
														return false;
													}
													else
														if(frm.txtcustemail.value.indexOf ('@',0) == -1 || frm.txtcustemail.value.indexOf ('.',0) == -1) {
															alert ("The Email field requires a \"@\" and a \".\" be used. \n\nPlease re-enter your Email address.")
															frm.txtcustemail.select();
															frm.txtcustemail.focus();
															return false;
														}
														else
															if(frm.txtcustemail2.value == ""){
																alert("Please enter the re-enter email address!");
																frm.txtcustemail2.focus();
																return false;
															}
															else
																if(frm.txtcustemail.value != frm.txtcustemail2.value ){
																	alert("Your email doest not match!");
																	frm.txtcustemail2.select();
																	frm.txtcustemail2.focus();
																	return false;
																}
																else
																	if(frm.samegstinfo.checked == false && frm.txtcustnation.selectedIndex == 0){
																		alert("Please select your nationality!");
																		frm.txtcustnation.focus();
																		return false;
																	}
																	else
																		if(frm.txtcustcount.selectedIndex == 0){
																			alert("Please select your country of residence!");
																			frm.txtcustcount.focus();
																			return false;
																		}
																		else
																			return true;
	}
}

//Function detect from hotel booking
function detectfrmhotelbook(frm){
	if(!checkvaliddate(frm)){
		return false;
	}
	else{
		if(frm.txtarrflght.value != ""){
			if(frm.txtarrtime.value == ""){
				alert("Please enter arrival time!");
				frm.txtarrtime.focus();
				return false;
			}
		}
		if(frm.txtdepflght.value != ""){
			if(frm.txtdeptime.value == ""){
				alert("Please enter departure time!");
				frm.txtdeptime.focus();
				return false;
			}
		}
		if(frm.txttourcode.value == ""){
			alert("Please enter the tour code!");
			frm.txttourcode.focus();
			return false;
		}
		else
			if(frm.txthotcat.value == ""){//selectedIndex == 0
				alert("Please select hotel category!");
				frm.txthotcat.focus();
				return false;
			}
			else
				if(frm.txtnumroom.value == ""){
					alert("Please enter number of room(s)!");
					frm.txtnumroom.focus();
					return false;
				}
				else
					if(frm.txtnumadult.value == "" && frm.txtnumchild.value == ""){
						alert("Please enter number of adult(s) and children!");
						frm.txtnumadult.focus();
						return false;
					}
					else
						if(frm.gstgender.selectedIndex == 0){
							alert("Please select guest solutation!");
							frm.gstgender.focus();
							return false;
						}
						else
							if(frm.txtgstfname.value == ""){
								alert("Please enter guest first name!");
								frm.txtgstfname.focus();
								return false;
							}
							else
								if(frm.txtgstlname.value == ""){
									alert("Please enter guest last name!");
									frm.txtgstlname.focus();
									return false;
								}
								else
									if(frm.txtgstnation.selectedIndex == 0){
										alert("Please select guest nationality!");
										frm.txtgstnation.focus();
										return false;
									}
									else
										if(frm.samegstinfo.checked == false && frm.gender.selectedIndex == 0){
											alert("Please select your solutation!");
											frm.gender.focus();
											return false;
										}
										else
											if(frm.samegstinfo.checked == false && frm.txtcustfname.value == ""){
												alert("Please enter your first name!");
												frm.txtcustfname.focus();
												return false;
											}
											else
												if(frm.samegstinfo.checked == false && frm.txtcustlname.value == ""){
													alert("Please enter your last name!");
													frm.txtcustlname.focus();
													return false;
												}
												else
													if(frm.txtcustemail.value == ""){
														alert("Please enter your email address!");
														frm.txtcustemail.focus();
														return false;
													}
													else
														if(frm.txtcustemail.value.indexOf ('@',0) == -1 || frm.txtcustemail.value.indexOf ('.',0) == -1) {
															alert ("The Email field requires a \"@\" and a \".\" be used. \n\nPlease re-enter your Email address.")
															frm.txtcustemail.select();
															frm.txtcustemail.focus();
															return false;
														}
														else
															if(frm.txtcustemail2.value == ""){
																alert("Please enter the re-enter email address!");
																frm.txtcustemail2.focus();
																return false;
															}
															else
																if(frm.txtcustemail.value != frm.txtcustemail2.value ){
																	alert("Your email doest not match!");
																	frm.txtcustemail2.select();
																	frm.txtcustemail2.focus();
																	return false;
																}
																else
																	if(frm.samegstinfo.checked == false && frm.txtcustnation.selectedIndex == 0){
																		alert("Please select your nationality!");
																		frm.txtcustnation.focus();
																		return false;
																	}
																	else
																		if(frm.txtcustcount.selectedIndex == 0){
																			alert("Please select your country of residence!");
																			frm.txtcustcount.focus();
																			return false;
																		}
																		else
																			return true;
	}
}

//Function detect form hotel booking
function detectfrmhotelbook(frm){
	if(!checkvaliddate(frm)){
		return false;
	}
	else
		if(frm.txthotname.value == ""){
			alert("Please enter the hotel name!");
			frm.txthotname.focus();
			return false;
		}
		else
			if(frm.txtroomcat.value == ""){//selectedIndex == 0
				alert("Please select room type!");
				frm.txtroomcat.focus();
				return false;
			}
			else
/*				if(frm.txtratetype.value == ""){//selectedIndex == 0
					alert("Please select rate type!");
					frm.txtratetype.focus();
					return false;
				}
				else*/
					if(frm.txtbedtype.value == ""){
						alert("Please select bed type!");
						frm.txtbedtype.focus();
						return false;
					}
					else
						if(frm.txtnumroom.value == ""){
							alert("Please enter number of room(s)!");
							frm.txtnumroom.focus();
							return false;
						}
						else
							if(frm.txtnumadult.value == "" && frm.txtnumchild.value == ""){
								alert("Please enter number of adult(s) and children!");
								frm.txtnumadult.focus();
								return false;
							}
							else
								if(frm.gstgender.selectedIndex == 0){
									alert("Please select guest solutation!");
									frm.gstgender.focus();
									return false;
								}
								else
									if(frm.txtgstfname.value == ""){
										alert("Please enter guest first name!");
										frm.txtgstfname.focus();
										return false;
									}
									else
										if(frm.txtgstlname.value == ""){
											alert("Please enter guest last name!");
											frm.txtgstlname.focus();
											return false;
										}
										else
											if(frm.txtgstnation.selectedIndex == 0){
												alert("Please select guest nationality!");
												frm.txtgstnation.focus();
												return false;
											}
											else
												if(frm.samegstinfo.checked == false && frm.gender.selectedIndex == 0){
													alert("Please select your solutation!");
													frm.gender.focus();
													return false;
												}
												else
													if(frm.samegstinfo.checked == false && frm.txtcustfname.value == ""){
														alert("Please enter your first name!");
														frm.txtcustfname.focus();
														return false;
													}
													else
														if(frm.samegstinfo.checked == false && frm.txtcustlname.value == ""){
															alert("Please enter your last name!");
															frm.txtcustlname.focus();
															return false;
														}
														else
															if(frm.txtcustemail.value == ""){
																alert("Please enter your email address!");
																frm.txtcustemail.focus();
																return false;
															}
															else
																if(frm.txtcustemail.value.indexOf ('@',0) == -1 || frm.txtcustemail.value.indexOf ('.',0) == -1) {
																	alert ("The Email field requires a \"@\" and a \".\" be used. \n\nPlease re-enter your Email address.")
																	frm.txtcustemail.select();
																	frm.txtcustemail.focus();
																	return false;
																}
																else
																	if(frm.txtcustemail2.value == ""){
																		alert("Please enter the re-enter email address!");
																		frm.txtcustemail2.focus();
																		return false;
																	}
																	else
																		if(frm.txtcustemail.value != frm.txtcustemail2.value ){
																			alert("Your email doest not match!");
																			frm.txtcustemail2.select();
																			frm.txtcustemail2.focus();
																			return false;
																		}
																		else
																			if(frm.samegstinfo.checked == false && frm.txtcustnation.selectedIndex == 0){
																				alert("Please select your nationality!");
																				frm.txtcustnation.focus();
																				return false;
																			}
																			else
																				if(frm.txtcustcount.selectedIndex == 0){
																					alert("Please select your country of residence!");
																					frm.txtcustcount.focus();
																					return false;
																				}
																				else
																					return true;
}



//Functoin set Billing Information as Guest Information
function setbillinginfo(form, isChecked)
{
	if (isChecked) {
		form.gender.value = form.gstgender.value;
		form.txtcustfname.value  = form.txtgstfname.value;
		form.txtcustlname.value   = form.txtgstlname.value;
		form.txtcustnation.value = form.txtgstnation.value;
		
		form.gender.disabled = true;
		form.txtcustfname.readOnly  = true;
		form.txtcustlname.readOnly   = true;
		form.txtcustnation.disabled = true;
	} else {
		form.gender.disabled = false;
		form.txtcustfname.readOnly  = false;
		form.txtcustlname.readOnly   = false;
		form.txtcustnation.disabled = false;
	}
}

//Function calculate the number of night
function CountDays(form, VarLocationNew, DropdownType) {
//	var form = document.frmtourbooking;
	
	//Calculate the check in date
	if (DropdownType == 'CheckInMY') {
		MY = VarLocationNew.split("-");
		form.arr_m.value = MY[1];
		form.arr_y.value = MY[0];
	}
	else if (DropdownType == 'CheckInD') { form.arr_d.value = VarLocationNew; }
	
	//Calculate the check out date
	if (DropdownType == 'CheckOutMY') {
		OutMY = VarLocationNew.split("-");
		form.dep_m.value = OutMY[1];
		form.dep_y.value = OutMY[0];
	}
	else if (DropdownType == 'CheckOutD') { form.dep_d.value = VarLocationNew; }
	
	
	var dep_dV = form.dep_d.value;
	//If value of departure day is not null so we calculate the number of nights
	if(dep_dV != ""){
		if (DropdownType == 'CheckOutMY') {
			MY = VarLocationNew.split("-");
			form.dep_m.value = MY[1];
			form.dep_y.value = MY[0];
		}
		else if (DropdownType == 'CheckOutD') { form.dep_d.value = VarLocationNew; }
	
		var min = form.arr_m.value-1;
		var din = form.arr_d.value;
		var yin = form.arr_y.value;
		var mout = form.dep_m.value-1;
		var dout = form.dep_d.value;
		var yout = form.dep_y.value;
		var h  = 0;
		var n  = 0;
		var s  = 0;
		var checkinDate  = new Date(yin,min,din,h,n,s);
		var checkoutDate = new Date(yout,mout,dout,h,n,s);
	
		checkinTime  = checkinDate.getTime();
		checkoutTime = checkoutDate.getTime();
		TotDaysMillisec = checkoutTime - checkinTime;
		if (TotDaysMillisec >0) {
			form.nonights.value = Math.round(TotDaysMillisec / (1000 * 60 * 60 *24));
		} else {
			form.nonights.value = 0;
		}
	}
}

// Detect Email Us form
function checkEmailUsForm()
{
	with (window.document.frmemailus) {
		if (isEmpty(txtfullname, 'Enter full name', true)) {
			return;
		} else if (isEmpty(txtaddress, 'Enter address', true)) {
			return;
		} else if (isEmpty(txtemail, 'Enter email', true)) {
			return;
		} else if(isNotEmail(txtemail, 'The Email field requires a \"@\" and a \".\" be used. \n\nPlease re-enter your Email address.')){
			return;
		} else if (isEmpty(txttel, 'Enter telephone phone', true)) {
			return;
		} else if (isEmpty(txtmessage, 'Enter message', true)) {
			return;
		} else {
			txtcompany.value = trim(txtcompany.value);
			submit();
		}
	}
}



//If all check optoin are checked
function allcheckChecks(frm){
     var objFormElements = frm.elements;
     var numCheckOption=0, numTotal=0;
	 var checkallIndex;
	 
     for(i=0;i<objFormElements.length;i++){
          if(objFormElements[i].type=="checkbox"){
	          if(objFormElements[i].name == "bolCheckAll"){
	               checkallIndex = i;
	          }
              numCheckOption = numCheckOption+1;
          }
     }
//	 alert(numCheckOption);
	 
	 for(i=0;i<objFormElements.length;i++){
          if((objFormElements[i].type=="checkbox") && (objFormElements[i].checked==true) && (objFormElements[i].name != "bolCheckAll")){
               numTotal = numTotal+1;
          }
     }
//	 alert(numTotal);
	 
	 if(checkallIndex!=null)
		 if((numCheckOption - numTotal)==1){
			objFormElements[checkallIndex].checked=true;
		 }
		 else{
			objFormElements[checkallIndex].checked=false;
		 }
}

//Clear all checked check option
function clearChecks(frm){
     var objFormElements = frm.elements;
	 for(i=0;i<objFormElements.length;i++){
          if(objFormElements[i].type =="checkbox"){
              objFormElements[i].checked=false;
          }
     }
}

//Check all check optoin
function checkChecks(frm){
     var objFormElements = frm.elements;
     var numTotal =0;
     for(i=0;i<objFormElements.length;i++){
          if(objFormElements[i].type =="checkbox"){
              objFormElements[i].checked=true;
               numTotal = numTotal + parseFloat(objFormElements[i].value)
          }
      }
}

//Confirm delete more items
function confirmdelcheckeditems(itemnm,frm){
	 var val = false;
     var objFormElements = frm.elements;
     for(i=0;i<objFormElements.length;i++){
          if(objFormElements[i].type =="checkbox"){
              if(objFormElements[i].checked==true){
				val=true;
			  }
          }
      }

	  if(val){
      	return confirm('Are you sure want to Delete the selected '+ itemnm +'?'); 
      }
	  else{
		alert("No item is selected for Deleting!");
		return false;  
	  }
}

//Confirm publish more items
function confirmpubcheckeditems(itemnm,frm){
	 var val = false;
     var objFormElements = frm.elements;
     for(i=0;i<objFormElements.length;i++){
          if(objFormElements[i].type =="checkbox"){
              if(objFormElements[i].checked==true){
				val=true;
			  }
          }
      }

	  if(val){
      	return true;//confirm('Are you sure want to Publish the selected '+ itemnm +'?'); 
      }
	  else{
		alert("No item is selected for Publishing!");
		return false;  
	  }
}

//Confirm unpublish more items
function confirmunpubcheckeditems(itemnm,frm){
	 var val = false;
     var objFormElements = frm.elements;
     for(i=0;i<objFormElements.length;i++){
          if(objFormElements[i].type =="checkbox"){
              if(objFormElements[i].checked==true){
				val=true;
			  }
          }
      }

	  if(val){
      	return true;//confirm('Are you sure want to Unpublish the selected '+ itemnm +'?'); 
      }
	  else{
		alert("No item is selected for Unpublishing!");
		return false;  
	  }
}

//Confirm edit more items
function confirmeditcheckeditems(itemnm,frm){
	 var val = false;
     var objFormElements = frm.elements;
     for(i=0;i<objFormElements.length;i++){
          if(objFormElements[i].type =="checkbox"){
              if(objFormElements[i].checked==true){
				val=true;
			  }
          }
      }

	  if(val){
      	return true;//confirm('Are you sure want to Publish the selected '+ itemnm +'?'); 
      }
	  else{
		alert("No item is selected for Edit!");
		return false;  
	  }
}


//Display Departure Dates Form
function displayDeptDateForm(){
	var dDtD = document.getElementById('depDateForm');
	var d = dDtD.style;
	
	if(d.display=='block'){
		d.display='none';
		dDtD.innerHTML='&nbsp;';
	}
	else{
		d.display='block';
		dDtD.innerHTML='<table width="800" border="0" align="center" cellpadding="0" cellspacing="0"><tr><td colspan="3" align="center" class="note">&nbsp;</td></tr><tr><td width="130" height="25" align="left">From * </td><td width="30">:</td><td width="640" align="left"><input name="txtstartdate" type="text" id="txtstartdate" size="95" maxlength="10" class="textbox" readonly="readonly" />&nbsp;<a href="#" onclick="cal2.select(document.forms[0].txtstartdate,\'anchor2\',\'yyyy-MM-dd\'); return false;" title="cal2.select(document.forms[0].txtstartdate,\'anchor2\',\'yyyy-MM-dd\'); return false;" name="anchor2" id="anchor2">select</a></td></tr><tr><td height="30" align="left">To *</td><td>:</td><td class="padd_t_5" align="left"><input name="txtenddate" type="text" id="txtenddate" size="95" maxlength="10" class="textbox" readonly="readonly" />&nbsp;<a href="#" onclick="cal2.select(document.forms[0].txtenddate,\'anchor3\',\'yyyy-MM-dd\'); return false;" title="cal2.select(document.forms[0].txtenddate,\'anchor3\',\'yyyy-MM-dd\'); return false;" name="anchor3" id="anchor3">select</a></td></tr><tr><td>&nbsp;</td><td>&nbsp;</td><td>&nbsp;</td></tr></table>';
	}
}
