if (typeof(MooTools) != 'undefined'){



		var subnav = new Array();

		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';

				/*

				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"), "");

				/*

				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.top != 'auto') || (this.status == 'show' && this.style.top == '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,0);

				} else {

					this.setStyle('top', 'auto');

					//this.myFx1.stop();

					this.myFx2.stop();

					//this.myFx1.start(0,1);

					if (this.parent._id) this.myFx2.start(0,this.mw);

					else this.myFx2.start(0,this.mh);

				}

			},



			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', {duration: 300});

					this.myFx2.set(0);

				}else{

					this.myFx2 = new Fx.Style(this, 'height', {duration: 300});

					this.myFx2.set(0);

				}

				this.setStyle('top', '-999em');

				animComp = function(){

					if (this.status == 'hide')

					{

						this.setStyle('top', '-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(0);

					}

				}

			},



			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();

								el.addEvent('mouseover', function()

								{

									el.setActive();

									el2.show(0);

									return false;

								});

		

								el.addEvent('mouseout', function()

								{

									el.setDeactive();

									el2.hide(20);

								});

								new DropdownMenu(el2);

								el.hasSub = 1;

							}

						});

						if (!el.hasSub)

						{

							el.addEvent('mouseover', function()

							{

								el.setActive();

								return false;

							});



							el.addEvent('mouseout', function()

							{

								el.setDeactive();

							});

						}

					}

				});

				return this;

			}

		});

		

		window.addEvent('domready',function() {new DropdownMenu($('oj-moomenu'))});

	

	}else {

		sfHover = function() {

		var sfEls = document.getElementById("oj-moomenu").getElementsByTagName("li");

		for (var i=0; i<sfEls.length; ++i) {

			sfEls[i].onmouseover=function() {

				this.className+="sfhover";

			}

			sfEls[i].onmouseout=function() {

				this.className=this.className.replace(new RegExp("sfhover\\b"), "");

			}

		}

	}

	if (window.attachEvent) window.attachEvent("onload", sfHover);

}


