
var availStartDate;
var startId;
var xmlHttp;

var adults = 0;
var children = 0;
var infants = 0;

function window_display(strurl) {
  confirmWin = window.open(strurl,'theconfirmWin','toolbar=no,location=no,directories=no,status=yes,scrollbars=no,menubar=no,width=400,height=400,left=20,top=20');
  if (confirmWin.opener == null){
    confirmWin.opener = window;
  }
}


function openWin(url)
{
	newwindow=window.open(url,"NewWindow","width=400,height=400,status=no,resizable=no");
}

function ownerrequestvalidateForm()
{
	var strMessage;
	var bRetVal;
	var oForm;
	var jsCrLf;
	
	strMessage = "";
	bRetVal = true;
	oForm = document.brochure;
	jsCrLf = String.fromCharCode(10,13);
	if (oForm.Surname.value == "")
	{
		strMessage = strMessage + "Please enter your full name" + jsCrLf;
	}
	if (oForm.address1.value == "")
	{
		strMessage = strMessage + "Please enter your Address" + jsCrLf;
	}
	
	if (oForm.postcode.value == "")
	{
		strMessage = strMessage + "Please enter your Postcode" + jsCrLf;
	}
	
	if (oForm.where.value == "")
	{
		strMessage = strMessage + "Please tell us where the property is located" + jsCrLf;
	}
	
	if (oForm.abouttheproperty.value == "")
	{
		strMessage = strMessage + "Please tell us a bit about your property" + jsCrLf;
	}
	
	if (oForm.source.value == "none")
	{
		strMessage = strMessage + "Please tell us where you heard about us?" + jsCrLf;
	}
	if (oForm.source.value == "")
	{
		if (oForm.which.value == "")
		{
			strMessage = strMessage + "Please tell us where you heard about us?" + jsCrLf;
		}
	}
	if (strMessage != "")
	{
		alert (strMessage);
		bRetVal = false;
	}
													
	if (bRetVal == true)
	{
		oForm.submit()
	}
}

function brochurerequestvalidateForm()
{
	var strMessage;
	var bRetVal;
	var oForm;
	var jsCrLf;
	
	strMessage = "";
	bRetVal = true;
	oForm = document.brochure;
	jsCrLf = String.fromCharCode(10,13);
	if (oForm.Surname.value == "")
	{
		strMessage = strMessage + "Please enter your full name" + jsCrLf;
	}
	if (oForm.address1.value == "")
	{
		strMessage = strMessage + "Please enter your Address" + jsCrLf;
	}
	
	if (oForm.postcode.value == "")
	{
		strMessage = strMessage + "Please enter your Postcode" + jsCrLf;
	}
	if (oForm.source.value == "none")
	{
		strMessage = strMessage + "Please tell us where you heard about us?" + jsCrLf;
	}
	if (oForm.source.value == "")
	{
		if (oForm.which.value == "")
		{
			strMessage = strMessage + "Please tell us where you heard about us?" + jsCrLf;
		}
	}
	if (strMessage != "")
	{
		alert (strMessage);
		bRetVal = false;
	}
													
	if (bRetVal == true)
	{
		oForm.submit()
	}
}


function updateAdults()
{
	document.bookingform.adults.value = document.getElementById('holAdults').value;
	adults = document.bookingform.adults.value;
	changeHolLength();
}

function updateChildren()
{
	document.bookingform.children.value = document.getElementById('holChildren').value;
	children = document.bookingform.children.value;
	changeHolLength();
}

function updateInfants()
{
	document.bookingform.infants.value = document.getElementById('holInfants').value;
	infants = document.bookingform.infants.value;
}

function updatePets()
{
	document.bookingform.pets.value = document.bookingform.pets.value? "":"on";
}

