/* Cufon
-------------------------------------------------------------- */

Cufon.replace('h2, h3');

/* jQuery
-------------------------------------------------------------- */

$(document).ready(function(){

	var containerTop = $('div.container.top');
	
	var navigation = $('div#navigation');
	
	var activeNav = $('div.main ul li.selected', navigation);
	
	var subNav = $('div.sub ul', navigation);
	
	if (activeNav.length==0)
		var navOffset = 0;
	else
		var navOffset = Math.ceil(activeNav.offset().left - containerTop.offset().left);

	
	/* Navigation
	-------------------------------------------------------------- */
	
	var strandClass;
	var strandHoverClass;
	
	// apply hover class
	$('div.main ul li', navigation).hover(function () {
		// Need to get the strand class name
		strandClass = $(this).attr('class').split(' ').slice(-1);
		if (strandClass!='' && strandClass!='last')
			strandHoverClass = strandClass+'-hover';
		else
			strandHoverClass = 'hover';
		$(this).addClass(strandHoverClass);
	}, 
	function () {
		$(this).removeClass(strandHoverClass);
	});


	// move the subnav, making an exception for the about link
	if ($('a', activeNav).hasClass('about'))
	{
		// Need to work out the width of the UL
		var subNavWidth = 0;
		
		$('li', subNav).each(function(){
		
			var width = parseInt($(this).width());
			
			var padding = parseInt($(this).css('padding-right'));
			
			if (!$(this).hasClass('last'))
				subNavWidth = subNavWidth + width;
			else
				subNavWidth = subNavWidth + (width-padding);
		});
	
		subNav.css('position', 'relative').css('left', navOffset-subNavWidth);
	}
	else
		subNav.css('position', 'relative').css('left', navOffset);
	
	
	/* Search box hint
	-------------------------------------------------------------- */
	
	$('input#q').hint();
	
	
	/* Browse widget
	-------------------------------------------------------------- */
	
	// What is the widget
	var widget = $('ul#browse');
	
	// Get the widget headers
	var headers = $('li.header', widget);
	
	// Get all the panels
	var panels = $('li.header > ul', widget);
	
	// Hide the panels
	panels.not('.selected', panels).hide();
	
	// If the header is clicked
	headers.find('a.header').click(function(){
	
		if ($(this).hasClass('selected'))
			$(this).removeClass('selected').parent().removeClass('selected').find('ul:first').removeClass('selected').slideUp();
		else
			$(this).addClass('selected').parent().addClass('selected').find('ul:first').addClass('selected').slideDown();

	
		return false;
	
	});
	
	/* Extended feature description */
	
	var extendedDescription = $('div#feature div.description div.extended');
	
	if (extendedDescription.length>0)
	{
		var moreLink = '<div class="show-extended"><a href="#">Read more</a></div>';

		$('div#feature div.description').append(moreLink);
	}

	
	$('div#feature div.show-extended a').toggle(function(){
	
		extendedDescription.slideDown();
		
		$(this).html('Hide').addClass('selected');
		
		return false;
	
	}, function(){
	
		extendedDescription.slideUp();
		
		$(this).html('Read more').removeClass('selected');
		
		return false;
	
	});
	
	/* Attachments navigation */
	var attachments = $('div#media');
	
	var attachmentsNav = $('div.navigation', attachments);
	
	// Hide all the panels
	$('div.panel', attachments).hide();
	
	// Which link is currently selected?
	var activePanel = $('a.selected', attachmentsNav).attr('href');
	
	$(activePanel+'.panel.', attachments).show();
	
	// When a nav link is clicked, do it.
	$('a', attachmentsNav).click(function()
	{
		$(this).addClass('selected').siblings().removeClass('selected');
		
		var activatePanel = $(this).attr('href');
		
		$(activatePanel+'.panel').show().siblings('.panel').hide();
		
		return false;
	});
	
	
	/* Images slideshow
	-------------------------------------------------------------- */
	
	if ($('div#media').length>0) {
	
		var i = 0;
		
		$('div#media div#images div.slides').after('<ul id="image-nav">').cycle({
			speed: 'fash',
	        timeout: 0,
	        pager:  '#image-nav',
	        pagerAnchorBuilder: function(idx, slide) {
	        	var src = $('img',slide).attr('src');
	        	i++;
	        	if (i%4==0)
	            	return '<li class="last"><a href="#"><img src="' + src + '" width="150" height="94" /></a></li>';
	            else
	            	return '<li><a href="#"><img src="' + src + '" width="150" height="94" /></a></li>';
	        }
	    });
    
    }
    
    
    /* Flowplayer
	-------------------------------------------------------------- */
    if ($('#player').length>0)
    {
	    
	    $f("player", { allowfullscreen: 'false', src: "/flowplayer/flowplayer-3.1.5.swf"}, {
			
			key: '#$c679d7814b8c7fa716f',
		 
		    // show playlist buttons in controlbar 
		    plugins:  { 
		        controls: { 
		        	url: '/flowplayer/flowplayer.controls-3.1.5.swf', 
		        	timeColor: '#f9f9f9',
		        	progressColor: '#666666',
		        	progressGradient: 'none',
		        	bufferColor: '#555555',
		        	bufferGradient: 'none',
		        	sliderColor: '#333333',
		        	buttonColor: '#555555',
		        	buttonOverColor:	'#333333',
		        	volumeSliderColor:	'#333333',
		        	tooltipColor: '#333333', 
		            playlist: true,
		            backgroundColor: '#f2f2f2',
		            fullscreen: false
		        } 
		    } 
	    
	    }).playlist("div.clips .clip", {loop:false});

	}
	
	/* Handle the video captions
	-------------------------------------------------------------- */
	
	$('.clips .clip a').click(function(){
	
		var caption = $(this).parent().find('div.caption').html();
	
		$('p#video-caption').html(caption);
	
	});
	
	
	/* Handle team thumbs
	-------------------------------------------------------------- */
	
	var $images = $('.user-thumb a img');
	
	$images.css('opacity', 0.75);

	$('.user-thumb').click(function(){
		
		var detail = $('a', this).attr('href');
		
		var image = $('a img', this);

		$(detail).fadeIn('fast').siblings().hide();
		
		image.css('opacity', 1);
		
		$images.not(image).css('opacity', 0.75);
		
		return false;
			
	});
	
	/* Open external links in new window
	-------------------------------------------------------------- */
	
	var h = window.location.host.toLowerCase();
	
	$("a[href^='http:']").not("a[href^='http://" + h + "']").attr('target','_blank');
	
	
});





