﻿function phraseLength(str, length)
{
    if (str.length < length)
        return str.length;

    var i = str.indexOf('.',length);
    
    if (i==-1)
        return str.length;
        
    return i+1;
}

function Translate(IDNotizia, Language)
{
    var jmaster = $("#Corpo_" + IDNotizia + "_it");
    var jtarget = $("#Corpo_" + IDNotizia + "_" + Language);
    var jloader = $("#Loader_" + IDNotizia);
    
    jloader.css('display','block');
    
    if (!jtarget.hasClass('undone'))
        TranslateCompleted(jtarget, jloader);    
    else
    {    
        var text = jmaster.text();

        var index = phraseLength(text,500); 
        var block = text.substring(0,index);
        var text = text.substring(index);

        // translation callbacks 
        
        var translatedTitle = function(result)
            {                
                if (!result.error)
                    jtarget.find('.titolo').html(result.translation);
                else
                    jtarget.find('.titolo').text(jmaster.find('.titolo').text());

                google.language.translate(block, "it", Language, translatedRec);
            };     
               
        var translatedRec = function(result)
            {
                if (!result.error)
                {
                    jtarget.find('.corpo').html(jtarget.find('.corpo').text() + result.translation + '<br />');
                    
                    index = phraseLength(text,500); 
                    block = text.substring(0,index);
                    text = text.substring(index);
                    
                    if (block.length > 1)
                        google.language.translate(block, "it", Language, translatedRec);
                    else
                        TranslateCompleted(jtarget,jloader);
                }
            };

        // first call

        google.language.translate(jmaster.find('.titolo').text(), "it", Language, translatedTitle);

        jtarget.find('.immagine').attr('src',jmaster.find('.immagine').attr('src'));
    }    
}      

function TranslateCompleted(jtarget, jloader)
{
    jtarget.removeClass('undone');
    jloader.css('display','none');  
    
    var jfacebox = $("#facebox");
    jfacebox.find('.titolo').text(jtarget.find('.titolo').text());       
    jfacebox.find('.immagine').attr('src',jtarget.find('.immagine').attr('src'));
    jfacebox.find('.corpo').html(jtarget.find('.corpo').html());   
    jfacebox.data('overlay').load()
}