/**
 * Fusion Menu
 *
 * @package		Joomla
 * @subpackage	Fusion Menu
 * @copyright Copyright (C) 2009 RocketTheme. All rights reserved.
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see RT-LICENSE.php
 * @author RocketTheme, LLC
 *
 */

var Fusion=new Class({Implements:[Options],version:"1.9.5 (mt12)",options:{centered:false,tweakInitial:{x:0,y:0},tweakSubsequent:{x:0,y:0},pill:true,direction:{x:"right",y:"down"},effect:"slide and fade",orientation:"horizontal",opacity:1,hideDelay:5E4,menuFx:{duration:500,transition:"quad:out"},pillFx:{duration:400,transition:"back:out"}},initialize:function(a,c){this.element=$$(a)[0];this.id=(this.id=$$(".fusion")[0])?this.id.id:"";this.setOptions(c);var e=this.element.getElements(".item"),d=this.options; if(this.rtl=document.id(document.body).getStyle("direction")=="rtl"){this.options.direction.x="left";this.options.tweakInitial.x*=-1;this.options.tweakSubsequent.x*=-1}if(this.options.pill){var f=(new Element("div",{"class":"fusion-pill-l"})).inject(this.element,"after").setStyle("display","none"),i=this;(new Element("div",{"class":"fusion-pill-r"})).inject(f);this.pillsRoots=this.element.getElements(".root");var j=this.element.getElement(".active");this.pillsMargins=f.getStyle("margin-left").toInt()+ f.getStyle("margin-right").toInt();this.pillsTopMargins=f.getStyle("margin-top").toInt()+f.getStyle("margin-bottom").toInt();if(j){f.setStyle("display","block");this.pillsDefaults={left:j.offsetLeft,width:j.offsetWidth-this.pillsMargins,top:j.offsetTop};this.pillFx=(new Fx.Morph(f,{duration:d.pillFx.duration,transition:d.pillFx.transition,link:"cancel"})).set(this.pillsDefaults);d=this.pillsRoots.filter(function(b){return!b.hasClass("parent")});$$(d).addEvents({mouseenter:function(){i.ghostRequest= true;i.pillFx.start({left:this.offsetLeft,width:this.offsetWidth-i.pillsMargins,top:this.offsetTop})},mouseleave:function(){i.ghostRequest=false;i.pillFx.start(i.pillsDefaults)}})}else this.options.pill=false}this.parentLinks={};this.parentSubMenus={};this.childMenu={};this.menuType={};this.subMenus=[];this.hideAllMenusTimeout=null;this.subMenuZindex=1;e.each(function(b){b.getCustomID();this.parentLinks[b.id]=b.getParent().getParents("li").getElement(".item");this.childMenu[b.id]=b.getNext(".fusion-submenu-wrapper")|| b.getNext("ul")||b.getNext("ol");if(this.childMenu[b.id])b.fusionSize=this.childMenu[b.id].getCoordinates();if(this.childMenu[b.id]&&Browser.Engine.trident){var g=this.childMenu[b.id].getElement("ul");if(g){g=g.getStyle("padding-bottom").toInt()||0;b.fusionSize.height+=g}}g="subseq";if(document.id(b.getParent(".fusion-submenu-wrapper")||b.getParent("ul")||b.getParent("ol"))===this.element)g="init";this.menuType[b.id]=g},this);this.jsContainer=(new Element("div",{"class":"fusion-js-container menutop"})).inject(document.body); d=this.element.className.replace("menutop","");if(this.id.length)this.jsContainer.id=this.id;if(d.length)this.jsContainer.className=("fusion-js-container "+d+" menutop").clean();d=this.element.getElements(".fusion-submenu-wrapper");d.length||(d=this.element.getElements("ul"));d.each(function(b,g){var h=b.getElements(".item")[g];if(h&&this.parentLinks[h.id].length==1)h=this.parentLinks[h.id].getLast().getParents("li")[0];(new Element("div",{"class":"fusion-js-subs"})).inject(this.jsContainer).adopt(b); h&&h.hasClass("active")&&b.getParent().addClass("active")},this);this.jsContainer.getElements(".item").setProperty("tabindex","-1");e.each(function(b){if(this.childMenu[b.id]){this.childMenu[b.id]=this.childMenu[b.id].getParent("div");this.subMenus.include(this.childMenu[b.id]);var g=[];this.parentLinks[b.id].each(function(h){g.push(this.childMenu[h.id])},this);this.parentSubMenus[b.id]=g;new FusionSubMenu(this.options,this,b)}},this)}}),FusionSubMenu=new Class({Implements:[Options],options:{onSubMenuInit_begin:function(){}, onSubMenuInit_complete:function(){},onMatchWidth_begin:function(){},onMatchWidth_complete:function(){},onHideSubMenu_begin:function(){},onHideSubMenu_complete:function(){},onHideOtherSubMenus_begin:function(){},onHideOtherSubMenus_complete:function(){},onHideAllSubMenus_begin:function(){},onHideAllSubMenus_complete:function(){},onPositionSubMenu_begin:function(){},onPositionSubMenu_complete:function(){},onShowSubMenu_begin:function(){},onShowSubMenu_complete:function(){}},root:null,btn:null,hidden:true, myEffect:null,initialize:function(a,c,e){this.setOptions(a);this.root=c;this.btn=document.id(e);this.childMenu=document.id(c.childMenu[e.id]);this.subMenuType=c.menuType[e.id];this.parentSubMenus=$$(c.parentSubMenus[e.id]);this.parentLinks=$$(c.parentLinks[e.id]);this.parentSubMenu=document.id(this.parentSubMenus[0]);this.otherSubMenus={};this.fxMorph={};this.rtl=c.rtl;this.options.tweakInitial=this.root.options.tweakInitial;this.options.tweakSubsequent=this.root.options.tweakSubsequent;this.options.centered= this.root.options.centered;this.childMenu.fusionStatus="closed";this.options.onSubMenuInit_begin(this);this.childMenu.addEvent("hide",this.hideSubMenu.bind(this));this.childMenu.addEvent("show",this.showSubMenu.bind(this));var d=this.childMenu;if(this.options.effect)this.myEffect=new Fx.Morph(this.childMenu.getFirst(),{duration:this.options.menuFx.duration,transition:this.options.menuFx.transition,link:"cancel",onStart:function(){this.element.setStyle("display","block")},onComplete:function(){if(d.fusionStatus== "closed")Browser.Engine.trident?this.element.setStyle("display","none"):d.setStyle("display","none")}});if(this.options.effect=="slide"||this.options.effect=="slide and fade")if(this.subMenuType=="init"&&this.options.orientation=="horizontal")this.myEffect.set({"margin-top":"0"});else this.rtl?this.myEffect.set({"margin-right":"0"}):this.myEffect.set({"margin-left":"0"});else if(this.options.effect=="fade"||this.options.effect=="slide and fade")this.myEffect.set({opacity:0});this.options.effect!= "fade"&&this.options.effect!="slide and fade"&&this.myEffect.set({opacity:this.options.opacity});document.id(this.childMenu).getElements(".item").filter(function(f){return!c.childMenu[f.id]}).each(function(f){document.id(f).getParent().addClass("f-submenu-item");f.getParent().addEvents({mouseenter:function(){this.childMenu.fireEvent("show");this.cancellHideAllSubMenus();this.hideOtherSubMenus()}.bind(this),focus:function(){this.childMenu.fireEvent("show");this.cancellHideAllSubMenus();this.hideOtherSubMenus()}.bind(this), mouseleave:function(){this.cancellHideAllSubMenus();this.hideAllSubMenus()}.bind(this),blur:function(){this.cancellHideAllSubMenus();this.hideAllSubMenus()}.bind(this)})},this);this.btn.removeClass("fusion-submenu-item");this.subMenuType=="init"?this.btn.getParent().addClass("f-main-parent"):this.btn.getParent().addClass("f-parent-item");this.btn.getParent().addEvents({mouseenter:function(){this.cancellHideAllSubMenus();this.hideOtherSubMenus();this.showSubMenu();if(this.subMenuType=="init"&&this.options.mmbClassName&& this.options.mmbFocusedClassName){this.fxMorph[this.btn.id]||(this.fxMorph[this.btn.id]={});this.fxMorph[this.btn.id].btnMorph||(this.fxMorph[this.btn.id].btnMorph=new Fx.Morph(this.btn,{duration:this.options.menuFx.duration,transition:this.options.menuFx.transition,link:"cancel"}));this.fxMorph[this.btn.id].btnMorph.start(this.options.mmbFocusedClassName)}}.bind(this),focus:function(){this.cancellHideAllSubMenus();this.hideOtherSubMenus();this.showSubMenu();if(this.subMenuType=="init"&&this.options.mmbClassName&& this.options.mmbFocusedClassName){this.fxMorph[this.btn.id]||(this.fxMorph[this.btn.id]={});this.fxMorph[this.btn.id].btnMorph||(this.fxMorph[this.btn.id].btnMorph=new Fx.Morph(this.btn,{duration:this.options.menuFx.duration,transition:this.options.menuFx.transition,link:"cancel"}));this.fxMorph[this.btn.id].btnMorph.start(this.options.mmbFocusedClassName)}}.bind(this),mouseleave:function(){this.cancellHideAllSubMenus();this.hideAllSubMenus()}.bind(this),blur:function(){this.cancellHideAllSubMenus(); this.hideAllSubMenus()}.bind(this)});this.options.onSubMenuInit_complete(this)},matchWidth:function(){if(!(this.widthMatched||this.subMenuType==="subseq")){this.options.onMatchWidth_begin(this);var a=this.btn.getCoordinates().width;this.childMenu.getElements(".item").each(function(c){var e=parseFloat(this.childMenu.getFirst().getStyle("border-left-width"))+parseFloat(this.childMenu.getFirst().getStyle("border-right-width")),d=parseFloat(c.getStyle("padding-left"))+parseFloat(c.getStyle("padding-right")); d=e+d;if(a>c.getCoordinates().width){c.setStyle("width",a-d);c.setStyle("margin-right",-e)}}.bind(this));this.width=this.btn.fusionSize.width;this.widthMatched=true;this.options.onMatchWidth_complete(this)}},hideSubMenu:function(){if(this.childMenu.fusionStatus!=="closed"){this.options.onHideSubMenu_begin(this);if(this.subMenuType=="init")if(this.options.mmbClassName&&this.options.mmbFocusedClassName){this.fxMorph[this.btn.id]||(this.fxMorph[this.btn.id]={});this.fxMorph[this.btn.id].btnMorph||(this.fxMorph[this.btn.id].btnMorph= new Fx.Morph(this.btn,{duration:this.options.menuFx.duration,transition:this.options.menuFx.transition,link:"cancel"}));this.fxMorph[this.btn.id].btnMorph.start(this.options.mmbClassName).chain(function(){this.btn.getParent().removeClass("f-mainparent-itemfocus");this.btn.getParent().addClass("f-mainparent-item")}.bind(this))}else{this.btn.getParent().removeClass("f-mainparent-itemfocus");this.btn.getParent().addClass("f-mainparent-item")}else{this.btn.getParent().removeClass("f-menuparent-itemfocus"); this.btn.getParent().addClass("f-menuparent-item")}this.childMenu.setStyle("z-index",1);if(this.options.effect&&this.options.effect.toLowerCase()==="slide")if(this.subMenuType=="init"&&this.options.orientation=="horizontal"&&this.options.direction.y=="down")this.myEffect.start({"margin-top":-this.height}).chain(function(){if(this.childMenu.fusionStatus=="closed")Browser.Engine.trident?this.myEffect.element.setStyle("display","none"):this.myEffect.set({display:"none"})}.bind(this));else if(this.subMenuType== "init"&&this.options.orientation=="horizontal"&&this.options.direction.y=="up")this.myEffect.start({"margin-top":this.height}).chain(function(){if(this.childMenu.fusionStatus=="closed")Browser.Engine.trident?this.myEffect.element.setStyle("display","none"):this.myEffect.set({display:"none"})}.bind(this));else if(this.options.direction.x=="right"){tmp=this.rtl?{"margin-right":this.width}:{"margin-left":-this.width};this.myEffect.start(tmp).chain(function(){if(this.childMenu.fusionStatus=="closed")Browser.Engine.trident? this.myEffect.element.setStyle("display","none"):this.myEffect.set({display:"none"})}.bind(this))}else{if(this.options.direction.x=="left"){tmp=this.rtl?{"margin-right":-this.width}:{"margin-left":this.width};this.myEffect.start(tmp).chain(function(){if(this.childMenu.fusionStatus=="closed")Browser.Engine.trident?this.myEffect.element.setStyle("display","none"):this.myEffect.set({display:"none"})}.bind(this))}}else if(this.options.effect=="fade")this.myEffect.start({opacity:0}).chain(function(){if(this.childMenu.fusionStatus== "closed")Browser.Engine.trident?this.myEffect.element.setStyle("display","none"):this.myEffect.set({display:"none"})}.bind(this));else if(this.options.effect=="slide and fade")if(this.subMenuType=="init"&&this.options.orientation=="horizontal"&&this.options.direction.y=="down")this.myEffect.start({"margin-top":-this.height,opacity:0}).chain(function(){if(this.childMenu.fusionStatus=="closed")Browser.Engine.trident?this.myEffect.element.setStyle("display","none"):this.myEffect.set({display:"none"})}.bind(this)); else if(this.subMenuType=="init"&&this.options.orientation=="horizontal"&&this.options.direction.y=="up")this.myEffect.start({"margin-top":this.height,opacity:0}).chain(function(){if(this.childMenu.fusionStatus=="closed")Browser.Engine.trident?this.myEffect.element.setStyle("display","none"):this.myEffect.set({display:"none"})}.bind(this));else if(this.options.direction.x=="right"){tmp=this.rtl?{"margin-right":this.width,opacity:0}:{"margin-left":-this.width,opacity:0};this.myEffect.start(tmp).chain(function(){if(this.childMenu.fusionStatus== "closed")Browser.Engine.trident?this.myEffect.element.setStyle("display","none"):this.myEffect.set({display:"none"})}.bind(this))}else{if(this.options.direction.x=="left"){tmp=this.rtl?{"margin-right":-this.width,opacity:0}:{"margin-left":this.width,opacity:0};this.myEffect.start(tmp).chain(function(){if(this.childMenu.fusionStatus=="closed")Browser.Engine.trident?this.myEffect.element.setStyle("display","none"):this.myEffect.set({display:"none"})}.bind(this))}}else Browser.Engine.trident?this.myEffect.element.setStyle("display", "none"):this.myEffect.set({display:"none"});this.childMenu.fusionStatus="closed";this.options.onHideSubMenu_complete(this)}},hideOtherSubMenus:function(){this.options.onHideOtherSubMenus_begin(this);this.otherSubMenus[this.btn.id]||(this.otherSubMenus[this.btn.id]=$$(this.root.subMenus.filter(function(a){return!this.root.parentSubMenus[this.btn.id].contains(a)&&a!=this.childMenu}.bind(this))));this.parentSubMenus.fireEvent("show");this.otherSubMenus[this.btn.id].fireEvent("hide");this.options.onHideOtherSubMenus_complete(this)}, hideAllSubMenus:function(){this.options.onHideAllSubMenus_begin(this);$clear(this.root.hideAllMenusTimeout);this.root.hideAllMenusTimeout=function(){$clear(this.hideAllMenusTimeout);this.myEffect.cancel();this.root.options.pill&&!this.root.ghostRequest&&this.root.pillFx.start(this.root.pillsDefaults);$$(this.root.subMenus).fireEvent("hide")}.bind(this).delay(this.options.hideDelay);this.options.onHideAllSubMenus_complete(this)},cancellHideAllSubMenus:function(){$clear(this.root.hideAllMenusTimeout)}, showSubMenu:function(a){if(this.root.options.pill&&this.subMenuType=="init"){this.root.ghostRequest=false;this.root.pillFx.start({left:this.btn.getParent().offsetLeft,width:this.btn.getParent().offsetWidth-this.root.pillsMargins,top:this.btn.getParent().offsetTop})}if(this.childMenu.fusionStatus!=="open"){this.options.onShowSubMenu_begin(this);if(this.subMenuType=="init"){this.btn.getParent().removeClass("f-mainparent-item");this.btn.getParent().addClass("f-mainparent-itemfocus")}else{this.btn.getParent().removeClass("f-menuparent-item"); this.btn.getParent().addClass("f-menuparent-itemfocus")}this.root.subMenuZindex++;this.childMenu.setStyles({display:"block",visibility:"hidden","z-index":this.root.subMenuZindex});if(!this.width||!this.height){this.width=this.btn.fusionSize.width;this.height=this.btn.fusionSize.height;this.childMenu.getFirst().setStyle("height",this.height,"border");if(this.options.effect=="slide"||this.options.effect=="slide and fade")if(this.subMenuType=="init"&&this.options.orientation=="horizontal"){this.childMenu.getFirst().setStyle("margin-top", "0");if(this.options.direction.y=="down")this.myEffect.set({"margin-top":-this.height});else this.options.direction.y=="up"&&this.myEffect.set({"margin-top":this.height})}else{tmp=this.options.direction.x=="left"?this.rtl?{"margin-right":-this.width}:{"margin-left":this.width}:this.rtl?{"margin-right":this.width}:{"margin-left":-this.width};this.myEffect.set(tmp)}}this.matchWidth();this.positionSubMenu();if(this.options.effect=="slide"){this.childMenu.setStyles({display:"block",visibility:"visible"}); if(this.subMenuType==="init"&&this.options.orientation==="horizontal")a?this.myEffect.set({"margin-top":0}).chain(function(){this.showSubMenuComplete()}.bind(this)):this.myEffect.start({"margin-top":0}).chain(function(){this.showSubMenuComplete()}.bind(this));else{tmp=this.rtl?{"margin-right":0}:{"margin-left":0};a?this.myEffect.set(tmp).chain(function(){this.showSubMenuComplete()}.bind(this)):this.myEffect.start(tmp).chain(function(){this.showSubMenuComplete()}.bind(this))}}else if(this.options.effect== "fade")a?this.myEffect.set({opacity:this.options.opacity}).chain(function(){this.showSubMenuComplete()}.bind(this)):this.myEffect.start({opacity:this.options.opacity}).chain(function(){this.showSubMenuComplete()}.bind(this));else if(this.options.effect=="slide and fade"){this.childMenu.setStyles({display:"block",visibility:"visible"});this.childMenu.getFirst().setStyles({left:0});if(this.subMenuType=="init"&&this.options.orientation=="horizontal")a?this.myEffect.set({"margin-top":0,opacity:this.options.opacity}).chain(function(){this.showSubMenuComplete()}.bind(this)): this.myEffect.start({"margin-top":0,opacity:this.options.opacity}).chain(function(){this.showSubMenuComplete()}.bind(this));else{tmp=this.rtl?{"margin-right":0,opacity:this.options.opacity}:{"margin-left":0,opacity:this.options.opacity};if(a)if(this.options.direction.x=="right")this.myEffect.set(tmp).chain(function(){this.showSubMenuComplete()}.bind(this));else this.options.direction.x=="left"&&this.myEffect.set(tmp).chain(function(){this.showSubMenuComplete()}.bind(this));else if(this.options.direction.x== "right"){this.myEffect.set({"margin-left":-this.width,opacity:this.options.opacity});this.myEffect.start(tmp).chain(function(){this.showSubMenuComplete()}.bind(this))}else if(this.options.direction.x=="left"){this.myEffect.set({"margin-left":this.width,opacity:this.options.opacity});this.myEffect.start(tmp).chain(function(){this.showSubMenuComplete()}.bind(this))}}}else{this.childMenu.setStyles({display:"block",visibility:"visible"});this.showSubMenuComplete(this)}this.childMenu.fusionStatus="open"}}, showSubMenuComplete:function(){this.options.onShowSubMenu_complete(this)},positionSubMenu:function(){this.options.onPositionSubMenu_begin(this);this.childMenu.setStyle("width",this.width);this.childMenu.getFirst().setStyle("width",this.width);if(this.subMenuType=="subseq"){this.options.direction.x="right";this.options.direction.xInverse="left";this.options.direction.y="down";this.options.direction.yInverse="up";if(this.rtl){this.options.direction.x="left";this.options.direction.xInverse="right"}}var a, c;if(this.subMenuType=="init"){if(this.options.direction.y=="up"){a=this.options.orientation=="vertical"?this.btn.getCoordinates().bottom-this.height+this.options.tweakInitial.y:this.btn.getCoordinates().top-this.height+this.options.tweakInitial.y;this.childMenu.style.top=a+"px"}else if(this.options.orientation=="horizontal")this.childMenu.style.top=this.btn.getCoordinates().bottom+this.options.tweakInitial.y+"px";else if(this.options.orientation=="vertical"){a=this.btn.getPosition().y+this.options.tweakInitial.y; if(a+this.childMenu.getSize2().y>=document.body.getScrollSize2().y){c=a+this.childMenu.getSize2().y-document.body.getScrollSize2().y;a=a-c-20}this.childMenu.style.top=a+"px"}if(this.options.orientation=="horizontal"){a=this.btn.getPosition().x+this.options.tweakInitial.x;c=0;if(this.rtl){a=0;a=this.btn.getStyle("margin-left").toInt()<0&&!this.options.centered?this.btn.getParent().getPosition().x+this.options.tweakInitial.x:this.btn.getStyle("margin-left").toInt()<0&&this.options.centered?this.btn.getPosition().x- this.options.tweakInitial.x:this.btn.getPosition().x;a=a+this.btn.getSize2().x-this.childMenu.getSize2().x}if(this.options.centered){var e=this.btn.getSize2().x;c=this.btn.getStyle("margin-left").toInt()<0&&!this.rtl?Math.abs(this.btn.getStyle("margin-left").toInt())-Math.abs(this.btn.getFirst().getStyle("padding-left").toInt()):Math.abs(this.btn.getStyle("margin-right").toInt())-Math.abs(this.btn.getFirst().getStyle("padding-right").toInt());var d=this.childMenu.getSize2().x;e+=c;size=(Math.max(e, d)-Math.min(e,d))/2;if(this.rtl)a+=size;else a-=size}this.childMenu.style.left=a+"px"}else if(this.options.direction.x=="left")this.childMenu.style.left=this.btn.getPosition().x-this.childMenu.getCoordinates().width+this.options.tweakInitial.x+"px";else if(this.options.direction.x=="right")this.childMenu.style.left=this.btn.getCoordinates().right+this.options.tweakInitial.x+"px"}else if(this.subMenuType=="subseq"){if(this.options.direction.y==="down")if(this.btn.getCoordinates().top+this.options.tweakSubsequent.y+ this.childMenu.getSize2().y>=document.body.getScrollSize2().y){c=this.btn.getCoordinates().top+this.options.tweakSubsequent.y+this.childMenu.getSize2().y-document.body.getScrollSize2().y;this.childMenu.style.top=this.btn.getCoordinates().top+this.options.tweakSubsequent.y-c-20+"px"}else this.childMenu.style.top=this.btn.getCoordinates().top+this.options.tweakSubsequent.y+"px";else if(this.options.direction.y==="up")if(this.btn.getCoordinates().bottom-this.height+this.options.tweakSubsequent.y<1){this.options.direction.y= "down";this.options.direction.yInverse="up";this.childMenu.style.top=this.btn.getCoordinates().top+this.options.tweakSubsequent.y+"px"}else this.childMenu.style.top=this.btn.getCoordinates().bottom-this.height+this.options.tweakSubsequent.y+"px";if(this.options.direction.x=="left"){this.childMenu.style.left=this.btn.getCoordinates().left-this.childMenu.getCoordinates().width+this.options.tweakSubsequent.x+"px";if(this.childMenu.getPosition().x<0){this.options.direction.x="right";this.options.direction.xInverse= "left";this.childMenu.style.left=this.btn.getPosition().x+this.btn.getCoordinates().width+this.options.tweakSubsequent.x+"px";if(this.options.effect==="slide"||this.options.effect==="slide and fade"){tmp=this.rtl?{"margin-right":this.width,opacity:this.options.opacity}:{"margin-left":-this.width,opacity:this.options.opacity};this.myEffect.set(tmp)}}}else if(this.options.direction.x=="right"){this.childMenu.style.left=this.btn.getCoordinates().right+this.options.tweakSubsequent.x+"px";a=this.childMenu.getCoordinates().right; c=document.body.getSize2().x+window.getScroll2().x;if(a>c){this.options.direction.x="left";this.options.direction.xInverse="right";this.childMenu.style.left=this.btn.getCoordinates().left-this.childMenu.getCoordinates().width-this.options.tweakSubsequent.x+"px";if(this.options.effect=="slide"||this.options.effect=="slide and fade"){tmp=this.rtl?{"margin-right":-this.width,opacity:this.options.opacity}:{"margin-left":this.width,opacity:this.options.opacity};this.myEffect.set(tmp)}}}}this.options.onPositionSubMenu_complete(this)}}); Element.implement({getCustomID:function(){if(!this.id)this.id=this.get("tag")+"-"+$time()+$random(0,1E3);return this.id}}); Native.implement([Element],{getSize2:function(){if(/^(?:body|html)$/i.test(this.tagName))return this.getWindow().getSize();return{x:this.offsetWidth,y:this.offsetHeight}},getScrollSize2:function(){if(/^(?:body|html)$/i.test(this.tagName))return this.getWindow().getScrollSize();return{x:this.scrollWidth,y:this.scrollHeight}},getScroll2:function(){if(/^(?:body|html)$/i.test(this.tagName))return this.getWindow().getScroll();return{x:this.scrollLeft,y:this.scrollTop}}}); Native.implement([Document,Window],{getSize2:function(){return this.getSize()},getScroll2:function(){return this.getScroll()},getScrollSize2:function(){return this.getScrollSize()}});
