// ### FUNKTIONEN ###

//Initialisierung für den Back-Button
jQuery(document).ready(function($){

    $.history.init(function(hash){
		//Wennn kein hash gesetzt wird, werden die Kacheln geladen
        if(hash == "") 
		{
			closeProject();
            buildPage();
        } 
		
		//Hash ist gesetzt
		else 
		{
			var hash = hash;
			ergebnis = hash.search('/');
			//Wenn im Hash ein / vorkommt, muss das Projekt geladen werden
			if(ergebnis != -1)
			{
				var temp = hash.split('/');
				var alias = temp[0];
				var id = temp[1];
				//wird noch kein Projekt dargestellt:
				if($('#stage').css('display') == 'none')
				{	
					//Projekt darstellen
					initProject(alias);
				}
				
				$('#display').hide().empty();
				$('#display').css('display','none').html("");
				$('#player').slideDown(300);
				
				temp = id.split('_');
				var medientyp = temp[0];
				if(medientyp=='video')
				{
					$('#display').load('services/media.php',{videoid: id});
				}
				else if(medientyp=='audio')
				{
					$('#display').load('services/media.php',{audioid: id});
				}
				else if(medientyp=='bild')
				{
					$('#display').load('services/media.php',{bildid: id});
				}
				
				function showLoadDisplay() 
				{
					setTimeout( function() {
					$('#display').show();
					}, 300);
				}
				showLoadDisplay();
				
			}
			//Wenn im Hash kein / vokommt, muss nur das Projekt gezeigt werden
			else
			{
				$('#display').hide().empty();
				$('#player').slideUp(200);
				initProject(hash);
			}

        }
    },
    { unescape: ",/" });
});

//Startvariabeln für die Filterung
var sortieren = 'datum';
var vertiefung = 'alle';

function filterKacheln(argument)
{
	if (argument == 'datum' || argument == 'bewertung' || argument == 'meisten')
	{
		window.sortieren = argument;
	}
	else
	{
		window.vertiefung = argument;
	}
	function delayLog(sortieren, vertiefung) 
	{
    	setTimeout( function() {
        $('#kacheln').load('services/kacheln.php',{sortieren: sortieren, vertiefung: vertiefung});
    	}, 100 );
	}
	delayLog(sortieren, vertiefung);
	$('#kacheln').delay(400).slideDown(300);
}
	
function buildPage()
{
	filterKacheln(vertiefung);
}

function closeProject()
{
	$('#display').empty();
	$('#rating_infobox').empty().hide();
	$('#stage').fadeOut(200);
	$('#player').fadeOut(200);
	$('#slider').fadeOut(200);
}

function initProject(alias)
{
	  var id = ($('[name='+alias+']').attr('id'));
	  if(typeof(id)=="undefined")
	  {
		  //Kachel-Div nicht vorhanden und kann deshalb die ID nicht rauslesen. 
		  //Über die folgende AJAX Funktion wird die ID aus der Datenbank geholt
		  showProjectAJAX(alias);
	  }
	  else
	  {	
		  //ID konnte aus Kachel-Div gelesen werden
		  showProjectId(id);
	  }
}

function showProjectId(id)
{	
	$('#x').fadeIn(200);
	$('#kacheln').fadeOut(100);
	$('#suchergebnis').empty();
	$('#title').empty();
	$('#medien').empty();
	$('#fade_slider').empty();
	$('#slider').hide();
	$('#stage').hide();
	$('#rating').load('services/rating.php',{projekt: id});
	$('#title').load('services/project_title.php',{projekt: id});
	$('#medien').load('services/medien.php',{projekt: id});
	$('#projektbeschreibung').load('services/projektbeschreibung.php',{projekt: id});
	$('#stage').delay(400).fadeIn(200);
	
	function showSlider(id)
	{
		setTimeout( function() {
		medium = $('.medien_slider:first').attr('id');
		$('.medien_slider:first').addClass('medien_slider_on');
		$('#fade_slider').load('services/slider.php',{medien: medium, projekt: id});
		$('#slider').slideDown(200);    	
		}, 400 );
	}
	showSlider(id);
	
}

