function checkHomeSearch()
{
	$("label").removeClass("error");
	errortext = "Please do the following before continuing...\n";
	errorcheck = 0;
	f = document.form;

	if ($("#arrivedate").val() == 0)
	{
		errortext = errortext + "- Check-in Day\n";
		$("#label_arrivedate").addClass("error");
		errorcheck = 1;
	}
	if ($("#arrivedate2").val() == 0)
	{
		errortext = errortext + "- Check-in Month\n";
		$("#label_arrivedate").addClass("error");
		errorcheck = 1;
	}
	if (($("#arrivedate").val() != 0) && ($("#arrivedate2").val() != 0))
	{
		checkdate = 0;
		checkdate = checkArrivalDate();
		if (checkdate<0)
		{
			errortext = errortext + "- Valid Check-in Day\n";
			$("#label_arrivedate").addClass("error");
			errorcheck = 1;
		}
	}
	if ($("#departdate").val() == 0)
	{
		errortext = errortext + "- Check-out Day\n";
		$("#label_departdate").addClass("error");
		errorcheck = 1;
	}
	if ($("#departdate2").val() == 0)
	{
		errortext = errortext + "- Check-out Month\n";
		$("#label_departdate").addClass("error");
		errorcheck = 1;
	}
	if (($("#departdate").val() != 0) && ($("#departdate2").val() != 0))
	{
		checkdate = 0;
		checkdate = compareDates();
		if (checkdate==1)
		{
			errortext = errortext + "- Enter a departure date that is after the arrival date\n";
			errorcheck = 1;
			f.nights.selectedIndex = 0;
			f.nights.length = 20;
			setEndDate($("#nights").val());
		}
		else
		{
			checkdate = 0;
			checkdate = checkDepartDate();
			if (checkdate<0)
			{
				errortext = errortext + "- Valid Check-out Day\n";
				$("#label_departdate").addClass("error");
				errorcheck = 1;
			}
		}
	}
	if ($("#nights").val() > 20)
	{
		alert("Please select a shorter period or tel. 08700 550 550 - or +44 1872 261 100");
		f.nights.selectedIndex = 0;
		f.nights.length = 20;
		setEndDate($("#nights").val());
		return false;
	}

	if (errorcheck==1)
	{
		alert(errortext);
		return false;
	}
	f.arrivemonth.value = getMonthValue($("#arrivedate2").val());
	f.arriveyear.value = getYearValue($("#arrivedate2").val());
	f.departmonth.value = getMonthValue($("#departdate2").val());
	f.departyear.value = getYearValue($("#departdate2").val());
	setCookieDates();
}

function populateRooms()
{
	f=document.form;
	f.doubleroom.value=0;
	f.single.value=0;
	f.twin.value=0;
	f.triple.value=0;
	f.family1.value=0;
	f.family2.value=0;
	f.family3.value=0;

	for (i=1; i<=f.rooms.options[f.rooms.selectedIndex].value; i++)
	{
		room = f['roomtype'+i].options[f['roomtype'+i].selectedIndex].value;
		if (room=='doubleroom')
			f.doubleroom.value++;
		else if (room=='single')
			f.single.value++;
		else if (room=='twin')
			f.twin.value++;
		else if (room=='triple')
			f.triple.value++;
		else if (room=='family1')
			f.family1.value++;
		else if (room=='family2')
			f.family2.value++;
		else if (room=='family3')
			f.family3.value++;
	}
}

