/**
 * menuMatic 
 * @version 0.67 (beta)
 * @author Jason J. Jaeger | greengeckodesign.com
 * @copyright 2008 Jason John Jaeger
 * @license MIT-style License
 *			Permission is hereby granted, free of charge, to any person obtaining a copy
 *			of this software and associated documentation files (the "Software"), to deal
 *			in the Software without restriction, including without limitation the rights
 *			to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 *			copies of the Software, and to permit persons to whom the Software is
 *			furnished to do so, subject to the following conditions:
 *	
 *			The above copyright notice and this permission notice shall be included in
 *			all copies or substantial portions of the Software.
 *	
 *			THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 *			IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 *			FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 *			AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 *			LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 *			OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 *			THE SOFTWARE.	
 **/
var MenuMatic=new Class({Implements:Options,options:{id:"nav-menumatic",subMenusContainerId:"subMenusContainer",effect:"slide & fade",duration:750,physics:Fx.Transitions.Pow.easeOut,hideDelay:800,menuWidth:false,matchWidthMode:false,orientation:"horizontal",direction:{x:"right",y:"down"},tweakInitial:{x:0,y:0},tweakSubsequent:{x:0,y:0},opacity:100,mmbFocusedClassName:null,mmbClassName:null,killDivider:null,debug:false},classElHash:new Hash(),hideAllMenusTimeout:null,parentBtns:new Hash(),subMenuZindex:1,initialize:function(P){if(Browser.Engine.webkit419){return }if($type(this.parentBtns)==="object"){this.parentBtns=new Hash()}if($type(this.classElHash)==="object"){this.classElHash=new Hash()}this.setOptions(P);this.options.opacity=this.options.opacity/100;var D=$(this.options.id).getElements("a");var F=[];this.options.direction.x=this.options.direction.x.toLowerCase();this.options.direction.y=this.options.direction.y.toLowerCase();if(this.options.direction.x==="right"){this.options.direction.xInverse="left"}else{if(this.options.direction.x==="left"){this.options.direction.xInverse="right"}}if(this.options.direction.y==="up"){this.options.direction.yInverse="down"}else{if(this.options.direction.y==="down"){this.options.direction.yInverse="up"}}D.each(function(Q){var R=new Object();if($(Q).getNext("ul")||$(Q).getNext("ol")){var S="subsequent";if($(Q).parentNode.parentNode.id&&$(Q).parentNode.parentNode.id==this.options.id){S="initial"}R.btn=$(Q);this.parentBtns.set(this.getOrSetId(R.btn),R.btn);if(S==="initial"){R.btn.addClass("mainMenuParentBtn")}else{R.btn.addClass("subMenuParentBtn")}R.childMenu=$(Q).getNext();R.parentSubMenus=this.getParents($(Q),this.options.id,"ul,ol");R.subMenuType=S;F.push(R)}}.bind(this));var H=new Element("div",{id:this.options.subMenusContainerId}).inject($(document.body),"bottom");F.each(function(R,Q){var S=new Element("div",{"class":"smOW"}).inject(H);R.childMenu.inject(S);R.childMenu=S;this.classElHash.set(this.getOrSetId(S),null)}.bind(this));for(var I in F){if(F.hasOwnProperty(I)){var O=new Hash();for(var N in F[I].parentSubMenus){if(F[I].parentSubMenus.hasOwnProperty(N)){var A=$(F[I].parentSubMenus[N]).getParent().id;O.set(A,null)}}F[I].parentSubMenus=O}}H.getElements("a").each(function(R,Q){R.set("tabindex","-1")});for(var I in F){if(F.hasOwnProperty(I)){$(F[I].btn).store("isParent",true);var G=new MenuMaticSubMenu(this.options,{root:this,btn:F[I].btn,childMenu:F[I].childMenu,parentSubMenus:F[I].parentSubMenus,subMenuType:F[I].subMenuType});G.setOptions(this.options);this.classElHash[F[I].childMenu.id]=G}}this.classElHash.each(function(R,Q){var S=[];R.parentSubMenus.each(function(T,U){R.parentSubMenus[U]=this.classElHash[U];S.push(this.classElHash[U])}.bind(this));R.parentSubMenu=S[0]}.bind(this));var M=$(this.options.id).getElements("a").filter(function(R,Q){return !this.parentBtns.contains(R)}.bind(this));M.each(function(R,Q){R.addEvents({mouseenter:function(S){S=new Event(S).stop();this.hideAllSubMenusNow();if(this.options.mmbClassName&&this.options.mmbFocusedClassName){$(R).retrieve("btnMorph",new Fx.Morph(R,{duration:(this.options.duration/2),transition:this.options.physics,link:"cancel"})).start(this.options.mmbFocusedClassName)}}.bind(this),focus:function(S){S=new Event(S).stop();this.hideAllSubMenusNow();if(this.options.mmbClassName&&this.options.mmbFocusedClassName){$(R).retrieve("btnMorph",new Fx.Morph(R,{duration:(this.options.duration/2),transition:this.options.physics,link:"cancel"})).start(this.options.mmbFocusedClassName)}}.bind(this),mouseleave:function(S){S=new Event(S).stop();if(this.options.mmbClassName&&this.options.mmbFocusedClassName){$(R).retrieve("btnMorph",new Fx.Morph(R,{duration:(this.options.duration*5),transition:this.options.physics,link:"cancel"})).start(this.options.mmbClassName)}}.bind(this),blur:function(S){S=new Event(S).stop();if(this.options.mmbClassName&&this.options.mmbFocusedClassName){$(R).retrieve("btnMorph",new Fx.Morph(R,{duration:(this.options.duration*5),transition:this.options.physics,link:"cancel"})).start(this.options.mmbClassName)}}.bind(this),keydown:function(T){var S=new Event(T);if(T.key==="up"||T.key==="down"||T.key==="left"||T.key==="right"){T.stop()}if(T.key==="left"&&this.options.orientation==="horizontal"||T.key==="up"&&this.options.orientation==="vertical"){if(R.getParent("li").getPrevious("li")){R.getParent("li").getPrevious("li").getFirst("a").focus()}else{R.getParent("li").getParent().getLast("li").getFirst("a").focus()}}else{if(T.key==="right"&&this.options.orientation==="horizontal"||T.key==="down"&&this.options.orientation==="vertical"){if(R.getParent("li").getNext("li")){R.getParent("li").getNext("li").getFirst("a").focus()}else{R.getParent("li").getParent().getFirst("li").getFirst("a").focus()}}}}.bind(this)})},this);if(this.options.menuWidth&&this.options.orientation==="horizontal"){var L=parseFloat($(this.options.id).getCoordinates().width);var E=0;var B=$(this.options.id).getElements("a");var K=0+parseFloat($(B[0]).getStyle("border-left-width"))+parseFloat($(B[B.length-1]).getStyle("border-right-width"));var C=1000;var J=0;B.each(function(R,Q){R.setStyles({"padding-left":0,"padding-right":0})}.bind(this));while((E+K)<L&&C>0){C--;E=0;B[J].setStyle("width",B[J].getCoordinates().width+1);B.each(function(R,Q){E+=R.getCoordinates().width}.bind(this));J++;if(J>B.length-1){J=0}}}if(this.options.killDivider&&this.options.killDivider.toLowerCase()==="first"){$($(this.options.id).getElements("li")[0]).setStyles({background:"none"})}else{if(this.options.killDivider&&this.options.killDivider.toLowerCase()==="last"){$($(this.options.id).getElements("li").getLast()).setStyles({background:"none"})}}},getParents:function(F,E,A){var D=[];if(A){A=A.toString().split(",");A.each(function(H,G){A[G]=A[G].toLowerCase()})}currentObj=F;var C=200;var B=0;while(currentObj.parentNode&&currentObj.parentNode.id!=E){B++;if(B>C){break}if(!A||A.contains(currentObj.parentNode.tagName.toLowerCase())){D.push(currentObj.parentNode)}currentObj=currentObj.parentNode}return D},getOrSetId:function(C){if(!C.id){var D=new Date();var B=D.getMilliseconds().toString();var A=Math.floor(Math.random()*1000);if(C.nodeName){C.id=C.nodeName.toString()+"-"+B+A.toString()}else{C.id="element"+B+A.toString()}}return C.id},hideAllSubMenusNow:function(){$clear(this.hideAllMenusTimeout);this.classElHash.each(function(B,A){B.hideSubMenu()}.bind(this))}});var MenuMaticSubMenu=new Class({Implements:Options,Extends:MenuMatic,options:{},root:null,btn:null,childMenu:null,subMenuType:null,parentSubMenus:new Hash(),parentSubMenu:null,hidden:true,myEffect:null,width:false,height:null,widthMatched:false,initialize:function(B,C){if($type(this.parentBtns)==="object"){this.parentBtns=new Hash()}if($type(this.classElHash)==="object"){this.classElHash=new Hash()}this.setOptions(B);for(var A in C){if(C.hasOwnProperty(A)){this[A]=C[A]}}if(this.options.effect){this.myEffect=new Fx.Morph($(this.childMenu).getFirst(),{duration:this.options.duration,transition:this.options.physics,link:"cancel"})}if(this.options.effect==="slide"||this.options.effect==="slide & fade"){if(this.subMenuType=="initial"&&this.options.orientation==="horizontal"){this.childMenu.getFirst().setStyle("margin-top","0")}else{this.childMenu.getFirst().setStyle("margin-left","0")}}else{if(this.options.effect==="fade"||this.options.effect==="slide & fade"){this.childMenu.getFirst().setStyle("opacity",0)}}if(this.options.effect!="fade"&&this.options.effect!="slide & fade"){this.childMenu.getFirst().setStyle("opacity",this.options.opacity)}var D=$(this.childMenu).getElements("a").filter(function(F,E){return !this.parentBtns.contains(F)}.bind(this));D.each(function(F,E){$(F).addClass("subMenuBtn");F.addEvents({mouseenter:function(G){G=new Event(G).stop();this.cancellHideAllSubMenus();if(!F.retrieve("isParent")){this.hideOtherSubMenus()}}.bind(this),focus:function(G){G=new Event(G).stop();this.cancellHideAllSubMenus();if(!F.retrieve("isParent")){this.hideOtherSubMenus()}}.bind(this),mouseleave:function(G){G=new Event(G).stop();this.cancellHideAllSubMenus();this.hideAllSubMenus()}.bind(this),blur:function(G){G=new Event(G).stop();this.cancellHideAllSubMenus();this.hideAllSubMenus()}.bind(this),keydown:function(H){var G=new Event(H);if(H.key==="up"||H.key==="down"||H.key==="left"||H.key==="right"||H.key==="tab"){H.stop()}if(H.key==="up"){if(F.getParent("li").getPrevious("li")){F.getParent("li").getPrevious("li").getFirst("a").focus()}else{if(this.options.direction.y==="down"){this.btn.focus()}else{if(this.options.direction.y==="up"){F.getParent("li").getParent().getLast("li").getFirst("a").focus()}}}}else{if(H.key==="down"){if(F.getParent("li").getNext("li")){F.getParent("li").getNext("li").getFirst("a").focus()}else{if(this.options.direction.y==="down"){F.getParent("li").getParent().getFirst("li").getFirst("a").focus()}else{if(this.options.direction.y==="up"){this.btn.focus()}}}}else{if(H.key===this.options.direction.xInverse){this.btn.focus()}}}}.bind(this)})},this);$(this.btn).removeClass("subMenuBtn");if(this.subMenuType=="initial"){this.btn.addClass("mainParentBtn")}else{this.btn.addClass("subParentBtn")}$(this.btn).addEvents({mouseenter:function(E){E=new Event(E).stop();this.cancellHideAllSubMenus();this.hideOtherSubMenus();this.showSubMenu();if(this.subMenuType==="initial"&&this.options.mmbClassName&&this.options.mmbFocusedClassName){$(this.btn).retrieve("btnMorph",new Fx.Morph($(this.btn),{duration:(this.options.duration/2),transition:this.options.physics,link:"cancel"})).start(this.options.mmbFocusedClassName)}}.bind(this),focus:function(E){E=new Event(E).stop();this.cancellHideAllSubMenus();this.hideOtherSubMenus();this.showSubMenu();if(this.subMenuType==="initial"&&this.options.mmbClassName&&this.options.mmbFocusedClassName){$(this.btn).retrieve("btnMorph",new Fx.Morph($(this.btn),{duration:(this.options.duration/2),transition:this.options.physics,link:"cancel"})).start(this.options.mmbFocusedClassName)}}.bind(this),mouseleave:function(E){E=new Event(E).stop();this.cancellHideAllSubMenus();this.hideAllSubMenus()}.bind(this),blur:function(E){E=new Event(E).stop();this.cancellHideAllSubMenus();this.hideAllSubMenus()}.bind(this),keydown:function(E){E=new Event(E);if(E.key==="up"||E.key==="down"||E.key==="left"||E.key==="right"){E.stop()}if(!this.parentSubMenu){if(this.options.orientation==="horizontal"&&E.key===this.options.direction.y||this.options.orientation==="vertical"&&E.key===this.options.direction.x){if(this.options.direction.y==="down"){this.childMenu.getFirst().getFirst("li").getFirst("a").focus()}else{if(this.options.direction.y==="up"){this.childMenu.getFirst().getLast("li").getFirst("a").focus()}}}else{if(this.options.orientation==="horizontal"&&E.key==="left"||this.options.orientation==="vertical"&&E.key===this.options.direction.yInverse){if(this.btn.getParent().getPrevious()){this.btn.getParent().getPrevious().getFirst().focus()}else{this.btn.getParent().getParent().getLast().getFirst().focus()}}else{if(this.options.orientation==="horizontal"&&E.key==="right"||this.options.orientation==="vertical"&&E.key===this.options.direction.y){if(this.btn.getParent().getNext()){this.btn.getParent().getNext().getFirst().focus()}else{this.btn.getParent().getParent().getFirst().getFirst().focus()}}}}}else{if(E.key==="tab"){E.stop()}if(E.key==="up"){if(this.btn.getParent("li").getPrevious("li")){this.btn.getParent("li").getPrevious("li").getFirst("a").focus()}else{if(this.options.direction.y==="down"){this.parentSubMenu.btn.focus()}else{if(this.options.direction.y==="up"){this.btn.getParent("li").getParent().getLast("li").getFirst("a").focus()}}}}else{if(E.key==="down"){if(this.btn.getParent("li").getNext("li")){this.btn.getParent("li").getNext("li").getFirst("a").focus()}else{if(this.options.direction.y==="down"){this.btn.getParent("li").getParent().getFirst("li").getFirst("a").focus()}else{if(this.options.direction.y==="up"){this.parentSubMenu.btn.focus()}}}}else{if(E.key===this.options.direction.xInverse){this.parentSubMenu.btn.focus()}else{if(E.key===this.options.direction.x){if(this.options.direction.y==="down"){this.childMenu.getFirst().getFirst("li").getFirst("a").focus()}else{if(this.options.direction.y==="up"){}}}}}}}}.bind(this)})},matchWidth:function(){if(this.widthMatched||!this.options.matchWidthMode||this.subMenuType==="subsequent"){return }var A=this.btn.getCoordinates().width;$(this.childMenu).getElements("a").each(function(E,D){var C=parseFloat($(this.childMenu).getFirst().getStyle("border-left-width"))+parseFloat($(this.childMenu).getFirst().getStyle("border-right-width"));var B=parseFloat(E.getStyle("padding-left"))+parseFloat(E.getStyle("padding-right"));var F=C+B;if(A>E.getCoordinates().width){E.setStyle("width",A-F);E.setStyle("margin-right",-C)}}.bind(this));this.width=this.childMenu.getFirst().getCoordinates().width;this.widthMatched=true},hideSubMenu:function(){if(this.hidden){return }if(this.subMenuType=="initial"){if(this.options.mmbClassName&&this.options.mmbFocusedClassName){$(this.btn).retrieve("btnMorph",new Fx.Morph($(this.btn),{duration:(this.options.duration),transition:this.options.physics,link:"cancel"})).start(this.options.mmbClassName).chain(function(){$(this.btn).removeClass("mainMenuParentBtnFocused");$(this.btn).addClass("mainMenuParentBtn")}.bind(this))}else{$(this.btn).removeClass("mainMenuParentBtnFocused");$(this.btn).addClass("mainMenuParentBtn")}}else{$(this.btn).removeClass("subMenuParentBtnFocused");$(this.btn).addClass("subMenuParentBtn")}this.childMenu.setStyle("z-index",1);if(this.options.effect&&this.options.effect.toLowerCase()==="slide"){if(this.subMenuType=="initial"&&this.options.orientation==="horizontal"&&this.options.direction.y==="down"){this.myEffect.start({"margin-top":-this.height}).chain(function(){this.childMenu.style.display="none"}.bind(this))}else{if(this.subMenuType=="initial"&&this.options.orientation==="horizontal"&&this.options.direction.y==="up"){this.myEffect.start({"margin-top":this.height}).chain(function(){this.childMenu.style.display="none"}.bind(this))}else{if(this.options.direction.x==="right"){this.myEffect.start({"margin-left":-this.width}).chain(function(){this.childMenu.style.display="none"}.bind(this))}else{if(this.options.direction.x==="left"){this.myEffect.start({"margin-left":this.width}).chain(function(){this.childMenu.style.display="none"}.bind(this))}}}}}else{if(this.options.effect=="fade"){this.myEffect.start({opacity:0}).chain(function(){this.childMenu.style.display="none"}.bind(this))}else{if(this.options.effect=="slide & fade"){if(this.subMenuType=="initial"&&this.options.orientation==="horizontal"&&this.options.direction.y==="down"){this.myEffect.start({"margin-top":-this.height,opacity:0}).chain(function(){this.childMenu.style.display="none"}.bind(this))}else{if(this.subMenuType=="initial"&&this.options.orientation==="horizontal"&&this.options.direction.y==="up"){this.myEffect.start({"margin-top":this.height,opacity:0}).chain(function(){this.childMenu.style.display="none"}.bind(this))}else{if(this.options.direction.x==="right"){this.myEffect.start({"margin-left":-this.width,opacity:0}).chain(function(){this.childMenu.style.display="none"}.bind(this))}else{if(this.options.direction.x==="left"){this.myEffect.start({"margin-left":this.width,opacity:0}).chain(function(){this.childMenu.style.display="none"}.bind(this))}}}}}else{this.childMenu.style.display="none"}}}this.hidden=true},hideOtherSubMenus:function(){var A=[];(this.root.classElHash).each(function(C,B){if(!this.parentSubMenus.contains(C)&&this.childMenu.id!=B){C.hideSubMenu()}else{A.push(C)}}.bind(this));for(i=(A.length-1);i>=0;i--){A[i].showSubMenu()}},hideAllSubMenus:function(){$clear(this.root.hideAllMenusTimeout);this.root.hideAllMenusTimeout=(function(){$clear(this.hideAllMenusTimeout);this.root.classElHash.each(function(B,A){B.hideSubMenu()}.bind(this))}).bind(this).delay(this.options.hideDelay)},cancellHideAllSubMenus:function(){$clear(this.root.hideAllMenusTimeout)},showSubMenu:function(A){if(!this.btn||!this.hidden){return }if(this.subMenuType=="initial"){$(this.btn).removeClass("mainMenuParentBtn");$(this.btn).addClass("mainMenuParentBtnFocused")}else{$(this.btn).removeClass("subMenuParentBtn");$(this.btn).addClass("subMenuParentBtnFocused")}this.root.subMenuZindex++;this.childMenu.setStyles({display:"block",visibility:"hidden","z-index":this.root.subMenuZindex});if(!this.width||!this.height){this.width=this.childMenu.getFirst().getCoordinates().width;this.height=this.childMenu.getFirst().getCoordinates().height;this.childMenu.setStyle("height",this.height,"border");if(this.options.effect==="slide"||this.options.effect==="slide & fade"){if(this.subMenuType=="initial"&&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{if(this.options.direction.y==="up"){this.myEffect.set({"margin-top":this.height})}}}else{if(this.options.direction.x==="left"){this.myEffect.set({"margin-left":this.width})}else{this.myEffect.set({"margin-left":-this.width})}}}}this.matchWidth();this.positionSubMenu();if(this.options.effect==="slide"){this.childMenu.setStyles({display:"block",visibility:"visible"});if(this.subMenuType==="initial"&&this.options.orientation==="horizontal"){if(A){this.myEffect.set({"margin-top":0})}else{this.myEffect.start({"margin-top":0})}}else{if(A){this.myEffect.set({"margin-left":0})}else{this.myEffect.start({"margin-left":0})}}}else{if(this.options.effect==="fade"){if(A){this.myEffect.set({opacity:this.options.opacity})}else{this.myEffect.start({opacity:this.options.opacity})}}else{if(this.options.effect=="slide & fade"){this.childMenu.setStyles({display:"block",visibility:"visible"});this.childMenu.getFirst().setStyles({left:0});if(this.subMenuType==="initial"&&this.options.orientation==="horizontal"){if(A){this.myEffect.set({"margin-top":0,opacity:this.options.opacity})}else{this.myEffect.start({"margin-top":0,opacity:this.options.opacity})}}else{if(A){if(this.options.direction.x==="right"){this.myEffect.set({"margin-left":0,opacity:this.options.opacity})}else{if(this.options.direction.x==="left"){this.myEffect.set({"margin-left":0,opacity:this.options.opacity})}}}else{if(this.options.direction.x==="right"){this.myEffect.set({"margin-left":-this.width,opacity:this.options.opacity});this.myEffect.start({"margin-left":0,opacity:this.options.opacity})}else{if(this.options.direction.x==="left"){this.myEffect.start({"margin-left":0,opacity:this.options.opacity})}}}}}else{this.childMenu.setStyles({display:"block",visibility:"visible"})}}}this.hidden=false},positionSubMenu:function(){this.childMenu.setStyle("width",this.width);this.childMenu.getFirst().setStyle("width",this.width);if(this.subMenuType==="subsequent"){if(this.parentSubMenu&&this.options.direction.x!=this.parentSubMenu.options.direction.x){if(this.parentSubMenu.options.direction.x==="left"&&this.options.effect&&this.options.effect.contains("slide")){this.myEffect.set({"margin-left":this.width})}}this.options.direction.x=this.parentSubMenu.options.direction.x;this.options.direction.xInverse=this.parentSubMenu.options.direction.xInverse;this.options.direction.y=this.parentSubMenu.options.direction.y;this.options.direction.yInverse=this.parentSubMenu.options.direction.yInverse}var C;var A;if(this.subMenuType=="initial"){if(this.options.direction.y==="up"){if(this.options.orientation==="vertical"){C=this.btn.getCoordinates().bottom-this.height+this.options.tweakInitial.y}else{C=this.btn.getCoordinates().top-this.height+this.options.tweakInitial.y}this.childMenu.style.top=C+"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"){C=this.btn.getPosition().y+this.options.tweakInitial.y;if((C+this.childMenu.getSize().y)>=$(document.body).getScrollSize().y){A=(C+this.childMenu.getSize().y)-$(document.body).getScrollSize().y;C=C-A-20}this.childMenu.style.top=C+"px"}}}if(this.options.orientation=="horizontal"){this.childMenu.style.left=this.btn.getPosition().x+this.options.tweakInitial.x+"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=="subsequent"){if(this.options.direction.y==="down"){if((this.btn.getCoordinates().top+this.options.tweakSubsequent.y+this.childMenu.getSize().y)>=$(document.body).getScrollSize().y){A=(this.btn.getCoordinates().top+this.options.tweakSubsequent.y+this.childMenu.getSize().y)-$(document.body).getScrollSize().y;this.childMenu.style.top=(this.btn.getCoordinates().top+this.options.tweakSubsequent.y)-A-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 & fade"){this.myEffect.set({"margin-left":-this.width,opacity:this.options.opacity})}}}else{if(this.options.direction.x=="right"){this.childMenu.style.left=this.btn.getCoordinates().right+this.options.tweakSubsequent.x+"px";var D=this.childMenu.getCoordinates().right;var B=document.getCoordinates().width+window.getScroll().x;if(D>B){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 & fade"){this.myEffect.set({"margin-left":this.width,opacity:this.options.opacity})}}}}}}}});