// Initialisiere 
var map, eventbounds, markers, lastpolyline;
var eventicons = new Array();
var points = new Array();

jQuery.noConflict();
jQuery(document).ready(function($){
	
	var von = new Date(document.getElementById("Feld_AbJahr").value, parseInt(document.getElementById("Feld_AbMonat").value)-1, document.getElementById("Feld_AbTag").value);
	if (document.getElementById("Feld_BisJahr") != null) {var bis = new Date(document.getElementById("Feld_BisJahr").value, parseInt(document.getElementById("Feld_BisMonat").value)-1, document.getElementById("Feld_BisTag").value);}
	$("#datepicker").datepicker({defaultDate:von,onSelect: function(dateText, inst){searchbydate();}});		
	
	// Datepicker Suche
	function searchbydate(){				
		var datum = $('#datepicker').datepicker('getDate');
		document.getElementById("Feld_Datum").value = datum.getDate() + '.' + (parseInt(datum.getMonth())+1) + '.' + datum.getFullYear() ;
		document.getElementById("Feld_AbTag").value = datum.getDate();
		document.getElementById("Feld_AbMonat").value = parseInt(datum.getMonth())+1;
		document.getElementById("Feld_AbJahr").value = datum.getFullYear();		
		document.getElementById("Feld_BisTag").value = datum.getDate();
		document.getElementById("Feld_BisMonat").value = parseInt(datum.getMonth())+1;
		document.getElementById("Feld_BisJahr").value = datum.getFullYear();						
		form_datepicker.submit();		
	}

});

//Suche - Warten, Progress
function showProgress()
{	
	document.getElementById("cockpit_wrapper").style.display = "none";
	document.getElementById("event_wait").style.display = "block";
	document.getElementById("waitimage").innerHTML = "<img src='images/events/loading.gif' border='0'>"; 
	window.scroll(0,0)
}

// 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";
}

// Suche - Karte anzeigen
function showmap()
{
	document.getElementById("event_map").style.display="block";
	document.getElementById("page_showmap").style.display="none";
    document.getElementById("page_hidemap").style.display="block";
}

// Suche - Karte verbergen 
function hidemap()
{
	document.getElementById("event_map").style.display="none";
	document.getElementById("page_showmap").style.display="block";
    document.getElementById("page_hidemap").style.display="none";
}

//Liste - Lade Hotelliste 
function loadlist(){
	
	//anzahl gemerkte Betriebe
	updateEventcounter();
	
	//checkboxes deativieren
	var checkboxes = document.getElementsByName("Feld_Eventcheck");
	for (var i=0; i < checkboxes.length; i++) {
		checkboxes[i].checked = false;
		document.getElementById("event_item_" + checkboxes[i].value).style.backgroundColor = "";	
	}
	
	//checkboxes aktivieren
	var eventlist = readCookie();
	
	if (eventlist != null) {
		var liste = eventlist.split("|");
		if (liste != null){		
			for (var i=0; i < checkboxes.length; i++) {
				for (var j=0; j < liste.length; j++) {
					if (liste[j] == checkboxes[i].value) {
						checkboxes[i].checked = true;
						document.getElementById("event_item_" + checkboxes[i].value).style.backgroundColor = "#F8EFD5";	
					}
				}
			}
		}		
	}
	
}


//Eventliste - hinzufügen
function updateEvent(checked,id)
{
	
	var eventlist = readCookie();
	
	// Hinzufügen oder löschen
	if (checked == true) {
		eventlist = eventlist + id + "|"
		createCookie(eventlist,1);
		document.getElementById("event_item_" + id).style.backgroundColor = "#F8EFD5";		
	}
	else {
		deleteEvent(id);
		document.getElementById("event_item_" + id).style.backgroundColor = "";	
	}
	
	updateEventcounter();

}

//Eventliste - hinzfügen
function checkEvent(id){
	updateEvent(true,id);
	loadlist();
}

//Eventliste - entfernen
function deleteEvent(id){
	var eventlist = readCookie();
	eventlist = eventlist.replace(id + "|", "");
	createCookie(eventlist,1);
}

