// Get the HTTP Object
function getHTTPObject(){
	if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");
	else if (window.XMLHttpRequest) return new XMLHttpRequest();
	else {
		alert("Your browser does not support AJAX.");
		return null;
	}
}

function Febdays (year){
	// February has 29 days in any year evenly divisible by four,
    // EXCEPT for centurial years which are not also divisible by 400.
    return (((year % 4 == 0) && ( (!(year % 100 == 0)) || (year % 400 == 0))) ? 29 : 28 );
}


function iscorrectDate(day,month,year){
	var daysInMonth = DaysArray(12)
	if (month<1 || month>12){
		return false
	}
	if (day<1 || day>31 || (month==2 && day>Febdays(year)) || day > daysInMonth[month]){
		return false
	}
	if (year==0 || year<minYear || year>maxYear){
		return false
	}
return true;
}

function addcorrectDays(dtStr,dayAdd)
{
	if(dayAdd<1)
		return false;
	dateArr=dtStr.split("/")
	var strMonth=dateArr[1];
	var strDay=dateArr[0];
	var strYear=dateArr[2];
	strYr=strYear
	if (strDay.charAt(0)=="0" && strDay.length>1) strDay=strDay.substring(1)
	if (strMonth.charAt(0)=="0" && strMonth.length>1) strMonth=strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr=strYr.substring(1)
	}
	month=parseInt(strMonth)
	day=parseInt(strDay)
	year=parseInt(strYr)
	for(i=0;i<dayAdd;i++)
	{
		day=day+1;
		if( !iscorrectDate(day,month,year) ) 
		{
			day=1;
			month=month+1;
			if( !iscorrectDate(day,month,year) ) 
			{
				month=1;
				year=year+1;
			}
		}

	}
	strDay = (day<10) ? '0'+day : day ;
	strMonth = (month<10) ? '0'+month : month ;
	strDate = strDay + "/" + strMonth + "/" + year;
	return strDate;
}


function isValidResDate(dtStr)
{
	dateArr = dtStr.split("/")
	var strMonth = dateArr[1];
	var strDay = dateArr[0];
	var strYear = dateArr[2];
	strYr = strYear
	if (strDay.charAt(0) == "0" && strDay.length > 1) strDay = strDay.substring(1)
	if (strMonth.charAt(0) == "0" && strMonth.length > 1) strMonth = strMonth.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr.charAt(0)=="0" && strYr.length>1) strYr = strYr.substring(1)
	}
	month = parseInt(strMonth)
	day = parseInt(strDay)
	year = parseInt(strYr)

	dateArr2 = todayDate.split("/")
	var strMonth2 = dateArr2[1];
	var strDay2 = dateArr2[0];
	var strYear2 = dateArr2[2];
	strYr2 = strYear2
	if (strDay2.charAt(0)=="0" && strDay2.length>1) strDay2 = strDay2.substring(1)
	if (strMonth2.charAt(0)=="0" && strMonth2.length>1) strMonth2 = strMonth2.substring(1)
	for (var i = 1; i <= 3; i++) {
		if (strYr2.charAt(0)=="0" && strYr2.length>1) strYr2 = strYr2.substring(1)
	}
	month2 = parseInt(strMonth2)
	day2 = parseInt(strDay2)
	year2 = parseInt(strYr2)
	if(year2 < year)
		return true;
	else
	{
		if(month2<month)
			return true;
		else
		{
			if(day2<=day)
				return true;
			else
			{
				return false;
			}
		}
	}
}

function emailValidator(elem, helperMsg){
	var emailExp = /^[\w\-\.\+]+\@[a-zA-Z0-9\.\-]+\.[a-zA-z0-9]{2,4}$/;
	if(elem.value.match(emailExp)){
		return true;
	}else{
		alert(helperMsg);
	    elem.value = "";
		elem.focus();
		return false;
	}
}


function fnCheckoutSubmit(frmCheckout)
{
	error = '';
	
	if(document.frmCheckout.title.value == '') {
		error = "Please select a Title\n";
		document.frmCheckout.title.focus();
	}
	
	if(!check_blank(document.frmCheckout.FirstName.value)) {
		error += "Please enter First Name\n";
		document.frmCheckout.FirstName.focus();
	}
	
	if(!check_blank(document.frmCheckout.LastName.value)) {
		error += "Please enter Last Name\n";
		document.frmCheckout.LastName.focus();
	}
	
	if(!check_blank(document.frmCheckout.Email.value)) {
		
		  error += "Please enter Email Address\n";
		  document.frmCheckout.Email.focus();
		        
		
	}
	else
	{
		
		var v1=document.frmCheckout.Email.value
		var v2=document.frmCheckout.useremail.value
		error="";
		if(check_blank(v2))
		{
			if(v1 != v2)
			{
			error += "Please use same email Id  for Premier Club Members Registration.\n";
			document.frmCheckout.useremail.focus();
						
			}
		}
		
	}
	if(!check_blank_email(document.frmCheckout.Email.value) && document.frmCheckout.Email.value!='') {
		error += "Please enter correct Email Address\n";
		document.frmCheckout.Email.focus();
	}
	
	if(!check_blank(document.frmCheckout.Phone.value)) {
		error += "Please enter Phone number\n";
		document.frmCheckout.Phone.focus();
	}

	if(!check_blank_numeric(document.frmCheckout.Phone.value) && document.frmCheckout.Phone.value!='') {
		error += "Enter valid Phone number using 0123456789!-_()@ ! characters\n";
		document.frmCheckout.Phone.focus();
	}
	
	if(!check_blank(document.frmCheckout.Address.value)) {
		error += "Please enter Address 1\n";
		document.frmCheckout.Address.focus();
	}
	
	if(!check_blank(document.frmCheckout.City.value)) {
		error += "Please enter City\n";
		document.frmCheckout.City.focus();
	}
	
	if(document.frmCheckout.Country.value == '-1') {
		error += "Please select a Country\n";
		document.frmCheckout.Country.focus();
	}
	
	if(!check_blank(document.frmCheckout.ZipCode.value)) {
		error += "Please enter Postal/Zip Code\n";
		document.frmCheckout.ZipCode.focus();
	}

	if(!check_blank(document.frmCheckout.NameOnCard.value)) {
		error += "Please enter Name on Card\n";
		document.frmCheckout.NameOnCard.focus();
	}

	if(document.frmCheckout.CardType.value == '-1') {
		error += "Please select Card Type\n";
		document.frmCheckout.CardType.focus();
	}
	
	if(!check_blank_numeric(document.frmCheckout.CardNumber.value)) {
		error += "Please enter Card Number\n";
		document.frmCheckout.CardNumber.focus();
	}

	if(!check_blank_numeric(document.frmCheckout.SecurityCode.value)) {
		error += "Please enter Security Code\n";
		document.frmCheckout.SecurityCode.focus();
	}

	if(document.frmCheckout.ExpireMonth.value == '-1') {
		error += "Please select Expire Month\n";
		document.frmCheckout.ExpireMonth.focus();
	}

	if(document.frmCheckout.ExpireYear.value == '-1') {
		error += "Please select Expire Year\n";
		document.frmCheckout.ExpireYear.focus();
	}

	if(!check_blank(document.frmCheckout.Card_Address.value)) {
		error += "Please enter Card Address\n";
		document.frmCheckout.Card_Address.focus();
	}

	if(!check_blank(document.frmCheckout.Card_City.value)) {
		error += "Please enter Card City\n";
		document.frmCheckout.Card_City.focus();
	}

	if(document.frmCheckout.Card_Country.value == '-1') {
		error += "Please enter Card Country\n";
		document.frmCheckout.Card_Country.focus();
	}

	if(!check_blank(document.frmCheckout.Card_Zip.value)) {
		error += "Please enter Card Postal/Zip Code\n";
		document.frmCheckout.Card_Zip.focus();
	}

	if(check_blank(document.frmCheckout.flight_no.value)) {
		if(document.frmCheckout.arrival_timeH.value == '-1') {
			error += "Please select Hour of Flight Arrival Time\n";
			document.frmCheckout.arrival_timeH.focus();
		}
	
		if(document.frmCheckout.arrival_timeM.value == '-1') {
			error += "Please enter Minute of Flight Arrival Time\n";
			document.frmCheckout.arrival_timeM.focus();
		}
	
		if(document.frmCheckout.departure_timeH.value == '-1') {
			error += "Please enter Hour of Flight Departure Time\n";
			document.frmCheckout.departure_timeH.focus();
		}
	
		if(document.frmCheckout.departure_timeM.value == '-1') {
			error += "Please enter Hour of Flight Departure Time\n";
			document.frmCheckout.departure_timeM.focus();
		}
	
		if(!check_blank(document.frmCheckout.flight_origin.value)) {
			error += "Please enter Flight origin\n";
			document.frmCheckout.flight_origin.focus();
		}
	}

	if (error != '') {
		alert(error + "\nPlease fill above all data.");
		return false;
	}
	
	if (document.frmCheckout.singclub.checked == true) {
		if ((document.frmCheckout.useremail.value == '') || (document.frmCheckout.password.value == '')) {
			alert ("Please enter a username and password for your Premier Club Rewards membership");
			return false;
		}
	}
	
	if((document.frmCheckout.useremail.value != "") && (document.frmCheckout.password.value !="")) {
			if(emailValidator(document.frmCheckout.useremail,"Incorrect useremail!! Please try again") == false) {
				return false;
			}
	}
		
	if(document.frmCheckout.TermAndCondition.checked==false) {
		alert("Please check the term and condition \nagreement checkbox for further proceeding");
		return false;	
	}

	document.frmCheckout.submit();
	return true;
}

// validation for add on request starts
function fnBookingSubmit(frm)
{ 
	// alert (frm.title.value);
	// return false;
	error = '';
	
	if(frm.title.value == '') {
		error = "Please select a Title\n";
		frm.title.focus();
	}
	
	if(!check_blank(frm.FirstName.value)) {
		error += "Please enter First Name\n";
		frm.FirstName.focus();
	}
	
	if(!check_blank(frm.LastName.value)) {
		error += "Please enter Last Name\n";
		frm.LastName.focus();
	}
	
	if(!check_blank_email(frm.Email.value)) {
		error += "Please enter correct Email Address\n";
		frm.Email.focus();
	}
	
	if(!check_blank(frm.Phone.value)) {
		error += "Please enter Phone\n";
		frm.Email.focus();
	}
	
	if(!check_blank_numeric(frm.Phone.value)) {
		error += "Enter valid Phone number using 0123456789!-_()@ ! characters\n";
		frm.Phone.focus();
	}
	
	if(!check_blank(frm.Address.value)) {
		error += "Please enter Address 1\n";
		frm.Address.focus();
	}
	
	if(!check_blank(frm.City.value)) {
		error += "Please enter City\n";
		frm.City.focus();
	}
	
	if(frm.Country.value == '-1') {
		error += "Please select a Country\n";
		frm.Country.focus();
	}
	
	if(!check_blank(frm.ZipCode.value)) {
		error += "Please enter Postal/Zip Code\n";
		frm.ZipCode.focus();
	}

	if (error != '') {
		alert(error + "\nPlease fill above all data.");
		return false;
	}
	
	frm.submit();
	return true;
}


// validation for add on request ends


function roundNumber(num, dec) {
	var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
	result = result.toFixed(2);
	return result;
}


function wopen(url, name, w, h)
{
  // Fudge factors for window decoration space.
  // In my tests these work well on all platforms & browsers.
  w += 32;
  h += 96;
  wleft = (screen.width - w) / 2;
  wtop = (screen.height - h) / 2;
  // IE5 and other old browsers might allow a window that is
  // partially offscreen or wider than the screen. Fix that.
  // (Newer browsers fix this for us, but let's be thorough.)
  if (wleft < 0) {
    w = screen.width;
    wleft = 0;
  }
  if (wtop < 0) {
    h = screen.height;
    wtop = 0;
  }
  var win = window.open(url,
    name,
    'width=' + w + ', height=' + h + ', ' +
    'left=' + wleft + ', top=' + wtop + ', ' +
    'location=no,menubar=no,' +
    'status=no,toolbar=no,scrollbars=no,resizable=no,directories=no');
  // Just in case width and height are ignored
  win.resizeTo(w, h);
  // Just in case left and top are ignored
  win.moveTo(wleft, wtop);
  win.focus();
}

function htopen(url, name, w, h)
{
	  // Fudge factors for window decoration space.
	  // In my tests these work well on all platforms & browsers.
	  w += 32;
	  h += 96;
	  wleft = (screen.width - w) / 2;
	  wtop = (screen.height - h) / 2;
	  // IE5 and other old browsers might allow a window that is
	  // partially offscreen or wider than the screen. Fix that.
	  // (Newer browsers fix this for us, but let's be thorough.)
	  if (wleft < 0) {
	    w = screen.width;
	    wleft = 0;
	  }
	  if (wtop < 0) {
	    h = screen.height;
	    wtop = 0;
	  }
	  var win = window.open(url,
	    name,
	    'width=' + w + ', height=' + h + ', ' +
	    'left=' + wleft + ', top=' + wtop + ', ' +
	    'location=no,menubar=no,' +
	    'status=no,toolbar=no,scrollbars=yes,resizable=no,directories=no');
	  // Just in case width and height are ignored
	  win.resizeTo(w, h);
	  // Just in case left and top are ignored
	  win.moveTo(wleft, wtop);
	  win.focus();
}



