// Allgemeine Variabelen 
var map, boundslist, markers, marker, point, language, tabselected, itemid;
var startPointType, stopPointType, startLan, startLon, stopLan, stopLon,messages;
var ico_hotel, ico_bars, ico_restaurants, ico_info, ico_events, ico_catering,lastpolyline,ico_touren, ico_hotspots;
var accokategorie, eventkategorie, infokategorie, cateringkategorie, tourkategorie;
var accomarkers = new Array();
var eventmarkers = new Array();
var infomarkers = new Array();
var tourmarkers = new Array();
var tourlines = new Array();
var cateringmarkers = new Array();
var clickable = false;
var hotelview = false;


// Basis Einstellungen
function LoadMap(ort,lang,hotelid) {
	
	 if (GBrowserIsCompatible()) {	        
       
        // Basiskarte & Controls
       	map = new GMap2(document.getElementById("map"));
      	language = lang;

      	switch (ort){
      		case "absam" : 			{map.setCenter(new GLatLng(47.295278,11.505424), 14);break;}   
			case "baumkirchen" : 	{map.setCenter(new GLatLng(47.300251,11.564032), 14);break;}   
			case "fritzens" : 			{map.setCenter(new GLatLng(47.307275,11.588267), 14);break;}   
			case "gnadenwald" : 		{map.setCenter(new GLatLng(47.323257,11.5754), 14);break;}   
			case "hall" : 					{map.setCenter(new GLatLng(47.280973,11.504341), 14);break;}   
			case "mils" : 					{map.setCenter(new GLatLng(47.288348,11.532453), 14);break;}   
			case "thaur" : 				{map.setCenter(new GLatLng(47.293794,11.472548), 14);break;}   
			case "tulfes" : 				{map.setCenter(new GLatLng(47.25711,11.530679), 14);break;}   
			case "volders" : 			{map.setCenter(new GLatLng(47.287426,11.565457), 14);break;}   
			case "wattenberg" : 		{map.setCenter(new GLatLng(47.264238,11.611414), 14);break;}   
			case "wattens" : 			{map.setCenter(new GLatLng(47.291677,11.59285), 14);break;}  
			default : 						{map.setCenter(new GLatLng(47.288348,11.532453), 11);}    
      				
      	}
      	
      	map.addControl(new GLargeMapControl(),new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(10,20)));
      	map.addControl(new GMapTypeControl());
      	map.setMapType(G_HYBRID_MAP);		
      	map.addMapType(G_PHYSICAL_MAP);		
		
		// Icons festlegen 
		ico_hotel = new GIcon();
		ico_hotel.iconSize = new GSize(24, 30);
		ico_hotel.iconAnchor = new GPoint(5, 5);
		ico_hotel.image = "http://www.regionhall.at/de/images/map/ico_acco.png";	
		ico_hotel.infoWindowAnchor = new GPoint(5, 5);   	
		
		ico_restaurants = new GIcon();
		ico_restaurants.iconSize = new GSize(24, 30);
		ico_restaurants.iconAnchor = new GPoint(5, 5);
		ico_restaurants.image = "http://www.regionhall.at/de/images/map/ico_restaurants.png";	
		ico_restaurants.infoWindowAnchor = new GPoint(5, 5);   	
		
		ico_bars = new GIcon();
		ico_bars.iconSize = new GSize(24, 30);
		ico_bars.iconAnchor = new GPoint(5, 5);
		ico_bars.image = "http://www.regionhall.at/de/images/map/ico_bars.png";	
		ico_bars.infoWindowAnchor = new GPoint(5, 5);   	
		
		ico_info = new GIcon();
		ico_info.iconSize = new GSize(22, 26);
		ico_info.iconAnchor = new GPoint(5, 5);
		ico_info.image = "http://www.regionhall.at/de/images/map/ico_info.png";	
		ico_info.infoWindowAnchor = new GPoint(5, 5);   	
		
		ico_events = new GIcon();
		ico_events.iconSize = new GSize(22, 26);
		ico_events.iconAnchor = new GPoint(5, 5);
		ico_events.image = "http://www.regionhall.at/de/images/map/ico_events.png";	
		ico_events.infoWindowAnchor = new GPoint(5, 5);   	
		
		ico_catering = new GIcon();
		ico_catering.iconSize = new GSize(22, 26);
		ico_catering.iconAnchor = new GPoint(5, 5);
		ico_catering.image = "http://www.regionhall.at/de/images/map/ico_restaurants.png";	
		ico_catering.infoWindowAnchor = new GPoint(5, 5);  
		
		ico_touren = new GIcon();
		ico_touren.iconSize = new GSize(24, 29);
		ico_touren.iconAnchor = new GPoint(12, 28);
		ico_touren.image = "http://www.regionhall.at/de/images/map/ico_touren.png";	
		ico_touren.infoWindowAnchor = new GPoint(5, 5);  
		
		ico_hotspots = new GIcon();
		ico_hotspots.iconSize = new GSize(24, 30);
		ico_hotspots.iconAnchor = new GPoint(5, 5);
		ico_hotspots.image = "http://www.regionhall.at/de/images/map/ico_hotspots.png";	
		ico_hotspots.infoWindowAnchor = new GPoint(5, 5);   	
	
		
		// Bounds für Automatischer Zoom
		boundslist = new GLatLngBounds();
		
		// Route
		var startPoint = new Array();
		var endPoint = new Array();
		var startPointType = null;
		var endPointType = null;
		var startPointText = null;
		var endPointText = null;
		
		// Listner für Route
		gdir = new GDirections(map, document.getElementById("route"));
		GEvent.addListener(gdir, "load", onGDirectionsLoad);
		GEvent.addListener(gdir, "error", handleErrors);
		
		// Messages 
		messages = new Array();
		messages['de'] = new Array();
		messages['en'] = new Array();
		
		messages['de']['start'] = "als Start";
		messages['de']['ziel'] = "als Ziel";
		messages['de']['routenplaner'] = "Routenplaner";
		messages['de']['error1'] = "Bitte wÃ¤hlen Sie erst einen Start und Endpunkt aus!";
		messages['de']['error2'] = "Einer der angegebenen Orte konnte nicht gefunden werden, bitte vergewissern Sie sich das die Adresse richtig geschrieben ist.";
		messages['de']['error3'] = "Bitte geben Sie eine gÃ¼ltige Adresse ein";
		messages['de']['error4'] = "Es trat ein unbekannter Fehler bei der internen Kommunikation auf, sollte dieser Fehler wiederholt auftreten wenden Sie sich bitte an info@kitzbuehel.com.";
		
		messages['en']['start'] = "as start";
		messages['en']['ziel'] = "as destination";
		messages['en']['routenplaner'] = "routeplanner";
		messages['en']['error1'] = "Please select one start and destination point.";
		messages['en']['error2'] = "One of the entered addresses cannot be found, please be sure that the address is valid.";
		messages['en']['error3'] = "Please enter a valid address.";
		messages['en']['error4'] = "An unknown error occured. If the error appears several times, pleate contact info@kitzbuehel.com.";
		

		// Klicken in Karte
		if (clickable){
			GEvent.addListener(map, "click", function(overlay,point) {
	  		
	  		 if (!overlay) {
	          	map.clearOverlays();
	          	var marker = new GMarker(point);		   		
		  		GEvent.addListener(marker, "click", function() {
		   		marker.openInfoWindowHtml("Point = <input type='text' name='point' size='24' value='"+ point.toUrlValue(6) +"'>");
		  		}); 
		  		map.addOverlay(marker);	  	
		  		marker.openInfoWindowHtml("Point = <input type='text' name='point' size='24' value='"+ point.toUrlValue(6) +"'>");			        
		        //GEvent.trigger(marker, "click");	
		      }
	           
	      });
	     }
	     
	     // Hotel anzeigen 
	     if (hotelid != '') {	     	
	     	hotelview = true;
	     	new Ajax.Request('http://www.regionhall.at/'+ language +'/mapsupport/load_acco.asp',{ method: 'get',encoding: 'ISO-8859-1' ,  parameters: 'hotelid=' + hotelid, onComplete:LoadAccoMarker });
	     }
	     
	     
		
	}
}

