/*
    A bunch of language selection utilities.

    $Id$
    $HeadURL$
*/

function bind_language_selector()
{
    /* 
        Replaces "submit" button in language menu with automatic submition on change.
    */
    $('#languageSelectForm select').change(function() { $('#languageSelectForm').submit(); });
    $('#languageSelectForm input[type=submit]').hide();
}

function layered_language_selector()
{
    /*
        Replaces simple select-based language menu with a layer-based one.
    */
    var selected = $('#languageSelectForm select option:selected')[0];
    // The first should be the default language
    if(!selected) {
        selected = $('#languageSelectForm select option')[0];
    }
    $('#languageSelectForm input[type=submit]').hide();
    
    var toggler = $('<a id="change" href="javascript:scrollTo(0,0)">' + $('#languageSelectForm input[type=submit]').val() + '</a>');
    toggler.click(function() { 
        $('#change').toggleClass("up"); 
        $('#languageSelector').toggle();
    });
    var list = $('<ul id="languageSelector" style="display:none" />');
    // Constructing language list basing on an already available select input
    $('#languageSelectForm select option').each(function(k, v) {
        var item = (v.selected)? $('<li class="selected">' + v.text + '</li>'):$('<li><a href="javascript:scrollTo(0,0)">' + v.text + '</a></li>');
        item.click(function() {
            $('#languageSelectForm input[name=language]').val(v.value);
            $('#languageSelector').hide();
            $('#languageSelector span').addClass("down");
            $('#languageSelectForm').submit();
        });
        list.append(item);
    });

    // Let's put it all together
    $('#languageSelectForm').append('<span>' + selected.text + '</span>');
    $('#languageSelectForm').append(toggler);
    $('#languageSelectForm').append(list);
    $('#languageSelectForm select').remove();
    $('#languageSelectForm').append('<input type="hidden" name="language" />');
}

