﻿jQuery(function() {
	BaseProject._init();
});

var PATH_SEM_IDIOMA = ( self.location.toString().indexOf('maknovo')!=-1 || self.location.toString().indexOf('192.168')!=-1 ) ? '/mio_producao/' : '/';
var IDIOMA = ( self.location.toString().indexOf('/en/')!=-1 ? 'en' : ( self.location.toString().indexOf('/es/')!=-1 ? 'es' : 'pt' ) );
var PATH = PATH_SEM_IDIOMA + IDIOMA + '/';
var TEMAPATH = PATH_SEM_IDIOMA + "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=/";}

var LeiaMais = {
	_init:function(){
		$('.leiamais').css('visibility','visible').find('a').click(LeiaMais._load);
	},
	_load:function(){
		var metodo = $(this).attr('href');
		var texto_antigo = $(this).html();
		var visiveis = $(this).parents('.bloco').find('.retorno_leia_mais>ul>li:not(.unico),.retorno_leia_mais>li:not(.unico),').size();
		var container_retorno = $(this).parents('.bloco').find('.retorno_leia_mais');
		var link = $(this);
		var container_link = $(this).parents('.leiamais');
		var itens_por_pagina = parseInt($(this).attr('rel').replace(/[^0-9]/g,''));
		var limite_de_paginas = parseInt($(this).attr('rev').replace(/[^0-9]/g,''));
		var Parametros = {
			'itens_por_pagina':itens_por_pagina,
			'visiveis':visiveis
		}
		$(this).parents('.bloco').find('.variavel_leamais').each(function(){
			Parametros[$(this).attr('name')] = $(this).val();
		});
		link.html('Carregando...');
		link.unbind().click(function(){ return false; });
		$.ajax({
			url:metodo,
			data:Parametros,
			type:'get',
			success:function(html){
				link.html(texto_antigo);
				var altura_antiga = container_retorno.css('height','auto').height();
				container_retorno.append(html);
				BaseProject._overLinks();
				var altura_nova = container_retorno.height();
				container_retorno
					.css('height',altura_antiga+'px')
					.stop()
					.animate({
						'height':altura_nova+'px'
					},500,function(){
						container_retorno.css('height','auto');
					});
				if(limite_de_paginas * itens_por_pagina >  visiveis + itens_por_pagina){
					link.unbind().click(LeiaMais._load);
					link.html(texto_antigo);
				} else {
					var texto_limite = container_link.find('.texto_limite').val();
					var url_limite = container_link.find('.url_limite').val();
					link.attr('href',url_limite).html(texto_limite).unbind();				
				}
			}			
		});
		return false;
	}
}