function checkCitySearch()
{
	$("#label_arrivedate").removeClass("error");
	$("#label_rooms").removeClass("error");
	$(".kidsage").removeClass("error");
	errortext = "Please select ";
	errorcheck = 0;
	f = document.form;

	if ($("#city").val() == 0)
	{
		errortext = errortext + "Destination";
		errorcheck = 1;
	}
	if ($("#arrivedate").val() == 0)
	{
		if (errorcheck == 1) {errortext = errortext + ", ";}
		errortext = errortext + "Check-in Day";
		$("#label_arrivedate").addClass("error");
		errorcheck = 1;
	}
	if ($("#arrivedate2").val() == 0)
	{
		if (errorcheck == 1) {errortext = errortext + ", ";}
		errortext = errortext + "Check-in Month";
		$("#label_arrivedate").addClass("error");
		errorcheck = 1;
	}
	if (($("#arrivedate").val() != 0) && ($("#arrivedate2").val() != 0))
	{
		checkdate = 0;
		checkdate = checkArrivalDate();
		if (checkdate<0)
		{
			if (errorcheck == 1) {errortext = errortext + ", ";}
			errortext = errortext + "Valid Check-in Day";
			$("#label_arrivedate").addClass("error");
			errorcheck = 1;
		}
	}
	if ($("#nights").val() > 20)
	{
		alert("Please select a shorter period or tel. 08700 550 550 - or +44 1872 261 100");
		f.nights.selectedIndex = 0;
		f.nights.length = 20;
		setEndDate($("#nights").val());
		return false;
	}
	roomnum = $("#rooms").val();
	for (i=1; i<=roomnum; i++)
	{
		if ($("#roomtype" + i).val() == "")
		{
			if (errorcheck == 1) {errortext = errortext + ", ";}
			errortext = errortext + "Room type(s)";
			$("#label_rooms").addClass("error");
			errorcheck = 1;
		}
	}
	r1 = $("#roomtype1").val();
	r2 = $("#roomtype2").val();
	r3 = $("#roomtype3").val();
	r4 = $("#roomtype4").val();
	r5 = $("#roomtype5").val();
	kids = $("#kidsage").val();
	if ((kids=='' || kids=='0') && ((r1.indexOf('family1')>-1) || (r2.indexOf('family1')>-1) || (r3.indexOf('family1')>-1) || (r4.indexOf('family1')>-1) || (r5.indexOf('family1')>-1) || (r1.indexOf('family2')>-1) || (r2.indexOf('family2')>-1) || (r3.indexOf('family2')>-1) || (r4.indexOf('family2')>-1) || (r5.indexOf('family2')>-1)))
	{
		if (errorcheck == 1) {errortext = errortext + ", ";}
		errortext = errortext + "Child age(s)";
		$(".kidsage").addClass("error");
		errorcheck = 1;
	}
	if ((kids!='' || kids!='0') && ((r1.indexOf('family1')==-1) && (r2.indexOf('family1')==-1) && (r3.indexOf('family1')==-1) && (r4.indexOf('family1')==-1) && (r5.indexOf('family1')==-1) && (r1.indexOf('family2')==-1) && (r2.indexOf('family2')==-1) && (r3.indexOf('family2')==-1) && (r4.indexOf('family2')==-1) && (r5.indexOf('family2')==-1)))
	{
		$("#kidsage").val("");
	}
	if ((kids!='' && kids!='0') && ((r1.indexOf('family1')>-1) || (r2.indexOf('family1')>-1) || (r3.indexOf('family1')>-1) || (r4.indexOf('family1')>-1) || (r5.indexOf('family1')>-1) || (r1.indexOf('family2')>-1) || (r2.indexOf('family2')>-1) || (r3.indexOf('family2')>-1) || (r4.indexOf('family2')>-1) || (r5.indexOf('family2')>-1)))
	{
		var totalchildren=0, childrenfound=1;
		if (r1.indexOf('family1')>-1) totalchildren=totalchildren+1;
		if (r2.indexOf('family1')>-1) totalchildren=totalchildren+1;
		if (r3.indexOf('family1')>-1) totalchildren=totalchildren+1;
		if (r4.indexOf('family1')>-1) totalchildren=totalchildren+1;
		if (r5.indexOf('family1')>-1) totalchildren=totalchildren+1;
		if (r1.indexOf('family2')>-1) totalchildren=totalchildren+2;
		if (r2.indexOf('family2')>-1) totalchildren=totalchildren+2;
		if (r3.indexOf('family2')>-1) totalchildren=totalchildren+2;
		if (r4.indexOf('family2')>-1) totalchildren=totalchildren+2;
		if (r5.indexOf('family2')>-1) totalchildren=totalchildren+2;

		var valid = "0123456789,";
		ok = 1;
		var temp;
		for (var i=0; i<kids.length; i++)
		{
			temp = "" + kids.substring(i, i+1);
			if (valid.indexOf(temp) == "-1")
			{
				ok = 0;
			}
			if (temp==',')
			{
				childrenfound++;
			}
		}
		if (ok==0)
		{
			if (errorcheck == 1) {errortext = errortext + ", ";}
  			errortext = errortext + "Please enter only numbers, separated by commas if applicable for child age(s) (no spaces)";
			$(".kidsage").addClass("error");
			errorcheck = 1;
		}
		else if (childrenfound>totalchildren)
		{
			if (errorcheck == 1) {errortext = errortext + ", ";}
  			if (totalchildren==1)
			{
				errortext = errortext + "Please enter ages only for 1 child\n";
				$(".kidsage").addClass("error");
			}
			else
			{
				errortext = errortext + "Please enter ages only for " + totalchildren + ", separated by commas if applicable (no spaces)\n";
				$(".kidsage").addClass("error");
			}
			errorcheck = 1;
		}
	}
	if (errorcheck==1)
	{
		$("#error").html(errortext);
		$("#error").show();
		return false;
	}
	f.arrivemonth.value = getMonthValue($("#arrivedate2").val());
	f.arriveyear.value = getYearValue($("#arrivedate2").val());
	f.departmonth.value = getMonthValue($("#departdate2").val());
	f.departyear.value = getYearValue($("#departdate2").val());
	populateRooms();
	setGuests(2);
	setCookieDates();
	return true;
}