function showPopupImage(img) {
	document.getElementById('showPopupFirstImgdiv').style.display="none";
	var imgpath = '<img src=\''+img+'\' border="0" align="middle" width="400" class="tborder2" alt="" />';
	document.getElementById('showPopupImgdiv').innerHTML = "<table border='0' align='center' cellspacing='0' cellpadding='0' class='tborder1'><tr><td align='center'>" + imgpath + "</td></tr></table>";
}


function showRoomImage(img) {
	document.getElementById('showRoomFirstdiv').style.display="none";
	var imgpath = '<img src=\''+img+'\' border="0" align="middle" width="400" class="tborder2" alt="" />';
	document.getElementById('showRoomdiv').innerHTML = "<table border='0' align='center' cellspacing='0' cellpadding='0' width='100%'><tr><td align='center'><table border='0' align='center' cellspacing='0' cellpadding='0' class='tborder1'><tr><td align='center'>" + imgpath + "</td></tr></table></td></tr></table>";
}


function showHotelImage(img) {
	var imgpath = '<img src=\''+img+'\' border="0" align="middle" width="400" class="tborder2" alt="" />';
	document.getElementById('showHotelFirstImgdiv').style.display="none";
	document.getElementById('showHotelImgdiv').innerHTML = "<table border='0' align='center' cellspacing='0' cellpadding='0' class='tborder1'><tr><td align='center'>" + imgpath + "</td></tr></table>";
}



// ENHANCE YOUR STAY CLICK ACTION
function chkestayoption(estayform, hotelID, roomTypeID, lstRooms, dateIn, dateOut, estayoptionid, estayprice, qtychange, estaystatus, currsign) {
	
	var idprice, esid, esprice, qtyid, esqty;
	
	var essubtotal = 0;
	var grandsubtotal = 0;
	var grandtotal = 0.00;
	var flashcounter = 0;
	var chkpg_curr_estayid = "estaychk"+estayoptionid;  // Checkout - clicked Enhance your stay ID
	var chkpg_id_price_arr; // Checkout - ID-PRICE ARRAY
	var chkpg_esid,chkpg_esprice,chkpg_qtyid,chkpg_esqty,chkpg_totCost,chkpg_totCost_nr,chkpg_totCost_r,chkpg_estotal_r,chkpg_old_price,chkpg_eee;
	var chkpg_estotal = 0; // PRICE * QTY
	var chkpg_tr_id = "tr"+estayoptionid; // Checkout - Enhance Row ID to show/Hide
	var chkpg_hidden_id = "hidden"+estayoptionid;  // Checkout - Enhance Row HIDDEN ID to show/Hide
	
	var chkpg_estayqtybox_id = "estayqtybox"+estayoptionid; // Checkout - Enhance QUANTITY BOX to Update
	var chkpg_estaypricebox_id = "estaypricebox"+estayoptionid; // Checkout - Enhance PRICE BOX to Update
	var chkpg_estayqtybox_span_id = "estayqtybox_span_"+estayoptionid; // Checkout - Enhance QUANTITY BOX SPAN to Update
	var chkpg_estaypricebox_span_id = "estaypricebox_span_"+estayoptionid; // Checkout - Enhance PRICE BOX to Update
	
	var chkpg_tr_color = "color_"+estayoptionid; // Checkout - Enhance Row ID to show/Hide BACKGROUND COLOR
	var esNArr = new Array();
			
	if(estaystatus == 'END') {	
		chkpg_id_price_arr = document.getElementById(chkpg_curr_estayid).value.split(":"); // SPLIT ARRAY to get ID:PRICE
		chkpg_esid = chkpg_id_price_arr[0]; // Current ID
		chkpg_esprice = chkpg_id_price_arr[1]; // Current PRICE
		chkpg_qtyid = "ddaddonsno"+chkpg_esid; // Current QTY SELECT-ID
		chkpg_esqty = document.getElementById(chkpg_qtyid).value; // Current QTY
		chkpg_estotal = chkpg_esprice * chkpg_esqty;
		chkpg_estotal_r = roundNumber(chkpg_estotal,2); // Current Enhance Stay Total

		chkpg_totCost = document.getElementById('totCost').value; // Checkout - TOTAL COST
	
			// IF ENHANCE CHECKED
			if(document.getElementById(chkpg_curr_estayid).checked == true) {
				
					document.getElementById(chkpg_tr_color).className = 'trbgcolor'; // TO CHANGE CHECKOUT ENHANCE BACKGROUND
				
					if(document.getElementById(chkpg_estayqtybox_id)) {
						document.getElementById(chkpg_estayqtybox_id).value = chkpg_esqty;
						document.getElementById(chkpg_estayqtybox_span_id).innerHTML = chkpg_esqty;
					}
					
					if(document.getElementById(chkpg_estaypricebox_id)) {
						chkpg_old_price = document.getElementById(chkpg_estaypricebox_id).value;
						document.getElementById(chkpg_estaypricebox_id).value = chkpg_estotal_r;
						document.getElementById(chkpg_estaypricebox_span_id).innerHTML = chkpg_estotal_r;
					}
								
				
					if(document.getElementById('totCost')) {
						if(qtychange == 0) { // ACTION ON CHECKBOX NOT ON QTY DROPDOWN [CHECKBOX IS CHECKED]
							chkpg_totCost = parseFloat(chkpg_totCost) + parseFloat(chkpg_estotal); // ADD CURRENT ENHANCE PRICE TO TOTAL COST
							
							// NEWLY ADDED TO SHOW ENHANCE SUBTOTAL ON CHECKOUT
							chkpg_eee = document.getElementById('newenhancetotal').value;
							chkpg_eee = parseFloat(chkpg_eee) + parseFloat(chkpg_estotal);
							document.getElementById('newenhancetotal').value = roundNumber(chkpg_eee,2);
							document.getElementById('newenhancetotalspan').innerHTML = roundNumber(chkpg_eee,2);
							document.getElementById('newenhancetotalspan_alt').innerHTML = roundNumber(chkpg_eee,2); // TO SHOW LEFT COLUMN ENHANCE
							//
							
						} 
						else 
						{ // ACTION ON QTY DROPDOWN NOT ON CHECKBOX [CHECKBOX IS CHECKED]
							chkpg_totCost = (parseFloat(chkpg_totCost) - parseFloat(chkpg_old_price)) + parseFloat(chkpg_estotal); // ADD CURRENT ENHANCE PRICE TO TOTAL COST
							
							// NEWLY ADDED TO SHOW ENHANCE SUBTOTAL ON CHECKOUT
							chkpg_eee = document.getElementById('newenhancetotal').value;
							chkpg_eee = (parseFloat(chkpg_eee) - parseFloat(chkpg_old_price)) + parseFloat(chkpg_estotal);
							document.getElementById('newenhancetotal').value = roundNumber(chkpg_eee,2);
							document.getElementById('newenhancetotalspan').innerHTML = roundNumber(chkpg_eee,2);
							document.getElementById('newenhancetotalspan_alt').innerHTML = roundNumber(chkpg_eee,2); // TO SHOW LEFT COLUMN ENHANCE
							//
							
						}
						
						chkpg_totCost = roundNumber(chkpg_totCost,2); // TOTAL COST PAYABLE
						document.getElementById(chkpg_hidden_id).value = chkpg_esid+","+chkpg_esprice+","+chkpg_esqty; // HIDE HIDDEN
						document.getElementById(chkpg_tr_id).style.display = '';  // SHOW ROW
						
						document.getElementById('totCostSpan').innerHTML = chkpg_totCost;
						document.getElementById('totCostSpan_alt').innerHTML = chkpg_totCost; // TO SHOW LEFT COLUMN ENHANCE
						
						document.getElementById('totCost').value = chkpg_totCost;
						
						document.getElementById('hdnTotalCostSpan').innerHTML = '<input type="hidden" name="hdnTotalCost" value="'+chkpg_totCost+'" />';
					}
					
					
			} else {
			// IF ENHANCE UNCHECKED
		
				if(document.getElementById('totCost')) {

					document.getElementById(chkpg_tr_color).className = ''; // TO CHANGE CHECKOUT ENHANCE BACKGROUND
					
					if(qtychange == 0) {
						chkpg_totCost_nr = chkpg_totCost - chkpg_estotal; // SUBTRACT CURRENT ENHANCE PRICE FROM TOTAL COST
						chkpg_totCost_r = roundNumber(chkpg_totCost_nr,2); // Enhance Stay Total
						document.getElementById(chkpg_hidden_id).value = ''; // HIDE HIDDEN
						document.getElementById(chkpg_tr_id).style.display = "none";  // HIDE ROW	
						
						// NEWLY ADDED TO SHOW ENHANCE SUBTOTAL ON CHECKOUT
						chkpg_eee = document.getElementById('newenhancetotal').value;
						chkpg_eee = parseFloat(chkpg_eee) - parseFloat(chkpg_estotal);
						document.getElementById('newenhancetotal').value = roundNumber(chkpg_eee,2);
						document.getElementById('newenhancetotalspan').innerHTML = roundNumber(chkpg_eee,2);
						document.getElementById('newenhancetotalspan_alt').innerHTML = roundNumber(chkpg_eee,2); // TO SHOW LEFT COLUMN ENHANCE
						//
						
						document.getElementById('totCostSpan').innerHTML = chkpg_totCost_r;
						document.getElementById('totCostSpan_alt').innerHTML = chkpg_totCost_r; // TO SHOW LEFT COLUMN ENHANCE
						
						document.getElementById('totCost').value = chkpg_totCost_r;
						
						document.getElementById('hdnTotalCostSpan').innerHTML = '<input type="hidden" name="hdnTotalCost" value="'+chkpg_totCost_r+'" />';
					}
				}
				
				
			}
	
	} // END - if(document.getElementById('totCost')


// CODE TO HANDLE ENHANCE FOR LANDING/AJAX CONTENT

	if(estaystatus == 'BEGIN') {
		cnt = 0;
		for (i=0; i<document.getElementsByTagName("input").length; i++) {
			if (document.getElementsByTagName("input")[i].type == "checkbox" && document.getElementsByTagName("input")[i].name == "estaychk") {
				if(document.getElementsByTagName("input")[i].checked==true) {
					idprice = document.getElementsByTagName("input")[i].value.split(":");
					esid = idprice[0];
					esprice = idprice[1];
					qtyid = "addonsno"+esid;
					esqty = document.getElementById(qtyid).value;
					essubtotal = essubtotal + (esprice * esqty);
					flashcounter = flashcounter + 1;
					esNArr[cnt] = esid+":"+esprice+":"+esqty;
					cnt++;
				}
			}
		}
	}

	document.getElementById('estaychkdItems').value = esNArr;

	if(estaystatus == 'BEGINAJAX') {
		for (i=0; i<document.getElementsByTagName("input").length; i++) {
			if (document.getElementsByTagName("input")[i].type == "checkbox" && document.getElementsByTagName("input")[i].name == "ajaxestaychk") {
			
				if(document.getElementsByTagName("input")[i].checked==true) {
					idprice = document.getElementsByTagName("input")[i].value.split(":");
					esid = idprice[0];
					esprice = idprice[1];
					qtyid = "ajaxaddonsno"+esid;
					esqty = document.getElementById(qtyid).value;
					essubtotal = essubtotal + (esprice * esqty);
					flashcounter = flashcounter + 1;
				}
			}
		}
	}

	essubtotal = roundNumber(essubtotal,2); // Enhance Stay Total
	document.getElementById('enhancementTotal').value = essubtotal;
	
	$lstRooms = parseInt(document.getElementById('lst_rooms').value); // ROOMS
	
	if(!document.getElementById('roomtypeTotal')) {
		document.getElementById('roomtypeTotal').value = '';
	}
	
	if( essubtotal!=0 && (document.getElementById('roomtypeTotal').value == '') ) {
		grandtotal = essubtotal;
	}
	
	if( essubtotal!=0 && (document.getElementById('roomtypeTotal').value != '') ) {
		grandtotal = parseFloat(essubtotal) + (parseFloat(document.getElementById('roomtypeTotal').value) * $lstRooms);
	}
	
	if( essubtotal==0 && (document.getElementById('roomtypeTotal').value != '') ) {
		//alert(grandtotal);
		grandtotal = parseFloat(document.getElementById('roomtypeTotal').value) * $lstRooms;
		//alert(grandtotal);
	}
			
	grandtotal = roundNumber(grandtotal,2);
	
	document.getElementById('enhancementsubtotalclass').innerHTML = essubtotal+'<input type="hidden" id="enhancesubtotal" name="enhancesubtotal" value="'+essubtotal+'" />';
	
	if(document.getElementById('roomtypeTotalclass'))
		document.getElementById('roomtypeTotalclass').innerHTML = currsign+grandtotal;

}
// ENHANCE YOUR STAY CLICK ACTION

