// JavaScript Document
// This file contains all the form validation for all the input forms.

	var ctl = "_ctl0_BodyText_"; // Because I was testing these on Microsofts Web Matrix and I didnt have the full form ID's this is the _MainBody_ part of the server processed form input ID's
	var ctl1 = "_ctl0_MainBody_"; // The other ctl var.
	var ctl2 = "WUCBooking1_repBreakDownAllocation__ctl";
	var ctl3 = "WUCBooking1_";
	var ctl4 = "WUCBooking1_repExtras__ctl";
	
	var msg = ""; // The error message header.
	var strMessage = ""; // The error message var.
	var errNumber = 0; // Counter for the errors. It is used later, if the errNumber is > 0 then show the error message and stop the form.
	var isOk = 0;
	msg = "_______________________________________________________________\n\n";
	msg += "The form has not been submitted because there are problem(s) with the form.\n";
	msg += "Please correct the problem(s) and re-submit the form.\n";
	msg += "_______________________________________________________________\n\n";
	msg += "The following field(s) need to be corrected:\n\n";

/*
	function isFrame() {
	    if (top == self) {
	        location.replace("http://" + document.domain + "/library/default.asp?url=" + document.URL.substring("http://".length + document.domain.length));
		}
	}
*/

var sSecureBookurl = "http://www.irishcarrentals.us/scripts";
var sSecureName = "irishcarrentals.us";
var sVernum = "V2.0";
 
if (!window.DefaultLocation){DefaultLocation=0;}
if (!window.ShowExec){ShowExec=0;}
 
var sAffiliate = "316";
var sDisplayType = "4";
var sAcceptsVouchers = "0";
var sAcceptsPromo = "0";
var sHeaderFile = "";
var sSourceID = "CARI";
var sVendorID = "CARI";
var sAdminCharge = "5";
var sAffiliateDiscount = "5";
var sAffiliateCommision = "23";
var sAffiliateeMail = "reservations@carrentalsireland.com";
var sEmailContactLine = "";
 
var CCto = "reservations@carrentalsireland.com";
var Lang="EN";

if (!window.Lang){Lang='EN';}
 
function ICRBookForm() {
	if (sDisplayType == '4') {
		document.write('<iframe name="content" src="'+sSecureBookurl+'/doshow.pl?affiliateID='+sAffiliate+'&displaytype='+sDisplayType+'&lang='+Lang+'&acceptsvouchers='+sAcceptsVouchers+'&headerfile='+sHeaderFile+'&source='+sSourceID+'&vendor='+sVendorID+'&admin='+sAdminCharge+'&discount='+sAffiliateDiscount+'&affiliateemail='+sAffiliateeMail+'&commision='+sAffiliateCommision+'&acceptspromo='+sAcceptsPromo+'&emailcontactline='+sEmailContactLine+'" width="600" height="600" frameborder="no"></iframe>');
	} else {
		document.write('<iframe name="content" src="'+sSecureBookurl+'/doshow.pl?affiliateID='+sAffiliate+'&displaytype='+sDisplayType+'&lang='+Lang+'&acceptsvouchers='+sAcceptsVouchers+'&headerfile='+sHeaderFile+'&source='+sSourceID+'&vendor='+sVendorID+'&admin='+sAdminCharge+'&discount='+sAffiliateDiscount+'&affiliateemail='+sAffiliateeMail+'&commision='+sAffiliateCommision+'&acceptspromo='+sAcceptsPromo+'&emailcontactline='+sEmailContactLine+'&DefaultLocation='+DefaultLocation+'&showexec='+ShowExec+'" width="450" height="500" frameborder="no"></iframe>');
	} 
}

function CheckExp(year, month) {
	today = new Date();
	expiry = new Date(year, month);
	
	if (today.getTime() > expiry.getTime()) {
		return false;
	} else {
		return true;
	}
}

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 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 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 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 IsPopupBlocker(vWin) {
	//var oWin = window.open("","testpopupblocker","width=100,height=50,top=5000,left=5000");
	var oWin = vWin;

	if (oWin == null || typeof(oWin) == "undefined") {
		//return true;
		alert("Please disable you popup blocker or hold Ctrl while clicking the link.");
	} else {
		//oWin.close();
		return false;
	}
}

/*
	if (IsPopupBlocker()) {document.write("You HAVE A POPUP BLOCKER");}
*/

function SetFeatures(feature) {
	if (feature) {
		document.getElementById("features").innerHTML = "<b>" + feature + "</b>";
	} else {
		document.getElementById("features").innerHTML = "&nbsp;";
	}
}

function GrabPrice() {
	document.getElementById("&euro; " + vPrice + " / Person Sharing / Night");
}

function isSecure() {
	var url = document.URL;
	var queryString = document.URL.indexOf('?');
	var protocol_ok = url.indexOf('https://');

	if (protocol_ok == -1) { 
		url.replace('http://', 'https://');
		document.location = url;
		document.write(url);
	}
}