function FacebookCadastro(){
	Facebook.evento = 'cadastro'; 
	if(readCookie('fbs_'+Facebook.API_ID)!=null){
		self.location = PATH+'cadastro/';	
	}
}
function FacebookComentario(){
	Facebook.evento = 'comentario'; 
	if(readCookie('fbs_'+Facebook.API_ID)!=null){
		$('#postar').show();
		$('#comentario_post a.fb_button').hide();		
		$('#comentario_post').submit();
	}
}
var Facebook = {
	API_ID : ( self.location.toString().indexOf('www.fiatmio.cc')!=-1  ? '131891783513346' : '153175784693196' ),
	_like:function(){
		$('.like').append('<fb:like width="310" height:"80" href="http://www.fiatmio.cc/"></fb:like><div id="fb-root"></div>');
		Facebook._init('fb-root');
		window.setInterval(Facebook._bindEventosLogin,1500);
	},
	evento : null,
	_eventosLogin: function(){
	
		if(Facebook.evento == 'cadastro'){
			self.location = PATH+'cadastro/';
		}
		if(Facebook.evento == 'comentario'){
			$('#postar').show();
			$('#comentario_post a.fb_button').hide();		
			$('#comentario_post').submit();
		}
	},
	_bindEventosLogin: function(){
		$('#facebook_login_social_bar .fb_button').click(FacebookCadastro);
		$('#facebook_login .fb_button').click(FacebookCadastro);
		$('#comentario_post .fb_button').click(FacebookComentario);
	},
	_conectar:function(){

		if($('#facebook_login_social_bar_logado').size()==1) return false;
		if($('#social_bar_login').hasClass('logado')) return false;
		
		$('#facebook_login_social_bar').append('<fb:login-button perms="email,user_website,user_about_me,user_work_history,publish_stream">'+traducao.conectar_com_facebook+'</fb:login-button><div id="fb_login_sociarlbar"></div>');
		
		window.fbAsyncInit = function() {
			FB.init({
				appId: Facebook.API_ID, 
				cookie: true,
				status: true, 
				xfbml: true
			});	
			FB.Event.subscribe('auth.login', function(response) {
				Facebook._eventosLogin();
			});				
		};	

		var e = document.createElement('script'); e.async = true;
		e.src = document.location.protocol + '//connect.facebook.net/'+$('body').attr('id')+'/all.js';
		document.getElementById('fb_login_sociarlbar').appendChild(e);
		$('#facebook_login_social_bar').css('visibility','visible');
		
		Facebook._bindEventosLogin();
	
	},
	_login:function(){
		if(readCookie('fbs_'+Facebook.API_ID)==null){		
			$('#facebook_login').append('<fb:login-button perms="email,user_website,user_about_me,user_work_history,publish_stream">'+traducao.entrar+'</fb:login-button><div id="fb-login"></div>');
			
			FB.init({
				appId: Facebook.API_ID, 
				cookie: true,
				status: true, 
				xfbml: true
			});	
			FB.Event.subscribe('auth.login', function(response) {
				Facebook._eventosLogin();
			});				

			var e = document.createElement('script'); e.async = true;
			e.src = document.location.protocol + '//connect.facebook.net/'+$('body').attr('id')+'/all.js';
			var f = document.getElementById('facebook_login');
			if ( f ) { f.appendChild(e); }
			
			Facebook._bindEventosLogin();
		} else {
			$('#bt_facebook_ja_logado').css('visibility','visible');
		}
	},
	_postarComentario: function(){
		try{
			if(readCookie('fbs_'+Facebook.API_ID)==null){		
				$('#postar')
					.hide()
					.after('<fb:login-button id="facebook_botao_login_para_comentarios" perms="email,user_website,user_about_me,user_work_history,publish_stream">'+traducao.postar+'</fb:login-button><div id="fb-login"></div>');

				window.fbAsyncInit = function() {
					FB.init({
						appId: Facebook.API_ID, 
						cookie: true,
						status: true, 
						xfbml: true
					});	
					FB.Event.subscribe('auth.login', function(response) {
						Facebook._eventosLogin();
					});				
				};	
					

				var e = document.createElement('script'); e.async = true;
				e.src = document.location.protocol + '//connect.facebook.net/'+$('body').attr('id')+'/all.js';
				document.getElementById('postar').appendChild(e);

				Facebook._bindEventosLogin();
			}
		}catch(e){}
	},
	_init: function(id){
		
		window.fbAsyncInit = function() {
			FB.init({
				appId: Facebook.API_ID, 
				cookie: true,
				status: true, 
				xfbml: true
			});					
		};
		var e = document.createElement('script'); e.async = true;
		e.src = document.location.protocol + '//connect.facebook.net/'+$('body').attr('id')+'/all.js';
		document.getElementById(id).appendChild(e);

	}
}



