jQuery(function($) {
	
	var side_padding = 0;
	
	function distribute_nav_links() {
		var nav = $('#nav');
		var nav_width = nav.width();
		var links_total_width = 0;
		var links = nav.find('> ul > li > a');
		links.each(function(index, item) {
			links_total_width += $(item).width();
		});
		side_padding = parseInt(((nav_width - links_total_width) / (links.length + 1)));
		
		$('#nav > ul > li > a').css('padding', '5px 0 7px ' + side_padding + 'px');
		//$('#nav ul li a').css('padding', '6px ' + side_padding + 'px');
		//$('#nav ul li:first-child a').css('padding', '6px ' + side_padding*2 + 'px');
		$('#nav > ul > li:last-child > a').css('padding-right', '0px');
	}
	
	$(window).resize(function() {
		$('#footer .pointer').width($('#page').width());
		if ($('#nav > ul > li.current-menu-item').length) {
			$('#nav > ul > li.current-menu-item > ul > li > a.first').css('padding-left', ($('#nav > ul > li.current-menu-item > a').position().left + side_padding + 'px'));
		} else if ($('#nav > ul > li.current-page-ancestor > a').position()) {
			$('#nav ul li.current-menu-item').parent().find('a.first').css('padding-left', ($('#nav > ul > li.current-page-ancestor > a').position().left + side_padding + 'px'));
		}
		
		var inner_page_ancestor = $('#nav li.current-page-ancestor li.current-page-ancestor');
		if (inner_page_ancestor.length) {
			inner_page_ancestor.find('a').css('padding-left', (inner_page_ancestor.parent().parent().find('> a').position().left + side_padding + 'px'));
		}
		
		distribute_nav_links();
	});
	
	$(document).ready(function($) {
		distribute_nav_links();
		
		//$('#nav').append('<div class="white-bgholder">&nbsp;</div>');
		
		$('#nav li:first-child > a').addClass('first');
		$('#nav ul li ul li a:first').addClass('firstSub');
		$('#nav li:last-child').addClass('last');
		
		$('.team_member_box').each(function() {
			var picture = $(this).find('.member_picture');
			var name = $(this).find('.member_name');
			var email = $(this).find('.member_email');
			var info = $(this).find('.member_info');
			
			info.hide();
			name.click(function() {
				if (name.hasClass('current_member')) {
					picture.hide();
					info.hide();
					name.removeClass('current_member');
				} else {
					$('.team_member_box .member_info, .team_member_box .member_picture').hide();
					$('.team_member_box .member_name').removeClass('current_member');
					name.addClass('current_member');
					info.show();
					picture.show();
				}
				return false;
			});
		});
		
		$('.toggle_visibility').each(function() {
			var trigger = $(this).find('.toggle_trigger');
			var content_container = $(this).find('.toggle_content_container');
			
			content_container.hide();
			
			trigger.click(function() {
				if (trigger.hasClass('trigger_active')) {
					trigger.removeClass('trigger_active');
					content_container.hide();
				} else {
					$('.toggle_visibility a.toggle_trigger').removeClass('trigger_active');
					$('.toggle_visibility .toggle_content_container').hide();
					
					trigger.addClass('trigger_active');
					content_container.show();
				}
				return false;
			});
		});
		
		$('.children .current-menu-item a, .sub-menu .current-menu-item a').html('<span>' + $('.current-menu-item a').html() + '</span>');
		
		if ($('.current-menu-item').length) {
			if ($('#nav > ul > li.current-menu-item').length) {
				$('#nav > ul > li.current-menu-item > ul > li > a.first').css('padding-left', ($('#nav > ul > li.current-menu-item > a').position().left + side_padding + 'px'));
			} else {
				$('#nav ul li.current-menu-item').parent().find('a.first').css('padding-left', ($('#nav > ul > li.current-page-ancestor > a').position().left + side_padding + 'px'));
			}
		}
		
		var inner_page_ancestor = $('#nav li.current-page-ancestor li.current-page-ancestor');
		if (inner_page_ancestor.length) {
			inner_page_ancestor.find('a').css('padding-left', (inner_page_ancestor.parent().parent().find('> a').position().left + side_padding + 'px'));
		}
		
		$('#nav .current-menu-item, #nav .current-menu-parent').addClass('current-menu');
		var duration = 200;
		var slideout_timeout = null;
		$('#nav > ul > li').hover(navigation_slide_down, function () {
			slideup_target = $(this);
			slideout_timeout = setTimeout(navigation_slide_up, 300);
		});
		// $('#nav > ul > li').hoverIntent({over: navigation_slide_down, out: navigation_slide_up, timeout: 300});
		
		function navigation_slide_down() {
			slide_down_target = $(this);
			if (slideout_timeout && (slideup_target[0] == $(this)[0])) {
				clearTimeout(slideout_timeout);
				slideout_timeout = false;
				return false;
			}
			
			if ($(this).hasClass('current-page-ancestor') && $(this).find('.children, .sub-menu').is(':visible')) {
				return;
			}
			
			$(this).find('.children, .sub-menu').stop(true, true);
			$('#nav .children:visible, #nav .sub-menu:visible').hide();
			$(this).find('li a.first').css('padding-left', ($(this).find('a').position().left + side_padding + 'px'));
			$(this).find('.children, .sub-menu').stop(true, true).slideDown(duration);
		}
		
		function navigation_slide_up() {
			if (slideup_target.closest('.current-page-ancestor').length == 0) {
				slideup_target.find('.children, .sub-menu').stop(true, true).hide();
				try {
					if (slideup_target.attr('id') == slide_down_target.attr('id')) {
						$('#nav > ul > li.current-menu, #nav > ul > li.current-page-ancestor').mouseenter();
					}
				} catch (error) {
					console.log(error);
				}
			}
			clearTimeout(slideout_timeout);
			slideout_timeout = false;
		}
		
		$(function () {
	        $('marquee').marquee('pointer').mouseover(function () {
	            $(this).trigger('stop');
	        }).mouseout(function () {
	            $(this).trigger('start');
	        }).mousemove(function (event) {
	            if ($(this).data('drag') == true) {
	                this.scrollLeft = $(this).data('scrollX') + ($(this).data('x') - event.clientX);
	            }
	        }).mousedown(function (event) {
	            $(this).data('drag', true).data('x', event.clientX).data('scrollX', this.scrollLeft);
	        }).mouseup(function () {
	            $(this).data('drag', false);
	        });
	    });
	});
	
	Cufon.replace('#nav > ul > li > a', { fontFamily : 'Avenir LT 55 Roman', hover: true });
	Cufon.replace('#nav > ul ul > li > a', { fontFamily : 'Avenir LT 55 Roman', hover: true });
	distribute_nav_links();
});

