var bName = navigator.appName;
var bVer  = parseInt(navigator.appVersion);
var NS4   = ((bName == "Netscape") && (bVer >= 4));
var IE4   = ((bName == "Microsoft Internet Explorer") && (bVer >= 4));


function openPage(pageName, index, lage)
{
 window.open(pageName, index, lage);
}

function openURL(URL)
{
	parent.location.href = URL;
}

function mOutMenue(cell,moucolor,clickcolor) {
if (cell.bgColor == clickcolor) {
 return false
 }
 else
 {

       cell.style.cursor = 'default';
       cell.bgColor = moucolor;
       cell.className='menue_mout';
 }
}

function mOverUntermenue(cell)
{
       cell.className='untermenue_mover';
}

function mOutUntermenue(cell)
{
       cell.className='untermenue_mout';
}

function ausblenden(){
	var thisspan;
    for (i=1; i <= 4; i++)
    {
    	if (NS4)
    	{
        	var loc_id = "menue" + i;
            thisspan = document.getElementById(loc_id);
        }
        if (IE4)
        {
        	thisspan = eval("menue" + i);
        }
        else
        {
        	thisspan = eval("menue" + i);
        }
        thisspan.style.visibility = 'hidden';
     }
}

function menuebgbolor_zuruecksetzen(mom_akt)
{
	//diese Funktion dient dazu, das aussehen der menüzeile auf den stand zurückzusetzen, den es beim laden der seite hatte
	//an die funktion wird mom_akt übergeben; ist ein array, dass das aussehen der menüzeile nach dem seitenaufruf charakterisiert
	var thisspan1;
	for (i=1; i <= 4; i++)
	{
     	if (mom_akt[i] == 0)
     	{
     		var menu_id = "hauptmenue" + i;
     		thisspan1 = document.getElementById(menu_id);
     		thisspan1.className = 'menue_mout' + i; 	// Default css-stye
     		
     		var div_id = "versatz" + i;
     		thisspan2 = document.getElementById(div_id);
     		thisspan2.className = 'menue_versatz_mout' + i;
     	}
    }
}


function menu_show(nr){
     y = nr;
     var iqthisspan;
     if (NS4)  {
        var aloc_id = "menue" + y;
        iqthisspan = document.getElementById(aloc_id);
    }
     if (IE4) {
         iqthisspan = eval("menue" + y);
     }
     else
     {
         iqthisspan = eval("menue" + y);
     }
     iqthisspan.style.visibility = "visible";
}

function changemenu(nr){
    x = nr;
       ausblenden();
      if (x != 0) menu_show(x);
}

function insert(aTag, eTag, formular, textarea)
{
	/*"formular" ist der Name meines Formulars; "aktuelles_text" ist der Name der Textarea*/
	var input = document.forms[formular].elements[textarea];
	input.focus();
  	/* für Internet Explorer */
  	if(typeof document.selection != 'undefined')
  	{
    	/* Einfügen des Formatierungscodes */
    	var range = document.selection.createRange();
    	var insText = range.text;
    	range.text = aTag + insText + eTag;
    	/* Anpassen der Cursorposition */
    	range = document.selection.createRange();
    	if (insText.length == 0)
    	{
     		range.move('character', -eTag.length);
    	}
    	else
    	{
      		range.moveStart('character', aTag.length + insText.length + eTag.length);
    	}
    range.select();
  	}
  	/* für neuere auf Gecko basierende Browser */
  	else if(typeof input.selectionStart != 'undefined')
  	{
    	/* Einfügen des Formatierungscodes */
    	var start = input.selectionStart;
    	var end = input.selectionEnd;
    	var insText = input.value.substring(start, end);
    	input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
    	/* Anpassen der Cursorposition */
    	var pos;
    	if (insText.length == 0)
    	{
      		pos = start + aTag.length;
    	}
    	else
    	{
      		pos = start + aTag.length + insText.length + eTag.length;
    	}
    	input.selectionStart = pos;
    	input.selectionEnd = pos;
  	}
  	/* für die übrigen Browser */
  	else
  	{
    	/* Abfrage der Einfügeposition */
    	var pos;
    	var re = new RegExp('^[0-9]{0,3}$');
    	while(!re.test(pos)) {
      	pos = prompt("Einfügen an Position (0.." + input.value.length + "):", "0");
    }
    if(pos > input.value.length)
    {
      pos = input.value.length;
    }
    /* Einfügen des Formatierungscodes */
    var insText = prompt("Bitte geben Sie den zu formatierenden Text ein:");
    input.value = input.value.substr(0, pos) + aTag + insText + eTag + input.value.substr(pos);
	}
}