function chkfragoption (estayform, fragrance) {

	// CODE TO HANDLE SELECTED FRAGRANCE FOR THE ROOM

	var checked = false;
	var fvalue = '';
	
	var efragchks = estayform.elements.efragchk;   
	for (var i=0; i<efragchks.length; i++) {
		if (efragchks[i].checked) {
			checked = true; 
			fvalue = efragchks[i].value;
			break;      
		}     
	}
	
	if(!checked)
		document.getElementById("selFragrance").value = "";
	else {
		document.getElementById("selFragrance").value = fvalue;
	}

	// END OF FRAGRANCE SELECTION					
	
}


function updateResInDates() {
	var indate,dateArr;
	var today = new Date();
	dd=today.getDate();
	mm=today.getMonth()+1;
	yyyy=today.getFullYear();

	if(document.frmSearch) {
		if(document.frmSearch.dateCheckIn) {
			
			 dd = (dd<10) ? '0'+dd : dd ;
			 mm = (mm<10) ? '0'+mm : mm ;		
			 indate = dd+"/"+mm+"/"+yyyy;
			 dateArr= indate.split("/");
			 document.frmSearch.lstCheckIn.value=eval(dateArr[0]);
			 document.frmSearch.lstCheckIn1.value=eval(dateArr[1])+"-"+dateArr[2];
			 
			 
			 outdate=addcorrectDays(indate,1);
			 document.frmSearch.lstCheckOut.value=eval(outdate.substring(0,2));
			 document.frmSearch.lstCheckOut1.value=eval(outdate.substring(3,5))+"-"+outdate.substring(6,10);	
			 
			 document.frmSearch.dateCheckIn.value=indate;
			 document.frmSearch.dateCheckOut.value=outdate;
		}
	}
}




// hotelindex - For Selected Hotel Click Event
// cleardatesindex - For CLEAR DATES/CLEAR ALL Events
function showRoomType(hotelID,dateIn,dateOut,rooms,adults,currency,currsign,hotelindex,cleardatesindex) { 
	
	var selCurrVal,selCurrArr,selCurrSign,selCurrVariant,selCurrId;			
		
	// cleardatesindex - CLEAR DATES/CLEAR ALL Events
	if(cleardatesindex == 'cleardates') {
		updateResInDates();
	}
	
	if(cleardatesindex == 'clearall') {
		updateResInDates();
		document.getElementById('alt_hot_name').value = hotelID;
		document.getElementById('lstRoomsSelect').value = rooms;
		document.getElementById('adultsSelect').value = adults;
		document.getElementById('selCurreny').value = document.frmSearch.selCurreny.options[0].value;
	}
	
	hotelID = '';
	hotelID = document.getElementById('alt_hot_name').value;
	
	var rooms = document.getElementById('lstRoomsSelect').value;
	var adults = document.getElementById('adultsSelect').value;
	
	
	//SET CURRENCY
	selCurrVal = document.getElementById('selCurreny').value;
	selCurrArr = selCurrVal.split(",");
	selCurrSign = selCurrArr[0];
	selCurrVariant = selCurrArr[1];
	selCurrId = selCurrArr[2];

	currency = selCurrId;
	currsign = selCurrSign;
	//



	if(!hotelindex) { // hotelindex - Selected Hotel Click Event
		// SET AJAX CODE
		if(document.getElementById('ajaxcode')) {
				document.getElementById('ajaxcode').value = 'SET'; // FOR AJAXIFIED ENHANCE CONTENT
		}
		//
	}
	
	
	// HIDE ENHANCE STAY in LEFT COLUMN
	document.getElementById('enhanceleftcontent').style.display = 'none';
	//
	
	// HIDE ESTAY CONTENT FOR SOME MOMENT
	document.getElementById('estaydivcontent').style.display="none";
	//
	
	if(!hotelindex) { // hotelindex - Selected Hotel Click Event
		// FLASH BUTTONS SHOW/HIDE
		if(document.getElementById('flashone')) {
				document.getElementById('flashone').style.display = 'none';
		}
	}
	//if(document.getElementById('flashtwo')) {
			//document.getElementById('flashtwo').style.display = 'none'; // THIS IS MUST STEP
	//}
	if(document.getElementById('flashtwoA')) {
		if(document.getElementById('flashtwoA').style.display == "none") {
			document.getElementById('flashtwoA').style.display = '';
		}
	}
	
	if(document.getElementById('ajaxcode')) {
		if(document.getElementById('ajaxcode').value == 'SET') {
			if(document.getElementById('flashthree')) {
				document.getElementById('flashthree').style.display = 'none';
			}
		}
	} else {
		document.getElementById('flashthree').style.display = '';
	}
	
	
	if(document.getElementById('flashthreeA')) {
		if(document.getElementById('flashthreeA').style.display == "none") {
			document.getElementById('flashthreeA').style.display = '';
		}
	}
	
	if(document.getElementById('flashfour')) {
		if(document.getElementById('flashfour').style.display == "none") {
			document.getElementById('flashfour').style.display = '';
		}
	}
	//
	
	if(!hotelindex) { // hotelindex - Selected Hotel Click Event

		//ADDED FOR CURRENCY FLAGS
		document.getElementById('roomtypeAclass').style.display="none";
		document.getElementById('roomtypeBclass').style.display="";
		//
	
		// RESERVATIONS Content
		document.getElementById('checkouthotelcontent').style.display = 'none';
		document.getElementById('reservedivcontent').style.display = '';
		//
		
	}
	
	//Expand / Collapse Features Content
	if(document.getElementById('mainhotelRequests')) {
		document.getElementById('mainhotelRequests').style.display = 'none';
	}
	
	// For Selected Hotel Name
	if(document.getElementById('selectedHoteldiv')) {
		document.getElementById('selectedHoteldiv').style.display = 'none';
	}
	
	
	
	
	if(document.getElementById('newmiddle')) {
		document.getElementById('newmiddle').style.display = '';
	}
	if(document.getElementById('newright')) {
		document.getElementById('newright').style.display = '';
	}
	
	
	
	// CHECKOUT CONTENT
	if(document.getElementById('checkoutcontent')) {
		document.getElementById('checkoutcontent').style.display = 'none';
	}
	
	// SHOW MIDDLE COLUMN
	if(document.getElementById('roomseldiv')) {
	document.getElementById('roomseldiv').style.display = '';
	}
	//
	
	
	if(!hotelindex) { // hotelindex - Selected Hotel Click Event

		if(document.getElementById('roomtypeTotal')) {
			document.getElementById('roomtypeTotal').value = ''; // EMPTY Roomtype total value
		}
		if(document.getElementById('enhancesubtotal')) {
			document.getElementById('enhancesubtotal').value = ''; // EMPTY EnhanceStay value
		}		
		document.getElementById('hdnRoomType').value = ''; // EMPTY ROOM TYPE value
		
	}
	
	
	dateIn = document.getElementById('dateCheckIn').value; // updated datein
	dateOut = document.getElementById('dateCheckOut').value; // updated dateout
		
	
	document.getElementById('hdnDateIn').value = dateIn;
	document.getElementById('hdnDateOut').value = dateOut;
	
	var daysin = document.getElementById('lstCheckInSelect').value;
	var monyearin = document.getElementById('lstCheckIn1Select').value;
	var daysout = document.getElementById('lstCheckOutSelect').value;
	var monyearout = document.getElementById('lstCheckOut1Select').value;
	
	
	document.getElementById('lst_rooms').value = rooms;
	
	var monyearinarr = monyearin.split("-");
	var monyearoutarr = monyearout.split("-");
	
	dateIn = document.getElementById('hdnDateIn').value;
	dateOut = document.getElementById('hdnDateOut').value;
			
	httpObject = getHTTPObject();
	if(httpObject != null) {
		
		if(!hotelindex) { // hotelindex - Selected Hotel Click Event
			document.getElementById('roomtypeTotalclass').style.display="none";
			document.getElementById('resbuttondiv').style.display="none";
		}
		
		//document.getElementById('roomtypecontent').style.display="none"; // HIDE ROOM RIGHT COLUMN CONTENT
		
		if(document.getElementById('estaydivcontent').style.display = 'none') {
			document.getElementById('estaydivcontent').style.display = '';
		}
		
		// For Selected Hotel Name
		if(document.getElementById('selectedHoteldiv')) {
			document.getElementById('selectedHoteldiv').style.display = '';
		}
		
		
		// For Clear Dates Content
		if(document.getElementById('showclearcontent')) {
			document.getElementById('showclearcontent').style.display = '';
		}

		// For Currency dropdown Content
		if(document.getElementById('showcurrencycontent')) {
			document.getElementById('showcurrencycontent').style.display = '';
		}

		var querystring = "&hdnHotelID=" + hotelID + "&hdnDateIn=" + dateIn + "&hdnDateOut=" + dateOut + "&lstRooms=" + rooms + "&adults=" + adults + "&currency=" + currency;		
				
		httpObject.open("GET", "themes/theshaftesbury/ajax/callAjax.php?showcase=showRoomType" + querystring, true);
		httpObject.onreadystatechange=function() {
			
		if(!hotelindex) { // hotelindex - Selected Hotel Click Event

				if(httpObject.readyState == 1) { 
				document.getElementById('roomtypeBclass').innerHTML = "<table width=100%><tr><td align='center'><img src='images/bigrotation.gif' border='0' align='middle' alt='' /></td></tr></table>"; 
				} 
				if(httpObject.readyState == 2) { 
				document.getElementById('roomtypeBclass').innerHTML = "<table width=100%><tr><td align='center'><img src='images/bigrotation.gif' border='0' align='middle' alt='' /></td></tr></table>";
				} 
				if(httpObject.readyState == 3) { 
				document.getElementById('roomtypeBclass').innerHTML = "<table width=100%><tr><td align='center'><img src='images/bigrotation.gif' border='0' align='middle' alt='' /></td></tr></table>";
				}
				
		}
			if(httpObject.readyState == 4) {
				var html = httpObject.responseText.split("[BRK]");
				var roomtypeBclassHTML = html[0]; // DIV TO SHOW AJAXIFIED ROOMS IN MIDDLE COLUMN
				var roomtypeDclassHTML = html[1]; // DIV TO SHOW PRICE DETAILS IN LEFT COLUMN
				var roomTotalHTML = html[2]; 	  // DIV TO SHOW ROOM TOTAL IN MIDDLE COLUMN
				var hotelnameHTML = html[3]; 	  // DIV TO SHOW HOTEL NAME IN LEFT COLUMN
				var selectedhotelHTML = html[4];  // DIV TO SHOW SELECTED HOTEL CONTENT IN RIGHT COLUMN
				var nearbyHTML = html[5]; 		  // DIV TO SHOW HOTEL NEAR BY ATTRACTIONS IN RIGHT COLUMN
				var facilitiesHTML = html[6];	  // DIV TO SHOW HOTEL FACILITIES IN RIGHT COLUMN
				var cancelHTML = html[7];		  // DIV TO SHOW HOTEL CANCELLATION POLICY IN RIGHT COLUMN
				var estayAJAXHTML = html[8]; 	  // DIV TO SHOW AJAXIFIED ENHANCE CONTENT IN MIDDLE COLUMN
				var currencyHTML = html[9];		  // DIV TO SHOW CURRENCY CONTENT IN LEFT COLUMN
				var roomamenitiesHTML = html[10]; // DIV TO SHOW ROOM AMENITIES IN RIGHT COLUMN
				var photogalleryHTML = html[11];  // DIV TO SHOW PHOTO GALLERY IN RIGHT COLUMN
				var etourHTML = html[12];		  // DIV TO SHOW E-TOUR IN RIGHT COLUMN
				
								
				document.getElementById('roomtypeEmptyclass').style.display="";
				document.getElementById('roomtypeTotalclass').style.display="";
				document.getElementById('resbuttondiv').style.display="";
				
			if(!hotelindex) { // hotelindex - Selected Hotel Click Event

				document.getElementById('roomtypeBclass').innerHTML = roomtypeBclassHTML;
				document.getElementById('roomtypeTotalclass').innerHTML = roomTotalHTML;
				if(document.getElementById('enhancementsubtotalclass')) {
				document.getElementById('enhancementsubtotalclass').innerHTML = '0.00';
				}
			}
				
				// HTML To display selected Hotel Name in Left Column of Booking Engine
				document.getElementById('selectedHoteldiv').innerHTML = hotelnameHTML;
				
				// HTML To display selected Hotel Content in Right Column of Booking Engine
				document.getElementById('hotelcontent').style.display=""; // SHOW HOTEL RIGHT COLUMN CONTENT
				document.getElementById('hotelcontent').innerHTML = selectedhotelHTML;
				
				// HTML To display selected Hotel Nearby attractions in Right Column of Booking Engine
				document.getElementById('slickshow4').innerHTML = 'Near By Attraction';
				document.getElementById('slickbox4').innerHTML = nearbyHTML;
				
				// HTML To display selected Hotel Facilities in Right Column of Booking Engine
				document.getElementById('slickshow5').innerHTML = 'Hotel Facilities';
				document.getElementById('slickbox5').innerHTML = facilitiesHTML;
				
				// HTML To display selected Hotel Room Amenities in Right Column of Booking Engine
				document.getElementById('slickshow8').innerHTML = 'Room Amenities';
				document.getElementById('slickbox8').innerHTML = roomamenitiesHTML;
				

				// HTML To display selected Hotel Cancellation policy in Right Column of Booking Engine
				document.getElementById('slickshow6').innerHTML = 'Cancellation Policy';
				document.getElementById('slickbox6').innerHTML = cancelHTML;
				
				document.getElementById('photogallerycontent').innerHTML = photogalleryHTML;
				document.getElementById('etourcontent').innerHTML = etourHTML;
				
				//Expand / Collapse Features Content
				if(document.getElementById('mainhotelRequests')) {
					document.getElementById('hotelRequests').style.display = '';
				}
				
			if(!hotelindex) { // hotelindex - Selected Hotel Click Event
				
				// HTML To display Enhance your Stay content
				document.getElementById('estaydivcontent').style.display = '';
				document.getElementById('estaydivcontent').innerHTML = estayAJAXHTML;
				
				// HTML To display selected CURRENCY 
				document.getElementById('pickedCurr').innerHTML = currencyHTML;
				
			}
				
			} 
		} // IF - httpObject.onreadystatechange=function
		httpObject.send(null);
		
	}
}

