function toggleContents(obj, action)
{
	if (obj.value == "email address" && action == "focus")
	{
		obj.value = "";
	}

	if (obj.value == "" && action == "blur")
	{
		obj.value = "email address";
	}		
}

function init()
{
	// preload menu rollover images
	rollOvers = new Array()

	rollOvers[0] = new Image(); 
	rollOvers[0].src = "/images/layout/btn_home_over.gif"; 

	rollOvers[1] = new Image();
	rollOvers[1].src = "/images/layout/btn_dates_over.gif";

	rollOvers[2] = new Image();
	rollOvers[2].src = "/images/layout/btn_gallery_over.gif";

	rollOvers[3] = new Image();
	rollOvers[3].src = "/images/layout/btn_tips_over.gif";

	rollOvers[4] = new Image();
	rollOvers[4].src = "/images/layout/btn_links_over.gif";

	rollOvers[5] = new Image();
	rollOvers[5].src = "/images/layout/btn_about_over.gif";

	rollOvers[6] = new Image();
	rollOvers[6].src = "/images/layout/btn_hotels_over.gif";

	rollOvers[7] = new Image();
	rollOvers[7].src = "/images/layout/btn_contact_over.gif";
}

function rollImage(obj, state, id)
{
	if (state == 'over')
	{
		obj.src = rollOvers[id].src;
	}
	else
	{
		obj.src = obj.src.replace('_over', '');
	}

}

function validateEmail(form_id, email)
{
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	var address = document.forms[form_id].elements[email].value;

	if(reg.test(address) == false)
	{
		alert('Please enter a valid email address.');
	}
	else
	{
		document.forms[form_id].submit();
	}
}

function checkSignupForm()
{
	var frm = document.frmJoin;
	var bErrors = false;
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

	if (frm.sName.value == '')
	{
		document.getElementById("error_firstname").style.display = "inline";
		frm.sName.style.border = "1px solid red";
		bErrors = true;
	}
	else
	{
		document.getElementById("error_firstname").style.display = "none";
		frm.sName.style.border = "1px solid #636363";
	}

	if (frm.sSurname.value == '')
	{
		document.getElementById("error_surname").style.display = "inline";
		frm.sSurname.style.border = "1px solid red";
		bErrors = true;
	}
	else
	{
		document.getElementById("error_surname").style.display = "none";
		frm.sSurname.style.border = "1px solid #636363";
	}

	if (frm.strCAPTCHA.value == '')
	{
		document.getElementById("error_verify").style.display = "inline";
		frm.strCAPTCHA.style.border = "1px solid red";
		bErrors = true;
	}
	else
	{
		document.getElementById("error_verify").style.display = "none";
		frm.strCAPTCHA.style.border = "1px solid #636363";
	}

	if (reg.test(frm.sEmail.value) == false)
	{
		document.getElementById("error_email").style.display = "inline";
		frm.sEmail.style.border = "1px solid red";
		bErrors = true;
	}
	else
	{
		document.getElementById("error_email").style.display = "none";
		frm.sEmail.style.border = "1px solid #636363";
	}

	if (bErrors == false)
	{
		frm.submit();
	}
}

function clearVerifyError()
{
	document.getElementById("error_verify_failed").style.display = "none";
}

function checkUnsubscribeForm()
{
	var frm = document.frmUnsubscribe;
	var bErrors = false;
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

	if (reg.test(frm.sEmail.value) == false)
	{
		document.getElementById("error_email").style.display = "inline";
		frm.sEmail.style.border = "1px solid red";
		bErrors = true;
	}
	else
	{
		document.getElementById("error_email").style.display = "none";
		frm.sEmail.style.border = "1px solid #636363";
	}

	if (bErrors == false)
	{
		frm.submit();
	}
}

