var map_obj = "";
var llat = [];
var llon = [];

var baseIcon = new GIcon();
baseIcon.iconSize=new GSize(19,34);
baseIcon.shadowSize=new GSize(34,36);
baseIcon.iconAnchor=new GPoint(8,34);
baseIcon.infoWindowAnchor=new GPoint(16,0);

var pf_ani = new GIcon(baseIcon, "../../images/global/pf_ani.gif", null, "../../images/global/pf_shadow.png");

function init_map(f_map){
    // alert("GBrowserIsCompatible="+GBrowserIsCompatible() );
    if (GBrowserIsCompatible() ) {
        map_obj = new GMap2($(f_map));
        if ( map_obj != undefined ){
            build_core_map();
        }else
        {
            alert("Exception map id not found");
        }
    }
}

function generate_markers( f_marker_array ){
    for( i=0 ; f_marker_array.length/2 >= i+1  ; i++)
    {
    var point = new GLatLng(f_marker_array[i*2], f_marker_array[i*2+1]);
      lmarker = new GMarker(point);
      lmarker.lat = f_marker_array[i*2];
      lmarker.lon = f_marker_array[i*2 + 1];
      lmarker.dat = f_marker_array[i*2 + 2];
      map_obj.addOverlay(lmarker); 
      
       GEvent.addListener(map_obj, "click", function(marker, point) {  
          if (marker && marker.lat != undefined && marker.lon != undefined) {  
              marker.openInfoWindow("Letzte Ortungspunkt: <br /> Latitude: " + marker.lat + "<br />Longitude: " + marker.lon + "<br />Datum: " + marker.dat); 
          } 
          else 
          {    
              //map_obj.addOverlay(new GMarker(point));  
          }
      });
    }
    map_obj.setCenter(point, 14 , G_HYBRID_MAP); // Letzten Punkt
}

function generate_marker( f_marker ){
    llogs = f_marker;
    if (llogs != null)
    {
        //llogs = llogs.attributes;
        llat = llogs.latitude;
        llon = llogs.longitude;
        ldat = llogs.created_at;
        var point = new GLatLng(llat, llon);

        lmarker = new GMarker(point, pf_ani);
        lmarker.lat = llat;
        lmarker.lon = llon;
        lmarker.dat = ldat;
        map_obj.addOverlay(lmarker); 

           GEvent.addListener(map_obj, "click", function(marker, point) {  
              if (marker && marker.lat != undefined && marker.lon != undefined) {  
                  marker.openInfoWindow("Letzte Ortungspunkt: <br /> Latitude: " + marker.lat + "<br />Longitude: " + marker.lon + "<br />Datum: " + marker.dat); 
              } 
              else 
              {    
                  //map_obj.addOverlay(new GMarker(point));  
              }
          });
        map_obj.setCenter(point, 14 , G_HYBRID_MAP); // Letzten Punkt
        }
        else
        {
            map_obj = undefined;
        }
    }
function build_core_map(){   
    map_obj.addControl(new GLargeMapControl());
    map_obj.addControl(new GMapTypeControl());
    map_obj.addControl(new GOverviewMapControl());
    map_obj.enableContinuousZoom();
    map_obj.setCenter(new GLatLng(54.33686989052731,10.119942426681519), 3 , G_HYBRID_MAP);
}

// zoom mit scrollrad
function setZoom(delta) {
    if(delta<0){
      map_obj.zoomIn();
    }else{
      map_obj.zoomOut();
    }
}

function wheel(event){
  var delta = 0;

  // ie event handler
  if (!event) {
    event = window.event;
  }

  // ie Opera
  if (event.wheelDelta) {
    delta = event.wheelDelta/120;

    // kpera korrektur
    if (window.opera){
      delta = -delta;
    }

  // mozilla
  } else if (event.detail) {
    delta = -event.detail/3;
  }

  // wenn gescrollt wird tue dies
  if (delta){
    setZoom(delta);
  }

  // mozilla scrolling verhindern
  if (event.preventDefault){
    event.preventDefault();
  }

  // ie opera scrolling verhindern
  event.returnValue = false;
}

function dowheel(){

  // scroll listener hinzufügen
  if (window.addEventListener){
    // mozilla
    window.addEventListener('DOMMouseScroll', wheel, false);
  }

  // ie opera
  window.onmousewheel = document.onmousewheel = wheel;
}

function stopwheel(){
  // scroll listener hinzufügen
  if (window.removeEventListener){
    // mozilla
    window.removeEventListener('DOMMouseScroll', wheel, false);
  }

  // ie opera
  window.onmousewheel = document.onmousewheel = '';
}