/*
*
*	JavaScript Document
*
*	Data:				00/00/0000
*	Descricao:			Arquivo com as funções globais do projeto
*	Autor:				Marcelo Casinha
*	E-mail: 			marcelo@gadbrivia.com.br
	
*	Observacoes:		USE ESTE ARQUIVO SOMENTE PARA FUNÇÕES GENÉRICAS APLICÁVEIS A MAIS DE UMA ENTIDADE (EF) 
*
*/

/*********************************
******  EF - MANTER HOME  ********
*********************************/

// Funcao para carregar flash
function carregaFlash(caminho,largura,altura, variavel, variavel2) {
    document.write('<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="'+largura+'" height="'+altura+'">');
    document.write('<param name="movie" value="'+caminho+'">');
    document.write('<param name="quality" value="high">');
    document.write('<param name="wmode" value="transparent">');
    document.write('<param name="menu" value="false">');
    document.write('<param name="flashVars" value="URL_ACESSO='+variavel2+'">');
    document.write('<embed wmode="transparent" src="'+caminho+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+largura+'" height="'+altura+'" flashVars="CAMINHO_SITE='+variavel+'"></embed>');
    document.write('</object>');
}



function carregarVideoYoutube(video){	
	document.write('<object width="616" height="426">');
	document.write('<param name="movie" value="http://www.youtube.com/v/'+video+'"></param>');
	document.write('<param name="allowFullScreen" value="true"></param>');
	document.write('<param name="allowscriptaccess" value="always"></param>');
	document.write('<embed src="http://www.youtube.com/v/'+video+'" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="616" height="426"></embed>');
	document.write('</object>');
}

/*
 * 
 * <object width="480" height="385">
 * 		<param name="movie" value="http://www.youtube.com/v/_fitv0V62gs&hl=pt_BR&fs=1&"></param>
 * 		<param name="allowFullScreen" value="true"></param>
 * 		<param name="allowscriptaccess" value="always"></param>
 * 		<embed src="http://www.youtube.com/v/_fitv0V62gs&hl=pt_BR&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed>
 * </object>
 * */


// Funcao para inserir _blank em links externos
function ExternoLink() 
{
	$("a[rel=external]").attr("target", "_blank");
}
// Funcao para inserir _blank em links externos
function RetornoLink() 
{
	$("a[rel=back]").click( function(){ history.back(); return false });
}
// Funcao para inserir funcao de imprimir nos links
function ImprimirLink() 
{
	$("a[rel=print]").click( function(){ print(); })
}
// Funcao para inserir funcao de adicionar aos favoritos nos links
function FavoritoLinks()
{
	$("a[rel=bookmark]").click( function(){
		if (document.all) window.external.AddFavorite(window.location.href, document.title);
		else if (window.sidebar) window.sidebar.addPanel(document.title, window.location.href, "")
	});
}

// Ajax para carregar as UnidadesFederativas
function CarregarUnidadeFederativaRepresentante(paisID, objeto)
{
	if(paisID == '')
	{
		return false;
	}
	// Exibe a mensagem de Carregando...
	objeto.html('<option value="" >'+FORM_CARREGANDO+'</option>');
	
	// Executa a consulta em ajax	
	$.ajax(
	{
		type: "POST",
		url: CAMINHO_ABSOLUTO  + "unidade-federativa/carregar-unidade-federativa-representante",
   		data: 
   		{
   			PaisID: paisID
   		},
   		success: function(retorno)
   		{
   			// Limpa o combo
   			objeto.html('');
   			objeto.append('<option value="" >'+FORM_SELECIONE+'</option>');
    		eval('var colecaoUnidadeFederativa = ' + retorno);
    		
    		// Caso a coleção seja valida, popula o combo
    		if(colecaoUnidadeFederativa != undefined)
    		{
    			
	    		for(var contador = 0;contador < colecaoUnidadeFederativa.length; contador ++)
	    		{
	    			objeto.append('<option value="' + colecaoUnidadeFederativa[contador].UnidadeFederativaID + '" >' + colecaoUnidadeFederativa[contador].Nome + '</option>');
	    		}
    		}
    		// Caso contrario, exibe a mensagem "Nenhum registro encontrado"
    		else
    		{
    			objeto.html('<option value="" >'+FORM_NENHUM_REGISTRO+'</option>');
    		}
   		}
	});	
}

