function validateDates(items)
{
	if (items.length)
	{
		for (i=0; i<items.length; i++)
		{
			if (items[i].checked) return true;
		}    
	} 
	else
	{
		if (items) return items.checked;
	}
	return false;
}

	// -----------------------------------------------------------------------------------
	// Cookie Handling
	//
	// Can we use this to store a time-limited answer?
	//
	//
	//
	// -----------------------------------------------------------------------------------
	
	function FixCookieDate (date) 
	{
		var base = new Date(0);
		var skew = base.getTime(); // dawn of (Unix) time - should be 0
		if (skew > 0)
			date.setTime (date.getTime() - skew);
	}

	function SetCookie(sName, sValue) 
	{
		var expires = new Date ();
		FixCookieDate (expires); // fix Mac Date
		expires.setTime (expires.getTime() + (30* (24*60*60) * 1000)); // 30 days from now
		document.cookie = sName + "=" + sValue + "; expires=" // + expires.toGMTString();
	}

	function DelCookie(sName) 
	{
		document.cookie = sName + "=; expires=Thu, 01-Jan-70 00:00:01 GMT";
	}

	function saveForms() 
	{
		//var remember = document.forms["details"].elements["remember"].checked;
		//if (remember) {
		saveForm("details");
		//} else {
		//DelCookie("details");
		//}
	}

	function saveForm(name) 
	{
		var form = "";
		for (var i=0; i<document.forms[name].elements.length; i++) 
		{
			if (document.forms[name].elements[i].value != "") 
			{
				if (document.forms[name].elements[i].value== "checkbox") 
				{
					form += document.forms[name].elements[i].name + "=" +
									escape((document.forms[name].elements[i].checked)? "true" : "false") + "&"
				} 
				else 
				{
					form += document.forms[name].elements[i].name + "=" +
									escape(document.forms[name].elements[i].value) + "&"
				}
			}
		};
		SetCookie(name,form);
	}

	function GetCookie(cName, kName)
	{
		// cookies are separated by semicolons
		var aCookie = document.cookie.split("; ");
		for (var i=0; i < aCookie.length; i++) 
		{
			// find name/value pair (a crumb) is separated by an equal sign
			if (aCookie[i].substring(0,aCookie[i].indexOf("="))==cName) 
			{
				var sCookie = aCookie[i].substring(aCookie[i].indexOf("=")+1).split("&");
				for (var i=0; i < sCookie.length; i++) 
				{
					var aCrumb = sCookie[i].split("=");
					if (kName == aCrumb[0]) return unescape(aCrumb[1]);
				}
			}
		}
		// a cookie with the requested name does not exist
		return "";
	}

	function getForm(name)
	{
		for (var i=0; i<document.forms[name].elements.length; i++) 
		{
			if (document.forms[name].elements[i].value == "checkbox") 
			{
				if (GetCookie(name,document.forms[name].elements[i].name)=="true")
					document.forms[name].elements[i].checked = true;
			} 
			else 
			{
				// do NOT preserve the values from sum or answer in the Cookie
				// nor any of the other sensitive vars etc relating to anti-spamming
				if 	(
							document.forms[name].elements[i].type != "submit" &&
							document.forms[name].elements[i].name != "hide_ans" &&
							document.forms[name].elements[i].name != "hide_sum" &&
							document.forms[name].elements[i].name != "hide_ts" &&
							document.forms[name].elements[i].name != "hide_secret"
						)	 
				{
					document.forms[name].elements[i].value = GetCookie(name,document.forms[name].elements[i].name)
				}
			}
		}
	}

	function getForms() 
	{
		//getForm("address");
		//getForm("booking");
		getForm("details");
	}


	function setValue(form,element,value) 
	{
		if (document.forms[form].elements[element].value == "checkbox") 
		{	
			document.forms[form].elements[element].checked = value
		} 
		else 
			document.forms[form].elements[element].value = value
	};

	function init() 
	{
//		getForms();
//		< ?
//			if (choice) Response.Write("setValue('details','propref_"+choice+"','"+propref+"');\n");
//			if (dates) Response.Write("setValue('details','dates','"+dates+"');\n");
//			if (datescount) Response.Write("setValue('details','total_weeks','"+datescount+"');\n");
//			if (pets) Response.Write("setValue('details','pets','"+pets+"');\n");
//		? >
	};



	// -------------------------------------------------------------------------------------------
	//
	// 	* checks that every mandatory filed has been filled in
	// 
	// 	* spammbusting additional simple checks:
	//		- check for duplicate values
	//		- check for embedded cc: bcc: http:, ...
	//		- check for completly empty values - but we've done that and somehow were still
	//			getting undefined undefined in our emails!
	//
	// -------------------------------------------------------------------------------------------
	
	function simpleCheck(form) 
	{
		if (form.custname.value == "") 
		{
			alert("Please include your name");
			form.custname.focus(); 
		}
		else if (form.addr1.value == "") 
		{
			alert("Please include your address");
			form.addr1.focus(); 
		}
		else if (form.town.value == "") 
		{
			alert("Please include your Town or City");
			form.town.focus(); 
		}
		else if (form.code.value == "") 
		{
			alert("Please include your post code");
			form.code.focus(); 
		}
		else if (form.phone.value == "") 
		{
			alert("Please include your phone number");
			form.phone.focus(); 
		}
		else if (form.email.value == "") 
		{
			alert("Please include your email address");
			form.email.focus(); 
		}
		else if (form.towels.value == "") 
		{
			alert("Do you require towels?");
			form.towels.focus(); 
		}
		else if (!form.terms.checked) 
		{
			window.alert("Please read and accept the bookings conditions to continue");
			form.terms.focus(); 
		}
		else 
			return true;
		
		return false;
	}