function echeck(str) {
	var at="@"
	var dot="."
	var lat=str.indexOf(at)
	var lstr=str.length
	var ldot=str.indexOf(dot)
	if (str.indexOf(at)==-1){
	   alert("Invalid E-mail ID")
	   return false
	}

	if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
	   alert("Invalid E-mail ID")
	   return false
	}

	if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		alert("Invalid E-mail ID")
		return false
	}

	 if (str.indexOf(at,(lat+1))!=-1){
		alert("Invalid E-mail ID")
		return false
	 }

	 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		alert("Invalid E-mail ID")
		return false
	 }

	 if (str.indexOf(dot,(lat+2))==-1){
		alert("Invalid E-mail ID")
		return false
	 }
	
	 if (str.indexOf(" ")!=-1){
		alert("Invalid E-mail ID")
		return false
	 }

	 return true					
}

function fetchPCRMemberDetails () {

	if (document.getElementById('useremail').value == '' || document.getElementById('password').value == '') {
		alert ("Username / Password can not be blank. Please enter both to validate.")
		return false;
	}
	var emailID=document.getElementById('useremail');
	if(emailID.value==''){
		alert("Please fill your email address");
		emailID.focus()
		return false;
	}
	if ((emailID.value!='')){
		if (echeck(emailID.value)==false){
			emailID.value=""
			emailID.focus()
			return false;
		} 
	}	

	httpObject = getHTTPObject();
	if(httpObject != null) {
		
		var querystring = "&emailid=" + document.getElementById('useremail').value + "&pwd=" + document.getElementById('password').value;
		httpObject.open("GET", "../themes/theshaftesbury/ajax/callAjax.php?showcase=fetchPCRMemberDetails" + querystring, true);

		httpObject.onreadystatechange=function() {
			if(httpObject.readyState == 4) {
				if (httpObject.responseText != '') {
					var html = httpObject.responseText.split("[BRK]");
					
					document.getElementById('CustomerID').value = html[0];
					document.getElementById('FirstName').value = html[1];
					document.getElementById('LastName').value = html[2];
					document.getElementById('Email').value = html[3];
					document.getElementById('Phone').value = html[4];
					document.getElementById('Address').value = html[5];
					document.getElementById('City').value = html[6];
					document.getElementById('State').value = html[7];
					document.getElementById('Country').value = html[8];
					document.getElementById('ZipCode').value = html[9];
					document.getElementById('Card_Address').value = html[5];
					document.getElementById('Card_City').value = html[6];
					document.getElementById('Card_State').value = html[7];
					document.getElementById('Card_Country').value = html[8];
					document.getElementById('Card_Zip').value = html[9];

					document.getElementById('hdnMember').value = 'YES';
					document.getElementById('singclub').checked = false;
					document.getElementById('singclub').disabled = false;
					document.getElementById('recoffermail').checked = false;
					document.getElementById('recoffermail').disabled = false;

				} else {
					alert ("Incorrect Username / Password. Please enter correct details.")
				}
			}
		}
		httpObject.send(null);
	}
}




function showRoomTypeDetail(hotelID,roomTypeID,lstRooms,dateIn,dateOut,isajax,rateruleID,ratetype) {
	var enhancesubtotal,i,roomtypetd;
		
	if(document.getElementById('enhancesubtotal')) {
		enhancesubtotal = document.getElementById('enhancesubtotal').value;
		enhancesubtotal = roundNumber(enhancesubtotal,2);
	} else {
		enhancesubtotal = 0;
	}
	
	
	
	httpObject = getHTTPObject();

	if(httpObject != null) {
		//document.getElementById('hotelcontent').style.display="none";
		//document.getElementById('roomtypeEmptyclass').style.display="none";
	
		// SET RATE RULE VALUES
		typearr = ratetype.split("::");
		document.getElementById('RateRuleID').value = rateruleID;
		document.getElementById('RateRuleType').value = typearr[0];
		if(typearr[1]) {
		document.getElementById('SplOfferID').value = typearr[1];
		splid = document.getElementById('SplOfferID').value;
		} else {
			document.getElementById('SplOfferID').value = '';
			splid = 0;
		}
		//
			
			
		var querystring = "&hdnHotelID=" + hotelID + "&hdnRoomTypeID=" + roomTypeID + "&hdnDateIn=" + dateIn + "&hdnDateOut=" + dateOut + "&lstRooms=" + lstRooms + "&enhancesubtotal=" + enhancesubtotal + "&rateruleID=" + rateruleID + "&ratetype=" + typearr[0] + "&splid=" + splid;
		httpObject.open("GET", "../themes/theshaftesbury/ajax/callAjax.php?showcase=showRoomTypeDetail" + querystring, true);
		httpObject.onreadystatechange=function() {
			if(httpObject.readyState == 1) { 
			document.getElementById('gocheckoutspan').innerHTML = "<img src='images/ajax-loader.gif' border='0' align='middle' alt='' />"; 
			} 
			if(httpObject.readyState == 2) { 
			document.getElementById('gocheckoutspan').innerHTML = "<img src='images/ajax-loader.gif' border='0' align='middle' alt='' />";
			} 
			if(httpObject.readyState == 3) { 
			document.getElementById('gocheckoutspan').innerHTML = "<img src='images/ajax-loader.gif' border='0' align='middle' alt='' />";
			}
			if(httpObject.readyState == 4) {
				var html = httpObject.responseText.split("[BRK]");
				var roomtypeHTML = html[0];
				var roomtotalHTML = html[1];
				var grandTotal = html[2];
				var roomtypeTotal = html[3];
				var roomamenitiesHTML = html[4];
				var max_people = html[5];
				var photoHTML = html[6];
				var cancHTML = html[7];
				document.getElementById('max_people').value = max_people;
				document.getElementById('roomtypeTotalclass').style.display='';
				//document.getElementById('roomtypecontent').innerHTML = roomtypeHTML;
				document.getElementById('roomtypeTotalclass').innerHTML = roomtotalHTML;
				//document.getElementById('roomamenitiesModal').innerHTML = roomamenitiesHTML;
				//document.getElementById('cancpolicyModal').innerHTML = cancHTML;
				//document.getElementById('galleryModal').innerHTML = photoHTML;
				// HIDDEN VALUES
				document.getElementById('hdnRoomType').value = roomTypeID;
				//document.getElementById('hdnRate').value = grandTotal;
				document.getElementById('hdnRate').value = roomtypeTotal;
				
				
				document.getElementById('roomtypeTotal').value = roomtypeTotal;
				
				document.getElementById('resbuttondiv').style.display="";  // Show Continue Reservation Button
				
				//
document.getElementById('gocheckoutspan').innerHTML = "<input type='submit' name='reservebutton' value='Continue' class='submitbtn1'>";
			}
		}
		httpObject.send(null);
	}
}



function removeEstay(id,price) {
	var chkpg_estotal,enhance_subtotal;
	var trid = "tr"+id;
	var chkpg_tr_color = "color_"+id; // Checkout - Enhance Row ID to show/Hide BACKGROUND COLOR
	var hiddenid = "hidden"+id;
	var qtyddid = "ddaddonsno"+id;
	var chkboxid = "estaychk"+id;
	var chkpg_esqty = document.getElementById(qtyddid).value; // QUANTITY
	var totCost = document.getElementById('totCost').value;
	
	chkpg_estotal = (parseFloat(price) * parseFloat(chkpg_esqty)); // TOTAL to REMOVE
	totCost = (parseFloat(totCost) - parseFloat(chkpg_estotal));
	totCost = roundNumber(totCost,2); // UPDATED TOTAL COST PAYABLE
	
	//alert(chkpg_esqty);  // QUANTITY
	//alert(chkpg_estotal);// TOTAL to REMOVE
	//alert(totCost); // UPDATED Enhance Stay Total
	//alert(document.getElementById(chkboxid).checked); // CHECKED OR UNCHECKED
	
	if(document.getElementById(chkboxid).checked == true) {
		
		document.getElementById(chkpg_tr_color).className = ''; // TO CHANGE CHECKOUT ENHANCE BACKGROUND
		document.getElementById(chkboxid).checked = false; // UNCHECK CHECKBOX
		
		enhance_subtotal = document.getElementById('newenhancetotalspan').innerHTML;
		enhance_subtotal = parseFloat(enhance_subtotal) - parseFloat(chkpg_estotal);
		
		document.getElementById('newenhancetotal').value = roundNumber(enhance_subtotal,2); // UPDATED ENHANCE SUBTOTAL VALUE
		document.getElementById('newenhancetotalspan').innerHTML = roundNumber(enhance_subtotal,2); // UPDATED ENHANCE SUBTOTAL HIDDEN
		document.getElementById('newenhancetotalspan_alt').innerHTML = roundNumber(enhance_subtotal,2); // UPDATED ENHANCE SUBTOTAL IN LEFT
		
		document.getElementById(hiddenid).value = '';
		document.getElementById(trid).style.display = "none";
		
		document.getElementById('totCost').value = totCost; // UPDATED TOTAL COST PAYABLE VALUE
		document.getElementById('totCostSpan').innerHTML = totCost; // UPDATED TOTAL COST PAYABLE SPAN
		document.getElementById('totCostSpan_alt').innerHTML = totCost; // UPDATED TOTAL COST PAYABLE SPAN IN LEFT
		document.getElementById('hdnTotalCostSpan').innerHTML = '<input type="hidden" name="hdnTotalCost" value="'+totCost+'" />';
		
	}
}


function goCheckout(frmSearch, resID) {
	
	if(document.getElementById('hdnRoomType').value == '') {
		alert ( "Please select a Room Type" );
		return false;
		
	 } else {
		//if (action != 'submit') {
		if (document.getElementById('checkoutstatus').value == 'NOSUBMIT') {
			
			document.getElementById('checkoutstatus').value = 'YESSUBMIT';
			
			document.getElementById('gobackspan').style.display = ''; // SHOW BACK BUTTON
			document.getElementById('gocheckoutspan').className = 'gocheckoutspanA'; // CHANGE CONTINUE BUTTON CLASS
			
			document.getElementById('roomtypeAclass').style.display = "none";
			document.getElementById('roomtypeTotalshow').style.display = "none";	// hiding SUB TOTAL div
			document.getElementById('estaydivcontent').style.display = "";
	
			// MAINTAIN STEPS
			if(document.getElementById('step3')) 
				document.getElementById('step3').className = 'stepmain'; // TO CHANGE FROM FADED CLASS TO MAIN
			//
			if(document.getElementById('step2A')) 
				document.getElementById('step2A').style.display = "";
			if(document.getElementById('step2')) 
				document.getElementById('step2').style.display = "none";	
				
			location.href = "#top";
			//document.getElementById('action').value = 'submit';
		} else {
			document.frmSearch.submit();
		}
		
	}
}