// Startpunkt 
function SetAsStartPoint (titel,strasse,plz,ort,land,lat,lon)
{
	
	startPointType = 'point';
	startLat = lat;
	startLon = lon;
	
	$('start_adressetext').innerHTML = '<b>'+ titel +'</b><br/>' + strasse + '<br/>' + plz + ' ' + ort + '<br/>' + land;
	$('start_adressetext').style.display = 'block';
	$('start_adresselink').style.display = 'block';
	$('start_adresse').style.display = 'none';
	

}

// Endpunkt 
function SetAsStopPoint(titel,strasse,plz,ort, land, lat, lon)
{
	stopPointType = 'point';
	stopLat = lat;
	stopLon = lon;
	
	$('stop_adressetext').innerHTML = '<b>'+ titel +'</b><br/>' + strasse + '<br/>' + plz + ' ' + ort + '<br/>' + land;
	$('stop_adressetext').style.display = 'block';
	$('stop_adresselink').style.display = 'block';
	$('stop_adresse').style.display = 'none';
}

// Adresse einblenden 
function ShowAdress(typ)
{
	
	if (typ=='start'){startPointType='text';}
	if (typ=='stop'){stopPointType='text';}
	
	$(typ + '_adressetext').style.display = 'none';
	$(typ +'_adresselink').style.display = 'none';
	$(typ +'_adresse').style.display = 'block';	

}

