$(function() {
	
	// IE fix - add :hover to any element
    if (document.all) {
        $("#pnav > li").hoverClass("sfhover");
    }
	   
	// NAVIGATION
	// highlight current page in navigation 
	var trimmedPath = location.pathname.substring(1);
	if (trimmedPath == ''){
	    trimmedPath = 'index.html'; // Standardize, so we don't have to worry about getting index.html or an empty string.
	}
    var pathArray = trimmedPath.split('/');
	
	var basedir = pathArray[1];
    if (basedir) {
		highlightPnav(pathArray);
		highlightPnavSub('#pnav #' + pathArray[1] + ' a', pathArray);
		highlightSnav('#snav a', pathArray);
	}
	
	function highlightPnav(pathArray) {
		if (pathArray[1] == 'index.html') {
			$('#home > a').addClass('here')
		} else {
			$('#' + pathArray[1] + ' > a').addClass('here');
		}
	}
	
	function highlightPnavSub(el, pathArray) {
		var subdir = pathArray[2];
		if (subdir){
			var subpath = '/'+pathArray[0]+'/'+pathArray[1]+'/'+pathArray[2];
			$(el).each(function(){
				if ($(this).attr('href').indexOf(subpath) == 0) {
					$(this).addClass('here');
				}
			});
		}
	}
	
	function highlightSnav(el, pathArray) {
		var subdir = pathArray[1];
		if (subdir){
			var subpath = '/'+pathArray[0]+'/'+pathArray[1]+'/'+pathArray[2];
			$(el).each(function(){
				if ($(this).attr('href').indexOf(subpath) == 0)
				{
					var li = $(this).parent('li, h2');
					li.addClass('here');
					if (li.get(0).tagName == 'LI') {
						li.parent('ul').show();
					}
					if (li.children('ul').length > 0) {
						li.addClass('sub');
					}
					var par = li.parent('ul').parent('li');
					if (par.length > 0) {
						par.addClass('sub');
					}
					return false; // break out after finding one
				}
			});
		}
	}
});	

$.fn.hoverClass = function(c) {
    return this.each(function(){
        $(this).hover( 
			// Add and remove a blank div, forcing IE6 to redraw.
            function() { $(this).addClass(c); $('div.junk').remove();  },
            function() { 
				var element = $(this);
				element.removeClass(c); 
				setTimeout(function() {element.append('<div class="junk"></div>');}, 0);
			}
        );
    });
};