function checkContactForm()
{
	var frm = document.frmContact;
	var bErrors = false;
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

	if (frm.sName.value == '')
	{
		document.getElementById("error_firstname").style.display = "inline";
		frm.sName.style.border = "1px solid red";
		bErrors = true;
	}
	else
	{
		document.getElementById("error_firstname").style.display = "none";
		frm.sName.style.border = "1px solid #636363";
	}

	if (reg.test(frm.sEmail.value) == false)
	{
		document.getElementById("error_email").style.display = "inline";
		frm.sEmail.style.border = "1px solid red";
		bErrors = true;
	}
	else
	{
		document.getElementById("error_email").style.display = "none";
		frm.sEmail.style.border = "1px solid #636363";
	}

	if (frm.strCAPTCHA.value == '')
	{
		document.getElementById("error_verify").style.display = "inline";
		frm.strCAPTCHA.style.border = "1px solid red";
		bErrors = true;
	}
	else
	{
		document.getElementById("error_verify").style.display = "none";
		frm.strCAPTCHA.style.border = "1px solid #636363";
	}

	if (bErrors == false)
	{
		return true;
	}
	else
	{
		return false;
	}
}

function submitBookingForm(frm_id)
{
	document.getElementById("frmBooking"+frm_id).submit();
}

function validateCode()
{
	var code = document.getElementById("certcode").value;

	if (code == "")
	{
		alert("You have not entered a discount or gift certificate code.");
	}
	else
	{
		var xmlHttp;

		try
		{
			xmlHttp = new XMLHttpRequest();
		}
		catch (e)
		{
			try
			{
				xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
			}
			catch (e)
			{
				try
				{
					xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
				}
					catch (e)
				{
					alert("Your browser does not support AJAX!");
					return false;
				}
			}
		}

		xmlHttp.onreadystatechange=function()
		{
			if (xmlHttp.readyState == 4)
			{
				var resText = xmlHttp.responseText.split("|");
				var fullCost = parseFloat(document.getElementById("courseAmount").value);
				var discAmt = 0;
				var totalAmt = 0;

				//check to see if code has been used
				if (resText[3] == 'True' && resText[4] == 'True')
				{
					alert("This code has already been used.");
					document.getElementById("loadinggif").style.display = "none";
					document.getElementById("validate_code").style.display = "inline";
				}

				if (resText[3] == 'False')
				{
					//set the discount amount
					if (resText[5] == 'True')
					{
						discAmt = (fullCost / 100) * parseFloat(resText[2]);
					}
					else
					{
						discAmt = parseFloat(resText[2]);
					}
					totalAmt = fullCost - discAmt;
					if (totalAmt == 0)
					{
						document.getElementById("paypal_form").action = "zeropricebooking.asp";
						document.getElementById("zero_button").style.display = "inline";
						document.getElementById("paypal_button").style.display = "none";
					}
					document.getElementById("offer_desc").innerHTML = resText[1];
					document.getElementById("offer_value").innerHTML = "&pound;"+Math.round(discAmt*100)/100;
					document.getElementById("total_cost").innerHTML = "&pound;"+Math.round(totalAmt*100)/100;
					document.getElementById("paymentAmount").value = Math.round(totalAmt*100)/100;
					document.getElementById("offer_code").value = document.getElementById("certcode").value;
					document.getElementById("offer_code_desc").value = resText[1];
					document.getElementById("offer_details").style.display = "inline";
					document.getElementById("remove_code").style.display = "inline";
					document.getElementById("loadinggif").style.display = "none";
				}

			}
		}

		document.getElementById("validate_code").style.display = "none";
		document.getElementById("loadinggif").style.display = "inline";
		xmlHttp.open("GET", "/validateoffercode.asp?code="+code, false);
		xmlHttp.send(null);
	}

}

function removeCode()
{
	document.getElementById("paymentAmount").value = document.getElementById("courseAmount").value
	document.getElementById("offer_details").style.display = "none";
	document.getElementById("remove_code").style.display = "none";
	document.getElementById("certcode").value = "";
	document.getElementById("offer_code").value = "";
	document.getElementById("offer_code_desc").value = "";
	document.getElementById("paypal_form").action = "/paypal/ReviewOrder.asp";
	document.getElementById("validate_code").style.display = "inline";
	document.getElementById("zero_button").style.display = "none";
	document.getElementById("paypal_button").style.display = "inline";
}

