
var subnav = new Array();
var menuOpacity=0.8;

		Element.extend(
		{
			hide: function(timeout) 
			{
				this.status = 'hide';
				clearTimeout (this.timeout);
				if (timeout)
				{
					this.timeout = setTimeout (this.anim.bind(this), timeout);
				}else{
					this.anim();
				}
			},
					
			show: function(timeout) 
			{
				this.status = 'show';
				clearTimeout (this.timeout);
				if (timeout)
				{
					this.timeout = setTimeout (this.anim.bind(this), timeout);
				}else{
					this.anim();
				}
			},

			setActive: function () {
				//this.addClass(classname);
				this.className+=' sfhover';
				var a = this.getElement('a');
				if (a) a.addClass("sfhover");
				/*
				for(var i=0;i<this.childNodes.length; i++) {
					if(this.childNodes[i].nodeName.toLowerCase() == 'a') {
						//$(this.childNodes[i]).addClass(classname);
						$(this.childNodes[i]).setActive();
						return;
					}
				}
				*/
			},

			setDeactive: function () {
				//this.removeClass(classname);
				this.className=this.className.replace(new RegExp("sfhover\\b"), " ");
				var a = this.getElement('a');
				if (a) a.removeClass("sfhover");
				/*
				for(var i=0;i<this.childNodes.length; i++) {
					if(this.childNodes[i].nodeName.toLowerCase() == 'a') {
						$(this.childNodes[i]).setDeactive();
						return;
					}
				}
				*/
			},

			anim: function() {
				if ((this.status == 'hide' && this.style.left != 'auto') || (this.status == 'show' && this.style.left == 'auto' && !this.hidding)) return;
				this.setStyle('overflow', 'hidden');
				if (this.status == 'show') {
					this.hidding = 0;
					this.hideAll();
					//this.parentNode.setActive();
				} else {
					//this.parentNode.setDeactive();
				}
		 
				if (this.status == 'hide')
				{
					this.hidding = 1;
					//this.myFx1.stop();
					this.myFx2.stop();
					//this.myFx1.start(1,0);
					if (this.parent._id) this.myFx2.start(this.offsetWidth,0);
					else this.myFx2.start(this.offsetHeight,70);
				} else {
					this.setStyle('left', 'auto');
				//	alert(this.mh); 
					//this.myFx1.stop();
					this.myFx2.stop();
					//this.myFx1.start(0,1);
					var topx	=	this.mh-(this.mh*2)+8;
					if (this.parent._id){
						 
						this.myFx2.start(0,this.mw);
						
					}else{
						
						this.myFx2.start(50,topx);
					}
				}
			},

			init: function() {
				this.mw = this.clientWidth;
				this.mh = this.clientHeight;
				//this.myFx1 = new Fx.Style(this, 'opacity');
				//this.myFx1.set(0);
				if (this.parent._id)
				{
					 this.myFx2 = new Fx.Style(this, 'width', {wait: false, duration: 2000, transition: Fx.Transitions.Quart.easeOut});
				 	this.myFx2.set(0);
				}else{
					this.myFx2 = new Fx.Style(this, 'top', {wait: false, duration: 2000, transition: Fx.Transitions.Quart.easeOut});
					this.myFx2.set(50);
				}
				this.setStyle('left', '-999em');
				animComp = function(){
					if (this.status == 'hide')
					{
						this.setStyle('left', '-999em');
						this.hidding = 0;
					}
					this.setStyle('overflow', '');
				}
				this.myFx2.addEvent ('onComplete', animComp.bind(this));
			},

			hideAll: function() {
				for(var i=0;i<subnav.length; i++) {
					if (!this.isChild(subnav[i]))
					{
						subnav[i].hide(70);
					}
				}
			},

			isChild: function(_obj) {
				obj = this;
				while (obj.parent)
				{
					if (obj._id == _obj._id)
					{
						//alert(_obj._id);
						return true;
					}
					obj = obj.parent;
				}
				return false;
			}


		});
		

		var DropdownMenu = new Class({	
			initialize: function(element)
			{
				//$(element).mh = 0;
				$A($(element).childNodes).each(function(el)
				{
					if(el.nodeName.toLowerCase() == 'li')
					{
						//if($(element)._id) $(element).mh += 30;
						$A($(el).childNodes).each(function(el2)
						{
							if(el2.nodeName.toLowerCase() == 'ul')
							{
								$(el2)._id = subnav.length+1;
								$(el2).parent = $(element);
								subnav.push ($(el2));
								el2.init();
								
							 	el2.addEvent('click',function(){
															  
															  
															  });
								
								el.addEvent('mouseenter', function()
								{
									el.setActive();
									el2.show(0);
									return false;
								});
								el.addEvent('click', function()
								{
									 
									 
								});
								el.addEvent('mouseleave', function()
								{
									el.setDeactive();
									el2.hide(20);
								});
								new DropdownMenu(el2);
								el.hasSub = 1;
							}
						});
						if (!el.hasSub)
						{
							el.addEvent('mouseenter', function()
							{
								el.setActive();
								return false;
							});

							el.addEvent('mouseleave', function()
							{
								el.setDeactive();
							});
						}
					}
				});
				return this;
			}
		});
		
 	window.addEvent('domready',function() {
									//	$$("ul.moomenus").setStyle('opacity', menuOpacity);
										new DropdownMenu($('menuupbox'));
										
										
										});

 

 
