var xmlHttp
var availStartDate;
var startId;
var adults = 0;
var children = 0;
var infants = 0;
var numpets = 0;
var shortBreakAllowed = "false";
var SBproceed = "";
//---------------------------------------------------------
//
// Generic Ajax
//
//---------------------------------------------------------
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
//Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
//--------------------------------------------------
//
// Availability chart
//
//--------------------------------------------------
function getAvailabilityCalendar(caldate, propref)
{
// Disbable price box
//document.getElementById("holiday_price").disabled = true;
//document.getElementById("todate").disabled = true;
//document.getElementById("startdate").disabled = true;
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
var url="/PHP/availability/getAvailabilityCalendar.php"
url = url + "?caldate=" + caldate
url = url + "&propref=" + propref
url = url + "&rand=" + Math.floor(Math.random()*10000000)
xmlHttp.onreadystatechange=stateAvail
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}
function stateAvail()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("availability_main").innerHTML=xmlHttp.responseText;
}
}
function getPrice(startDate, endDate, propRef, people)
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request");
return;
}
var url="/PHP/getPrice.php";
url=url+"?startDate="+startDate;
url=url+"&endDate="+endDate;
url=url+"&propRef="+propRef;
url=url+"&people="+people;
url = url + "&rand=" + Math.floor(Math.random()*10000000)
xmlHttp.onreadystatechange = statePriceChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function statePriceChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("holiday_price").value = xmlHttp.responseText;
document.getElementById("holiday_price_span").innerHTML = xmlHttp.responseText;
//alert(xmlHttp.responseText);
}
}
function getAdults()
{
if(document.getElementById('adults').value != "")
{
return document.getElementById('adults').value;
}
else
{
return 0;
}
}
function getChildren()
{
if(document.getElementById('children').value != "")
{
return document.getElementById('children').value;
}
else
{
return 0;
}
}
function getInfants()
{
if(document.getElementById('infants').value != "")
{
return document.getElementById('infants').value;
}
else
{
return 0;
}
}
function changeHolLength()
{
var len = document.getElementById("holLength").value;
clearHighlights();
var one_day=1000*60*60*24;
var endDate;
var tempDay;
adults = getAdults();
children = getChildren();
infants = getInfants();
for(var i=0; i<=len; i++)
{
try
{
//var tempDay = new Date (availStartDate.getTime() + (one_day*i));
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());
}
catch(e)
{
}
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();
tempDayEnd = new Date(tempDay.getFullYear(),tempDay.getMonth(),tempDay.getDate());
document.getElementById('startdate').innerHTML = (availStartDate.getDate())+"/"+(availStartDate.getMonth()+1)+"/"+availStartDate.getFullYear();
document.getElementById('todate').innerHTML = (tempDayEnd.getDate())+"/"+(tempDayEnd.getMonth()+1)+"/"+tempDayEnd.getFullYear();
document.getElementById('startdatehid').value = thisDayTemp;
document.getElementById('todatehid').value = endDayTemp;
getPrice(thisDayTemp, endDayTemp, document.getElementById('property').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;
var tempDay;
var tempDayEnd;
adults = getAdults();
children = getChildren();
infants = getInfants();
//document.getElementById('startDate').innerHTML = thisDay.getDate()+"/"+(thisDay.getMonth()+1)+"/"+thisDay.getFullYear();
//document.getElementById('fromdate').value = thisDay.getDate()+"/"+(thisDay.getMonth()+1)+"/"+thisDay.getFullYear();
clearHighlights();
for(var i=0; i<=len; i++)
{
//var tempDay = new Date (availStartDate.getTime() + (one_day*i));
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(err);
}
}
var thisDayTemp = thisDay.getDate()+"-"+(thisDay.getMonth()+1)+"-"+thisDay.getFullYear();
var endDayTemp = endDate.getDate()+"-"+(endDate.getMonth()+1)+"-"+endDate.getFullYear();
tempDayEnd = new Date(tempDay.getFullYear(),tempDay.getMonth(),tempDay.getDate());
document.getElementById('startdate').innerHTML = (availStartDate.getDate())+"/"+(availStartDate.getMonth()+1)+"/"+availStartDate.getFullYear();
document.getElementById('todate').innerHTML = (tempDayEnd.getDate())+"/"+(tempDayEnd.getMonth()+1)+"/"+tempDayEnd.getFullYear();
document.getElementById('startdatehid').value = thisDayTemp;
document.getElementById('todatehid').value = endDayTemp;
getPrice(thisDayTemp, endDayTemp, document.getElementById('property').value, (parseInt(adults)+parseInt(children)));
}
function clearHighlights()
{
var e = getElementsByName_iefix("td","avaTd");
for(var i=0;i";
}
if(email == "")
{
errors = errors + "Your email is missing
";
}
else
{
if(eCheck(email) == false)
{
errors = errors + "Email Address was invalid
";
}
}
if(message == "")
{
errors = errors + "Your message is missing
";
}
if(errors == "")
{
var url="includes/email.php"
url = url + "?name=" + name
url = url + "&email=" + email
url = url + "&message=" + message
xmlHttp.onreadystatechange=stateSent
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}
else
{
document.getElementById("res").innerHTML = "Sorry it was not possible to send this email because:
" + errors;
}
document.emailform.name.disabled=false;
document.emailform.email.disabled=false;
document.emailform.message.disabled=false;
document.getElementById("res").style.display = "block";
}
function stateSent()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
if(xmlHttp.responseText == "true")
{
document.getElementById("res").innerHTML = "Thank you, your email was sent successfully.";
}
else
{
document.getElementById("res").innerHTML = "Sorry there were problems sending your email.";
}
}
}
function CheckAvailForm()
{
if(document.getElementById("adults").value == "")
{
alert('Please enter the number of adults in your party.');
return false;
}
if(document.getElementById("startdate").value == "")
{
alert('Please select the dates of the holiday by clicking on the calendars above.');
return false;
}
if(document.getElementById("holLength").value < 7)
{
alert('Our properties accept short breaks at the owners discretion. If you wish to book a short break please call us on 01502 725 409 and we will be happy to help.');
return false;
}
if(document.getElementById("startdatehid").value == "")
{
alert('Please click on the calendar to select your holiday dates.');
return false;
}
if(document.getElementById("holiday_price").value == "Unavailable")
{
alert('Sorry, this property is not available for the dates you selected.');
return false;
}
try
{
if(document.getElementById("pets").value == "yes")
{
if(document.getElementById("numpets").value != "")
{
if(document.getElementById("numpets").value > document.getElementById("numberofpets").value)
{
alert('This property unfortunately accept that many pets.');
return false;
}
}
else
{
alert('Please state how many pets you are bringing.');
return false;
}
}
}
catch(e)
{
}
try
{
var datediff = 0;
var fromdateTmp = document.getElementById("startdatehid").value.split("-");
var todateTmp = document.getElementById("todatehid").value.split("-");
var fromdate = new Date (fromdateTmp[2],fromdateTmp[1]-1,fromdateTmp[0]);
var todate = new Date (todateTmp[2],todateTmp[1]-1,todateTmp[0]);
var dayskey = new Array(7);
dayskey[0] = "Sunday";
dayskey[1] = "Monday";
dayskey[2] = "Tuesday";
dayskey[3] = "Wednesday";
dayskey[4] = "Thursday";
dayskey[5] = "Friday";
dayskey[6] = "Saturday";
//alert(fromdate + " " + todate);
if(fromdate < todate)
{
var diff = ((todate - fromdate)/(24*60*60*1000));
if(diff < 7)
{
//alert(ShortBreaksAllowed(fromdate, todate));
var SBret = ShortBreaksAllowed(fromdate, todate);
if(SBret != "")
{
alert(SBret);
return false;
}
}
if(diff % 7 != 0){
var SBret = ShortBreaksAllowed(fromdate, todate);
if(SBret != "")
{
alert(SBret);
return false;
}
}
}
}
catch(e)
{
alert(e + 'An error occurred taking your booking, please call us and we will be happy to help.');
return false;
}
}
function ShortBreaksAllowed(fromdate, todate)
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request")
return
}
var propref = document.getElementById("property").value;
var url="/PHP/availability/shortBreakCheck.php";
url = url + "?startdate=" + fromdate.getDate()+"-"+(fromdate.getMonth()+1)+"-"+fromdate.getFullYear();
url = url + "&todate=" + todate.getDate()+"-"+(todate.getMonth()+1)+"-"+todate.getFullYear();
url = url + "&propref=" + propref;
url = url + "&rand=" + Math.floor(Math.random()*10000000);
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
return xmlHttp.responseText;
}