/*
*
*	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) 
*
*/

// 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, "")
	});
}

// Funcao para carregar video do youtube
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>');
}

// Funcao para carregar Flash
function carregaFlash(caminho,largura,altura,flashvars) {
	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='+flashvars+'>');
	document.write('<embed wmode="transparent" menu="false" flashvars="'+flashvars+'" src="'+caminho+'" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+largura+'" height="'+altura+'"></embed>');
	document.write('</object>');
}
// 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();
}

//variavel usada para instanciar selects customizados
var selects = new Object();

function hoverLink(objeto){
	
		$(objeto).hover(
			function(){
				//alert('MAMA');
				//var objeto = $(this).find('a');
	
				var altura = $(this).css('height');
	
				var bgPosition = '0px -'+altura;
				$(this).css('background-position',bgPosition);
			},
			function(){
					$(this).css('background-position','0 0');
			});
}

function textShadow(objeto,cor,left,bottom){

	var corShadow = $(objeto).css('color');
	$(objeto).css({'position':'relative','color':cor});
	var conteudo = '<span style="position:absolute;left:-'+left+';bottom:'+bottom+'; color:'+corShadow+'; *border:1px solid transparent; ">'+$(objeto).html()+'</span>';	

	$(objeto).append(conteudo);
}

//Redirecionar pagina 
function redirecionarPagina(link){
	javascript:self.parent.tb_remove();
	
	window.setTimeout(function(){
		window.location.href = link;
	},100);	

}

// Função para iniciar as demais
$(document).ready(function() 
{


// Cantos arredondados

window.setTimeout(function(){
		DD_roundies.addRule('.bg-azul', '5px 5px 5px 5px', true);
		DD_roundies.addRule('.radius-all', '5px 5px 5px 5px', true);
//		DD_roundies.addRule('.sub-menu-radius', '0px 3px 3px 3px', true);
		DD_roundies.addRule('.radius-2', '0px 3px 3px 3px', true);
},500);

	//DD_roundies.addRule('.radius-bottom', '0px 0px 5px 5px', true);
	
	$('.shadow').each(function(){
		textShadow($(this),'white','1px','1px');
	});
	//Inicia select customizáveis			
	$(".custom-select").each(function() {
	    selects[$(this).attr("id")] = new $.ComboBox({id:$(this).attr("id"),size:30});
		selects[$(this).attr("id")].render();
	});


	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();
	DelcararVizualizarPaisEstadoCidade(); // Função que declara os eventos change paises, estados e cidades.
	
	hoverLink('.hoverLink');
	
	
	// Constrói o box padrão com as sombras - COMENTADO POR QUE FOI IMPLEMENTADO DIRETO NO CSS
	
	//$('.radius').wrap('<div class="sombra-padrao"></div>');
	//$('.sombra-padrao').prepend('<span class="span-sombra-top"></span><span class="span-sombra"></span>');
	
	//SOMBRA BOX proncipal
	if(($('#conteudo  #principal').length > 0))
	{
		
		
		
		$('#conteudo  #principal').append('<span class="bg-sombra-left"></span><span class="bg-sombra-topo"></span><span class="span-sombra-bottom"></span><span class="span-sombra-right"></span>');
		
		
		window.setTimeout(function(){
		//	var alturaSombraRight = ($('#conteudo  #principal').height() - 6)+'px';
			var LarguraSombraBottom = ($('#conteudo  #principal').width() - 5)+'px';
	//		$('#principal > .span-sombra-right').css('height',alturaSombraRight);
			$('#principal > .span-sombra-bottom').css('width',LarguraSombraBottom);
		
		},100);
			
	}
	
	
	// Hover no Menu 
	$('#menu-global .li-pai a.a-pai').hover(
		function(){
			$(this).parent().addClass('corner-direita');
			//$(this).parent().parent().addClass('ativo');**/
		},
		function(){
			$(this).parent().removeClass('corner-direita');
			//$(this).parent().parent().removeClass('ativo');
		}
	);
	
	// Hover na migalha 
	$('#box-migalha .li-pai').hover(function(){
			$(this).children().addClass('corner-direita-box-migalha');
			$(this).find('.sub-menu-radius').show();
			$(this).find('.bl-migalha-ativo').addClass('ativo');
			var larguraBox = $(this).width()+10;
			$('#box-migalha .sub-menu-radius').css('min-width',larguraBox+'px');
		},
		function(){
			$(this).children().removeClass('corner-direita-box-migalha');
			$(this).find('.sub-menu-radius').hide();
			$(this).find('.bl-migalha-ativo').removeClass('ativo');
		}
	);
	
	
	// Text Shadow
	$('.box-links-rodape h3 a').textShadow();
	
	
	$('#menu-global .li-pai').hover(
		function(){
				//$(this).find('.sub-menu-radius').css('background-color', '#CA1D04');
				$(this).find('.sub-menu-radius').show();
		},
		function(){
				//$(this).find('.sub-menu-radius').css('background-color', 'transparent');
				$(this).find('.sub-menu-radius').hide();
		}
	);
	
	//
	$('.thickbox').click(function(){
		window.so
	});

});