// Ajax para carregar as UnidadesFederativas
function CarregarUnidadeFederativa(paisID, objeto)
{
	if(paisID == '')
	{
		return false;
	}
	// Exibe a mensagem de Carregando...
	objeto.html('<option value="" >'+FORM_CARREGANDO+'</option>');
	
	// Executa a consulta em ajax	
	$.ajax(
	{
		type: "POST",
		url: CAMINHO_ABSOLUTO  + "unidade-federativa/carregar-unidade-federativa",
   		data: 
   		{
   			PaisID: paisID
   		},
   		success: function(retorno)
   		{
   			// Limpa o combo
   			objeto.html('');
   			objeto.append('<option value="" >'+FORM_SELECIONE+'</option>');
    		eval('var colecaoUnidadeFederativa = ' + retorno);
    		
    		// Caso a coleção seja valida, popula o combo
    		if(colecaoUnidadeFederativa != undefined)
    		{
    			
	    		for(var contador = 0;contador < colecaoUnidadeFederativa.length; contador ++)
	    		{
	    			objeto.append('<option value="' + colecaoUnidadeFederativa[contador].UnidadeFederativaID + '" >' + colecaoUnidadeFederativa[contador].Nome + '</option>');
	    		}
    		}
    		// Caso contrario, exibe a mensagem "Nenhum registro encontrado"
    		else
    		{
    			objeto.html('<option value="" >'+FORM_NENHUM_REGISTRO+'</option>');
    		}
   		}
	});	
}

// Ajax para carregar as UnidadesFederativas
function CarregarMunicipio(unidadeFederativaID, objeto)
{
	if(unidadeFederativaID == '')
	{
		return false;
	}
	// Exibe a mensagem de Carregando...
	objeto.html('<option value="" >'+FORM_CARREGANDO+'</option>');
	
	// Executa a consulta em ajax	
	$.ajax(
	{
		type: "POST",
		url: CAMINHO_ABSOLUTO  + "municipio/carregar-municipio",
   		data: 
   		{
   			UnidadeFederativaID: unidadeFederativaID
   		},
   		success: function(retorno)
   		{
   			// Limpa o combo
   			objeto.html('');
   			objeto.append('<option value="" >'+FORM_SELECIONE+'</option>');
    		eval('var colecaoMunicipio = ' + retorno);
    		
    		// Caso a coleção seja valida, popula o combo
    		if(colecaoMunicipio != undefined)
    		{
    			
	    		for(var contador = 0;contador < colecaoMunicipio.length; contador ++)
	    		{
	    			objeto.append('<option value="' + colecaoMunicipio[contador].MunicipioID + '" >' + colecaoMunicipio[contador].Nome + '</option>');
	    		}
    		}
    		// Caso contrario, exibe a mensagem "Nenhum registro encontrado"
    		else
    		{
    			objeto.html('<option value="" >'+FORM_NENHUM_REGISTRO+'</option>');
    		}
   		}
	});	
}

// Função que auxilia na visualização de campos conforme o pais
function VisualizarCamposRegiao(parametro, classePrimaria, classeSecundaria)
{
	switch(parametro)
	{
		case 1: // Brasil
			$('.' + classePrimaria).show()
			$('.' + classeSecundaria).hide()
			$('input:not(:checkbox,:radio,:password).' + classeSecundaria).val('');
			$('select.' + classeSecundaria).val('');
			$('textarea.' + classeSecundaria).val('');
			$('input:checkbox.' + classeSecundaria).removeAttr('checked');
			$('input:radio.' + classeSecundaria).removeAttr('checked');
			break;
		case 2: // Estrangeiro
			$('.' + classePrimaria).hide()
			$('.' + classeSecundaria).show()
			$('input:not(:checkbox,:radio,:password).' + classePrimaria).val('');
			$('select.' + classePrimaria).val('');
			$('textarea.' + classePrimaria).val('');
			$('input:checkbox.' + classePrimaria).removeAttr('checked');
			$('input:radio.' + classePrimaria).removeAttr('checked');
			break;
		default: // Reseta todos os campos
			$('.' + classePrimaria).show()
			$('.' + classeSecundaria).hide()
			$('input:not(:checkbox,:radio,:password).' + classePrimaria + ', input:not(:checkbox,:radio,:password).' + classeSecundaria).val('');
			$('select.' + classePrimaria + ', select.' + classeSecundaria).val('');
			$('textarea.' + classePrimaria + ', textarea.' + classeSecundaria).val('');
			$('input:checkbox.' + classePrimaria).removeAttr('checked');
			$('input:radio.' + classePrimaria).removeAttr('checked');
			$('input:checkbox.' + classeSecundaria).removeAttr('checked');
			$('input:radio.' + classeSecundaria).removeAttr('checked');
			break;
	}
}