function old_goBack(frmSearch, action) {
	
	//document.getElementById('action').value = '';
	document.getElementById('checkoutstatus').value = 'NOSUBMIT';
	document.getElementById('gobackspan').style.display = 'none'; // HIDE BACK BUTTON
	document.getElementById('gocheckoutspan').className = 'gocheckoutspanB'; // CHANGE CONTINUE BUTTON CLASS
	document.getElementById('estaydivcontent').style.display = "none";
	document.getElementById('roomtypeAclass').style.display = "";
	document.getElementById('roomtypeTotalshow').style.display = "";	// show SUB TOTAL div

	// MAINTAIN STEPS
	if(document.getElementById('step3')) 
		document.getElementById('step3').className = 'stepfaded'; // TO CHANGE FROM MAIN CLASS TO FADED
	//
	if(document.getElementById('step2A')) 
		document.getElementById('step2A').style.display = "none";
	if(document.getElementById('step2')) 
		document.getElementById('step2').style.display = "";
}


function goBack(frmSearch, action) {	
	document.getElementById('estayview').value = '';
	document.getElementById('checkoutstatus').value = 'NOSUBMIT';
	document.getElementById('gobackspan').style.display = 'none'; // HIDE BACK BUTTON
	document.getElementById('gocheckoutspan').className = 'gocheckoutspanB'; // CHANGE CONTINUE BUTTON CLASS
	document.getElementById('estaydivcontent').style.display = "none";
	document.getElementById('roomtypeAclass').style.display = "";
	document.getElementById('roomtypeTotalshow').style.display = "";	// show SUB TOTAL div

	// MAINTAIN STEPS
	if(document.getElementById('step3')) 
		document.getElementById('step3').className = 'stepfaded'; // TO CHANGE FROM MAIN CLASS TO FADED
	//
	if(document.getElementById('step2A')) 
		document.getElementById('step2A').style.display = "none";
	if(document.getElementById('step2')) 
		document.getElementById('step2').style.display = "";
		
	document.frmSearch.action = '';
	document.frmSearch.submit();
}



function showCheckOut(estayform) {
	httpObject = getHTTPObject();
		
	var idpricearr,esid,esprice,qtyid,esqty;
	var cnt = 0;
	var esNArr = new Array();
	valid = true;
	
	if(document.getElementById('ajaxcode')) { // AJAXCODE is set to 'SET' once "MAKE CHANGES" button is CLicked
			if(document.getElementById('ajaxcode').value == '') {
				
					for (i=0; i < estayform.estaychk.length; i++) {
						idpricearr = estayform.estaychk[i].value.split(":");
						if(estayform.estaychk[i].checked==true) {
								esid = idpricearr[0]; // ID
								esprice = idpricearr[1]; // PRICE
								qtyid = "oldaddonsno"+esid; 
								esqty = document.getElementById(qtyid).value; // QTY
								esNArr[cnt] = esid+":"+esprice+":"+esqty+":Y";
						} else {
								esid = idpricearr[0]; // ID
								esprice = idpricearr[1]; // PRICE
								qtyid = "oldaddonsno"+esid; 
								esqty = document.getElementById(qtyid).value; // QTY
								esNArr[cnt] = esid+":"+esprice+":"+esqty+":N";
						}
								cnt++;
					}
				
			} else { // BEGIN - ELSE
			
				for (i=0; i<document.getElementsByTagName("input").length; i++) {
					if (document.getElementsByTagName("input")[i].type == "checkbox" && document.getElementsByTagName("input")[i].name == "ajaxestaychk") {
						idpricearr = document.getElementsByTagName("input")[i].value.split(":");
								if(document.getElementsByTagName("input")[i].checked==true) {
										esid = idpricearr[0]; // ID
										esprice = idpricearr[1]; // PRICE
										qtyid = "ajaxaddonsno"+esid; 
										esqty = document.getElementById(qtyid).value; // QTY
										esNArr[cnt] = esid+":"+esprice+":"+esqty+":Y";
									
								} else {
										esid = idpricearr[0]; // ID
										esprice = idpricearr[1]; // PRICE
										qtyid = "ajaxaddonsno"+esid; 
										esqty = document.getElementById(qtyid).value; // QTY
										esNArr[cnt] = esid+":"+esprice+":"+esqty+":N";
								}
								cnt++;
					}
				}
			
			} // END - ELSE
		
	}
	
	

	//if(document.getElementById('estaychkdItems')) {
		document.getElementById('estaychkdItems').value = esNArr;
	//}

	
	if(document.getElementById('enhancesubtotal')) {
		document.getElementById('enhancementTotal').value = document.getElementById('enhancesubtotal').value;
	}
	
 if(document.getElementById('hdnRoomType').value == '') {
 	alert ( "Please select a Room Type" );
	valid = false;
 }
 
	if(valid == true) {
		
		if(document.getElementById('newmiddle')) {
			document.getElementById('newmiddle').style.display="none";
		}
		
		if(document.getElementById('newright')) {
			document.getElementById('newright').style.display="none";
		}
		
		// HIDE EXPAND / COLLAPSE OPTION on CHECKOUT
		document.getElementById('mainhotelRequests').style.display="none";
		document.getElementById('hotelRequests').style.display="none";
		
		document.getElementById('hotelcontent').style.display="none"; // Hide Hotel Content
		//document.getElementById('estaydivcontent').style.display="none"; // Hide Enhance Stay Content
		//document.getElementById('roomtypecontent').style.display="none"; // Hide Room Content
		if(document.getElementById('roomseldiv')) {
			document.getElementById('roomseldiv').style.display="none"; // Hide Room Selection Page Content
		}
		document.getElementById('resbuttondiv').style.display="none";  // Hide Continue Reservation Button
				
		//var hdnHotelID = document.getElementById('hdnHotelID').value;
		var hdnHotelID = document.getElementById('alt_hot_name').value;
		var hdnDateIn = document.getElementById('dateCheckIn').value;
		var hdnDateOut = document.getElementById('dateCheckOut').value;
		var lst_rooms = document.getElementById('lstRoomsSelect').value;
		var adults = document.getElementById('adultsSelect').value;
		var hdnRoomType = document.getElementById('hdnRoomType').value;
		var hdnRate = document.getElementById('hdnRate').value;
		var enhancementTotal = document.getElementById('enhancementTotal').value;
		var estaychkdItems = document.getElementById('estaychkdItems').value;
		
	//var url = "index.php";
	var url = "../themes/theshaftesbury/ajax/callAjax.php";
	var params = encodeURI("showcase=checkout&option=reservation&task=checkout&ajax=1&hdnHotelID="+hdnHotelID+"&hdnDateIn="+hdnDateIn+"&hdnDateOut="+hdnDateOut+"&lst_rooms="+lst_rooms+"&adults="+adults+"&hdnRoomType="+hdnRoomType+"&hdnRate="+hdnRate+"&enhancementTotal="+enhancementTotal+"&estaychkdItems="+estaychkdItems);
	httpObject.open("POST", url, true);
	
	httpObject.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	httpObject.setRequestHeader("Content-length", params.length);
	httpObject.setRequestHeader("Connection", "close");
	httpObject.send(params);
	
	httpObject.onreadystatechange=function() {
			document.getElementById('checkoutcontent').style.display = '';
			document.getElementById('enhanceleftcontent').style.display = '';

			if(httpObject.readyState == 1) { 
			document.getElementById('checkoutcontent').innerHTML = "<img src='images/bigrotation.gif' border='0' align='middle' alt='' />"; 
			} 
			if(httpObject.readyState == 2) { 
			document.getElementById('checkoutcontent').innerHTML = "<img src='images/bigrotation.gif' border='0' align='middle' alt='' />";
			} 
			if(httpObject.readyState == 3) { 
			document.getElementById('checkoutcontent').innerHTML = "<img src='images/bigrotation.gif' border='0' align='middle' alt='' />";
			}	
			if(httpObject.readyState == 4) {
				//var html = httpObject.responseText;
				var html = httpObject.responseText.split("[BRK]");
				var checkoutHTML = html[1];
				var checkouthotelHTML = html[3];
				var enhanceleftHTML = html[2];
				
				// SHOW ENHANCE STAY in LEFT COLUMN
				document.getElementById('enhanceleftcontent').innerHTML = enhanceleftHTML;
				//
				
				document.getElementById('checkoutcontent').innerHTML = checkoutHTML;
				document.getElementById('reservedivcontent').style.display = "none";
				document.getElementById('checkouthotelcontent').style.display = '';
				document.getElementById('checkouthotelcontent').innerHTML = checkouthotelHTML;
				
				
				// HIDE HOTEL NAME in LEFT COLUMN
				document.getElementById('selectedHoteldiv').style.display="none";
				//
				
				// HIDE CLEAR DATES BUTTONS in LEFT COLUMN
				document.getElementById('showclearcontent').style.display="none";
				//
				
				// HIDE CURRENCY DROPDOWN in LEFT COLUMN
				document.getElementById('showcurrencycontent').style.display="none";
				//
				
			}
	}
	
 } // if valid = true
	
}

function searchHotels(frm) {
	hot_id=frm.hot_name.value;
	httpObject = getHTTPObject();
	
	dateArr=frm.lstCheckOut1.value.split("-");
	if(frm.lstCheckOut.value<10)
	dd='0'+frm.lstCheckOut.value;
	else
	dd=frm.lstCheckOut.value;
	if(dateArr[0]<10)
	mm="0"+dateArr[0];
	else
	mm=dateArr[0];
	outdate=dd+"/"+mm+"/"+dateArr[1];
	outdate1 = new Date(mm+"/"+dd+"/"+dateArr[1]);

	dateArr=frm.lstCheckIn1.value.split("-");
	if(frm.lstCheckIn.value<10)
	dd='0'+frm.lstCheckIn.value;
	else
	dd=frm.lstCheckIn.value;
	if(dateArr[0]<10)
	mm="0"+dateArr[0];
	else
	mm=dateArr[0];
	indate=dd+"/"+mm+"/"+dateArr[1];
	indate1 = new Date(mm+"/"+dd+"/"+dateArr[1]);

	var todate_olp=new Date("07/20/2012");
    var fromdate_olp=new Date("08/14/2012");

	if((todate_olp <= indate1 && indate1 <= fromdate_olp) || (todate_olp <= outdate1 && outdate1 <= fromdate_olp))
        {
		if(days_between(indate1,outdate1)< 3)
		{
			alert("Please select minimum  3 nights stay");
			return false;
		}
	}
	
	frm.dateCheckIn.value=indate;
	frm.dateCheckOut.value=outdate;
	
	lstRooms = frm.lstRooms.value;
	adults = frm.adults.value;
	children = frm.children.value;



	//frm.action="http://theshaftesbury.com/index.php?option=reservation&task=hoteldetails&hdnDateIn="+frm.dateCheckIn.value+"&hdnDateOut="+frm.dateCheckOut.value+"&lstRooms="+frm.lstRooms.value+"&hdnHotelID=" + hot_id + "&adults=" + adults + "&children=" + children;
	
	frm.action="http://theshaftesbury.com/index.php?option=reservation&task=search&hdnDateIn="+frm.dateCheckIn.value+"&hdnDateOut="+frm.dateCheckOut.value+"&lstRooms="+frm.lstRooms.value+"&hdnHotelID=" + hot_id + "&adults=" + adults + "&children=" + children;
	frm.submit();
}



var httpObject = null;
//-->


/*
	VALIDATION TYPE
	================
		email			Whether field is valid email or not
		blank	 	  	Field must not be blank 
		blank_email		field must be email type as well as mandatory 
		numeric			field must have numeric value
		blank_numeric	field must be numeric as well as numeric
		http			url check if value exist
		blank_http		must have value and valid url 
*/

function fnSubmit(estayform) {
	var idpricearr,esid,esprice,qtyid,esqty;
	var cnt = 0;
	var esNArr = new Array();
	valid = true;
	
	for (i=0; i < estayform.estaychk.length; i++) {
		idpricearr = estayform.estaychk[i].value.split(":");
		if(estayform.estaychk[i].checked==true) {
				esid = idpricearr[0]; // ID
				esprice = idpricearr[1]; // PRICE
				qtyid = "oldaddonsno"+esid; 
				esqty = document.getElementById(qtyid).value; // QTY
				esNArr[cnt] = esid+":"+esprice+":"+esqty+":Y";
		} else {
				esid = idpricearr[0]; // ID
				esprice = idpricearr[1]; // PRICE
				qtyid = "oldaddonsno"+esid; 
				esqty = document.getElementById(qtyid).value; // QTY
				esNArr[cnt] = esid+":"+esprice+":"+esqty+":N";
		}
				cnt++;
	}
	
	if(document.getElementById('estaychkdItems')) {
		document.getElementById('estaychkdItems').value = esNArr;
	}

	
	if(document.getElementById('enhancesubtotal')) {
		document.getElementById('enhancementTotal').value = document.getElementById('enhancesubtotal').value;
	}
	
 if(document.getElementById('hdnRoomType').value == '') {
 	alert ( "Please select a Room Type" );
	valid = false;
 }
 	if(valid == true) {
	document.getElementById('hdnDateIn').value = document.getElementById('dateCheckIn').value;
	document.getElementById('hdnDateOut').value = document.getElementById('dateCheckOut').value;
	}
	return valid;	 
}