function showProjectAJAX(input)
{	
	var id;
	  $.ajax
	  ({
		  url: 'services/showid.php',
		  data: ({projekt : input}),
		  type: "POST",
		  dataType: "html",
		  success: function(data) 
		  {
			  showProjectId(data);
		  }
	  });
	
	//alert(id);
	return id; 
}

function showHideSortieren()
{
	
	$('.sortieren').show();
	$('.sortieren_over').hide();
	
	if($('#fade_sortieren').css('display') == 'none'){
			$('#fade_sortieren').slideDown('slow');
			$('#down_sortieren').hide();
			$('#up_sortieren').show();
	}
	else{
			$('#fade_sortieren').slideUp('slow');
			$('#up_sortieren').hide();
			$('#down_sortieren').show();
			if(sortieren != 'datum'){
				closeProject();
				$('#kacheln').slideUp(300);
				filterKacheln('datum');
				$('#close_project').animate({ marginBottom:'20px'}, 200);
			}
			

	};
	$('#datum_over').css( 'marginTop', '0');
	$('#bewertung_over').css( 'marginTop', '20px');
	$('#meisten_over').css( 'marginTop', '40px');
	
	if($('#multimedia_over').css('display') == 'none' && $('#event_over').css('display') == 'none' && $('#radio_over').css('display') == 'none' && $('#web_over').css('display') == 'none' && $('#tv_over').css('display') == 'none' && $('#cc_over').css('display') == 'none' && $('#alle_over').css('display') == 'none'){
		$('#close_project').animate({ marginBottom:'20px'}, 200);
	}
	
}
	
function showHideMedientyp()
{
	$('.vertiefung').show();
	$('.vertiefung_over').hide();
	
	if($('#fade_vertiefung').css('display') == 'none'){
			$('#fade_vertiefung').slideDown('slow');
			$('#down_vertiefung').hide();
			$('#up_vertiefung').show();
	}
	else{
			$('#fade_vertiefung').slideUp('slow');
			$('#up_vertiefung').hide();
			$('#down_vertiefung').show();
			if(vertiefung != 'alle'){
				closeProject();
				$('#suchergebnis').empty().hide();
				$('#kacheln').slideUp(300);
				filterKacheln('alle');
				$('#close_project').animate({ margin:'0 0 20px 1px'}, 200);
			}
	};
	$('#video_over').css( 'marginTop', '0');
	$('#audio_over').css( 'marginTop', '20px');
	$('#bilder_over').css( 'marginTop', '40px');
	$('#dokumente_over').css( 'marginTop', '60px');
	$('#alle_over').css( 'marginTop', '80px');
		
	if($('#datum_over').css('display') == 'none' && $('#bewertung_over').css('display') == 'none' && $('#meisten_over').css('display') == 'none'){
		$('#close_project').animate({ margin:'0 0 20px 1px'}, 200);
	}
}

	
// ### EVENT-HANDLER ###

// ### Suchformular und Tabs ###

$('#search_div').live('click', function(e)
{
	if ($('#fade_search_div').css('display') == 'none')
	{
		$('#fade_search_div').slideDown(200);
		$('#search_div').css('background-image', 'url(img/up.png)');
	}
	else
	{
		$('#fade_search_div').slideUp(200);
		$('#search_div').css('background-image', 'url(img/down.png)');
	}
});

$('#suche').live('focusin',function() 
{
         $(this).val("");
});

$('#suche').live('focusout',function()
{
	if ($(this).val() === "")
	{
		$(this).val("SUCHBEGRIFF");
		$('#suchergebnis').empty().hide();
		buildPage();
	}
});

$('#suche').live('keyup', function(e)
{	
	$('#title').empty();
	$('#medien').empty();
	$('#fade_slider').empty();
	$('#slider').hide();
	$('#stage').hide();
	$('#kacheln').empty();
	$('#x').fadeOut(200);
	$('#suchergebnis').show();
	$.post('services/search.php', $("#suchformular").serialize(), function(data) 
	{
		$('#suchergebnis').html(data);
		fta = $('#suchergebnis #medien h3:first');
		$('#'+fta.attr('class')).show();
		$(fta).addClass('on');
	});

});

