﻿SubMenu={
	List:[],
	Last:null,
	Init:function(){
		
		
		// assign  menu to his sub menu		
		i = 0;
		$A($("MenuToolbar").getElementsByTagName("td")).each(function (tab,index) {
			
			// check if there is subMenu if there is addd event show menu
			sub=$("subMenu_"+index);
			if (sub){
					//Calculate POsition;
					var left  = index*(tab.offsetWidth);
					var width = tab.offsetWidth+5;
					$(sub).setStyle({'left':left+'px',width:width+'px'})
					$("bg_"+index).style.width=(tab.offsetWidth-27)+"px"
					
										
					//Main Menu Events 
					$(tab).observe("mouseover",function(e){
						var related= Event.relatedElement(e,false);						
						if (related){
						if ($(related).descendantOf(tab)) return; }
						SubMenu.Show(tab.id,index)
					});
					
					$(tab).observe("mouseout",function(e){
						var related= Event.relatedElement(e,false);						
						//if ($(related).descendantOf(tab)) return; 
						SubMenu.Hide()
					});
					
					//Sub menu Events
					var container = $("subMenuContainer");
					
					//Calculate height	
					containerheight= sub.getDimensions().height; 			
					if (containerheight >container.getDimensions().height){
					container.setStyle({height:containerheight+'px'});
					}
					$(sub).observe("mouseover",function(e){
						var related= Event.relatedElement(e,false);						
						if ($(related).descendantOf(sub)) return; 						
						if (SubMenu.Timeout) clearTimeout(SubMenu.Timeout);
					});
					
					$(sub).observe("mouseout",function(e){					
						var related= Event.relatedElement(e,false);						
						if ($(related).descendantOf(sub)) return; 
						
						SubMenu.Hide();
					});
					
					
					
			}			
		});

	},
	Show:function(tab,subIndex){
		if (SubMenu.Timeout) clearTimeout(SubMenu.Timeout);
		
		var container=$("subMenuContainer");
		
		//Position Submenu Container
		var p=Position.cumulativeOffset($("MenuToolbar"));			
		container.setStyle({left:p[0]+'px'});
		container.setStyle({top:p[1]+28+'px'});
			
		
		if (SubMenu.Last==subIndex) return;
		SubMenu.ImmidiateHide();
		SubMenu.Last=subIndex;
		
		var sub = $("subMenu_"+subIndex)
		container.show();
		sub.show();
		
		sub.style.top=(-sub.offsetHeight)+"px";
		
		if (SubMenu.OpenEffect) SubMenu.OpenEffect.cancel();
		SubMenu.OpenEffect=new Effect.Move(
			sub,{
				y:sub.offsetHeight,
				duration:.8,
				afterFinish:function () {
					SubMenu.OpenEffect=null;
				}
				
			}
		);
		
	},
	Hide:function(){
		if (SubMenu.Timeout) clearTimeout(SubMenu.Timeout);
		SubMenu.Timeout=setTimeout(function () {
			SubMenu.ImmidiateHide();
			SubMenu.Timeout=null;
		},300);
	},
	ImmidiateHide:function (){
		var subMenuItem=$("subMenu_"+SubMenu.Last);
		
		if (subMenuItem) {
			subMenuItem.hide();
			$("subMenuContainer").hide();
		}
		SubMenu.Last=null;

	
	}
}