// global vars
var _map;
var _mapContainer;
var _markerImages; // images for markers
var _companyLat   = 45.36916;
var _companyLong  = 8.865516;
var _companyName  = "Onda Blu Canoa & Rafting";
var _companyInfo  = "<b>Onda Blu Canoa & Rafting</b><br />Colonia Enrichetta<br>Starda Chiappana<br/>Abbiategrasso";
var _zoomLevel    = 14;
var _latCenterOffset = 0.00;

// load map reading data from suppied xml (url)
function loadMap( idOfContainerElement, urlOfImages, mapType )
{
  _mapContainer = document.getElementById( idOfContainerElement );

  if ( mapType == null )
    mapType = G_MAP_TYPE;
    
  // init images array
  _markerImages = [
    G_DEFAULT_ICON.image,
    urlOfImages + "/gMapMarkerHL.png"
  ];
  
  // create map and set properties
  _map = new GMap2( _mapContainer );
  _map.setCenter(new GLatLng(_companyLat + _latCenterOffset, _companyLong), _zoomLevel); 
  _map.addControl(new GSmallMapControl());                               // controls (zoom, scroll)
  _map.addControl(new GMapTypeControl());                                // _map type control
  _map.addControl(new GScaleControl());                                  // display scale
  new GKeyboardHandler(_map);                                            // bind keys (up, down...pup, pdown...+ -)
  _map.enableContinuousZoom();
  _map.enableDoubleClickZoom();
  _map.setMapType( mapType );
  
  addCompanyMarker();
  _map.savePosition(); // this makes the center button useful

}

function addCompanyMarker()
{
  _map.clearOverlays();
  var marker = createMarker( _companyName,_companyInfo, _companyLat, _companyLong, 0 );
  _map.setCenter(new GLatLng(_companyLat + _latCenterOffset, _companyLong), _zoomLevel); 
  _map.addOverlay( marker );
}


// create GMarker
function createMarker( companyName, companyInfo, companyLat, companyLong )
{
  var point = new GLatLng(parseFloat( companyLat), parseFloat( companyLong) );
  var marker = new GMarker(point, {title:companyName});
  var infoWin = "";
  
  GEvent.addListener(marker,'mouseover', function()
    {
      marker.visited = true;
      marker.setImage(_markerImages[1]);
      marker.openInfoWindowHtml(companyInfo,{maxWidth:400});
    }
  );
  
  GEvent.addListener(marker,'mouseout', function()
    {
      marker.setImage(_markerImages[0]);
    }
  );
  
  return marker;
}
