//
var map = null;
var label = null;
var control = null;
//
var baseIcon = null;
//
var labels   = [];
var links   = [];
var mls_nums   = [];
//

function generateMap () {

  /* Load Map */
  if (GBrowserIsCompatible()) {
      map = new GMap(document.getElementById("snippet-map"));
      map.enableDoubleClickZoom();
      map.centerAndZoom(new GPoint(setLongitude, setLatitude), setZoom);
      map.setMapType(setMapType);
  }

  baseIcon            = new GIcon(G_DEFAULT_ICON);
  HouseIcon = new GIcon(baseIcon, setMapIcon);
  HouseIcon.shadow     = setMapIconShadow;
  HouseIcon.iconSize   = new GSize(32, 28);
  HouseIcon.shadowSize = new GSize(32,28);
  HouseIcon.iconAnchor = new GPoint(12, 27);

  /* Add Map Controls */
  map.addControl(new GSmallMapControl());
  //map.addControl(new GOverviewMapControl());
  map.addControl(new GMapTypeControl());

  /* Custom Map Controls */
  control = new BpControl(setLoadingMsg, null, G_ANCHOR_TOP_RIGHT, 'noborder');
  map.addControl(control);

  /* Tooltip Label */
  label = new BpLabel(map.getCenter(), '', 'map-label', 'nw', true);
  label.setOpacity(200);
  map.addOverlay(label);

  var bounds = new GLatLngBounds();

  for (var i = 0; i < gmarkers.length; i++) {
    var latlng = new GLatLng(gmarkers[i].latitude,gmarkers[i].longitude);
    var marker = new BpMarkerLight(latlng, { icon: HouseIcon });
    bounds.extend(latlng);
    map.addOverlay(marker);
    var target = marker.getEventTarget();
    GEvent.bindDom(target, 'click', marker, onMouseClick);
    GEvent.bindDom(target, 'mouseover', marker, onMouseOver);
    GEvent.bindDom(target, 'mouseout', marker, onMouseOut);

    label_html = '<div style=\"background-color: #FFFFFF; padding: 3px;\"><span class=\"arrow\"></span>'
          + '<img src=\"' + gmarkers[i].image + '\" width=\"128\" height=\"88\" />'
          + '<strong>Listing Price:</strong> ' + gmarkers[i].price + '</div>';
          

    marker.setTooltip(label);
    labels[marker.getId()] = label_html;
    links[marker.getId()] = gmarkers[i].link;
    mls_nums[marker.getId()] = gmarkers[i].mls_num;
  }

  if (gmarkers.length > 0)
  {
    map.setZoom(map.getBoundsZoomLevel(bounds));
    map.setCenter(bounds.getCenter());
  }

}




function onMouseOver() {
//   get tooltip text
  ilabel = labels[this.getId()];
//   show tooltip
  label.setHtml(ilabel);
  label.setPoint(this.getTooltipPoint());
  label.show();
}

function onMouseOut() {
  label.hide();
}

function onMouseClick() {
    var cookie = getCookie('registered');
    if (cookie == '' || cookie == null)
    {
        document.location.href="/idx/" + map_area  + "/register.html?pid=" + mls_nums[this.getId()];
    }
    else
    {
        document.location.href = links[this.getId()];
    }
}

window.onload = generateMap;
window.onunload = GUnload;
