?
Path : /home/admin/public_html/old/board/templates/ja_purity/js/ |
Current File : /home/admin/public_html/old/board/templates/ja_purity/js/ja.moomenu.js |
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.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,0); } else { this.setStyle('left', '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('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(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.onDomReady(function() {new DropdownMenu($E('#ja-mainnav ul.menu'))}); }else { sfHover = function() { var sfEls = document.getElementById("ja-mainnav").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); }