var map,accoicon,point, waypoint,panoramiolayer,wikilayer;
var waypointicons = new Array();
var startpointicons = new Array();
var waypointmarkers=new Array();
var startpointmarkers = new Array();
var startpointmarkershtml = new Array();
var startpointmarker, starticon,stopicon;
var startpointcounter = 1;

function ChangeTabs(Tab,Saison)
{
	document.getElementById("tab_1").style.backgroundColor = "#FFFFFF";
	if (Saison=="1") {document.getElementById("tab_" + Tab).style.backgroundColor ="#3567A0";}
	if (Saison=="3") {document.getElementById("tab_" + Tab).style.backgroundColor ="#415624";}
	
	document.getElementById("tablink_1").style.color ="";
	document.getElementById("tablink_" + Tab).style.color ="#FFFFFF";
}

function ShowBlock (Tab,Saison)
{ ChangeTabs(Tab,Saison);}

function SetMapType(Type){
		
	switch (Type) {
		case "normal" : { map.setMapType(G_NORMAL_MAP);break} 
		case "satelite" : { map.setMapType(G_SATELLITE_MAP); break} 
		case "hybrid" :	{map.setMapType(G_HYBRID_MAP); break} 
		case "physical" : {map.setMapType(G_PHYSICAL_MAP); break} 
	}
	
}

function ToggleWaypoints(show) {
	
	if (show==true){
	// Waypoints ausblenden
	for (var j=0; j < waypointmarkers.length;j++) {		
		if (waypointmarkers[j]!=null) {map.addOverlay(waypointmarkers[j]);}
	}}
	else {
	// Waypoints anzeigen
	for (var j=0; j < waypointmarkers.length;j++) {		
		if (waypointmarkers[j]!=null) {map.removeOverlay(waypointmarkers[j]);}		
	}}
	
}


function ToggleWiki(show) {	
	
	if (show==true){
		wikilayer = new GLayer("org.wikipedia.de");
		map.addOverlay(wikilayer)
	} 
	else {
		if (wikilayer != null) {map.removeOverlay(wikilayer);}
	}
	
}

function TogglePanoramio(show) {	
	
	if (show==true){
		panoramiolayer = new GLayer("com.panoramio.all");
		map.addOverlay(panoramiolayer)
	} 
	else {
		if (panoramiolayer != null) {map.removeOverlay(panoramiolayer);}
	}
	
}
		 	
function LoadMap() {			
	
	if ($('tour_info') != null){
	var rows = $('tour_info').getElementsByTagName('tr');
	for (var i=0,len=rows.length;i<len;i++) {
		if (i % 2 == 0) rows[i].className = 'alt';
	}}
	
 	if (GBrowserIsCompatible()) {
       	map = new GMap2(document.getElementById("map"));
       	map.setCenter(new GLatLng(47.500412,12.297702), 10);
      	map.setMapType(G_NORMAL_MAP); 
       	map.addControl(new GLargeMapControl());
   		
   		// Icons definieren
     	starticon = new GIcon();
		starticon.iconSize = new GSize(41, 34);
		starticon.iconAnchor = new GPoint(10, 31);
		starticon.image = "/de/images/touren/start.png";	
		starticon.infoWindowAnchor =new GPoint(10, 12);
		
		stopicon = new GIcon();
		stopicon.iconSize = new GSize(41, 34);
		stopicon.iconAnchor = new GPoint(10, 31);
		stopicon.image = "/de/images/touren/stop.png";	
		stopicon.infoWindowAnchor = new GPoint(10, 12);
		
		waypoint = new GIcon();
		waypoint.iconSize = new GSize(24, 24);
		waypoint.iconAnchor = new GPoint(11, 24);
		waypoint.image = "/de/images/touren/waypoint.png";	
		waypoint.infoWindowAnchor = new GPoint(11, 24); 
		
		for (var z=0;z<20;z++) {
			waypointicons[z] = new GIcon();
			waypointicons[z].iconSize = new GSize(50, 28);
			waypointicons[z].iconAnchor = new GPoint(11, 26);
			waypointicons[z].image = "/de/images/touren/waypoints/" + z + ".png";	
			waypointicons[z].infoWindowAnchor = new GPoint(11, 10); 
		}	   	
		
		for (var x=1;x<6;x++) {
			startpointicons[x] = new GIcon();
			startpointicons[x].iconSize = new GSize(41, 34);
			startpointicons[x].iconAnchor = new GPoint(10, 31);
			startpointicons[x].image = "/de/images/touren/start"+ x +".png";	
			startpointicons[x].infoWindowAnchor =new GPoint(10, 12);
		}	 	
				
		// Farbe definieren		
		var color = "#7AA618";
		
		switch (difficulty){
			case "1": { color="#0E1BC7"; break }
			case "2": { color="#E2001A"; break }
			case "3": { color="#FFFFFF"; break }
			case "4": { color="#FEDA0E"; break }
		}
		
		// Route zeichnen
		var polyline = new GPolyline(points, color, 4,0.85);
		map.addOverlay(polyline);
		
		// Start - und Waypoints zeichnen
		loadwaypoints();
		loadstartpoints();
		setstartpoint(startpoint);
		
		// Start / Ende zeichnen	 (nicht rundour)
		if(rundtour != "True") {
			var endMarker = new GMarker(points[points.length-1],{icon: stopicon});
			map.addOverlay(endMarker);		
			var startMarker = new GMarker(points[0],{icon: starticon});
			map.addOverlay(startMarker);
		}
		
		// Automatischer Zoom	
		var bounds = polyline.getBounds();
		map.setCenter(bounds.getCenter(),map.getBoundsZoomLevel(bounds),G_SATELLITE_MAP); 				
	
	}

}

