var activeIndex;

(function($){

	$.fn.magellanStyles = function() {
		
		// Add padding blocks to nav items
		var totalWidth = -25;
		var lastWidth = 60;
		activeIndex = $('> li > a', this).index($('> li .active', this));
		fullIndex = $('> li', this);
		
		$('> li', this).each(function(){

			var padLeft;
			var padRight;
			var index = fullIndex.index($(this));
			var link = $(this).children().closest('a');
			var linkClass = link.attr('class');
			var linkText = link.text();
			
			if (index-1 == activeIndex) {
				padLeft = '<span class="padding left both"></span>';
			} else {
				padLeft = '<span class="padding left"></span>';
			}
			if (index+1 == activeIndex) {
				padRight = '<span class="padding right both"></span>';
			} else {
				padRight = '<span class="padding right"></span>';
			}
			
			var replaceText = padLeft+'<span class="navText">'+linkText+'</span>'+padRight;
			
			link.html(replaceText);
			
			var currentWidth = $(this).width();
			totalWidth = totalWidth+lastWidth;
			$(this).css({
				'width': currentWidth+2+'px',
				'position': 'absolute',
				'padding' : 0,
				'top': 0,
				'left': totalWidth-(index*27)+'px'
			});
			
			if (linkClass == 'active') {
				$(this).addClass('active');
			};
			
			lastWidth = currentWidth;
			
		});
		
		// $(this).prepend('<li class="spacer"></li>');
		
	};

})(jQuery);

$(function() {
	
	// Add padding blocks to nav items	
	$('ul.nav').magellanStyles();
	$('#magellan_timeline ul').magellanStyles();
	
	// Main nav hover listener
	$('ul#nav>li').live('mouseenter mouseleave', function(event) {

		var li = $(this).parent().find('> li');
		var totalMenu = li.length;
		var selected = $(this);
		var index = li.index($(this)); // Remove 1 for spacer li
		var supernav = $('#supernav .supernav_container').eq(index);
		// Skip first item
		if (index < 0) {
			return false;
		}

		if (event.type == 'mouseenter') {
			selected.addClass('current');
			selected.children().closest('a').addClass('current');
			// Align last two to right
			if (index > (totalMenu - 4)) {
				indent = $(this).width() - (325); // .supernav_container width
				var indentValue = indent+'px';
				if($.browser.msie && $.browser.version=="6.0") {
					supernav.clone().appendTo($(this)).fadeIn(250).wrap('<div class="supernav_outer" style="left:'+indentValue+'" />');
				} else {
					supernav.clone().hide().appendTo($(this)).wrap('<div class="supernav_outer" style="left:'+indentValue+'" />').fadeIn(250);
				}
			} else {
				if($.browser.msie && $.browser.version=="6.0") {
					supernav.clone().appendTo($(this)).fadeIn(250).wrap('<div class="supernav_outer"></div>');
				} else {
					supernav.clone().hide().appendTo($(this)).wrap('<div class="supernav_outer" />').fadeIn(250);
				}
			}
		} else {
			selected.removeClass('current');
			selected.children().closest('a').removeClass('current');
			var openNav = $(this).find('.supernav_outer');
			openNav.fadeOut(250, function(){
										$(this).remove();
									});
		};
		
	});

	// Timeline hover listener
	$('#magellan_timeline ul.nav>li').live('mouseenter mouseleave', function(event) {

		var li = $(this).parent().find('> li');
		var totalMenu = li.length;
		var selected = $(this);
		var index = li.index($(this)); // Remove 1 for spacer li
		var supernav = $('#timeline_items .timeline_item').eq(index);
		
		// Skip first item
		if (index < 0) {
			return false;
		}

		if (event.type == 'mouseenter') {
			var pointerPos = ($(this).width() / 2) - 25;
			selected.addClass('current');
			selected.children().closest('a').addClass('current');
			// Align last four to right
			if (index > (totalMenu - 4)) {
				indent = $(this).width() - (362+7); // .timeline_item width
				var indentValue = indent+'px';
				if($.browser.msie && $.browser.version=="6.0") {
					supernav.clone().appendTo($(this)).fadeIn(250).wrap('<div class="timeline_outer" style="left:'+indentValue+'" />');
				} else {
					supernav.clone().hide().appendTo($(this)).wrap('<div class="timeline_outer" style="left:'+indentValue+'" />').fadeIn(250);
				}
				$(this).find('.timeline_item').prepend('<div class="pointer" style="right:'+pointerPos+'px;"></div>');
			} else {
				if($.browser.msie && $.browser.version=="6.0") {
					supernav.clone().appendTo($(this)).fadeIn(250).wrap('<div class="timeline_outer"></div>');
				} else {
					supernav.clone().hide().appendTo($(this)).wrap('<div class="timeline_outer" />').fadeIn(250);
				}
				$(this).find('.timeline_item').prepend('<div class="pointer" style="left:'+pointerPos+'px;"></div>');
			}
			// Add pointer
		} else {
			selected.removeClass('current');
			selected.children().closest('a').removeClass('current');
			var openNav = $(this).find('.timeline_outer');
			openNav.fadeOut(250, function(){
										$(this).remove();
									});
		};
		
	});

	// Nav & Timeline click listener
	$('ul.nav > li > a').live('click', function() {
		return false;
	});
		
});

function email_focus() {
	if ($(this).val() == 'your@email.com') {
		$(this).val('')
		$(this).removeClass('faded');
	}
}

function email_blur() {
	if ($(this).val() == '') {
		$(this).val('your@email.com')
		$(this).addClass('faded');
	}	
}

function subscribe_submit() {
	email = $('#email_field').val();

	$.post('subscribe.php?json=1', $('#subscribe_form').serialize(), subscribe_result, 'json');
	$('#subscribe_button').attr("disabled","disabled");
	$('.form_message').fadeOut('fast');
	$('#loading').fadeIn('fast');
	return false;
}

function subscribe_result(data) {
	$('#loading').hide();
	if (data.error) {
		display_message(data.error);
	} else {
		display_message(data.info, 'info')
	}
	$('#subscribe_button').removeAttr("disabled");
}

function display_message(msg, type) {

	if (!type) type = 'error';

	if (type == 'error') {
		$('#error_message').html(msg).fadeIn('slow');
		setTimeout('hide_error()', 4000);
	} else {
		$('#error_message').hide();
		$('#info_message').html(msg).fadeIn('slow');
	}
}

function hide_error() {
	$('#error_message').fadeOut('slow');
}


Cufon.replace('h1', { fontFamily: 'Magellan', 'hover': true });


