if (!window.console) { console = function() { } }

$(function() {

	// promo buttons
	var promoElement = null;
	$('div.promo-button').hover(function() {
		promoElement = $(this);
		promoElement.animate({ opacity: 0.7, background: '#c1ca4a' });
	}, function() {
		promoElement.animate({ opacity: 1.0, background: '#ffffff' });	
	});

	// navigation
	turnOnActiveNavigation();
	
	// header animation
	$('img#bars').fadeIn(2000);
	
	// faqs animation
	$('dl#faqs dt').click(function(event) {
		var theClass = $(this).attr('id');		
		$('dl#faqs dd.' + theClass).slideToggle(200);
		$(this).toggleClass('on');
	});
	
		// timeline
	var autoPlay = true;
	var animating = false;
	var userHasInteractedWithTimeline = false;
	var numberOfSlides = $('#timeline-slides').children('li.timeline-slide').size();
	var currentSlide = 1;
	var startingSlide = 1;
	var timelineTimeout = null;
	var numberOfNavigationItems = $('#timeline-navigation ul').children('li.timeline-slide').size();
	var randomSlide = 1;
	var SLIDE_WIDTH = 960;
	var lastSlideNumber = 0;
	
	var lastSlide = $('#timeline-slides li').last();
	lastSlide.find('a.next').hide();
	
	function stopAutoPlay()
	{
		//console.log('stopAutoPlay()');
		clearTimeout(timelineTimeout);
	}
	
	function startAutoPlay()
	{		
		if(userHasInteractedWithTimeline == false)
		{
			//console.log('startAutoPlay()');
			doAnimation();
		}
	}
	
	function doAnimation()
	{
		while(randomSlide == currentSlide && numberOfSlides > 1)
		{
			randomSlide = Math.floor(Math.random() * numberOfSlides + 1);
		}
		
		//var currentTime = new Date ( );
		
		//console.log('S: ' + currentTime.getSeconds() + ', M:' + currentTime.getMinutes());
		
		clearTimeout(timelineTimeout);
		timelineTimeout = setTimeout(function() { animateToSlide(randomSlide); }, 8000);
	}

	
	function animateToSlide(slideNumber)
	{
		//console.log('slidenumber: ' + slideNumber);
		//$('#timeline-navigation ul li a').stop();
		$('#timeline-navigation ul li a[rel=' + lastSlideNumber + ']').css('backgroundColor', '#fff');
		
		lastSlideNumber = slideNumber;
		
		currentSlide = slideNumber;
		var newPosition = (Number(slideNumber) * SLIDE_WIDTH - SLIDE_WIDTH) * -1;
		
		var duration
		
		$('#timeline-slides').animate(
			{ left: newPosition + 'px' },
			{ duration: 1500, queue: false, easing: 'easeInOutSine'}
		);
		
		$('#timeline-navigation ul li a[rel=' + slideNumber + ']').stop()
			.animate({ backgroundColor: '#b7bbba', height: '32px', top: '-16px' }, { duration: 500, queue: true, easing: 'easeOutSine' })
			.animate({ backgroundColor: '#c1ca4a', height: '14px', top: '0px' }, { duration: 500, queue: true, easing: 'easeInSine' });

		if(userHasInteractedWithTimeline == false)
		{
			doAnimation();
		}
	}

	$('.timeline-next-prev').click(function(event) {
		
		event.preventDefault();
		
		stopAutoPlay();
		
		if($(this).hasClass('next')) {
			animateToSlide( parseInt(currentSlide) + parseInt(1) );
		} else {
			animateToSlide(currentSlide-1);
		}
	});

	$('div#timeline').hover(function() {
		stopAutoPlay();		
	}, function() {
		startAutoPlay();
	});
	
	$('div#timeline-navigation ul li a').click(function(event) {
		
		event.preventDefault();
		
		userHasInteractedWithTimeline = true;
		
		var slideToAnimateTo = $(this).attr('rel');
		animateToSlide(slideToAnimateTo);
	});
	
	$('div#timeline-navigation ul li a').hover(function() {
		$(this).animate({ backgroundColor: '#b7bbba', height: '32px', top: '-16px' },250, 'easeOutSine');
	}, function() {
		$(this).animate({ backgroundColor: '#fff', height: '14px', top: '0px' }, 500, 'easeInSine');
	});
	
	if(homepage) { startAutoPlay(); }
	

});


function e(id){ 
	return document.getElementById(id);
}


/*----------------- NAVIGATION ------------------*/

var str_active_nav_item = "";
var str_left_of_active_nav_item = "";
var str_active_nav_link = "";
var str_active_nav_timeout;
var str_current_nav_timeout;

function setActivePageUID(id) {
	str_active_page_uid = id;	
}

//DROP MENU MOUSE OVER ITEM
function turnOffCurrentNavigation() {
	clearTimeout(str_active_nav_timeout);
	
	if (typeof(str_active_nav_item) == "object") {
		str_active_nav_item.className="menuContent_menuOff";
	}
	if (typeof(str_left_of_active_nav_item) == "object") {
		str_left_of_active_nav_item.className="menuContent_menuLeftOff";
	
	}
	if (typeof(str_active_nav_link) == "object") {
		str_active_nav_link.className="menuContent_menuLinkOff";
	}
	str_active_nav_timeout = setTimeout("turnOnActiveNavigation()",500);
}

function uninitiateNavItem(obj) {
	str_current_nav_timeout = setTimeout("turnOffCurrentNavigation()",100);
}

function turnOffActiveNavigation() {
	if (str_active_page_uid.length > 0) {
		e("menuItem_" + Number(str_active_page_uid)).className="menuContent_menuOff";
		
		if (e("menuItem_" + Number(str_active_page_uid - 1))) {
			e("menuItem_" + Number(str_active_page_uid - 1)).className="menuContent_menuOff";
		}
	}
}

function initiateNavItem(obj) {	
	
	turnOffActiveNavigation();
	turnOffCurrentNavigation();
	
	clearTimeout(str_current_nav_timeout);
	clearTimeout(str_active_nav_timeout);
	
	var str = obj.id;
	var obj_id = str.split("_");
	
	// Reconstruct the string looking for the nav item to the left
	var left_of_obj = e(obj_id[0] + "_" + Number(obj_id[1] - 1));
	var str_active_link = e("menuLink_" + obj_id[1]);
	
	if (left_of_obj) {
		left_of_obj.className="menuContent_menuLeftOn";
		str_left_of_active_nav_item = left_of_obj;		
	}
	else {
	}
	// Change in the right image
	obj.className = "menuContent_menuOn";
	
	// Set the link text colour to white
	if (str_active_link) {
		str_active_link.className="menuContent_menuLinkOn";
		str_active_nav_link = str_active_link;
	}
	
	str_active_nav_item = obj;
}

function leaveNavItemOn() {
	clearTimeout(str_current_nav_timeout);	
	clearTimeout(str_active_nav_timeout);
}

//GREEN ACTIVE PAGE NAV
function turnOnActiveNavigation() {
	if (str_active_page_uid.length > 0) {
		e("menuItem_" + Number(str_active_page_uid)).className="menuContent_menuActiveOn";
		
		if (e("menuItem_" + Number(str_active_page_uid - 1))) {
			e("menuItem_" + Number(str_active_page_uid - 1)).className="menuContent_menuActiveLeft";
		}
		
	}
}
