var geocoder;
var map;

var mapProps=new Object();
mapProps.stageWidth=525;
mapProps.stageHeight=300;
var arrMarkers=new Array();
var streetView=false;
var mapFullscreen=false;
var arrTotalLat;
var arrTotalLong;
var arrText;
var totalLat=0;
var totalLong=0;

function WAMapRef(mapObj)  {
  this.obj = mapObj;
  this.directions = false;
  this.icons = [];
  this.markers = [];
  this.addresses = [];
  this.points = [];
  this.getPointByAddress = getPointByAddressFunc;
  return this;
}

function waitForGeo()  {
  var startDate = new Date();
  var endDate = new Date();
  while ((endDate-startDate) < 200)  {
    endDate = new Date();
  }
}

function WAMapPoint(theMarker, theAddress, theIcon)  {
  this.icon = theIcon;
  this.marker = theMarker;
  this.address = theAddress;
  return this;
}

function getPointByAddressFunc(value,attname)  {
  if (!attname) attname = "street";
  for (var x=0; x < this.addresses.length; x++) {
    if (eval("this.addresses[x]."+attname) == value)  {
      return WAMapPoint(this.markers[x],this.addresses[x],this.icons[x]);
    }
  }
  return false;
}

function createMarker(point, htmlText) {
    var icon_0 = new GIcon();
    icon_0.image = 'http://google.webassist.com/google/markers/flag/nautica.png';
    icon_0.shadow = 'http://google.webassist.com/google/markers/flag/shadow.png';
    icon_0.iconSize = new GSize(31,35);
    icon_0.shadowSize = new GSize(31,35);
    icon_0.iconAnchor = new GPoint(4,27);
    icon_0.infoWindowAnchor = new GPoint(8,3);
    icon_0.printImage = 'http://google.webassist.com/google/markers/flag/nautica.gif';
    icon_0.mozPrintImage = 'http://google.webassist.com/google/markers/flag/nautica_mozprint.png';
    icon_0.printShadow = 'http://google.webassist.com/google/markers/flag/shadow.gif';
    icon_0.transparent = 'http://google.webassist.com/google/markers/flag/nautica_transparent.png';
  
  var marker = new GMarker(point, icon_0);
  GEvent.addListener(marker, "click", function() {
    marker.openInfoWindowHtml(htmlText);
  });
  arrMarkers.push(marker);
  
  return marker;
}

function wagmp_map_1() { 
  
  if(GBrowserIsCompatible()) {
    if(!document.getElementById('wagmp_map_1')) return false;
    var map = new GMap2(document.getElementById('wagmp_map_1'));
    wagmp_map_1_obj = new WAMapRef(map);
    map.enableContinuousZoom();
    map.enableDoubleClickZoom();
    map.addControl(new GSmallMapControl());
    map.addControl(new GScaleControl());
    map.addControl(new GMapTypeControl());
    map.addControl(new GOverviewMapControl());
    var geocoder = new GClientGeocoder();

    /* DEFINE MAP START */
    map_text_start  = '<span class="mapText">';
    map_text_start += '<b>Cyril E King Airport</b><br>';
    map_text_start += 'St. Thomas, USVI 00803'; 
    map_text_start += '</span>';
    var point_start = new GLatLng('18.334669705940986', '-64.97106313705444');
    var marker_start = createMarker(point_start, map_text_start);
    map.addOverlay(marker_start);

    /* DEFINE MAP START */
    map_text_end  = '<span class="mapText">';
    map_text_end += '<b>Discount Car Rental</b><br>';
    map_text_end += '37 Contant<br>';
    map_text_end += 'St. Thomas, USVI 00803'; 
    map_text_end += '</span>';
    var point_end = new GLatLng('18.338776092394884', '-64.95832800865172');
    var marker_end = createMarker(point_end, map_text_end);
    map.addOverlay(marker_end);

    map.setCenter(new GLatLng('18.338776092394884', '-64.95832800865172'), 14);
/*
    directions = new GDirections(map, document.getElementById('wagmp_directions_1'));
    directions.load('from: ' + point_start + ' to: ' + point_end);
    wagmp_map_1_obj.directions = directions;
*/
  }
}