$('#suchformular').live('submit', function(e)
{
	e.preventDefault();
	$('#suche').keyup();
});

$('#suchergebnis #medien h3').live('click', function (e) 
{
	$('#suchergebnis > .tab_content').hide();
	$('#'+this.className).show();
	
	$('#suchergebnis #medien h3').removeClass('on');
	$(this).addClass('on');
	
	return false;
});

// ### Suchformular und Tabs Ende ###

$('#close_player', '#display').live('mouseenter', function(e){
	$(this).css('color','#cc0066');
});

$('#close_player', '#display').live('mouseleave', function(e){
	$(this).css('color','#666');
});

// Sortieren nach
$('.sortieren', '#navigation').live('mouseenter', function(e){
	$(this).css('color','#FFFFFF').toggleClass('bg');
});

$('.sortieren', '#navigation').live('mouseleave', function(e){
	$(this).css('color','#000').toggleClass('bg');
});

$('#sortieren', '#navigation').live('click', function(e){
	showHideSortieren();
});

$('#down_sortieren', '#navigation').live('click', function(e){
	showHideSortieren();
});

$('#up_sortieren', '#navigation').live('click', function(e){
	showHideSortieren();
});

$('.sortieren', '#navigation').live('click', function(e){
	closeProject();
	$('#suchergebnis').empty().hide();
	$('#x').fadeOut(200);
	$('#fade_sortieren').delay(300).slideUp('slow');
	var filter = $(this).attr('id');
	filterKacheln(filter);
	var id = '#'+$(this).attr('id')+'_over';
	$('.sortieren').hide();
	$('#up_sortieren').hide();
	$('#down_sortieren').show();
	$(id).show().delay(100).animate({ marginTop:'0'}, 200);
	$('#close_project').css('margin','0 0 40px 1px');
});


// Medientyp

$('.vertiefung', '#navigation').live('mouseenter', function(e){
	$(this).css('color','#FFFFFF').toggleClass('bg');
});

$('.vertiefung', '#navigation').live('mouseleave', function(e){
	$(this).css('color','#000').toggleClass('bg');
});

$('#vertiefung', '#navigation').live('click', function(e){
	showHideMedientyp();
});

$('#down_vertiefung', '#navigation').live('click', function(e){
	showHideMedientyp();
});

$('#up_vertiefung', '#navigation').live('click', function(e){
	showHideMedientyp();
});

$('.vertiefung', '#navigation').live('click', function(e){
	closeProject();
	$('#suchergebnis').empty().hide();
	$('#x').fadeOut(200);
	$('#fade_vertiefung').delay(300).slideUp('slow');
	var filter = $(this).attr('id');
	filterKacheln(filter);
	var id = '#'+$(this).attr('id')+'_over';
	$('.vertiefung').hide();
	$('#up_vertiefung').hide();
	$('#down_vertiefung').show();
	$(id).show().delay(100).animate({ marginTop:'0'}, 200);
	$('#close_project').css('margin','0 0 40px 1px');
});


// ### Kinomodus ###
var black = 0;
var kinomodus;

$('video').live('play', function(e)
{
	clearInterval(kinomodus); //clear previous intervals (when others videos have been watched)
	
	kinomodus = setInterval(function() 
	{
		if (black == 1)
		{
			h = $(document).height();
			$('#black').height(h).fadeIn(1400);
		}
		else
		{
			black = 1;
		}
	}, 4000);
	
	
}); 

$(document).mousemove(function(e)
	{
			$('.abstract').css('left',e.pageX + 20).css('top',e.pageY - 20); //gehört zu Abstract-Hover
			$('.bilder_over').css('left',e.pageX + 20).css('top',e.pageY - 20); //gehört zu Abstract-Hover
			$('.videos_over').css('left',e.pageX + 20).css('top',e.pageY - 20); //gehört zu Abstract-Hover
			$('#black').fadeOut(200);
			black = 0;
	});

$('video').live('pause ended', function(e)
{
	black = 0;
	clearInterval(kinomodus);
	$('#black').fadeOut(200);
});

//  ### Kinomodus Ende ###

// Kacheln