var BaseProject = {
	_init: function() {

		BaseProject._noLabel();
		BaseProject._redirect_login();
		BaseProject._limitadores();
		BaseProject._copyLink();
		BaseProject._translate();
		BaseProject._openModal();
		BaseProject._entenda_o_projeto();
		BaseProject._overLinks();
		
		Facebook._like();
		
		LeiaMais._init();

	},

		
	_noLabel: function() {	
		$('.no_label').unbind('focus').focus(function(){
			$(this).removeClass('no_label').addClass('old_label');
			if($(this).attr('rel')=='' || typeof $(this).attr('rel')=='undefined'){
				$(this).attr('rel',$(this).val());
			}
			if($(this).val()==$(this).attr('rel')){
				$(this).val('');
			}
			BaseProject._oldLabel();
		});	
	},
	
	_oldLabel: function(){
		$('.old_label').unbind('blur').blur(function(){
			if($(this).val()==''){
				$(this).removeClass('old_label').addClass('no_label');
				$(this).val($(this).attr('rel'));
			}
			BaseProject._noLabel();
		});		
	},
	
	_redirect_login: function(){
		if(readCookie('user_nicename')==null){	
			$('a.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;
		});
	},
		

		
	_openModal: function(){
		if(readCookie('openModal')!=null){	
			$(window).modal({
				url: readCookie('openModal'),
				autoOpen: true
			});
			createCookie('openModal',null,-1);
		}
	},
	
	_entenda_o_projeto:function(){
		$('#bt_entenda_o_projeto')
			.css('visibility','visible')
			.click(BaseProject._entenda_o_projeto_animacao);
	},
	_entenda_o_projeto_animacao:function(){
		if($('#entenda_o_projeto').hasClass('fechado')){
		
			// ABRINDO
			var largura = $(window).width();
			var altura = $(window).height();
			
			$('#container').append('<div id="fake_modal" style="width:'+largura+'px; height:'+altura+'px"></div>');
			$('#fake_modal').css('opacity','0.6');
			
			$('#bt_entenda_o_projeto').unbind();
			$('#entenda_o_projeto_chamada').animate({top:'254px'},500);
			if($('#conteudo_entenda_o_projeto').size()==0){
				$('#entenda_o_projeto').prepend('<div id="conteudo_entenda_o_projeto"></div>');
			} else {
				$('#conteudo_entenda_o_projeto').show();
			}					
			$('#entenda_o_projeto')
				.removeClass('fechado')
				.addClass('aberto')
				.animate({height:'279px'},500,function(){
					// escrevendo flash
					var so = new SWFObject(TEMAPATH+"swf/entenda_o_projeto_loader.swf", "conteudo_entenda_o_projeto", "1004", "279", "9");
					so.addParam("wmode","transparent");
					so.addVariable("xml",TEMAPATH+'xml/passos_'+IDIOMA+'.xml');
					so.write("conteudo_entenda_o_projeto");	
				
					$('#bt_entenda_o_projeto').click(BaseProject._entenda_o_projeto_animacao);
					$('#fake_modal').unbind().click(BaseProject._entenda_o_projeto_animacao);
				});

				
		} else {
			$('#bt_entenda_o_projeto').unbind();
			$('#entenda_o_projeto_chamada').animate({top:'10px'},500);
			$('#entenda_o_projeto')
				.removeClass('aberto')
				.addClass('fechado')
				.animate({height:'12px'},500,function(){
					$('#conteudo_entenda_o_projeto').hide();
					$('#bt_entenda_o_projeto').click(BaseProject._entenda_o_projeto_animacao);
					$('#fake_modal').remove();
				});
		}
		return false;			
	},
	
	_overLinks: function(){
		$('form.busca input.text').unbind('mouseover, mouseout').mouseover(function(){
			$(this).parents('li.busca').addClass('over');
		}).focus(function(){
			$(this).parents('li.busca').addClass('over');
		}).mouseout(function(){
			$(this).parents('li.busca').removeClass('over');
		}).blur(function(){
			$(this).parents('li.busca').addClass('over');
		});
		

		$('.chamadas li').unbind('mouseover, mouseout').mouseover(function(){
			$(this).addClass('over')
		}).mouseout(function(){
			$(this).removeClass('over')
		});
	},
	
	
	/**
	* Traduzir para outros idiomas
	* author: Danilo Augusto <danilo.martins@agencliaclick.com.br >
	*/
	_translate: function() {
		var arrIdioma = new Array();
		var idioma_ativo = $('.idioma_ativo').attr('class').replace('idioma_ativo translate_','');
		
		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!=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(){ 
			if($(this).parent().hasClass('ideia')){
				$(this).find('.info_post').after(html_translate);
			} else {
				$(this).append(html_translate);
			}
		});
		
		
		// FUNCAO DE TRADUZIR
		$('.opcoes_idiomas a').click(function(){
			var idioma = $(this).attr('rel');
			var containerLinks	= $(this).parent();
			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;
		});
	}
};
