/*
	@program	jQuery Vertical Drop Down Menu
	@author		Daniel Petkovski
	@version	v1.0
*/

//##### Initiate Variables #####//

var timeOut			= 500;	// Close Sub-Nav Delay
var closeTimer		= 0;	// Declare Close Timer
var activeMenu		= 0;	// Current Active Menu
var dropMenu		= 0;	// Current Drop Down Menu


//##### Declare Navigation Functions #####//

// Open Sub-Nav //
function nav_open()
{	
	// Cancel Timer and Hide All Active Sub-Navs //
	nav_cancelTimer();
	nav_close();
	
	// Add Active Class to Menu Item and Show Sub-Nav //
	activeMenu = $(this).find('a').eq(0).addClass('active');
	dropMenu = $(this).find('ul').eq(0).css('visibility', 'visible');	
}

// Close Sub-Nav //
function nav_close()
{	
	// Remove Active Class from Menu Item and Hide Sub-Nav //
	if(activeMenu) activeMenu.removeClass('active');
	if(dropMenu) dropMenu.css('visibility', 'hidden');	
}

// Set Sub-Nav Close Timer //
function nav_timer()
{
	closeTimer = window.setTimeout(nav_close, timeOut);
}

// Cancel Sub-Nav Timer //
function nav_cancelTimer()
{
	// Clear Timer if Active //	
	if(closeTimer)
	{
		window.clearTimeout(closeTimer);
		closeTimer = null;
	}
}


//##### Initiate Top Navigation #####//

// Attached Functions to List Item // 
$(document).ready(function()
{	
	$('#topNav > li').bind('mouseover', nav_open);
	$('#topNav > li').bind('mouseout',  nav_timer);
});

// Close Sub-Nav On Click //
document.onclick = nav_close;