// JavaScript Document
var isLocked_ = false;
var drawerInTransition_ = false;
var currentDrawer_ = null;
var openDrawers = 0;

function initDrawers( )
{
	var drawers = $( "#navslider .drawers>div" );
	for ( i = 0; i < drawers.length; i++ )
	{
		//errMsg( $( drawers[i] ) + "<br />", true );
		var content = $( drawers[i] ).children( ".drawer-content" );
		var handle = $( drawers[i] ).children( ".drawer-handle" );

		content.hide( );
		handle[0].ind = i;
		handle[0].isOpen = false;
		handle.mouseover( function( )
		{
			//alert( $( this )[0].isOpen );
			//errMsg( "already open?" +  $( this ).attr( "_isOpen" ), true );
			if ( $( this )[0].isOpen == false )
			{//alert( "here" );
				//errMsg( "drawerOpen", true );
				openDrawer( $( this ) );
			}
		} );
	}
	
	//var container = $( ".navslider" );
	//container.css( "height", "auto" );
}

function openDrawer( drawer )
{
	if ( isLocked_ )
		return;
		
	isLocked_ = true;
	
	//errMsg( "_currentDrawer=" + _currentDrawer, true );
	closeAllDrawers( );
	//if ( currentDrawer_ )
	//{
		//errMsg( _currentDrawer.attr( "_index" ) + "(opening " + drawer.attr( "_index" ) + ")therefore close it", true );
		//closeAllDrawers( );//closeDrawer( currentDrawer_ );
	//}
	
	drawerInTransition_ = true;
	
	var o_currentContent_ = drawer.parent( ).children( ".drawer-content" );
	var o_currentHandle_ = drawer.parent( ).children( ".drawer-handle" );
	
	o_currentHandle_.addClass( "open" );
	
	var o_afterAfterFinish_ = function( )
	{
		closeAllDrawersTimer( false );
		//closeDrawer( o_currentHandle_ );
	}
	
	var o_afterFinish_ = function( )
	{
		//errMsg( "(open)currentHandle = " + _o_currentHandle + " and isOpen?" + _o_currentHandle.attr( "_isOpen" ), true );
		o_currentHandle_[0].isOpen = true;
		//errMsg( "(open)currentHandle = " + _o_currentHandle + " and isOpen?" + _o_currentHandle.attr( "_isOpen" ), true );
		//currentDrawer_ = drawer;
		
		isLocked_ = false;
		
		drawerInTransition_ = false;

		setTimeout( o_afterAfterFinish_, 60 );
	}
	
	o_currentContent_.show( "slow", function( ) { setTimeout( o_afterFinish_, 60 ); } );
	
	drawerInTransition_ = false;
}

function closeDrawer( drawer )
{
	var c_currentContent_ = drawer.parent( ).children( ".drawer-content" );
	var c_currentHandle_ = drawer.parent( ).children( ".drawer-handle" );
	
	//errMsg( "in transition? " + _drawerInTransition + " || ", true );
	//errMsg( "this drawer is already closed? " + !_c_currentHandle.attr( "_isOpen" ), true );
	
	//if ( drawerInTransition_ || ( c_currentHandle_[0].isOpen == "false" ) )
	//{
		//errMsg( " so return", true );
		//return;
	//}
		
	drawerInTransition_ = true;
	
	var c_afterFinish_ = function( )
	{
		//errMsg( "(close)currentHandle = " + _c_currentHandle + " and isOpen?" + _c_currentHandle.attr( "_isOpen" ), true );
		c_currentHandle_[0].isOpen = false;
		//errMsg( "(close)currentHandle = " + _c_currentHandle + " and isOpen?" + _c_currentHandle.attr( "_isOpen" ), true );
		c_currentHandle_.removeClass( "open" );
		
		//errMsg( _c_currentHandle.attr( "_index" ) + "==" + _currentDrawer.attr( "_index" ), true );
		//if ( c_currentHandle_[0].ind == currentDrawer_[0].ind )
			//currentDrawer_ = null;
		
		drawerInTransition_ = false;
	}
	
	c_currentContent_.hide( "slow", function( ) { setTimeout( c_afterFinish_, 60 ); } );
}

function closeAllDrawersTimer( donow )
{
	var c_func = function( )
	{
		closeAllDrawersTimer( true );
	}
	
	if ( !donow )
	{
		openDrawers++;
		setTimeout( c_func, 7000 );
	}
	else
	{
		openDrawers--;
		if ( openDrawers < 0 ) { openDrawers = 0; }
		if ( openDrawers == 0 )
		{
			var drawers = $( "#navslider .drawers>div" );
			for ( i = 0; i < drawers.length; i++ )
			{
				var handle = $( drawers[i] ).children( ".drawer-handle" );
				closeDrawer( handle );		
			}
		}
	}
}

function closeAllDrawers( )
{
	var drawers = $( "#navslider .drawers>div" );
	for ( i = 0; i < drawers.length; i++ )
	{
		var handle = $( drawers[i] ).children( ".drawer-handle" );
		closeDrawer( handle );		
	}
}