/**
  * Scripts - Gmap
  *
  * @access public
  * @version $LastChangedRevision: 206 $ $LastChangedDate: 2008-07-07 13:51:19 +0200 (Mo, 07 Jul 2008) $
  * @author $Author: ttrautmann $, $LastChangedBy: ttrautmann $
  * @copyright 2008 TMT
  * @package bayreuther-festspiele.de
  *
  */


var gmapobj = null;
var gmapobj2 = null;
var geocoder = null;
var geocoder2 = null;
var gmapstartpos = null;
var gmapstartpos2 = null;
var GMListenerEvent = new Array();
var GMListenerEvent2 = new Array();

function GMload(type, gps1, gps2, zoom, domark) {
   if (GBrowserIsCompatible() && document.getElementById("gmap")) {
      gmapobj = new GMap2(document.getElementById("gmap"));
      gmapobj.addControl(new GLargeMapControl());
      gmapobj.removeMapType(G_SATELLITE_MAP);
      gmapobj.addMapType(G_PHYSICAL_MAP);
      gmapobj.addControl(new GMapTypeControl());
      gmapobj.addControl(new GOverviewMapControl());


      if (type == 'gps') {
         var gm_kood = new GLatLng(gps1, gps2);
         gmapstartpos = gm_kood;
         gmapobj.setCenter(gm_kood, zoom, G_NORMAL_MAP);
         if (domark == 1) {
            gmapobj.addOverlay(new GMarker(gm_kood));
         }
         geocoder = new GClientGeocoder();
      } else if (type == 'adresse') {
         geocoder = new GClientGeocoder();
      }
   }
}

function GMload2(type, gps1, gps2, zoom, domark) {
   if (GBrowserIsCompatible() && document.getElementById("gmap2")) {
      gmapobj2 = new GMap2(document.getElementById("gmap2"));
      gmapobj2.addControl(new GLargeMapControl());
      gmapobj2.removeMapType(G_SATELLITE_MAP);
      gmapobj2.addMapType(G_PHYSICAL_MAP);
      gmapobj2.addControl(new GMapTypeControl());
      gmapobj2.addControl(new GOverviewMapControl());


      if (type == 'gps') {
         var gm_kood = new GLatLng(gps1, gps2);
         gmapstartpos2 = gm_kood;
         gmapobj2.setCenter(gm_kood, zoom, G_HYBRID_MAP);
         if (domark == 1) {
            gmapobj2.addOverlay(new GMarker(gm_kood));
         }
         geocoder2 = new GClientGeocoder();
      } else if (type == 'adresse') {
         geocoder2 = new GClientGeocoder();
      }
   }
}


function GMshowAddress(id, address, docenter, zoom, infotext) {
   if (geocoder) {
      geocoder.getLatLng(
      address,
      function(point) {
         if (!point) {
            alert(address + " nicht gefunden.");
         } else {
            if (docenter == 1) {
               gmapobj.setCenter(point, zoom, G_NORMAL_MAP);
            }
            var marker = new Array();
            marker = new GMarker(point);
            gmapobj.addOverlay(marker);
            if (infotext != '') {
               GEvent.addListener(marker, "click", function() {
                  marker.openInfoWindowHtml(infotext);
               });
            }
         }
      }
      );
   }
}

function GMshowGPSKoordinade(id, north, south, zoom, docenter, infotext) {

   if (geocoder) {
      var point = new GLatLng(north, south);
      if (docenter == 1) {
         gmapobj.setCenter(point, zoom);
      }
      var marker = new Array();
      marker = new GMarker(point);
      gmapobj.addOverlay(marker);
      if (infotext != '') {
         GEvent.addListener(marker, "click", function() {
            marker.openInfoWindowHtml(infotext);
         });
      }
   }
}


function GMListenerZoomTo(point, kood, zoom, orig_kood, orig_zoom) {
   if (geocoder) {
      if (GMListenerEvent[point] == '1' || !GMListenerEvent[point]) {
         gmapobj.setCenter(kood, zoom, G_HYBRID_MAP);
         GMListenerEvent[point] = '2';
      } else {
         gmapobj.setCenter(orig_kood, orig_zoom, G_NORMAL_MAP);
         GMListenerEvent[point] = '1';
      }
   }
}

function GMListenerZoomTo2(point, kood, zoom, orig_kood, orig_zoom, obj, txt) {
   if (geocoder2) {
      if (GMListenerEvent2[point] == '1' || !GMListenerEvent2[point]) {
         gmapobj2.setCenter(kood, zoom, G_HYBRID_MAP);
         if (txt != '') {
            obj.openInfoWindowHtml(txt);
         }
         GMListenerEvent2[point] = '2';
      } else {
         gmapobj2.setCenter(orig_kood, orig_zoom, G_HYBRID_MAP);
         GMListenerEvent2[point] = '1';
      }
   }
}