// Route berechnen 
function CalculateRoute() 
{

	from = $('start_strasse').value + "," + $('start_plz').value + ',' + $('start_ort').value + ',' + $('start_land').value;
	if (startPointType=='point') {from = startLat + "," + startLon;}
	
	to = $('stop_strasse').value + "," + $('stop_plz').value + ',' + $('stop_ort').value + ',' + $('stop_land').value;
	if (stopPointType=='point') {to = stopLat + "," + stopLon;}
	
	gdir.load("from: " + from + " to: " + to ,{ "locale": language });
 	
}

// Route errors
function handleErrors(){
   if (gdir.getStatus().code == G_GEO_UNKNOWN_ADDRESS)
	 alert(messages[language]['error2']);
   
   else if (gdir.getStatus().code == G_GEO_MISSING_QUERY)
	 alert(messages[language]['error3']);
	 
   else	alert(messages[language]['error4']);   
}

// Route loaded
function onGDirectionsLoad()
{ 
	$('block_category_titleopen').style.display="none";
	$('block_category_titleclosed').style.display="block";
	$('block_category_content').style.display="none";
	
}

// Orts wechsel
function ChangeOrt(ort)
{
	
	if (GBrowserIsCompatible()) {	
		switch (ort){
      		case "absam" : 			{map.setCenter(new GLatLng(47.295278,11.505424), 14);break;}   
			case "baumkirchen" : 	{map.setCenter(new GLatLng(47.300251,11.564032), 14);break;}   
			case "fritzens" : 			{map.setCenter(new GLatLng(47.307275,11.588267), 14);break;}   
			case "gnadenwald" : 		{map.setCenter(new GLatLng(47.323257,11.5754), 14);break;}   
			case "hall" : 					{map.setCenter(new GLatLng(47.280973,11.504341), 14);break;}   
			case "mils" : 					{map.setCenter(new GLatLng(47.288348,11.532453), 14);break;}   
			case "thaur" : 				{map.setCenter(new GLatLng(47.293794,11.472548), 14);break;}   
			case "tulfes" : 				{map.setCenter(new GLatLng(47.25711,11.530679), 14);break;}   
			case "volders" : 			{map.setCenter(new GLatLng(47.287426,11.565457), 14);break;}   
			case "wattenberg" : 		{map.setCenter(new GLatLng(47.264238,11.611414), 14);break;}   
			case "wattens" : 			{map.setCenter(new GLatLng(47.291677,11.59285), 14);break;}  
			default : 						{map.setCenter(new GLatLng(47.288348,11.532453), 11);}      
      	}
	}

}

// Zoom 
function SetZoom(Lat,Lng){
	map.setCenter(new GLatLng(Lat,Lng), 15)
}