// Função que declara os eventos change paises, estados e cidades.
function DelcararVizualizarPaisEstadoCidade()
{
	// Carregar os Estados de Acordo com os países
	$('#selPaisID').change(function() 
	{
		var paisID = $(this).val();
		if(paisID == CONSTANTE_PAIS_BRASIL_ID)
		{
			CarregarUnidadeFederativa(paisID, $('#selUnidadeFederativaID'));
			VisualizarCamposRegiao(1,'nacional','internacional');
			$('#txtMunicipioExterior').parent('li').addClass('menor');
		}
		else if(paisID != CONSTANTE_PAIS_BRASIL_ID && paisID != '')
		{
			VisualizarCamposRegiao(2,'nacional','internacional');
			$('#txtMunicipioExterior').parent('li').removeClass('menor');
		}
		else
		{
			VisualizarCamposRegiao(null,'nacional','internacional');
			$('#txtMunicipioExterior').parent('li').addClass('menor');
		}
	});
	
	//Carregar as Cidades de Acordo com os estados
	$('#selUnidadeFederativaID').change(function() 
	{
		var unidadeFederativaID = $(this).val();
		CarregarMunicipio(unidadeFederativaID, $('#selMunicipioID'));
	});
}

// Função que atribui mascasrás atrávez de classes CSS
function DeclararMascaras()
{
	$('input.data, input.cep, input.telefone, input.cpf, input.cnpj').unbind();
	$('input.data').mask('99/99/9999');
	$('input.cep').mask('99999-999');
	$('input.telefone').mask('(99) 9999-9999');
	$('input.cpf').mask('999.999.999-99');
	$('input.cnpj').mask('999.999.999/9999-99');
	$('input.numero').numeric();
}

//Centraliza paginação com base na quantidade de links e no tamanho deles
function Centraliza(objeto){	
	var quantidade = $(objeto).children('a').length;
	var width = 18;
	var tamanho = quantidade * width;
	tamanho = -(tamanho/2);	
	$(objeto).css('margin-left', tamanho+'px');	
}

function MigalhaRodape(objeto){	
	var quantidade = $(objeto).children('a').length;
	$(objeto).find('a:even').addClass('impar');
	$(objeto).find('span:even').addClass('impar');

	$(objeto).find('a:odd').addClass('par');
	$(objeto).find('span:odd').addClass('par');
	
	if ((quantidade % 2) ==0)
	{
		$(objeto).find('strong').addClass('impar');
		$(objeto).find('span:last').removeClass('impar');
		$(objeto).find('span:last').addClass('ultimo-impar');
	}
	else
	{
		$(objeto).find('strong').addClass('par');
		$(objeto).find('span:last').removeClass('par');
		$(objeto).find('span:last').addClass('ultimo-par');
	}
}

// Hover no Botão do IE 6
function HoverIE(seletor)
{
	$(seletor).hover(
		function()
		{
			$(this).css('background-position', '0 bottom');
		},
		function()
		{
		   $(this).css('background-position', '0 top');
		}
	)
}


