var menuitems = 0;
var delay = 10;

$('document').ready(function(){
	// relocate submenus
	$("div.hmenu a").each(function(index){
		alignmenu(this);
	});
});


function alignmenu(jobj){
	$(jobj).attr('id', '__mi'+menuitems );
	$(jobj).attr('hd', 0 );
	menuitems++;

	$(jobj).mouseenter(function(){
		menuitemover(jobj);
	});
	$(jobj).mouseleave(function(){
		setTimeout(function(){
			menuitemout(jobj);
			}
			, delay);
	});

	var ch = $(jobj).attr('submenu');
	if( ch ){
		$(jobj).addClass('expandable');

		if( $('#'+ch).is('div.vmenu')){
			$('#'+ch).attr('pp', $(jobj).parents('.hmenu,.vmenu').attr('id'));
		}

		$('#'+ch).mouseenter(function(){
			platehover('#'+ch);
		});
		$('#'+ch).mouseleave(function(){
		setTimeout(function(){
			plateout('#'+ch);
			}, 
			delay);
		});

		$('#'+ch).attr('pi', $(jobj).attr('id'));

		$('#'+ch).find('a').each(function(index){
			alignmenu(this, 'vertical');
		});
		$('#'+ch).attr('hd', 0);
		$('#'+ch).hide();
	}
}


function menuitemover(jobj){
	$(jobj).attr('hd', 1);
	var ch = $(jobj).attr('submenu');
	if( ch ){
		if( $(jobj).is('div.hmenu a')){
			$('#'+ch).css('top', $(jobj).offset().top+$(jobj).outerHeight()+'px');
			$('#'+ch).css('left', $(jobj).offset().left+'px');
		}
		else{
			$('#'+ch).css('top', $(jobj).offset().top + 'px');
			$('#'+ch).css('left', $(jobj).offset().left+ $(jobj).outerWidth()+'px');
		}

		$('#'+ch).show();
	}	
}

function menuitemout(jobj){
    $(jobj).attr('hd', 0);

	var ch = $(jobj).attr('submenu');
	if( ch && $('#'+ch).attr('hd') == 0 ){
		$('#'+ch).hide();
	}	
}

function platehover(jobj){
	$(jobj).attr('hd', 1);
	if( $(jobj).attr('pi') ){
		$('#'+$(jobj).attr('pi')).addClass('mhighlight');
	}
}


function plateout(jobj){
	$(jobj).attr('hd', 0);
	checkplate(jobj);
}

function checkplate(jobj){
	var chopened = false;
    $(jobj).find('a[submenu]').each(function(index){
    	if( $('#'+$(this).attr('submenu')).attr('hd') == 1 ){
    		chopened = true;
    	}
    });

	if( chopened == false && ($(jobj).attr('hd') == 0) && ($('#'+$(jobj).attr('pi')).attr('hd') == 0)){
		$(jobj).hide();
		if( $(jobj).attr('pi') ){
			$('#'+$(jobj).attr('pi')).removeClass('mhighlight');
			checkplate('#'+$(jobj).attr('pp'));
		}
		if( $(jobj).attr('pp') ){
			checkplate('#'+$(jobj).attr('pp'));
		}
	}
}


