function bookmark(url, title) { if (window.sidebar) window.sidebar.addPanel(title, url,""); else window.external.AddFavorite(url, title); } function JumpToIt(list) { var newPage = list.options[list.selectedIndex].value if (newPage != "None") { location.href=newPage } } function search_local() { var f = document.res_search; var o = selected_region(); var sale = f.sell_let.options[0].selected; var town = f.town.options[f.town.selectedIndex].value; if (town.length > 0) { var url = ""; if (!is_template()) { url += "/"; if (!sale) url += "rental_"; url += "properties_in_" + o; } url += "/" + town; if (is_template()) { url += "-property"; if (!sale) url += "-rent"; } if (f.bedrooms.selectedIndex > 0 || f.min.value != "any" || f.max.value != "any") { var b = f.bedrooms.options[f.bedrooms.selectedIndex].value; if (b == "8+") b = "8"; url += "/" + b; url += "-bedrooms/"; url += f.min.value; url += "-min/"; url += f.max.value; url += "-max/"; } else { url += ".html"; } document.location=url; } else { if (o.length > 0) { if (is_template() && sale) document.location="/results.php"; else { var url="properties_in_" + o + ".html"; if (!sale) url = "rental_" + url; document.location="/" + url; } } else { document.location="/"; } } } function slugify(s) { return s.toLowerCase().replace(/'/g, "").replace(/ /g, "_"); } function slugifyurl(s) { var newurl = ""; //alert("-"+newurl+"-"); newurl = s.toLowerCase(); //alert("-"+newurl+"-"); newurl = newurl.replace(/[!@#$%^*()]/g, ""); //alert("-"+newurl+"-"); newurl = newurl.replace(/[+]/g, " "); //alert("-"+newurl+"-"); newurl = newurl.replace(/[^a-zA-Z0-9_\-& ]/g, " "); //alert("-"+newurl+"-"); newurl = newurl.replace(/[ ]+/g, " "); //alert("-"+newurl+"-"); newurl = newurl.replace(/ /g, "_"); //alert("-"+newurl+"-"); newurl = newurl.replace(/&/g, "and"); //alert("-"+newurl+"-"); return newurl } function toggle_region(town) { for (var i = document.res_search.town.options.length-1; i > 0; i--) { document.res_search.town.options[i] = null; } var region = selected_region(); var options; for (var i = 0; i < regions.length; i++) { if (regions[i] == region) { options = areas[i]; break; } } if (options) { for (var i = 0; i < options.length; i++) { var slugified = slugify(options[i]); document.res_search.town.options[i+1] = new Option(options[i], slugified, slugified == town, slugified == town); } } toggle_town(); toggle_sell_let(); } function toggle_town() { var d = document.res_search.town.options.selectedIndex == 0; document.res_search.rental_min.disabled = d; document.res_search.rental_max.disabled = d; document.res_search.sale_min.disabled = d; document.res_search.sale_max.disabled = d; document.res_search.bedrooms.disabled = d; } function toggle_sell_let() { if (document.res_search.sell_let.options[0].selected) { document.getElementById("rental_min").style.display="none"; document.getElementById("rental_max").style.display="none"; document.getElementById("sale_min").style.display=""; document.getElementById("sale_max").style.display=""; } else { document.getElementById("rental_min").style.display=""; document.getElementById("rental_max").style.display=""; document.getElementById("sale_min").style.display="none"; document.getElementById("sale_max").style.display="none"; } toggle_price(); } function toggle_price() { var min = document.getElementById("sale_min"); var max = document.getElementById("sale_max"); if (document.res_search.sell_let.options[1].selected) { min = document.getElementById("rental_min"); max = document.getElementById("rental_max"); } document.res_search.min.value = min.options[min.selectedIndex].value; document.res_search.max.value = max.options[max.selectedIndex].value; } function selected_region() { return is_template() ? document.res_search.region.value : document.res_search.region.options[document.res_search.region.selectedIndex].value; } function is_template() { return document.res_search.region.type == "hidden"; // template site (not UKPS) } function showMedImage(images, id) { for (var i = 0; i < images.length; i++) { document.getElementById("image_m_" + images[i]).style.display=(images[i] == id) ? "" : "none"; } } function showImage(id) { greyOutBg(true); document.getElementById("image_" + id).style.display=""; } function hideImage(id) { greyOutBg(false); document.getElementById("image_" + id).style.display="none"; } function nextImage(images, id) { document.getElementById("image_" + id).style.display="none"; var next = false; var done = false; for (var i = 0; i < images.length; i++) { if (next) { document.getElementById("image_" + images[i]).style.display=""; done = true; break; } if (images[i] == id) next = true; } if (!done) showImage(images[0]); } function previousImage(images, id) { document.getElementById("image_" + id).style.display="none"; var previous = 0; for (var i = 0; i < images.length; i++) { if (images[i] == id) { if (previous == 0) previous = images[images.length-1]; document.getElementById("image_" + previous).style.display=""; break; } previous = images[i]; } } function greyOutBg(enable) { var bg = document.getElementById("greyedout"); if(enable) { bg.style.display=''; bg.style.height = document.documentElement.scrollHeight + "px"; bg.style.width = document.documentElement.scrollWidth + "px"; } else { bg.style.display='none'; bg.style.height = 0; bg.style.width = 0; } } function pref_property_search() { var f = document.pref_search_form; var keyword = slugifyurl(f.txtsearch.value); if (keyword.length > 0) { var url = ""; if (!is_template()) { url += "/find_property_for_"; url += keyword; } if (is_template()) { url += "/search_property_for_"; url += keyword; } url += ".html"; document.location=url; } else { alert("Please enter valid search keyword"); f.txtsearch.value = ""; return false; } return true; } function pref_property_search2() { var f = document.pref_search_form2; var keyword = slugifyurl(f.bluetxtsearch.value); if (keyword.length > 0) { var url = ""; if (!is_template()) { url += "/find_property_for_"; url += keyword; } if (is_template()) { url += "/search_property_for_"; url += keyword; } url += ".html"; document.location=url; } else { alert("Please enter valid search keyword"); f.bluetxtsearch.value = ""; return false; } return true; }