﻿/// <reference path="global.js" />
/// <reference path="jquery-1.3.2-vsdoc.js" />

/************************************************************************************************************
 * Translate
 ***********************************************************************************************************/
function DisplayTranslationSuccess(data, word, translatorDesc, button) {
    if (data.success == "1") {
        var value = "";
        var div = $(".translate-results");

        if (translatorDesc.indexOf("Google") != -1) {
            //value = JSON.stringify(data);
            value = renderJSON(data.result);
        } else {
            var jsonLen;
            var jsonLen1;
            if (data.result.length == null) {   // code for IE6
                jsonLen = 1;                    // root always has at least 1 element
            } else {
                jsonLen = data.result.length;
            }
            if (data.result[1] == null) {       // code for IE6
                jsonLen1 = 0;
            } else if (jsonLen > 2) {
                jsonLen1 = 0;
            } else {
                jsonLen1 = data.result[1].length;
            }
            //alert(jsonLen);
            //alert(jsonLen1);

            var value = "";
            //if (data.result[1] != null || data.result[1].length != 1) {
            if (jsonLen1 != 0) {
                //for (var x = 0; x < data.result.length; x++) {
                for (var x = 0; x < jsonLen; x++) {
                    if (x == 0) {
                        value += "translation: " + data.result[0] + "<br />";
                    } else {
                        var value2 = data.result[x];
                        for (var y = 0; y < value2.length; y++) {
                            var value3 = value2[y];
                            for (var z = 0; z < value3.length; z++) {
                                if (z == 0) {
                                    value += "&nbsp;&nbsp;{" + value3[z] + "}<br />";
                                } else {
                                    value += "&nbsp;&nbsp;&nbsp;&nbsp;" + value3[z] + "<br />";
                                }
                            }
                        }
                    }
                }
            } else {
                value = data.result;
            }
        }

        var resultText = "";
        resultText += "<div class=\"translation\">";
        resultText += "<span class=\"translator\">" + translatorDesc + " (" + word + ")</span><br />";
        resultText += "<span class=\"translation-text\">" + value + "</span>";
        resultText += "</div>";

        div.prepend(resultText);
    }
}

function renderJSON(obj) {
    var keys = [];
    var retValue = "";
    for (var key in obj) {
        if (typeof obj[key] == 'object') {
            //retValue += "<div class='tree'>" + key;
            retValue += "<div class='tree'>";
            retValue += renderJSON(obj[key]);
            retValue += "</div>";
        } else {
            //retValue += "<div class='tree'>" + key + " = " + obj[key] + "</div>";
            retValue += "<div class='tree'>" + obj[key] + "</div>";
        }
        keys.push(key);
    }
    return retValue;
}

$("button.translateButton").click(function() {
    $(this).attr("disabled", "disabled");

    //var word = $(".entry-wordphrase").text();
    var word;
    var language = $("#language").val();
    var translator = $("#translator").val();
    var translatorDesc = $("#translator :selected").text();

    if (language == 0)
        word = $(".entry-wordphrase").text();
    else
        word = $(".entry-translation").text();
        
    // for RAE
    /*if (translator == 3) {
        word = $(".entry-translation").text();
    }*/

    //alert(word);
    //alert(translator);
    $.post(
		"/translation/translate",
		{   word: word,
		    translator: translator,
		    language: language
		},
		function(data) {
		    DisplayTranslationSuccess(data, word, translatorDesc)
		},
		"json"
	);

    $(this).attr("disabled", "");
    // don't allow submit because this is an ajax request	
    return false;
});
$('#translator').change(function() {
    var language = $('#language');
    if ($(this).val() == 3) {
        language.attr('disabled', 'disabled');
        language.val(1);
    } else {
        language.removeAttr('disabled');
    }
});
