var timeout         = 0;
var closetimer		= 0;
var ddmenuitem      = 0;
var lastddmenuitem=0;
var myopen=false;

$.fn.extend({

_offset : $.fn.offset,
offset : function(newOffset){
	    return !newOffset ? this._offset() : this.each(function(){
			var el = this;

			var hide = false;

			if($(el).css('display')=='none'){
				hide = true;
				$(el).show();
			};

			var style_pos = $(el).css('position');

			// default to relative
			if (style_pos == 'static') {
				$(el).css('position','relative');
				style_pos = 'relative';
			};

			var offset = $(el).offset();

			if (offset){
				var delta = {
					left : parseInt($(el).css('left'), 10),
					top: parseInt($(el).css('top'), 10)
				};

				// in case of 'auto'
				if (isNaN(delta.left))
					delta.left = (style_pos == 'relative') ? 0 : el.offsetLeft;
				if (isNaN(delta.top))
					delta.top = (style_pos == 'relative') ? 0 : el.offsetTop;

				if (newOffset.left || newOffset.left===0)
					$(el).css('left',newOffset.left - offset.left + delta.left + 'px');

				if (newOffset.top || newOffset.top===0)
					$(el).css('top',newOffset.top - offset.top + delta.top + 'px');
			};
			if(hide) $(el).hide();
		});
	}

});

var attr1='';
var attr2='';

var first=0;
function jsddm_open()
{	
	jsddm_canceltimer();
	
	//if (myopen)
	//jsddm_close();
	ddmenuitem = $(this).find('ul').eq(0);
	ddmenuitem.css('margin','0px');
	
	
	
		
	if (lastddmenuitem!=0)
	{
	
	attr1=ddmenuitem.attr('id');
	attr2=lastddmenuitem.attr('id');
	
		
	if (attr1!=attr2)
	{
	
	jsddm_closelast();
	
	}
	}
	
	//if (first==0)
	{
	var offset=ddmenuitem.offset().left;
	
	if (offset>0)	
	ddmenuitem.offset({left:offset});	
	}
	
	ddmenuitem.css('visibility', 'visible').css('height', '1px');
	ddmenuitem.fadeIn('500',function(){
		
		ddmenuitem.fadeIn('500');
		myopen=true;
		lastddmenuitem=ddmenuitem;
		});
		
first=1;		
}
function jsddm_closelast()
{
		if (lastddmenuitem)
		lastddmenuitem.fadeOut('5',function(){
		
		lastddmenuitem=0;
		
		});
}
function jsddm_close()
{
	if(ddmenuitem) 
	{
		ddmenuitem.fadeOut('50',function(){
		myopen=false;
		
		});
	}
}

function jsddm_close_all(){

jsddm_close();
jsddm_closelast();
}


function jsddm_timer()
{	closetimer = window.setTimeout(jsddm_close, timeout);}
function jsddm_canceltimer()
{	if(closetimer)
	{	window.clearTimeout(closetimer);
		closetimer = null;}}
$(document).ready(function()
{
	$('#jsddm > li').bind('mouseover', jsddm_open);
	$('#jsddm > li').bind('mouseout',  jsddm_timer);
	
});
document.click = jsddm_close_all;