jQuery.noConflict();

var globalMenu=new Class({
    Implements:Options,
    options:{
        id:"nav",
        subMenusContainerId:"subMenusContainer",
        effect:"slide & fade",
        duration:600,
        physics:Fx.Transitions.Pow.easeOut,
        hideDelay:0,
        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":"subwrap"
            }).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 globalMenuSubMenu(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 globalMenuSubMenu=new Class({
    Implements:Options,
    Extends:globalMenu,
    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
                                })
                            }
                        }
                    }
                }
            }
        }
    }
});

function startGallery() {
    var myGallery = new gallery($('Gallery'), {
        timed: true,
        showArrows: true,
        showCarousel: false
    });
}
function startPortfolioGallery() {
    $("content").getElements('.portfolio-galleries').each(function(el){
        new gallery(el, {
            timed: true,
            showArrows: true,
            showCarousel: false,
			embedLinks: false,
			delay: 6000
        });
    });
}

window.addEvent('domready',function() {
    new SmoothScroll({
        duration: 900
    });
});

window.addEvent('domready', function() {
    var customTips = $$('.tooltip');
    var toolTips = new Tips(customTips, {
        showDelay: 100,
        hideDelay: 100,
        className: 'tip-wrap',
        offsets: {
            'x': 60,
            'y': -70
        },
        fixed: true,
        onShow: function(toolTipElement){
            toolTipElement.fade(.98);
            $('show');
        },
        onHide: function(toolTipElement){
            toolTipElement.fade(0);
            $('hide');
        }
    });
});
