/*******************************************************************************
 * Javascript für twGmap05Sidebar - Version01
 ******************************************************************************/

var gmapId = "twGmap";  // id des GoogleMap-div's im html-code
var lat    = "";  // Breitengrad (Latitude) z.B: 51.041 49.742709995743944
var lon    = "";  // Längengrad (Longitude) z.B: 13.748 8.110549449920654
var zoom   = 16;        // Zoom-Wert von 1 bis ca 17 (nicht in "")(1=ganzeWelt)
var sidebarId      = "twGmapSidebar";  // id des Sitemap-div's im html-code
var sidebarHtml    = "<p><h2>Kreisplanmen&uuml;</h2></p>";
var sidebarMarkers = [];              // Array für die Marker
var sidebarCount   = 0;               // Zähler für die Marker (= Zeile in der Sidebar)
var sidebarLastLinkid;                // id des zuletzt angeklickten Markers/Verweises



/**
 * Prüft auf kompatiblen Browser und vorhandene Variablen und ruft die
 * Funktion auf, die die GoogleMap erstellt.
 */
function twGmapLoad(a,b) {
var a = a;
var b = b;	
	if (GBrowserIsCompatible()) {
		// die Google Map (twGmap)
		if (!document.getElementById(gmapId)) {
			alert("Fehler: die Google Map mit der id "+ gmapId+ " konnte nicht auf dieser Webseite gefunden werden!");
			return false;
		} else {
			if (lat=="" || isNaN(lat)) {
				lat = a;
				//alert("Fehler: Der Breitengrad(lat) wurde im Skript nicht korrekt eingetragen!\nEin Defaultwert wird deshalb benutzt!");
			}
			if (lon=="" || isNaN(lon)) {
				lon = b;
				//alert("Fehler: Der Längengrad(lon) wurde im Skript nicht korrekt eingetragen!\nEin Defaultwert wird deshalb benutzt!");
			}
			if (typeof zoom == "undefined") {
				zoom = 3;
				alert("Fehler: Die Zoomstufe wurde im Skript nicht korrekt eingetragen!\nEin Defaultwert wird deshalb benutzt!");
			}
			machTwGmap(gmapId, lat, lon, zoom, a, b);
		}
		// die Sidebar (twGmapSidebar)		
		if (!document.getElementById(sidebarId)) {
			alert("Fehler: die Sidebar mit der id "+ sidebarId+ " konnte nicht auf dieser Webseite gefunden werden!");
			return false;
		} else {
			document.getElementById(sidebarId).innerHTML = sidebarHtml;
		}
	}
}


/**
 * Erstellt die GoogleMap in dem <div>-Bereich mit der übergebenen id
 * @param {Object} id   -im div-Bereich mit dieser id wird die Map dargestellt
 * @param {Object} lat  -Breitengrad
 * @param {Object} lon  -Längengrad
 * @param {Object} zoom -Zoomstufe 1 bis 17 (ganze Welt bis kleiner Ausschnitt)
 */
function machTwGmap(id, lat, lon, zoom, a, b) {
	// die Map (für das div mit der id="...")
	var map = new GMap2(document.getElementById(id));
	// mit Zoom (auch noch: GSmallMapControl, GLargeMapControl, GSmallZoomControl, GScaleControl)
	// map.addControl(new GSmallMapControl()); // alte Controlfunktion
	map.setUIToDefault(); // neue Controlfunktion
	// mit Typ-Auswahl (auch noch: GMapTypeControl, GHierarchicalMapTypeControl, GOverviewMapControl)
	// map.addControl(new GOverviewMapControl()); // kleines Vorschaubild
	// ((Breitengrad, Längengrad), Zoomstufe, G_NORMAL_MAP/G_SATELLITE_MAP/G_HYBRID_MAP)
	map.setCenter(new GLatLng(lat, lon), zoom, G_NORMAL_MAP);

	// Marker setzen mit eigener Marker-Funktion
	map = setTwMarkers(map, a, b);

	GEvent.addListener(map,"infowindowclose", function() {
    		document.getElementById(sidebarLastLinkid).style.color="#444444";
  	});

}


/**
 * Erstellt alle Marker für die übergebene Google Map.
 * (Ruft intern für jeden Marker eine eigene Funktion auf)
 * @param {Object} map
 */
function setTwMarkers(map, a, b) {
	var marker01 = machTwMarker01(a, b);
	//var marker02 = machTwMarker02();
	//var marker03 = machTwMarker03();
	//var marker04 = machTwMarker04();
	//var marker05 = machTwMarker05();
	map.addOverlay(marker01);
	//map.addOverlay(marker02);
	//map.addOverlay(marker03);
	//map.addOverlay(marker04);
	//map.addOverlay(marker05);
	return map;
}