$('.kachel', '#kacheln').live('mouseenter', function(e){
	var id = '#abstract_'+$(this).attr('id');
    $(id).show();
});

$('.kachel', '#kacheln').live('mouseleave', function(e){
	var id = '#abstract_'+$(this).attr('id');
    $(id).hide();
});


$('.kachel', '#kacheln').live('click', function(e){
	//var id = $(this).attr('id');
	var title = $(this).attr('name');
	jQuery.history.load(title);
});


$('.medien_slider', '#medien').live('click', function(e){
	
	cl = $(this).attr('class');
	if (cl.match('medien_slider_on'))
	{
		$(this).removeClass('medien_slider_on');	
		$('#slider').slideUp(200);	
	}
	else
	{
		$('.medien_slider').removeClass('medien_slider_on');
		$(this).addClass('medien_slider_on');
		
		var medium = $(this).attr('id');
		var projektid = $('.projektid').attr('id');
		$('#fade_slider').empty();
		$('#fade_slider').load('services/slider.php',{medien: medium, projekt: projektid});
		$('#slider').hide().slideDown(200);
	}
});

$('.publizieren').live('mouseenter', function(e){
	$(this).addClass('publizieren_hover');
});

$('.publizieren').live('mouseleave', function(e){
	$(this).removeClass('publizieren_hover');
});

$('#slider_right').live('mouseenter', function(e){
	$('#slider_right').css('backgroundPosition','-20px 0');
});

$('#slider_right').live('mouseleave', function(e){
	$('#slider_right').css('backgroundPosition','0 0');
});

$('#slider_left').live('mouseenter', function(e){
	$('#slider_left').css('backgroundPosition','-20px 0');
});

$('#slider_left').live('mouseleave', function(e){
	$('#slider_left').css('backgroundPosition','0 0');
});

$('#slider_right').live('click', function(e){
	$('#scrollerDemocontent-scroll').scrollTo({top:'-=0px', left:'+=400'}, 500 );
});

$('#slider_left').live('click', function(e){
	$('#scrollerDemocontent-scroll').scrollTo({top:'-=0px', left:'-=400'}, 500 );
});

    
$('.videos', '#slider').live('click', function(e){
	var id = $(this).attr('id');
	alias = $('.alias').attr('id');
	jQuery.history.load(alias+"/"+id );
});


$('.audios', '#slider').live('click', function(e){
	var id  = $(this).attr('id');
	alias = $('.alias').attr('id');
	jQuery.history.load(alias+"/"+id );
});


$('.bilder', '#slider').live('click', function(e){
	var id  = $(this).attr('id');
	alias = $('.alias').attr('id');
	jQuery.history.load(alias+"/"+id);
});

$('#arrow_left').live('mouseenter', function(e){
	$('#arrow_left').css('backgroundPosition', '-10px 0');	
});

$('#arrow_left').live('mouseleave', function(e){
	$('#arrow_left').css('backgroundPosition', '0 0');	
});

$('#arrow_right').live('mouseenter', function(e){
	$('#arrow_right').css('backgroundPosition', '0 0');	
});

$('#arrow_right').live('mouseleave', function(e){
	$('#arrow_right').css('backgroundPosition', '-10px 0');	
});

$('#arrow_left').live('click', function(e){
	id = '#bild_'+$('#img').attr('class');
	prev = $(id).prev().attr('id');
	if(typeof prev != 'undefined')
	{
		$('#scrollerDemocontent-scroll').scrollTo({top:'-=0px', left:'-=113px'}, 200 );
		$('#display').load('services/media.php',{bildid: prev});
	}
	else
	{
		w = $('#scrollerDemocontent-holder').width() -758;
		$('#scrollerDemocontent-scroll').scrollTo({top:'-=0px', left:w+'px'}, 500 );
		last = $('.bilder').last().attr('id');
		$('#display').load('services/media.php',{bildid: last});
	}
});