//Eventliste - löschen 
function clearlist(){
	eraseCookie();
	loadlist();
}


//Eventliste - zähler
function updateEventcounter(){
	
	var eventlist = readCookie();
	var eventcounter = document.getElementById("eventlist_counter");
	
	if (eventlist != null) {
		var liste = eventlist.split("|");
		if (liste != null) {var counter = liste.length-1;}
		if (document.getElementById("options") !=null) {document.getElementById("options").style.display="block";}
	}
	else {
		var counter = 0;
		if (document.getElementById("options") !=null) {document.getElementById("options").style.display="none";}
	}
	
	if (eventcounter != null) {eventcounter.innerHTML = counter;}
	
}


//Cookie erstellen
function createCookie(value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else var expires = "";
	document.cookie = "WILDERKAISER_EVENTLISTE="+value+expires+"; path=/";
}

//Cookie lesen
function readCookie() {
	var nameEQ = "WILDERKAISER_EVENTLISTE=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

//Cookie löschen
function eraseCookie() {
	createCookie("",-1);
}

// Suche - Änderung Anreise
function changedate(){

	document.getElementById("Feld_BisJahr").value = document.getElementById("Feld_AbJahr").value
	document.getElementById("Feld_BisMonat").value = document.getElementById("Feld_AbMonat").value
	document.getElementById("Feld_BisTag").value = document.getElementById("Feld_AbTag").value
	
}

// Suche - Änderung Anreise Jahr
function changeyear(){
	
	if (document.getElementById("Feld_AbJahr").value != "" && document.getElementById("Feld_AbMonat").value != "" && document.getElementById("Feld_AbTag").value != ""){
		
		var date_now = new Date();
		var date_start = new Date(document.getElementById("Feld_AbJahr").value, parseInt(document.getElementById("Feld_AbMonat").value)-1, document.getElementById("Feld_AbTag").value);
		
		if (date_start.getTime() < date_now.getTime()) {
			document.getElementById("Feld_AbJahr").value = date_now.getFullYear();
			document.getElementById("Feld_AbMonat").value = date_now.getMonth() + 1;
			document.getElementById("Feld_AbTag").value = date_now.getDate();
		}
	
	}

}

function loadeventmap() {
				
	 if (GBrowserIsCompatible()) {
	
	       // Google Karte - Basiseinstellungen
	       map = new GMap2(document.getElementById("map"));
	       map.setCenter(new GLatLng( 47.500412,12.297702), 11);
	       //map.setMapType(G_PHYSICAL_MAP); 
	       alp.gmap.api.add(map);	
	       
	       //Bounds
	       eventbounds = new GLatLngBounds();
	       
	       // Controls
	    		//map.addControl(new GLargeMapControl());
	   		//map.addControl(new GMapTypeControl());	
	   		
	   		// Icons definieren
	     	eventicon = new GIcon();
		eventicon.iconSize = new GSize(22, 26);
		eventicon.iconAnchor = new GPoint(10, 22);
		eventicon.image = "/de/images/events/ico_events.png";	
		eventicon.infoWindowAnchor = new GPoint(10, 22);
		
			// Events
			loadeventlist();		
	   		map.setCenter(eventbounds.getCenter());
	   		
	   	}
	}	

 function addeventmarker(feratelid, lat, lon, titel, html){

	// Marker
	var point = new GLatLng(lat,lon);
	var marker = new GMarker(point,{icon:eventicon,title:titel});
	map.addOverlay(marker); 
	
	// Infowindow Mouseover
	GEvent.addListener(marker, "mouseover", function() {
	    marker.openInfoWindowHtml(html);
	 });
	 
	 // Action für Teaserbild
	document.getElementById("eventmaplink_" + feratelid).onclick = function() { showeventmarker(marker); };

	// Bounds erweitern
	eventbounds.extend(point);
		
}	

function showeventmarker(marker){								
	GEvent.trigger(marker, "mouseover");	
	document.getElementById("event_map").style.display = "block";
	window.scrollTo(0, document.getElementById("map").offsetTop);						
}  		    