function machTwMarker01(a, b) {
	var point = new GPoint(b, a);
	var adresse = "Ernst-Ludwig-Str. 36, 55232 Alzey";
	var marker = new GMarker(point);
	var html   = "";
	var linkid = "link" + sidebarCount;


	html += "<div style='height: 130px; width: 300px; padding-top:10px;'>";
	html += "  <p>";
	html += "    <img align='left' style='border:1px solid #d7dfe6; margin-right:5px; margin-bottom:15px;' title='Bild: Hauptverwaltung der Kreisverwaltung - Ernst-Ludwig-Str., Alzey' alt='Bild: Hauptverwaltung der Kreisverwaltung - Ernst-Ludwig-Str., Alzey'  src='/vhs-kurse/kontakt/img/standort-alzey-ernst-ludwig-str.jpg' height='96' width='120'>";
	html += "     <b>Hauptverwaltung</b><br>Ernst-Ludwig-Str. 36<br>55232 Alzey<br>Tel. (0 67 31) 4 08-0<br>Fax (0 67 31) 4 08-12 80";
	html += "  </p>";
	html += "</div>";
	html += "<form action='http://maps.google.com/maps' method='get' target='_blank'>";
	html += "<input type='text' SIZE=40 MAXLENGTH=80 name='saddr' id='saddr' value='Ihre Startadresse' /><br>";
	html += "<INPUT value='Route planen!' TYPE='SUBMIT'>";
	html += "<input type='hidden' name='daddr' value='" + adresse + "' />";


	/*GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(html);
		document.getElementById(linkid).style.color="#dc3732";
    		sidebarLastLinkid=linkid;
	});*/

	// nur wenn ein Verweis auf diesen Marker in der Sidebar angezeigt werden soll
	sidebarHtml += "<h3>Adressen der Kreisverwaltung:</h3>";
	machZeileInTwGmapSidebar("Hauptverwaltung", marker, linkid);

	return marker;
}

function machTwMarker02() {
	var point = new GPoint(8.110281229019165, 49.74334784595728);
	var adresse = "An der Hexenbleiche 34, 55232 Alzey";
	var marker = new GMarker(point);
	var html   = "";

	html += "<div style='height: 130px; width: 300px; padding-top:10px;'>";
	html += "  <p>";
	html += "    <img align='left' style='border:1px solid #d7dfe6; margin-right:5px; margin-bottom:15px;' title='Bild: Kreisjugendamt u.a. - An der Hexenbleiche 34, Alzey' alt='Bild: Kreisjugendamt u.a. - An der Hexenbleiche 34, Alzey'  src='/vhs-kurse/kontakt/img/standort-alzey-hexenbleiche-34.jpg' height='96' width='120'>";
	html += "     <b>Kreisjugendamt Alzey-Worms</b><br><b>Rechnungs- und Gemeindepr&uuml;fungsamt</b><br><b>Frauenb&uuml;ro</b><br>An der Hexenbleiche 34<br>55232 Alzey";
	html += "  </p>";
	html += "</div>";
	html += "<form action='http://maps.google.com/maps' method='get' target='_blank'>";
	html += "<input type='text' SIZE=40 MAXLENGTH=80 name='saddr' id='saddr' value='Ihre Startadresse' /><br>";
	html += "<INPUT value='Route planen!' TYPE='SUBMIT'>";
	html += "<input type='hidden' name='daddr' value='" + adresse + "' />";

	GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml(html)});

	// nur wenn ein Verweis auf diesen Marker in der Sidebar angezeigt werden soll
	machZeileInTwGmapSidebar("Kreisjugendamt Alzey-Worms", marker);

	return marker;
}

function machTwMarker03() {
	var point = new GPoint(8.109819889068604, 49.74324384921208);
	var adresse = "An der Hexenbleiche 36, 55232 Alzey";
	var marker = new GMarker(point);
	var html   = "";

	html += "<div style='height: 130px; width: 300px; padding-top:10px;'>";
	html += "  <p>";
	html += "    <img align='left' style='border:1px solid #d7dfe6; margin-right:5px; margin-bottom:15px;' title='Bild: Kreisjugendamt u.a. - An der Hexenbleiche 34, Alzey' alt='Bild: Kreisjugendamt u.a. - An der Hexenbleiche 34, Alzey'  src='/vhs-kurse/kontakt/img/standort-alzey-hexenbleiche-36.jpg' height='96' width='120'>";
	html += "     <b>Kreisjugendamt Alzey-Worms</b><br><b>Rechnungs- und Gemeindepr&uuml;fungsamt</b><br><b>Frauenb&uuml;ro</b><br>An der Hexenbleiche 34<br>55232 Alzey";
	html += "  </p>";
	html += "</div>";
	html += "<form action='http://maps.google.com/maps' method='get' target='_blank'>";
	html += "<input type='text' SIZE=40 MAXLENGTH=80 name='saddr' id='saddr' value='Ihre Startadresse' /><br>";
	html += "<INPUT value='Route planen!' TYPE='SUBMIT'>";
	html += "<input type='hidden' name='daddr' value='" + adresse + "' />";

	GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml(html)});

	// nur wenn ein Verweis auf diesen Marker in der Sidebar angezeigt werden soll
	machZeileInTwGmapSidebar("Gesundheitsamt Alzey (Hauptstelle)", marker);

	return marker;
}

