function JSDDM() {
	$(JSDDM.selector + ' > li').mouseover(JSDDM.open).mouseout(JSDDM.timer);
	$(document).click(JSDDM.close);
}

JSDDM.timeout = 500;
JSDDM.closetimer = null;
JSDDM.selector = '#jsddm';

JSDDM.open = function() {
	JSDDM.canceltimer();
	JSDDM.close();
	$(this).find('ul:eq(0)').css('visibility', 'visible');
	$(this).addClass('active');
};

JSDDM.close = function() {
	$(JSDDM.selector + " > li").removeClass('active').find('ul:eq(0)').css('visibility', 'hidden');
};

JSDDM.timer = function() {
	JSDDM.closetimer = setTimeout(JSDDM.close, JSDDM.timeout);
};

JSDDM.canceltimer = function() {
	if (JSDDM.closetimer != null) {
		window.clearTimeout(JSDDM.closetimer);
		JSDDM.closetimer = null;
	}
};

$(function() { JSDDM(); });

// li.active > a { whatever to make it look active }
// li.active a.top-level { whatever to make it look active }

