﻿/**
* 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 PATH_SEM_IDOMA = ( self.location.toString().indexOf('maknovo')!=-1 || self.location.toString().indexOf('192.168')!=-1 ) ? '/mio/' : '/';
var PATH = PATH_SEM_IDOMA + ( self.location.toString().indexOf('/en/')!=-1 ? 'en/' : ( self.location.toString().indexOf('/es/')!=-1 ? 'es/' : 'pt/' ) );
var TEMAPATH = PATH_SEM_IDOMA + "wp-content/themes/fiatmio/";

// CONTADOR DE CARACTERES
var contKeyDown=function(event){var classSize=$(this).parent().find('em.chars_restantes span').attr('class');if(classSize!=undefined){var size=parseInt(classSize.replace('size',''));}else{var size=parseInt($(this).attr('maxlength'));}texto=$(this).val();if(texto.length==size){var backspace=8;var tab=9;var shift=16;var ctrl=17;var alt=18;var capslock=20;var end=35;var home=36;var left=37;var up=38;var right=39;var down=40;var del=46;var f5=116;var keys=new Array(backspace,tab,shift,ctrl,alt,capslock,end,home,left,up,down,del,f5);for(i=0;i<keys.length;i++){if(event.keyCode==keys[i])return true;}return false;}else{if(texto.length>size){$(this).val(texto.substr(0,size));return false;}}}
function contChar(obj){var classSize=$(obj).parent().find('em.chars_restantes span').attr('class');if(classSize!=''){var size=parseInt(classSize.replace('size',''));}else{var size=parseInt($(obj).attr('maxlength'));}texto=$(obj).val();var restantes=size-texto.length;if(restantes<0){$(obj).val(texto.substr(0,size));restantes=0;}$(obj).parent().find('em.chars_restantes span').html(''+restantes+'');}var contCharFunction=function(){$(this).keydown(contKeyDown);$(this).keyup(function(){contChar($(this));});contChar($(this));}
function readCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for(var i=0;i < ca.length;i++) { var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1,c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); } return null; }
function createCookie(name,value,horas) { if(horas) { var date = new Date(); date.setTime(date.getTime()+(horas*60*60*1000));var expires = "; expires="+date.toGMTString();} else var expires = ""; document.cookie = name+"="+value+expires+"; path=/";}

function loadContent(elm, rate, postID) {
	var ids = { id: postID, rating: rate };
	jQuery.ajax({
		type: "post",
		url: PATH_SEM_IDOMA+'wp-content/plugins/visitor-likedislike-post-rating/rate.php',
		data: ids,
		success: function(html) {
			jQuery("#ratebox_"+postID).html(html);
		}
	});
	return false
}


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._tabs();
		BaseProject._tooltips();
		BaseProject._noLabel();
		BaseProject._voto_sem_logar();
		BaseProject._redirect_login();
		BaseProject._limitadores();
		BaseProject._copyLink();
		BaseProject._translate();
		BaseProject._openModal();
	},
		
	/**
	* Tabs
	* author: Danilo Augusto <danilo.martins@agencliaclick.com.br >
	*/
	_tabs: function() {
		$('.tabs li a').click(function(){

			var id_div = $(this).attr('rel').toString();
			if(id_div=='')return true;
			
			var li = $(this.parentNode);
			if(li.hasClass('selected')){ return false; }
			
			
			var menu = $(this.parentNode.parentNode);
			menu.find('li').removeClass('selected');
			li.addClass('selected');
			
			var container = $(this.parentNode.parentNode.parentNode);
			container.find('.conteudo_tabs').removeClass('selected');
			
			container.find('#'+id_div).addClass('selected');
			
			return false;
		});
	},
		
	/**
	* Tabs
	* author: Danilo Augusto <danilo.martins@agencliaclick.com.br >
	*/
	_tooltips: function() {
	
		$('.tooltip_call')
			.mouseover(function(){
				var offset = $(this.parentNode).offset();
				var tooltip_text = $(this.parentNode).find('.tooltip').html();
				$("body").append('<div id="tooltip_box">'+tooltip_text+'<\/div>');
				$('#tooltip_box').css({
					left: parseInt(offset.left+10),
					top: parseInt(offset.top-28)
				});
			})
			.mouseout(function(){
				$('#tooltip_box').remove();
			});
	},
		
	/**
	* Função para retirar value de inputs que tem o label dentro do value
	* author: Danilo Augusto <danilo.martins@agencliaclick.com.br >
	*/
	_noLabel: function() {	
		$('.no_label').focus(function(){
			if($(this).hasClass('no_label')){
				$(this).removeClass('no_label');
				$(this).val('');
			}
		});
	},
	
	
		
	/**
	* Função dar mensagem de voto sem logar
	* author: Danilo Augusto <danilo.martins@agencliaclick.com.br >
	*/
	_voto_sem_logar: function() {
		if(readCookie('user_nicename')==null){	
			$('div.votar p').addClass('nao_logado');
			$('div.votar p a').each(function(){
				var link_class = $(this).attr('class');
				var link_html = $(this).html();
				$(this).after('<em class="'+link_class+'">'+link_html+'<\/em>');
				$(this).remove();
			});
		}
		$(".nao_logado em").mouseover(function(){

			var div = $(this.parentNode.parentNode);
			if(div.find('.faca_login').size()==0){
				var htm = '';
				htm += '<span class="voto_computado voto_nao_gostei faca_login">';
				htm += '	<a href="'+PATH+'login" title="login" class="login">'+traducao.faca_login+'</a>';
				htm += '</span>'
				
				div.find("p.nao_gostei").append(htm);
					
				var idDiv = div.attr('id');
				window.setTimeout(function(){
					$('#'+idDiv).find(".faca_login").fadeOut('slow',function(){
						$(this).remove();
					});
				},2500);
			}
		});
	},
	
	
	_redirect_login: function(){
		if(readCookie('user_nicename')==null){	
			$('.login_redirect').each(function(){
				var href = $(this).attr('href');
				var url_login = PATH + 'login/?';
				if($(this).hasClass('modal')) url_login += 'redirect_modal=true&';
				url_login += 'redirect_login='+href;

				$(this)
					.attr('href',url_login)
					.unbind()
					.modal();
			});
			
			var url_atual = self.location.toString();
			if(url_atual.indexOf('/login/')==-1 && url_atual.indexOf('/cadastro/')==-1){
				createCookie('redirect',url_atual,24);
			}			
		}
		
		$('.login_redirect').css('visibility','visible');
	},
		
	/**
	* Cont Chars
	* author: Danilo Augusto <danilo.martins@agencliaclick.com.br >
	*/
	_limitadores: function() {
		$('textarea.cont_chars').each(contCharFunction);
		$('input.cont_chars').each(function(){
			maxLength = parseInt($(this).attr('maxlength'));
			if(maxLength!=-1){
				// REMOVER NA RECHAMADA
				if($(this).next().hasClass('chars_restantes'))$(this).next().remove();
				
				// ADICIONANDO CONTADOR
				$(this).after('<em class="chars_restantes">'+traducao.maximo_de+' '+maxLength+' '+traducao.caracteres+' - '+traducao.caracteres_restantes+': <span><\/span><\/em>');
				$(this).keydown(contKeyDown);
				$(this).keyup(function(){ contChar($(this));});
				contChar($(this));
			}	
		});
	},
		
	/**
	* Copiar Link
	* author: Danilo Augusto <danilo.martins@agencliaclick.com.br >
	*/
	_copyLink: function() {
		$('.copy_link').focus(function(){
			$(this).select();
			return false;
		});
	},
		

	/**
	* Traduzir para outros idiomas
	* author: Danilo Augusto <danilo.martins@agencliaclick.com.br >
	*/
	_translate: function() {
		var arrIdioma = new Array();
		//var idioma_ativo = $('#idioma_ativo').val();
		
		arrIdioma.push(new Array('en','English','Translate to english','Translating','Translation error'));
		arrIdioma.push(new Array('pt','Português','Traduzir para português','Traduzindo','Erro ao traduzir'));
		arrIdioma.push(new Array('es','Spañol','Traducir al español','Traducir','Error de traducción'));
		arrIdioma.push(new Array('fr','French','Traduire en français','Traduire','Erreur de traduction'));
		arrIdioma.push(new Array('it','Italian','Traduci in italiano','Tradurre','Errore di traduzione'));
		
		var html_translate = '';
		html_translate += '<div class="opcoes_idiomas idiomas">';
			for(i=0;i<arrIdioma.length;i++){
				//if(idioma_ativo.substr(0,2)!=arrIdioma[i][0]){
					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);
		});
		
		
		// FUNCAO DE TRADUZIR
		$('.opcoes_idiomas a').click(function(){
			var idioma = $(this).attr('rel');
			var containerLinks	= $(this).parent();
			if(containerLinks.parents('.ideia').size()==1){
				var containerTraduzir = containerLinks.parents('.ideia');
			} else {
				var containerTraduzir = containerLinks.parent();
			}
			containerLinks.find('a').hide();
			
			for(i=0;i<arrIdioma.length;i++){
				if(idioma == arrIdioma[i][0]){
					var traduzindo = arrIdioma[i][3];
					var erro_ao_traduzir = arrIdioma[i][4]; 
				}
			}
			
			containerLinks.append('<span>'+traduzindo+'...<\/span>');

			//containerLinks.find('a:not(.translate_'+idioma+')').show();
			
			if(idioma=='pt')idioma='pt-PT';
			
			containerTraduzir.translate(idioma,{
				error: function(){
					containerLinks.find('span').remove();
					containerLinks.find('a').show();
					containerLinks.addClass('not_timeout');
				},
				complete: function(){
					containerLinks.find('span').remove();
					containerLinks.find('a').show();
				},
				timeout: 20000,
				onTimeout: function(){
					if(containerLinks.hasClass('not_timeout')){
						containerLinks.removeClass('not_timeout');
						return false;
					}
					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;
		});
	},
		
	_openModal: function(){
		if(readCookie('openModal')!=null){	
			$(window).modal({
				url: readCookie('openModal'),
				autoOpen: true
			});
			createCookie('openModal',null,-1);
		}
	}
};