/*
* Author:      Koch Kommunikation (http://www.koch-k.ch/)
*/

// OVERRIDING THE $-FUNCTION
jQuery.noConflict();

jQuery(function(){	   
	
	// count gallery items
	var elementCount = jQuery("#galleryItems > a.element").size();
	if (elementCount == 0) {
		jQuery('div.item').css({"display" : "none"});
		jQuery('div.mediaFooter').css({"display" : "none"});
	}
	if (elementCount == 1) {
		jQuery('div#prevNext').hide();
	}
	
	// Click navigation
	jQuery('#galleryItems a.element').click(function() {
		showImage(jQuery(this).attr( 'rel' ), jQuery(this).attr( 'title' ));
		jQuery('li.items').find('a.active').removeClass('active');
		jQuery(this).addClass('active');
		
		return false;
	});
	
	// Backward navigation
	jQuery('img.galleryLast').click(function() {
		prevElement = jQuery('#galleryItems').find('a.active');
		if(prevElement.index() == 0) {
			prevElement.removeClass('active');
			jQuery('#galleryItems').find('a.element:last').addClass('active');
		} else {
			prevElement.removeClass('active').prev().addClass('active');
		}
		showImage(jQuery('#galleryItems a.active').attr( 'rel' ), jQuery('#galleryItems a.active').attr( 'title' ));
		
		if(jQuery('#galleryContent > div.description').size()) {
			prevContent = jQuery('#galleryContent').find('div.active');
			if(prevContent.index() == 0) {
				prevContent.removeClass('active');
				jQuery('#galleryContent').find('div.description:last').addClass('active');
			} else {
				prevContent.removeClass('active').prev().addClass('active');
			}
		}

		return false;
	});
	
	
	// Forward navigation
	jQuery('img.galleryNext').click(function() {
		nextElement = jQuery('#galleryItems').find('a.active');
		if(nextElement.index() == elementCount-1) {
			nextElement.removeClass('active');
			jQuery('#galleryItems').find('a.element:first').addClass('active');
		} else {
			nextElement.removeClass('active').next().addClass('active');
		}
		showImage(jQuery('#galleryItems a.active').attr( 'rel' ), jQuery('#galleryItems a.active').attr( 'title' ));
		
		if(jQuery('#galleryContent > div.description').size()) {
			nextContent = jQuery('#galleryContent').find('div.active');
			if(nextContent.index() == elementCount-1) {
				nextContent.removeClass('active');
				jQuery('#galleryContent').find('div.description:first').addClass('active');
			} else {
				nextContent.removeClass('active').next().addClass('active');
			}
		}
		
		return false;
	});
	
	
	// Function for displaying single gallery items
	var activeContainer = 1;	
	var currentZindex = 98;
	
	var showImage = function(image, caption) {
		var currentContainer = activeContainer;
		if(activeContainer == 1) {
			activeContainer = 2;
		} else {
			activeContainer = 1;
		}

		// Make sure the new container is always on the background
		currentZindex--;
		
		// Set the background image of the new active container
		jQuery("#bgroundimg" + activeContainer).css({
			"background-image" : "url("+ image + ")",
			"display" : "block",
			"z-index" : currentZindex
		});
		
		// Hide the header text
		jQuery("#caption").css({"display" : "none"});
		
		
		// Set the new header text
		jQuery("#caption").html(caption)
		
		
		// Fade out the current container
		// and display the header text when animation is complete
		jQuery("#bgroundimg" + currentContainer).fadeOut('slow',function() {
			jQuery("#caption").fadeIn();
		});
	};

	
});
