﻿function getCookie(name)
{
    var dc = document.cookie;
    var prefix = name + "=";
    var begin = dc.indexOf("; " + prefix);
    if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) { return null; }
    } else {begin += 2; }
    var end = document.cookie.indexOf(";", begin);
    if (end == -1) { end = dc.length; }
    return unescape(dc.substring(begin + prefix.length, end));
}

jQuery(function() {
    BaseProject._init();
});

var BaseProject = {
    _init: function() {
        BaseProject._translate();
    },
    _translate: function() {
        var arrIdioma = new Array();
	arrIdioma.push(new Array('pt','Português','Traduzir para português','Traduzindo','Erro ao traduzir'));
        arrIdioma.push(new Array('en','English','Translate to English','Translating','Translation error'));
	arrIdioma.push(new Array('es','Spañol','Traducir al spañol','Traducir','Error de traducción'));
	var html_translate = '';
	html_translate += '<div class="opcoes_idiomas idiomas">';
	for(i=0;i<arrIdioma.length;i++) {html_translate += '	<a href="#" class="translate_'+arrIdioma[i][0]+'" rel="'+arrIdioma[i][0]+'" title="'+arrIdioma[i][2]+'">'+arrIdioma[i][1]+'<\/a>';}
	html_translate += '<\/div>';
	$('.translate').each(function(){ $(this).append(html_translate); });
	$('.opcoes_idiomas a').click(function(){
            var idioma = $(this).attr('rel');
	    var containerLinks = $(this).parent();
	    containerLinks.find('a').hide();
            document.cookie = 'idioma='+idioma+'; expires=Fri, 28 Aug 2099 23:59:59 UTC; path=/';
            document.location.reload();
	    return false;
	});
    }
};

function traduzir() {
    var idioma = getCookie('idioma');
    if ((idioma != 'en') && (idioma != 'es') && (idioma != 'pt')) {
        document.cookie = 'idioma=pt; expires=Fri, 28 Aug 2099 23:59:59 UTC; path=/';
        idioma = 'pt';
        window.location.reload();
    }
    if (idioma != 'pt') {
        var containerLinks = $('.opcoes_idiomas a').parent();
        var traduzindo = '';
        var erro_ao_traduzir = '';
        if (idioma == 'es') {traduzindo = 'Traducir'; erro_ao_traduzir = 'Error de traduccion'; }
        else { traduzindo = 'Translating'; erro_ao_traduzir = 'Translation error'; }
        containerLinks.find('a').hide();
        containerLinks.append('<span>'+traduzindo+'...<\/span>');
        containerLinks.parent().translate(idioma,{
	    complete: function(){ containerLinks.find('span').remove(); containerLinks.find('a').show(); },
	    timeout: 20000, onTimeout: function(){
	        containerLinks.find('span').remove();
	        containerLinks.append('<span>' + erro_ao_traduzir + '<\/span>');
	        window.setTimeout(function(){ containerLinks.find('span').remove(); containerLinks.find('a').show(); }, 3000);
	    }
	});
    }
    return false;
}
