/***********************************************************************

Author:     Arno Hoogma
URL:        http://www.4rn0.nl

***********************************************************************/


if (typeof window.jQuery != 'undefined')
{
	
	$(function()
	{
		
		initOverlay();		
		
		var preload = new Image();
		preload.src = 'assets/layout/bg.details.png';
		
		
	});	
	
	/**
	 * Overlay
	 **/
	
	function initOverlay()
	{
		
		$('div#projects').append('<div id="project-overlay"></div><div id="project-details"><img src="" alt="" /><div></div><a id="prev">vorige</a><a id="next">volgende</a><a id="exit">sluiten</a></div>');
		
		$('div#projects > ul > li:has(ul)').addClass('active').click(function() {
			
			$(this).find('ul li:first a').addClass('current');
			$(this).addClass('current');
			
			$('div#project-details > img').attr('src', $(this).find('ul li:first a').attr('href') );
			$('div#project-details > img').attr('alt', $(this).find('ul li:first a').text() );
			$('div#project-details div').html('<h3>' + $(this).find('h3').text() + '</h3>');
			
			if ($(this).find('div').size()) {
				$('div#project-details div').append($(this).find('div').html());
			}			
			
			toggleControls($(this));
			setOffset();
			setHeight();
			
			$('div#project-overlay, div#project-details').show();
			
		});
		
		initNavigation();
		
	}
	
	function initNavigation()
	{
		
		$('a#prev, a#next').click(function() {
			
			if ($(this).attr('id') == 'next') {

				var target = $('div#projects ul a.current').parent().next().find('a');

				if (!$(target).size()) {
					target = $('div#projects li.current').find('li:first a');
				}
				
			}
			
			else {
				
				var target = $('div#projects ul a.current').parent().prev().find('a');
				
				if (!$(target).size()) {
					target = $('div#projects li.current').find('li:last a');
				}

			}

			$('div#projects ul a').removeClass('current');
			$(target).addClass('current');
			
			$('div#project-details > img').fadeTo(200, 0.1, function() {
				
				var preload = new Image();
				
				preload.onload = function() {

					$('div#project-details > img').attr('src', this.src).fadeTo(200, 1);
					this.onload = null;

				};

				preload.src = $(target).attr('href');
				
			});
						
			return false;
			
		});		
		
		$('a#exit, div#project-overlay').click(function() {
			
			$('div#project-details > img').attr('src', 'assets/layout/bg.blank.gif');
			$('div#projects > ul > li, div#projects ul a').removeClass('current');
			$('div#project-overlay, div#project-details').hide();
			
		});
		
	}
	
	function setOffset()
	{
		
		var top = 174;
		
		if ($(window).scrollTop() > top) {
			
			top = $(window).scrollTop();
			
			if ($(window).height() > $('div#project-details').outerHeight()) {
				top = $(window).scrollTop() + (($(window).height() - $('div#project-details').outerHeight()) / 2);
			}
			
		}
		
		$('div#project-details').css('top', top);
		
	}
	
	function setHeight()
	{
		
		var minHeight = $('div#project-details').outerHeight() + 45;
		
		if (minHeight > parseInt($('div#projects').css('height'))) {
			$('div#projects').css('minHeight', minHeight);
		}
		
		$('div#project-overlay').height($('div#container').height());
		
	}
	
	function toggleControls(element)
	{
		
		if ($(element).find('li').size() < 2) {
			$('a#prev, a#next').css('visibility', 'hidden');
		}
		
		else {
			$('a#prev, a#next').css('visibility', 'visible');
		}
		
	}
		
}