function validate_form(frm_name)   // FORM VALIDATION FUNCTION
{
	var alert_str="";
	var field_name="";
	var temp_ele,temp_flag;
	temp_flag=0;
	
	for(var i=0;i < document.forms[frm_name].length;i++)
	{
		//var re = new RegExp ('_', 'gi') ;
		//var field_name = document.forms[frm_name].elements[i].name.replace(re,' ');
		//field_name = word_capitalize(field_name);
		temp_ele=document.forms[frm_name].elements[i];
		//alert(document.forms[frm_name].elements[i].id);
		
		
		switch(document.forms[frm_name].elements[i].id)
		{
			case "email" : 
				if(check_blank(document.forms[frm_name].elements[i].value)) 
				{
					if(!isValidMail(document.forms[frm_name].elements[i].value)) 
					{
						field_name = word_capitalize(document.forms[frm_name].elements[i].name);
						alert_str+=field_name+"  : Invalid Email\n";
						if(temp_flag==0)
						{
							temp_ele.focus();
							temp_flag=1;
						}
					}
				}
				break;
			
			case "blank" : 
				if(!check_blank(document.forms[frm_name].elements[i].value)) 
				{
					field_name = word_capitalize(document.forms[frm_name].elements[i].name);
					//alert(temp_ele.type);
					if(temp_ele.type=="select-one")
						alert_str+="Please select the value for "+field_name+"\n";	
					else
						alert_str+="Please enter a value in "+field_name+"\n";	
					if(temp_flag==0)
					{
						temp_ele.focus();
						temp_flag=1;
					}
				}
				break;
			
			case "list" : 
				if(document.forms[frm_name].elements[i].value=="-1") 
				{
					field_name = word_capitalize(document.forms[frm_name].elements[i].name);
					//alert(temp_ele.type);
						alert_str+="Please select the value for "+field_name+"\n";	
					if(temp_flag==0)
					{
						temp_ele.focus();
						temp_flag=1;
					}
				}
				break;
				
				
			case "Country" : 
				if(document.forms[frm_name].elements[i].value=="-1") 
				{
					field_name = word_capitalize(document.forms[frm_name].elements[i].name);
						alert_str+="Please select the value for "+field_name+"\n";	
					if(temp_flag==0)
					{
						temp_ele.focus();
						temp_flag=1;
					}
				}
				break;

			case "Card_Country" : 
				if(document.forms[frm_name].elements[i].value=="-1") 
				{
					field_name = word_capitalize(document.forms[frm_name].elements[i].name);
						alert_str+="Please select the value for "+field_name+"\n";	
					if(temp_flag==0)
					{
						temp_ele.focus();
						temp_flag=1;
					}
				}
				break;
				
			case "blank_email" : 
				if(!check_blank_email(document.forms[frm_name].elements[i].value)) 
				{
					field_name = word_capitalize(document.forms[frm_name].elements[i].name);
					alert_str+=field_name+" : Blank / Invalid \n"; 
					if(temp_flag==0)
					{
						temp_ele.focus();
						temp_flag=1;
					}
				}
				break;
				
			case "numeric" : 
				if(!check_numeric(document.forms[frm_name].elements[i].value)) 
				{
					field_name = word_capitalize(document.forms[frm_name].elements[i].name);
					alert_str+=field_name+"  : Should Be Numeric\n"; 
					if(temp_flag==0)
					{
						temp_ele.focus();
						temp_flag=1;
					}
				}
				break;
			
			case "blank_numeric" : 
				if(!check_blank_numeric(document.forms[frm_name].elements[i].value)) 
				{
					field_name = word_capitalize(document.forms[frm_name].elements[i].name);
					alert_str+=field_name+" : Blank / Not Numeric\n"; 
					if(temp_flag==0)
					{
						temp_ele.focus();
						temp_flag=1;
					}
				}
				break;
			
			case "http" : 
				if(check_blank(document.forms[frm_name].elements[i].value)) 
				{
					if(!isValidWebname(document.forms[frm_name].elements[i].value)) 
					{
						field_name = word_capitalize(document.forms[frm_name].elements[i].name);
						alert_str+=field_name+" : Invalid url\n"; 
						if(temp_flag==0)
						{
							temp_ele.focus();
							temp_flag=1;
						}
					}
				}
			break;

			case "blank_http" : 
				if(check_blank(document.forms[frm_name].elements[i].value)) 
				{
					if(!isValidWebname(document.forms[frm_name].elements[i].value)) 
					{
						field_name = word_capitalize(document.forms[frm_name].elements[i].name);
						alert_str+=field_name+" : Invalid url\n"; 
						if(temp_flag==0)
						{
							temp_ele.focus();
							temp_flag=1;
						}
					}
				}
				else
				{
					field_name = word_capitalize(document.forms[frm_name].elements[i].name);
					//alert(temp_ele.type);
					alert_str+="Please enter a value in "+field_name+"\n";	
					if(temp_flag==0)
					{
						temp_ele.focus();
						temp_flag=1;
					}
				}
				break;
		}
	}
	if(alert_str)
		alert_str="Check Following :\n\n"+alert_str;
	return(alert_str);
}

function check_blank(str)
{
	var re = new RegExp (' ', 'gi') ;
	var newstr = str.replace(re, '') ;
	if(newstr.length==0)
		return(false);
	else
		return(true);
}

function check_numeric ( n ) 
{
	var v = 1.0 * n ;
	if ( v == 0.0 || isNaN(v) )
		return false;
	else
		return true;
}

function check_blank_numeric(str)
{
	if(!check_blank(str))
		return(false);
	else if(!check_numeric(str))
		return(false);
	else
		return(true);
}

function check_blank_email(str)
{
	if(!check_blank(str))
		return(false);
	else if(!isValidMail(str))
		return(false);
	else
		return(true);
}

function isValidMail(mail)
{
	m=new String(mail);
	var mailLength=m.length
	var totalDOT=0
	var totalROUTE=0
	var totalSPACE=0

	// Should not beging with a '.' or '@'
	if(m.charAt(0)=='@' || m.charAt(0) == '.')
	{	return false;		}

	// 
	for(ctr=1;ctr<=mailLength;ctr++)
	{	if (m.charAt(ctr)=='@')	{	totalROUTE++;	}	
		if (m.charAt(ctr)=='.')	{	totalDOT++;	}	
		if (m.charAt(ctr)==' ') {	totalSPACE++;	}
	}

	if (totalROUTE!=1)			//Checking for Multiple @
	{	return false;		}
	if(totalDOT<1)				//Checking for Route Domain
	{	return false;		}
	if(totalSPACE>0)			//No Embeded Space
	{	return false;		}
	
	//Checking for Invalid Characters

	for(ctr=0;ctr<=mailLength;ctr++)
	{	
		if (m.charAt(ctr)=='`')	return false;	
		else if (m.charAt(ctr)=='!')	return false;	
		else if (m.charAt(ctr)==' ') 	return false;	
		else if (m.charAt(ctr)=='#')	return false;	
		else if (m.charAt(ctr)=='$')	return false;	
		else if (m.charAt(ctr)=='%')	return false;	
		else if (m.charAt(ctr)=='^')	return false;	
		else if (m.charAt(ctr)=='&')	return false;	
		else if (m.charAt(ctr)=='*')	return false;	
		else if (m.charAt(ctr)=='(')	return false;	
		else if (m.charAt(ctr)==')')	return false;	
		else if (m.charAt(ctr)=='+')	return false;	
		else if (m.charAt(ctr)=='=')	return false;	
		else if (m.charAt(ctr)=='|')	return false;	
		else if (m.charAt(ctr)=='\\')	return false;	
		else if (m.charAt(ctr)=='{')	return false;	
		else if (m.charAt(ctr)=='}')	return false;	
		else if (m.charAt(ctr)=='[')	return false;	
		else if (m.charAt(ctr)==']')	return false;	
		else if (m.charAt(ctr)==':')	return false;
		else if (m.charAt(ctr)==';')	return false;	
		else if (m.charAt(ctr)=='"')	return false;	
		else if (m.charAt(ctr)=="'")	return false;	
		else if (m.charAt(ctr)=='<')	return false;	
		else if (m.charAt(ctr)=='>')	return false;	
		else if (m.charAt(ctr)==',')	return false;	
		else if (m.charAt(ctr)=='?')	return false;	
		else if (m.charAt(ctr)=='/')	return false;	
	}
	return true;
}


function newBigWindow(URL, WIN_NAME)
{	
	//alert(URL);
	var HEIGHT=screen.height;
	var POPUP_HEIGHT = HEIGHT-150;
	var POPUP_WIDTH = 890;

	var HEIGHT_POP=screen.height;
	HEIGHT_POP=(HEIGHT_POP/2) - (POPUP_HEIGHT/2);
	var WIDTH_POP=screen.width;
	WIDTH_POP=(WIDTH_POP/2) - (POPUP_WIDTH/2);
	open_win=window.open(URL, WIN_NAME, 'top='+HEIGHT_POP+', left='+WIDTH_POP+', width='+POPUP_WIDTH+',height='+POPUP_HEIGHT+',directories=no,location=no,menubar=no,scrollbars=yes,status=no,toolbar=no,resizable=no');
	open_win.focus();
	//alert(open_win);
	return false;
}

function newMediumWindow(URL, WIN_NAME)
{	
	//alert(URL);
	var HEIGHT=screen.height;
	var POPUP_HEIGHT = HEIGHT-150;
	var POPUP_WIDTH = 800;

	var HEIGHT_POP=screen.height;
	HEIGHT_POP=(HEIGHT_POP/2) - (POPUP_HEIGHT/2);
	var WIDTH_POP=screen.width;
	WIDTH_POP=(WIDTH_POP/2) - (POPUP_WIDTH/2);
	open_win=window.open(URL, WIN_NAME, 'top='+HEIGHT_POP+', left='+WIDTH_POP+', width='+POPUP_WIDTH+',height='+POPUP_HEIGHT+',directories=no,location=no,menubar=no,scrollbars=yes,status=no,toolbar=no,resizable=no');
	open_win.focus();
	return false;
}



function newSmallWindow(URL, WIN_NAME)
{	var HEIGHT=screen.height;
	var POPUP_HEIGHT = HEIGHT-391;
	var POPUP_WIDTH = 700;

	var HEIGHT_POP=screen.height;
	HEIGHT_POP=(HEIGHT_POP/2) - (POPUP_HEIGHT/2);
	var WIDTH_POP=screen.width;
	WIDTH_POP=(WIDTH_POP/2) - (POPUP_WIDTH/2);
	open_win=window.open(URL, WIN_NAME, 'top='+HEIGHT_POP+', left='+WIDTH_POP+', width='+POPUP_WIDTH+',height='+POPUP_HEIGHT+',directories=no,location=no,menubar=no,scrollbars=yes,status=no,toolbar=no,resizable=no');
	open_win.focus();
	return false;
}

function deleteConfirm()
{
	var flag=0;
	for(i=0;i<document.forms[0].length;i++)
	{
		if((document.forms[0].elements[i].type=='checkbox' || document.forms[0].elements[i].type=='radio') && document.forms[0].elements[i].checked)
		{		
			if(confirm("Are you sure to delete selected row(s)? "))
			{
				document.forms[0].submit();
				return true;
			}
			else

				return false;
		}
	}
	alert("No rows selected");
	return false;
}


function word_capitalize(field_name1)
{
	var re = new RegExp ('_', 'gi');
	var field_name = field_name1.replace(re,' ');

	var ret_field_name="";
	var ar=field_name.split(" ");
	for(var i=0; i < ar.length; i++)
	{
		var temp=ar[i].charAt(0).toUpperCase()+ar[i].substr(1).toLowerCase();
		ret_field_name+=temp+" ";
	}
	return(ret_field_name);
}

// ON ENTER PRESSS FORM VALIDATIOAN AND FORM SUBMISSION

function checkEnter(e,frm_name)
{ //e is event object passed from function invocation
	var characterCode ;//literal character code will be stored in this variable

	if(e && e.which)
	{ //if which property of event object is supported (NN4)
		//alert("e");
		e = e
		characterCode = e.which; //character code is contained in NN4's which property
	}
	else
	{
		e = event;
		characterCode = e.keyCode; //character code is contained in IE's keyCode property
	}

	if(characterCode == 13)
	{ //if generated character code is equal to ascii 13 (if enter key)
	//document.forms[0].submit() //submit the form
		validate_frm(frm_name);
		return false; 
	}
	else
	{
		return true;
	}
}

function check_all(frm_name)
{
	//alert(frm_name);
	for(i=0; i < document.forms[frm_name].length; i++)
	{
		if(document.forms[frm_name].elements[i].type=='checkbox')
			document.forms[frm_name].elements[i].checked=true;
	}
}

