var mDivMOver = false;
var selectedcountry = 0;
var selectedcounty = 0;
var selectedtown = 0;
var selectedaddress = 0;
var selectedcentre = 0;
centreimgurl = "/images/search/go.gif";
centreimgurl_faded = "/images/search/go_faded.gif";
viewpdfimgurl = "/images/search/viewpdf.gif";
viewpdfimgurl_faded = "/images/search/viewpdf_faded.gif";
activedropdown = "";
activescroll = 0;
document.onclick = function() {
 if(!mDivMOver) {
  $("#countrysuggestions").css("display","none");
  $("#countysuggestions").css("display","none");
  $("#townsuggestions").css("display","none");
  $("#addresssuggestions").css("display","none");
  $("#shoppingsuggestions").css("display","none");
  activedropdown = "";
 }
}
$(document).ready(function() {
 document.getElementById("selectcentrelink").onclick = checkGo;
 document.getElementById("viewpdflink").onclick = checkPDF;
});
function searchCountries(searchterm) {
 $("#townsuggestions").css("display","none");
 $("#countysuggestions").css("display","none");
 $("#addresssuggestions").css("display","none");
 $("#shoppingsuggestions").css("display","none");
 $("#countrysuggestions").css("display","block");
 $("#countrysuggestions").scrollTop(0);
 $("#countrysuggestions").html("<ul><li><a href='#'>Searching...</a></li></ul>");
 $("#countrysuggestions").load("./js/ajax/countrysuggestions.php?w="+searchterm.replace(" ", "%20"), function() { activescroll = 0; activedropdown = "countrysuggestions"; document.onkeydown = navigateDropdown; });
}
function selectCountry(val,countryname,updatemap) {
 $("#countrysuggestions").css("display","none");
 $("#pointer").css("display", "none");
 $("#country").val(countryname);
 $("#county").val("Select County");
 $("#town").val("Select Town");
 if(!updatemap) {
  $("#address").val("Select Address");
  $("#shopping").val("Select Shopping Centre");
  $("#selectcentre").attr("src",centreimgurl_faded);
  $("#viewpdf").attr("src",viewpdfimgurl_faded);
  $("#viewpdflink").attr("href","#");
  $("#selectcentrelink").attr("href","#");
 }
 if(!updatemap) {
  $("#selectcentre").attr("src",centreimgurl_faded);
  $("#mapimage").fadeOut(300, function() { $("#mapimage").attr("src","/images/maps/country/"+countryname.toLowerCase()+"_map.gif"); $("#mapimage").fadeIn(300); });
 }
 selectedcountry = val;
 selectedcounty = 0;
 selectedtown = 0;
 selectedaddress = 0;
 selectedcentre = 0;
}
function searchCounties(searchterm) {
 $("#countrysuggestions").css("display","none");
 $("#townsuggestions").css("display","none");
 $("#addresssuggestions").css("display","none");
 $("#shoppingsuggestions").css("display","none");
 $("#countysuggestions").css("display","block");
 $("#countysuggestions").scrollTop(0);
 $("#countysuggestions").html("<ul><li><a href='#'>Searching...</a></li></ul>");
 $("#countysuggestions").load("./js/ajax/countysuggestions.php?w="+searchterm.replace(" ", "%20")+((selectedcountry > 0) ? "&x="+selectedcountry : ""), function() { activescroll = 0; activedropdown = "countysuggestions"; document.onkeydown = navigateDropdown; });
}
function selectCounty(val,countyname,updatemap) {
 newcountyname = countyname.replace("&","");
 newcountyname = newcountyname.replace("  ","_");
 newcountyname = newcountyname.replace(" ","_");
 newcountyname = newcountyname.toLowerCase();
 $("#pointer").css("display", "none");
 $("#countysuggestions").css("display","none");
 $("#county").val(countyname);
 $("#town").val("Select Town");
 if(!updatemap) {
  $("#shopping").val("Select Shopping Centre");
  $("#address").val("Select Address");
  $("#selectcentre").attr("src",centreimgurl_faded);
  $("#viewpdf").attr("src",viewpdfimgurl_faded);
  $("#viewpdflink").attr("href","#");
  $("#selectcentrelink").attr("href","#");
 }
 $("#mapimage").fadeOut(300, function() { $("#mapimage").attr("src","/images/maps/county/"+newcountyname+"_map.gif"); $("#mapimage").fadeIn(300); });
 selectedcounty = val;
 selectedtown = 0;
 selectedaddress = 0;
 selectedcentre = 0;
}
function searchTowns(searchterm) {
 $("#countrysuggestions").css("display","none");
 $("#countysuggestions").css("display","none");
 $("#addresssuggestions").css("display","none");
 $("#shoppingsuggestions").css("display","none");
 $("#townsuggestions").css("display","block");
 $("#townsuggestions").scrollTop(0);
 $("#townsuggestions").html("<ul><li><a href='#'>Searching...</a></li></ul>");
 $("#townsuggestions").load("./js/ajax/townsuggestions.php?w="+searchterm.replace(" ", "%20")+((selectedcounty > 0) ? "&x="+selectedcounty : "")+((selectedcountry > 0) ? "&xx="+selectedcountry : ""), function() { activescroll = 0; activedropdown = "townsuggestions"; document.onkeydown = navigateDropdown; });
}
function selectTown(val,townname,countyname,coordinates,updatemap) {
 if(!coordinates) coordinates = "";
 if(coordinates.length == 0) {
  $("#pointer").fadeOut(300);
 }
 $("#townsuggestions").css("display","none");
 $("#town").val(townname);
 if(!updatemap) {
  $("#address").val("Select Address");
  $("#shopping").val("Select Shopping Centre");
  $("#selectcentre").attr("src",centreimgurl_faded);
  $("#viewpdf").attr("src",viewpdfimgurl_faded);
  $("#viewpdflink").attr("href","#");
  $("#selectcentrelink").attr("href","#");
 }
 if(countyname.length > 0) {
  newcountyname = countyname.replace("&","");
  newcountyname = newcountyname.replace("  ","_");
  newcountyname = newcountyname.replace(" ","_");
  newcountyname = newcountyname.toLowerCase();
  if(!updatemap) {
   $("#mapimage").fadeOut(300, function() {
    var mapimg = new Image();
    mapimg.src = "/images/maps/county/"+newcountyname+"_map.gif";
    if(mapimg.complete) { $(".mapscontainerinner").css("width", mapimg.width); } else { $(".mapscontainerinner").css("width", "auto"); }
    $("#mapimage").attr("src","/images/maps/county/"+newcountyname+"_map.gif"); $("#mapimage").fadeIn(300);
   });
   if(coordinates.length > 0) {
    var xy = coordinates.split(",");
    $("#pointerpos").css("margin",xy[0]+"px 0px 0px "+xy[1]);
    $("#pointer").fadeIn(300);
   }
  }
 }
 selectedtown = val;
 selectedaddress = 0;
 selectedcentre = 0;
}
function searchAddresses(searchterm) {
 $("#countrysuggestions").css("display","none");
 $("#countysuggestions").css("display","none");
 $("#townsuggestions").css("display","none");
 $("#shoppingsuggestions").css("display","none");
 $("#addresssuggestions").css("display","block");
 $("#addresssuggestions").scrollTop(0);
 $("#addresssuggestions").html("<ul><li><a href='#'>Searching...</a></li></ul>");
 $("#addresssuggestions").load("./js/ajax/addresssuggestions.php?w="+searchterm.replace(" ", "%20")+((selectedtown > 0) ? "&x="+selectedtown : "")+((selectedcounty > 0) ? "&xx="+selectedcounty : "")+((selectedcountry > 0) ? "&xxx="+selectedcountry : ""), function() { activescroll = 0; activedropdown = "addresssuggestions"; document.onkeydown = navigateDropdown; });
}
function selectAddress(val,addressname,countryid,countryname,countyid,countyname,townid,townname,coordinates) {
 $("#addresssuggestions").css("display","none");
 selectCountry(countryid,countryname,1);
 selectCounty(countyid,countyname,1);
 selectTown(townid,townname,countyname,coordinates);
 $("#address").val(addressname);
 $("#viewpdf").attr("src",viewpdfimgurl);
 $("#viewpdflink").attr("href","viewpdf.php?id="+val);
 selectedaddress = val;
}
function searchShoppingCentres(searchterm) {
 $("#countrysuggestions").css("display","none");
 $("#countysuggestions").css("display","none");
 $("#townsuggestions").css("display","none");
 $("#addresssuggestions").css("display","none");
 $("#shoppingsuggestions").css("display","block");
 $("#shoppingsuggestions").scrollTop(0);
 $("#shoppingsuggestions").html("<ul><li><a href='#'>Searching...</a></li></ul>");
 if(searchterm == "[LOAD]") var sterm = " ";
 else var sterm = searchterm;
 $("#shoppingsuggestions").load("./js/ajax/centresuggestions.php?w="+sterm.replace(" ", "%20")+((selectedtown > 0) ? "&x="+selectedtown : "")+((selectedcounty > 0) ? "&xx="+selectedcounty : "")+((selectedcountry > 0) ? "&xxx="+selectedcountry : ""), function() { activescroll = 0; activedropdown = "shoppingsuggestions"; document.onkeydown = navigateDropdown; });
}
function selectShoppingCentre(val,centrename,countryid,countryname,countyid,countyname,townid,townname,towncoords,hasmap) {
 $("#shoppingsuggestions").css("display","none");
 // $("#selectcentre").css("opacity","100");
 selectCountry(countryid,countryname,1);
 selectCounty(countyid,countyname,1);
 selectTown(townid,townname,countyname,towncoords);
 $("#shopping").val(centrename);
 if(hasmap == 1) {
  $("#selectcentre").attr("src",centreimgurl);
  $("#selectcentrelink").attr("href","shoppingcentres.php?id="+val);
 }
 else {
  $("#selectcentre").attr("src",centreimgurl_faded);
  $("#selectcentrelink").attr("href","#");
 }
 selectedcentre = val;
}
function resetDropdowns() {
 $("#pointer").css("display", "none");
 $("#countrysuggestions").css("display","none");
 $("#countysuggestions").css("display","none");
 $("#townsuggestions").css("display","none");
 $("#addresssuggestions").css("display","none");
 $("#shoppingsuggestions").css("display","none");
 activedropdown = "";
 selectedcountry = 0;
 selectedcounty = 0;
 selectedtown = 0;
 selectedaddress = 0;
 selectedcentre = 0;
 $("#country").val("Select Country");
 $("#county").val("Select County");
 $("#town").val("Select Town");
 $("#address").val("Select Address");
 $("#shopping").val("Select Shopping Centre");
 $("#selectcentre").attr("src",centreimgurl_faded);
 $("#viewpdf").attr("src",viewpdfimgurl_faded);
 $("#viewpdflink").attr("href","#");
 $("#selectcentrelink").attr("href","#");
 $("#mapimage").fadeOut(300, function() { $("#mapimage").attr("src","/images/maps/uk_map.gif"); $("#mapimage").fadeIn(300); });
}
function checkPDF() {
 if($("#viewpdflink").attr("href") == "#") {
  alert("You need to select an address");
  return false;
 }
 else {
  return true;
 }
}
function checkGo() {
 if($("#selectcentrelink").attr("href") == "#") {
  alert("You need to select a shopping centre");
  return false;
 }
 else {
  return true;
 }
}
function navigateDropdown(e) {
 var keycode;
 if(window.event) keycode = window.event.keyCode;
 else if(e) keycode = e.which;
 if(keycode == 40) {
  scrollDropdownDown(activedropdown);
 }
 if(keycode == 38) {
  scrollDropdownUp(activedropdown);
 }
}
function scrollDropdownUp(ddid) {
 if(ddid.length > 0) {
  activescroll = (($("#"+ddid).scrollTop() >= 30) ? $("#"+ddid).scrollTop()-30 : 0);
  $("#"+ddid).scrollTop(activescroll);
 }
}
function scrollDropdownDown(ddid) {
 if(ddid.length > 0) {
  var ulitem = document.getElementById(ddid).getElementsByTagName("ul");
  var totalitems = ulitem[0].getElementsByTagName("li").length*30;
  activescroll = (($("#"+ddid).scrollTop() <= (totalitems-30)) ? $("#"+ddid).scrollTop()+30 : $("#"+ddid).scrollTop());
  $("#"+ddid).scrollTop(activescroll);
 }
}