function checkReservation()
{
	$("label").removeClass("error");
	errortext = "Please complete the following fields before continuing...\n";
	errorcheck = 0;
	f = document.form;

	if (f.title.selectedIndex==0)
	{
		errortext = errortext + "\t- Title\n";
		errorcheck = 1;
		$("#title_label").addClass("error");
	}
	if (f.surname.value=='')
	{
		errortext = errortext + "\t- Full name\n";
		errorcheck = 1;
		$("#surname_label").addClass("error");
		$("#firstname_label").addClass("error");
	}
	if (f.address.value=='')
	{
		errortext = errortext + "\t- Address\n";
		errorcheck = 1;
		$("#address_label").addClass("error");
	}
	if (f.postcode.value=='' && (f.country.value=='UK|United Kingdom' || f.country.value=='US|USA'))
	{
		errortext = errortext + "\t- Postcode\n";
		errorcheck = 1;
		$("#postcode_label").addClass("error");
	}
	if (f.country.selectedIndex==0)
	{
		errortext = errortext + "\t- Country\n";
		errorcheck = 1;
		$("#country_label").addClass("error");
	}
	if (f.telephoneam.value=='')
	{
		errortext = errortext + "\t- Telephone number\n";
		errorcheck = 1;
		$("#telday_label").addClass("error");
	}
	if (f.email.value=='')
	{
		errortext = errortext + "\t- Email address\n";
		errorcheck = 1;
		$("#email_label").addClass("error");
	}
	else
	{
		var str = f.email.value;
		var supported = 0;
		if (window.RegExp)
		{
			var tempStr = "a";
			var tempReg = new RegExp(tempStr);
			if (tempReg.test(tempStr)) supported = 1;
		}
		if (!supported) 
			return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
		var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
		var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,4}|[0-9]{1,4})(\\]?)$");
		if ((!r1.test(str)==true)&&(r2.test(str)==false))
		{
			errortext = errortext + "\t- A real email address\n";
			errorcheck = 1;
			$("#email_label").addClass("error");
		}
	}
	if (f.cctype.selectedIndex==0)
	{
		errortext = errortext + "\t- Card type\n";
		errorcheck = 1;
		$("#cardType_label").addClass("error");
	}
	if (($("#different_address").attr("checked") == false) && ($("#same_address").attr("checked") == false))
	{
		$("#billing_label").addClass("error");
	}
	if ($("#same_address").attr("checked") == true)
	{
		sameAddress();
	}
	/*if (f.ccaddress.value=='')
	{
		errortext = errortext + "\t- Billing address\n";
		errorcheck = 1;
		$("#cardAddress_label").addClass("error");
	}*/
	if ($("#different_address").attr("checked") == true)
	{
		if (f.ccpostcode.value=='' && (f.cccountry.value=='UK|United Kingdom' || f.cccountry.value=='US|USA'))
		{
			errortext = errortext + "\t- Billing postcode\n";
			errorcheck = 1;
			$("#cardPostcode_label").addClass("error");
		}
		if (f.cccountry.selectedIndex==0)
		{
			errortext = errortext + "\t- Billing country\n";
			errorcheck = 1;
			$("#cardCountry_label").addClass("error");
		}
	}
	if (f.terms.checked==false)
	{
		errortext = errortext + "\t- Agree to Iconic Hotels' terms & conditions\n";
		errorcheck = 1;
		$("#term_label").addClass("error");
	}

	if (errorcheck==1)
	{
		alert(errortext);
		return false;
	}
}