// Volltextsuche
function TextSearch(language){
	
	var  tabgroup;
	
	if (tabselected == 1) {tabgroup='Tour';} 
	if (tabselected == 2) {tabgroup='Event';} 
	if (tabselected == 3) {tabgroup='Acco';} 
	if (tabselected == 4) {tabgroup='Info';} 
	
	// Checkboxes löschen
	var checkboxes = document.getElementsByName("Feld_" + tabgroup + "Categorie");
	for (var j=0; j < checkboxes.length; j++) {
		checkboxes[j].checked = false;
	}
	
	// Suchen	
	var suche = "suche=" + document.getElementById("acco_search").value;
	if (tabselected == 1) {accokategorie = "TOUR_SEARCH";}
	if (tabselected == 2) {accokategorie = "EVENT_SEARCH";}
	if (tabselected == 3) {accokategorie = "ACCO_SEARCH";}
	if (tabselected == 4) {accokategorie = "INFO_SEARCH";}
	
	LockBoxes(tabgroup + 'Categorie');
	map.clearOverlays();
	
	if (tabselected == 1) {new Ajax.Request('http://www.regionhall.at/'+ language +'/mapsupport/load_touren.asp',{ method: 'get',encoding: 'utf-8' ,  parameters: suche, onComplete:LoadTourMarker });}
	if (tabselected == 2) {new Ajax.Request('http://www.regionhall.at/'+ language +'/mapsupport/load_catering.asp',{ method: 'get',encoding: 'utf-8' ,  parameters: suche, onComplete:LoadCateringMarker });}
	if (tabselected == 3) {new Ajax.Request('http://www.regionhall.at/'+ language +'/mapsupport/load_acco.asp',{ method: 'get',encoding: 'utf-8' ,  parameters: suche, onComplete:LoadAccoMarker });}
	if (tabselected == 4) {new Ajax.Request('http://www.regionhall.at/'+ language +'/mapsupport/load_info.asp',{ method: 'get',encoding: 'utf-8' ,  parameters: suche, onComplete:LoadInfoMarker });}

}

// Vermieter Checkboxes
function ToggleAcco(checked, kategorie, language) {

	// Suche löschen		
	document.getElementById("acco_search").value = '';
	
	if (accomarkers['ACCO_SEARCH'] != null){
		for(i=0;i<accomarkers['ACCO_SEARCH'].length;i++)
		{
			if(accomarkers['ACCO_SEARCH'][i])
			{
				map.removeOverlay(accomarkers['ACCO_SEARCH'][i]);
			}
		}
	}
	
	
	// Toggle Checkboxes
	if (checked == true) {
		LockBoxes('AccoCategorie');
		accokategorie = kategorie;
		new Ajax.Request('http://www.regionhall.at/'+ language +'/mapsupport/load_acco.asp',{ method: 'get',encoding: 'ISO-8859-1' ,  parameters: 'kategorie=' + kategorie, onComplete:LoadAccoMarker });
	} 	
	else
	{
		for(i=0;i<accomarkers[kategorie].length;i++)
		{
			if(accomarkers[kategorie][i])
			{
				map.removeOverlay(accomarkers[kategorie][i]);
			}
		}
	}

}

// Info Checkboxes
function ToggleInfo(checked, kategorie, language) {

	// Suche löschen		
	document.getElementById("acco_search").value = '';
	
	if (infomarkers['INFO_SEARCH'] != null){
		for(i=0;i<infomarkers['INFO_SEARCH'].length;i++)
		{
			if(infomarkers['INFO_SEARCH'][i])
			{
				map.removeOverlay(infomarkers['INFO_SEARCH'][i]);
			}
		}
	}
	
	// Toggle Checkboxes
	if (checked == true) {
		LockBoxes('InfoCategorie');
		infokategorie = kategorie;
		new Ajax.Request('http://www.regionhall.at/'+ language +'/mapsupport/load_info.asp',{ method: 'get',encoding: 'ISO-8859-1' ,  parameters: 'kategorie=' + kategorie, onComplete:LoadInfoMarker});
	} 	
	else
	{
		for(i=0;i<infomarkers[kategorie].length;i++)
		{
			if(infomarkers[kategorie][i])
			{
				map.removeOverlay(infomarkers[kategorie][i]);
			}
		}
	}

}

