function TopMenu()
{
	this.wipeButton 	= null;
	this.wipeSpeed 		= 600;
	this.wipeArea 		= null;
	this.wipeOuterArea 	= null;
	this.root 			= null;
	this.activeSubMenu 	= null;
	this.subIsActive 	= true;
	
	this.init = function() {
		var parent = this;
		

		this.wipeButton 		= $('#seperator a');
		this.wipeArea 			= $('#heading-container');
		this.wipeOuterArea 		= $('#heading');
		this.root 				= $('#top-menu');
		this.activeSubMenu 		= $('#top-menu .active ul');
		
		this.defaultSubMenu 	= this.activeSubMenu;
		this.subIsActive 		= false;
		this.subItem 			= $('#top-menu ul ul a');
		
		this.subItem.mouseover(function(){parent.keepSubAlive()});
		
		this.subList			= $('#top-menu ul ul');
		
		this.subList.mouseout(function(){parent.RestoreToDefault(false)});
		this.subList.mouseover(function(){parent.keepSubAlive()});
		
		if(this.wipeButton)
			this.wipeButton.click(function() {parent.wipeOut()});
		
		$('#top-menu ul li a.toplink').mouseover(function(){parent.toggleSubMenu(this.parentNode)});
		$('#top-menu ul li a.toplink').mouseout(function(){parent.RestoreToDefault(false)});
		//$('body').mouseout(function(e){parent.RestoreToDefault(e.pageY)});
		//$('#top-menu ul li ul li a').mouseover(function(){parent.subIsActive = true});
	}
	
	this.wipeOut = function()
	{
		this.wipeArea.html("");
		this.wipeArea.SlideOutRight(this.wipeSpeed);	
		setTimeout("topMenu.wipeOuterArea.hide()",this.wipeSpeed)
		this.root.toggleClass('top-menu-widthheading');
	}
	
	this.RestoreToDefault = function(isCallback)
	{
		if(!isCallback)
		{
			this.subIsActive = false;
			setTimeout("topMenu.RestoreToDefault(true)",300);
		}
		else if(!this.subIsActive) { // close submenu is confirmed!
			this.activeSubMenu.hide();
			this.defaultSubMenu.show();
			this.activeSubMenu = this.defaultSubMenu;
			
		}
	}
	
	this.toggleSubMenu = function(obj)
	{
			this.subIsActive = true;
			this.activeSubMenu.hide();
			this.activeSubMenu = $(obj).children("ul");
			this.activeSubMenu.show();
			
		//alert(this.activeSubMenu);
		//alert(obj);
		//obj.getElementsByTagName('ul')[0].show(); 
	}
	
	this.keepSubAlive = function()
	{
		this.subIsActive = true;
	}
}

var topMenu = new TopMenu();