function InsertLink(formular, textarea)
{
 	/*"formular" ist der Name meines Formulars, "links" ist der Name der Select-Box*/
 	var test = document.formular.links.options[document.formular.links.options.selectedIndex].value;
 	if(test != "" && test!= "Link auf externe Quelle")
 	{
 		insert('<a href="../deutsch/seite.php?link=' + test + '">', '</a>', formular, textarea)
 	}
 	if(test == "Link auf externe Quelle")
 	{
 		insert('<a href="http://www." target="blank">', '</a>', formular, textarea)
 	}
}

function map_load(filialen) {
	//diese Funktion bekommt die Infos über die anzuzeigenden Filialen aus der php-Funktion get_filial_info() (siehe functions.php)
	//map_load muss im body über den event-handler onload= ausgeführt wreden. in head.php wird eine if-Abfrage geschaltet, um diesen onload-Befehl nur bei der entsprechenden Seit auszuführen
	
  if (GBrowserIsCompatible()) {
	var map = new GMap2(document.getElementById("map"));


	// Create a base icon for all of our markers that specifies the shadow, icon dimensions, etc.

	//1) für bestimmte Filialtypen Icon in  Farbe x
	var baseIcon = new GIcon(G_DEFAULT_ICON);
	baseIcon.image = "../bilder/yellow-dot.png";
	baseIcon.shadow = "../bilder/shadow50.png";
	baseIcon.iconSize = new GSize(19, 32); //Breit, Höhe
	baseIcon.shadowSize = new GSize(37, 34); //Breite, Höhe
	baseIcon.iconAnchor = new GPoint(9, 34);
	baseIcon.infoWindowAnchor = new GPoint(9, 2); //nach links, nach unten
	
	//2) für andere Filialtypen Icon in  Farbe x
	var baseIcon1 = new GIcon(G_DEFAULT_ICON);
	baseIcon1.image = "../bilder/blue-dot.png";
	baseIcon1.shadow = "../bilder/shadow50.png";
	baseIcon1.iconSize = new GSize(19, 32); //Breit, Höhe
	baseIcon1.shadowSize = new GSize(37, 34); //Breite, Höhe
	baseIcon1.iconAnchor = new GPoint(9, 34);

	//3) für andere Filialtypen Icon in  Farbe z
	var baseIcon2 = new GIcon(G_DEFAULT_ICON);
	baseIcon2.image = "../bilder/red-dot.png";
	baseIcon2.shadow = "../bilder/shadow50.png";
	baseIcon2.iconSize = new GSize(19, 32); //Breit, Höhe
	baseIcon2.shadowSize = new GSize(37, 34); //Breite, Höhe
	baseIcon2.iconAnchor = new GPoint(9, 34);
	
	// Creates a marker whose info window displays the letter corresponding to the given index.
	// Create a lettered icon for this point using our icon class 
	function createMarker(myGeographicCoordinates, index, text, image) {  
		//var letter = String.fromCharCode("A".charCodeAt(0) + index);  
		if(image == 0) {
			var letteredIcon = new GIcon(baseIcon);  
		}
		else if(image == 1) {
			var letteredIcon = new GIcon(baseIcon1);
		}
		else if(image == 2) {
			var letteredIcon = new GIcon(baseIcon2);
		}
		else {
			var letteredIcon = new GIcon(baseIcon); 
		}
		//letteredIcon.image = "http://www.google.com/mapfiles/marker" + letter + ".png";  
		// Set up our GMarkerOptions object  
		markerOptions = { icon:letteredIcon };  
		var marker = new GMarker(myGeographicCoordinates, markerOptions);  
				if(image == 0) {
			GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml("<div id='google_maps'><h1><strong>Filiale der Bäckerei Förster</strong></h1><h2>" + text[3] + "</h2><p>" + text[4]+ "<br />" + text[5] + " " + text[6] + "</p><p>Telefon: " + text[7] + " / " + text[8] +"<br />Fax: " + text[9] + " / " + text[10] +"</p><h3>Öffnungszeiten</h3><p>Mo: " + text[11] + " - " + text[12] +"<br/>Di: " + text[13] + " - " + text[14] +"<br/>Mi: " + text[15] + " - " + text[16] +"<br/>Do: " + text[17] + " - " + text[18] +"<br/>Fr: " + text[19] + " - " + text[20] + "<br/>Sa: " + text[21] + " - " + text[22] + "</p></div>"); });    
		}
		else if(image == 1) {
			GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml("<div id='google_maps'><h1><strong>Filiale der Bäckerei Förster</strong></h1><h2>" + text[3] + "</h2><p>" + text[4]+ "<br />" + text[5] + " " + text[6] + "</p><p>Telefon: " + text[7] + " / " + text[8] +"<br />Fax: " + text[9] + " / " + text[10] +"</p><h3>Öffnungszeiten</h3><p>Mo: " + text[11] + " - " + text[12] +"<br/>Di: " + text[13] + " - " + text[14] +"<br/>Mi: " + text[15] + " - " + text[16] +"<br/>Do: " + text[17] + " - " + text[18] +"<br/>Fr: " + text[19] + " - " + text[20] + "<br/>Sa: " + text[21] + " - " + text[22] + "</p></div>"); });  
		}
		else if(image == 2) {
			GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml("<div id='google_maps'><h1><strong>Lieferstelle der Bäckerei Förster</strong></h1><h2>" + text[3] + "</h2><p>" + text[4]+ "<br />" + text[5] + " " + text[6] + "</p><p>Telefon: " + text[7] + " / " + text[8] + "</p></div>"); });  
		}
		else {
			GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml("<div id='google_maps'><h1><strong>Filiale der Bäckerei Förster</strong></h1><h2>" + text[3] + "</h2><p>" + text[4]+ "<br />" + text[5] + " " + text[6] + "</p><p>Telefon: " + text[7] + " / " + text[8] +"<br />Fax: " + text[9] + " / " + text[10] +"</p><h3>Öffnungszeiten</h3><p>Mo: " + text[11] + " - " + text[12] +"<br/>Di: " + text[13] + " - " + text[14] +"<br/>Mi: " + text[15] + " - " + text[16] +"<br/>Do: " + text[17] + " - " + text[18] +"<br/>Fr: " + text[19] + " - " + text[20] + "<br/>Sa: " + text[21] + " - " + text[22] + "</p></div>"); });  
		}
		
		//GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml("<div id='google_maps'><h1><strong>Filiale der Bäckerei Förster</strong></h1><h2>" + text[3] + "</h2><p>" + text[4]+ "<br />" + text[5] + " " + text[6] + "</p><p>Telefon: " + text[7] + " / " + text[8] +"<br />Fax: " + text[9] + " / " + text[10] +"</p><h3>Öffnungszeiten</h3><p>Mo: " + text[11] + " - " + text[12] +"<br/>Di: " + text[13] + " - " + text[14] +"<br/>Mi: " + text[15] + " - " + text[16] +"<br/>Do: " + text[17] + " - " + text[18] +"<br/>Fr: " + text[19] + " - " + text[20] + "<br/>Sa: " + text[21] + " - " + text[22] + "</p></div>"); });  
		return marker;
	}	
	
	map.setCenter(new GLatLng(50.93, 12.450), 10); 
	

	//filialen (ergebnis der mysql-abfrag der php-funktion in ein Array zurückbasten)
	var filialen = filialen.split(",");
	
	//erste Zahl  extrahieren ==> ist die Anzahl an Filialen in der DB
	var j;
	j = filialen[0]; 
	
	
	var m = 0; 
	
	//für jede Filiale wir ein neues Array gebaut 
	for (var i = 1; i <= j; i++) {
		var eigenschaften = new Array();
		//für jede einzelne Filiale wird eine neue Varialbe mit den Eigenschaften der Filiale besetzt
		for (var k = 1; k <= 26; k++) {
			//wert, der hochgezählt wird, um die Elemente in "filiale" ansprechen zu können
			m = m + 1; 
			eigenschaften[k] = filialen[m];   				
		}
		//m = m + 1;

		
		var myGeographicCoordinates = new GLatLng(eigenschaften[24], eigenschaften[25])		//Stammgeschäft am Markt
		var image = eigenschaften[26];
		map.addOverlay(createMarker(myGeographicCoordinates, i, eigenschaften, image));
	}
	
	map.addControl(new GSmallMapControl());
	map.addControl(new GScaleControl());
	map.addControl(new GMapTypeControl());
	
  }
}