$('#arrow_right').live('click', function(e){
	id = '#bild_'+$('#img').attr('class');
	next = $(id).next().attr('id');
	if(typeof next != 'undefined')
	{
		$('#scrollerDemocontent-scroll').scrollTo({top:'-=0px', left:'+=113'}, 200 );
		$('#display').load('services/media.php',{bildid: next});
	}
	else
	{
		$('#scrollerDemocontent-scroll').scrollTo({top:'-=0px', left:'0px'}, 500 );
		first = $('.bilder').first().attr('id');
		$('#display').load('services/media.php',{bildid: first});
	}
});

$(document).keydown(function(e){
    if (e.keyCode == 37 && $('#arrow_left').length != 0 || e.keyCode == 40 && $('#arrow_left').length != 0) 
	{ 
		id = '#bild_'+$('#img').attr('class');
		prev = $(id).prev().attr('id');
		
		if(typeof prev != 'undefined')
		{	
			$('#scrollerDemocontent-scroll').scrollTo({top:'-=0px', left:'-=113px'}, 200 );
			$('#display').load('services/media.php',{bildid: prev});
		}
		else
		{
			w = $('#scrollerDemocontent-holder').width() -758;
			$('#scrollerDemocontent-scroll').scrollTo({top:'-=0px', left:w+'px'}, 500 );
			last = $('.bilder').last().attr('id');
			$('#display').load('services/media.php',{bildid: last});
		}
    }
	
	else if (e.keyCode == 39 && $('#arrow_left').length != 0 || e.keyCode == 38 && $('#arrow_left').length != 0) 
	{
		id = '#bild_'+$('#img').attr('class');
		next = $(id).next().attr('id');
		if(typeof next != 'undefined')
		{
			$('#scrollerDemocontent-scroll').scrollTo({top:'-=0px', left:'+=113'}, 200 );
			$('#display').load('services/media.php',{bildid: next});
		}
		else
		{
			$('#scrollerDemocontent-scroll').scrollTo({top:'-=0px', left:'0px'}, 500 );
			first = $('.bilder').first().attr('id');
			$('#display').load('services/media.php',{bildid: first});
		}
	}
});


$('#close_player').live('click', function(){
	$('#display').hide().empty();
	$('#player').slideUp(200);
});

$('.audios', '#slider').live('mouseenter', function(e){
	var id = '#'+$(this).attr('id')+'_over';
	$(id).fadeIn(200);
});

$('.audios', '#slider').live('mouseleave', function(e){
	var id = '#'+$(this).attr('id')+'_over';
	$(id).fadeOut(100);
});

$('.dokumente', '#slider').live('mouseenter', function(e){
	var id = '#'+$(this).attr('id')+'_over';
	$(id).fadeIn(200);
});

$('.dokumente', '#slider').live('mouseleave', function(e){
	var id = '#'+$(this).attr('id')+'_over';
	$(id).fadeOut(100);
});

$('.videos', '#slider').live('mouseenter', function(e){
	var id = '#'+$(this).attr('id')+'_over';
    $(id).show();
});

$('.videos', '#slider').live('mouseleave', function(e){
	var id = '#'+$(this).attr('id')+'_over';
    $(id).hide();
});

$('.bilder', '#slider').live('mouseenter', function(e){
	var id = '#'+$(this).attr('id')+'_over';
    $(id).show();
});

$('.bilder', '#slider').live('mouseleave', function(e){
	var id = '#'+$(this).attr('id')+'_over';
    $(id).hide();
});


//X zum Schliessen der Stage
$('#x').live('click', function(e){
	closeProject();
	$('#x').fadeOut(200);
	$('#kacheln').delay(200).fadeIn(200);
	window.location.hash = '#';

});

$('.button').live('mouseenter', function(){
	$(this).css('backgroundColor','#666');
});

$('.button').live('mouseleave', function(){
	$(this).css('backgroundColor','#999');
});

$('#stern1', '#rating').live('mouseenter', function(e){
	$(this).toggleClass('stern_magenta');
});

$('#stern1', '#rating').live('mouseleave', function(e){
	$(this).toggleClass('stern_magenta');
});

$('#stern2', '#rating').live('mouseenter', function(e){
	$('#stern1', '#rating').toggleClass('stern_magenta');
	$(this).toggleClass('stern_magenta');
});

$('#stern2', '#rating').live('mouseleave', function(e){
	$('#stern1').toggleClass('stern_magenta');	
	$(this).toggleClass('stern_magenta');
});

