﻿var TopMenu = {
	timer: null,
	delay: 1000,
	showDelay:200,
	currentItem: null,
	initiateItem: null,
	showTimer: null,
	init: function() {
		this.initEvents();
		this.currentItem = $J("#header_menu li.selected");
		this.initiateItem = this.currentItem;
		this.setPosition(this.currentItem);
	},
	initEvents: function() {
		var items = $J("#header_menu li.lvl1");
		var self = this;
		items.bind("mouseover", function(e) {
			var self2 = self;
			var item = $J(this);
			if (self.showTimer != null) clearTimeout(self.showTimer);
			self.showTimer = setTimeout(function() {
				if (self2.timer != null) {
					clearTimeout(self2.timer);
				}
				if (self2.currentItem != null && self2.currentItem.length == 1) {
					self2.currentItem.removeClass("selected");
				}
				if (self2.initiateItem != null) {
					self2.initiateItem.removeClass("selected");
				}
				item.addClass("selected");
				self2.currentItem = item;

				if (item.attr("positioned") != "true") {
					self2.setPosition(item);
				}
			}, self.showDelay);
		});
		items.bind("mousedown", function(e) {
			var item = $J(this);
			var val = item.find("input").val();
			seek4.SetCookie("current_tp_item", val, 120);
		});
		items.bind("mouseout", function(e) {
			var item = $J(this);
			if (self.showTimer != null) clearTimeout(self.showTimer);
			if (typeof (self.timer) != "undefined" && self.timer != null) {
				clearTimeout(self.timer);
			}
			self.timer = setTimeout(function() {
				self.currentItem.removeClass("selected");
				self.currentItem == null;
				if (self.initiateItem != null) {
					self.initiateItem.addClass("selected");
				}
			}, self.delay);
		});
	},

	setPosition: function(item) {
		if (typeof (item) == 'undefined' || item == null || item.length == 0) return;
		var subMenus = item.find("ul.lvl2 li");
		var subMenu = item.find("ul.lvl2");
		var l = parseInt(item.position().left + item.width() / 2);
		var totW = item.find("ul.lvl2").width();
		var w = 0;
		subMenus.each(function(i) {
			w += $J(this).width();
		});
		var left = parseInt(l - w / 2);
		if (left < 0) left = 0;
		if (left + w > totW) left = totW - w;
		subMenu.css("left", left);
		item.attr("positioned", "true");
	}
}