function setstartpoint(id){

	if (startpoint != "") {
	
		if (startpointmarkers[id] != null) {
			
			for (var i in startpointmarkers){
				if (startpointmarkers[i] !=null) {map.removeOverlay(startpointmarkers[i]);}
			}
			
			var marker = new GMarker(startpointmarkers[id].getPoint(),{icon: startpointicons[startpointmarkers[id]["counter"]]});
			map.addOverlay(marker); 
			startpoint = marker;
			marker.openInfoWindowHtml(startpointmarkershtml[id]);
			GEvent.addListener(marker,'click', function(){marker.openInfoWindowHtml(startpointmarkershtml[id]);});	
			
		}
		
	}
	
}

function addstartpointmarker(id,nr, lat, lon, titel,html){

	// Marker
	var point = new GLatLng(lat,lon);
	var marker = new GMarker(point,{icon: startpointicons[startpointcounter]});	
	map.addOverlay(marker); 
	GEvent.addListener(marker,'click', function(){marker.openInfoWindowHtml(startpointmarkershtml[id]);});		
	startpointmarkers[id] = marker;
	startpointmarkers[id]["counter"] = startpointcounter;
	startpointcounter = startpointcounter + 1;
	startpointmarkershtml[id] = html;	

}	

function addwaypointmarker(id,nr, lat, lon, titel, html){
	
	//if (rundtour == "True") {nr=0;}
	
	// Marker
	var point = new GLatLng(lat,lon);
	var marker = new GMarker(point,{icon:waypointicons[nr],title:titel});
	waypointmarkers[id] = marker;
	map.addOverlay(marker); 

	// Infowindow
	GEvent.addListener(marker,'click',
		function(){marker.openInfoWindowHtml(html);});	

}	

function showwaypoint(id){
	if (waypointmarkers[id]!=null){
		GEvent.trigger(waypointmarkers[id], "click");	
		map.setCenter(waypointmarkers[id].getPoint(),16); 
		window.scrollTo(0,document.getElementById("map").offsetTop-10);
	}
}

function countredirect(feratelid, language){
	
	var xmlhttp=null;
	var url = 'http://www.hohe-salve.com/'+ language +'/vermieter/countredirect.asp?FeratelID=' + feratelid;		
	
	if (window.XMLHttpRequest){xmlhttp=new XMLHttpRequest();} else if (window.ActiveXObject) {xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); }
	  
	if (xmlhttp!=null)
	  {
	 		xmlhttp.open("GET",url,true);	
	 		xmlhttp.send(null); 	  		
	  }	
	
}

function setprintlink(checked,link){
	if (checked) { document.getElementById("printlink").href = "javascript:printtour('" + link + "')"; }
}
	
function printtour(file){
	var zentrierenX = (screen.width/2)-385; 
	var zentrierenY = (screen.height/2)-300;
	var pos = "left="+zentrierenX+",top="+zentrierenY; 
	window.open(file,"help","width=785, height=600, resizable=no, scrollbars=yes, menubar=yes, toolbar=no, directories=no, location=no, status=no, " + pos);
}

