
// (c) 2001 - 2006, EIKONA Medien GmbH, it.x informationssysteme gmbh, Mosaiq-Media GmbH, Alle Rechte vorbehalten.

// Historie ----------------------------------------------------------------------------------------
// 15.10.07 ssf Erstellung.																			
// Historie ----------------------------------------------------------------------------------------


	var gobj_map = false;
	var gobj_routenplaner;
	var str_fehler_msg;
	var str_routenplaner_id;

  /**
    *	Google Maps karte anzeigen
    */
  	function gmaps_anzeigen_karte(str_map_id, array_center, int_zoom, int_controll)
  		{
      	if (GBrowserIsCompatible()) 
      		{
      		var str_map_container = document.getElementById(str_map_id);
      		if (str_map_container)
      			{
        		gobj_map = new GMap2(document.getElementById(str_map_id));
        		
        		// Soll ein Kartencontroll eingebunden werden?
        		if (int_controll == 1)
        			{
        			gobj_map.addControl(new GSmallMapControl());
        			}
        		else if (int_controll == 2)
        			{
        			gobj_map.addControl(new GLargeMapControl());	
        			}
        			
        		gobj_map.setCenter(new GLatLng(array_center[0], array_center[1]), int_zoom);		
      			}
      		}
  		} // load_google_maps
  
  /**
    *	Ein Icon in der Karte anzeigen
    */
  	function gmaps_anzeigen_icon(array_position, str_bild, array_bild_masse, array_ausrichtung, str_schatten, array_schatten_masse)
  		{
		
  		// Die Karte muss dafür schon vorhanden sein
  		if (gobj_map != false)
  			{
  			var gobj_icon = new GIcon();
  			gobj_icon.image = str_bild;
  			gobj_icon.iconSize = new GSize(array_bild_masse[0], array_bild_masse[1]);
  			gobj_icon.iconAnchor = new GPoint(array_ausrichtung[0], array_ausrichtung[1]);
  			
  			// Soll auch ein Schatten angezeigt werden?
  			if (str_schatten != "")
  				{
  				gobj_icon.shadow = str_schatten;
  				gobj_icon.shadowSize = new GSize(array_schatten_masse[0], array_schatten_masse[1]);	
  				}
  			
  			// Icon in Karte einzeichnen
  			var gobj_point = new GLatLng(array_position[0], array_position[1]);
  			var gobj_marker = new GMarker(gobj_point, {icon:gobj_icon, clickable:false});
			gobj_map.addOverlay(gobj_marker);

  			}
  		} // gmaps_anzeigen_icon

  /**
    *	Routenplanung durchführen
    */
  	function gmaps_routenplaner_start(str_input_textfeld, str_map_id, str_planer_id, str_ziel, $str_sprache_kuerzel, $str_fehler_message)
  		{
		
  		// Die Karte muss dafür schon vorhanden sein
  		if (gobj_map != false)
  			{
  			str_start = document.getElementById(str_input_textfeld).value;
  			
  			// Ergebnisfeld zurücksetzen
  			document.getElementById(str_planer_id + "_ergebnis").innerHTML = "";
  			
  			// Routenplanerobjekt erstellen
        	gobj_routenplaner = new GDirections(gobj_map, document.getElementById(str_planer_id + "_ergebnis"));
        	
        	GEvent.addListener(gobj_routenplaner, "error", gmaps_routenplaner_handleErrors);
        	
        	// Strecke ermitteln
        	gobj_routenplaner.load("from: " + str_start + " to: " + str_ziel, { "locale": $str_sprache_kuerzel} );
        	
        	// Ergebnisfeld einblenden
        	document.getElementById(str_planer_id + "_ergebnis").style.display = "block";
        	
        	// Fehlermeldung und ID speichern
        	str_fehler_msg = $str_fehler_message;
        	str_routenplaner_id = str_planer_id;

  			}
  		} // gmaps_routenplaner_start

  /**
    *	Fehler bei der Routenplanung handeln
    */
  	function gmaps_routenplaner_handleErrors()
  		{
  		document.getElementById(str_routenplaner_id + "_ergebnis").style.display = "none";
		alert (str_fehler_msg);
  		} // gmaps_routenplaner_handleErrors

  		