function check_selected(frm_name)
{

	var flag="";
	for(i=0; i < document.forms[frm_name].length; i++)
	{
		if(document.forms[frm_name].elements[i].type=='checkbox' || document.forms[frm_name].elements[i].type=='radio')
		{
			if(document.forms[frm_name].elements[i].checked==true)
			{
				flag=true;
				break;
			}
			else
				flag=false;
		}
	}
	if(flag==false)
	{
		alert("Please Select at least one row.")
		return false;
	}
	else
		return true;
}

function checkSignUpDetails()
{	
	with(window.document.contactForm)
	{	if(firstname.value=="")
		{	alert("Enter First Name");firstname.focus(); return false;	}
/*		if(lastname.value=="")
		{	alert("Enter Last Name");lastname.focus(); return false;	}
*/
		if(country.value=="-1")
			{	alert("Select Country");country.focus(); return false;	}
		if(email.value=="")
		{	alert("Enter Email.");
			email.focus(); return false;
		}

		if(!(isValidMail(email.value)))
		{	alert("Enter valid Email.");
			email.focus(); return false;
		}
		if(subject.value=="")
		{	alert("Enter Subject.");
			subject.focus(); return false;
		}
		if(comment.value=="")
		{	alert("Enter Your Comments");comment.focus(); return false;	}
		return true;
	}
}

function newSmallAddressWindow(URL, WIN_NAME)
{	
	var HEIGHT=screen.height;
	var POPUP_HEIGHT = HEIGHT-400;
	var POPUP_WIDTH = 400;

	var HEIGHT_POP=screen.height;
	HEIGHT_POP=(HEIGHT_POP/2) - (POPUP_HEIGHT/2);
	var WIDTH_POP=screen.width;
	WIDTH_POP=(WIDTH_POP/2) - (POPUP_WIDTH/2);
	open_win=window.open(URL, WIN_NAME, 'top='+HEIGHT_POP+', left='+WIDTH_POP+', width='+POPUP_WIDTH+',height='+POPUP_HEIGHT+',directories=no,location=no,menubar=no,scrollbars=yes,status=no,toolbar=no,resizable=yes');
	open_win.focus();
	return false;;
}


function check_phone(val)
{   
    var allowed_char= "0123456789!-_()@! ";

    for (i = 0; i < val.length; i++)
    {   
        var c = val.charAt(i);
        if (allowed_char.indexOf(c) == -1)
		return false;
    }
    return true;
}

function close_func(close_check, loc)
{
	if(loc)
		eval("window."+loc).location.reload();

	if(close_check)
		window.close();
}

function isValidWebname(webname)
{	
	m=new String(webname);
	n=new String("http://");
	p=new String("https://");
	var mailLength=m.length
	var totalDOT=0
	var totalROUTE=0
	var totalSPACE=0
	var taglength=0
	var tag=0

	// Should not beging with a '.' or '@'
	if(m.charAt(0)=='@' || m.charAt(0) == '.')
	{	return false;		}
	//should begin with http:// or https://
	
	 for(i=0;i<8;i++){
	    if(m.charAt(i)==p.charAt(i)) { taglength++; }
	 }
     if(taglength==8) { tag++; }
	 taglength=0;
	 for(i=0;i<7;i++){
	    if(m.charAt(i)==n.charAt(i)) { taglength++; }
	 }
     if(taglength==7) { tag++;}
	 if(tag==0){
		 //alert("Enter url with http:// or https://");
		 //httpvalidate="httptrue";
		 //return (httpvalidate);
		 return false;
	 }
	// 
	for(ctr=1;ctr<=mailLength;ctr++)
	{	//if (m.charAt(ctr)=='@')	{	totalROUTE++;	}	
		if (m.charAt(ctr)=='.')	{	totalDOT++;	}	
		if (m.charAt(ctr)==' ') {	totalSPACE++;	}
	}

	//if (totalROUTE!=1)			//Checking for Multiple @
	//{	return false;		}
	if(totalDOT<1)				//Checking for Route Domain
	{
		return false;		}
	if(totalSPACE>0)			//No Embeded Space
	{	return false;		}
	
	//Checking for Invalid Characters

	for(ctr=0;ctr<=mailLength;ctr++)
	{	
		if (m.charAt(ctr)=='`')	return false;	
		else if (m.charAt(ctr)=='!')	return false;	
		else if (m.charAt(ctr)==' ') 	return false;	
		else if (m.charAt(ctr)=='#')	return false;	
		else if (m.charAt(ctr)=='$')	return false;	
		else if (m.charAt(ctr)=='%')	return false;	
		else if (m.charAt(ctr)=='^')	return false;	
		else if (m.charAt(ctr)=='&')	return false;	
		else if (m.charAt(ctr)=='*')	return false;	
		else if (m.charAt(ctr)=='(')	return false;	
		else if (m.charAt(ctr)==')')	return false;	
		else if (m.charAt(ctr)=='+')	return false;	
		else if (m.charAt(ctr)=='=')	return false;	
		else if (m.charAt(ctr)=='|')	return false;	
		else if (m.charAt(ctr)=='\\')	return false;	
		else if (m.charAt(ctr)=='{')	return false;	
		else if (m.charAt(ctr)=='}')	return false;	
		else if (m.charAt(ctr)=='[')	return false;	
		else if (m.charAt(ctr)==']')	return false;	
		//else if (m.charAt(ctr)==':')	return false;
		else if (m.charAt(ctr)==';')	return false;	
		else if (m.charAt(ctr)=='"')	return false;	
		else if (m.charAt(ctr)=="'")	return false;	
		else if (m.charAt(ctr)=='<')	return false;	
		else if (m.charAt(ctr)=='>')	return false;	
		else if (m.charAt(ctr)==',')	return false;	
		else if (m.charAt(ctr)=='?')	return false;	
		//else if (m.charAt(ctr)=='/')	return false;	
	}
	return true;
}

function CompareDates(D1,D2,msg)
{	var dt1 = new  String(D1)
	myAr1 = dt1.split('-');
	var dt2 = new  String(D2)
	myAr2 = dt2.split('-');

	var y1 = myAr1[0];
	var y2 = myAr2[0];
	var d1 = myAr1[2];
	var d2 = myAr2[2];
	var m1 = myAr1[1];

	var m2 = myAr2[1];

	//alert(y1+"  "+d1+"  "+m1+"  "+y2+"  "+d2+"  "+m2);
		
	if (eval(y1) > eval(y2))
	{	
		alert(msg); return false;	
	}
		if (eval(y1) == eval(y2))
		{	if (eval(m1) == eval(m2))
			{	if (eval(d1) > eval(d2))
				{	alert(msg); return false;	
				}
			}
			else 
			{	if (eval(m1) > eval(m2))	
				{	alert(msg); return false;	
				}
			}
		}
		return true;
}

function DoValidate(Dt)
{
	var myDate = new  String(Dt)
	var SpaceExpr = /\s/;
	var SpacePos = myDate.search(SpaceExpr);
	if (SpacePos > -1)
	{
	alert("No space allowed in a Date.");
	return false;
	}
	var dLength=myDate.length
	var totalSlash=0
	var totalChar=0
	var totalInvalids=0

	// Should not beging with a '/' or end with '/'
	if(myDate.charAt(0)=='-' || myDate.charAt(dLength) == '-')
	{
	alert("Invalid Date");
	return false;
	}

	// Scanning the String
	for(ctr=0;ctr<dLength;ctr++)
	{
	Ch=myDate.charAt(ctr);
		if (Ch=='-')
		{
		totalSlash++;
		}			
		if (Ch!='-')
		{
			if (isNaN(Ch))	
			{	
				totalInvalids++;	
			}	
		}
		totalChar++;
	}
		
	if (totalSlash > 2)
	{
	alert("Excess Separators used in the date.");
	 return false;
	 }
	if (totalInvalids > 2)
	{
	alert("Invalid Character present in Date."); 
	return false;
	}
	if (totalChar < 8)
	{
	alert("Less Character present in Date."); 
	return false;
	}
	if (totalSlash==0)
	{
	alert("Pleae use '-' (Dash) as Separator"); 
	return false;
	}	
	myArr = myDate.split('-');
	if (myArr.length < 3)
	{	alert("Invalid Date");
	return false;
	}
	if (!isValidDate(myArr[0],myArr[1],myArr[2]))//year,month date
	{
	return false;	
	}
	return true;
}


// One customization:
// Specify the ID of the DIV or other container that is the tip box.

var TipBoxID = "TipBox";


var tip_box_id;

function findPosX(obj)
{
   var curleft = 0;
   if(obj.offsetParent)
   while(1) 
   {
      curleft += obj.offsetLeft;
      if(!obj.offsetParent)
         break;
      obj = obj.offsetParent;
   }
   else if(obj.x)
      curleft += obj.x;
   return curleft;
}

function findPosY(obj)
{
   var curtop = 0;
   if(obj.offsetParent)
   while(1)
   {
      curtop += obj.offsetTop;
      if(!obj.offsetParent)
         break;
      obj = obj.offsetParent;
   }
   else if(obj.y)
      curtop += obj.y;
   return curtop;
}

function DisplayTip(me,offX,offY,content) {
   var tipO = me;
   tip_box_id = document.getElementById(TipBoxID);
   var x = findPosX(me);
   var y = findPosY(me);
   tip_box_id.style.left = String(parseInt(x + offX) + 'px');
   tip_box_id.style.top = String(parseInt(y + offY) + 'px');
   tip_box_id.innerHTML = content;
   tip_box_id.style.display = "block";
   tipO.onmouseout = HideTip;
} // function DisplayTip()

function HideTip() { tip_box_id.style.display = "none"; }


// Check browser version
var isNav4 = false, isNav5 = false, isIE4 = false
var strSeperator = "/"; 
// If you are using any Java validation on the back side you will want to use the / because 
// Java date validations do not recognize the dash as a valid date separator.
var vDateType = 3; // Global value for type of date format
//                1 = mm/dd/yyyy
//                2 = yyyy/dd/mm  (Unable to do date check at this time)
//                3 = dd/mm/yyyy
var vYearType = 4; //Set to 2 or 4 for number of digits in the year for Netscape
var vYearLength = 2; // Set to 4 if you want to force the user to enter 4 digits for the year before validating.
var err = 0; // Set the error code to a default of zero
if(navigator.appName == "Netscape") {
if (navigator.appVersion < "5") {
isNav4 = true;
isNav5 = false;
}
else
if (navigator.appVersion > "4") {
isNav4 = false;
isNav5 = true;
   }
}
else {
isIE4 = true;
}

