/***************************************************************************************************
* Name:          nav.js
* Author:        Kyle Brickman
* Description:   Handles dropdown navigation
* Created:       10 September 2009
* Prerequisites: Prototype     (1.6.0.3+)
*                Scriptaculous (1.8.2+)
* WARNING:       This version of nav.js is heavily modified for OFNHP.
***************************************************************************************************/

function showSection( id, list )
{
	var index = 0;
	$$( '.subnav' ).each( function( item ){
		item.style.display = 'none';
	});
	
	$$( '.menuitem' ).each( function( item ){
		item.src = '/images/navigation/' + list.split( ',' )[index] + '-off.png';
		
		if( id == list.split( ',' )[index] )
		{
			item.src = '/images/navigation/' + list.split( ',' )[index] + '-on.png';
		}
		index++;
	});
	
	$( id ).style.display = '';
}

var nav = 
{
	id      : '',
	timeout : '',
	current : '',
	
	init : function( id )
	{
		$( id ).childElements( ).first( ).childElements( ).each( function ( itemParent )
		{
			var item = itemParent.childElements( ).first( );
			
			if( item.href && item.rel && $( item.rel ))
			{
				item.observe( 'mouseover', function( ){ nav.mouseover( item, $( item.rel )) });
				item.observe( 'mouseout',  function( ){ nav.mouseout(  item, $( item.rel )) });
				
				$( item.rel ).childElements( ).each( function( relItem )
				{
					relItem.observe( 'mouseover', function( ){ nav.menuover(                     ) });
					relItem.observe( 'mouseout',  function( ){ nav.mouseout(  item, $( item.rel )) });
				});
			}
			else if( item.href )
			{
				item.observe( 'mouseover', function( ){
					item.style.color = '#fffdf0';
					
					if( '' != nav.current )
					{
						clearTimeout( nav.timeout );
						nav.hide( nav.current );
					}
				});
				item.observe( 'mouseout',  function( ){	item.style.color = '#fffdf0'; });
			}
		});
		
		nav.id = id;
	},
	
	mouseover : function( item, menu )
	{
		menu.style.top     = ( item.cumulativeOffset( ).top + item.getHeight( ) + 5 ) + 'px';
		menu.style.left    = ( item.cumulativeOffset( ).left + 4 ) + 'px';
		
		if( nav.current != '' )
		{
			$( nav.current ).style.display = 'none';
			$( nav.id ).childElements( ).each( function ( item )
			{
				if( item.href && item.rel && nav.current == item.rel )
				{
					item.style.color = '#fffdf0';
				}
			});
		}
		
		item.style.color = '#fffdf0';	
		nav.current = menu.id;
		clearTimeout( nav.timeout );
		
		menu.style.display = '';
	},
	
	mouseout : function( item, menu )
	{
		clearTimeout( nav.timeout );
		nav.timeout = setTimeout( 'nav.hide( \'' + menu.id + '\' )', 200 );
	},
	
	menuover : function( )
	{
		clearTimeout( nav.timeout );
	},
	
	hide : function( menu )
	{
		$( menu ).style.display = 'none';
		
		$( nav.id ).childElements( ).each( function ( item )
		{
			if( item.href && item.rel )
			{
				item.style.color = '#fffdf0';
			}
		});
	}
}