﻿/**
* Inicializa as funções assim que os elementos (DOM) são carregados
* @author Leonardo Souza <leonardo.souza@agenciaclick.com.br>
*/
jQuery(function() {
    BaseProject._init();
});

var COOKIE_NAME = 'idioma_cookie';
var options = {
    path: '/',
    expires: 10
};

var BaseProject = {
    /**
	* Função de chamada das outras funções que inicializam o site
	* @author Leonardo Souza <leonardo.souza@agenciaclick.com.br>
	*/
    _init: function() {
        BaseProject._translate();
    },
	
    /**
	* Traduzir para outros idiomas
	* author: Danilo Augusto <danilo.martins@agencliaclick.com.br >
	*/
    _translate: function() {
        var arrIdioma = new Array();

        arrIdioma.push(new Array('pt-PT','Português','Traduzir para Português','Traduzindo','Erro de tradução'));
        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>';
        $('body').each(function(){
            $(this).append(html_translate);
        });
		
        if ($.cookie(COOKIE_NAME) != 'null' ) {
            $.cookie(COOKIE_NAME, 'pt-PT', options); //configura o cookie
        }
		
        $('.opcoes_idiomas a').click(function(){
            if ($.cookie(COOKIE_NAME) == null ) {
                alert('Seu navegador está configurando para não armazenar cookies. Esta configuração poderá ocasionar falhas na tradução.');
                return false;
            } else {
                if($(this).attr('rel') == 'pt-PT' ) {
                    var containerLinks = $(this).parent();
                    containerLinks.find('a').hide();

                    for(i=0;i<arrIdioma.length;i++){
                        if($.cookie(COOKIE_NAME) == arrIdioma[i][0]){
                            var traduzindo = arrIdioma[i][3];
                            var erro_ao_traduzier = arrIdioma[i][4];
                        }
                    }

                    containerLinks.append('<span>'+traduzindo+'...<\/span>');
                    window.location.reload();
                } else {
                    $.cookie(COOKIE_NAME, $(this).attr('rel'), options);
                    var containerLinks = $(this).parent();
                    containerLinks.find('a').hide();

                    for(i=0;i<arrIdioma.length;i++){
                        if($.cookie(COOKIE_NAME) == arrIdioma[i][0]){
                            var traduzindo = arrIdioma[i][3];
                            var erro_ao_traduzier = arrIdioma[i][4];
                        }
                    }
			
                    containerLinks.append('<span>'+traduzindo+'...<\/span>');
				
				

                    $('#navBar').translate($.cookie(COOKIE_NAME),{
                        complete: function(){
                            containerLinks.find('span').remove();
                            containerLinks.find('a').show();
                        },
                        timeout: 20000,
                        onTimeout: function(){
                            containerLinks.find('span').remove();
                            containerLinks.append('<span>'+erro_ao_traduzier+'<\/span>');
                            window.setTimeout(function(){
                                containerLinks.find('span').remove();
                                containerLinks.find('a').show();
                            },3000);
                        }
                    });
    
                    return false;
                }
            };
        });
    }
};
