// global.js

var FADE_SPEED1 = 300;  		// ms
var FADE_SPEED2 = 500;  		// ms
var FADE_SPEED3 = 10;			// ms
var dimmedOpacity = 0.6;		// for non-selected nav items
var subNavMarginTop = '0px';	// positions subnav when it is showing
var originalColor = "#ffffff";
var fadeColor = "#d9d7d0";
var prevObj;
var startObj, endObj;
var IE7 = false;

Cufon.replace('h2, h3');

$(document).ready( function() {
		// deprecated, but work around IE7's positioning quirks:
		if($.browser.msie && parseInt($.browser.version.substr(0,1))<=7) {
			subNavMarginTop = '12px';
			IE7 == true;
		}
    setupNav(); // register the nav hover() functions
	$('#scrollableArea').jScrollPane({ showArrows:true, scrollbarWidth: 16 });
}); // end document.ready()

// Set up the navigation effects:
function setupNav()
{
   $('#head #nav>li').hover( onMouseOver, onMouseOut ).not(".selected, .index > #head #nav > li").children("a").css({color: fadeColor});
} 

// Called on navigation mouseover:
function onMouseOver() {
	if(IE7) {
		if($(this).get(0) == prevObj) { return; }
	}
	$(this).siblings().not(".selected")                   // dim all other items
            .stop().children("a")
            .css({color: fadeColor});
    if( !$(this).hasClass("selected") ) {
		$(this).children("a").css({color: originalColor});
		hideAllSubNav();
		// prevent '.selected' subnav from showing due to 
		// queued animations if the nav is moused 
		// over very rapidly (ie if older 'onMouseOut' calls 
		// stack up):
		$(".subnav.selected").stop(true, true);
		$(this).children('ul')               // show this item's subnav
	            		.animate({opacity:'show', marginTop:subNavMarginTop}, FADE_SPEED2);
		$("#navHorizontalDivider").show();
	}
    startObj = $(this).get(0);
} // end onMouseOver()

// Called when mouse leaves a navigation item:
function onMouseOut() {
	if(IE7) {
    	prevObj = $(this).get(0);
		endObj = $(this).get(0);
		if(startObj != endObj ) { return; }
 	}
	if( $("#pagewrap").hasClass("index") ) {
		$(this).stop().children("a").css({color: originalColor});
		$(this).siblings().stop().children("a").css({color: originalColor});
		hideAllSubNav();
		return false;
	}
	if( !$(this).hasClass("selected") ) {
		$(this).children("a").css({color: fadeColor});
		hideAllSubNav();
	}
	fadeInSelectedSubNav();
} // end onMouseOut()

// Hide any showing sub-navigation items:
function hideAllSubNav() {
	$("ul.subnav").hide().css('margin-top','-10px');
	$("#navHorizontalDivider").hide();
}

// Display the sub-navigation item with class "selected":
function fadeInSelectedSubNav() {
	$("#navHorizontalDivider").show();
	$(".subnav.selected").animate({opacity:'show', marginTop:subNavMarginTop}, FADE_SPEED2);
}