
var navigation_array = new Array();

//################################################

function Navigation_GetElement( id )
{
	var element = false;
	for (var i=0; i < navigation_array.length; i++)
	{
		if( navigation_array[i][0] == id )
		{
			element = navigation_array[i];
			break;
		}
	}
	return element;
}
function Navigation_SetElement( id , status , after_waiting )
{
	if( status != 'active' && status != 'deactive' &&
		status != 'opening' && status != 'closing' )
	status = 'deactive';
	
	if( after_waiting != 'open' && after_waiting != 'close' )
	after_waiting = '';
	
	var element = Navigation_GetElement( id );
	if( element == false )
	{
		element = new Array();
		element[element.length] = id;
		element[element.length] = status;	
		element[element.length] = after_waiting;	
		navigation_array[navigation_array.length] = element;
	}
	else
	{
		element[1] = status;
		element[2] = after_waiting;
		for (var i=0; i < navigation_array.length; i++)
		{
			if( navigation_array[i][0] == element[0] )
			{
				navigation_array[i] = element;
				break;
			}
		}
	}
	
	return element;
}

//################################################

function Navigation_OpenElement( id )
{	
	var element = Navigation_GetElement( id );
	if( element != false && element[1] != 'deactive' )
	{
		if( element[1] == 'closing' )
		Navigation_SetElement( id , element[1] , 'open' );
		return false;
	}
	
	Navigation_SetElement( id , 'opening' , '' );
		
	var root = $('nav_root_' + id);
	Element.addClassName( root , 'bread_crumbs_menu');
	var conteiner = $j('#nav_container_' + id);
	conteiner.slideDown(300,function(){
		var element_temp = Navigation_GetElement( id );
		var temp = element_temp[2];
		Navigation_SetElement( id , 'active' , '' );
		if( temp == 'close' )
		Navigation_CloseElement(id);
	});
	
	return true;
}
function Navigation_CloseElement( id )
{
	var element = Navigation_GetElement( id );
	if( element == false || element[1] != 'active' )
	{
		if( element[1] == 'opening' )
		Navigation_SetElement( id , element[1] , 'close' );
		return false;
	}
	
	Navigation_SetElement( id , 'closing' , '' );
	
	var conteiner = $j('#nav_container_' + id);
	conteiner.slideUp(300,function(){
		var root = $('nav_root_' + id);
		Element.removeClassName( root , 'bread_crumbs_menu');	
		
		var element_temp = Navigation_GetElement( id );
		var temp = element_temp[2];
		Navigation_SetElement( id , 'deactive' , '' );
		if( temp == 'open' )
		Navigation_OpenElement(id);
	});
	
	return true;
}
function Navigation_CloseElementsExcept( id )
{
	for (var i=0; i < navigation_array.length; i++)
	{
		if( navigation_array[i][0] != id )
		{
			Navigation_CloseElement(navigation_array[i][0]);
		}
	}
	
	return true;
}

//################################################

var navigation_timer = 0;

function Navigation_OnMouseOverButton( id )
{
	if( navigation_timer != 0 )
	clearInterval(navigation_timer);
	navigation_timer = 0;
	
	Navigation_CloseElementsExcept(id);
	Navigation_OpenElement(id);
}
function Navigation_OnMouseOutButton( id )
{
	if( navigation_timer != 0 )
	clearInterval(navigation_timer);
	
	navigation_timer = setInterval(function(){
		clearInterval(navigation_timer);
		Navigation_CloseElementsExcept(0);
	},500);	
}

//################################################

function Navigation_OnMouseOverContainer( id )
{
	if( navigation_timer != 0 )
	clearInterval(navigation_timer);
	navigation_timer = 0;
	
	Navigation_CloseElementsExcept(id);
	Navigation_OpenElement(id);
}
function Navigation_OnMouseOutContainer( id )
{
	if( navigation_timer != 0 )
	clearInterval(navigation_timer);
	
	navigation_timer = setInterval(function(){
		clearInterval(navigation_timer);
		Navigation_CloseElementsExcept(0);
	},500);	
}

//################################################
