$(document).ready(function(){
	if (getPath() == 'i18n') {
		i18nInit();
	}
});

function i18nInit() {
    listI18nCodes();
}

function getPath() {
	var path = top.location.pathname;
	if (path == "/") {
		path = "home";
	}

	if (path.indexOf("/") == 0) {
		path = path.substring(1, path.length);
	}

	return path;
}

function listI18nCodes() {
    var url = "/i18n-system/I18n.php?action=list_languages";
    $.get(url, { }, listI18nCodesReady, "json");
}

function listI18nCodesReady(response) {
    // response is an array with i18n codes
    var selectElement = document.getElementById('i18n_code');

    addOptionToElement(selectElement, 'Select language code', '');

    for (var a = 0; a < response.length; a++) {
        var value = response[a];
        addOptionToElement(selectElement, value, value);
    }

    selectElement.selectedIndex = 0;
}

function loadLanguage() {
    var selectElement = document.getElementById('i18n_code');
    var code = selectElement.options[selectElement.selectedIndex].value;

    if (code.length == 0) {
        alert("please choose a language code");
        return;
    }

    var url = "/i18n-system/I18n.php?action=load_language&code=" + code;
    $.get(url, { }, loadLanguageReady, "json");

    document.getElementById('new_code').value = code;
}

function loadLanguageReady(response) {
    var htmlArray = [ ];

    for (var name in response) {
        var value = response[name];

        var htmlEntry = '';
        htmlEntry += '<b>' + name + ':</b><br />';
        htmlEntry += '<input type="text" name="' + name + '" value="' + value + '" size="70" class="i18n_field"/><br /><br />';

        htmlArray.push(htmlEntry);
    }

    var html = htmlArray.join('<hr />');

    $('#translation').html(html);
}

function sendLanguage() {
    var selectElement = document.getElementById('i18n_code');
    var code = selectElement.options[selectElement.selectedIndex].value;

    var newCode = document.getElementById('new_code').value;
    var email = document.getElementById('email').value;
    var comment = document.getElementById('comment').value;

    var newI18nData = { };

    var i18nFields = $(".i18n_field").get();
    for (var a = 0; a < i18nFields.length; a++) {
        var i18nField = i18nFields[a];

        var name = $(i18nField).attr('name');
        var value = $(i18nField).attr('value');

        newI18nData[name] = value;
    }

    newI18nData['code'] = code;
    newI18nData['new_code'] = newCode;
    newI18nData['email'] = email;
    newI18nData['comment'] = comment;

    var url = "/i18n-system/I18n.php?action=send_language";
    $.post(url, newI18nData, sendLanguageReady, "json");
}

function sendLanguageReady(response) {
    $('#i18nDiv').css( {'visibility': 'hidden', 'display': 'none' });

    if (response && response.send) {
        $('#status').css('color', '#00aa00');
        $('#status').html("Translation was successfully send");
    } else {
        $('#status').css('color', '#aa0000');
        $('#status').html("Cannot send translation");
    }
}

function addOptionToElement(selectElement, name, value) {
    var newOption = new Option(name, value, false, true);
    selectElement.options[selectElement.length] = newOption;
}

function selectOptionByValue(selectElement, value) {
    //alert("select option by value :" + value + " found option values: " + selectElement.options.length);
    for (var a = 0; a < selectElement.options.length; a++) {
        //alert("value1=" + selectElement.options[a].value + ", value2=" + value);
        //break
        if (selectElement.options[a].value == value) {
            selectElement.selectedIndex = a;
            //alert("selected index: " + a);
            break;
        }
    }
}


