
document.observe('dom:loaded', function() {
    
    /**
     * Hide/show the location selector
     */
    $('changeLocationTrigger').observe('click', function(event) {
        
        var elm = $('chooseLocationWrapper');
        var elmToggle = $('changeLocationTrigger');
        var effectDuration = 0.4;
        
        elmToggle.blur();

        // toggle 'open' class and slide element up/down appropriately
        if(elmToggle.hasClassName('open')) {
            
            Effect.SlideUp(elm, {
                duration: effectDuration,
                queue: {
                    position: 'end',
                    scope: 'eventsChangeLocation',
                    limit: 1
                },
                afterFinish: function() {
                    $('changeLocationTrigger').removeClassName('open');
                }
            });
        }
        else {
            
            Effect.SlideDown(elm, {
                duration: effectDuration,
                queue: {
                    position: 'end',
                    scope: 'eventsChangeLocation',
                    limit: 1
                },
                afterFinish: function() {
                    $('changeLocationTrigger').addClassName('open');
                }
            });
        }
        
        event.stop();
    });
});