$('#stern3', '#rating').live('mouseenter', function(e){
	$('#stern1', '#rating').toggleClass('stern_magenta');
	$('#stern2', '#rating').toggleClass('stern_magenta');
	$(this).toggleClass('stern_magenta');
});

$('#stern3', '#rating').live('mouseleave', function(e){
	$('#stern1', '#rating').toggleClass('stern_magenta');
	$('#stern2', '#rating').toggleClass('stern_magenta');		
	$(this).toggleClass('stern_magenta');
});

$('#stern4', '#rating').live('mouseenter', function(e){
	$('#stern1', '#rating').toggleClass('stern_magenta');
	$('#stern2', '#rating').toggleClass('stern_magenta');
	$('#stern3', '#rating').toggleClass('stern_magenta');
	$(this).toggleClass('stern_magenta');
});

$('#stern4', '#rating').live('mouseleave', function(e){
	$('#stern1', '#rating').toggleClass('stern_magenta');
	$('#stern2', '#rating').toggleClass('stern_magenta');		
	$('#stern3', '#rating').toggleClass('stern_magenta');		
	$(this).toggleClass('stern_magenta');
});

$('#stern5', '#rating').live('mouseenter', function(e){
	$('#stern1', '#rating').toggleClass('stern_magenta');
	$('#stern2', '#rating').toggleClass('stern_magenta');
	$('#stern3', '#rating').toggleClass('stern_magenta');
	$('#stern4', '#rating').toggleClass('stern_magenta');
	$(this).toggleClass('stern_magenta');
});

$('#stern5', '#rating').live('mouseleave', function(e){
	$('#stern1', '#rating').toggleClass('stern_magenta');
	$('#stern2', '#rating').toggleClass('stern_magenta');		
	$('#stern3', '#rating').toggleClass('stern_magenta');	
	$('#stern4', '#rating').toggleClass('stern_magenta');			
	$(this).toggleClass('stern_magenta');
});

$('.stern_magenta', '#rating').live('click', function(e){
	var ratingid = $(this).attr('id').substr(5,1);
	if(ratingid == '1')
	{
		frage = '<p>M&ouml;chten Sie das Projekt mit einem Stern bewerten?</p>';
	}
	else
	{
		frage = '<p>M&ouml;chten Sie das Projekt mit '+ratingid+' Sternen bewerten?</p>';
	}
	
	info = frage+'<div id="bewertung_ja" class="button_bewertung">JA</div><div id="bewertung_nein" class="button_bewertung">NEIN</div><div class="ratingid" id="'+ratingid+'"></div>';	
	$('#rating_infobox').empty().show().html(info);
});

$('#bewertung_nein').live('click', function(e){
	$('#rating_infobox').empty().hide();
});

$('#bewertung_ja').live('click', function(e){
	var ratingid = $('.ratingid').attr('id');
	var projektid = $('.projektid').attr('id');
	$('#rating_infobox').load('services/rating2.php',{rating: ratingid, projekt: projektid});
	function emptyInfobox() 
	{
    	setTimeout( function() {
		$('#rating_infobox').empty().hide();
		$('#rating').load('services/rating.php',{rating: ratingid, projekt: projektid});
    	}, 2000);
	}
	emptyInfobox();
});


$('.publizieren', '#display').live('click', function(){
	ar = this.id.split('_');
	if(ar[0] == 'video')
	{
		url = 'services/publizieren.php?p='+this.id+'&m=video';
	}
	else
	{
		url = 'services/publizieren.php?p='+this.id+'&m=audio';
	}
	fenster(url,600,550);
});

newwindow=false;
function fenster(url,breite,hoehe) {
	
  if(newwindow&&newwindow.closed==false)
    newwindow.close()
    var l = (screen.availWidth - breite) / 2;
    var t = (screen.availHeight - hoehe) / 2;
    newwindow = window.open(url,"newwindow","width=" + breite +
                                            ",height=" + hoehe +
                                            ",left=" + l +
                                            ",top=" + t + 
											",scrollbars=1;");
  newwindow.focus();
  
}