// Info Checkboxes
function ToggleCatering(checked, kategorie, language) {

	// Suche löschen		
	document.getElementById("acco_search").value = '';
	
	if (infomarkers['CATERING_SEARCH'] != null){
		for(i=0;i<infomarkers['INFO_SEARCH'].length;i++)
		{
			if(infomarkers['CATERING_SEARCH'][i])
			{
				map.removeOverlay(infomarkers['CATERING_SEARCH'][i]);
			}
		}
	}
	
	// Toggle Checkboxes
	if (checked == true) {
		LockBoxes('CateringCategorie');
		cateringkategorie = kategorie;
		new Ajax.Request('http://www.regionhall.at/'+ language +'/mapsupport/load_catering.asp',{ method: 'get',encoding: 'ISO-8859-1' ,  parameters: 'kategorie=' + kategorie, onComplete:LoadCateringMarker});
	} 	
	else
	{
		for(i=0;i<cateringmarkers[kategorie].length;i++)
		{
			if(cateringmarkers[kategorie][i])
			{
				map.removeOverlay(cateringmarkers[kategorie][i]);
			}
		}
	}

}


// Events Checkboxes
function ToggleEvent(language) {

	// Suche löschen		
	document.getElementById("acco_search").value = '';
	
	if (eventmarkers['EVENT_SEARCH'] != null){
		for(i=0;i<eventmarkers['EVENT_SEARCH'].length;i++)
		{
			if(eventmarkers['EVENT_SEARCH'][i])
			{
				map.removeOverlay(eventmarkers['EVENT_SEARCH'][i]);
			}
		}
	}
	
	// Toggle all checkboxes
	var kategorien = "";
	var datumvon = $('VonTag').value + "." + $('VonMonat').value + "." + $('VonJahr').value ;
	var datumbis = $('BisTag').value + "." + $('BisMonat').value + "." + $('BisJahr').value ;
	var checkboxes = document.getElementsByName("Feld_EventCategorie");
	
	for (var j=0; j < checkboxes.length; j++) {
		if (checkboxes[j].checked){kategorien = kategorien + checkboxes[j].value + ";"}
	}
	
	eventkategorie = "EVENTS";
	new Ajax.Request('http://www.regionhall.at/'+ language +'/mapsupport/load_event.asp',{ method: 'get',encoding: 'ISO-8859-1' ,  parameters: 'kategorien=' + kategorien + "&datumvon=" + datumvon + "&datumbis=" + datumbis, onComplete:LoadEventMarker});

}

//Tour Item
function ShowTourItem(id){
	itemid = id;
	if (id>0) {new Ajax.Request('http://www.regionhall.at/'+ language +'/mapsupport/load_touren.asp',{ method: 'get',encoding: 'ISO-8859-1' ,  parameters: 'id=' + id, onComplete:LoadTourMarker});}
}

// Touren Checkboxes
function ToggleTouren(checked, kategorie, language) {

	// Suche löschen		
	document.getElementById("acco_search").value = '';
	
	if (infomarkers['TOUREN_SEARCH'] != null){
		for(i=0;i<infomarkers['TOUREN_SEARCH'].length;i++)
		{
			if(infomarkers['TOUREN_SEARCH'][i])
			{
				map.removeOverlay(infomarkers['TOUREN_SEARCH'][i]);
			}
		}
	}
	
	// Toggle Checkboxes
	if (checked == true) {
		LockBoxes('TourCategorie');
		tourkategorie = kategorie;
		new Ajax.Request('http://www.regionhall.at/'+ language +'/mapsupport/load_touren.asp',{ method: 'get',encoding: 'ISO-8859-1' ,  parameters: 'kategorie=' + kategorie, onComplete:LoadTourMarker});
	} 	
	else
	{
		
		// Points enternen 
		for(i=0;i<tourmarkers[kategorie].length;i++)
		{
			if(tourmarkers[kategorie][i])
			{
				map.removeOverlay(tourmarkers[kategorie][i]);
			}
		}
		
		// Lines entfernen
		for(i=0;i<tourlines[kategorie].length;i++)
		{
			if(tourlines[kategorie][i])
			{
				map.removeOverlay(tourlines[kategorie][i]);
			}
		}
		
	}

}




// Checkboxes Aktivieren/Deaktivieren 
function LockBoxes(Typ)
{
	
	var checkboxes = document.getElementsByName("Feld_" + Typ);
	for (var j=0; j < checkboxes.length; j++) {
		checkboxes[j].disabled = true;
	}
	
}

