onerror = stopError;
function stopError()
{
return true;
}
var popstatus=0; 
  
var wwind = new GIcon(); 
    wwind.image = '/xml/wwind.png';
    wwind.iconSize = new GSize(32, 32);
    wwind.iconAnchor = new GPoint(0, 0);
    wwind.infoWindowAnchor = new GPoint(0, 0);

var wwindrad = new GIcon(); 
    wwindrad.image = '/xml/wwind-backup.png';
    wwindrad.iconSize = new GSize(32, 32);
    wwindrad.iconAnchor = new GPoint(0, 0);
    wwindrad.infoWindowAnchor = new GPoint(0, 0);

var customIcons = [];
    customIcons["1"] = wwind;
    customIcons["2"] = wwindrad;
var CenterLat = 52.693968;
var Centerlong = 8.809662;
 var PID=0; 
    var map;
    var gdir;
    var geocoder = null;
    var addressMarker;

    function loadGM() 
    {
			if (GBrowserIsCompatible()) 
      {
				document.getElementById("directions").innerHTML="<img src='/images/pfeillinks.gif' border='0' style='float: left;' /><span>Please type in your startlocation after that click on 'get route.'</span>";
	      map = new GMap2(document.getElementById("map"));
	      gdir = new GDirections(map, document.getElementById("directions"));
	      GEvent.addListener(gdir, "error", handleErrors);

				
				icon = new GIcon();
				icon.image = "/xml/wwind.png";
				icon.iconSize = new GSize(32, 32);
				icon.iconAnchor = new GPoint(32, 32);
				icon.infoWindowAnchor = new GPoint(32, 32);
				
					
				var pointFundF = new GLatLng(52.597928930455936,8.836054801940918);
				
				map.setCenter(pointFundF, 15);
				map.disableScrollWheelZoom();
				map.addControl(new GLargeMapControl());
				map.addControl(new GMapTypeControl());
				map.addOverlay(new GMarker(new GLatLng(52.597928930455936,8.836054801940918),icon));
	      geocoder = new GClientGeocoder();
	    }
    }

		function setDirections(fromAddress, toAddress, locale) 
		{
			if (fromAddress == "")
			{
				alert("Please type in your startlocation!");
				document.forms[0].from.focus();
				return false;
			}
			
		  gdir.load("from: " + fromAddress + " to: 52.597928930455936,8.836054801940918",
		            { "locale": locale });
		            
			document.getElementById("directions").innerHTML="";
			var printbutton = $('printbutton') ;
			printbutton.innerHTML='<img style="cursor:pointer" src="/images/button-print.gif" onclick="new_win(\'' + fromAddress + '\', \'' + locale + '\');return false;">';
		
		}
		
		function new_win(locationfrom,langu)
			{
			// alert(locationfrom+' - '+langu)
			window.open('/printway.php?fromloc='+locationfrom+'&language='+langu).focus;
			
			}
		
		
		function handleErrors()
		{
			if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
			 alert("Startadress not found. (Fehler-Code: " + gdir.getStatus().code + ")");
			else if (gdir.getStatus().code == G_GEO_SERVER_ERROR)
			 alert("Unknown error.\nFehler-Code: " + gdir.getStatus().code);
			
			else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
			 alert("Der HTTP q Parameter fehlr oder hat keinen Wert. F&uuml;r den Geocoder bedeutet das, dass eine leere Adresse angegeben wurde. Die Abfrage kann nicht ausgef&uuml;hrt werden.\nFehler-Code: " + gdir.getStatus().code);
			
			else if (gdir.getStatus().code == G_GEO_BAD_KEY)
			 alert("Der genutzte Schl&uuml;ssel ist nicht g&uuml;ltig oder passt nicht zur registrierten Domain.\nFehler-Code: " + gdir.getStatus().code);
			
			else if (gdir.getStatus().code == G_GEO_BAD_REQUEST)
			 alert("Die Routenermittlung konnte nicht erfolgreich ausgef&uuml;hrt werden.\nFehler-Code: " + gdir.getStatus().code);
			
			else alert("Please type in your Startpoint like:\n\nBrinkstrasse 25, 27245 Kirchdorf");
		} 
      
