var speed = 000;

function showList(parent)
{
	var list = $('.list', parent);
	
	list.slideDown(speed);
}

function showMenu(parent)
{
	var width = $(parent).width();
	var slider = $('.slider', parent);
	var slider_img = $('.slider_image', parent);
	
	if($('.list', parent).length)
	{		
		slider
		.animate({
			width: 166 - width - 11 - 18
		}, speed);
	
		slider_img
		.css('display', 'block')
		.animate({
			right: width - 166 + 18
		}, speed, function(){
			showList(parent);
		});
	}
}

function hideMenu(parent)
{
	var slider = $('.slider', parent);
	var slider_img = $('.slider_image', parent);
	var list = $('.list', parent);
	
	if(list.length)
	{
		list.slideUp(speed, function(){
			slider.animate({
				width: 0
			}, speed);
			
			slider_img.animate({
				right: -11
			}, speed, function(){
				slider_img.css('display', 'none');
				removeClass(parent);
			});
		});
	}
	else
	{
		removeClass(parent);
	}
}

function removeClass(element)
{
	var aclass = $(element).data('class');
		
	if($(element).data('stand') == true) return;

	$(element).attr('class', aclass);
}

$(function(){
	var li = $('#jmenu>li');
	
	li.hover(function(){		
		if($(this).data('class'))
		{
			var aclass = $(this).data('class');
		}
		else
		{
			var aclass = $(this).attr('class');
			$(this).data('class', aclass);
		}
		var fragments = aclass.split('_');
		var name = fragments[1];
		
		showMenu(this);

		if(aclass.indexOf('action') > 0)
		{
			$(this).data('stand', true);
			return;
		}

		$(this).attr('class', name + '_action action');
	}, function(){		
		hideMenu(this);
	}).each(function(){
		$(this).append('<div class="slider"></div><div class="slider_image"></div>');
	});
});
