var map = null;
var html = new Array();


function load() {
  if(isNaN(document.getElementById('gmaps'))) {
    if(GBrowserIsCompatible()) {

      map = new GMap2(document.getElementById('gmaps'));
      map.setCenter(new GLatLng(53.14857,8.19983), 13);
      map.addControl(new GLargeMapControl());
      map.addControl(new GMapTypeControl());
      map.addMapType(G_PHYSICAL_MAP);
      map.removeMapType(G_HYBRID_MAP);
      map.setMapType(G_PHYSICAL_MAP);
      map.enableDoubleClickZoom();
      map.enableScrollWheelZoom();
      getdata();

    } else {
      document.getElementById('gmaps').innerHTML = 'Ihr Browser unterst&uuml;tzt die Kartenfunktion nicht. Um die Karte zu nutzen, verwenden einen anderen Browser.';
    }
  }
}


function unload() {
  if(isNaN(document.getElementById('gmaps'))) {
    GUnload();
  }
}


function getdata() {
  map.clearOverlays();
  for(var i=0; i<loc_arr.length; ++i) {
    if(loc_arr[i].length==1) {
      marker = setMarker(loc_arr[i][0],i);
      map.addOverlay(marker);
    } else {
      alert('mehr punkte');
    }
  }
  return map;
}


function setMarker(loc_info,i) {
  var latlen = loc_info[3].split(',');
  var point = new GLatLng(latlen[0],latlen[1]);
  var marker = new GMarker(point);

  html[i] = '<div class="gmaps_inner">'
       + '  <h4>'+loc_info[1]+'</h4>'
       + '  <p>'+loc_info[2]+'</p>'
       + '  <a href="/DE/index.php?we_objectID='+loc_info[0]+'" title="Details">weitere Informationen</a>'
       + '</div>';

  GEvent.addListener(marker, "click", function() {
    marker.openInfoWindowHtml(html[i]);
  });

  return marker;
}


function fire_query() {

  var cats = '';
  var choices = document.getElementsByName('cat[]');
  for(var i=0; i<choices.length; i++) {
    if(choices[i].checked) {
      cats += choices[i].value+',';
    }
  }

  var sUrl = '/DE/ajax/infokarte_loc.php?cats='+cats;

  var handleEvent = {
    start:function(eventType,args) { show_wait(); },
    complete:function(eventType,args) { hide_wait(); },
    success:function(eventType,args) {
      if(args[0].responseText!==undefined) {
        var res = YAHOO.lang.JSON.parse(args[0].responseText);
        eval(res);
        getdata();
      }
    },
    failure:function(eventType,args) { alert("Verbindungsfehler"); }
  };

  var callback = {
    customevents:{
      onStart:handleEvent.start,
      onComplete:handleEvent.complete,
      onSuccess:handleEvent.success,
      onFailure:handleEvent.failure
    },
    scope:handleEvent
  };

  var request = YAHOO.util.Connect.asyncRequest('POST', sUrl, callback);
}