function checkPayment()
{
	$("label").removeClass("error");
	errortext = "Please complete the following fields before continuing...\n";
	errorcheck = 0;
	f = document.form;

	if ($("#ccnumber").val() == '')
	{
		errortext = errortext + "\t- Card number\n";
		errorcheck = 1;
		$("#ccnumber_label").addClass("error");
	}
	if ($("#ccsecurity").val() == '')
	{
		errortext = errortext + "\t- Security code\n";
		errorcheck = 1;
		$("#ccsecurity_label").addClass("error");
	}
	if (($("#ccexpiry_month").val() == 0) || ($("#ccexpiry_year").val() == 0))
	{
		errortext = errortext + "\t- Expiry date\n";
		errorcheck = 1;
		$("#ccexpiry_month_label").addClass("error");
	}
	now = new Date();
	check_month = parseInt(now.getMonth() + 1);
	check_year = now.getFullYear();
	if (check_year > $("#ccexpiry_year").val())
	{
		errortext = errortext + "\t- Valid expiry date\n";
		errorcheck = 1;
		$("#ccexpiry_month_label").addClass("error");
	}
	if (check_year == $("#ccexpiry_year").val())
	{
		if (check_month > $("#ccexpiry_month").val())
		{
			errortext = errortext + "\t- Valid expiry date\n";
			errorcheck = 1;
			$("#ccexpiry_month_label").addClass("error");
		}
	}
	if (($("#cctitle").val() == '') || ($("#ccinitials").val() == '') || ($("#ccsurname").val() == ''))
	{
		errortext = errortext + "\t- Cardholder\n";
		errorcheck = 1;
		if ($("#cctitle").val() == '')
		{
			$("#cctitle_label").addClass("error");
		}
		if ($("#ccinitials").val() == '')
		{
			$("#ccinitials_label").addClass("error");
		}
		if ($("#ccsurname").val() == '')
		{
			$("#ccsurname_label").addClass("error");
		}
	}

	if (errorcheck==1)
	{
		alert(errortext);
		return false;
	}
}

function checkRoomBooking(formid)
{
	adults = $("#adults" + formid).val();
	children = $("#children" + formid).val();
	
	check = 0;
	$("#form" + formid + " select").each(function(){
		check = check + $(this).val();
	});
	
	if (check == 0)
	{
		alert("Please choose the rooms you require from the 'Rooms' droplists.");
		return false;
	}
	
	sel_adults = 0;
	sel_children = 0;
	$("#form" + formid + " select").each(function(){
		if ($(this).val() > 0)
		{
			sel_adults = sel_adults + (parseInt($(this).attr("accesskey").substring(0, $(this).attr("accesskey").indexOf("|"))) * $(this).val());
			sel_children = sel_children + (parseInt($(this).attr("accesskey").substring($(this).attr("accesskey").indexOf("|") + 1)) * $(this).val());
		}
	});
      sel_adults=sel_adults-(parseInt(adults));  
      sel_children=sel_children-(parseInt(children)); 
      if (sel_adults>0 && sel_children<0)
	{
		sel_adults=sel_adults+sel_children;
		sel_children=0;
	}
	//if (((sel_adults < adults) || (sel_children < children)) && (sel_adults < (parseInt(adults) + parseInt(children))))
	if (sel_adults<0 || sel_children<0)
	{		 
		alert("Your room choice is not sufficient for the number of people in your party. Please see the adults and children icons adjacent to each room type and select adequate rooms or call 0800 496 8888 (+44 1872 261 100) for assistance.");
		return false;
	}
}

function checkRoomBookingSmall()
{
	adults = $("#adults").val();
	children = $("#children").val();
	
	check = 0;
	$("#form select").each(function(){
		check = check + $(this).val();
	});
	
	if (check == 0)
	{
		alert("Please choose the rooms you require from the 'Rooms/Suites' droplists.");
		return false;
	}
	
	sel_adults = 0;
	sel_children = 0;
	$("#form select").each(function(){
		if ($(this).val() > 0)
		{
			sel_adults = sel_adults + (parseInt($(this).attr("accesskey").substring(0, $(this).attr("accesskey").indexOf("|"))) * $(this).val());
			sel_children = sel_children + (parseInt($(this).attr("accesskey").substring($(this).attr("accesskey").indexOf("|") + 1)) * $(this).val());
		}
	});

      sel_adults=sel_adults-(parseInt(adults));  
      sel_children=sel_children-(parseInt(children)); 
      if (sel_adults>0 && sel_children<0)
	{
		sel_adults=sel_adults+sel_children;
		sel_children=0;
	}
	//if (((sel_adults < adults) || (sel_children < children)) && (sel_adults < (parseInt(adults) + parseInt(children))))
	if (sel_adults<0 || sel_children<0)
	{
		alert("Your room choice is not sufficient for the number of people in your party. Please see the adults and children icons adjacent to each room type and select adequate rooms or call 0800 496 8888 (+44 1872 261 100) for assistance.");
		return false;
	}
}