function changeHolLength()
{
	var len = document.getElementById("holLength").value;
	clearHighlights();
	var one_day=1000*60*60*24;
	var endDate;
	
	for(var i=0; i<=len; i++)
	{
		
		//var tempDay = new Date (availStartDate.getTime() + (one_day*i));
		var tempDay = new Date ((availStartDate.getFullYear()),(availStartDate.getMonth()),availStartDate.getDate()+i);
		var id = tempDay.getDate()+"-"+(tempDay.getMonth())+"-"+tempDay.getFullYear();
		
		document.getElementById('endDate').innerHTML = (tempDay.getDate())+"/"+(tempDay.getMonth()+1)+"/"+tempDay.getFullYear();
		document.getElementById('todate').value = tempDay.getDate()+"/"+(tempDay.getMonth()+1)+"/"+tempDay.getFullYear();
		endDate = new Date(tempDay.getFullYear(),tempDay.getMonth(),tempDay.getDate());
		
		try
		{	
			if(i < len)
			{
				if(document.getElementById(id).getAttribute("name") == "avaTd" || document.getElementById(id).getAttribute("name") == "cdAvaTd")
				{
					highlightById(id);
				}
				else
				{
					break;
				}
			}
			else
			{
				break;
			}
		}
		catch(err)
		{
		
		}
	}
	
	try
	{
		var thisDayTemp = availStartDate.getDate()+"-"+(availStartDate.getMonth()+1)+"-"+availStartDate.getFullYear();
		var endDayTemp = endDate.getDate()+"-"+(endDate.getMonth()+1)+"-"+endDate.getFullYear();
		getPrice(thisDayTemp, endDayTemp, document.getElementById('hiddenPropRef').value, (parseInt(adults) + parseInt(children)));
	}
	catch(err)
	{
	
	}
}

function clickSeven(id)
{
	var arrTmp = id.split("-");
	var one_day=1000*60*60*24;
	var len = document.getElementById("holLength").value;
	var thisDay = new Date (arrTmp[2],arrTmp[1],arrTmp[0]);
	availStartDate = thisDay;
	startId = id;
	var thisDayPlus = new Date (thisDay.getTime() + (one_day*len));
	var endDate;
	
	//alert("Test1");
	
	document.getElementById('startDate').innerHTML = thisDay.getDate()+"/"+(thisDay.getMonth()+1)+"/"+thisDay.getFullYear();
	document.getElementById('fromdate').value = thisDay.getDate()+"/"+(thisDay.getMonth()+1)+"/"+thisDay.getFullYear();
	
	//alert("Test2");
	
	clearHighlights();

	for(var i=0; i<=len; i++)
	{
		//var tempDay = new Date (availStartDate.getTime() + (one_day*i));
		var tempDay = new Date ((availStartDate.getFullYear()),(availStartDate.getMonth()),availStartDate.getDate()+i);
		var id = tempDay.getDate()+"-"+(tempDay.getMonth())+"-"+tempDay.getFullYear();
		
		document.getElementById('endDate').innerHTML = (tempDay.getDate())+"/"+(tempDay.getMonth()+1)+"/"+tempDay.getFullYear();
		document.getElementById('todate').value = (tempDay.getDate())+"/"+(tempDay.getMonth()+1)+"/"+tempDay.getFullYear();
		endDate = new Date(tempDay.getFullYear(),tempDay.getMonth(),tempDay.getDate());
		
		try
		{
			if(i < len)
			{
				if(document.getElementById(id).getAttribute("name") == "avaTd" || document.getElementById(id).getAttribute("name") == "cdAvaTd")
				{
					highlightById(id);
				}
				else
				{
					break;
				}
			}
			else
			{
				break;
			}
		}
		catch(err)
		{
		
		}
	}
	
	//alert("Selected dates " + thisDay.getDate()+"-"+(thisDay.getMonth()+1)+"-"+thisDay.getFullYear() + " to " + endDate.getDate()+"-"+(endDate.getMonth()+1)+"-"+endDate.getFullYear());
	
	var thisDayTemp = thisDay.getDate()+"-"+(thisDay.getMonth()+1)+"-"+thisDay.getFullYear();
	var endDayTemp = endDate.getDate()+"-"+(endDate.getMonth()+1)+"-"+endDate.getFullYear();
	
	getPrice(thisDayTemp, endDayTemp, document.getElementById('hiddenPropRef').value, (parseInt(adults) + parseInt(children)));
}


