/*
 * Joinpool Navigation
 * Copyright 2009 Sven Kaiser
 * www.joinpool.de
 * competence network
 *
 * Version 1.2   -   Updated: Nov. 17, 2009
 */
$(document).ready(function(){
	var mainImg = null;
	var currentClass = null;
	var currentLayer = 1;
	var currentClassName = 'joinpool';
	var nextIndex = 0;
	var navItems = new Array('joinpool', 'development', 'design', 'seo', 'it', 'project');
	var isSlideshowRunning = false;
	var pauseSlideshow = false;
	var slideshowTimeout = undefined;
	
	$('#teaser h1').after('<div class="previewLayer2"></div>');
	$('#teaser h1').before('<a href="javascript:;" id="slideToggle"></a>');
	
	$(".nav").children("li").each(function() {
		var current = "nav current-" + ($(this).attr("class"));
		var parentClass = $(".nav").attr("class");
		if (parentClass != current) {
			//$(this).children("a").css({backgroundImage:"none"});
		}
	});
	
	mainImg = $('.teaserContent');
	currentClass = $('.current-' + currentClassName);

	// create events for each nav item
	attachNavEvents(".nav", 0);
	attachNavEvents(".nav", 1);
	attachNavEvents(".nav", 2);
	attachNavEvents(".nav", 3);
	attachNavEvents(".nav", 4);
	attachNavEvents(".nav", 5);
	
	$.preloadImages("/image/logo-small.png", "/image/teaserContent-joinpool.png", "/image/teaserContent-development.png", "/image/teaserContent-design.png", "/image/teaserContent-seo.png", "/image/teaserContent-it.png", "/image/teaserContent-project.png");
	
	//Initialze slide rotation
	//setTimeout(function() { nextSlide(); }, 3000);
	startSlide();
	$('#slideToggle').click(function(e) { toggleSlide(); });
	
	function showImage(navItem) {
  	var teaser = $('#teaser');
  	var fileName = '/image/teaserContent-' + navItem + '.png';
  	
  	// image transition process
  	var oldLayer = currentLayer;
  	currentLayer = (currentLayer == 1) ? 2 : 1;
  	var oldPreviewLayer = teaser.find(".previewLayer" + oldLayer);
  	var previewLayer = teaser.find(".previewLayer" + currentLayer);
  	oldPreviewLayer.css({zIndex:9});

  	teaser.find('.previewLayer' + currentLayer).css('background-image', 'url('+fileName+')'); // change image
  	previewLayer.css({zIndex:10, opacity:0}).stop().stop().fadeTo(750, 1); // fadein new image
  }

	function attachNavEvents(parent, number) {
		var navItem = navItems[number];
		
		$(parent + " ." + navItem).mouseover(function() {
			$(this).append('<div class="nav-' + navItem + '"></div>');
			$("div.nav-" + navItem).css({display:"none"}).fadeIn(500);
			
			pauseSlide();
		}).mouseout(function() {
			$("div.nav-" + navItem).fadeOut(500, function() {
				$(this).remove();
			});

			if (!pauseSlideshow) {
				nextIndex = number;
				startSlide();
			}
		}).mousedown(function() {
			$("div.nav-" + navItem).attr("class", "nav-" + navItem + "-click");
		}).mouseup(function() {
			$("div.nav-" + navItem + "-click").attr("class", "nav-" + navItem);

			$(parent).removeClass('current-' + currentClassName);
			currentClassName = navItem;
			$(parent).addClass('current-' + navItem);
			
			showImage(navItem);
		});
	}
	
	function nextSlide() {
		if (nextIndex < 5) nextIndex += 1;
		else nextIndex = 0;
			
		showSlide(nextIndex);
		slideshowTimeout = setTimeout(function() { nextSlide(); }, 5000);
	}
	
	function pauseSlide() {
		isSlideshowRunning = false;
		
		if (slideshowTimeout) {
			clearTimeout(slideshowTimeout);
			slideshowTimeout = undefined;
		}
		$('#slideToggle').css('background-position', '0px 11px');
	}
	
	function startSlide() {
		if (!slideshowTimeout) {
			slideshowTimeout = setTimeout(function() { nextSlide(); }, 4500);
		}
		isSlideshowRunning = true;
		$('#slideToggle').css('background-position', '0px -11px');
	}
	
	function showSlide(number) {
		var navItem = navItems[number];
		oldClass = currentClass;
		currentClass.addClass('current-' + navItem);
		
		currentClass = $('.current-' + navItem);
		oldClass.removeClass('current-' + currentClassName);
		
		currentClassName = navItem;
		showImage(navItem);
	}
	
	function toggleSlide() {
		if (isSlideshowRunning) {
			pauseSlide();
			pauseSlideshow = true;
			$('#slideToggle').css('background-position', '0px 0px');
		}
		else {
			startSlide();
			pauseSlideshow = false;
			$('#slideToggle').css('background-position', '0px -11px');
		}
	}
});

jQuery.preloadImages = function()
{
  for(var i = 0; i<arguments.length; i++)
  {
    jQuery("<img>").attr("src", arguments[i]);
  }
}
