$(document).ready(function(){
	
	/// Browser Detect
	var browserApp = navigator.userAgent;
	
	if (browserApp.match('Mac')) {
		$("body").addClass('mac');
	}
	
	if (browserApp.match('Windows')) {
		$("body").addClass('win');
	}
	
	if (browserApp.match('MSIE 6.0')) {
		$("body").addClass('ie6');
	}
	
	if (browserApp.match('MSIE 7.0')) {
		$("body").addClass('ie7');
	}
	
	if (browserApp.match('MSIE 8.0')) {
		$("body").addClass('ie8');
	}
	
	if (browserApp.match('Mozilla')) {
		$("body").addClass('moz');
	}
	
	if (browserApp.match('Safari')) {
		$("body").addClass('safari');
	}
	
	if (browserApp.match('Chrome')) {
		$("body").addClass('chrome');
	}
	
	if (browserApp.match('Opera')) {
		$("body").addClass('opera');
	}
	
	/// Main Menu
	function applyMenuAttr () {
		var menuItems = $('#main-menu > li > a');
		var menuItemsWidth = 0;
		var menuDividers = ($(menuItems).length * 2) - 2;
		
		for (x=0;x<$(menuItems).length;x++) {
			if (x == 0) $(menuItems[x]).parent().addClass('first');
			menuItemsWidth += $(menuItems[x]).width();
			var menuItemID = $(menuItems[x]).html().replace(/ /g, "-");
			$(menuItems[x]).attr('id',menuItemID.toLowerCase());
			if (x == $(menuItems).length - 1) $(menuItems[x]).parent().addClass('last');
		}
		
		var freespace = parseInt($('#main-menu').width() - menuItemsWidth);
		
		var totalMenuWidth = 0;
		
		for (n=0;n<$(menuItems).length;n++) {
			var menuWidth = $(menuItems[n]).width();
			var availableSpace = freespace - menuDividers;
			var menuPadding = parseInt(availableSpace / $(menuItems).length);
			totalMenuWidth += (menuWidth + menuPadding);
			
			$(menuItems[n]).css('width',(menuWidth + menuPadding)+'px');
			
		}
		
		var remainingMenuSpace = 0;
		
		if ((totalMenuWidth + menuDividers) < $('#main-menu').width()) {
			
			remainingMenuSpace = $('#main-menu').width() - (totalMenuWidth + menuDividers);
			
			for (t=0;t<remainingMenuSpace;t++) {
				var menuWidth = $(menuItems[t]).width();
				var remaingspace = Math.ceil(remainingMenuSpace / $(menuItems).length);
				$(menuItems[t]).css('width',(menuWidth + remaingspace)+'px');
			}
		}
		
		var submenu = $('#main-menu > li').find('ul');
		
		if ($(submenu).length != 0) {
			for (i=0;i<$(submenu).length;i++) {
				var pMenuTitle = $(submenu[i]).prev().html().replace(/ /g, "-");
				var pWidth = $(submenu[i]).parent().width();
				var submenuID  = 'sub-'+pMenuTitle.toLowerCase();
				var submenuWidht = $(submenu[i]).width();
				
				if (submenuWidht != pWidth) {
					submenuWidht = pWidth;
				}
				$(submenu[i]).css({'width':submenuWidht+'px','margin-left':'-1px'});
				$(submenu[i]).attr('id',submenuID);
			    $(submenu[i]).addClass('sub-menu');
				$(submenu[i]).hide();
			}
		}
	}
	applyMenuAttr();
	
	var menuTimeout;
	var activeSubmenu;
	
	function closeSubmenu () {
		menuTimeout = setTimeout(function () { 
			$(activeSubmenu).slideUp('fast');
			$(activeSubmenu).prev().removeClass('active');
		}, 300);
	}
	
	$('#main-menu > li > a').hover(function () {
		
		var pTag =  $(this).parent();
		var submenu = '#'+$(pTag).find('ul').attr('id');
		
		if ($(submenu).length != 0) {
			$(submenu).prev().addClass('active');
			clearTimeout(menuTimeout);
			if (submenu != activeSubmenu) {
				$(activeSubmenu).slideUp('fast');
				$(activeSubmenu).prev().removeClass('active');
			}
			$(submenu).slideDown('fast');
		} else {
			if (activeSubmenu != ' ') {
				clearTimeout(menuTimeout);
				$(activeSubmenu).slideUp('fast');
				$(activeSubmenu).prev().removeClass('active');
			}
		}
	}, function () {
		var pTag =  $(this).parent();
		var submenu = '#'+$(pTag).find('ul').attr('id');
		if ($(submenu).length != 0) {
		    activeSubmenu = submenu;		
			closeSubmenu();
		}
	});
	
	$('#main-menu a').click(function(e) {
		if ($(this).attr('href') == '#' || $(this).attr('href') == '') e.preventDefault(); e.stopPropagation(); 
	});
	
	$('.sub-menu a').hover(function () {
		if (menuTimeout != "") clearTimeout(menuTimeout);
	}, function () {
		closeSubmenu();
	});
	
	function init_billboard () {
		var slide = $('#billboard .slide');
		var nav = $('#billboard .nav a');
		var curIndex = 0;
		
		$(slide).hide();
		$('#billboard .content-bg').hide();
		$(slide[0]).show();
		$('#billboard .content-bg').fadeIn(1500);
		
		/// Billboard Navigation
		$('#billboard .nav a').click(function(e) {
			
			e.preventDefault();
											  
			var index = $('#billboard .nav li').index($(this).parent());								  
			var navWidth = $(this).parent().width();
			var navPos = $(this).position();
			var loc = parseInt((navPos.left+(navWidth/2)) - 8);
			/// The 8 above is half of the width of the arrow graphic
			
			if (index != curIndex) {
			
				$('#billboard .content-bg').hide();
				
				$('#billboard .nav').css('background-position',loc+'px 0px');
				
				var target = $(slide[index]).attr('id');
				
				$(slide).hide();
				$(slide[index]).show().css({'width':'750px','margin-left':'200px','opacity':0});
				$(slide[index]).animate(
				  {width: '950px',
				  marginLeft: '0px',
				  opacity:1}, 
				  {duration: 500,
				  specialEasing: {
					width: 'linear',
					height: 'easeOutBounce'
				  }, complete: function() {
					var bgpos = index * $('#billboard .content-bg').height();
					$('#billboard .content-bg').css('background-position','0px -'+bgpos+'px').fadeIn(500);
				  }
				});
				
				curIndex = index;
			}
			
		});
	}
	
	/// Billboard
	if ($('#billboard').length != 0) {
		$('#billboard').append('<div class="content-bg"></div>');
		init_billboard();
	}
	
	$('#footer .column:last').addClass('last');
	var footerTopMargin = $('#bottom').height();
	var pageBottomMargin = footerTopMargin + 24;
	$('#page').css('margin-bottom',pageBottomMargin+'px');
	$('#bottom').css('margin-top','-'+footerTopMargin+'px');
	
	function applyInfoboxPading () {
		var infobox = $('.info-box')
		for (i=0;i<$(infobox).length;i++) {
		  $(infobox[i]).wrapInner('<div class="pad"></div>');
		  $(infobox[i]).prepend($(infobox[i]).find('h2'));
		}
	}
	
	if ($('.info-box').length != 0) {
		applyInfoboxPading ();
	}
	
	if ($('.side-post').length != 0) $('.side-post').wrapInner('<div style="padding:10px 20px"></div>');
	
	$('a.button').removeAttr('class').wrap('<span class="button"></span>');
	$('input.button').removeAttr('class').wrap('<div class="button"></div>');
	
	// ==> fix the main menu current page parent style
	$("ul#main-menu > li.current_page_item").addClass("current_page_parent"); 
	
	// ==> fix the sidebar menu current page item
	$("ul#sub-menu > li").each(function() {
		if($(this).hasClass('current_page_ancestor') && $(this).hasClass('current_page_parent')) {
			$(this).removeClass('current_page_ancestor');
			$(this).removeClass('current_page_parent');
			$(this).addClass('current_page_item');
		}
	});
	
	// ==> reset form
	$.fn.reset = function(fn) {
		return fn ? this.bind("reset", fn) : this.trigger("reset");
	};
	
	/*$('#billboard .nav a').hover(function() {
		$(this).addClass('current');
		currentHover = setTimeout(function() { 
			$('#billboard .nav a.current').click();
		}, 300);
	}, function() {
		try {clearTimeout(currentHover); } catch(e) {};
		$(this).removeClass('current');
	});*/
});
