﻿var popupMenu = function (timeout, parent, menu) {
	var base = this;
	this.timeout = timeout;
	this.closetimer = null;
	this.parent = parent;
	this.menu = menu;

	this.open = function () {
		base.cancelTimer();
		base.close();
		$(base.menu).css("visibility", "visible");
		$(base.parent).addClass("active");
	}

	this.close = function () {
		if (base.menu != null) $(base.menu).css("visibility", "hidden");
		if (base.parent != null) $(base.parent).removeClass("active");
	}

	this.timer = function () {
		base.closetimer = window.setTimeout(base.close, base.timeout);
	}

	this.cancelTimer = function () {
		if (base.closetimer != null) {
			window.clearTimeout(base.closetimer);
			base.closetimer = null;
		}
	}

	$(base.parent).bind("mouseover", this.open);
	$(base.menu).bind("mouseleave", this.timer);

}
