var slideshow_active = new Array;

$(document).ready(function(){
	
	/*
	 * Content Boxen registrieren für die Slideshow
	 */
	$('.content_box_projekte').each(function(){
		slideshow_active[$(this).attr('id')] = false;
	});
	
 	/*
 	 * Ein-/Ausblenden der Subnavigation
 	 */
	var config = {
		sensitivity: 5,
		interval: 100,
		over: function() {
			if ($(this).children('ul')) {
				$(this).children('ul').fadeIn(500);
			}
		},
		timeout: 250,
		out: function() {
			if ($(this).children('ul')) {
	 			$(this).children('ul').fadeOut(250);
	 		}
		}
	};
	$("#navigation > ul > li").hoverIntent(config);
 	
 	/*
	 * Vertikales Scrollen bei Auswahl eines Submenüpunktes
	 */
	$("#subnavi > li > a").click(function(event){
 		jQuery.easing.def = "easeInOutSine";
 		var link = $(this).attr('href');
 		var posX = link.lastIndexOf("#");
 		var element_name = link.substr(posX, (link.length - posX));
 		// Abfrage, ob man sich schon auf der Zielseite befindet
 		if ($(element_name).position()) {
 			$('html,body').animate({scrollTop: $(element_name).position().top}, 1500);
 			event.preventDefault();
 			return false;
 		}
 	});
 	
 	/*
 	 * Ein-/Ausblenden des Bildmenüs
 	 */
 	window.setTimeout('initialFadeOut()', 2000);
 	
 	var config = {
		sensitivity: 5,
		interval: 80,
		over: function() {
	 		jQuery.easing.def = "easeInOutSine";
	 		$(this).find('.playpause').fadeIn(500);
	 		$(this).find('.navigation').animate({'bottom': '0px'}, 500);
		},
		timeout: 150,
		out: function() {
			jQuery.easing.def = "easeInOutSine";
	 		$(this).find('.playpause').fadeOut(250);
	 		$(this).find('.navigation').animate({'bottom': '-81px'}, 250);
		}
	};
	$(".slideshow").hoverIntent(config);
 	
 	/*
 	 * Einblenden des nächsten Submenüpunktes
 	 */
 	$(".vertical_navigation a").click(function(event){
 		jQuery.easing.def = "easeInOutSine";
 		element_name = $(this).attr('href');
 		$('html,body').animate({scrollTop: $(element_name).position().top}, 1500);
 		event.preventDefault();
 		return false;
 	});
 	
 	/*
 	 * Slideshow der Bilder
 	 */
 	$(".slideshow > .playpause").click(function(event){
 		var imagecontainer = $(this).parent().find('.slider');
 		var content_box_id = $(this).parent().parent().attr('id');
 		
 		var this_item = $(this);
 		
 		// Lazy Loading
 		if ($(imagecontainer).children('img').length == 1) {
 			var new_html = '';
 			for (var i = 1; i < lazy_load_pics[content_box_id].length; i++) {
 				new_html += '<img src="' + lazy_load_pics[content_box_id][i] + '" alt="Detailbild" width="780" height="424" />'; 
 			}
 			$(imagecontainer).children('img').after(new_html);
 			// Wait until all images have been loaded
 			$('#' + content_box_id).find('.slider img:last').load(function(){
 				if (slideshow_active[content_box_id] == false) {
 		 			slideshow(imagecontainer);
 		 			slideshow_active[content_box_id] = window.setInterval(function callFunc() { slideshow(imagecontainer); }, 5500);
 		 			$(this_item).attr({src: '/img/navigation/bildnavi_button_pause_on-trans.png'});
 		 		}
 		 		else {
 		 			window.clearInterval(slideshow_active[content_box_id]);
 		 			slideshow_active[content_box_id] = false;
 		 			$(this_item).attr({src: '/img/navigation/bildnavi_button_play_on-trans.png'});
 		 		}
 			});
 		}
 		else {
 			// Start immediately
 			if (slideshow_active[content_box_id] == false) {
 	 			slideshow(imagecontainer);
 	 			slideshow_active[content_box_id] = window.setInterval(function callFunc() { slideshow(imagecontainer); }, 5500);
 	 			$(this_item).attr({src: '/img/navigation/bildnavi_button_pause_on-trans.png'});
 	 		}
 	 		else {
 	 			window.clearInterval(slideshow_active[content_box_id]);
 	 			slideshow_active[content_box_id] = false;
 	 			$(this_item).attr({src: '/img/navigation/bildnavi_button_play_on-trans.png'});
 	 		}
 		}
 	});
 	
 	
 	
 	/*
 	 * Navigation innerhalb der Vorschaubilder
 	 */
 	var move_by = 106;
 	var display_width = move_by * 6;
 	var is_moving = false;
 	
 	$(".slider_container > .navigation > .left").click(function(event){
 		var inner = $(this).parent().find('.inner');
 		var inner_width = inner.children().length * move_by;
 		var max_left = display_width - inner_width;
 		
 		if (is_moving == false) {
 			var left = Number(inner.css('left').substr(0, inner.css('left').length - 2));
	 		if (left < 0) {
	 			is_moving = true;
	 			var new_position = left + move_by + 'px';
	 			inner.animate({'left': new_position}, 500, null, function(){is_moving = false});
	 		}
 		}
 	});
 	
 	$(".slider_container > .navigation > .right").click(function(event){
 		var inner = $(this).parent().find('.inner');
 		var inner_width = inner.children().length * move_by;
 		var max_left = display_width - inner_width;
 		
 		if (is_moving == false) {
 			var left = Number(inner.css('left').substr(0, inner.css('left').length - 2));
 			if (left > max_left && inner_width > display_width) {
	 			is_moving = true;
	 			var new_position = left - move_by + 'px';
	 			inner.animate({'left': new_position}, 500, null, function(){is_moving = false});
 			}
 		}
 	});
 	
 	/*
 	 * Hover der Hauptnavigation
 	 */
 	$("#navigation > ul > li > a > img").hover(function(event){
 		if ($(this).attr('class') != 'aktiv') {
	 		var src = $(this).attr('src');
	 		$(this).attr({'src': src.substr(0, src.lastIndexOf("_")) + '_high.gif'});
 		}
 	},
 	function(event){
 		if ($(this).attr('class') != 'aktiv') {
	 		var src = $(this).attr('src');
	 		$(this).attr({'src': src.substr(0, src.lastIndexOf("_")) + '_low.gif'});
 		}
 	});
 	
 	/*
 	 * Hover der kleinen Vorschaubilder
 	 */
 	$(".image_preview").hover(function(){
 		$(this).css({'background-image': 'url(/img/navigation/bildnavi_rahmen_aktiv.gif)'});
 	},
 	function(){
 		$(this).css({'background-image': 'url(/img/navigation/bildnavi_rahmen.gif)'});
 	});
 	
 });
 
 /*
  * Repositionierung des Bildes
  */