function load(PID) 
	{
		
		if(popstatus == 1)
		{	
		var fx = new Fx.Styles($('popup'), {duration:500, wait:false});
		fx.start({'ópacity':[1,.001]}).chain(function(){$('popup').setStyle('visibility', 'hidden');popstatus=0;});
 		}	
		
      if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map"));
        map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl());
        
        // map.addControl(new YSliderControl());

        
        map.setCenter(new GLatLng(52.693968,8.809662), 9);
        map.enableContinuousZoom();
      	// map.removeMapType(G_SATELLITE_TYPE); 
				// map.removeMapType(G_HYBRID_TYPE);
				map.animatePan = true;
				
        GDownloadUrl("/xml/mapxml.php", function(data) {
          var xml = GXml.parse(data);
          var markers = xml.documentElement.getElementsByTagName("marker");
          var PARKZOOMIN = 0;  
         
          for (var i = 0; i < markers.length; i++) 
          	{
          
          		var ParkID = markers[i].getAttribute("id");
          		var TurmId = markers[i].getAttribute("TurmId"); 
            	var name = markers[i].getAttribute("name");
            	var picture = markers[i].getAttribute("bild"); 
            	var address = markers[i].getAttribute("address");
            	var type = markers[i].getAttribute("type");
            	
            	var StringVal = parseFloat(markers[i].getAttribute("lat")) + "," + parseFloat(markers[i].getAttribute("lng"));
            	
            	var latlongstr = StringVal;
            	var wcords 			= latlongstr.split(","); 
							var latti 			= wcords[0];   
							var longt 		  = wcords[1];   
          		
							if(PID==0 || PID == ParkID)	
								{          
            		var point = new GLatLng( latti , longt );
            		var latlonglink =""; // http://portalseite.enet.de/g-maps/latlongfinder.php?LatLong="+latti+","+longt;
            		var marker = createMarker(map, point, name, address, 2, picture,latlonglink,TurmId);
            		map.addOverlay(marker);
          			}
          		
          		if(PID!="" && PID == ParkID)
          			{
          				if(PARKZOOMIN==0)
          				{
          				 var point = new GLatLng( latti , longt );
          				 map.setCenter(new GLatLng(latti,longt), 13);
          				 var PARKZOOMIN = 1;
          
          				}
          			
          			}
          	}
        });
      }
    }

    function createMarker(map,point, name, address, type, picture,latlonglink,TurmId)
    	 {
      	var marker = new GMarker(point, customIcons[type]);
      		
      		var adrArray = address.split("|");
					var Baujahr = adrArray[0]; 
      		var Generator = adrArray[1]; 
      		var Nabenhoehe = adrArray[2]; 
      		var ProdKW = adrArray[3]; 
      		 
      		address  = "activation: "+Baujahr +"<br>";
      		address += "Model: "+Generator +"<br>";
      		address += "hub height: "+Nabenhoehe +"<br>";
      		address += "KW: "+ProdKW +"<br>";
      		
      		
     			var html = '<table  border="0" cellspacing="0" cellpadding="0"><tr><td width="200" style="height:25px" valign="top"><div style="padding-left:5px;height:25px;background:#C9F52E;line-height:25px;font-weight:bold">'+name+' (Nr.: '+TurmId+' )</div><div style=height:55px;>'+address+'<br></div></td><td width="104" align="right" valign="top"><img src="/media/typen/' + picture + '.gif" height=50></td></tr></table>';
     
       	
       	
       	
       	GEvent.addListener(marker, 'click', function() {
       //  marker.openInfoWindowHtml(html);
        
        marker.openExtInfoWindow(
              map, 
              "bubble",
              html ,
              {beakOffset: 3}
            ); 
       
      	});
      	return marker;
    		}
    
    
  function runde(zahl, stellen)
	{
		var nachkomma = Math.pow(10,stellen); 
		zahl *= nachkomma;
		zahl = Math.round(zahl);
		zahl /= nachkomma;
		return (zahl);
	} 		
  		
 
 function gk2latlong (StringVal)
	{
 	var pi = Math.PI;
	var rho = 180 / pi;
	var e2 = 0.0358192188;  
	var c = 6398786.849;

	var starr = StringVal.split(",");
	var rw 			= starr[0];
	var hw 		  = starr[1];
	var mKen = rw.substr(0, 1);
	
	
		rw = rw.replace(/\,/g, ".");
		rw = parseFloat(rw);

		hw = hw.replace(/\,/g, ".");
		hw = parseFloat(hw);
	
		mKen = parseInt(mKen);
	
		if (!isNaN(rw) && !isNaN(hw) && !isNaN(mKen))
			{
			var rm = rw - mKen * 1000000 - 500000;
			var bI = hw / 10001122.7646;
			var bII = bI * bI;
			var bf = 325632.08677 * bI * ((((((0.00000562025 * bII - 0.00004363980) * bII + 0.00022976983) * bII - 0.00113566119) * bII + 0.00424914906) * bII - 0.00831729565) * bII + 1);
			bf = bf / 3600 / rho;
			var co = Math.cos(bf);
			var g2 = e2 * (co * co);
			var g1 = c / Math.sqrt(1 + g2);
			var t = Math.tan(bf);
			var fa = rm / g1;
			var gb = bf - (fa * fa * t * (1 + g2) / 2) + (fa * fa * fa * fa * t * (5 + 3 * t * t + 6 * g2 - 6 * g2 * t * t) / 24);
			gb = gb * rho;
			var dl = fa - (fa * fa * fa * (1 + 2 * t * t + g2) / 6) + (fa * fa * fa * fa * fa * (1 + 28 * t * t + 24 * t * t * t * t) / 120);
			var gl = dl * rho / co + mKen * 3;
			return 	runde(gb,5) + "," + runde(gl,5);
		}	
		return false;
	}
	
	
	
	function zoomToPark(Mdata)
	{
     	var datas 			= Mdata.split("&"); 
			var PID 			= datas[0];
			load(PID);
	}
	