function UnlockBoxes(Typ)
{
	
	var checkboxes = document.getElementsByName("Feld_" + Typ);
	for (var j=0; j < checkboxes.length; j++) {
		checkboxes[j].disabled = false;
	}
	
}

// Vermieterkategorien
function LoadAccoMarker(transport)
{
	
	var liste = transport.responseText.evalJSON();
	accomarkers[accokategorie] = new Array();	

	for (var i=0;i<liste.length; i++)
	{	
		point = new GLatLng(liste[i].Latitude,liste[i].Longitude);
		marker = new GMarker(point,{icon: ico_hotel,title:liste[i].Titel});
		accomarkers[accokategorie][i] = marker;		

		AddAccoMarker(liste[i].TiscoverID, liste[i].Latitude, liste[i].Longitude, liste[i].Titel, liste[i].Html, liste[i].Strasse, liste[i].PLZ, liste[i].Ort,liste[i].Land, marker, point);
	}
	
	UnlockBoxes('AccoCategorie');
	
}

// Vermieter hinzufügen
function AddAccoMarker(tiscoverid, lat, lon, titel, html, strasse, plz, ort,land, marker, point){
					
	// Marker
	map.addOverlay(marker); 
	
	var start = 'class="start" href="javascript:SetAsStartPoint(\''+ titel +'\',\''+ strasse +'\',\''+ plz +'\',\''+ ort +'\',\''+ land +'\',\''+ lat +'\',\''+ lon +'\');"';
	var stop = 'class="stop" href="javascript:SetAsStopPoint(\''+ titel +'\',\''+ strasse+'\',\''+ plz +'\',\''+ ort +'\',\''+ land +'\',\''+ lat +'\',\''+ lon +'\');"';
	html = html.replace('*START*',start);
	html = html.replace('*STOP*',stop);
	
	// Infowindow Mouseover
	GEvent.addListener(marker, "click", function() {
	    marker.openInfoWindowHtml(html);
	 });
	 
	 // Hotelansicht (1 Vermieter)
	 if (hotelview) {marker.openInfoWindowHtml(html);hotelview=false;}
		
}

// Inforubriken
function LoadInfoMarker(transport)
{
	
	var liste = transport.responseText.evalJSON();
	infomarkers[infokategorie] = new Array();	
	
	for (var i=0;i<liste.length; i++)
	{	
		point = new GLatLng(liste[i].Latitude,liste[i].Longitude);		
		marker = new GMarker(point,{icon: ico_info,title:liste[i].Titel});
		
		infomarkers[infokategorie][i] = marker;		
		AddInfoMarker(liste[i].TiscoverID, liste[i].Latitude, liste[i].Longitude, liste[i].Titel, liste[i].Html, liste[i].Strasse, liste[i].PLZ, liste[i].Ort, liste[i].Land,marker, point);
	}
	
	UnlockBoxes('InfoCategorie');
	
}

// Inforubrik hinzufügen
function AddInfoMarker(tiscoverid, lat, lon, titel, html, strasse, plz, ort,land, marker, point){
					
	// Marker
	map.addOverlay(marker); 
	
	var start = 'class="start" href="javascript:SetAsStartPoint(\''+ titel +'\',\''+ strasse +'\',\''+ plz +'\',\''+ ort +'\',\''+ land +'\',\''+ lat +'\',\''+ lon +'\');"';
	var stop = 'class="stop" href="javascript:SetAsStopPoint(\''+ titel +'\',\''+ strasse+'\',\''+ plz +'\',\''+ ort +'\',\''+ land +'\',\''+ lat +'\',\''+ lon +'\');"';
	html = html.replace('*START*',start);
	html = html.replace('*STOP*',stop);
	
	// Infowindow Mouseover
	GEvent.addListener(marker, "click", function() {
	    marker.openInfoWindowHtml(html);
	 });
		
}

// Catering rubriken
function LoadCateringMarker(transport)
{
	
	var liste = transport.responseText.evalJSON();
	cateringmarkers[cateringkategorie] = new Array();	
	
	for (var i=0;i<liste.length; i++)
	{	
		point = new GLatLng(liste[i].Latitude,liste[i].Longitude);		
		marker = new GMarker(point,{icon: ico_catering,title:liste[i].Titel});
		
		cateringmarkers[cateringkategorie][i] = marker;		
		AddCateringMarker(liste[i].TiscoverID, liste[i].Latitude, liste[i].Longitude, liste[i].Titel, liste[i].Html, liste[i].Strasse, liste[i].PLZ, liste[i].Ort, liste[i].Land,marker, point);
	}
	
	UnlockBoxes('CateringCategorie');
	
}

