﻿$(document).ready(function () {

    if ($(".show-language-selector").val() == "0") {
        return;
    }

    createLanguageDropDown();
    initLanguageDropDown();
});

function createLanguageDropDown() {

    // set current language:
    var currentLang = $(".selected-language").val();
    if (currentLang != null) {
        $('#language-source option[value=' + currentLang + ']').attr('selected', 'selected');
    }

    var source = $("#language-source");
    var selected = source.find("option[selected]");
    var options = $("option", source);

    var imgLink = $('#language-flag-source option[value=' + selected.val() + ']').html();
    var imgTag = '';
    if (imgLink != null && imgLink != '') {
        imgTag = '<img class="lang-popup-image" width="16px" height="11px" src="' + imgLink + '" alt="" />'
    }

    $("#language-search").append('<dl id="lang-popup-target" class="dropdown"></dl>')
    $("#lang-popup-target").append('<dt><a id="lang-popup-anchor" href="#" onclick="return false;">' +
                '<span class="text">' + selected.text() +
                '</span><span class="value">' + selected.val() +
                '</span></a></dt>')
    $("#lang-popup-target").append('<dd><ul id="lang-popup-list"></ul></dd>')

    options.each(function () {
        var imgLink = $('#language-flag-source option[value=' + $(this).val() + ']').html();
        var imgTag = '';
        if (imgLink != null && imgLink != '') {
            imgTag = '<img class="lang-popup-image" width="16px" height="11px" src="' + imgLink + '" alt="" />'
        }
        $("#lang-popup-target dd ul").append('<li style="float:none;padding:0"><a href="#" id="lang-popup-item-anchor" onclick="changeLanguage(this);return false;">' +
                    imgTag +
                    '<span class="text">' + $(this).text() + '</span><span class="value">' +
                    $(this).val() + '</span></a></li>');
    });
}

function initLanguageDropDown() {
    $("#language-search .dropdown dt a").click(function () {
        $("#language-search .dropdown dd ul").toggle();
    });

    $(document).bind('click', function (e) {
        var $clicked = $(e.target);
        if (!$clicked.parents().hasClass("dropdown"))
            $("#language-search .dropdown dd ul").hide();
    });

    $("#language-search .dropdown dd ul li a").click(function () {
        var text = $(this).find("span.text").html();
        $("#language-search .dropdown dt a").html(text);
        $("#language-search .dropdown dd ul").hide();
        var source = $("#language-source");
        source.val($(this).find("span.value").html())
    });
}

function changeLanguage(target) {
    var selectedValue = $(target).find("span.value").html();
    var currentLang = $(".selected-language").val();
    if (selectedValue != currentLang) {
        // temp code: delete when new languages is ready
        //if (selectedValue == 'de' || selectedValue == 'sv' || selectedValue == 'da') {
        //    tempRedirectToOld(selectedValue);
        //    return;
        //}
        // end temp code
        var url = $("#current-url").val();
        if (url.indexOf('?') != -1) {
            window.location = encodeURI(url + '&' + $("#language-param").val() + "=" + selectedValue);
        }
        else {
            window.location = encodeURI(url + '?' + $("#language-param").val() + "=" + selectedValue);
        }
    }
}

function tempRedirectToOld(selectedValue) {
    if (selectedValue == 'de') {
        window.location = encodeURI('http://www.datarespons.de');
    }
    if (selectedValue == 'da') {
        window.location = encodeURI('http://www.datarespons.dk');
    }
    if (selectedValue == 'sv') {
        window.location = encodeURI('http://www.datarespons.se');
    }
}