function makeZeroBooking()
{
	var frm = document.frmBooking;
	var bErrors = false;
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

	if (frm.sName.value == '')
	{
		document.getElementById("error_firstname").style.display = "inline";
		frm.sName.style.border = "1px solid red";
		bErrors = true;
	}
	else
	{
		document.getElementById("error_firstname").style.display = "none";
		frm.sName.style.border = "1px solid #636363";
	}

	if (frm.sSurname.value == '')
	{
		document.getElementById("error_surname").style.display = "inline";
		frm.sSurname.style.border = "1px solid red";
		bErrors = true;
	}
	else
	{
		document.getElementById("error_surname").style.display = "none";
		frm.sSurname.style.border = "1px solid #636363";
	}

	if (frm.sTelNo.value == '')
	{
		document.getElementById("error_tel").style.display = "inline";
		frm.sTelNo.style.border = "1px solid red";
		bErrors = true;
	}
	else
	{
		document.getElementById("error_tel").style.display = "none";
		frm.sTelNo.style.border = "1px solid #636363";
	}

	if (frm.sHouseNo.value == '')
	{
		document.getElementById("error_house").style.display = "inline";
		frm.sHouseNo.style.border = "1px solid red";
		bErrors = true;
	}
	else
	{
		document.getElementById("error_house").style.display = "none";
		frm.sHouseNo.style.border = "1px solid #636363";
	}

	if (frm.sStreet.value == '')
	{
		document.getElementById("error_street").style.display = "inline";
		frm.sStreet.style.border = "1px solid red";
		bErrors = true;
	}
	else
	{
		document.getElementById("error_street").style.display = "none";
		frm.sStreet.style.border = "1px solid #636363";
	}

	if (frm.sTown.value == '')
	{
		document.getElementById("error_town").style.display = "inline";
		frm.sTown.style.border = "1px solid red";
		bErrors = true;
	}
	else
	{
		document.getElementById("error_town").style.display = "none";
		frm.sTown.style.border = "1px solid #636363";
	}

	if (frm.sCounty.value == '')
	{
		document.getElementById("error_county").style.display = "inline";
		frm.sCounty.style.border = "1px solid red";
		bErrors = true;
	}
	else
	{
		document.getElementById("error_county").style.display = "none";
		frm.sCounty.style.border = "1px solid #636363";
	}

	if (frm.sPostCode.value == '')
	{
		document.getElementById("error_postcode").style.display = "inline";
		frm.sPostCode.style.border = "1px solid red";
		bErrors = true;
	}
	else
	{
		document.getElementById("error_postcode").style.display = "none";
		frm.sPostCode.style.border = "1px solid #636363";
	}

	if (reg.test(frm.sEmail.value) == false)
	{
		document.getElementById("error_email").style.display = "inline";
		frm.sEmail.style.border = "1px solid red";
		bErrors = true;
	}
	else
	{
		document.getElementById("error_email").style.display = "none";
		frm.sEmail.style.border = "1px solid #636363";
	}

	if (bErrors == false)
	{
		frm.submit();
	}
}

function checkPayForm()
{
	var frm = document.paynow;
	var bErrors = false;

	if (frm.sTelNo.value == '')
	{
		document.getElementById("error_tel").style.display = "inline";
		frm.sTelNo.style.border = "1px solid red";
		bErrors = true;
	}
	else
	{
		document.getElementById("error_tel").style.display = "none";
		frm.sTelNo.style.border = "1px solid #636363";
	}

	if (bErrors == false)
	{
		return true;
	}
	else
	{
		return false;
	}
}

function checkAddLocForm()
{
	var frm = document.frmAddLoc;
	var bErrors = false;

	if (frm.sLocaName.value == '')
	{
		document.getElementById("error_locname").style.display = "inline";
		frm.sLocaName.style.border = "1px solid red";
		bErrors = true;
	}
	else
	{
		document.getElementById("error_locname").style.display = "none";
		frm.sLocaName.style.border = "1px solid #636363";
	}

	if (frm.sLocaLink.value == '')
	{
		document.getElementById("error_loclink").style.display = "inline";
		frm.sLocaLink.style.border = "1px solid red";
		bErrors = true;
	}
	else
	{
		document.getElementById("error_loclink").style.display = "none";
		frm.sLocaLink.style.border = "1px solid #636363";
	}

	if (frm.sLocaMapLink.value == '')
	{
		document.getElementById("error_locmaplink").style.display = "inline";
		frm.sLocaMapLink.style.border = "1px solid red";
		bErrors = true;
	}
	else
	{
		document.getElementById("error_locmaplink").style.display = "none";
		frm.sLocaMapLink.style.border = "1px solid #636363";
	}

	if (bErrors == false)
	{
		frm.submit();
	}
	else
	{
		return false;
	}
}