// Catering rubrik hinzufügen
function AddCateringMarker(tiscoverid, lat, lon, titel, html, strasse, plz, ort,land, marker, point){
					
	// Marker
	map.addOverlay(marker); 
	
	var start = 'class="start" href="javascript:SetAsStartPoint(\''+ titel +'\',\''+ strasse +'\',\''+ plz +'\',\''+ ort +'\',\''+ land +'\',\''+ lat +'\',\''+ lon +'\');"';
	var stop = 'class="stop" href="javascript:SetAsStopPoint(\''+ titel +'\',\''+ strasse+'\',\''+ plz +'\',\''+ ort +'\',\''+ land +'\',\''+ lat +'\',\''+ lon +'\');"';
	html = html.replace('*START*',start);
	html = html.replace('*STOP*',stop);
	
	// Infowindow Mouseover
	GEvent.addListener(marker, "click", function() {
	    marker.openInfoWindowHtml(html);
	 });
		
}

// Eventrubriken
function LoadEventMarker(transport)
{
	
	map.clearOverlays();
		
	var liste = transport.responseText.evalJSON();
	eventmarkers[eventkategorie] = new Array();	
	
	for (var i=0;i<liste.length; i++)
	{	
		point = new GLatLng(liste[i].Latitude,liste[i].Longitude);		
		marker = new GMarker(point,{icon: ico_events,title:liste[i].Lokal});

		eventmarkers[eventkategorie][i] = marker;	
		AddEventMarker(liste[i].TiscoverID, liste[i].Latitude, liste[i].Longitude, liste[i].Titel, liste[i].Html, liste[i].Lokal, marker, point);
	}
	
	UnlockBoxes('EventCategorie');
	
}

// Inforubrik hinzufügen
function AddEventMarker(tiscoverid, lat, lon, titel, html, lokal, marker, point){
						
	// Marker
	map.addOverlay(marker); 
	
	var start = 'class="start" href="javascript:SetAsStartPoint(\''+ titel +'\',\''+ lokal +'\',\'\',\'\',\'\',\''+ lat +'\',\''+ lon +'\');"';
	var stop = 'class="stop" href="javascript:SetAsStopPoint(\''+ titel +'\',\''+ lokal +'\',\'\',\'\',\'\',\''+ lat +'\',\''+ lon +'\');"';
	html = html.replace(/LINKSTART/g,start);
	html = html.replace(/LINKSTOP/g,stop);
	
	// Infowindow Mouseover
	GEvent.addListener(marker, "click", function() {
	    marker.openInfoWindowHtml(html);
	 });
		
}

// Tourrubriken
function LoadTourMarker(transport)
{
	
	var liste = transport.responseText.evalJSON();
	tourmarkers[tourkategorie] = new Array();	
	tourlines[tourkategorie] = new Array();	
	
	for (var i=0;i<liste.length; i++)
	{	
		point = new GLatLng(liste[i].Latitude,liste[i].Longitude);		
		
		/* Icon */
		if (liste[i].Icon != "") { ico_hotspots.image = "http://www.regionhall.at/de/images/map/icons/" + liste[i].Icon;}
		else {ico_hotspots.image = "http://www.regionhall.at/de/images/map/ico_hotspots.png"; }
			
		marker = new GMarker(point,{icon: ico_hotspots,title:liste[i].Titel});		
		tourmarkers[tourkategorie][i] = marker;		
		
		AddTourMarker(liste[i].TiscoverID, liste[i].Latitude, liste[i].Longitude, liste[i].Titel, liste[i].Html, liste[i].Strasse, liste[i].PLZ, liste[i].Ort, liste[i].Land,marker, point, liste[i].Points, liste[i].Schwierigkeit, i);
	}
	
	UnlockBoxes('TourCategorie');
	
}