// Função para iniciar as demais
$(document).ready(function() 
{

/*************************
********** TOPO **********
**************************/

	//Validação da pesquisa
	var pesquisar = '';
	pesquisar = $('#txtBuscaRapida').val();
	
	$('#txtBuscaRapida').focus(function() 
	{
		if($(this).val() == pesquisar)
			$(this).val('');
	});

	$('#txtBuscaRapida').blur(function() 
	{
		if($('#txtBuscaRapida').val() == '')
		{
			$('#txtBuscaRapida').val(pesquisar);
		}	
	});

	//quando a pesquisa for valida, redireciona para a EF - BUSCA
	$('#frmBuscaRapida').validate
	({
		submitHandler:function()
		{
			window.location.href = CAMINHO_ABSOLUTO + $('.txtIdioma').val() + 'busca/' + $('#txtBuscaRapida').val() + '/';
		}
	});		

	
	Centraliza('.produtos-servicos .paginacao');
	Centraliza('.noticias .paginacao');

	//abre e fecha o menu uma-coluna com click
	$('.lk-lupatech-sa').click(function() 
	{
		if($("#menu-global li.uma-coluna").find('ul:first').is(':hidden') == true)
		{	
			$("#menu-global li.uma-coluna").find('ul:first').show();
		}
		else
		{
			$("#menu-global li.uma-coluna").find('ul:first').hide();
		}
	});

	//abre e fecha o menu tres-colunas com click
	$('.lk-empresas-grupo').click(function() 
	{
		if($("#menu-global li.tres-colunas").find('ul:first').is(':hidden') == true)
		{	
			$("#menu-global li.tres-colunas").find('ul:first').show();
		}
		else
		{
			$("#menu-global li.tres-colunas").find('ul:first').hide();
		}
	});
	
	//coloca a classe 'ultimo' nas ultimas li's de cada ul para remover a borda
	$('.ul-energy li:last').addClass('ultimo');
	$('.ul-flow li:last').addClass('ultimo');
	$('.ul-metalurgia li:last').addClass('ultimo');

	/*** troca imagens do menu ***/
	$('#menu-global li.uma-coluna, #menu-global li.tres-colunas').hover(
	function(){
		$(this).find('a:first').css('background-position','0 bottom');
	},
	function(){
		$(this).find('a:first').css('background-position','0 top');
	});

	//Carregar os Estados de Acordo com o pais
	$('#selPaisID').change(function() 
	{
		var paisID = $(this).val();
		CarregarUnidadeFederativaRepresentante(paisID, $('#selUnidadeFederativaID'));
		
		if($('#selPaisID').val() == 1)
		{
			$('#selUnidadeFederativaID').removeAttr('disabled');
		}
		else
		{
			if($('#selUnidadeFederativaID').val() != '')
			{
				$('#selUnidadeFederativaID').val() = '';
			}
			$('#selUnidadeFederativaID').attr("disabled","disabled");
		}
	});

	/*** mostra menu uma-coluna ***/
	$("#menu-global li.uma-coluna").hover(
      function(){
        $(this).find('ul:first').show();
      }, 
      function(){
        $(this).find('ul:first').hide();
      }
    );
	
	/*** mostra menu tres-colunas ***/
	$("#menu-global li.tres-colunas").hover(
      function(){
        $(this).find('ul:first').show();
      }, 
      function(){
        $(this).find('ul:first').hide();
      }
    );
	

	/*** insere ativo no menu ***/
	$("#menu-global li.tres-colunas ul li.pai").hover(
      function () {
        $(this).find('a:first').addClass('ativo');
      }, 
      function () {
        $(this).find('a:first').removeClass('ativo');
      }
    );

	// abrir descrição do rss
	$('.lk-que-isso').click(function(){
		$('.rss-desc').fadeIn();					 
	});
	$('.lk-fechar-rss').click(function(){
		$('.rss-desc').fadeOut();					 
	});

	/*** insere hover no menu lateral ***/
	$("#menu-lateral ul li").hover(
      function () {
        $(this).addClass('hover');
      }, 
      function () {
        $(this).removeClass('hover');
      }
    );
    
	//$('.pai ul li:last').addClass('ahuahuahah');
	
	MigalhaRodape('.migalha-rodape');

	ExternoLink(); // Funcao para inserir _blank em links externos
	RetornoLink(); // Funcao para inserir função de retorno no link
	ImprimirLink(); // Funcao para inserir função de imprimir no link
	FavoritoLinks(); // Funcao para inserir função de adicionar aos favoritos no link
	DeclararMascaras(); // Funcao para Declarar as máscaras
	//DelcararVizualizarPaisEstadoCidade(); // Função que declara os eventos change paises, estados e cidades.
	
	
	//exibe o google maps ampliado em outra janela
	$('#mapa a').attr('target','_blank');
	
	HoverIE('.bt-buscar');
	HoverIE('.bt-enviar-busca');
	HoverIE('.bt-cadastrar');
	HoverIE('.btn-enviar');
	HoverIE('.btn-Finalizar');
	HoverIE('.bt-ok');
/*************
 *
 *****************/

	$('.linha-do-tempo li a').tooltip({ 
		track: true,
		delay: 0,
		showURL: false,
		top: -53
	});
	
	$('#tooltip').append('<span class="bg-tooltip-top png_bg"></span><span class="bg-tooltip-bottom png_bg"></span><span class="bg-tooltip-ponta png_bg"></span>');
	
	$('.lk-fechar-li').click(function(){ 
		if ( !$(this).hasClass('mostrar-conteudo') ){
		$(this).addClass('mostrar-conteudo');
		$(this).next().hide('slow');
		}else {
			$(this).removeClass('mostrar-conteudo');
			$(this).next().show('slow');
		}
	}); 
	
});