function rePosition(node, id)
{
	jQuery.easing.def = "easeInOutSine";
	
	// Select the content box of interest
	var content_box_id = $(node).parent().parent().parent().parent().parent().parent().attr('id');
	var slider = $('#' + content_box_id).find('.slider');
	
	// Lazy Loading
	if ($(slider).children('img').length == 1) {
		var new_html = '';
		for (var i = 1; i < lazy_load_pics[content_box_id].length; i++) {
			new_html += '<img src="' + lazy_load_pics[content_box_id][i] + '" alt="Detailbild" width="780" height="424" />'; 
		}
		$(slider).children('img').after(new_html);
		// Wait until all images have been loaded
		$('#' + content_box_id).find('.slider img:last').load(function(){
			$(slider).animate({scrollLeft: (id * 780)}, 1500);
		});
	}
	else {
		// Start immediately
		$(slider).animate({scrollLeft: (id * 780)}, 1500);
	}
	
	// Deactivate slide show
	if (slideshow_active[content_box_id] != false) {
		window.clearInterval(slideshow_active[content_box_id]);
		slideshow_active[content_box_id] = false;
		$('#' + content_box_id).find('.playpause').attr({src: '/img/navigation/bildnavi_button_play_on-trans.png'});
	}
	return false;
}

function slideshow(imagecontainer)
{
	var new_position = imagecontainer.scrollLeft() + 780;
	var imagecontainer_width = imagecontainer.children('img').length * 780;
	if (new_position >= imagecontainer_width) {
		new_position = 0;
	}
	imagecontainer.animate({scrollLeft: new_position}, 1500);
}

function initialFadeOut()
{	
	var node = $('.slideshow');
	jQuery.easing.def = "easeInOutSine";
	node.find('.playpause').fadeOut(1000);
	node.find('.navigation').animate({'bottom': '-81px'}, 1000);
}