// Inforubrik hinzufügen
function AddTourMarker(tiscoverid, lat, lon, titel, html, strasse, plz, ort,land, marker, point,points,schwierigkeit, i){
					
	// Marker
	map.addOverlay(marker); 
	
	var start = 'class="start" href="javascript:SetAsStartPoint(\''+ titel +'\',\''+ strasse +'\',\''+ plz +'\',\''+ ort +'\',\''+ land +'\',\''+ lat +'\',\''+ lon +'\');"';
	var stop = 'class="stop" href="javascript:SetAsStopPoint(\''+ titel +'\',\''+ strasse+'\',\''+ plz +'\',\''+ ort +'\',\''+ land +'\',\''+ lat +'\',\''+ lon +'\');"';
	var zoom = 'href="javascript:SetZoom('+ lat +', '+ lon +');"'
	html = html.replace('*START*',start);
	html = html.replace('*STOP*',stop);
	html = html.replace('*ZOOM*',zoom);
	
	// Linien zeichnen
	if (points != '') { tourlines[tourkategorie][i] = showtourline(points,schwierigkeit);} else {tourlines[tourkategorie][i] ="";}
	
	// Infowindow anzeigen
	if (itemid > 0) {
		 marker.openInfoWindowHtml(html);
		 itemid = 0;
	}
	
	// Infowindow Mouseclick
	GEvent.addListener(marker, "click", function() {
	    marker.openInfoWindowHtml(html);
	 });
	 
	// Infowindow Mouseover	
	GEvent.addListener(marker, "mouseover", function() {	   
	    GEvent.trigger(marker, "click");		
	 });
		
}

function showtourline(points,schwierigkeit) {
					
	var color = "#901A24";
	var line = new Array();
	var liste,point;
	
	// Farbe
	switch (schwierigkeit){
		case "1": { color="#0E1BC7"; break }
		case "2": { color="#E2001A"; break }
		case "3": { color="#000000"; break }
	}
	
	// Array 	
	liste = points.split(";")
	for (var i=0;i<liste.length;i++){
		point = liste[i].split("|");
		line.push(new GLatLng(point[0], point[1]));
	}	
	
	// Linie zeichnen 
	// if (lastpolyline != null) {map.removeOverlay(lastpolyline);}					
	var polyline = new GPolyline(line,color, 3, 0.80);
	lastpolyline = polyline
	map.addOverlay(polyline);	
	
	return polyline;			 								
	
}


// Tabs
function ChangeTabs(Tab)
{
	document.getElementById("tab_1").style.backgroundColor = "#FFFFFF";
	document.getElementById("tab_2").style.backgroundColor = "#FFFFFF";
	document.getElementById("tab_3").style.backgroundColor = "#FFFFFF";	
	document.getElementById("tab_4").style.backgroundColor = "#FFFFFF";	
	document.getElementById("tab_" + Tab).style.backgroundColor ="#A61A23";
	
	document.getElementById("tablink_1").style.color ="";
	document.getElementById("tablink_2").style.color ="";
	document.getElementById("tablink_3").style.color ="";
	document.getElementById("tablink_4").style.color ="";
	document.getElementById("tablink_" + Tab).style.color ="#FFFFFF";

}

function ShowTabs(Tab)
{
	
	tabselected = Tab;
	
	document.getElementById("map_acco").style.display = 'none';
	document.getElementById("map_info").style.display = 'none';
	document.getElementById("map_events").style.display = 'none';
	document.getElementById("map_touren").style.display = 'none';

	if (Tab==1){ document.getElementById("map_touren").style.display = 'block';}
	if (Tab==2){ document.getElementById("map_events").style.display = 'block';}
	if (Tab==3){ document.getElementById("map_acco").style.display = 'block';}
	if (Tab==4){ document.getElementById("map_info").style.display = 'block';}
	
	ChangeTabs(Tab);
	showblock('block_category');

}

// Suche - Block anzeigen
function showblock(name)
{	
	document.getElementById(name + "_titleopen").style.display="block";
	document.getElementById(name + "_titleclosed").style.display="none";
	document.getElementById(name + "_content").style.display="block";
}

// Suche - Block verbergen
function hideblock(name)
{	
	document.getElementById(name + "_titleopen").style.display="none";
	document.getElementById(name + "_titleclosed").style.display="block";
	document.getElementById(name + "_content").style.display="none";
}