function getEl(e) {
	var el=(window.event ? window.event.srcElement : e.target);
	return el;
}

function DropMenu(baseId, dropId) {

	this.isOpen=false;
	this.id="menu"+(DropMenu.counter++);
	this.baseElement=document.getElementById(baseId);
	this.dropElement=document.getElementById(dropId);

	//alert (baseId + " - " + document.getElementById(baseId));
	//alert (dropId+ " - "+ document.getElementById(dropId));

	this.baseElement.menuId=this.id;
	this.dropElement.menuId=this.id;


	this.open=function (e) {

		var el=getEl(e);

		var inst=DropMenu.instances[el.menuId];
		DropMenu.killTimer(inst.id);
		if (!inst.isOpen) {
			DropMenu.doCloseAll();
			inst.dropElement.style.display="block";
			inst.isOpen=true;
		}
	}
	this.on=function (e) {
		var el=getEl(e);
		var inst=DropMenu.instances[el.menuId];
		DropMenu.killTimer(inst.id);
	}
	this.close=function (e) {
		var el=getEl(e);
		var inst=DropMenu.instances[el.menuId];
		DropMenu.killTimer(inst.id);
		DropMenu.timer=setTimeout("DropMenu.instances."+inst.id+".doClose('"+inst.id+"');", 200);
	}
	this.doClose=function (id) {
		var inst=DropMenu.instances[id];
		inst.dropElement.style.display="none";
		inst.isOpen=false;
	}

	DropMenu.instances[this.id]=this;
}
DropMenu.instances={};
DropMenu.counter=0;

DropMenu.killTimer=function(id) {
	if (typeof id=="undefined") {
		var inst=this;
	} else {
		var inst=DropMenu.instances[id];
	}
	clearTimeout(DropMenu.timer);
	DropMenu.timer=0;
}
DropMenu.applyMenu=function (baseId, dropId) {

	var dropMenu=new DropMenu(baseId, dropId);
	DropMenu.instances[dropMenu.id]=dropMenu;

	DropMenu.applyMenuOnElement(dropMenu.baseElement, dropMenu, true);
	DropMenu.applyMenuOnElement(dropMenu.dropElement, dropMenu, true);

	DropMenu.applyMenuOnElements(dropMenu.baseElement.getElementsByTagName("A"), dropMenu, false);

	DropMenu.applyMenuOnElements(dropMenu.dropElement.getElementsByTagName("LI"), dropMenu, false);
	DropMenu.applyMenuOnElements(dropMenu.dropElement.getElementsByTagName("A"), dropMenu, false);
}
DropMenu.applyMenuOnElements=function (elements, dropMenu, canClose) {
	for (var i=0;i<elements.length;i++) {
		DropMenu.applyMenuOnElement(elements[i], dropMenu, canClose);
	}
}
DropMenu.applyMenuOnElement=function (element, dropMenu, canClose) {
	element.menuId=dropMenu.id;
	element.onmouseover=dropMenu.open;
	// element.onmouseover=dropMenu.on;
	if (canClose) {
		//alert(element.tagName);
		element.onmouseout=dropMenu.close;
	}
}
DropMenu.doCloseAll=function () {
	for (var p in DropMenu.instances) {
		DropMenu.instances[p].doClose(DropMenu.instances[p].id);
	}
}