function machTwMarker04() {
	var point = new GPoint(8.3640718460083, 49.632722091720446);
	var adresse = "Korngasse 2, 67547 Worms";
	var marker = new GMarker(point);
	var html   = "";

	html += "<div style='height: 130px; width: 300px; padding-top:10px;'>";
	html += "  <p>";
	//html += "    <img align='left' style='border:1px solid #d7dfe6; margin-right:5px; margin-bottom:15px;' title='Bild: Kreisjugendamt u.a. - An der Hexenbleiche 34, Alzey' alt='Bild: Kreisjugendamt u.a. - An der Hexenbleiche 34, Alzey'  src='/vhs-kurse/kontakt/img/standort-alzey-hexenbleiche-34.jpg' height='96' width='120'>";
	html += "     <b>Gesundheitsamt Worms (Außenstelle)</b><br>Korngasse 2 (Kaiserpassage 2. OG)<br>67547 Worms";
	html += "  </p>";
	html += "</div>";
	html += "<form action='http://maps.google.com/maps' method='get' target='_blank'>";
	html += "<input type='text' SIZE=40 MAXLENGTH=80 name='saddr' id='saddr' value='Ihre Startadresse' /><br>";
	html += "<INPUT value='Route planen!' TYPE='SUBMIT'>";
	html += "<input type='hidden' name='daddr' value='" + adresse + "' />";

	GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml(html)});

	// nur wenn ein Verweis auf diesen Marker in der Sidebar angezeigt werden soll
	machZeileInTwGmapSidebar("Gesundheitsamt Worms (Außenstelle)", marker);

	return marker;
}

function machTwMarker05() {
	var point = new GPoint(8.10243844985962, 49.74230786847353);
	var adresse = "Theodor-Heuss-Ring 2, 55232 Alzey";
	var marker = new GMarker(point);
	var html   = "";

	html += "<div style='height: 130px; width: 300px; padding-top:10px;'>";
	html += "  <p>";
	html += "    <img align='left' style='border:1px solid #d7dfe6; margin-right:5px; margin-bottom:15px;' title='Bild: Kulturstiftung und Kreisbildstelle - Theodor-Heuss-Ring 2, Alzey' alt='Bild: Kulturstiftung und Kreisbildstelle - Theodor-Heuss-Ring 2, Alzey'  src='/vhs-kurse/kontakt/img/standort-alzey-theodor-heuss-ring-2.jpg' height='96' width='120'>";
	html += "     <b>Kulturstiftung im Landkreis Alzey-Worms</b><br><b>Kreisbildstelle Alzey</b><br>Theodor-Heuss-Ring 2<br>55232 Alzey";
	html += "  </p>";
	html += "</div>";
	html += "<form action='http://maps.google.com/maps' method='get' target='_blank'>";
	html += "<input type='text' SIZE=40 MAXLENGTH=80 name='saddr' id='saddr' value='Ihre Startadresse' /><br>";
	html += "<INPUT value='Route planen!' TYPE='SUBMIT'>";
	html += "<input type='hidden' name='daddr' value='" + adresse + "' />";

	GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml(html)});

	// nur wenn ein Verweis auf diesen Marker in der Sidebar angezeigt werden soll
	machZeileInTwGmapSidebar("Kulturstiftung im Landkreis Alzey-Worms", marker);

	return marker;
}


/**
 * Schreibt den HTML-Code für eine Zeile(Verweis) in die globale Variable 'sidebarHtml'.
 * Dabei wird auch gleich der übergebene Marker in das Marker-Array eingefügt,
 * und der Zähler (zählt alle Marker) hochgezählt.
 * @param {Object} text   -der anzuzeigende Text für diese Zeile in der Sidebar
 * @param {Object} marker -der Marker, auf den der Verweis zeigt
 */
function machZeileInTwGmapSidebar(text, marker,linkid) {
	sidebarMarkers[sidebarCount] = marker;
	sidebarHtml += '<div>';
	sidebarHtml += '<a class="liste" href="javascript:twGmapSidebarIsClicked(' + sidebarCount + ')">' + text + '</a><br>';
	sidebarHtml += '</div>'
	sidebarCount ++;
}


/**
 * Event-Handler für Klick auf Marker, öffnet das dazugehörige Info-Fenster.
 * @param {Object} i -ein bestimmter Marker aus dem Marker-Array
 */
function twGmapSidebarIsClicked(i) {
	GEvent.trigger(sidebarMarkers[i], "click");
}

