var LanguageChooser = new Class({

    initialize: function()
    {
        this.isOpening = false;
    },

    getLCHeader: function()
    {
        return $("languagechooser").getElementsBySelector("div.header")[0];
    },

    getLCLanguages: function()
    {
        return $("languagechooser").getElementsBySelector("div.languages")[0];
    },

    openLanguageChooser: function(e)
    {
        this.stopEvent(e);

        if (this.isOpening) return;

        this.isOpening = true;

        var lch = this.getLCHeader();
        var lcl = this.getLCLanguages();

/*         lch.setStyle("background-color", "white"); */
        lcl.setStyle("visibility", "visible");
        lcl.setStyle("display", "block");

        var animHeight = new Fx.Style(lcl, 'height', {duration:300, onStart: function()
        {
            this.isOpening = true;
        }});
        animHeight.set(0);
        animHeight.start(0, 93);
    },

    closeLanguageChooser: function()
    {
        if (!this.isOpening) return;

        var lch = this.getLCHeader();
        var lcl = this.getLCLanguages();

        var animHeight = new Fx.Style(lcl, 'height', {duration:300, onComplete: function()
        {
            lcl.setStyle("visibility", "hidden");
            lcl.setStyle("display", "none");
            lch.setStyle("background-color", "#c4c4c4");
            this.isOpening = false;
        }});
        animHeight.start(0);
        this.isOpening = false;
    }
    ,

    stopEvent: function(e)
    {
        if (e.stopPropagation)
        {
            e.stopPropagation();
        }
        else
        {
            e.cancelBubble = true;
        }
    }
});

var lc = new LanguageChooser();