/*******************************************************************************
=== HOMEPAGE BILLBOARD =========================================================
	* Makes the homepage billboard animate.
*******************************************************************************/
var $j = jQuery.noConflict();

$j(document).ready(function() {
	var divToShow = $j('dl dd a.current').attr('rel');	
	$j(divToShow).show();
	$j('#billboard dl dd a').mouseover(function(){
		var link = $j(this);
		$j('dl dd a.current').removeClass('current');
		link.addClass('current');
		$j('#billboard .board').hide();
		rel = link.attr('rel');
		$j(rel).show();
		return false;
	});
	
	/*$j('#billboard dl dd a').mouseout(function(){		
		$j('dl dd a.current').removeClass('current');		
		$j('#billboard .board').hide();
		$j(divToShow).show();
		return false;
	});*/
	
	jQuery.each(jQuery.browser, function(i) {
	     equalHeight($j('.yui-u'));
	     return false;
	});

	
});

function equalHeight(group) {
    tallest = 400;
    group.each(function() {
        thisHeight = $j(this).height();
        if(thisHeight > tallest) {
            tallest = thisHeight;
        }
    });
    group.height(tallest);
}

/******************************************************************************************************************************************************
=== TOP NAVIGATION ====================================================================================================================================
	* Suckerfish method to show the parent tab's sub navigation.
******************************************************************************************************************************************************/
/*
 * sfDelay - Suckerfish CSS menu with JS delay.
 *
 * Copyright (c) 2008 Peter Ryan (peter-ryan.co.uk)
 * This function is free for anyone to use, modify and redistribute.
 *
 * $Id: sfdelay.js 19 2008-05-19 15:33:48Z pryan $
 */

/* http://simonwillison.net/2004/May/26/addLoadEvent/ */
function addLoadEvent(func)
{
	var oldonload = window.onload;
	
	if (typeof window.onload != 'function')
	{
		window.onload = func;
	}
	else
	{
		window.onload = function()
		{
			if (oldonload)
			{
				oldonload();
			}
			
			func();
		}
	}
};

sfHover = function()
{
	var timeout = 400;
	var cssClass = "sfhover";
	var queue = [];
	var reCSS = new RegExp("\\b" + cssClass + "\\b");
	var sfEls = document.getElementById("nav").getElementsByTagName("li");
	
	for (var i=0; i<sfEls.length; i++) {
		
		// mouseover and mouseout handlers for regular mouse based interface.
		sfEls[i].onmouseover = function()
		{
			queueFlush();
			this.className += " " + cssClass;
		}
		
		sfEls[i].onmouseout = function()
		{
			queue.push([setTimeout(queueTimeout, timeout), this]);
		}

		// focus and blur handlers for keyboard based navigation.
		sfEls[i].onfocus = function()
		{
			queueFlush();
			this.className += " " + cssClass;
		}
		
		sfEls[i].onblur = function() {
			queue.push([setTimeout(queueTimeout, timeout), this]);
		}

		// click event handler needed for tablet type interfaces (e.g. Apple iPhone).
		sfEls[i].onclick = function(e)
		{
			if (this.className.search(reCSS) == -1)
			{
				// CSS not set, so clear all sibling (and decendants) menus, and then set CSS on this menu...
				var elems = this.parentNode.getElementsByTagName("li");
				
				for (var i=0; i<elems.length; i++)
				{
					elems[i].className = elems[i].className.replace(reCSS, "");
				}
				
				this.className += " " + cssClass;
			}
			else
			{
				// CSS already set, so clear all decendant menus and then this menu...
				var elems = this.getElementsByTagName("li");
				
				for (var i=0; i<elems.length; i++)
				{
					elems[i].className = elems[i].className.replace(reCSS, "");
				}
				
				this.className = this.className.replace(reCSS, "");
			}
			
			if (e && e.stopPropagation)
				e.stopPropagation();
			else
				window.event.cancelBubble = true;
		}
	}

	queueFlush = function ()
	{
		while (queue.length) {
			clearTimeout(queue[0][0]);
			queueTimeout();
		}
	}

	queueTimeout = function()
	{
		if (queue.length) {
			var el = queue.shift()[1];
			el.className = el.className.replace(reCSS, "");
		}
	}
}

addLoadEvent(sfHover);