function getPrice(startDate, endDate, propRef, people)
{ 
	xmlHttp=GetXmlHttpObject();
	
	if (xmlHttp==null)
	{
		alert ("Browser does not support HTTP Request");
		return;
	}
	
	var url="http://www.holidaysinsuffolk.com/PHP/getPrice.php";
	url=url+"?startDate="+startDate;
	url=url+"&endDate="+endDate;
	url=url+"&propRef="+propRef;
	url=url+"&people="+people;
	
	xmlHttp.onreadystatechange = statePriceChanged;
	
	xmlHttp.open("GET",url,true)
	
	xmlHttp.send(null)
}

function statePriceChanged() 
{ 
	if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
	{ 
		document.getElementById("price").innerHTML = xmlHttp.responseText; 
		//alert(xmlHttp.responseText);
	}
}

function GetXmlHttpObject()
{
	var xmlHttp=null;
	
	try
	{
		// Firefox, Opera 8.0+, Safari
		xmlHttp=new XMLHttpRequest();
		//alert("Mozilla");
	}
	catch (e)
	{
		//Internet Explorer
		try
		{
			xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
			//	alert("IE");
		}
		catch (e)
		{
			xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
			//	alert("IEError");
		}
	}
	
	return xmlHttp;
}

function toggleLayer(whichLayer)
{
	if (document.getElementById)
	{
		// this is the way the standards work
		var style2 = document.getElementById(whichLayer).style;
		style2.display = style2.display? "":"block";
	}
	else if (document.all)
	{
		// this is the way old msie versions work
		var style2 = document.all[whichLayer].style;
		style2.display = style2.display? "":"block";
	}
	else if (document.layers)
	{
		// this is the way nn4 works
		var style2 = document.layers[whichLayer].style;
		style2.display = style2.display? "":"block";
	}
}

function highlightLayer(whichLayer)
{
	if (document.getElementById)
	{
		// this is the way the standards work
		var style2 = document.getElementById(whichLayer).style;
		style2.border = style2.border? "":"1px solid red";
	}
	else if (document.all)
	{
		// this is the way old msie versions work
		var style2 = document.all[whichLayer].style;
		style2.border = style2.border? "":"1px solid red";
	}
	else if (document.layers)
	{
		// this is the way nn4 works
		var style2 = document.layers[whichLayer].style;
		style2.border = style2.border? "":"1px solid red";
	}
}

function highlightById(id)
{
	if (document.getElementById)
	{
		var style2 = document.getElementById(id).style;
	}
	else if (document.all)
	{
		var style2 = document.all[id].style;
	}
	else if (document.layers)
	{
		var style2 = document.layers[whichLayer].style;
	}
	
	style2.backgroundColor = "#FFFFFF";
}

function getElementsByName_iefix(tag, name)
{
     var elem = document.getElementsByTagName(tag);
     var arr = new Array();
     var iarr = 0;
     var i = 0;
     for(i = 0,iarr = 0; i < elem.length; i++) {
          if(elem[i].getAttribute("name") == name) {
               arr[iarr] = elem[i];
               iarr++;
          }
     }
     return arr;
}

function clearHighlights()
{
	var e = getElementsByName_iefix("td","avaTd");
	for(var i=0;i<e.length;i++)
	{
		e[i].style.backgroundColor = "";
	}
	
	var e = getElementsByName_iefix("td","cdAvaTd");
	for(var i=0;i<e.length;i++)
	{
		e[i].style.backgroundColor = "#D6DA9A";
	}
	
	var e = getElementsByName_iefix("td","notAvaTd");
	for(var i=0;i<e.length;i++)
	{
		e[i].style.backgroundColor = "#AEAFB1";
	}
}

function date2string(myDate)
{
	var myDateString;

	var year = String(myDate.getFullYear()).substring(2);
	var month = myDate.getMonth()+1;
	var day = myDate.getDate();

	if (day<10)
	{
		day = "0"+day;
	}
	if (month<10)
	{
		month = "0"+month;
	}

	return day+"/"+month+"/"+year;
}

