$(document).ready( function() {
	mouseOverEffects();
	$(".sliding_header, .loading_img").hide();
	showActiveMenuItem();
	$('.container').click(function() 
	{
		containerClick(this);
	});
});
	
$(window).load( function() {
	$('.slideshow').cycle({
		fx: 'fade'
	});
});

function indexImageLink(linkId)
{
	var url = ''+window.location;
	var pageToGo = "portfolio.php?id=" + linkId;
	window.location = url.match(/index.php$/) ? url.replace("index.php", pageToGo) : url + pageToGo;
}


function showActiveMenuItem()
{
	var menuitem = $('#activeMenuItem').text();
	var elem = $('#' + menuitem + "_menuitem");
	elem.unbind();
	elem.children(".out").hide(); 
	elem.children(".over").show();
	showSubmenu(menuitem);
}

function showSubmenu(menuitem)
{
	if(menuitem == 'agentur' || menuitem == 'prozess' || menuitem == 'referenzen' || menuitem == 'kompetenzen')
	{
		$("#submenu_over").show();
		$("#submenu_out").hide();
	}
	else
	{
		$("#agentur_box, #submenu").hover(
			function(){$("#submenu_over").show();$("#submenu_out").hide();},
			function(){$("#submenu_out").show();$("#submenu_over").hide();}
		);
	}
}

function activateLinkHovering()
{
	$(".over").hide();
	$("a, .link").hover(
		function(){	$(this).children(".out").hide(); $(this).children(".over").show();},
		function(){	$(this).children(".over").hide(); $(this).children(".out").show();}
	);
	$(".container").hover(
		function(){	
			$(this).children(".caption").children(".link").removeClass('link').addClass('active');
		},
		function(){	
			$(this).children(".caption").children(".active").removeClass('active').addClass('link');
		}
	);
}

function mouseOverEffects()
{
	activateLinkHovering();
	$("#footer_box_1_img_over, #footer_box_2_img_over, #footer_box_3_img_over").hide();
	$(".footer_box_1, .footer_box_2, .footer_box_3").addClass("footerOut");
	$(".footer_box_1").hover(
		function(){
			$(".footer_box_1").addClass("footerOver").removeClass("footerOut");
			$("#footer_box_1_img_out").hide();
			$("#footer_box_1_img_over").show();
		},
		function(){
			$(".footer_box_1").addClass("footerOut").removeClass("footerOver");
			$("#footer_box_1_img_over").hide();
			$("#footer_box_1_img_out").show();
		}
	);
	$(".footer_box_2").hover(
		function(){
			$(".footer_box_2").addClass("footerOver").removeClass("footerOut");
			$("#footer_box_2_img_out").hide();
			$("#footer_box_2_img_over").show();
		},
		function(){
			$(".footer_box_2").addClass("footerOut").removeClass("footerOver");
			$("#footer_box_2_img_over").hide();
			$("#footer_box_2_img_out").show();
		}
	);
	$(".footer_box_3").hover(
		function(){
			$(".footer_box_3").addClass("footerOver").removeClass("footerOut");
			$("#footer_box_3_img_out").hide();
			$("#footer_box_3_img_over").show();
		},
		function(){
			$(".footer_box_3").addClass("footerOut").removeClass("footerOver");
			$("#footer_box_3_img_over").hide();
			$("#footer_box_3_img_out").show();
		}
	);
}

var oldContainer;

function containerClick(elem)
{
	var elemId = (elem.id).substr(9);
	if(oldContainer != null)
	{
			closeAndOpen(oldContainer, elemId);
	}
	else
	{
		openContainer(elemId);
	}
}

function closeContainer(elemId)
{
	var oldRowId = Math.ceil(elemId/4);
	$("#hidden_row_container"+oldRowId).slideUp(400, function() {
		$("#hidden_row_container"+oldRowId).empty();
		$.scrollTo($("#row"+oldRowId), 1000, {easing:'easeInOutQuart', axis: 'y'});
	});
}

function openContainer(elemId)
{
	oldContainer = elemId;
	showGallery(elemId);
}

function closeAndOpen(elemToClose, elemToOpen)
{
	oldContainer = elemToOpen;
	var oldRowId = Math.ceil(elemToClose/4);
	$("#hidden_row_container"+oldRowId).slideUp(400, function() {
		$("#hidden_row_container"+oldRowId).empty();
		$.scrollTo($("#row"+oldRowId), 1000, {easing:'easeInOutQuart', axis: 'y'});
		showGallery(elemToOpen);
	});
}

function showGallery(elemId)
{
	var loadingIcon = $('#container' + elemId + '_loading');
	loadingIcon.show();
	var rowId = Math.ceil(elemId/4);
	
	/**
	 * Die Reihenfolge ist hier wichtig.
	 */
	$("#hidden_row_container"+rowId).load("gallery.php?id="+elemId, function() {
		$("#hidden_row_container"+rowId).slideDown(400);
		loadingIcon.hide();
		$('.ad-gallery').adGallery({
			effect: "fade",
			description_wrapper: $('#pictureCaption'),
			slideshow: {
				speed: 3000,
				start_label: 'images/gallery/gallery_play',
				stop_label: 'images/gallery/gallery_pause'
			},
		    callbacks: {
			    // This gets fired right before old_image is about to go away, and new_image
			    // is about to come in
			    beforeImageVisible: function(new_image, old_image) {
			    	if(this.current_description)
			    		this.current_description.remove();
			    }
		    }
		});
		activateLinkHovering();
		showActiveMenuItem();
		$('.ad-slideshow-controls').appendTo($('#ad-slideshow-controls-container'));
		$('.ad-info').appendTo($('#ad-info_container'));
		$('.ad-prev, .ad-next, .ad-slideshow-stop, .ad-slideshow-start').hover(
			function(){	$(this).children(".out").hide(); $(this).children(".over").show();},
			function(){	$(this).children(".over").hide(); $(this).children(".out").show();}
		);
		$.scrollTo($("#gallery"), 1000, {easing:'easeInOutQuart', axis: 'y', offset: -25});
	});
}

function kontaktSubmit()
{
	$('#kontakt_form').ajaxSubmit({ 
		url: 'formular.php',
		dataType: 'json', 
		type: 'post',
		success: showResponse
	});
}

function showResponse(data, statusText, xhr, $form)  { 
	$('.errorMarker').remove();
	if(data.status == 'error'){
		$('#error').show().css('display','inline');
		$('#submit').show();
		$('<img class="errorMarker" src="images/kontakt/kontakt_x.png" alt="X" />').appendTo($('#'+data.feld+'_error_label'));
	}
	else {
		$('#kontakt_content').empty().prepend("<div id='message'></div>");
		$('#message')
		.html('<span class="blue" style="font-size: 12px; font-weight: bold">Vielen Dank f&uuml;r Ihre Nachricht. Wir werden<br/>uns schnellstm&ouml;glich um Ihr Anliegen k&uuml;mmern!</span>')
		.hide().fadeIn(1000);
	}
} 

function toogleGalleryPart(partToHide, partToShow)
{
	$('#'+partToHide).fadeOut(
		'normal', 
		function() {
			$('#'+partToShow).fadeIn(
					'normal');
		}
	);
	$('#show_' + partToHide + '_link').removeClass('active').addClass('link');
	$('#show_' + partToShow + '_link').removeClass('link').addClass('active');
}

