//<!--

function setupXmlHttp()
{
	var xmlHttp;
  
  	try
    {    
		// Firefox, Opera 8.0+, Safari    
		xmlHttp=new XMLHttpRequest();    
	}
  	catch (e)
    {   
		// Internet Explorer    
		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;        
			}      
		}    
	}
	
	return xmlHttp;
}

//Open a popup window for the editor
function openPopup(url)
{
	width=520;
	height=550;
	x=parseInt(screen.width/ 2.0) - (width /2.0);
	y=parseInt(screen.height/ 2.0) - (height /2.0);
	
	var win=window.open(url,"editorPopup","top="+y+",left="+x+",scrollbars=yes,dialog=yes,minimizable=no,modal=yes,width="+width+",height="+height+",resizable=no");
}

//Popup window for other popups
function openAPopup(url, x, y)
{
	width=x;
	height=y;
	x=parseInt(screen.width/ 2.0) - (width /2.0);
	y=parseInt(screen.height/ 2.0) - (height /2.0);
	
	var win=window.open(url,"popup","top="+y+",left="+x+",scrollbars=no,dialog=yes,minimizable=no,modal=yes,width="+width+",height="+height+",resizable=no");
}

function FSpopup(url) 
{
 params  = 'width='+screen.width;
 params += ', height='+screen.height;
 params += ', top=0, left=0'
 params += ', fullscreen=yes';

 newwin=window.open(url,'windowname4', params);
 if (window.focus) {newwin.focus()}
 return false;
}


function changeImage(target, newImg, altText)
{
	document.getElementById(target).src = newImg;
	document.getElementById(target).alt = altText;
	document.getElementById(target).title = altText;
}

/* Modified to support Opera */
function bookmarksite(title,url){
if (window.sidebar) // firefox
	window.sidebar.addPanel(title, url, "");
else if(window.opera && window.print){ // opera
	var elem = document.createElement('a');
	elem.setAttribute('href',url);
	elem.setAttribute('title',title);
	elem.setAttribute('rel','sidebar');
	elem.click();
} 
else if(document.all)// ie
	window.external.AddFavorite(url, title);
}