function BookingPropertyValidateForm()
{
		var strMessage;
		var bRetVal;
		var oForm;
		var jsCrLf;

		strMessage = "";
		bRetVal = true;
		oForm = document.bookingform;
		jsCrLf = String.fromCharCode(10,13);
		
		if (oForm.fromdate.value == "")
		{
			strMessage = strMessage + "Please enter a valid Arrival Date" + jsCrLf;
		}
		if (oForm.todate.value == "")
		{
			strMessage = strMessage + "Please enter a valid Departure Date" + jsCrLf;
		}
		if (oForm.adults.value == "")
		{
			strMessage = strMessage + "Please enter the number of Adults on your booking" + jsCrLf;
		}
		if (oForm.adults.value == "0")
		{
			strMessage = strMessage + "Please enter the number of Adults on your booking" + jsCrLf;
		}
		
		if(oForm.fromdate.value != "")
		{
			var arrTmp = oForm.fromdate.value.split("/");	
			
			var thisDate = new Date();
			
			if((thisDate.getMonth()+1) == arrTmp[1])
			{
				if((thisDate.getDate()+1) == (arrTmp[0]))
				{
					strMessage = "If you wish to book a property starting tomorrow, please call us on (+44) 0 1580 720770 and we'll try to arrange your holiday for you.";
				}
				else
				{
					if(((arrTmp[0] - thisDate.getDate()) >= 1) && ((arrTmp[0] - thisDate.getDate()) <= 7))
					{
						/*strMessage = "You are booking a holiday which starts within a week.";*/
					}
				}
				
				if((thisDate.getDate()) == (arrTmp[0]))
				{
					strMessage = "You cannot make a booking starting today.";
				}
			}	
		}
		
		
		if (strMessage != "")
		{
			alert (strMessage);
			bRetVal = false;
		}
		if (bRetVal == true)
		{
			oForm.submit()
		}
}

