var msg = "";
	var strParkCodes          = "AH;BE;BD;BR;CC;CG;CF;CH;CT;DE;DF;GS;GR;HM;HA;HO;KP;LA;LS;LY;MM;OR;PC;PS;PH;PV;QW;RE;RV;RP;SA;SV;SE;TP;WM;WD";
	var strParkDescriptions   = "Allhallows;Berwick;Blue Dolphin;Burnham On Sea;Caister;Cala Gran;Church Farm;Combe Haven;Craig Tara;Devon Cliffs;Doniford Bay;Golden Sands;Greenacres;Hafan Y Mor;Haggerston Castle;Hopton;Kiln Park;Lakeland;Littlesea;Lydstep Beach;Marton Mere;Orchards;Penally Court;Perran Sands;Presthaven Sands;Primrose Valley;Quay West;Reighton Sands;Riviere Sands;Rockley Park;Seashore;Seaview;Seton Sands;Thorpe Park;Weymouth Bay;Wild Duck";
	var strRegionCodes        = "BLACKPOOL;CORNWALL;DEVON;DORSET;ESSEX;KENT;LAKES;LINCOLNSHIRE;NORFOLK;NORTH WALES;NORTHUMBERLAND;SCOTLAND;SOMERSET;SOUTH WALES;SUSSEX;YORKSHIRE";
	var strRegionDescriptions = "Blackpool;Cornwall;Devon;Dorset;Essex;Kent;Lake District;Lincolnshire;Norfolk;North Wales;Northumberland;Scotland;Somerset;South Wales;Sussex;Yorkshire";


	// depending on the region selected, load parks
	function getParks() {

		var form = document.searchForm;

		var RegionArr = new Array();
		if (form.rad_hb.checked) {
			RegionArr[0] = "NORTH WALES;HM-Hafan y Mor";
			RegionArr[1] = "SCOTLAND;CT-Craig Tara";
		} else {
			// Build a SC Region-Park array
			RegionArr[0]  = "BLACKPOOL;CG-Cala Gran"; 
			RegionArr[1]  = "BLACKPOOL;MM-Marton Mere";
			RegionArr[2]  = "CORNWALL;PS-Perran Sands";
			RegionArr[3]  = "CORNWALL;RV-Riviere Sands";
			RegionArr[4]  = "DEVON;DE-Devon Cliffs";
			RegionArr[5]  = "DORSET;LS-Littlesea";
			RegionArr[6]  = "DORSET;RP-Rockley Park";
			RegionArr[7]  = "DORSET;SV-Seaview";
			RegionArr[8]  = "DORSET;WM-Weymouth Bay";
			RegionArr[9]  = "ESSEX;OR-Orchards";
			RegionArr[10] = "KENT;AH-Allhallows";
			RegionArr[11] = "LAKES;LA-Lakeland";
			RegionArr[12] = "LINCOLNSHIRE;GS-Golden Sands";
			RegionArr[13] = "LINCOLNSHIRE;TP-Thorpe Park";
			RegionArr[14] = "NORFOLK;CC-Caister";
			RegionArr[15] = "NORFOLK;HO-Hopton";
			RegionArr[16] = "NORFOLK;SA-Seashore";
			RegionArr[17] = "NORFOLK;WD-Wild Duck";
			RegionArr[18] = "NORTH WALES;GR-Greenacres";
			RegionArr[19] = "NORTH WALES;HM-Hafan y Mor";
			RegionArr[20] = "NORTH WALES;PH-Presthaven Sands";
			RegionArr[21] = "NORTHUMBERLAND;BE-Berwick";
			RegionArr[22] = "NORTHUMBERLAND;HA-Haggerston Castle";
			RegionArr[23] = "SCOTLAND;CT-Craig Tara";
			RegionArr[24] = "SCOTLAND;SE-Seton Sands";
			RegionArr[25] = "SOMERSET;BR-Burnham On Sea";
			RegionArr[26] = "SOMERSET;DF-Doniford Bay";
			RegionArr[27] = "SOUTH WALES;KP-Kiln Park";
			RegionArr[28] = "SOUTH WALES;LY-Lydstep Beach";
			RegionArr[29] = "SOUTH WALES;PC-Penally Court";
			RegionArr[30] = "SOUTH WALES;QW-Quay West";
			RegionArr[31] = "SUSSEX;CF-Church Farm";
			RegionArr[32] = "SUSSEX;CH-Combe Haven";
			RegionArr[33] = "YORKSHIRE;BD-Blue Dolphin";
			RegionArr[34] = "YORKSHIRE;FG-Far Grange";
			RegionArr[35] = "YORKSHIRE;PV-Primrose Valley";
			RegionArr[36] = "YORKSHIRE;RE-Reighton Sands";
		}
	
		if (form.location.value != "") {
			// Delete all the options 
			for (var i=form.Park.options.length; i >= 0; i--)	{
				form.Park.options[i] = null;
			}
			
			// populate the parks dropdown with relevant park for the region
			form.Park.options[0] = new Option("All Parks in Region","");
			
			for (var i=0; i < RegionArr.length; i++) {
				var temp = RegionArr[i].split(";");
				//If Matching Region
				if (temp[0] == form.location.value) {
					var parkinfo = temp[1].split("-");
					//If found in Park List
					if (strParkCodes.indexOf(parkinfo[0]) != -1) {
						form.Park.options[form.Park.options.length] = new Option(parkinfo[1],parkinfo[0]);
					}
				} 
			}
			form.Park.selectedIndex = 0;
			
		} else {
			// load all parks
			loadParks();
		}

		// check for DOG
		checkDog();
	}	

	function populateRegions() {
		var form = document.searchForm;
		if (form.rad_hb.checked) {
			// Delete all the Region options 
			for (var i=form.location.options.length; i >= 0; i--)	{
				form.location.options[i] = null;
			}
			form.location.options[0] = new Option("Please Select","");
			form.location.options[1] = new Option("North Wales","NORTH WALES");
			form.location.options[2] = new Option("Scotland","SCOTLAND");
			getParks();
		} else {
			// load all Regions
			loadRegions();
			loadParks();
		}
		//Show DOG section
		checkDog();
	}
	
		// Load parks
	function loadParks() {
	
		if (document.searchForm.park.type == "hidden")
			return;
		//Save Selected Value
		var selValue = document.searchForm.park[document.searchForm.park.selectedIndex].value;

		for (var i=document.searchForm.park.options.length; i >= 0; i--)	{
			document.searchForm.park.options[i] = null;
		}
		document.searchForm.park.options[0] = new Option("Please Select","");
		
		//Loop through Parks array and rebuild dropdown
		var arrParkCodes 		= strParkCodes.split(";");
		var arrParkDescriptions = strParkDescriptions.split(";");
		for (var i=0;i<arrParkCodes.length; i++)	{
			if (form.rad_hb.checked) {
				if ((arrParkCodes[i] == "HM") || (arrParkCodes[i] == "CT")) {//if HB - only write HB Parks
					document.searchForm.Park.options[document.searchForm.Park.options.length] = new Option(arrParkDescriptions[i],arrParkCodes[i]);
				}
			} else {
				document.searchForm.Park.options[document.searchForm.Park.options.length] = new Option(arrParkDescriptions[i],arrParkCodes[i]);
			}
		}
		
		//Reset Value if required
		for (var i=0; i < document.searchForm.Park.options.length; i++)	{
			if (document.searchForm.Park.options[i].value == selValue) {
				document.searchForm.Park.options[i].selected = true;
			}
		}
	}

	// Load regions
	function loadRegions() {
		document.searchForm.location.options[0] = new Option("Please Select","");
		//Loop through Regions array and rebuild dropdown
		var arrRegionCodes 			= strRegionCodes.split(";");
		var arrRegionDescriptions 	= strRegionDescriptions.split(";");
		for (var i=0;i<arrRegionCodes.length; i++)	{
			document.searchForm.location.options[i+1] = new Option(arrRegionDescriptions[i],arrRegionCodes[i]);
		}
	}

	
	
	/* Begin misc functions */
	
	// Dog Alert -- only certain types of dogs are allowed into the Parks
	function dogAlert() {
		alert("Please Note: \nThe following dogs are not accepted on Park: \nPitball Terrier, Dogo Argentino, Filo Brasileiro & Japanese Tosa.");
	}
	
	// Submit Form
	function SubmitForm(form) {
	
		msg = ValidateForm(form);
		if (msg == "") { 
			return true;
		} else {
			alert(msg);
			if (msg == "To search please choose one of the following, either a location OR a park") {
				form.location.selectedIndex = 0;
				form.Park.selectedIndex = 0;
			}
			// wislam 2010/01/21 - IE ignores return false, however it has its own event object...
			if(typeof(event) != "undefined") event.returnValue = false;
			return false;
		}
	}
		

	/* End misc functions */
	
	function ValidateForm(vform) {

		msg = "";

		//LOCATION OR PARK
		//None Selected
		if (vform.location.value == "" && vform.Park.value == "") {
			msg = "To search please choose a Park or Region";
			return msg;
		} else if (vform.location.value != "" && vform.Park.value != "")	{
			vform.location.value = "";
		}

		//ProductType - Half Board Logic
		if (vform.rad_hb.checked)  {
			if (vform.Park.value.length == 2){
				//park selected
				if ((vform.Park.value != "HM") && (vform.Park.value != "CC") && (vform.Park.value != "CT")) {
					msg = "Sorry, Half board is only available at Hafan y Mor and Craig Tara";
					return msg;
				}
			} else {
				//Region Selected
				if ((vform.location.value != "")  && (vform.location.value != "SCOTLAND") && (vform.location.value != "NORTH WALES")) {
					msg = "Sorry, Half board is only available at these parks Craig Tara in Scotland and Hafan Y Mor in North Wales";   
					return msg;
				}
			}
		}

		//DOG Validation
		if (vform.Code_yes.checked) {
			if ((vform.Park.value == "RV") || (vform.Park.value == "BR") || (vform.Park.value == "LY")) {
				msg = "Sorry, Dogs are not allowed at Lydstep Beach, Riviere Sands, Burnham-on-Sea and Far Grange";
				return msg;
			}
			if (vform.rad_hb.checked) {
				msg = "Sorry, Dogs are not allowed on Half Board holidays";
				return msg;
			}
		}

		//Pax validation
		var pTotal = parseInt(vform.adults.value) + parseInt(vform.children.value) + parseInt(vform.infants.value);
		if (vform.rad_sc.checked && pTotal > 8) {
			msg = "Self-Catering accommodation sleeps up to a maximum of 8";
			return msg;
		}
		if (vform.rad_hb.checked && pTotal > 6) {
			msg = "Half Board accommodation sleeps up to a maximum of 6";
			return msg;
		}


		if(msg != ""){
			return msg;
		}
	
	}
	
	function radioValue(radioButton)
	{
		for (x = 0; x < radioButton.length; x++)
			{   if (radioButton[x].checked == true) 			return radioButton[x].value;    }
				return radioButton.value;
	}

	function do_haven() {
		getParks();	
		checkDog();
	}