function ShowSpecialEvents(varD, varM, varY) {
	var t = document.getElementById("arr_text").innerHTML;

	// St. Patrick's Day
	if ((varD == 17) && (varM == 3)) {
		document.getElementById("arr_text").innerHTML = t + "<br><b>St. Patricks Day!<\/b>";
		//  is a very busy day in Ireland for hotels.<br>Please note: Most hotels will be booked out for this week.
	}

	// Christmas & New Year
	if ((varD == 24) && (varM == 12)) {
		document.getElementById("arr_text").innerHTML = t + "<br><b>Christmas Eve<\/b>";
	}
	if ((varD == 25) && (varM == 12)) {
		document.getElementById("arr_text").innerHTML = t + "<br><b>Christmas Day<\/b>";
	}
	if ((varD == 26) && (varM == 12)) {
		document.getElementById("arr_text").innerHTML = t + "<br><b>St. Stephens Day (Boxing Day)<\/b>";
	}
	if ((varD == 31) && (varM == 12)) {
		document.getElementById("arr_text").innerHTML = t + "<br><b>New Years Eve<\/b>";
	}
	if ((varD == 1) && (varM == 1)) {
		document.getElementById("arr_text").innerHTML = t + "<br><b>New Years Day<\/b>";
	}
	if ((varD == 4) && (varM == 7)) {
		document.getElementById("arr_text").innerHTML = t + "<br><b>4th of July<\/b>";
	}
}

