function openselect(ul_id)
{
    ul = $(ul_id);
    if ( ul.style.display != 'none' ) {
        ul.blindUp( { duration: 0.3 } );
        Event.stopObserving(ul, "mouseout");
        return void(0);
    }
    ul.blindDown( { duration: 0.3 } );
    Event.observe( ul, "mouseover", function () {
        Event.stopObserving(ul, "mouseover");
        Event.observe( ul, "mouseout", closeselect.bindAsEventListener(ul));
    });
}

function closeselect(e)
{
    ul = this;
    offset = ul.cumulativeOffset();
    if (Event.pointerX(e) > offset[0] && Event.pointerX(e) <= (offset[0] + 123) ) {
        if ( Event.pointerY(e) > offset[1] && Event.pointerY(e) < (offset[1] + ul.offsetHeight) ) {
            return false;
        }
    }

    ul.blindUp( { duration: 0.3 } );
    Event.stopObserving(ul, "mouseout");
    return void(0);
}