function DateFormat(vDateName, vDateValue, e, dateCheck, dateType) {
		vDateType = dateType;
		// vDateName = object name
		// vDateValue = value in the field being checked
		// e = event
		// dateCheck 
		// True  = Verify that the vDateValue is a valid date
		// False = Format values being entered into vDateValue only
		// vDateType
		// 1 = mm/dd/yyyy
		// 2 = yyyy/mm/dd
		// 3 = dd/mm/yyyy
		//Enter a tilde sign for the first number and you can check the variable information.
		if (vDateValue == "~") {
		alert("AppVersion = "+navigator.appVersion+" \nNav. 4 Version = "+isNav4+" \nNav. 5 Version = "+isNav5+" \nIE Version = "+isIE4+" \nYear Type = "+vYearType+" \nDate Type = "+vDateType+" \nSeparator = "+strSeperator);
		vDateName.value = "";
		vDateName.focus();
		return true;
		}
		var whichCode = (window.Event) ? e.which : e.keyCode;
		// Check to see if a seperator is already present.
		// bypass the date if a seperator is present and the length greater than 8
		if (vDateValue.length > 8 && isNav4) {
		if ((vDateValue.indexOf("-") >= 1) || (vDateValue.indexOf("/") >= 1))
		return true;
		}
		//Eliminate all the ASCII codes that are not valid
		var alphaCheck = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/-";
		if (alphaCheck.indexOf(vDateValue) >= 1) {
		if (isNav4) {
		vDateName.value = "";
		vDateName.focus();
		vDateName.select();
		return false;
		}
		else {
		vDateName.value = vDateName.value.substr(0, (vDateValue.length-1));
		return false;
		   }
		}
		if (whichCode == 8) //Ignore the Netscape value for backspace. IE has no value
		return false;
		else {
		//Create numeric string values for 0123456789/
		//The codes provided include both keyboard and keypad values
		var strCheck = '47,48,49,50,51,52,53,54,55,56,57,58,59,95,96,97,98,99,100,101,102,103,104,105';
		if (strCheck.indexOf(whichCode) != -1) {
		if (isNav4) {
		if (((vDateValue.length < 6 && dateCheck) || (vDateValue.length == 7 && dateCheck)) && (vDateValue.length >=1)) {
		alert("Invalid Date\nPlease Re-Enter");
		vDateName.value = "";
		vDateName.focus();
		vDateName.select();
		return false;
		}
		if (vDateValue.length == 6 && dateCheck) {
		var mDay = vDateName.value.substr(2,2);
		var mMonth = vDateName.value.substr(0,2);
		var mYear = vDateName.value.substr(4,4)
		//Turn a two digit year into a 4 digit year
		if (mYear.length == 2 && vYearType == 4) {
		var mToday = new Date();
		//If the year is greater than 30 years from now use 19, otherwise use 20
		var checkYear = mToday.getFullYear() + 30; 
		var mCheckYear = '20' + mYear;
		if (mCheckYear >= checkYear)
		mYear = '19' + mYear;
		else
		mYear = '20' + mYear;
		}
		var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
		if (!dateValid(vDateValueCheck)) {
		alert("Invalid Date\nPlease Re-Enter");
		vDateName.value = "";
		vDateName.focus();
		vDateName.select();
		return false;
		}
		return true;
		}
		else {
		// Reformat the date for validation and set date type to a 1
		if (vDateValue.length >= 8  && dateCheck) {
		if (vDateType == 1) // mmddyyyy
		{
		var mDay = vDateName.value.substr(2,2);
		var mMonth = vDateName.value.substr(0,2);
		var mYear = vDateName.value.substr(4,4)
		vDateName.value = mMonth+strSeperator+mDay+strSeperator+mYear;
		}
		if (vDateType == 2) // yyyymmdd
		{
		var mYear = vDateName.value.substr(0,4)
		var mMonth = vDateName.value.substr(4,2);
		var mDay = vDateName.value.substr(6,2);
		vDateName.value = mYear+strSeperator+mMonth+strSeperator+mDay;
		}
		if (vDateType == 3) // ddmmyyyy
		{
		var mMonth = vDateName.value.substr(2,2);
		var mDay = vDateName.value.substr(0,2);
		var mYear = vDateName.value.substr(4,4)
		vDateName.value = mDay+strSeperator+mMonth+strSeperator+mYear;
		}
		//Create a temporary variable for storing the DateType and change
		//the DateType to a 1 for validation.
		var vDateTypeTemp = vDateType;
		vDateType = 1;
		var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
		if (!dateValid(vDateValueCheck)) {
		alert("Invalid Date\nPlease Re-Enter");
		vDateType = vDateTypeTemp;
		vDateName.value = "";
		vDateName.focus();
		vDateName.select();
		return false;
		}
		vDateType = vDateTypeTemp;
		return true;
		}
		else {
		if (((vDateValue.length < 8 && dateCheck) || (vDateValue.length == 9 && dateCheck)) && (vDateValue.length >=1)) {
		alert("Invalid Date\nPlease Re-Enter");
		vDateName.value = "";
		vDateName.focus();
		vDateName.select();
		return false;
				 }
			  }
		   }
		}
		else {
		// Non isNav Check
		if (((vDateValue.length < 8 && dateCheck) || (vDateValue.length == 9 && dateCheck)) && (vDateValue.length >=1)) {
		alert("Invalid Date\nPlease Re-Enter");
		vDateName.value = "";
		vDateName.focus();
		return true;
		}
		// Reformat date to format that can be validated. mm/dd/yyyy
		if (vDateValue.length >= 8 && dateCheck) {
		// Additional date formats can be entered here and parsed out to
		// a valid date format that the validation routine will recognize.
		if (vDateType == 1) // mm/dd/yyyy
		{
		var mMonth = vDateName.value.substr(0,2);
		var mDay = vDateName.value.substr(3,2);
		var mYear = vDateName.value.substr(6,4)
		}
		if (vDateType == 2) // yyyy/mm/dd
		{
		var mYear = vDateName.value.substr(0,4)
		var mMonth = vDateName.value.substr(5,2);
		var mDay = vDateName.value.substr(8,2);
		}
		if (vDateType == 3) // dd/mm/yyyy
		{
		var mDay = vDateName.value.substr(0,2);
		var mMonth = vDateName.value.substr(3,2);
		var mYear = vDateName.value.substr(6,4)
		}
		if (vYearLength == 4) {
		if (mYear.length < 4) {
		alert("Invalid Date\nPlease Re-Enter");
		vDateName.value = "";
		vDateName.focus();
		return true;
		   }
		}
		// Create temp. variable for storing the current vDateType
		var vDateTypeTemp = vDateType;
		// Change vDateType to a 1 for standard date format for validation
		// Type will be changed back when validation is completed.
		vDateType = 1;
		// Store reformatted date to new variable for validation.
		var vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
		if (mYear.length == 2 && vYearType == 4 && dateCheck) {
		//Turn a two digit year into a 4 digit year
		var mToday = new Date();
		//If the year is greater than 30 years from now use 19, otherwise use 20
		var checkYear = mToday.getFullYear() + 30; 
		var mCheckYear = '20' + mYear;
		if (mCheckYear >= checkYear)
		mYear = '19' + mYear;
		else
		mYear = '20' + mYear;
		vDateValueCheck = mMonth+strSeperator+mDay+strSeperator+mYear;
		// Store the new value back to the field.  This function will
		// not work with date type of 2 since the year is entered first.
		if (vDateTypeTemp == 1) // mm/dd/yyyy
		vDateName.value = mMonth+strSeperator+mDay+strSeperator+mYear;
		if (vDateTypeTemp == 3) // dd/mm/yyyy
		vDateName.value = mDay+strSeperator+mMonth+strSeperator+mYear;
		} 
		if (!dateValid(vDateValueCheck)) {
		alert("Invalid Date\nPlease Re-Enter");
		vDateType = vDateTypeTemp;
		vDateName.value = "";
		vDateName.focus();
		return true;
		}
		vDateType = vDateTypeTemp;
		return true;
		}
		else {
		if (vDateType == 1) {
		if (vDateValue.length == 2) {
		vDateName.value = vDateValue+strSeperator;
		}
		if (vDateValue.length == 5) {
		vDateName.value = vDateValue+strSeperator;
		   }
		}
		if (vDateType == 2) {
		if (vDateValue.length == 4) {
		vDateName.value = vDateValue+strSeperator;
		}
		if (vDateValue.length == 7) {
		vDateName.value = vDateValue+strSeperator;
		   }
		} 
		if (vDateType == 3) {
		if (vDateValue.length == 2) {
		vDateName.value = vDateValue+strSeperator;
		}
		if (vDateValue.length == 5) {
		vDateName.value = vDateValue+strSeperator;
		   }
		}
		return true;
		   }
		}
		if (vDateValue.length == 10&& dateCheck) {
		if (!dateValid(vDateName)) {
		// Un-comment the next line of code for debugging the dateValid() function error messages
		//alert(err);  
		alert("Invalid Date\nPlease Re-Enter");
		vDateName.focus();
		vDateName.select();
		   }
		}
		return false;
		}
		else {
		// If the value is not in the string return the string minus the last
		// key entered.
		if (isNav4) {
		vDateName.value = "";
		vDateName.focus();
		vDateName.select();
		return false;
		}
		else
		{
		vDateName.value = vDateName.value.substr(0, (vDateValue.length-0));
		return false;
				 }
			  }
		   }
}


function dateValid(objName) {
		var strDate;
		var strDateArray;
		var strDay;
		var strMonth;
		var strYear;
		var intday;
		var intMonth;
		var intYear;
		var booFound = false;
		var datefield = objName;
		var strSeparatorArray = new Array("-"," ","/",".");
		var intElementNr;
		// var err = 0;
		var strMonthArray = new Array(12);
		strMonthArray[0] = "Jan";
		strMonthArray[1] = "Feb";
		strMonthArray[2] = "Mar";
		strMonthArray[3] = "Apr";
		strMonthArray[4] = "May";
		strMonthArray[5] = "Jun";
		strMonthArray[6] = "Jul";
		strMonthArray[7] = "Aug";
		strMonthArray[8] = "Sep";
		strMonthArray[9] = "Oct";
		strMonthArray[10] = "Nov";
		strMonthArray[11] = "Dec";
		//strDate = datefield.value;
		strDate = objName;
		if (strDate.length < 1) {
		return true;
		}
		for (intElementNr = 0; intElementNr < strSeparatorArray.length; intElementNr++) {
		if (strDate.indexOf(strSeparatorArray[intElementNr]) != -1) {
		strDateArray = strDate.split(strSeparatorArray[intElementNr]);
		if (strDateArray.length != 3) {
		err = 1;
		return false;
		}
		else {
		strDay = strDateArray[0];
		strMonth = strDateArray[1];
		strYear = strDateArray[2];
		}
		booFound = true;
		   }
		}
		if (booFound == false) {
		if (strDate.length>5) {
		strDay = strDate.substr(0, 2);
		strMonth = strDate.substr(2, 2);
		strYear = strDate.substr(4);
		   }
		}
		//Adjustment for short years entered
		if (strYear.length == 2) {
		strYear = '20' + strYear;
		}
		strTemp = strDay;
		strDay = strMonth;
		strMonth = strTemp;
		intday = parseInt(strDay, 10);
		if (isNaN(intday)) {
		err = 2;
		return false;
		}
		intMonth = parseInt(strMonth, 10);
		if (isNaN(intMonth)) {
		for (i = 0;i<12;i++) {
		if (strMonth.toUpperCase() == strMonthArray[i].toUpperCase()) {
		intMonth = i+1;
		strMonth = strMonthArray[i];
		i = 12;
		   }
		}
		if (isNaN(intMonth)) {
		err = 3;
		return false;
		   }
		}
		intYear = parseInt(strYear, 10);
		if (isNaN(intYear)) {
		err = 4;
		return false;
		}
		if (intMonth>12 || intMonth<1) {
		err = 5;
		return false;
		}
		if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intday > 31 || intday < 1)) {
		err = 6;
		return false;
		}
		if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intday > 30 || intday < 1)) {
		err = 7;
		return false;
		}
		if (intMonth == 2) {
		if (intday < 1) {
		err = 8;
		return false;
		}
		if (LeapYear(intYear) == true) {
		if (intday > 29) {
		err = 9;
		return false;
		   }
		}
		else {
		if (intday > 28) {
		err = 10;
		return false;
			  }
		   }
		}
		return true;
}


function LeapYear(intYear) {
	if (intYear % 100 == 0) {
	if (intYear % 400 == 0) { return true; }
	}
	else {
	if ((intYear % 4) == 0) { return true; }
	}
	return false;
}


function checkbae()
{
	var emailID=document.frm.EmailSpecialOffer
	if ((emailID.value==null)||(emailID.value==""))
	{
	alert("Please Enter your Email ID")
	emailID.focus()
	return false;
	}
	if (echeck(emailID.value)==false)
	{
	emailID.value=""
	//emailID.focus()
	return false;
	}
	return true;
}

function searchHotels_package(frm) {
	httpObject = getHTTPObject();
		
	if(document.getElementById('pagehtml')) {
		// document.getElementById('pagehtml').style.display="none"; // Hide Static Index Page Content
	}
	
	dateArr=frm.lstCheckOut1.value.split("-");
	if(frm.lstCheckOut.value<10)
	dd='0'+frm.lstCheckOut.value;
	else
	dd=frm.lstCheckOut.value;
	if(dateArr[0]<10)
	mm="0"+dateArr[0];
	else
	mm=dateArr[0];
	outdate=dd+"/"+mm+"/"+dateArr[1];
	outdate1 = new Date(mm+"/"+dd+"/"+dateArr[1]);
	dateArr=frm.lstCheckIn1.value.split("-");
	if(frm.lstCheckIn.value<10)
	dd='0'+frm.lstCheckIn.value;
	else
	dd=frm.lstCheckIn.value;
	if(dateArr[0]<10)
	mm="0"+dateArr[0];
	else
	mm=dateArr[0];
	indate=dd+"/"+mm+"/"+dateArr[1];
	indate1 = new Date(mm+"/"+dd+"/"+dateArr[1]);	
	
	frm.dateCheckIn.value=indate;
	frm.dateCheckOut.value=outdate;
	
	hot_id = frm.hot_id.value;
	lstRooms = frm.lstRooms.value;
	adults = frm.adults.value;
	children = frm.children.value;

	var todate_olp=new Date("07/20/2012");
    var fromdate_olp=new Date("08/14/2012");

	if((todate_olp <= indate1 && indate1 <= fromdate_olp) || (todate_olp <= outdate1 && outdate1 <= fromdate_olp))
        {
		if(days_between(indate1,outdate1)< 3)
		{
			alert("Please select minimum  3 nights stay");
			return false;
		}
	}

	frm.action="index.php?option=reservation&task=hoteldetails&hdnDateIn="+frm.dateCheckIn.value+"&hdnDateOut="+frm.dateCheckOut.value+"&lstRooms="+frm.lstRooms.value+"&hdnHotelID=" + hot_id + "&adults=" + adults + "&children=" + children;
	frm.submit();
}
function days_between(date1, date2) {

    // The number of milliseconds in one day
    var ONE_DAY = 1000 * 60 * 60 * 24

    // Convert both dates to milliseconds
    var date1_ms = date1.getTime()
    var date2_ms = date2.getTime()

    // Calculate the difference in milliseconds
    var difference_ms = Math.abs(date1_ms - date2_ms)
    
    // Convert back to days and return
    return Math.round(difference_ms/ONE_DAY)

}