function SetCheckDays(direct) {
	var varNDate = new Date();
	var targetDate = new Date();
	var varMonth = "";
	var varDay = "";
	var varYear = "";
	var days = 0;
	var difference = 0;
	var myDays = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
	var myMonths = new Array("","January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
	var myMonth2 = new Array("","Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec");

	varMonth = document.getElementById(ctl1 + "ddMonths");
	varDay = document.getElementById(ctl1 + "ddDays");
	varYear = document.getElementById(ctl1 + "ddYear");
	vartxtNights = document.getElementById(ctl1 + "txtNights");

	if (direct == "arr") {
		sMonth = varMonth.options[varMonth.selectedIndex].value;
	} else {
		sMonth = varMonth.value;
	}

	varDate1 = new Date(myMonths[varMonth.options[varMonth.selectedIndex].value] + " "+ varDay.options[varDay.selectedIndex].value + "," + varYear.options[varYear.selectedIndex].value);
	varDate2 = new Date(myMonths[varMonth] + " "+ varDay + "," + varYear);
	difference = varDate1 + varDate2;
	varDiff = difference / (1000*60*60*24);
	varDate1 = new Date(varDay + varDiff);

	//if (isNaN(vartxtNights)) {
	//	document.getElementById(ctl1 + "txtNights").value = 2; 
	//} else {
		if (vartxtNights < 1) {
			document.getElementById(ctl1 + "txtNights").value = 1;
			vartxtNights = 1;
		} else {
			if (vartxtNights > 14) {
				document.getElementById(ctl1 + "txtNights").value = 14;
				alert("If you wish to book more than 14 Nights please call,\nINTL - 00 353 1 412 7600 \nUK - 0800 912 0100\nUS - 1888 205 0260\n\nMon - Fri 8AM-10PM (GMT)\nWeekends 10AM-7PM (GMT) ");
			}
		}
	//}

	if (vartxtNights.value == 1) {
		isNights = "night";
	} else {
		isNights = "nights";
	}

	if (direct == "arr") {
		myDate = new Date(eval('"' + varDay.options[varDay.selectedIndex].value + " " + myMonths[sMonth] + " " + varYear.options[varYear.selectedIndex].value + '"'))
		document.getElementById("arr_text").innerHTML = "Arriving " + myDays[myDate.getDay()] + ", " + myMonths[sMonth] + " " + varDay.options[varDay.selectedIndex].value + ", " + varYear.options[varYear.selectedIndex].value + " for " + vartxtNights.value + " " + isNights;
	} else {
		myDate = new Date(myMonths[varMonth] + " "+ varDay + "," + varYear);
		document.getElementById(ctl + "_text").innerHTML = "[" + myDays[myDate.getDay()] + "]";
		document.getElementById(ctl + "_day_text").innerHTML = varDay;
		document.getElementById(ctl + "_month_text").innerHTML = myMonth2[varMonth];
		document.getElementById(ctl + "_year_text").innerHTML = varYear;
	}
	
	ShowSpecialEvents(varDay.options[varDay.selectedIndex].value, varMonth.options[varMonth.selectedIndex].value, varYear.options[varYear.selectedIndex].value);
	//alert(varDay.options[varDay.selectedIndex].value + varMonth.options[varMonth.selectedIndex].value + varYear.options[varYear.selectedIndex].value)
}

var monthLength = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

function checkDate()
{
	var day = document.getElementById(ctl1 + "ddDay").options[document.getElementById(ctl1 + "ddDay").selectedIndex].value;
	var month = document.getElementById(ctl1 + "ddMonth").options[document.getElementById(ctl1 + "ddMonth").selectedIndex].value;
	var year = document.getElementById(ctl1 + "ddYear").options[document.getElementById(ctl1 + "ddYear").selectedIndex].value;

	if (!day || !month || !year)
		return false;

	if (year/4 == parseInt(year/4))
		monthLength[1] = 29;

	if (day > monthLength[month-1])
		return false;

	monthLength[1] = 28;

	var now = new Date();
	now = now.getTime(); //NN3

	var dateToCheck = new Date();
	dateToCheck.setYear(year);
	dateToCheck.setMonth(month-1);
	dateToCheck.setDate(day);
	var checkDate = dateToCheck.getTime();

	var futureDate = (now < checkDate);
	var pastDate = (now > checkDate);

	return pastDate;
}


function setDays() {
	var y = document.getElementById(ctl1 + "ddYear").options[document.getElementById(ctl1 + "ddYear").selectedIndex].value;
	var m = document.getElementById(ctl1 + "ddMonths").selectedIndex;
	var d = "";

	if ( (m == 3) || (m == 5) || (m == 8) || (m == 10) ) {
		days = 30;
	} else if (m == 1) {
		if ((Math.floor(y/4) == (y/4)) && ((Math.floor(y/100) != (y/100)) || (Math.floor(y/400) == (y/400)))) {
			days = 29
		} else {
			days = 28
		}
	} else {
		days = 31;
	}

	if (days > document.getElementById(ctl1 + "ddDays").length) {
		for (i = document.getElementById(ctl1 + "ddDays").length; i < days; i++) {
			document.getElementById(ctl1 + "ddDays").length = days;
			document.getElementById(ctl1 + "ddDays").options[i].text = i + 1;
			document.getElementById(ctl1 + "ddDays").options[i].value = i + 1;
		}
	}

	if (days < document.getElementById(ctl1 + "ddDays").length) {
		document.getElementById(ctl1 + "ddDays").length = days;
	
		if (document.getElementById(ctl1 + "ddDays").selectedIndex == -1) {
			document.getElementById(ctl1 + "ddDays").selectedIndex = days - 1;
		}
	}
	SetCheckDays('arr')
}

function SetDemo(line, text) {
	if (document.getElementById(ctl + text).value != "") {
		//document.getElementById(line + "_1").innerHTML = document.getElementById(ctl + text).value;
		document.getElementById(line + "_2").innerHTML = document.getElementById(ctl + text).value;
		document.getElementById(line + "_3").innerHTML = document.getElementById(ctl + text).value;
	}
}

function SetTitle() {
	if (document.getElementById(ctl + "txtAWTitle").value != "") {
		//document.getElementById("smlAWTitle_1").innerHTML = document.getElementById(ctl + "txtAWTitle").value;
		document.getElementById("smlAWTitle_2").innerHTML = document.getElementById(ctl + "txtAWTitle").value;
		document.getElementById("smlAWTitle_3").innerHTML = document.getElementById(ctl + "txtAWTitle").value;
	}
}

function SetDesc1() {
	if (document.getElementById(ctl + "txtAWLine1").value != "") {
		//document.getElementById("smlAWLine1_1").innerHTML = document.getElementById(ctl + "txtAWLine1").value;
		document.getElementById("smlAWLine1_2").innerHTML = document.getElementById(ctl + "txtAWLine1").value;
		document.getElementById("smlAWLine1_3").innerHTML = document.getElementById(ctl + "txtAWLine1").value;
	}
}

function SetDesc2() {
	if (document.getElementById(ctl + "txtAWLine2").value != "") {
		//document.getElementById("smlAWLine2_1").innerHTML = document.getElementById(ctl + "txtAWLine2").value;
		document.getElementById("smlAWLine2_2").innerHTML = document.getElementById(ctl + "txtAWLine2").value;
		document.getElementById("smlAWLine2_3").innerHTML = document.getElementById(ctl + "txtAWLine2").value;
	}
}

function SetPricePerPerson() {
	var nights = "";
	var theNights = "";
	var varTheNumber = document.getElementById(ctl + "txtDoubleA");

	if (varTheNumber == "0") {
		varTheNumber = "";
	}

	if (varTheNumber != null) {
		//if (isNaN(document.getElementById(ctl + "txtDoubleA")) != true) {
			var ppp = (document.getElementById(ctl + "txtDoubleA").value)/2;
			//if (document.getElementById("smlAWLine3_0") != null){
				if (document.getElementById(ctl + "txtAWNights").value) {
					if (document.getElementById(ctl + "txtAWNights").value == "1") {
						nights = " for " + document.getElementById(ctl + "txtAWNights").value + " night.";
					} else {
						nights = " for " + document.getElementById(ctl + "txtAWNights").value + " nights.";
					}
				}

				thePrice = "&euro;" + Math.round(ppp,2) + " Per person sharing" + nights;
				
				//if (thePrice != "NaN") {
					//document.getElementById("smlAWLine3_1").innerHTML = thePrice;
					document.getElementById("smlAWLine3_2").innerHTML = thePrice;
					document.getElementById("smlAWLine3_3").innerHTML = thePrice;
				//}
			//}
		//}
	//} else {
		
	}
}

function CheckExtras() {
	if(document.getElementById(ctl + "txtOtherProduct1").value) {
		if(document.getElementById(ctl + "txtOtherProduct1Price").value == "") {
			strMessage += "Custom Offer (1)\t\t- The custom offer (1) price field is empty.\n";
			errNumber ++;
		}
	}
	
	if(document.getElementById(ctl + "txtOtherProduct1Price").value) {
		if(document.getElementById(ctl + "txtOtherProduct1").value == "") {
			strMessage += "Custom Offer (1)\t\t- The custom offer (1) description field is empty.\n";
			errNumber ++;
		}
	}
	
	if(document.getElementById(ctl + "txtOtherProduct2").value) {
		if(document.getElementById(ctl + "txtOtherProduct2Price").value == "") {
			strMessage += "Custom Offer (2)\t\t- The custom offer (2) price field is empty.\n";
			errNumber ++;
		}
	}
	
	if(document.getElementById(ctl + "txtOtherProduct2Price").value) {
		if(document.getElementById(ctl + "txtOtherProduct2").value == "") {
			strMessage += "Custom Offer (2)\t\t- The custom offer (2) description field is empty.\n";
			errNumber ++;
		}
	}
	
	strMessage += "_______________________________________________________________\n\n"
	strMessage += "Please Click OK to continue\n"

	if (errNumber > 0) {
		document.getElementById(ctl + "txtSubmitSpecialOffer").disabled = false;
		document.getElementById(ctl + "txtSubmitSpecialOffer").value = "Submit Extra's";
		alert(msg + strMessage);
		errNumber = 0;
		return false;
	} else {
		document.getElementById(ctl + "txtSubmitSpecialOffer").disabled = true;
		document.getElementById(ctl + "txtSubmitSpecialOffer").value = "Processing, You will be notified when it is set up";
		return true;
	}
}

function CheckGroupForm() {
	var vRoomTotal = 0;
	var vRoomNum = 0;
	var vErrorMsg = new Array();
	var vCheckFields = new Array();
	var arrRooms = new Array("txtSingle", "txtTwin", "txtDouble", "txtTriple", "txtQuad", "txtApt");
	var dest = document.getElementById(ctl1 + "ddLocation").options[document.getElementById(ctl1 + "ddLocation").selectedIndex].value;
	var hotel = document.getElementById(ctl1 + "hotel_class").options[document.getElementById(ctl1 + "hotel_class").selectedIndex].value;
	
	if (checkDate()) {
		strMessage += "Arrival Date\t\t- Arrival Date must be in the furure.\n";
		errNumber ++;
	}
	
	vCheckFields[0] = "txtFirstName";
	vErrorMsg[0] = "Contact First Name\t\t- The contact person's first name is empty.\n";
	
	vCheckFields[1] = "txtSurname";
	vErrorMsg[1] = "Contact Surname\t\t- The contact person's surname name is empty.\n";
	
	vCheckFields[2] = "txtEmail";
	vErrorMsg[2] = "Contact Person's Email\t- The contact person's email adderss is empty.\n";
	
	vCheckFields[3] = "txtTel";
	vErrorMsg[3] = "Contact Telephone Number\t- The contact person's telephone number is empty.\n";
	
	for (var vELoop = 0; vELoop < vCheckFields.length; vELoop++) {
		var vCurrentCheck = document.getElementById(ctl1 + vCheckFields[vELoop] + "");
		
		if (vCurrentCheck.value == "") {
			strMessage += vErrorMsg[vELoop];
			errNumber ++;
		}
	}
	
	if (document.getElementById(ctl1 + "txtNumAdults").value == 0) {
		strMessage += "Number of People\t\t- Please enter the number of people.\n";
		errNumber ++;
	}
	
	if (dest == 0) {
		strMessage += "Where would you like to stay\t- Please select a city.\n";
		errNumber ++;
	}
	
	if (hotel == 0) {
		strMessage += "Class of Hotel\t\t- Please select a hotel class.\n";
		errNumber ++;
	}

	for (var vLoop = 0; vLoop < arrRooms.length; vLoop++) {
		var vCurrentRoom = document.getElementById(ctl1 + arrRooms[vLoop] + "");
		
		if (isNaN(vCurrentRoom) == true) {
			if (vCurrentRoom.value >= 1) {
				vRoomTotal ++;
			}
		} else {
			document.getElementById(ctl1 + arrRooms[vLoop] + "").value = "0";
		}
	}
	
	if(vRoomTotal == 0) {
		strMessage += "Room Types\t\t- Please select at least on room type.\n";
		errNumber ++;
	}
	
	strMessage += "_______________________________________________________________\n\n"
	strMessage += "Please Click OK to continue\n"
	
	if (errNumber > 0) {
		alert(msg + strMessage);
		strMessage = "";
		errNumber = 0;
		vRoomTotal = 0;
		return false;
	} else {
		return true;
	}
}

function CheckSpecials() {
	if(document.getElementById(ctl + "txtAWTitle").value == "") {
		strMessage += "Name / Headline\t\t- The name / headline field is empty.\n";
		errNumber ++;
	}
	
	if(document.getElementById(ctl + "txtAWLine1").value == "") {
		strMessage += "Brief Description (1)\t\t- The brief description (1) field is empty.\n";
		errNumber ++;
	}
	
	if(document.getElementById(ctl + "txtAWLine1").value == "") {
		strMessage += "Brief Description (2)\t\t- The brief description (2) field is empty.\n";
		errNumber ++;
	}
	
	if(document.getElementById(ctl + "txtAWNights").value == "") {
		strMessage += "Nights\t\t\t- The nights field is empty.\n";
		errNumber ++;
	}
	
	//if(document.getElementById(ctl + "txtTwinA").value == "") {
	//	strMessage += "Twin\t\t\t- The twin rate A field is empty.\n";
	//	errNumber ++;
	//}
	
	if(document.getElementById(ctl + "txtDoubleA").value == "") {
		strMessage += "Double\t\t\t- The double rate A field is empty.\n";
		errNumber ++;
	}
	
	//if(document.getElementById(ctl + "txtSingleA").value == "") {
	//	strMessage += "Singel\t\t\t- The single rate A field is empty.\n";
	//	errNumber ++;
	//}
	
	strMessage += "_______________________________________________________________\n\n"
	strMessage += "Please Click OK to continue\n"

	if (errNumber > 0) {
		document.getElementById(ctl + "txtSubmitSpecialAdWord").disabled = false;
		document.getElementById(ctl + "txtSubmitSpecialAdWord").value = "Submit Special Offers";
		alert(msg + strMessage);
		return false;
	} else {
		document.getElementById(ctl + "txtSubmitSpecialAdWord").disabled = true;
		document.getElementById(ctl + "txtSubmitSpecialAdWord").value = "Processing, You will be notified when it is set up";
		return true;
	}
}

function CheckForm() {
	var phoneRegex = /^\(\d\d\d\) \d\d\d\d\d\d\d$/; // This is the RegEx string for the telephone and fax numbers.
	var useRegex = false; // This is for later to check the telephone / fax numbers with a RegEx.
	
		if(document.getElementById(ctl + "txtHotelName").value == "") {
			strMessage += "Hotel Name\t\t- The hotel name field is empty.\n";
			errNumber ++;
		}
		
		if(document.getElementById(ctl + "txtHotelAddress").value == "") {
			strMessage += "Hotel Address\t\t- The hotel address field is empty.\n";
			errNumber ++;
		}
		
		if(document.getElementById(ctl + "txtHotelCity").value == "") {
			strMessage += "Hotel Town/City\t\t- The hotel town/city field is empty.\n";
			errNumber ++;
		}
		
		if(document.getElementById(ctl + "txtCounty").value == "") {
			strMessage += "Hotel County/State\t\t- The hotel county/state field is empty.\n";
			errNumber ++;
		}
		
		if(document.getElementById(ctl + "ddCountrys").value == "") {
			strMessage += "Hotel Country\t\t- The hotel country has not been selected.\n";
			errNumber ++;
		}
		
		if(document.getElementById(ctl + "txtHotelTelephone").value == "") {
			strMessage += "Hotel Telephone #\t\t- The hotel telephone number is empty.\n";
			errNumber ++;
		} else {
			var telNum = document.getElementById(ctl + "txtHotelTelephone").value
			document.getElementById(ctl + "txtHotelTelephone").value = telNum.replace(/-/g, " ");
			
			if (useRegex == true) {
				if( !document.getElementById(ctl + "txtHotelTelephone").value.match( phoneRegex ) ) {
 					strMessage += "Hotel Telephone #\t\t- The hotel telephone number must be in the format.\n";
					errNumber ++;
				}
			}
		}
		
		if(document.getElementById(ctl + "txtHotelFax").value == "") {
			strMessage += "Hotel Fax #\t\t- The hotel fax number is empty.\n";
			errNumber ++;
		} else {
			var telNum = document.getElementById(ctl + "txtHotelFax").value
			document.getElementById(ctl + "txtHotelFax").value = telNum.replace(/-/g, " ");

			if (useRegex == true) {
				if(!document.getElementById(ctl + "txtHotelFax").value.match( phoneRegex )) {
 					strMessage += "Hotel Fax #\t\t- The hotel fax number must be in the format.\n";
					errNumber ++;
				}
			}
		}
		
		if(document.getElementById(ctl + "txtHotelPostcode").value == "") {
			strMessage += "Hotel Postcode/ZIP Code\t- The hotel postcode/zip code is empty.\n";
			errNumber ++;
		}
		
		// Res contact information
		if(document.getElementById(ctl + "txtHotelRezContactFName").value == "") {
			strMessage += "Reservations Contact\t- The reservations contact first name is empty.\n";
			errNumber ++;
		}
		
		if(document.getElementById(ctl + "txtHotelRezContactLName").value == "") {
			strMessage += "Reservations Contact\t- The reservations contact last name is empty.\n";
			errNumber ++;
		}
		
		if(document.getElementById(ctl + "txtHotelRezEmail").value == "") {
			strMessage += "Reservations Contact\t- The reservations contact email address is empty.\n";
			errNumber ++;
		} else {
			if((document.getElementById(ctl + "txtHotelRezEmail").value.indexOf("@",0) == -1 || document.getElementById(ctl + "txtHotelRezEmail").value.indexOf(".",0) == -1)) {
				strMessage += "Reservations Contact\t- The reservations contact email address is invalid.\n";
				errNumber ++;
			}
		}
		
		//if(document.getElementById(ctl + "txtHotelWebsite").value == "") {
		//	strMessage += "Hotel Website\t\t- The hotel website is empty.\n";
		//	errNumber ++;
		//}
		
		// Sales Contact Information
		if(document.getElementById(ctl + "txtHotelSalesContactFName").value == "") {
			strMessage += "Sales Contact\t\t- The sales contact first name is empty.\n";
			errNumber ++;
		}
		
		if(document.getElementById(ctl + "txtHotelSalesContactLName").value == "") {
			strMessage += "Sales Contact\t\t- The sales contact last name is empty.\n";
			errNumber ++;
		}
		
		if(document.getElementById(ctl + "txtHotelSalesEmail").value == "") {
			strMessage += "Sales Contact\t\t- The sales contact email address is empty.\n";
			errNumber ++;
		} else {
			if((document.getElementById(ctl + "txtHotelSalesEmail").value.indexOf("@",0) == -1||document.getElementById(ctl + "txtHotelSalesEmail").value.indexOf(".",0) == -1)) {
				strMessage += "Sales Contact\t- The sales contact email address is invalid.\n";
				errNumber ++;
			}
		}
		
		// GM Contact Information
		if(document.getElementById(ctl + "txtHotelGMFName").value == "") {
			strMessage += "General Manager Contact\t- The general manager contact first name is empty.\n";
			errNumber ++;
		}
		
		if(document.getElementById(ctl + "txtHotelGMLName").value == "") {
			strMessage += "General Manager Contact\t- The general manager contact last name is empty.\n";
			errNumber ++;
		}
		
		if(document.getElementById(ctl + "txtHotelGMEmail").value == "") {
			strMessage += "General Manager Contact\t- The general manager contact email address is empty.\n";
			errNumber ++;
		} else {
			if((document.getElementById(ctl + "txtHotelGMEmail").value.indexOf("@",0) == -1||document.getElementById(ctl + "txtHotelGMEmail").value.indexOf(".",0) == -1)) {
				strMessage += "General Manager Contact\t- The general managers contact email address is invalid.\n";
				errNumber ++;
			}
		}
		
		// Username
		if(document.getElementById(ctl + "txtHotelUsername").value == "") {
			strMessage += "Username\t\t- The username is empty.\n";
			errNumber ++;
		}
		
		// Password
		if(document.getElementById(ctl + "txtHotelPassword").value == "") {
			strMessage += "Password\t\t\t- The password is empty.\n";
			errNumber ++;
		} else {
				if(document.getElementById(ctl + "txtHotelPassword").value.length <= 5) {
					strMessage += "Password\t\t\t- The password must be greater than 6 chars.\n";
					errNumber ++;
				}
		}
		
		// Distance to the City. If the City field is <> "" then check to see if they put the distance in.
		if(document.getElementById(ctl + "txtNearestCity").value != "") {
			if(document.getElementById(ctl + "txtDistanceToCity").value == "") {
				strMessage += "City Distance\t\t- The distance to the city is empty.\n";
				errNumber ++;
			}
		}
		
		// City name. If the city distance field is <> "" then check to see if they put the name in.
		if(document.getElementById(ctl + "txtDistanceToCity").value != "") {
			if(document.getElementById(ctl + "txtNearestCity").value == "") {
				strMessage += "City Name\t\t- The name of the city is empty.\n";
				errNumber ++;
			}
		}
		
		// Distance to the Airport. If the Airport field is <> "" then check to see if they put the distance in.
		if(document.getElementById(ctl + "txtNearestAirport").value != "") {
			if(document.getElementById(ctl + "txtDistanceToNearestAirport").value == "") {
				strMessage += "Airport Distance\t\t- The distance to the airport is empty.\n";
				errNumber ++;
			}
		}
		
		// Airport name. If the Airport distance field is <> "" then check to see if they put the name in.
		if(document.getElementById(ctl + "txtDistanceToNearestAirport").value != "") {
			if(document.getElementById(ctl + "txtNearestAirport").value == "") {
				strMessage += "Airport Name\t\t- The name of the airport is empty.\n";
				errNumber ++;
			}
		}
		
		// Hotel Brand
		if(document.getElementById(ctl + "txtHotelBrand").value == "") {
			strMessage += "Hotel Brand\t\t- The hotel brand is empty.\n";
			errNumber ++;
		}
		
		// Short Description
		if(document.getElementById(ctl + "txtShortDescription").value == "") {
			strMessage += "Short Description\t\t- The short description is empty.\n";
			errNumber ++;
		}
		
		// Location Description
		if(document.getElementById(ctl + "txtLocation").value == "") {
			strMessage += "Location Description\t- The location description is empty.\n";
			errNumber ++;
		}
		
		// Hotel Directions
		if(document.getElementById(ctl + "txtDirections").value == "") {
			strMessage += "Directions\t\t\t- The directions is empty.\n";
			errNumber ++;
		}
		
		// Parking
		if(document.getElementById(ctl + "txtParking").value == "") {
			strMessage += "Parking\t\t\t- The parking description is empty.\n";
			errNumber ++;
		}
		
		// Child Policy
		if(document.getElementById(ctl + "txtChildPolicy").value == "") {
			strMessage += "Child Policy Description\t- The child policy description is empty.\n";
			errNumber ++;
		}
		
		if(document.getElementById(ctl + "txtParaHeader1").value == "") {
			strMessage += "Paragraph Header 1\t- The the paragraph header 1 is empty.\n";
			errNumber ++;
		}
		
		if(document.getElementById(ctl + "txtParaHeader2").value == "") {
			strMessage += "Paragraph Header 2\t- The the paragraph header 2 is empty.\n";
			errNumber ++;
		}
		
		if(document.getElementById(ctl + "txtParaHeader3").value == "") {
			strMessage += "Paragraph Header 3\t- The the paragraph header 3 is empty.\n";
			errNumber ++;
		}
		
		if(document.getElementById(ctl + "txtParaHeader4").value == "") {
			strMessage += "Paragraph Header 4\t- The the paragraph header 4 is empty.\n";
			errNumber ++;
		}
		
		if(document.getElementById(ctl + "txtParaText1").value == "") {
			strMessage += "Paragraph Text 1\t\t- The the paragraph text 1 is empty.\n";
			errNumber ++;
		}
		
		if(document.getElementById(ctl + "txtParaText2").value == "") {
			strMessage += "Paragraph Text 2\t\t- The the paragraph text 2 is empty.\n";
			errNumber ++;
		}
		
		if(document.getElementById(ctl + "txtParaText3").value == "") {
			strMessage += "Paragraph Text 3\t\t- The the paragraph text 3 is empty.\n";
			errNumber ++;
		}
		
		if(document.getElementById(ctl + "txtParaText4").value == "") {
			strMessage += "Paragraph Text 4\t\t- The the paragraph text 4 is empty.\n";
			errNumber ++;
		}
		
	strMessage += "_______________________________________________________________\n\n"
	strMessage += "Please Click OK to continue\n"
	
	if (errNumber > 0) {
		EnableForm();
		//ErrorAlert('1');
		alert(msg + strMessage);
		return false;
	} else {
		DisableForm()
		return true;
	}
}
 
function DisableForm() {
	document.getElementById(ctl + "btnSubmit").disabled = true;
	document.getElementById(ctl + "btnSubmit").value = "Please wait......";
}

function EnableForm() {
	document.getElementById(ctl + "btnSubmit").disabled = false;
	document.getElementById(ctl + "btnSubmit").value = "Continue";
}

function countit(i){
	var formcontent = document.getElementById(ctl + "txtParaText" + i).value;
	var countNum = document.getElementById(ctl + "txtParaText" + i + "Counter").value;
	formcontent = formcontent.split(" ");
	var num = countNum - formcontent.length;
	document.getElementById(ctl + "txtParaText" + i + "Counter").value = num;
}

function textCounter(field, countfield, maxlimit) {
	var theField = document.getElementById(ctl + field);

	if (theField.value.length > maxlimit) {// if too long...trim it!
		theField.value = theField.value.substring(0, maxlimit);
		// otherwise, update 'characters left' counter
	} else {
		document.getElementById(ctl + countfield).value = maxlimit - theField.value.length;
	}
}

function CheckBookingForm() {
 var errNumber1 = "";
 var strMessage1 = "";
 var errDate = ""; 
 var vFormID = new Array();
 var vFormMsg = new Array();
 var vFormCheck = new Array(); 

 vFormID[0] = "txtBookAvailFirstName";
 vFormMsg[0] = "First Name\t\t- Please enter the card holders first name.";
 vFormCheck[0] = "isblank";

 vFormID[1] = "txtBookAvailSurname";
 vFormMsg[1] = "Surname\t\t\t- Please enter the card holders surname."; 
 vFormCheck[1] = "isblank";

 vFormID[2] = "txtBookAvailAddress";
 vFormMsg[2] = "Address\t\t\t- Please enter the card holders address line 1.";
 vFormCheck[2] = "isblank";

 vFormID[3] = "txtBookAvailCCNumber";
 vFormMsg[3] = "Credit Card\t\t- The credit card number is empty or not numeric.";
 vFormCheck[3] = "isblank|isnumeric";

 vFormID[4] = "txtBookAvailCCNumber3Digit";
 vFormMsg[4] = "Credit Card\t\t- The credit card securty number is empty or not numeric.";
 vFormCheck[4] = "isblank|isnumeric";
 
 vFormID[5] = "txtBookAvailEmail";
 vFormMsg[5] = "E-Mail\t\t\t- The email field is empty.";
 vFormCheck[5] = "isblank";
 
 vFormID[6] = "txtBookAvailTelephone";
 vFormMsg[6] = "Telephone\t\t- The telephone field is empty or not numeric.";
 vFormCheck[6] = "isblank|isnumeric";

 for (var vLoop = 0; vLoop < vFormID.length; vLoop++) {
  var vCurrentCheck = document.getElementById(ctl3 + vFormID[vLoop] + "");
  
  if (vFormCheck[vLoop] == "isblank") {
   if (vCurrentCheck.value == "") {
    strMessage1 += (vFormMsg[vLoop] + "\n");
    errNumber1 ++;
   }
  } else if (vFormCheck[vLoop] == "isblank|isnumeric") {
   if (vCurrentCheck.value == "") {
    strMessage1 += (vFormMsg[vLoop] + "\n");
    errNumber1 ++;
   } else {
    // DO NOTHING
   }
  }
 }
 
 
 sMonth = document.getElementById(ctl3 +"selBookAvailExpMonth").options[ document.getElementById(ctl3 +"selBookAvailExpMonth").selectedIndex].value;
 sYear = document.getElementById("WUCBooking1_selBookAvailExpYear").options[document.getElementById("WUCBooking1_selBookAvailExpYear").selectedIndex].value; 
 
 if (CheckExp(("20" + sYear), sMonth)) {
  // DO NOTHING
 } else {
  strMessage1 += "Credit Card\t\t- Credit Card Expiry Date\n\n";
  errNumber1 ++;
 }

 strMessage1 += "_______________________________________________________________\n\n";
 strMessage1 += "Please Click OK to continue\n";

 if (errNumber1 > 0) {
  alert(msg + strMessage1);
  return false;
 } else {
  return true;
 }
}



function ReCalc(varElement) {
//alert("Entering ReCalc()");
	var varPrice = 0;
	var varPrice1 = 0;
	var varDeposit = 0;
	var currChar = document.getElementById("currencySymbol").value;
	var varTotalRooms = 0;
	var tempDeposit = 0;
	var currExtQty = 0;
	var currExtPrc = 0;
	var extPrice = 0 ;
	var totalRecords = 0;
	var discountAmount = 0;

	currCharDiv = document.getElementById("lblCurrencyChar")
	if (currCharDiv != null) {
		currChar = currCharDiv.innerHTML;
	}
	
	// Figure out if we are calculating for a special
	blSpecialsMode = false;
	specialsLabel = document.getElementById("WUCBooking1_lblDesc1");
	if (specialsLabel != null) {
		// alert("Calculating based on Specials Mode");
		blSpecialsMode = true;
	} else {
		// alert("Calculating based on Regular Mode");
	}
	
	// Loop through all room types
	for (var i = 0 ; i < 15 ; i++) {
		currNumber = document.getElementById(ctl2 + "" + i + "_ddNumOfRooms");
		currDeposit = document.getElementById(ctl2 + "" + i + "_lblDeposit");
		currNights = document.getElementById(ctl2 + "" + i + "_lblTotNights");
		if (currNumber != null) {
			if (currDeposit != null) {
				if (blSpecialsMode) {
					varDeposit += (currDeposit.innerHTML * currNumber.value);
				} else {	
					varDeposit += (currDeposit.innerHTML * currNumber.value * currNights.innerHTML);
				}
				varTotalRooms += Math.abs(currNumber.value);
			}
			currPrice = document.getElementById(ctl2 + "" + i + "_lblPrice");
			if (blSpecialsMode) {
				varPrice1 += (currPrice.innerHTML * currNumber.value) ;
			} else {
				varPrice1 += (currPrice.innerHTML * currNumber.value * currNights.innerHTML) ;
			}
		}
	}
	
	// Add any selected Extras 
	for (var i = 1 ; i < 15 ; i++){		
		var extraRateObj = document.getElementById(ctl4 + "" + i + "_lblExtraRate");
		// alert(extraRateObj);
		var extraQtyObj = document.getElementById(ctl4 + "" + i + "_ddQty");
		// alert(extraQtyObj);
		if (extraRateObj != null && extraQtyObj != null){
		varPrice1 += (extraRateObj.innerHTML * extraQtyObj.value) ;
		}
	}
	
	// Check is the max rooms has been exceeded
	var maxRooms = document.getElementById(ctl3 + "maxRooms").value;
	if (varTotalRooms > maxRooms) {
		alert("The maximum number rooms that you can book is " + maxRooms + ". For larger bookings please call,\nINTL  00  353 1 412 7600 \nUK   0800 912 0100\nUS   1888 205 0260\n\nMon - Fri 8AM-10PM (GMT)\nWeekends 10AM-7PM (GMT) ");
		varElement.value = 0;
		return false;
	}
	
	// Update the various total cells
	totalAmtBeforeDiscountCell = document.getElementById("cell-amountbeforediscount");
	totalAmtCell = document.getElementById("cell-amountpayable");
	totalDepCell = document.getElementById("cell-totaldep");
	balanceCostCell = document.getElementById("cell-balancecost");

	
	var vObj = document.getElementById(ctl3 + "lblDiscount");
	if (vObj == null || typeof(vObj) == "undefined") {
		totalDepCell.innerHTML = currChar + " " + format(varDeposit,2);
		varPrice = varPrice1;
	} else {
		if (totalAmtCell.innerHTML == "&nbsp;") {
			// DO NOTHING
		} else {
			discountAmount =((varPrice1 *  vObj.innerHTML) / 100);
			tempPrice = (varPrice1);
			totalAmtBeforeDiscountCell.innerHTML= currChar + " " + format((parseFloat(varPrice1)),2);
			varDeposit = varDeposit - discountAmount;
			totalDepCell.innerHTML = currChar + " " + format((varDeposit),2);
			varPrice = tempPrice;
			
		}
	}
	depositInclAdmin = document.getElementById("WUCBooking1_lblDepInclAdminCharge");	
	adminChargeCell = document.getElementById(ctl3 + "lblAdminCharge")
	
	if (adminChargeCell != null) {
		varAdminCharge = adminChargeCell.innerHTML;
		balanceCostCell.innerHTML = currChar + " " + format(varPrice - varDeposit - discountAmount,2);
		// totalAmtCell.innerHTML = currChar + " " + format((parseFloat(varPrice)  + parseFloat(varAdminCharge)),2) ;
		totalAmtCell.innerHTML = currChar + " " + format(varPrice - parseFloat(discountAmount),2)  ;
		depositInclAdmin.innerHTML = currChar + " " + format((parseFloat(varDeposit) + parseFloat(adminChargeCell.innerHTML)),2);
		
	} else {
		balanceCostCell.innerHTML = currChar + " " + format(varPrice - varDeposit - discountAmount,2);
		totalAmtCell.innerHTML = currChar + " " + format(varPrice - parseFloat(discountAmount),2)  ;
	}
}
