dojo.require("dojo.NodeList-fx");dojo.require("dojo.cookie");dojo.menu = {        /* setup */    collapsedHeightSub: 53,    collapsedHeightNoSub: 53,    collapseDuration: 350,    initialHeight: 'auto',        collapsed: false,    isPlaying: false,        init: function() {        	if(dojo.isIE) {	    if(dojo.isIE < 7) {	        return false;	    }	    dojo.query('html').addClass('dj_ie').addClass('dj_ie'+dojo.isIE);	}                // references        this.toggler = dojo.byId('menuToggler');        this.menuWrapperNode = dojo.byId('menuWrapper');        this.menuWrapper = dojo.query('#menuWrapper');        this.subMenus = dojo.query('ul ul',this.menuWrapperNode);        this.currentSub = dojo.query('ul li.current ul',this.menuWrapperNode);                // early setup        dojo.style(this.toggler,'display','block');        this.hasCurrentSub = this.currentSub.length > 0;                // get initial height        if(this.initialHeight === 'auto') {            this.initialHeight = this.menuWrapperNode.offsetHeight - 1;        }            // connections        dojo.connect(this.toggler,'onclick',this,'onToggle');                // setup animations here?                // load state        var collapsed = dojo.cookie('collapsed');        if(collapsed === 'true') {            this.collapseMenu();        }    },        collapseMenu: function() {        this.menuWrapper.style('height', (this.hasCurrentSub ? this.collapsedHeightSub : this.collapsedHeightSub ) + 'px');        this.subMenus.style('opacity', 0);        dojo.addClass(this.menuWrapperNode,'collapsed');        this.currentSub.style('opacity', 1).style('zIndex',5);        this.collapsed = true;    },        onToggle: function() {	if(this.isPlaying) {		return false;	}	this.isPlaying = true;        if(this.collapsed) {            this.currentSub.fadeOut().play();                        this.menuWrapper.anim({'height' : this.initialHeight},this.collapseDuration,dojo._defaultEasing,dojo.hitch(this,function(){                    dojo.removeClass(this.menuWrapperNode,'collapsed');		    this.isPlaying = false;                    if(this.subMenus) {                        this.subMenus.fadeIn().play();                        this.subMenus.style('zIndex',1);                    }                })            );                        this.collapsed = false;            dojo.cookie('collapsed','false');                    } else {            var fo = this.subMenus.fadeOut().play();                        this.menuWrapper.anim({'height' : this.hasCurrentSub ? this.collapsedHeightSub : this.collapsedHeightNoSub },this.collapseDuration,dojo._defaultEasing,dojo.hitch(this,function(){                dojo.addClass(this.menuWrapperNode,'collapsed');		this.isPlaying = false;                if(this.hasCurrentSub) {                    this.currentSub.fadeIn().play();                    this.currentSub.style('zIndex',5);                }            }));                        this.collapsed = true;            dojo.cookie('collapsed','true');        }    }};dojo.addOnLoad(dojo.hitch(dojo.menu,'init'));