var complete = {
    slidingMenu: function(element, slideSpeed) {
        var lis, lLi, uls;

        this.element = op(element)
        this.speed = slideSpeed

        lLi = (lis = op('li', this.element)).length

        for(var i = 0; i < lLi; ++i) {
            if (!(uls = op('ul', lis[i])).length) {
                continue
            }
            lis[i].listenForEvent('click', common.closure(this, this.clicked))
        }
    }
}

complete.slidingMenu.prototype = {
    clicked: function(evt) 
    {
        var uls

        target = evt.target || evt.srcElement

        /* find the targeted li */
        while(target.tagName != 'LI' && target != document) {
            target = target.parentNode
        }

        if (!(uls = op('ul', target)).length) {
            return
        }

            /* start slide */
        if (!uls[0].obj.slidingMenuStarted) {
            uls[0].obj.slidingMenuStarted = true
            new joy.ulSlider(uls[0], 10, 'up', common.closure(this, this.finished)).start()
        }
    },

    finished: function(obj) 
    {
        obj.obj.slidingMenuStarted = false
    }
}
