var project = {
    vars : {
        language : null,
        langSw : false
    },
    actions : {
        init : function() {
            $('#data').hide();
            $("a#imprint").fancybox({
                content : $('#data').html(),
                padding : 30
            });
            project.actions.statement.show();
        },
        statement : {
            show : function(){
                var language = project.vars.language;
                if (!language) {
                    language = project.actions.statement.language.determine();
                }
                $('#locales li.' + language).addClass('active').siblings().removeClass('active');
                $.fancybox({
                    content : $('#' + language).html(),
                    width : 800,
                    height : 'auto',
                    autoDimensions : false,
                    onCleanup : project.actions.statement.language.hide,
                    onStart : project.actions.statement.language.show
                });
            },
            language : {
                show : function() {
                    $('#locales').fadeIn(300);
                },
                hide : function() {
                    if (!project.vars.langSw) {
                        $('#locales').fadeOut(300);
                    } else {
                        project.vars.langSw = false;
                    }
                },
                change : function(language) {
                    project.vars.language = language;
                    project.vars.langSw = true;
                    project.actions.statement.show();
                },
                determine : function() {
                    var sources = [
                        'language',
                        'userLanguage',
                        'browserLanguage',
                        'systemLanguage'
                    ];
                    $.each(sources, function() {
                        if (project.vars.language || !window.navigator[this]) {
                            return;
                        }
                        switch (/de/i.test(window.navigator[this])) {
                            case true:
                                project.vars.language = 'de';
                                break;
                            default:
                                project.vars.language = 'en';
                        }
                    });
                    return project.vars.language;
                }
            }
        }
    }
};

$(document).ready(project.actions.init);