function BookingCustomerValidateForm()
{
	var strMessage;
	var bRetVal;
	var oForm;
	var jsCrLf;
	strMessage = "";
	bRetVal = true;
	oForm = window.document.bookingform;
	jsCrLf = String.fromCharCode(10,13);
		
		
	if (oForm.surname.value == "")
	{
		strMessage = strMessage + "Please enter your Surname" + jsCrLf;
	}
	if (oForm.address1.value == "")
	{
		strMessage = strMessage + "Please enter your Address" + jsCrLf;
	}
	if (oForm.postcode.value == "")
	{
		strMessage = strMessage + "Please enter your Postcode" + jsCrLf;
	}
	if (oForm.workphone.value == "" && oForm.homephone.value == "" && oForm.mobile.value == "")
	{
		strMessage = strMessage + "Please enter at least one phone number" + jsCrLf;
	}
	if (oForm.email.value == "")
	{
		strMessage = strMessage + "Please enter your email address" + jsCrLf;
	}
	if (oForm.name1.value == "" || oForm.name2.value == "" || 
		oForm.name3.value == "" || oForm.name4.value == "" || 
		oForm.name5.value == "" || oForm.name6.value == "" || 
		oForm.name7.value == "" || oForm.name8.value == "" || 
		oForm.name9.value == "" || oForm.name10.value == "" || 
		oForm.name11.value == "" || oForm.name12.value == "" || 
		oForm.name13.value == "" || oForm.name14.value == "" ||
		oForm.name15.value == "" || oForm.name16.value == "" ||
		oForm.name17.value == "" || oForm.name18.value == "" || 
		oForm.name19.value == "" || oForm.name20.value == "")
	{
		strMessage = strMessage + "Please enter the name(s) of every member of your party" + jsCrLf;
	}
	
	if (oForm.age1.value == "" || oForm.age2.value == "" || 
		oForm.age3.value == "" || oForm.age4.value == "" || 
		oForm.age5.value == "" || oForm.age6.value == "" || 
		oForm.age7.value == "" || oForm.age8.value == "" || 
		oForm.age9.value == "" || oForm.age10.value == "" || 
		oForm.age11.value == "" || oForm.age12.value == "" || 
		oForm.age13.value == "" || oForm.age14.value == "" ||
		oForm.age15.value == "" || oForm.age16.value == "" ||
		oForm.age17.value == "" || oForm.age18.value == "" || 
		oForm.age19.value == "" || oForm.age20.value == "")
	{
		strMessage = strMessage + "Please enter the age(s) of every member of your party" + jsCrLf;
	}

	if ((oForm.age1.value != "xxx" && IsNumeric(oForm.age1.value)) ||
		(oForm.age2.value != "xxx" && IsNumeric(oForm.age2.value)) ||
		(oForm.age3.value != "xxx" && IsNumeric(oForm.age3.value)) ||
		(oForm.age4.value != "xxx" && IsNumeric(oForm.age4.value)) ||
		(oForm.age5.value != "xxx" && IsNumeric(oForm.age5.value)) ||
		(oForm.age6.value != "xxx" && IsNumeric(oForm.age6.value)) ||
		(oForm.age7.value != "xxx" && IsNumeric(oForm.age7.value)) ||
		(oForm.age8.value != "xxx" && IsNumeric(oForm.age8.value)) ||
		(oForm.age9.value != "xxx" && IsNumeric(oForm.age9.value)) ||
		(oForm.age10.value != "xxx" && IsNumeric(oForm.age10.value)) ||
		(oForm.age11.value != "xxx" && IsNumeric(oForm.age11.value)) ||
		(oForm.age12.value != "xxx" && IsNumeric(oForm.age12.value)) ||
		(oForm.age13.value != "xxx" && IsNumeric(oForm.age13.value)) ||
		(oForm.age14.value != "xxx" && IsNumeric(oForm.age14.value)) ||
		(oForm.age15.value != "xxx" && IsNumeric(oForm.age15.value)) ||
		(oForm.age16.value != "xxx" && IsNumeric(oForm.age16.value)) ||
		(oForm.age17.value != "xxx" && IsNumeric(oForm.age17.value)) ||
		(oForm.age18.value != "xxx" && IsNumeric(oForm.age18.value)) ||
		(oForm.age19.value != "xxx" && IsNumeric(oForm.age19.value)) ||
		(oForm.age20.value != "xxx" && IsNumeric(oForm.age20.value)))
	{
		strMessage = strMessage + "Please make sure that all ages are numbers" + jsCrLf;
	}
	
	if (oForm.which.value == "" && (oForm.source.value == "" || oForm.source.value == "none" || oForm.source.value == "AWS"))
	{
		strMessage = strMessage + "Please tell us where you heard about us?" + jsCrLf;
	}
	if (oForm.terms.checked == false)
	{
		strMessage = strMessage + "Please confirm that you agree to our booking terms and conditions" + jsCrLf;
	}
	if (strMessage != "")
	{
		alert (strMessage);
		bRetVal = false;
	}
	
	if (bRetVal == true)
	{
		oForm.submit();
	}
}

function bookingFormValidate()
{
	var strMessage;
	var bRetVal;
	var oForm;
	var jsCrLf;
	strMessage = "";
	bRetVal = true;
	oForm = window.document.booking_form;
	jsCrLf = String.fromCharCode(10,13);
	
	if(oForm.tenant_name.value == "")
	{
		strMessage = strMessage + "Please enter your name" + jsCrLf;
	}
	
	if(oForm.address.value == "")
	{
		strMessage = strMessage + "Please enter your address" + jsCrLf;
	}
	
	if(oForm.postcode.value == "")
	{
		strMessage = strMessage + "Please enter your postcode" + jsCrLf;
	}
	
	if (strMessage != "")
	{
		alert (strMessage);
		bRetVal = false;
	}
	
	if (bRetVal == true)
	{
		oForm.submit();
	}
}


function IsNumeric(PossibleNumber)
{
	var PNum = new String(PossibleNumber);
	var regex = /[^0-9]/;
	return regex.test(PNum);
}