/**
 * @author Till Arfsten
 */

$(document).ready(function(e){
	 
	// $("#testausgabe1").append(subSiteId);
	
	$("#noScriptHeader").hide();
	
	function minHeightContentSection(){
	 			
		//Content - und Aside sections angleichen
		
		var ashe = $('#Sidebar').height();
		
		var che;
		if(subSiteId=="programm" || subSiteId == "anfahrt" || subSiteId == "tickets"){	
		 che = $('#contentSidebar').height();
		}else{			
		 che = $('#content').height();
		}
		//alert("contentHeight: " + che + " asideHeight: " + ashe );
		if(ashe > che){
			if(subSiteId=="programm"){	
			 	$('#eventList ul').css('min-height', ashe+5 + 'px');
			}else if(subSiteId=="team" || subSiteId=="jobs" || subSiteId=="werkstatt-news"){			
			 	$('#contentList').css('min-height', ashe  + 'px');
			}else if(subSiteId == "anfahrt" || subSiteId == "tickets"){		

			 	$('#textContentSidebar').css('min-height', ashe  + 'px');
			}else{			
			 	$('#content').css('min-height', ashe  + 'px');
			}
		}else if(ashe < che){
			$('#Sidebar').css('min-height', che -15 + 'px');		
			if(subSiteId=="programm"){	
			$('#Sidebar').css('min-height', che-26 + 'px');	
			}
		}
		
		var winH = $(window).height(); 
		var minFooterHeight;   
		
		if(subSiteId=="programm"){		
				
			minFooterHeight = winH - 320 - $('#contentSidebar').height();
		
		}else{
			
				minFooterHeight = winH - 320 - $('#content').height();
			
		}
		if(minFooterHeight < 150 ){
			minFooterHeight = 150;
		}
		
		if(subSiteId=="programm"){	
		 che = $('#contentSidebar').height();
		}else{			
		 che = $('#contentList').height();
		}
		ashe = $('#Sidebar').height();
		
		//var che = $('#content').height();
		$('footer').css('min-height', minFooterHeight + 'px');
		//alert("contentHeight: " + che + " asideHeight: " + ashe );
	}
	 	
	var eventListHeight=0; 
	
	function loadData(){
	   getTeaserFromDb();	
	   //getMenuFromDb();
	   
	    minHeightContentSection();
		switch(subSiteId){			
			
			case "programm":				
			   //getFilterNaviFromDb();
			   prepareFilterNavi();
			   //$("#activateFilterNavi").show();
			   eventListHeight=$('#contentSidebar').height()-20;
			   //alert("setEventList Height");
			   doEventOrga();
				break;
				
			case "team":				
			    //getTeamFromDb();		 
				break;
				
			case "werkstatt-news":
				//getNewsFromDb();
				break;
				
			case "cafe-programm":
				//getCafeEventsFromDb();
				break;
				
			case "venue":
				//getVenueFromDb();
				break;
								
			case "newsletter":
				setNewsletter();				
				break;
				
			case "jobs":
				//getJobsFromDb();
				break;
								
			case "anfahrt":
				showMap();
				//getTextContentFromDb(subSiteId);
				break;
								
			case "werkstatt-workshop":
				//getWorkshopTermineFromDb();
				break;
				
			default:
				//getTextContentFromDb(subSiteId);
				break;			
		}	 
			 
		//setFooter();	 
	 
	}
	
	function prepareFilterNavi () {
	  
		
		getEventsFromDb();		
		getFilterNaviFromDb();		
		
		var filterNaviSpan = '<li><a class="inline" href="#filterNavigation">Events filtern</a></li>';
		$("#navigationSub nav ul").append(filterNaviSpan);		
		//
		
		$(".inline").colorbox({inline:true, width:"30%"});
		
		
	}
	  
	  var filterNaviItems;
	  
	function getFilterNaviFromDb () {
	  	
		filterNaviItems=new Array();
		tmpAll=new Array();
		      
		var filterNaviDiv = '<div style="display:none"><div id="filterNavigation"><nav><ul></ul></nav></div></div>';
		$("#contentSidebar").prepend(filterNaviDiv);
		
		var firstBtn = '<li class="active" id="filterNaviItem0" value="0">ALLE</li>';
		var tmp1 = "filterNaviItem0";		//li id - string
		var tmp2 = 0;						//value - id eventgenre
		var tmp3 = true;					//active - bool
		tmpAll.push(tmp1);
		tmpAll.push(tmp2);
		tmpAll.push(tmp3);
		filterNaviItems.push(tmpAll);
		$("#filterNavigation nav ul").append(firstBtn);			      	
			      	
	  	$.getJSON('scripts/getFilterNavi.php', function(data) {  
		      $.each(data, function(key, val) {  
			      	var ausgabe = '<li id="filterNaviItem' + val['id'] + '" value="' + val['id'] + '" >' + val['title'] + '</li>';
			     	tmpAll=new Array();
			      	var tmp1 = "filterNaviItem"+ val['id'];		//li id - string
			      	var tmp2 = val['id'];						//value - id eventgenre
			      	var tmp3 = false;							//active - bool
			      	tmpAll.push(tmp1);
			      	tmpAll.push(tmp2);
			      	tmpAll.push(tmp3);
			      	filterNaviItems.push(tmpAll);
			      	
					$("#filterNavigation nav ul").append(ausgabe); 				
		        });
		        
		       $("#filterNavigation ul li").click(function(event){
					//alert("klicked... " )
					filterEventList(event.target.value, event.target.id);
				});
				
			   $("#filterNavigation").click(function(event){
					//activateFilterNavi(event.target.id);
					//colorbox.close("User added succesfully");

				});
				

		    });  
		
	  } 	  
	  
	 function activateFilterNavi(btnName) {
		
		   var clickedBtn = document.getElementById(btnName);
		   $(clickedBtn).toggleClass("active");		   
		   
		   var isAct = $(clickedBtn).hasClass("active");	
		   $("#filterNavigation").toggle(isAct);
		
		   if(!isAct){
		   		$.each(events, function(index, value) {
				   	 var evntListItem = document.getElementById(value.divId);
					 $(evntListItem).show();
				 			 
		  	   });
		  	   
		  	   $.each(filterNaviItems, function(ind, val) {
				   	 var tmpBtn = document.getElementById(val[0]);
				   	 var btnIsAct = $(tmpBtn).hasClass("active");	
		   
					 if(btnIsAct){$(tmpBtn).removeClass("active");}
				 			 
		  	   });
		   }
	  }
	  
	  function filterEventList(idToFilter, btnName) {
	   			   
		//  alert("klicked! suche nach idToFilter |" + idToFilter + "| ... suche nach btnName " + btnName);
		  
		  //Alle Filterbutton deaktivieren, geklickten aktivieren
		  
		   $.each(filterNaviItems, function(ind, val) { 
		   		var tmpBtn = document.getElementById(val[0]);
			    if($(tmpBtn).hasClass("active")){
			    	$(tmpBtn).removeClass("active");
			    }	
		   });
		   var clickedBtn = document.getElementById(btnName);
		   $(clickedBtn).addClass("active");		   

			ctrVisibleElements=0;
			//EventList Einträge zeigen / verstecken
		   $.each(events, function(ind, value) { 
		   		
				var evntListItem = document.getElementById(value.divId);
				$(evntListItem).hide();
				var myId = idToFilter.toString();
				
				var tmp = jQuery.inArray(myId, value.genreDef);

				//alert(value.title + " genreDef: " + value.genreDef + " genre isIn: " + tmp );
				var hasGenre=false;
				
				if(tmp != -1){
					hasGenre=true;
					//alert("found Genre!");
				}
		   		if(idToFilter == 0){
					$(evntListItem).show();		   			
		   		}
		  	  
		   		if(hasGenre){
					$(evntListItem).show();
					if(ctrVisibleElements==0){
						$(evntListItem).addClass("first");	
						//alert("first: " + value.titel);						
					}
					ctrVisibleElements++;	   			
		   		}
		  	  
		   });
		   resizeByNewEvent();
		   $.colorbox.close();
		   
	 }
	 
	 
	function showMap(){
		
		var ashe = $('#Sidebar').height() - 15;
		$('#map').css('min-height', ashe  + 'px');
		
		$("#map").goMap({ 
	        address: 'Mühlendamm 25, Flensburg, Germany', 
       		maptype: 'ROADMAP', 
	        zoom: 13
	    }); 
	    
	    $.goMap.createMarker({  
	        address: 'Mühlendamm 25, Flensburg, Germany',
	        id: 'info1', 
            html: { 
                content: 'Kulturwerkstatt Kühlhaus<br/>Mühlendamm 25<br/>24937 Flensburg', 
                popup: false 
            } 
	    }); 
	}
	
	jQuery.validator.setDefaults({
		debug: true,
		success: "valid"
	});
	
	function setSideNavi(){
		var sn = '<li><a href="kuehlhaus-anfahrt.html">ANFAHRT</a></li><li><a href="kuehlhaus-team.html">KONTAKT</a></li>';
		$("#navigationSide nav ul").append(sn);
			    		
	}
	
	function setNewsletter(){
		$("#navigationSide").hide();
		var nl1 = '<ul><li id="news1" class="active">NEWSLETTER ABBONIEREN</li><li id="news0">NEWSLETTER ABBESTELLEN</li></ul>';
		var nl2 = '<form id="newsletterForm"><input type="hidden" value="1" id="newsletterVal" name="newsletterVal" />';
		var nl3 = '<input type="text" id="newsletterInput" name="newsletterMail" placeholder=" Emailadresse eintragen" size="41" class="required email" />';
		var nl4 = '<input type="submit" id="newsLetterSubmitbutton" name="newsLetterSubmitbutton" value="Absenden" class="newsletterButton"></form>';
		var nl5 = '<p id="errorMsg" class="errorMsg">Bitte geben Sie eine gültige Emailadresse an!</p><p id="response" class="successMsg"></p>';
//var n='<form class="cmxform" id="newsletterForm" method="get" action=""><input type="hidden" value="1" id="newsletterVal" name="newsletterVal" /><input id="newsletterInput" name="email" size="25"  class="required email" /><input type="submit" id="newsLetterSubmitbutton" name="newsLetterSubmitbutton" value="Absenden" class="newsletterButton"></form>'
		
		$("#newsletter").append(nl1);
		$("#newsletter").append(nl2);
		$("#newsletter").append(nl3);
		$("#newsletter").append(nl4);
		$("#newsletter").append(nl5);
		//$("#newsletter").append(n);
		
		 var n1 = document.getElementById("news1");
		 
		 $(n1).click(function(event){
			setNewsletterVal(event.target.id);
		});
		 var n2 = document.getElementById("news0");
		 
		 $(n2).click(function(event){
			setNewsletterVal(event.target.id);
		});
		
		var errMsg = document.getElementById("errorMsg");
		$(errMsg).hide();
		$("#response").hide();
		
		var btn = document.getElementById("newsLetterSubmitbutton");
		
		$(btn).click(function() { 
 
			    $(errMsg).hide();
			    var hasError = false;
			    var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
			    var emailblockReg =
			     /^([\w-\.]+@(?!gmail.com)(?!yahoo.com)(?!hotmail.com)([\w-]+\.)+[\w-]{2,4})?$/;
			 
			    var emailaddressVal = $("#newsletterInput").val();
			    if(emailaddressVal == '') {
			      $(errMsg).show();
			      hasError = true;
			      $("#navigationSide").hide();
			    }
			 
			    else if(!emailReg.test(emailaddressVal)) {
			      $(errMsg).show();
			      hasError = true;
			      $("#navigationSide").hide();
			    }
			 
			 	
			    if(hasError == false) {
			    	
			        $("#navigationSide").hide();
					var theHiddenField = document.getElementById("newsletterVal");
					var theVal = theHiddenField.value;
					var theText = "";
					var theSubject = "";
					var theMail = emailaddressVal;
					
					if(theVal == 0){
						theText ="Bitte diese Email Adresse aus dem Verteiler entfernen.";
						theSubject ="Aus dem Newsletter entfernen";
						$("#response").html("Die Adresse wird aus dem Verteiler entfernt.")
					}else if(theVal == 1){
						theText ="Bitte diese Email Adresse in den Newsletter - Verteiler aufnehmen.";
						theSubject ="Newsletter abbonieren";
						$("#response").html("Die Adresse wird in den Verteiler aufgenommen.")
					}
					
			    	//alert("Mail okay! val = " + theVal + " theText = " + theText + " theSubject = " + theSubject + " theMail = " +  theMail);
					
			    	var datastr ='mail=' + theMail + '&subject=' + theSubject + '&text=' + theText; 
			    	send(datastr);
			    
			    }else{window.setTimeout(hideErrMsg, 5000);}
			 	
			    });
		
		setSideNavi();
		
	}
	
	
	function send(datastr){
		$.ajax({	
			type: "POST",
			url: "scripts/mail.php",
			data: datastr,
			cache: false,
			success: function(html){
				
				$("#response").show();
				$("#response").fadeIn("slow");
				$("#response").html(html);
				setTimeout(hideErrMsg,5000);
				//alert("Mail erfolgreich gesendet!")
		}
		});
	}
	
	function hideErrMsg() {

		var errMsg = document.getElementById("errorMsg");
		$(errMsg).fadeOut("slow");
		$("#response").fadeOut("slow");
		setTimeout(showNaviSide,1000);
	}
	
	function showNaviSide() {		
		//$("#navigationSide").show();
	}
	function setNewsletterVal (btnName) {
		
		var btn0 = document.getElementById("news0");
		var btn1 = document.getElementById("news1");
		var theHiddenField = document.getElementById("newsletterVal");
		
		var btn0Act = $(btn0).hasClass("active");	
		var btn1Act = $(btn1).hasClass("active");	
		
		if(btnName == "news1"){
			//alert("getNews");
			if(!btn1Act){$(btn1).toggleClass("active");}
			if(btn0Act){$(btn0).toggleClass("active");}
			theHiddenField.value=1;
		}
		if(btnName == "news0"){
			if(btn1Act){$(btn1).toggleClass("active");}
			if(!btn0Act){$(btn0).toggleClass("active");}
			theHiddenField.value=0;
		}
		
			  
	}
	loadData();	
	
	//alert("loading Events ... ");
	function getTeaserFromDb(){
	  		$.getJSON('scripts/getTeaserJson.php', function(data) {  

		      events=new Array();
		      $.each(data, function(key, val) {
		      	 
		      //In switch die URL des konstruieren
		      var theUrl="";
		      switch(val['siteType']){
		      		
		      		case 'site':
		      			//alert("Found SiteTeaser");
		      			theUrl="";
		      			break;
		      		case 'event':
		      			//alert("Found SiteTeaser");
		      			theUrl="kuehlhaus-programm.php?eventId=" + val['id'];
		      			break;
		      		case 'workshop':
		      			//alert("Found SiteTeaser");
		      			theUrl="";
		      			break;
		      		default:
		      			alert("siteType doesnt match");
		      		
		      	}
		      	var teaserPic = '<a href="' + theUrl + '"><img width="950" height="260" src="pics/teaser/teaser-' + val['siteType'] + '-' + val['id'] + '.png" ></a>';
		      	$("#slider").append(teaserPic);
		    	//alert("Found teaserPic"+teaserPic);
		     
		      	
		        });
		    	
		    	startSlider();
		    	
		    });  
	   }
	
	 
	 
	 function constructLanguageNavi(){
	 	
	 	//alert("constructLanguageNavi");
	 	
	 	var ausgabe = '<div id="languageNavi"><nav><ul></ul></nav>';
		var gerBtn = '<li class="active" id="btnGer">DEUTSCH</li>';
		var engBtn = '<li id="btnEng" class="middle">ENGLISH</li>';
		var danBtn = '<li id="btnDan">DANSK</li>';
		
		$("#Sidebar").append(ausgabe); 
		$("#languageNavi nav ul").append(gerBtn);
		$("#languageNavi nav ul").append(engBtn);
		$("#languageNavi nav ul").append(danBtn);
		
		$("#languageNavi ul li").click(function(event){
			changeLanguage(event.target.id);
		});
				
	 }
	 
	 
	 function showLanguageNavi(eng, dan){
	 	
	 	//alert("showLanguageNavi eng: " + eng + " dan: " + dan);
	 	var bGer = document.getElementById('btnGer');
	 	var bEng = document.getElementById('btnEng');
	 	var bDan = document.getElementById('btnDan');
	 	
		if(eng && dan){
			$(bGer).show();
			$(bEng).show();
			$(bDan).show();
		}else if(eng && !dan){
			$(bGer).show();
			$(bEng).show();			
			$(bDan).hide();
		}else if(!eng && dan){
			$(bGer).show();
			$(bDan).show();					
			$(bEng).hide();	
		}else{
			$(bGer).hide();
			$(bEng).hide();
			$(bDan).hide();
		}
		
				
	 }
	 
	 function setLanguageNaviActive (lang) {
	   
	 	var bGer = document.getElementById('btnGer');
	 	var bEng = document.getElementById('btnEng');
	 	var bDan = document.getElementById('btnDan');
	 	
	 //	alert("changeLanguage - button: " + btnName);
	 	
	 	if($(bGer).hasClass("active")){$(bGer).removeClass("active");}
	 	if($(bEng).hasClass("active")){$(bEng).removeClass("active");}
	 	if($(bDan).hasClass("active")){$(bDan).removeClass("active");}
		
	 //	alert("changeLanguage - fehler bei if hasClass! " );
	 	
	 	switch(lang){
	 		
	 		case 'ger':
				$(bGer).addClass("active");
				break;
	 		case 'eng':
				$(bEng).addClass("active");
				break;
	 		case 'dan':
				$(bDan).addClass("active");
				break;
	 		default:
				$(bGer).addClass("active");
				break;	 		
	 	}
	 }
	 
	 function changeLanguage(btnName){
	 	
	 	var bGer = document.getElementById('btnGer');
	 	var bEng = document.getElementById('btnEng');
	 	var bDan = document.getElementById('btnDan');
	 	
	 	if($(bGer).hasClass("active")){$(bGer).removeClass("active");}
	 	if($(bEng).hasClass("active")){$(bEng).removeClass("active");}
	 	if($(bDan).hasClass("active")){$(bDan).removeClass("active");}
	 	
	 	switch(btnName){
	 		
	 		case 'btnGer':
				printEvent(activeEvent.id, 'ger');
				break;
	 		case 'btnEng':
				printEvent(activeEvent.id, 'eng');
				break;
	 		case 'btnDan':
				printEvent(activeEvent.id, 'dan');
				break;
	 		default:
				printEvent(activeEvent.id, 'ger');
				break;	 		
	 	}
	 }
	   
	   
	   
	$.datepicker.regional['de'] = {clearText: 'löschen', clearStatus: 'aktuelles Datum löschen',
                closeText: 'schließen', closeStatus: 'ohne Änderungen schließen',
                prevText: '<zurück', prevStatus: 'letzten Monat zeigen',
                nextText: 'Vor>', nextStatus: 'nächsten Monat zeigen',
                currentText: 'heute', currentStatus: '',
                monthNames: ['Januar','Februar','März','April','Mai','Juni',
                'Juli','August','September','Oktober','November','Dezember'],
                monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun',
                'Jul','Aug','Sep','Okt','Nov','Dez'],
                monthStatus: 'anderen Monat anzeigen', yearStatus: 'anderes Jahr anzeigen',
                weekHeader: 'Wo', weekStatus: 'Woche des Monats',
                dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
                dayNamesShort: ['SO','MO','DI','MI','DO','FR','SA'],
                dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
                dayStatus: 'Setze DD als ersten Wochentag', dateStatus: 'Wähle D, M d',
                dateFormat: 'dd.mm.yy', firstDay: 1,
                initStatus: 'Wähle ein Datum', isRTL: false};
        $.datepicker.setDefaults($.datepicker.regional['de']);
	
/* 
	$(function() {
		$("#datepicker").datepicker({clickInput:true})
	});
	*/
	function parseDate(input, format) {
	  format = format || 'yyyy-mm-dd'; 
	  var parts = input.match(/(\d+)/g), 
	      i = 0, fmt = {};

	  format.replace(/(yyyy|dd|mm)/g, function(part) { fmt[part] = i++; });
	
	  return new Date(parts[fmt['yyyy']], parts[fmt['mm']]-1, parts[fmt['dd']]);
	}	
	var ctrctr=0;
	function Event(id, titel, titelEng, titelDan, subtitel, subtitelEng, subtitelDan, genreDef, date, timeAdm, timeStart, admission, admRed, admPre, admPreRed, admFam, infoText,infoTextEng,infoTextDan, urlArtist, urlTicket, urlCafe, picLogo, picUrl, picAuthor, picCaption){
		//alert("New Event - Titel: " + titel + " Ticket: " + urlTicket);
		this.id = id;
		
		this.titel = titel;
		this.titelEng = titelEng;
		this.titelDan = titelDan;
		
		this.subtitel = subtitel;
		this.subtitelEng = subtitelEng;
		this.subtitelDan = subtitelDan;
		
		this.eventDate = parseDate(date);
		//alert("Event - eventDate: " + this.eventDate);
		this.divId = "event"+ id.toString();
		this.infoText = infoText;
		this.infoTextEng = infoTextEng;
		this.infoTextDan = infoTextDan;
		
		this.hasEngData=false;
		this.hasDanData=false;
		
		if(this.subtitleEng != "" && this.subtitleEng != "null" && this.titleEng != "" && this.titleEng != "null" && this.infoTextEng != "" && this.infoTextEng != "null"){
			this.hasEngData=true;
		}
		
		if(this.subtitleDan != "" && this.subtitleDan != "null" && this.titleDan != "" && this.titleDan != "null" && this.infoTextDan != "" && this.infoTextDan != "null"){
			this.hasDanData=true;
		}
		
		this.timeAdmission = timeAdm;
		//alert("Event - timeAdmission: " + timeAdmission);
		this.timeStart = timeStart;
		//alert("Event - timeStart: " + timeStart);
		
		this.dateTitle = $.datepicker.formatDate('D', new Date(this.eventDate), {dayNamesShort: $.datepicker.regional['de'].dayNamesShort, dayNames: $.datepicker.regional['de'].dayNames, monthNamesShort: $.datepicker.regional['de'].monthNamesShort, monthNAmes: $.datepicker.regional['de'].monthNames});
		this.dayname = $.datepicker.formatDate('dd', new Date(this.eventDate), {dayNamesShort: $.datepicker.regional['de'].dayNamesShort, dayNames: $.datepicker.regional['de'].dayNames, monthNamesShort: $.datepicker.regional['de'].monthNamesShort, monthNAmes: $.datepicker.regional['de'].monthNames});
		this.dayMonthNumberList = $.datepicker.formatDate('dd.mm.', new Date(this.eventDate), {dayNamesShort: $.datepicker.regional['de'].dayNamesShort, dayNames: $.datepicker.regional['de'].dayNames, monthNamesShort: $.datepicker.regional['de'].monthNamesShort, monthNAmes: $.datepicker.regional['de'].monthNames});
		this.dayMonthNumber = $.datepicker.formatDate('dd.mm.yy', new Date(this.eventDate), {dayNamesShort: $.datepicker.regional['de'].dayNamesShort, dayNames: $.datepicker.regional['de'].dayNames, monthNamesShort: $.datepicker.regional['de'].monthNamesShort, monthNAmes: $.datepicker.regional['de'].monthNames});
		this.monthname = $.datepicker.formatDate('mm', new Date(this.eventDate), {dayNamesShort: $.datepicker.regional['de'].dayNamesShort, dayNames: $.datepicker.regional['de'].dayNames, monthNamesShort: $.datepicker.regional['de'].monthNamesShort, monthNAmes: $.datepicker.regional['de'].monthNames});
		
		this.timeStartList = timeStart.substring(0, 5);
		this.timeAdmList = timeAdm.substring(0, 5);
		
		this.genreDef = genreDef.split(',');
		//var tmp = jQuery.inArray("6", this.genreDef);
		//alert(this.titel + " nr. of genres " + genreDef.length + " 6 is in " + tmp);
		
		
		//Titel formatieren		 + ' | ' + events[i].timeStartList
		//this.detailTitle = '<div id="detailTitle"><h3> ' + this.dateTitle + ' | ' + this.timeStartList + ' Uhr ' + '</h3><h2>' + this.titel + '</h2><h4>'+ this.subtitel + '</h4>' + '</div>';
		this.detailTitle = '<div id="detailTitle"><h1>' + this.titel + '</h1><h2>'+ this.subtitel + '</h2></div>' ;
		this.detailTitleEng = '<div id="detailTitle"><h1>' + this.titelEng + '</h1><h2>'+ this.subtitelEng + '</h2></div>' ;
		this.detailTitleDan = '<div id="detailTitle"><h1>' + this.titelDan + '</h1><h2>'+ this.subtitelDan + '</h2></div>' ;
	
		this.picLogo = picLogo; 
		if(this.picLogo != ""){
			this.detailText =  '<div id="detailTextEvent">' + this.infoText+ '<p class="logoPartner">diese veranstaltung wird unterstützt von:<br/><img src="' + this.picLogo + '"></p></div>';		
			this.detailTextEng =  '<div id="detailTextEvent">' + this.infoTextEng+ '</div>';		
			this.detailTextDan =  '<div id="detailTextEvent">' + this.infoTextDan+ '</div>';			
		}else{
			this.detailText =  '<div id="detailTextEvent">' + this.infoText+ '</div>';		
			this.detailTextEng =  '<div id="detailTextEvent">' + this.infoTextEng+ '</div>';		
			this.detailTextDan =  '<div id="detailTextEvent">' + this.infoTextDan+ '</div>';
		}
		this.picUrl = picUrl;
		this.picAuthor= picAuthor;
		this.picCaption = picCaption;
		
		this.urlTicket= urlTicket;
	
		this.admission = admission;
		this.admRed = admRed;
		this.admPre = admPre;
		this.admPreRed = admPreRed;
		this.admFam = admFam;
		
		this.admissionAsString = trimAdmissionSting(this.admission.toString());
		this.admRedAsString = trimAdmissionSting(this.admRed.toString());
		this.admPreAsString = trimAdmissionSting(this.admPre.toString());
		this.admPreRedAsString = trimAdmissionSting(this.admPreRed.toString());
		this.admFamAsString = trimAdmissionSting(this.admFam.toString());
		
		this.timeString = '<div><span class="identifier">Einlass </span>' + this.timeStartList + '<span class="identifier"> Uhr | Beginn </span>' + this.timeAdmList + '<span class="identifier"> Uhr</div>';
	
		this.admString = "<h4>";		
		//Eintrittsausgabe formatieren
		if(this.admission == "0.00"){
			this.admString += 'EINTRITT FREI'; 
			
		}else{
			var hasVVK=false;
			
			if(this.admPre != "" && this.admPre != "0" && this.admPre != "0.00"){
				if(this.admPreRed != "" && this.admPreRed != "0" && this.admPreRed != "0.00"){
					this.admString += 'VVK ' + this.admPreAsString + ' EUR '; 
				}else{
					this.admString += 'VVK ' + this.admPreAsString + ' EUR + GEB '; 					
				}
				//VV erm nur wenn VV exisitert
				if(this.admPreRed != "" && this.admPreRed != "0" && this.admPreRed != "0.00"){				
					this.admString += ' / ' + this.admPreRedAsString + ' EUR + GEB'; 
				}
				hasVVK=true;
			}
			if(hasVVK){				
				this.admString += ' / AK ' + this.admissionAsString + ' EUR'; 
			}else{
				this.admString += 'AK ' + this.admissionAsString + ' EUR'; 
			}
			
			if(this.admRed != "" && this.admRed != "0" && this.admRed != "0.00"){
				this.admString += ' / ' + this.admRedAsString + ' EUR'; 
			}
						
			if(this.admFam != "" && this.admFam != "0" && this.admFam != "0.00"){
				this.admString += '<br/>FAMILIENPREIS (mehr Infos unter Tickets): ' + this.admFamAsString + ' EUR';
			}
			
			
		}		
		this.admString += "</h4>";
		//alert("Event - admFam: " + admFam);
		
		this.ticketAndArtistString = "";
		this.ticketOutput = "";
		
		if(this.urlTicket != '' && this.urlTicket != 'null'){
			this.ticketOutput = '<h4><a href="' + this.urlTicket + '" target="_blank"><img src="pics/ticket.png" alt="TICKET KAUFEN"></a></h4>'
			//alert (titel + " Has ticketAndArtistString... ");// + ticketAndArtistString);
			this.ticketAndArtistString += '<h4>';
			this.ticketAndArtistString += '<a href="' + this.urlTicket + '" target="_blank"><img src="pics/ticket.png" alt="TICKET KAUFEN"></a>'; 
			this.ticketAndArtistString += '</h4>';		
			//alert (titel + " Has TicketString..." + this.ticketAndArtistString);
		}	
		
		
		if(this.picLogo != "" && this.picLogo != null){
			this.picLogoOutput = '<p class="logoPartner"><img src="' + this.picLogo + '"></p>';
		}else{this.picLogoOutput = '';}
		
		this.titleOutput = '<h1>'+this.titel + '</h1>';
		this.dateOutput = '<h3>'+this.dateTitle + ' ' + this.dayMonthNumber+'</h3>';
		this.timeOutput = '<h4>EINLASS: ' + this.timeAdmList + ' / BEGINN: ' + this.timeStartList + '</h4>';
		
		if(this.picUrl != "" && this.picUrl != null){
			this.picOutput = '<img id="eventPic" src="' + this.picUrl + '" width="372" alt="' + this.picCaption + '">';
			if(this.picAuthor != "" && this.picAuthor != null){
				this.picOutput += '<p id="picCredit">Foto: ' + this.picAuthor + '</p>'
			}
		}else{this.picOutput = '';}
		this.textOutput = '<div id="detailTextEvent">' + this.infoText + '</div>';
		
		this.urlArtist = urlArtist;
		this.urlTicket = urlTicket;
		this.urlCafe = urlCafe; 
		
		this.ticketAndArtistString = "";
		
		//this.artistString = "";
		if(this.urlArtist != "" && this.urlArtist != "null"){
			this.ticketAndArtistString += '<p id="artistLink">';
			this.ticketAndArtistString += '<a href="' + this.urlArtist + '" target="_blank">MEHR INFORMATIONEN</a>'; 
			this.ticketAndArtistString += '</p>';
			
		}			
		
		//Ausgabe
		this.detailInfo= this.picLogoOutput + this.dateOutput + this.timeOutput + this.admString + this.ticketOutput + this.titleOutput+ this.picOutput +this.textOutput +this.ticketAndArtistString;
		
		
		
		
	};
	
	function trimAdmissionSting(str){
			
			
			var retVal=str.replace('.', ',');
			var last = retVal.slice(retVal.indexOf(','), retVal.length);
			if(last == ",00"){
				retVal =  retVal.slice(0, retVal.indexOf(','));
			}
			
			//alert("len: " + retVal.length + " komma an pos: " + retVal.indexOf(',') + " " +retVal + " | last: " + last);
			return(retVal );
		}
		

	
	var activeEventId=0;
	
	function getSingleEventFromDb(evId){
		
	//	alert("getSingleEventFromDb... " + evId);
		
		$.getJSON('scripts/getSingleEventJson.php', {evntId: evId}, function(data) {   
	  		$.each(data, function(key, val) {	  		
	  		//	alert("Got Event " + val['title']);
	  			$("#Sidebar").empty();
				var evnt = new Event(val['id'], val['title'], val['titleEng'], val['titleDan'], val['subtitle'], val['subtitleEng'], val['subtitleDan'], val['genredefinition'], val['eventDate'], val['timeAdmission'], val['timeStart'], val['admission'], val['admissionRed'], val['admissionPre'], val['admissionPreRed'], val['admissionFam'], val['eventText'],val['eventTextEng'], val['eventTextDan'], val['linkArtist'], val['linkTicket'], val['linCafe'], val['eventLogos'], val['picUrl'], val['picAuthor'], val['picCaption']);
		      	$("#Sidebar").append(evnt.detailInfo);
		      	activeEventId = evnt.id;
		   		//alert("activeEventId "+activeEventId);
		      	
		  		if(evnt.picOutput != ''){
		  			//alert("Has Pic!");
		  			$('#eventPic').load(function() {
					  // Handler for .load() called.
	  					resizeByNewEvent();
					});
		  		}
	  		});
	  		resizeByNewEvent();
	  	});
	}
	
	 	 
	 function getEventsFromDb(){
	  		$.getJSON('scripts/getEventsJson.php', function(data) {  
		      //var article = '';
		      //alert("Events loaded... ");
		      events=new Array();
		      $.each(data, function(key, val) {   																																													  					
		      	var evnt = new Event(val['id'], val['title'], val['titleEng'], val['titleDan'], val['subtitle'], val['subtitleEng'], val['subtitleDan'], val['genredefinition'], val['eventDate'], val['timeAdmission'], val['timeStart'], val['admission'], val['admissionRed'], val['admissionPre'], val['admissionPreRed'], val['admissionFam'], val['eventText'],val['eventTextEng'], val['eventTextDan'], val['linkArtist'], val['linkTicket'], val['linCafe'], val['eventLogos'], val['picUrl'], val['picAuthor'], val['picCaption']);
		      	events.push(evnt);
		        });
		       
		    	printEvents(events);		    	
		    	
		    });  
		
	   }
	   
	   function printEvents(arr){
	   	
		$("#eventList ul").empty();
		var ausgabe = '';
		var checkDate = '';
	 	//alert("PrintingEvents...");		
		for (var i = 0, j = arr.length; i < j; i++) {
			
			var activeDate = $('#Sidebar h3').text();
	 		//alert("activeTitle..." + activeDate);		
			
			checkDate = arr[i].dateTitle + ' ' + arr[i].dayMonthNumber;
	 		//alert("activeDate..." + activeDate+ "checkDate..." + checkDate);		
			 if(checkDate == activeDate){
			 	//alert("FOUND!! -> activeDate..." + activeDate+ "checkDate..." + checkDate);
			 	}
			
			var activeTitle = $('#Sidebar h1').text();
			
			if(arr[i].titel==activeTitle && checkDate == activeDate){	
				ausgabe = '<li class="active" id="event' + arr[i].id + '"><a href="kuehlhaus-programm.php?eventId=' + arr[i].id + '"><div class="eventListLeft"><div class="eventListMid">'  + arr[i].dayMonthNumberList + ' </div><div class="eventListLeftBottom">' + arr[i].dateTitle + ' ' + arr[i].timeStartList +  '</div></div><div class="eventListRight"><h3>' + arr[i].titel + ' </h3><h4> ' + arr[i].subtitel + '</h4></div></a></li>';
			}else{
				ausgabe = '<li id="event' + arr[i].id + '"><a href="kuehlhaus-programm.php?eventId=' + arr[i].id + '"><div class="eventListLeft"><div class="eventListMid">'  + arr[i].dayMonthNumberList + ' </div><div class="eventListLeftBottom">' + arr[i].dateTitle + ' ' + arr[i].timeStartList +  '</div></div><div class="eventListRight"><h3>' + arr[i].titel + ' </h3><h4> ' + arr[i].subtitel + '</h4></div></a></li>';
			}
			$("#eventList ul").append(ausgabe); 				
				
		 }
		 doEventOrga();
	};
	 
	function resizeByNewEvent(){
		
			$('#eventList ul').css('min-height', eventListHeight + 'px');
	
			var ashe = $('#Sidebar').height();
			var che = $('#contentSidebar').height();
			//alert("left: " + che + " | right: " + ashe);
			if(ashe > che){
				 $('#eventList ul').css('min-height', ashe+5 + 'px');				
			}else if(ashe < che){
				$('#Sidebar').css('min-height', che-26 + 'px');		
			}
			var ashe = $('#Sidebar').height();
			var che = $('#contentSidebar').height();
			//alert("left: " + che + " | right: " + ashe);
	}
	
	function loadEventDetailFromDb(evntId){
		
		$('#eventList ul li').each(function(ind){
			if($(this).hasClass("active")){
				$(this).removeClass("active");			
			}
			if($(this).hasClass("firstActive")){
				$(this).removeClass("firstActive");			
			}
		});
		
		var expr = document.getElementById(evntId);
		$(expr).addClass("active");
				
		var len = evntId.toString().length;
		var sub = evntId.substring(5, len);
		//alert("loadEventDetailFromDb ... id ... " + sub);
		getSingleEventFromDb(sub);
	}
	
	function doEventOrga(){		
			
			//alert("doEventOrga");
			$("#eventList ul li").click(function(event){
				//alert("Clicked..." + this.id);
				loadEventDetailFromDb(this.id);
				return false; 
			});
			
			$("#eventList ul li").hover(
		        function() {
					$(this).addClass("hovered");		
		        },
		        function() {
					$(this).removeClass("hovered");
		        }
			);
			
			$("#eventList ul li").first().addClass("first");
	}
	
	 function setupNextPrevNaviEvents(){
	 	
		var prv = document.getElementById("prevBtn");
		var nxt = document.getElementById("nextBtn");
				
		$(prv).click(function(event){
			var nextId = "";
			var prevId = "";
			
			for (var i = 0, j = events.length; i < j; i++) {
				alert
				if(events[i].id == activeEvent.id){
				//	alert("setupNextPrevNaviEvents found active"); 
					if(i > 0){
						prevId = events[i-1].divId;
					//	alert("..." + prevId); 
					}
					}
				}
				if(prevId != ""){
					changeActiveEvent(events, prevId);
				}
	
			});
			
		$(nxt).click(function(event){
			var nextId = "";
			var prevId = "";
			
			for (var i = 0, j = events.length; i < j; i++) {
				alert
				if(events[i].id == activeEvent.id){
				//	alert("setupNextPrevNaviEvents found active"); 
					
					if(i<events.length){
						nextId = events[i+1].divId;
					//	alert("..." + nextId); 
						}
					}
				}
				if(nextId != ""){
					changeActiveEvent(events, nextId);
				}
			});
	 }
	

	function getScrollY() {
	  var scrOfX = 0, scrOfY = 0;
	  if( typeof( window.pageYOffset ) == 'number' ) {
	    //Netscape compliant
	    scrOfY = window.pageYOffset;
	    scrOfX = window.pageXOffset;
	  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
	    //DOM compliant
	    scrOfY = document.body.scrollTop;
	    scrOfX = document.body.scrollLeft;
	  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
	    //IE6 standards compliant mode
	    scrOfY = document.documentElement.scrollTop;
	    scrOfX = document.documentElement.scrollLeft;
	  }
	  return [ scrOfY ];
	}
	
	$(window).scroll(function(){
		if(subSiteId == "programm"){
			if(getScrollY() > 453){
	    		$("#Sidebar")
	    		.stop()
				//.animate({"marginTop": ( getScrollY() - 453 ) + "px"}, "slow" , function(){
				//});
			}else{
				
	    		$("#Sidebar")
	    		.stop()
				//.animate({"marginTop": ( -12) + "px"}, "slow" , function(){
					
				//});
			}
		}
	});
	    	
	   
		var events;
  
  		
		
		
	  		
			
			
	function startSlider(){
		var startPicIndex = $.random(3);
		$('#slider').nivoSlider({
					
			effect: 'fade', // Specify sets like: 'fold,fade,sliceDown'
	        slices: 15, // For slice animations
	        boxCols: 8, // For box animations
	        boxRows: 4, // For box animations
	        animSpeed: 500, // Slide transition speed
	        pauseTime: 10000, // How long each slide will show
	        startSlide: startPicIndex, // Set starting Slide (0 index)
	        directionNav: false, // Next & Prev navigation
	        directionNavHide: false, // Only show on hover
	        controlNav: false, // 1,2,3... navigation
	        controlNavThumbs: false, // Use thumbnails for Control Nav
	        controlNavThumbsFromRel: false, // Use image rel for thumbs
	        controlNavThumbsSearch: '.jpg', // Replace this with...
	        controlNavThumbsReplace: '_thumb.jpg', // ...this in thumb Image src
	        keyboardNav: false, // Use left & right arrows
	        pauseOnHover: false, // Stop animation while hovering
	        manualAdvance: false, // Force manual transitions
	        captionOpacity: 0, // Universal caption opacity
	        prevText: 'Prev', // Prev directionNav text
	        nextText: 'Next', // Next directionNav text
	        beforeChange: function(){}, // Triggers before a slide transition
	        afterChange: function(){}, // Triggers after a slide transition
	        slideshowEnd: function(){}, // Triggers after all slides have been shown
	        lastSlide: function(){}, // Triggers when last slide is shown
	        afterLoad: function(){} // Triggers when slider has loaded
		});
	}
	
});

