// TfeMenu
var NODE_TYPE_ELEMENT = 1;
var NODE_TYPE_TEXT = 3;
TfeMenu = function() {
    this.timer = null;
    this.activeParent;
    this.activeParentClass;
    this.activeMenu;
    this.activeMenuClass;
	this.activeMenuImageSrc;
    this.activeDropdown;
	this.activeDropdownLink;
	this.activeDropdownLinkClass;
    this.activeDropdownList;
    this.activeDropdownListCount;
}
TfeMenu.prototype.OpenMenu = function(menu) {
    this.StopTimer();
    this.CloseMenu();
    
    this.activeMenu = menu;
	
	this.activeDropdown = menu.nextSibling;
	while (this.activeDropdown.nextSibling && this.activeDropdown.nodeType && this.activeDropdown.nodeType != NODE_TYPE_ELEMENT) {
		this.activeDropdown=this.activeDropdown.nextSibling;
	}
    // If a menu cannot be found; set the activeDropdown to 'null'
    if (this.activeDropdown.nodeType == NODE_TYPE_TEXT) {
	    this.activeDropdown = null;
	}
    if (this.activeDropdown != null) {
    	activeDropdownListCount = 0;
    	var lists = this.activeDropdown.getElementsByTagName("ul");
    	for (i = 0; i < lists.length; i++)
    	{
			this.activeDropdownList = lists[i];
			activeDropdownListCount++;
    	}
	}

	this.activeParent = menu.parentNode;
    this.activeParentClass = this.activeParent.className;
	this.activeParent.className = "active";
	
    this.activeMenuClass = this.activeMenu.className;
    this.activeMenu.className = "mainmenu-link active";

    this.ShowDropdown();
    
    this.SetEvents();
}
TfeMenu.prototype.ShowDropdown = function() {
    if (this.activeDropdown != null) 
    {
        this.activeDropdown.style.display = "block";		
	    var h = jQuery(this.activeDropdownList).outerHeight();
	    /*alert(jQuery(this.activeDropdownList).outerWidth());*/
	    var w = jQuery(this.activeDropdownList).outerWidth() * activeDropdownListCount;
		
	    jQuery("div.bg_t").css("width", (w-23));
	    jQuery("div.bg_tr").css("left", (w - 25) );

	    jQuery("div.bg_r").css("left", (w - 16) );
	    
	    jQuery("div.bg_b").css("top", h);
	    jQuery("div.bg_b").css("width", (w-22));
	    jQuery("div.bg_bl").css("top", (h - 6) );
	    jQuery("div.bg_br").css("top", (h - 6) );
	    jQuery("div.bg_br").css("left", (w - 25) );
	    
	    jQuery("div.bg_l").css("height", (h - 21) );
	    jQuery("div.bg_r").css("height", (h - 21) );
	    
    }
}
TfeMenu.prototype.CloseMenu = function() {
    if (this.activeDropdown != null) {
        this.activeDropdown.style.display = "none";
    }
    if (this.activeMenu != null) {
        this.activeMenu.className = this.activeMenuClass;
    }
    if (this.activeParent != null) {
        this.activeParent.className = this.activeParentClass;
	}
}
TfeMenu.prototype.SetEvents = function() {
	if (this.activeMenu != null) {
		this.activeMenu.onmouseout = startTimer;
	}
	if (this.activeDropdown != null) {
		this.activeDropdown.onmouseout = startTimer;
		this.activeDropdown.onmouseover = stopTimer;
	}
}
TfeMenu.prototype.StartTimer = function() {
    this.timer = setTimeout("closeMenu()", 500);
}
TfeMenu.prototype.StopTimer = function() {
    if (this.timer != null) {
        clearTimeout(this.timer);
    }
}
var oTfeMenu = new TfeMenu();
function openMenu(menu) {
	oTfeMenu.OpenMenu(menu);
}
function closeMenu() {
	oTfeMenu.CloseMenu();
}
function startTimer() {
	oTfeMenu.StartTimer();
}
function stopTimer() {
	oTfeMenu.StopTimer();
}
