function dealersearch_validate(f)
{
  return (!isBlank(f.PC.value) && f.KM.selectedIndex >= 0);
}

function popmap(dc, street, city, province, pc)
{
  var URL = "http://maps.yahoo.com/py/maps.py?BFCat=&Pyt=Tmap&newFL=Use+Address+Below"
	var addr = escape(street)
	var csz = escape(pc)
	var country = "ca"
	URL = URL + "&addr=" + addr + "&csz=" + csz + "&country=" + country
  window.open(URL,"carte","toolbar=yes,location=no,directories=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=750,height=450,focus");

  /*
  var qs = escape(street) + ",+" + escape(province) + ",+Canada";
  var URL = "http://maps.google.com/maps?f=q&hl=en&ie=UTF8&z=15&om=1&iwloc=A&q=" + qs;
  window.open(URL,"googlemap","toolbar=yes,location=no,directories=no,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=780,height=580,focus");
  */

  return false;
}

//index of the first dealer currently being displayed
var current = 0;
var totaldealers = 0;
var results_per_div=0;

/*
var dealers = [];
//gets info for all dealers from python
function addDealerInfo(dealername, dealerlat, dealerlon, street, city, province, phone, dblatlon) {
  dealers[dealers.length] = [dealername, dealerlat, dealerlon, street, city, province, phone, dblatlon];
}
*/

var map;
var geocoder;
function loadGoogleMap(start) {
  
  if (GBrowserIsCompatible()) {
    map = new GMap2(document.getElementById("map"));
    map.addControl(new GSmallMapControl());
    map.addControl(new GMapTypeControl());
    
    function doPoint(point, i) {
      if (!point)
        {}//alert(address + " not found");
      else {
        
        map.setCenter(point, 11);
        
        var baseIcon = new GIcon();
        baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
        baseIcon.iconSize = new GSize(20, 34);
        baseIcon.shadowSize = new GSize(37, 34);
        baseIcon.iconAnchor = new GPoint(9, 34);
        baseIcon.infoWindowAnchor = new GPoint(9, 2);
        baseIcon.infoShadowAnchor = new GPoint(18, 25);
        
        
        var letter = String.fromCharCode("A".charCodeAt(0) + i % results_per_div);
        var icon = new GIcon(baseIcon);
        icon.image = "http://www.google.com/mapfiles/marker" + letter + ".png";

        
        var marker = new GMarker(point, icon);
        map.addOverlay(marker);
        //GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml('<b>' + dealers[i][0] + '</b><br>' + dealers[i][3] + '<br>' + dealers[i][4] + ', ' + dealers[i][5] + '<br>' + dealers[i][6] + '<img src="/site/img/check.gif" alt="check" />');});
        GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml('<b>' + dealers[i][0] + '</b><br>' + dealers[i][3] + '<br>' + dealers[i][4] + ', ' + dealers[i][5] + '<br>' + dealers[i][6]);});
      }
    }
    
    //for(var i=start; i<Math.min(start+results_per_div, totaldealers); i++) {
    for(var i=Math.min(start+results_per_div, totaldealers)-1; i>=start; i--) {
      if(!dealers[i][7]){   // dealer lat, lon not in databse; use google
        geocoder = new GClientGeocoder();
        eval('var func = function(point) { doPoint(point, ' + i + '); }');
        geocoder.getLatLng(dealers[i][3] + ", " + dealers[i][4]+ ", " + dealers[i][5], func);
      }
      else { //use our lat, lon
        var point = new GLatLng(dealers[i][1], dealers[i][2]);
        doPoint(point, i);
        
        /*
        var mark = new GMarker(point);
        map.addOverlay(mark);
        GEvent.addListener(mark, "click", function() {
        mark.openInfoWindowHtml('<b>' + dealers[i][0] + '</b><br>' + dealers[i][3] + '<br>' + dealers[i][4] + ', ' + dealers[i][5] + '<br>' + dealers[i][6] + '<img src="/site/img/check.gif" alt="check" />');
        });
        */
      }
    }
    
  }
}

function zoom(dealername, dealerstreet, dealercity, dealerprovince, dealerpc, usePoint) {

  var doPoint = function(point) {
    if (!point) {
      //alert(address + " not found");
    } else {
      //node = '<b>' + dealername + '</b><br>' + dealerstreet + '<br>' + dealercity + ', ' + dealerprovince + '<br>' + dealerpc + '<img src="/site/img/check.gif" alt="check" />'
      node = '<b>' + dealername + '</b><br>' + dealerstreet + '<br>' + dealercity + ', ' + dealerprovince + '<br>' + dealerpc;
      map.openInfoWindow(point,  node);
    }
  }
  
  if(usePoint != null) {
    var p = new GLatLng(usePoint[0], usePoint[1]);
    doPoint(p);
  }
  else {
    geocoder.getLatLng(dealerstreet + ", " + dealercity + ", " + dealerprovince + ", " + dealerpc, doPoint);
  }
}

/*
function getPage(pagenum)
{
  //hide the currently displayed hits
  var cur = current;
  var curdiv = "dealerships_" + cur;
  var o = document.getElementById(curdiv);
  o.style.display = "none";
  
  //show the new ones
  var i = "dealerships_" + pagenum;
  o = document.getElementById(i);
  o.style.display = "block";
  
  current = pagenum;
  loadGoogleMap(current);
  
  //check if we should disable the next button
  var nextnextdiv = "dealerships_" + (pagenum + results_per_div);
  o = document.getElementById(nextnextdiv);
  var n = document.getElementById("next");
  if(!o)
    n.disabled=true;
  else
    n.disabled=false;
  
  //check if we should disable the previous button
  var nextnextdiv = "dealerships_" + (current - results_per_div);
  o = document.getElementById(nextnextdiv);
  var p = document.getElementById("previous");
  if(!o)
    p.disabled=true;
  else
    p.disabled=false;
  return false;  
}*/


getPageOnCompleted = function() {
  inf = document.getElementById("dealerinfo");
  eval(inf.innerHTML);
  loadGoogleMap(0);
}