function getContent(val1, val2)
{
    var xmlHttp = setupXmlHttp();
	
	try
    {
		xmlHttp.onreadystatechange=function()
		{	
			if(xmlHttp.readyState==4)
    		{
				//Get the ajax response
				var passedString = xmlHttp.responseText.substring(xmlHttp.responseText.indexOf('ajaxResults[')+12,xmlHttp.responseText.indexOf(']ajaxResults'));
			
				//Apply it to the page
				document.getElementById(val2).innerHTML = passedString;
    		}
		}
	}
    catch (e)
    {        
		alert("Your browser does not support AJAX!");        
	}
	
	var url = "ajax/getContentBlockData.aspx?pageId=" + val1 + "&area=" + val2;
    
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function getPredictiveText(startingText, tb, list, tbid)
{
	var xmlHttp = setupXmlHttp();
	
	try
    {
		xmlHttp.onreadystatechange=function()
		{	
			if(xmlHttp.readyState==4)
    		{
				//Get the ajax response
				var passedString = xmlHttp.responseText.substring(xmlHttp.responseText.indexOf('ajaxResults[')+12,xmlHttp.responseText.indexOf(']ajaxResults'));
				
				if((passedString != "[sql error]") && (passedString != ""))
				{
					var items = new Array();
					items = passedString.split(',');
					allItems = "";					
		
					for(x=0;x<items.length;x++)
					{
						//allItems += "<p onmouseover='this.style.background = \"#b1cde8\";this.style.cursor = \"pointer\"' onmouseout='this.style.background = \"white\";' onclick='applySelection(\"" + items[x].substring(0, items[x].indexOf(":")) + "\", \"" + items[x].substring(items[x].indexOf(":") + 1, items[x].length) + "\",\"" + tbid + "\");' style='margin:0;padding:0;'><a href='javascript:;' onclick='applySelection(\"" + items[x].substring(0, items[x].indexOf(":")) + "\", \"" + items[x].substring(items[x].indexOf(":") + 1, items[x].length) + "\",\"" + tbid + "\");'>" + items[x].substring(items[x].indexOf(":") + 1, items[x].length) + "</a></p>";
						allItems += "<p onmouseover='this.style.background = \"#b1cde8\";this.style.cursor = \"pointer\"' onmouseout='this.style.background = \"white\";' onclick='applySelection(\"" + items[x].substring(0, items[x].indexOf(":")) + "\", \"" + items[x].substring(items[x].indexOf(":") + 1, items[x].length) + "\",\"" + tbid + "\");' style='margin:0;padding:0;'><a href='javascript:;'>" + items[x].substring(items[x].indexOf(":") + 1, items[x].length) + "</a></p>";
					}					
				
					//Apply it to the page
					document.getElementById(list).innerHTML = allItems;
					showDiv(tb, list);
				}
    		}
		}
	}
    catch (e)
    {        
		alert("Your browser does not support AJAX!");        
	}
	
	var url = "ajax/getPredictiveText.aspx?str=" + startingText;
    
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function moreInfo(propId, searchMonth)
{
	var xmlHttp = setupXmlHttp();
	
	try
    {
		xmlHttp.onreadystatechange=function()
		{	
			if(xmlHttp.readyState==4)
    		{
				//Get the ajax response
				var passedString = xmlHttp.responseText.substring(xmlHttp.responseText.indexOf('ajaxResults[')+12,xmlHttp.responseText.indexOf(']ajaxResults'));
				
				if((passedString != "[sql error]") && (passedString != ""))
				{
					var items = new Array();
					items = passedString.split('^|^');
		
					//Apply it to the page
					document.getElementById("previewPropertyItem").style.visibility = 'visible';
					document.getElementById("propTitle1").innerHTML = items[2];
					document.getElementById("propTitle2").innerHTML = items[11];
					document.getElementById("propSleeps").innerHTML = "Sleeps " + items[9];
					
					if(items[5] == "YES")
						document.getElementById("propPets").innerHTML = "Pets welcome";
					else
						document.getElementById("propPets").innerHTML = "No pets";
						
					if(items[3] != "")	
						document.getElementById("propMiniInfo").innerHTML = items[3].replace("<p>", "").replace("<strong>", "").replace("&nbsp;", "");				
					else
						document.getElementById("propMiniInfo").innerHTML = "Information coming soon...";
						
					if(items[10] >= 0)	
						document.getElementById("starRating").innerHTML = "<img src=\"graphics/" + items[10] + "star.gif\" alt=\"\" />";
					
					document.getElementById("propImage").innerHTML = "<a href=\"propertydetails.aspx?pageId=34&propId=" + items[1] + "&searchMonth=" + searchMonth + "\"><img src=\"fly/CreateThumbnail.aspx?Image=p" + items[0] + "_" + items[1] + ".jpg&Size=150&OutputFilename=p" + items[0] + "_" + items[1] + ".jpg&target=searchresults\" height=\"113\" alt=\"\" /></a>";
					
					document.getElementById("propMoreLink").innerHTML = "<a href=\"propertydetails.aspx?pageId=34&propId=" + items[1] + "&searchMonth=" + searchMonth + "\"><img src=\"graphics/srmoredetails.gif\" width=\"217\" height=\"21\" alt=\"\" /></a>";
					
					document.getElementById("mapEmailLink").innerHTML = "<a href=\"propertydetails.aspx?pageId=34&propId=" + items[1] + "&searchMonth=" + searchMonth + "&job=email\">Email a friend</a>";
					document.getElementById("mapWishLink").innerHTML = "<a href=\"javascript:;\" onclick=\"addToWishList('" + items[1] + "')\">Add to my wishlist</a>";
				}
    		}
		}
	}
    catch (e)
    {        
		alert("Your browser does not support AJAX!");        
	}
	
	var url = "ajax/getMapPropDetails.aspx?propId=" + propId;
    
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function addToWishList(propId)
{
	var xmlHttp = setupXmlHttp();
	
	try
    {
		xmlHttp.onreadystatechange=function()
		{	
			if(xmlHttp.readyState==4)
    		{
				//Get the ajax response
				var passedString = xmlHttp.responseText.substring(xmlHttp.responseText.indexOf('ajaxResults[')+12,xmlHttp.responseText.indexOf(']ajaxResults'));
				
				if(passedString.length > 0)
					alert(passedString);
    		}
		}
	}
    catch (e)
    {        
		alert("Your browser does not support AJAX!");        
	}
	
	var url = "ajax/addToWishList.aspx?propId=" + propId;
    
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function getMonthAvailability(propId, monthName, dayCount, theYear)
{
	var xmlHttp = setupXmlHttp();
	
	try
    {
		xmlHttp.onreadystatechange=function()
		{	
			if(xmlHttp.readyState==4)
    		{
				//Get the ajax response
				var passedString = xmlHttp.responseText.substring(xmlHttp.responseText.indexOf('ajaxResults[')+12,xmlHttp.responseText.indexOf(']ajaxResults'));
				
				if((passedString != "[sql error]") && (passedString != ""))
					document.getElementById("availabilityData").value = passedString;
				else
					document.getElementById("availabilityData").value = "";
    		}
		}
	}
    catch (e)
    {        
		alert("Your browser does not support AJAX!");        
	}
	
	var url = "ajax/getPropAvailability.aspx?propId=" + propId + "&monthName=" + monthName + "&dayCount=" + dayCount + "&theYear=" + theYear;
	
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function checkDateSpan(propId, startDate, trueStartDate, endDate, bookingEndDate)
{
	var xmlHttp = setupXmlHttp();
	
	try
    {
		xmlHttp.onreadystatechange=function()
		{	
			if(xmlHttp.readyState==4)
    		{
				//Get the ajax response
				var passedString = xmlHttp.responseText.substring(xmlHttp.responseText.indexOf('ajaxResults[')+12,xmlHttp.responseText.indexOf(']ajaxResults'));
				
				if((passedString == "[sql error]") || (passedString != ""))
				{
					emptyDates();
					document.getElementById("dateErrMsg").innerHTML = "<br />You cannot book a holiday that spans another booking, please try again.<br />&nbsp;";
				}
				else
				{
					document.getElementById("bookingFormLink").style.visibility = 'visible';
					document.getElementById("ctl00_contentPh_bookingLink").href = "booking.aspx?pageId=43&propId=" + propId + "&startDate=" + trueStartDate + "&endDate=" +bookingEndDate;
				}	
    		}
		}
	}
    catch (e)
    {        
		alert("Your browser does not support AJAX!");        
	}
	
	var url = "ajax/checkDateSpan.aspx?propId=" + propId + "&startDate=" + startDate + "&endDate=" + endDate;
	
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function returnPropCount(location, sleeps, pets, startDate, endDate, duration, locationDropId, sleepsDropId, petsDropId, startDateDropId, endDateDropId, durationDropId, fromDuration, fromStartDate)
{
	var xmlHttp = setupXmlHttp();
	
	//Change the finish date when we change the start date, depending on what duration is picked. If the start date is 'I don't mind' don't do anything
	if((fromDuration == true) || (fromStartDate == true))
	{
		drop = document.getElementById(startDateDropId);
		selectedStartDate = 0;

		for (x = 0; x < drop.options.length; x++)
			if(drop.options[x].value == startDate)
				selectedStartDate = x;
				
		if(selectedStartDate > 0)
		{
			var x;
			var inc = 1;
			
			if(document.getElementById(durationDropId).value == 14)
				inc = 2;
				
			if(document.getElementById(durationDropId).value == 21)
				inc = 3;
			
			for (x = 0; x < drop.options.length; x++)
			    if ((drop.options[x].selected) && (x+1 < drop.options.length))
				{
					//document.getElementById(endDateDropId).options[x+inc].selected = true;
					//endDate = document.getElementById(endDateDropId).options[x+inc].value;
				}
		}
		else
		{
			document.getElementById(startDateDropId).options[0].selected = true;
		}
	}
		
	try
    {
		xmlHttp.onreadystatechange=function()
		{	
			if(xmlHttp.readyState==4)
    		{
				//Get the ajax response
				var passedString = xmlHttp.responseText.substring(xmlHttp.responseText.indexOf('ajaxResults[')+12,xmlHttp.responseText.indexOf(']ajaxResults'));
				
				if(passedString == "-1")
				{
					document.getElementById("currentCount").innerHTML = "";
					document.getElementById("propInfo").innerHTML = "Invalid dates<br />Please try again";
				}
				else
				{
					document.getElementById("currentCount").innerHTML = passedString;
					document.getElementById("propInfo").innerHTML = "properties will<br />be listed";
				}
				
				document.getElementById("i1").style.display = "inline";
				
				document.getElementById(locationDropId).disabled = false;
				document.getElementById(sleepsDropId).disabled = false;
				document.getElementById(petsDropId).disabled = false;
				document.getElementById(startDateDropId).disabled = false;
				document.getElementById(endDateDropId).disabled = false;
				document.getElementById(durationDropId).disabled = false;
    		}
		}
	}
    catch (e)
    {        
		alert("Your browser does not support AJAX!");        
	}
	
	document.getElementById("currentCount").innerHTML = "<div style='margin-top:6px;'><span style='font-size:0.6em;'>Loading...&nbsp;&nbsp;</span><img src='graphics/searchwait.gif' /></div>";
	document.getElementById("propInfo").innerHTML = "";
	document.getElementById("i1").style.display = "none";
	document.getElementById(locationDropId).disabled = true;
	document.getElementById(sleepsDropId).disabled = true;
	document.getElementById(petsDropId).disabled = true;
	document.getElementById(startDateDropId).disabled = true;
	document.getElementById(endDateDropId).disabled = true;
	document.getElementById(durationDropId).disabled = true;
	var url = "ajax/returnPropCount.aspx?location=" + location + "&sleeps=" + sleeps + "&pets=" + pets + "&startDate=" + startDate + "&endDate=" + endDate + "&duration=" + duration;
	
	//window.location.href = "http://www.bbc.co.uk?e=" + url;
	
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function getMonthPrices(propId, dateStr)
{
	var xmlHttp = setupXmlHttp();
	
	try
    {
		xmlHttp.onreadystatechange=function()
		{	
			if(xmlHttp.readyState==4)
    		{
				//Get the ajax response
				var passedString = xmlHttp.responseText.substring(xmlHttp.responseText.indexOf('ajaxResults[')+12,xmlHttp.responseText.indexOf(']ajaxResults'));
				dateStr = dateStr.substring(0, dateStr.length-1);
				
				dates = dateStr.split(",");
				prices = passedString.split(",");
				monthNames = new Array("January","February","March","April","May","June","July","August","September","October","November","December");

				priceTableStr = "<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" style=\"border-left:1px solid #476273;border-top:1px solid #476273;background:#dedeff;\">\n";
				
				for(x=0;x<prices.length;x++)
				{
					//Convert the date month number into a word
					tmp = dates[x].split(" ");
					dates[x] = tmp[0] + " " + monthNames[parseInt(tmp[1])-1] + " " + tmp[2];
					priceTableStr += "<tr><td style=\"width:180px;height:20px;padding:5px;border-right:1px solid #476273;border-bottom:1px solid #476273;\">" + dates[x] + "</td><td style=\"padding:5px;border-right:1px solid black;border-bottom:1px solid black;\">&pound;" + prices[x] + "</td></tr>\n";
				}	
				
				priceTableStr += "</table>";		
				
				document.getElementById("priceTable").innerHTML = priceTableStr;
				//Run this to force the background to span down
				document.getElementById("bStart").innerHTML += "";
    		}
		}
	}
    catch (e)
    {        
		alert("Your browser does not support AJAX!");        
	}
	
	var url = "ajax/getMonthPrices.aspx?propId=" + propId + "&dateStr=" + dateStr;
	
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function propSearchSpecificProperty(location,partySize,pets,duration,startDateDrop,endDateDrop,propName,propId,grading,linen,towels,changeover,noSmoking,featureFire,seaView,ONB,attractions,arts,eatingOut,outdoor,sea,pool,startDate,endDate)
{
	if(document.getElementById(propId).value == "-1")
	{
		document.getElementById("ctl00_contentPh_viewLink").innerHTML = "<a href=\"searchresults.aspx?pageId=14&from=advSearch&grading=" + document.getElementById(grading).value + "&linen=" + document.getElementById(linen).value + "&towels=" + document.getElementById(towels).value + "&changeover=" + document.getElementById(changeover).value + "&noSmoking=" + document.getElementById(noSmoking).checked + "&featureFire=" + document.getElementById(featureFire).checked + "&seaView=" + document.getElementById(seaView).checked + "&ONB=" + document.getElementById(ONB).checked + "&attractions=" + document.getElementById(attractions).value + "&arts=" + document.getElementById(arts).value + "&eatingOut=" + document.getElementById(eatingOut).value + "&outdoor=" + document.getElementById(outdoor).value + "&sea=" + document.getElementById(sea).value + "&pool=" + document.getElementById(pool).checked + "&startDate=" + document.getElementById(startDate).value + "&endDate=" + document.getElementById(endDate).value + "\"><img src=\"graphics/viewsearchresults.gif\" /></a>";
		document.getElementById("totalSearchProps").innerHTML = document.getElementById("totalPropCount").value;
		document.getElementById(propName).value = "";
		document.getElementById(location).disabled = false;
		document.getElementById(partySize).disabled = false;
		document.getElementById(pets).disabled = false;
		document.getElementById(duration).disabled = false;
		document.getElementById(startDateDrop).disabled = false;
		document.getElementById(endDateDrop).disabled = false;
		document.getElementById(grading).disabled = false;
		document.getElementById(linen).disabled = false;
		document.getElementById(towels).disabled = false;
		document.getElementById(changeover).disabled = false;
		document.getElementById(noSmoking).disabled = false;
		document.getElementById(featureFire).disabled = false;
		document.getElementById(seaView).disabled = false;
		document.getElementById(ONB).disabled = false;
		document.getElementById(attractions).disabled = false;
		document.getElementById(arts).disabled = false;
		document.getElementById(eatingOut).disabled = false;
		document.getElementById(outdoor).disabled = false;
		document.getElementById(sea).disabled = false;
		document.getElementById(pool).disabled = false;
	}
	else
	{
		searchMonth = document.getElementById(startDateDrop).value;
		searchMonth = searchMonth.substring(3, 5);
	
		if(searchMonth.substring(0,1) == "0")
			searchMonth = searchMonth.substring(1,2);
		
		document.getElementById("ctl00_contentPh_viewLink").innerHTML = "<a href=\"propertydetails.aspx?pageId=34&propId=" + document.getElementById(propId).value + "&searchMonth=" + searchMonth + "\"><img src=\"graphics/viewthisproperty.gif\" /></a>";
		document.getElementById("totalPropCount").value = document.getElementById("totalSearchProps").innerHTML;
		document.getElementById("totalSearchProps").innerHTML = "1";
	
		document.getElementById(location).disabled = true;
		document.getElementById(partySize).disabled = true;
		document.getElementById(pets).disabled = true;
		document.getElementById(duration).disabled = true;
		document.getElementById(startDateDrop).disabled = true;
		document.getElementById(endDateDrop).disabled = true;
		document.getElementById(grading).disabled = true;
		document.getElementById(linen).disabled = true;
		document.getElementById(towels).disabled = true;
		document.getElementById(changeover).disabled = true;
		document.getElementById(noSmoking).disabled = true;
		document.getElementById(featureFire).disabled = true;
		document.getElementById(seaView).disabled = true;
		document.getElementById(ONB).disabled = true;
		document.getElementById(attractions).disabled = true;
		document.getElementById(arts).disabled = true;
		document.getElementById(eatingOut).disabled = true;
		document.getElementById(outdoor).disabled = true;
		document.getElementById(sea).disabled = true;
		document.getElementById(pool).disabled = true;
	}
}

function returnSearchPropCount(location,partySize,pets,duration,startDateDrop,endDateDrop,propName,propId,grading,linen,towels,changeover,noSmoking,featureFire,seaView,ONB,attractions,arts,eatingOut,outdoor,sea,pool,startDate,endDate,startDateDropId,endDateDropId,durationDropId,fromDuration,fromStartDate)
{
	var xmlHttp = setupXmlHttp();
	theEndDate = document.getElementById(endDateDrop).value;
	
	//Change the finish date when we change the start date, depending on what duration is picked. If the start date is 'I don't mind' don't do anything
	if((fromDuration == true) || (fromStartDate == true))
	{
		drop = document.getElementById(startDateDropId);
		selectedStartDate = 0;
		
		for (x = 0; x < drop.options.length; x++)
			if(drop.options[x].value == document.getElementById(startDateDropId).value)
				selectedStartDate = x;
				
		if(selectedStartDate > 0)
		{
			var x;
			var inc = 1;
			
			if(document.getElementById(durationDropId).value == 14)
				inc = 2;
				
			if(document.getElementById(durationDropId).value == 21)
				inc = 3;
			
			for (x = 0; x < drop.options.length; x++)
			    if ((drop.options[x].selected) && (x+1 < drop.options.length))
				{
					//document.getElementById(endDateDropId).options[x+inc].selected = true;
					//theEndDate = document.getElementById(endDateDropId).options[x+inc].value;
				}
		}
		else
		{
			document.getElementById(startDateDropId).options[0].selected = true;
		}
	}
	
	try
    {
		xmlHttp.onreadystatechange=function()
		{	
			if(xmlHttp.readyState==4)
    		{
				//Get the ajax response
				var passedString = xmlHttp.responseText.substring(xmlHttp.responseText.indexOf('ajaxResults[')+12,xmlHttp.responseText.indexOf(']ajaxResults'));
				
				if(passedString == "-1")
					document.getElementById("totalSearchProps").innerHTML = "Invalid dates";
				else
					document.getElementById("totalSearchProps").innerHTML = passedString;
				
				//Enable all form fields
				document.getElementById(location).disabled = false;
				document.getElementById(partySize).disabled = false;
				document.getElementById(pets).disabled = false;
				document.getElementById(duration).disabled = false;
				document.getElementById(startDateDrop).disabled = false;
				document.getElementById(endDateDrop).disabled = false;
				document.getElementById(propName).disabled = false;
				document.getElementById(propId).disabled = false;
				document.getElementById(grading).disabled = false;
				document.getElementById(linen).disabled = false;
				document.getElementById(towels).disabled = false;
				document.getElementById(changeover).disabled = false;
				document.getElementById(noSmoking).disabled = false;
				document.getElementById(featureFire).disabled = false;
				document.getElementById(seaView).disabled = false;
				document.getElementById(ONB).disabled = false;
				document.getElementById(attractions).disabled = false;
				document.getElementById(arts).disabled = false;
				document.getElementById(eatingOut).disabled = false;
				document.getElementById(outdoor).disabled = false;
				document.getElementById(sea).disabled = false;
				document.getElementById(pool).disabled = false;
				
				//Amend the search link
				if(passedString == "-1")
					document.getElementById("ctl00_contentPh_viewLink").innerHTML = "<a href=\"javascript:;\" onclick=\"alert('Invalid booking dates selected.\\n\\nPlease try again.');\"><img src=\"graphics/viewsearchresults.gif\" /></a>";
				else
					document.getElementById("ctl00_contentPh_viewLink").innerHTML = "<a href=\"searchresults.aspx?pageId=14&from=advSearch&location=" + document.getElementById(location).value + "&sleeps=" + document.getElementById(partySize).value + "&pets=" + document.getElementById(pets).value + "&duration=" + document.getElementById(duration).value + "&startDate=" + document.getElementById(startDateDrop).value + "&endDate=" + theEndDate + "&grading=" + document.getElementById(grading).value + "&linen=" + document.getElementById(linen).value + "&towels=" + document.getElementById(towels).value + "&changeover=" + document.getElementById(changeover).value + "&noSmoking=" + document.getElementById(noSmoking).checked + "&featureFire=" + document.getElementById(featureFire).checked + "&seaView=" + document.getElementById(seaView).checked + "&ONB=" + document.getElementById(ONB).checked + "&attractions=" + document.getElementById(attractions).value + "&arts=" + document.getElementById(arts).value + "&eatingOut=" + document.getElementById(eatingOut).value + "&outdoor=" + document.getElementById(outdoor).value + "&sea=" + document.getElementById(sea).value + "&pool=" + document.getElementById(pool).checked + "\"><img src=\"graphics/viewsearchresults.gif\" /></a>";
		
	   		}
		}
	}
    catch (e)
    {        
		alert("Your browser does not support AJAX!");        
	}
	
	smokers = "YES";
	_featureFire = 0;
	_seaView = 0;
	_ONB = 0;
	_pool = 0;
		
	if(document.getElementById(noSmoking).checked == true)
		smokers = "NO";
	if(document.getElementById(featureFire).checked == true)
		_featureFire = 1;
	if(document.getElementById(seaView).checked == true)
		_seaView = 1;
	if(document.getElementById(ONB).checked == true)
		_ONB = 1;
	if(document.getElementById(pool).checked == true)
		_pool = 1;
		
	var url = "ajax/returnSearchPropCount.aspx?pageId=14&location=" + document.getElementById(location).value + "&partySize=" + document.getElementById(partySize).value + "&pets=" + document.getElementById(pets).value + "&duration=" + document.getElementById(duration).value + "&startDate=" + document.getElementById(startDateDrop).value + "&endDate=" + document.getElementById(endDateDrop).value + "&grading=" + document.getElementById(grading).value + "&linen=" + document.getElementById(linen).value + "&towels=" + document.getElementById(towels).value + "&changeover=" + document.getElementById(changeover).value + "&smoking=" + smokers + "&featurefire=" + _featureFire + "&seaviews=" + _seaView + "&onb=" + _ONB + "&attractions=" + document.getElementById(attractions).value + "&arts=" + document.getElementById(arts).value + "&eatingout=" + document.getElementById(eatingOut).value + "&outdoor=" + document.getElementById(outdoor).value + "&sea=" + document.getElementById(sea).value + "&pool=" + _pool;

	//window.location.href = "http://www.bbc.co.uk?e=" + url;
	
	document.getElementById("ctl00_contentPh_viewLink").innerHTML = "<a href=\"javascript:;\" onclick=\"alert('Please wait for the form to refresh');\"><img src=\"graphics/viewsearchresults.gif\" /></a>";
	
	//Disable all form fields
	document.getElementById(location).disabled = true;
	document.getElementById(partySize).disabled = true;
	document.getElementById(pets).disabled = true;
	document.getElementById(duration).disabled = true;
	document.getElementById(startDateDrop).disabled = true;
	document.getElementById(endDateDrop).disabled = true;
	document.getElementById(propName).disabled = true;
	document.getElementById(propId).disabled = true;
	document.getElementById(grading).disabled = true;
	document.getElementById(linen).disabled = true;
	document.getElementById(towels).disabled = true;
	document.getElementById(changeover).disabled = true;
	document.getElementById(noSmoking).disabled = true;
	document.getElementById(featureFire).disabled = true;
	document.getElementById(seaView).disabled = true;
	document.getElementById(ONB).disabled = true;
	document.getElementById(attractions).disabled = true;
	document.getElementById(arts).disabled = true;
	document.getElementById(eatingOut).disabled = true;
	document.getElementById(outdoor).disabled = true;
	document.getElementById(sea).disabled = true;
	document.getElementById(pool).disabled = true;
	
	xmlHttp.open("GET",url,true);
	xmlHttp.send(null);
}

function onFocus(id,text)
{
	if (document.getElementById(id).value == text)
	{
		document.getElementById(id).value = '';
		document.getElementById(id).className = '';
	}
}

function onBlur(id,text)
{
	if (document.getElementById(id).value == "")
	{
		document.getElementById(id).value = text;
		document.getElementById(id).className = 'goGray';
	}
}

function applySelection(propId, text, tbid)
{
	document.getElementById(tbid).value = text;
	document.getElementById("predictiveOptions").style.display = 'none';
	
	for(x=0;x<document.getElementById("ctl00_contentPh_propId").length;x++)
	{
		if(document.getElementById("ctl00_contentPh_propId").options[x].value == propId)
		{
			document.getElementById("ctl00_contentPh_propId").options[x].selected = true;
			x = document.getElementById("ctl00_contentPh_propId").length;
			
			searchMonthVal = document.getElementById("ctl00_contentPh_startDateDrop").value.substring(3,5);

			if(searchMonthVal.substring(0,1) == "0")
				searchMonthVal = searchMonthVal.substring(1,2);
			
			document.getElementById("ctl00_contentPh_viewLink").innerHTML = "<a href=\"propertydetails.aspx?pageId=34&propId=" + propId + "&searchMonth=" + searchMonthVal + "\"><img src=\"graphics/viewthisproperty.gif\" /></a>";
			document.getElementById("totalPropCount").value = document.getElementById("totalSearchProps").innerHTML;
			
			document.getElementById("totalSearchProps").innerHTML = "1";
		
			document.getElementById("ctl00_contentPh_location").disabled = true;
			document.getElementById("ctl00_contentPh_partySize").disabled = true;
			document.getElementById("ctl00_contentPh_pets").disabled = true;
			document.getElementById("ctl00_contentPh_duration").disabled = true;
			document.getElementById("ctl00_contentPh_startDateDrop").disabled = true;
			document.getElementById("ctl00_contentPh_endDateDrop").disabled = true;
			document.getElementById("ctl00_contentPh_grading").disabled = true;
			document.getElementById("ctl00_contentPh_linen").disabled = true;
			document.getElementById("ctl00_contentPh_towels").disabled = true;
			document.getElementById("ctl00_contentPh_changeover").disabled = true;
			document.getElementById("ctl00_contentPh_noSmoking").disabled = true;
			document.getElementById("ctl00_contentPh_featureFire").disabled = true;
			document.getElementById("ctl00_contentPh_seaView").disabled = true;
			document.getElementById("ctl00_contentPh_ONB").disabled = true;
			document.getElementById("ctl00_contentPh_attractions").disabled = true;
			document.getElementById("ctl00_contentPh_arts").disabled = true;
			document.getElementById("ctl00_contentPh_eatingOut").disabled = true;
			document.getElementById("ctl00_contentPh_outdoor").disabled = true;
			document.getElementById("ctl00_contentPh_sea").disabled = true;
			document.getElementById("ctl00_contentPh_pool").disabled = true;

		}
	}
}

function predict(control, tb, list)
{
	if(document.getElementById(control.id).value.length >= 3)
		getPredictiveText(document.getElementById(control.id).value, tb, list, tb.id);
}

function showDiv(tb, list)
{
	axis = findPos(tb);
	document.getElementById(list).style.left = axis[0] + "px";
	document.getElementById(list).style.top = axis[1] + 23 + "px";
	document.getElementById(list).style.display = 'inline';

}

function hideDiv() {
	document.getElementById("predictiveOptions").style.display = 'none';
}

function scrollWinDown(targetYPos) {
	window.scrollBy(0,targetYPos);
}

function focusBox() {
	document.getElementById("focusScrollBox").focus();
}

function findPosold(obj) {

	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	}
	
	return [curleft,curtop];
}

function findPos(obj) {
var curleft = curtop = 0;
if (obj.offsetParent) {
curleft = obj.offsetLeft
curtop = obj.offsetTop
while (obj = obj.offsetParent) {
curleft += obj.offsetLeft
curtop += obj.offsetTop
}
}
return [curleft,curtop];
}


function mycallbackfunc(v,m)
{
    if(v == true)
        window.location.href = window.location.href + "&job=pageDelete";
}
	
function deletePage()
{
    $.prompt('Are you sure you want to delete this page? ',{ buttons: { Ok: true, Cancel: false },show:'fadeIn',overlayspeed:'fast',callback: mycallbackfunc });
    return false;
}

function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != 'function') {
    window.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }
}

function addUnLoadEvent(func) {
	var oldonunload = window.onunload;
	if (typeof window.onunload != 'function') {
	  window.onunload = func;
	} else {
	  window.onunload = function() {
	    oldonunload();
	    func();
	  }
	}
}

areaSubActive = false;
inSubMenu = false;
firstTime = true;
ignoreAll = false;
pageId = -1;

function subMenuOn(id) {
    document.getElementById(id).style.display = 'inline';

	firstTime = true;
	
	if((id == "areaSubMenuSurround") || (id == "areaSubMenuSurroundBottom"))
		areaSubActive = true;
}

function subMenuOff(id) {
	firstTime = true;
	subOff(id);
	areaSubActive = false;
}

function subMenuOffFromSub(id) {
	areaSubActive = true;
	inSubMenu = false;
	firstTime = true;
	subOff(id);
}

function subOff(id) {
	if((inSubMenu == false) && (ignoreAll == false)) {
	
		if(firstTime == true) {
			firstTime = false;
			reCount = 1;
		}
	
		if((reCount <= 2) && (areaSubActive == true)) {
			reCount+=1;
			setTimeout("subOff('" + id + "')",1000);
		} else
			document.getElementById(id).style.display = 'none';
	}
}

function subMenuOffNow(id, offRegardless) {
	if((ignoreAll == false) || (offRegardless == true))
		document.getElementById(id).style.display = 'none';
	else
		turnCorrectMenuOn();
}

function turnCorrectMenuOn() {
	pageId = window.location.href.substring(window.location.href.indexOf("pageId=")+7, window.location.href.length);
		
	if((parseInt(pageId) == 6) || (parseInt(parentId) == 6))
	{
		document.getElementById("informationMenuSurround").style.display = 'inline';
		document.getElementById("areaSubMenuSurround").style.display = 'none';
		document.getElementById("informationMenuSurroundBottom").style.display = 'inline';
		document.getElementById("areaSubMenuSurroundBottom").style.display = 'none';
	}	
	else if((parseInt(pageId) == 7) || (parseInt(parentId) == 7))
	{
		document.getElementById("informationMenuSurround").style.display = 'none';
		document.getElementById("areaSubMenuSurround").style.display = 'inline';
		document.getElementById("informationMenuSurroundBottom").style.display = 'none';
		document.getElementById("areaSubMenuSurroundBottom").style.display = 'inline';
	}
}

function setInSubMenu() {
	reCount = 1;
	inSubMenu = true;
}

function setIgnore() {
	ignoreAll = true;
}

/* Google maps */
function createMarker(point, name, label, address, type) {
  var marker = new LabeledMarker(point, {icon: customIcons[type], labelText: label, labelOffset: new GSize(-6, -10)});
  markerGroups[type].push(marker);
  var html = "<b>" + name + "</b> <br/>" + address;
  GEvent.addListener(marker, 'mouseover', function() {
    marker.openInfoWindowHtml(html);
  });
  return marker;
}

function toggleGroup(type) {
  for (var i = 0; i < markerGroups[type].length; i++) {
    var marker = markerGroups[type][i];
    if (marker.isHidden()) {
      marker.show();
      hideGroupLabels('prop');
    } else {
      marker.hide();
    }
  } 
}

function groupOff(type) {
  for (var i = 0; i < markerGroups[type].length; i++) {
    var marker = markerGroups[type][i];
    marker.hide();
  } 
}

function hideGroupLabels(type) {
    for (var i = 0; i < markerGroups[type].length; i++) {
        var marker = markerGroups[type][i];
        marker.hideLabel();
    } 
}

function oneMarkerOn(type, keep) 
{  
    groupOff('prop');

    var target = -1;
    for (var i = 0; i < markerGroups[type].length; i++) 
    {
        var marker = markerGroups[type][i];

        if(marker.labelText_ == keep)
        {
            target = i;
            i = markerGroups[type].length;
        } 
    }

    if(target > -1)
    {
        var marker = markerGroups[type][target];
        marker.show();
        marker.hideLabel();
        
        map.setCenter(marker.getLatLng(), 11);
                
        var html = "<b>" + eval("title_" + keep) + "</b> <br/>" + eval("content_" + keep);
        marker.openInfoWindowHtml(html);
        moreInfo(keep);
        document.getElementById("ctl00_contentPh_check6").checked = false;
    }
} 

function toggleLabels() {
  var showLabels = document.getElementById("labelsCheckbox").checked;
  for (groupName in markerGroups) {
    for (var i = 0; i < markerGroups[groupName].length; i++) {
      var marker = markerGroups[groupName][i];
      marker.setLabelVisibility(showLabels);
    }
  }
}

function activitiesOff()
{
	toggleGroup('attractions');
	toggleGroup('art_heritage');
	toggleGroup('eating_out');
	toggleGroup('outdoor_pursuits');
	toggleGroup('beaches');
	//toggleGroup('prop');
	document.getElementById("ctl00_contentPh_check1").checked = false;
    document.getElementById("ctl00_contentPh_check2").checked = false;
    document.getElementById("ctl00_contentPh_check3").checked = false;
    document.getElementById("ctl00_contentPh_check4").checked = false;
    document.getElementById("ctl00_contentPh_check5").checked = false;
	//document.getElementById("ctl00_contentPh_check6").checked = false;
	activitiesLink.innerHTML = "<a href=\"javascript:;\" onclick=\"activitiesOn();\">All activities on</a>";
}

function activitiesOn()
{
    toggleGroup('attractions');
	toggleGroup('art_heritage');
	toggleGroup('eating_out');
	toggleGroup('outdoor_pursuits');
	toggleGroup('beaches');
	//toggleGroup('prop');
	document.getElementById("ctl00_contentPh_check1").checked = true;
    document.getElementById("ctl00_contentPh_check2").checked = true;
    document.getElementById("ctl00_contentPh_check3").checked = true;
    document.getElementById("ctl00_contentPh_check4").checked = true;
    document.getElementById("ctl00_contentPh_check5").checked = true;
	//document.getElementById("ctl00_contentPh_check6").checked = true;
	activitiesLink.innerHTML = "<a href=\"javascript:;\" onclick=\"activitiesOff();\">All activities off</a>";
}

function createGeourlMarker(markmap, marklat, marklong, marktitle, markurl, markimage, markprice, markbedrooms, markarea, markref) {
  var point = new GPoint(marklong, marklat);
  var icon = new GIcon(geourlIcon);
  var marker = new GMarker(point, icon);
  var html = '<center><table border="1" cellspacing="0" cellpadding="10"><tr><td><table border="0" cellspacing="0" cellpadding="0"><tr><td valign="top"><img src="http://www.cfpwebservices.co.uk/WinEstate_xml/'+markimage+'" alt="" width="128" height="96" border="1"></td><td width="10"></td><td valign="top" class="smallgrey"><table border="0" cellspacing="0" cellpadding="0"><tr><td class="smallblack"><b>'+marktitle+'</b></td></tr><tr><td class="smallblack"><b>'+markarea+'</b></td></tr><tr><td class="smallblue">£'+markprice+' per calendar month</td></tr><tr><td class="smallgrey">'+markbedrooms+' bedrooms</td></tr><tr><td height="10"></td></tr><tr><td class="smallgrey"><a href="'+markurl+'">full details</a>&nbsp;&nbsp;&nbsp;<a href="register.asp?reference='+markref+'&table=WinEstate">register interest</a></td></tr></td></tr></table></td></tr></table></center>';
  GEvent.addListener(marker, "click", function() {
    marker.openInfoWindowHtml(html);
  });
  GEvent.addListener(marker,"mouseover", function() {
      marker.openInfoWindowHtml(html);
  }); 
  markmap.addOverlay(marker);
}

function changeCursor(passed)
{
	//IE 5.5 has a cow about the cursor changing so just ignore the JS error
	onerror = report;
	passed.style.cursor = 'pointer';
}

function report(message,url,line) 
{
    //alert('Error : ' + message + ' at line ' + line + ' in ' + url);
    return true;
}