var timeout         = 0;
var closetimer		= 0;
var ddmenuitem      = 0;

/**
 * Open hidden layer
 * 
 * @param string prefix [old]
 * @param int id 
 */
function mopen(prefix, id)
{
	// cancel close timer
	mcancelclosetime();

	// close old layer
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
	
	jQuery('#' + id).each(function() {
		var self = jQuery(this);
		// save for closing
		ddmenuitem = self.get(0);
		
		// direction of opening
		if (jQuery(self).offset().top > jQuery(window).scrollTop() + jQuery(window).height()/2) {
			var diff = - jQuery(self).height() - jQuery(self).prev().height();
			jQuery(self).css('margin-top', diff + 'px');
		} else {
			jQuery(self).css('margin-top', 0);
		}
		
		// same sizes
		if (jQuery(self).parent().width() > jQuery(self).width()) {
			jQuery(self).css('width', jQuery(self).parent().width());
		}
		
		// open
		jQuery(self).css('visibility', 'visible');
	});
	
	jQuery('#upload_tool').css('visibility', 'hidden');

}
// close showed layer
function mclose()
{
	if(ddmenuitem) ddmenuitem.style.visibility = 'hidden';
	jQuery('#upload_tool').css('visibility', 'visible');
}

// go close timer
function mclosetime()
{
	closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime()
{
	if(closetimer)
	{
		window.clearTimeout(closetimer);
		closetimer = null;
	}
}

// close layer when click-out
document.onclick = mclose; 