function GMFestspiele() {
   if (geocoder) {
   var mMrkO1 = new Array();
   var mMrk01_points = new Array();

   mMrk01_points[0] = new Array();
   mMrk01_points[0]["lat"] = "49.959903549558014";
   mMrk01_points[0]["lon"] = "11.580018997192383";
   mMrk01_points[0]["txt"] = "<strong>Bayreuther Festspielhaus</strong><br /><img src='/gfx/festspielhaus.jpg' width='150' height='103' alt='' />";
   GMListenerEvent[0] = '1';



   for (i=0; i<mMrk01_points.length; i++) {
      eval('var M'+i+'icon = new GIcon();');
      eval('M'+i+'icon.image = "/gfx/gmap/bayreuth0'+(i+1)+'.png";');
      eval('M'+i+'icon.shadow = "/gfx/gmap/bayreuth0'+(i+1)+'_schatten.png";');
      eval('M'+i+'icon.iconSize = new GSize(46, 39);');
      eval('M'+i+'icon.shadowSize = new GSize(71, 20);');
      eval('M'+i+'icon.iconAnchor = new GPoint(24, 37);');
      eval('M'+i+'icon.infoWindowAnchor = new GPoint(24, 37);');

      eval('markerOptions = { clickable:true, icon:M'+i+'icon };');
      //eval('markerOptions = { clickable:true };');
      eval('mMrkO1['+i+'] = new GMarker(new GLatLng('+mMrk01_points[i]["lat"]+', '+mMrk01_points[i]["lon"]+'), markerOptions);');
      eval('gmapobj.addOverlay(mMrkO1['+i+']);');
      eval('GEvent.addListener(mMrkO1['+i+'], "click", function() { mMrkO1['+i+'].openInfoWindowHtml("'+mMrk01_points[i]["txt"]+'"); GMListenerZoomTo(i, new GLatLng('+mMrk01_points[i]["lat"]+', '+mMrk01_points[i]["lon"]+'), 14, gmapstartpos, 7); });');
      //eval('GEvent.addListener(mMrkO1['+i+'], "click", function() {  GMListenerZoomTo(i, new GLatLng('+mMrk01_points[i]["lat"]+', '+mMrk01_points[i]["lon"]+'), 14, gmapstartpos, 7); });');
   }

   }

}


function GMFestspiele2() {
   if (geocoder2) {
   var mMrkO1 = new Array();
   var mMrk01_points = new Array();

   // Festspielhaus
   mMrk01_points[0] = new Array();
   mMrk01_points[0]["lat"] = "49.959903549558014";
   mMrk01_points[0]["lon"] = "11.580018997192383";
   mMrk01_points[0]["txt"] = "";
   GMListenerEvent2[0] = '1';

   // Richard-Wagner-Museum
   mMrk01_points[1] = new Array();
   mMrk01_points[1]["lat"] = "49.941146856661845";
   mMrk01_points[1]["lon"] = "11.58231496810913";
   mMrk01_points[1]["txt"] = "";
   GMListenerEvent2[1] = '1';

   // Markgraefliches Opernhaus
   mMrk01_points[2] = new Array();
   mMrk01_points[2]["lat"] = "49.9443471258152";
   mMrk01_points[2]["lon"] = "11.578119993209839";
   mMrk01_points[2]["txt"] = "";
   GMListenerEvent2[2] = '1';

   // Hauptbahnhof
   mMrk01_points[3] = new Array();
   mMrk01_points[3]["lat"] = "49.949545815343086";
   mMrk01_points[3]["lon"] = "11.579300165176392";
   mMrk01_points[3]["txt"] = "";
   GMListenerEvent2[3] = '1';

   // Tourist-Info
   mMrk01_points[4] = new Array();
   mMrk01_points[4]["lat"] = "49.945907482000386";
   mMrk01_points[4]["lon"] = "11.576784253120422";
   mMrk01_points[4]["txt"] = "<div class=\"gmap_infotext\"><strong>Tourist-Info</strong><br />Info-Hotline: 0921-88588<br />Montag bis Freitag 09:00 - 18:00 Uhr<br />Samstag 09:00 - 14:00 Uhr<br />Sonntag (Mai bis Oktober) 10:00 - 14:00 Uhr</div>";
   GMListenerEvent2[4] = '1';



   for (i=0; i<mMrk01_points.length; i++) {
      eval('var M'+i+'icon = new GIcon();');
      eval('M'+i+'icon.image = "/gfx/gmap/'+(i+1)+'.png";');
      //eval('M'+i+'icon.shadow = "/gfx/gmap/schatten.png";');
      eval('M'+i+'icon.iconSize = new GSize(30, 37);');
      //eval('M'+i+'icon.shadowSize = new GSize(46, 18);');
      eval('M'+i+'icon.iconAnchor = new GPoint(16, 35);');
      eval('M'+i+'icon.infoWindowAnchor = new GPoint(16, 35);');

      eval('markerOptions = { clickable:true, icon:M'+i+'icon };');
      //eval('markerOptions = { clickable:true };');
      eval('mMrkO1['+i+'] = new GMarker(new GLatLng('+mMrk01_points[i]["lat"]+', '+mMrk01_points[i]["lon"]+'), markerOptions);');
      eval('gmapobj2.addOverlay(mMrkO1['+i+']);');
      //eval('GEvent.addListener(mMrkO1['+i+'], "click", function() { mMrkO1['+i+'].openInfoWindowHtml("'+mMrk01_points[i]["txt"]+'"); GMListenerZoomTo2(i, new GLatLng('+mMrk01_points[i]["lat"]+', '+mMrk01_points[i]["lon"]+'), 17, gmapstartpos2, 14); });');
      eval('GEvent.addListener(mMrkO1['+i+'], "click", function() {  GMListenerZoomTo2(i, new GLatLng('+mMrk01_points[i]["lat"]+', '+mMrk01_points[i]["lon"]+'), 17, gmapstartpos2, 14, mMrkO1['+i+'], \''+mMrk01_points[i]["txt"]+'\'); });');

   }


   }

}


