/*
*
*	JavaScript Document
*	DOCUMENTO: Arquivo com os scripts bsicos do site
*	CRIAO: 19/06/2008
*	AUTOR: Alisson Douglas (alisson@brivia.com.br)
*	VERSAO: 1.0
*
*/

var sobre = false;
var carregando = false;
var continenteAtual = "";


// 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, "")
	});
}

function QuickTime(endereco,largura,altura){
	var player = 
	'<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" '
		  +'codebase="'+endereco+'" '
		  +'width="'+largura+'" height="'+altura+'">'
		  +'<param name="src" '
		    +'value="'+endereco+'" />'
		  +'<param name="controller" value="true" />'
		  +'<param name="autoplay" value="false" />'
		  +'<object type="video/quicktime" '
		    +'data="'+endereco+'" '
		    +'width="'+largura+'" height="'+altura+'">'
		    +'<param name="autoplay" value="false" />'
		    +'<param name="controller" value="true" />'
		  +'</object>'
		+'</object>';
		
		document.write(player);
}


//	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="playerMode=embedded&'+flashvars+'" />');
	document.write('<embed wmode="transparent" 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>');
}


// Funcao para esconder/mostrar links na foto do produto
function linkFoto(){
	$(".produto .foto").hover(
		function() // over
		{
			$(".produto .foto a").each(function()
			{
				var ProdutoSelecionado = $(".ProdutoID[value="+$("#hdnProdutoSelecionado").val()+"]").parent();
				
				if (! ($(this).is(".lk-seta-esq") || $(this).is(".lk-seta-dir")) )
				{
					$(this).fadeIn("fast");
				}
				
				if ($(this).is(".lk-seta-dir"))
				{
					
					var ProdutoSelecionado = $(".ProdutoID[value="+$("#hdnProdutoSelecionado").val()+"]").parent();
			
					var ProximoProduto = ProdutoSelecionado.next(":visible"); 
					
					if (ProximoProduto.length == 0)
					{
						ProximoProduto =  ProdutoSelecionado.parent().next().next().find("li:first");
					}
					
					if (ProdutoSelecionado.next(":visible").length < 1 && ProdutoSelecionado.parent().next().next().children().length == 0)
					{
						$(this).fadeOut("fast");
					}
					
					if (ProdutoSelecionado.prev(":visible").length > 0 || ProdutoSelecionado.parent().prev().prev().children().length > 0)
					{
						$(".lk-seta-esq").fadeIn("fast");
					}
					
					
				}
				// mostra o link da esquerda
				else if ($(this).is(".lk-seta-esq"))
				{
					
					var ProdutoSelecionado = $(".ProdutoID[value="+$("#hdnProdutoSelecionado").val()+"]").parent();
			
					var ProximoProduto = ProdutoSelecionado.prev(":visible"); 
					
					if (ProximoProduto.length == 0)
					{
						ProximoProduto =  ProdutoSelecionado.parent().prev().prev().find("li:last");
					}
					
					if (ProdutoSelecionado.prev(":visible").length == 0 && ProdutoSelecionado.parent().prev().prev().children().length == 0)
					{
						$(this).fadeOut("fast");
					}
					
					if (ProdutoSelecionado.next(":visible").length > 0 || ProdutoSelecionado.parent().next().next().children().length > 0)
					{
						$(".lk-seta-dir").fadeIn("fast");
					}
					
				}
				
			});
		},
		function() // out
		{
			$(".produto .foto a").each(function()
			{
				$(this).fadeOut("fast");
			});
		}
	);
}

// Funcao para fechar div
function fechaDiv(){
	$("#resultado-busca a").click(
		function(){
			$(this).parent().slideUp("fast");
		}
	);
}

var meuCarrossel;
// Função que inicializa o Carrossel
function mycarousel_initCallback(carousel) 
{
	meuCarrossel = carousel;
	meuCarrossel.size($(".jcarousel-clip ul li").length);
	meuCarrossel.pos(1);
	meuCarrossel.reload();
	
	jQuery('.jcarousel-next').unbind('click').click(function()
	{
		carousel.next();
		return false;
	});

	jQuery('.jcarousel-prev').unbind('click').click(function()
	{
		carousel.prev();
		return false;
	});

	if($(".jcarousel-clip ul li").length < 4){
		jQuery('.jcarousel-next').hide();
		jQuery('.jcarousel-prev').hide();
	}
	
};
// Carrossel de noticias
var meuCarrosselNoticia;
function mycarousel_initCallback_noticia(carousel) 
{
	meuCarrosselNoticia = carousel;
	meuCarrosselNoticia.size($("#carrossel-noticia .jcarousel-clip ul li").length);
	meuCarrosselNoticia.pos(1);
	meuCarrosselNoticia.reload();
	
	jQuery('#carrossel-noticia .jcarousel-next').unbind('click').click(function()
	{
		carousel.next();
		return false;
	});

	jQuery('#carrossel-noticia .jcarousel-prev').unbind('click').click(function()
	{
		carousel.prev();
		return false;
	});

	if($("#carrossel-noticia .jcarousel-clip ul li").length < 4){
		jQuery('#carrossel-noticia .jcarousel-next').hide();
		jQuery('#carrossel-noticia .jcarousel-prev').hide();
	}
	
};

function AjustarThumbs()
{
	$(".foto").prepend('<span class="aux-vertical"></span>');
	if( $('body#novidades').size() < 1 )
	{
		$(".thumb").prepend('<span class="aux-vertical"></span>');
	}
}

function carregarComboUnidadeFederativa(PaisID)
{
	if(PaisID.length > 0)
	{
		$("#selUnidadeFederativa").attr({"disabled":true});
		$("#selUnidadeFederativa").html('<option value="">'+SITE_CARREGANDO+'...</option>');
		
		$.ajax(
		{
			type: "POST",
			url: SITE_CAMINHO_SITE_ABSOLUTO + "acao/UnidadeFederativa.php",
			data: {acao:"Pesquisar",PaisID:PaisID},
			dataType: "json",
			success: function(ColecaoUnidadeFederativa)
			{
				if(ColecaoUnidadeFederativa.length > 0)
				{
					try
					{
						for(indice in ColecaoUnidadeFederativa)
						{
							$("#selUnidadeFederativa").append('<option value="'+unescape(ColecaoUnidadeFederativa[indice].ID)+'">'+unescape(ColecaoUnidadeFederativa[indice].Nome)+'</option>');
						}
						$("#selUnidadeFederativa").prepend('<option value="">'+SITE_SELECIONE+'</option>');
						$("#selUnidadeFederativa option:eq(1)").remove();
						$("#selUnidadeFederativa").attr({"disabled":false});					
					}
					catch(e)
					{
						$("#selUnidadeFederativa").html('<option value="">'+SITE_SELECIONE+'</option>');
						$("#selUnidadeFederativa").attr({"disabled":false});
					}
				}
				else
				{
					$("#selUnidadeFederativa").html('<option value="">'+SITE_SELECIONE+'</option>');
					$("#selUnidadeFederativa").attr({"disabled":false});
				}
			}
		});
	}
	else
	{
		$("#selUnidadeFederativa").html('<option value="">'+SITE_SELECIONE+'</option>');
	}
}


function carregarComboMunicipio(UnidadeFederativaID)
{
	if(UnidadeFederativaID.length > 0)
	{
		$("#selMunicipio").attr({"disabled":true});
		$("#selMunicipio").html('<option value="">'+SITE_CARREGANDO+'...</option>');
		
		$.ajax(
		{
			type: "POST",
			url: SITE_CAMINHO_SITE_ABSOLUTO + "acao/Municipio.php",
			data: {acao:"Pesquisar",UnidadeFederativaID:UnidadeFederativaID},
			dataType: "json",
			success: function(ColecaoMunicipio)
			{
				if(ColecaoMunicipio.length > 0)
				{
					try
					{
						for(indice in ColecaoMunicipio)
						{
							$("#selMunicipio").append('<option value="'+unescape(ColecaoMunicipio[indice].ID)+'">'+unescape(ColecaoMunicipio[indice].Nome)+'</option>');
						}
						$("#selMunicipio").prepend('<option value="">'+SITE_SELECIONE+'</option>');
						$("#selMunicipio option:eq(1)").remove();
						$("#selMunicipio").attr({"disabled":false});					
					}
					catch(e)
					{
						$("#selMunicipio").html('<option value="">'+SITE_SELECIONE+'</option>');
						$("#selMunicipio").attr({"disabled":false});
					}
				}
				else
				{
					$("#selMunicipio").html('<option value="">'+SITE_SELECIONE+'</option>');
					$("#selMunicipio").attr({"disabled":false});
				}
			}
		});
	}
	else
	{
		$("#selMunicipio").html('<option value="">'+SITE_SELECIONE+'</option>');
	}
}

//Funcao para hover no mapa da Pre-home
function mapaHome() {

	$(".escolha-idioma").mouseover(
		function(){
			sobre = true;
			continenteAtual = $(this).parent().attr('class');
		}
	);
	$(".escolha-idioma").mouseout( 
		function(){
			sobre = false;
			continenteAtual = "";
		}
	);
	
	$(".mapa-hover").mouseover( 
		function(){
			sobre = true;
			continenteAtual = $(this).parent().attr('class');
		}
	);
	$(".mapa-hover").mouseout(
		function(){
			sobre = false;
			continenteAtual = "";
		}
	);
	
	//America do Sul
	$(".map-america-sul").mouseover(
		function(){
			$(".america-sul").fadeIn("fast");
		}
	);
	//America do Norte
	$(".map-america-norte").mouseover(
		function(){
			$(".america-norte").fadeIn("fast");
		}
	);
	//Oceania
	$(".map-oceania").mouseover(
		function(){
			$(".oceania").fadeIn("fast");
		}
	);
	//America Central
	$(".map-america-central").mouseover(
		function(){
			$(".america-central").fadeIn("fast");
		}
	);
	//Africa
	$(".map-africa").mouseover(
		function(){
			$(".africa").fadeIn("fast");
		}
	);
	//Europa
	$(".map-europa").mouseover(
		function(){
			$(".europa").fadeIn("fast");
		}
	);
	//Asia
	$(".map-asia").mouseover(
		function(){
			$(".asia").fadeIn("fast");
		}
	);

	$(".mapa-hover, .escolha-idioma").mouseout(
		function()
		{
			$(this).everyTime(500, "mapa", function()
			{
				if(!sobre){
					$(this).parent().fadeOut("fast");
				}else{
					if($(this).parent().attr('class') != continenteAtual){
						$(this).parent().fadeOut("fast");
					}
				}
			});
		}
	);
}

function CopiarItem(elemento)
{
	var item = elemento;
	item.clone().prependTo($(".vitrine-galeria")).removeClass("ativo").removeAttr("style").children(".alpha").removeAttr("style").addClass("alpha").hide().parent().hide();
	
	elemento.remove();
	$(".vitrine-galeria .thumb:not(.ativo):last").addClass("ativo").prev().fadeIn("fast").find(".alpha").show();
	DeclararAnimacao();
}

// Função vitrine Home
function DeclararAnimacao()
{
	$(".vitrine-galeria .thumb:not(.ativo):last")
	.unbind("click")
	.click(function()
	{
		
		$(".vitrine-galeria .thumb:not(.ativo):last")
		.animate(
		{
			'width':'180px',
			'height':'125px',
			'right':'55px',
			'top':'19px',
			'z-index':'20',
			'cursor': 'default'//,
			//'display':'inline-block'
		},{"duration": "slow"}).unbind("click").css("cursor","default")
		.find(".alpha")
		.animate(
		{
			'width':'180px',
			'height':'125px',
			'opacity':'0',
			'z-index':'20',
			'cursor': 'default'
		},{"duration":"slow"})
		.parent()
		.next()
		.animate(
		{
			'width':'224px',
			'height':'155px',
			'right':'110px',
			'top':'38px',
		//	'display':'inline-block',
			'z-index':'30',
			'opacity':'0',
			'cursor': 'default'
		},{"duration":"slow", "complete":function()
										{
											CopiarItem($(this));
										}
		});
	});
}

/***************************************************************************************************************/

// Dispara um ajax que verifica quantos itens o usuário tem na lista de favoritos
function ContarItensFavorito()
{
	$.ajax({
		type: "POST",
		url: SITE_CAMINHO_SITE_ABSOLUTO + "acao/PessoaProduto.php",
		data: "acao=ContarItem",
		success: function(resultado)
		{
			resultado = $.trim(resultado);
			if (resultado != "erro")
			{
				$(".quantidade-favorito").html(""+resultado+"");
			}
		}
	});
}

/**
 * Funcao  limiteCaracteres: limita a quantidade de caracteres de um campo de formulário. 
 * @param elemento: deve ser um elemento JQuery
 * @param limiteCaracteres: é a quantidade de caracteres
 */
function LimitarCaracter(elemento,limiteCaracteres)
{
	var limite = function()
	{
		if(elemento.val().length > limiteCaracteres)
			elemento.val(elemento.val().substring(0,limiteCaracteres))  ;
	};
	 
	elemento.keypress(limite);
	elemento.keyup(limite);
	elemento.blur(limite);
}

// trata o formulário de busca do site
function BuscaSite()
{
	$("#txtBusca")
	.focus(function()
	{
		if ($(this).val() == SITE_BUSQUE_UM_PRODUTO)
		{
			$(this).val("");
		}
	})
	.blur(function()
	{
		if ($(this).val() == "")
		{
			$(this).val(SITE_BUSQUE_UM_PRODUTO);
		}
	});
	
	$("#frmBusca").submit(function()
	{
		if ($("#txtBusca").val() == SITE_BUSQUE_UM_PRODUTO || $("#txtBusca").val() == "")
		{
			$("#txtBusca").focus();
			return false;
		}
	});
}

/*********************************************************************************************/

//Funcao para perguntas do FAQ
function MostraEscondeFaq()
{
	$(".perguntas-faq h2").click(
		function(){
			if($(this).parent()[0] != $(".perguntas-faq li.ativo")[0])
			{
				$(".perguntas-faq li.ativo .resposta").slideUp("fast");
				$(".perguntas-faq li").removeClass("ativo");
				$(this).next().slideToggle("fast");
				$(this).parent().toggleClass("ativo");
			}
		}
	);
}

//Funcao para galeria brindes
function GaleriaBrinde()
{
	$(".galeria-brinde li a").click(
		function()
		{
			$(".integra-brinde img").attr("src",$(this).find("img").attr("src").replace("pequena/",""));
			return false;
		}
	);
}
/*******************************************************************
//Funcao para iniciar transicao de imagens
function iniciarTransicaoImagens(objeto){
	
	objeto.find("li").each( function(i) {
		$(this).css({"width":"185px", "height":"139px"});
		$(this).find("img").css('margin-left', Math.floor(parseInt($(this).width() - $(this).find("img").width() + 2) /2 * (1 - (0.2*i))) +"px" );
		$(this).find("img").css('margin-top', Math.floor(parseInt($(this).height() - $(this).find("img").height() + 2) /2* (1 - (0.2*i))) +"px" );
	});

	var margemLeftObjeto = 0;
	
	//IMAGEM 1
	var img01 = {
		w: objeto.find("li").eq(1).find("img").width() * 0.8, 
		h: objeto.find("li").eq(1).find("img").height()* 0.8
	};
	
	objeto.find("li").eq(1).find("img").animate({
		width:  (img01.w)+'px',
		height: (img01.h)+'px'
	}, 400 );
	
	//Anima Li
	objeto.find("li").eq(1).animate({
		left:'50px',
		//width: '185px',
		width: '146px',
		//height: '139px',
		height: '110px',
		top: '9px',
        opacity: 0.8,
	}, 400 );
	//FIM IMAGEM 1
	
	// IMAGEM 2
	var img02 = {
		w: objeto.find("li").eq(2).find("img").width() * 0.6, 
		h: objeto.find("li").eq(2).find("img").height()* 0.6
	};
	
	objeto.find("li").eq(2).find("img").animate({
		width:  (img02.w)+'px',
		height: (img02.h)+'px'
	}, 800 );

	objeto.find("li").eq(2).animate({
		left:'96px',
		//width: '146px',
		width: '110px',
		//height: '110px',
		height: '83px',
		top: '0px',
        opacity: 0.6,
	}, 800, function(){

		objeto.removeClass('inativo');
		objeto.find('li').each( function(i){
		
			$(this).attr('class','').addClass('posicao-'+i);

		})

		objeto.find(".posicao-0").bind('click', transicaoProxima);
		
	});

}
*************************************************************************/

//Funcao para diminuir um item da classe e colocar o item que sai do palco para o final da lista
function diminuiClass(){

	if( $(this).is('li') )
	{
		var total = $(this).parent().find('li').size();
	
		$(this).parent().find('li').each( function(i){
	
			var classe = $(this).attr('class');

			var novaClasse = "posicao-"+(i-1);
			
			if( !i )
			{
				novaClasse = "posicao-"+(total-1);
			}

			$(this).removeClass(classe).addClass(novaClasse);
			
			if( i == (total-1))
			{

				var primeira = $(this).parent().find('.posicao-'+(total-1)).html();

				$(this).parent().find('.posicao-'+(total-1)).remove();

				$(this).parent().append("<li class='posicao-"+(total-1)+"'>"+primeira+"</li>");

				$(this).parent().find('li.posicao-'+(total-1)+' img').attr('style','');

				$(this).parent().find(".posicao-0").bind('click', transicaoProxima);

			}

		});
	
	}

}

// Funcao com a transicao de imagens
function transicaoProxima(event){

	var objeto = $(event.target).parent().parent();

	$(".posicao-0").unbind('click', transicaoProxima);
	
	objeto.find("li.posicao-0, li.posicao-0 img").animate({
		width: "215px",
		height: "162px",
		left:"-40px",
		opacity: 0
    }, 800, diminuiClass);

	objeto.find("li.posicao-1").animate({
		left:0,
		width: '185px',
		height: '139px',
		top: '19px',
        opacity: 1
	}, 700 );

	objeto.find("li.posicao-1 img").animate({ 
        width: "183px",
		height: "137px"
	}, 700 );

	objeto.find("li.posicao-2").animate({ 
        opacity: 1,
		left:'50px',
		width: '146px',
		height: '110px',
		top: '9px',
		opacity: 0.8
	}, 700 );

	objeto.find("li.posicao-2 img").animate({
        width: "144px",
		height: "108px"
	}, 700 );

	objeto.find("li.posicao-3").animate({ 
		left:'96px',
		width: '110px',
		height: '101px',
		top: '0',
        opacity: 0.6
	}, 700 );

	objeto.find("li.posicao-3 img").animate({
        width: "108px",
		height: "81px"
	}, 700 );
	
}



//funcao para retornar o indice de li
function RetornarIndice(elemento) {
	var temElemento = true;
	var indice = 0;
	while(temElemento)
	{
		if ( $(elemento).prev().is('li') ) 
		{
			elemento = $(elemento).prev();
			indice++;
		} else {
			temElemento = false
		}
	}
	return indice;
}


// funcao para historico
function AnimarHistorico(event) {
	event = jQuery.event.fix(event || window.event);
	if ( !$(event.target).hasClass('ativo') )
	{
		var idAtual   = $('.linha-tempo a.ativo').attr('href');
		var idClicado = $(event.target).attr('href');
		var liClicado = $(event.target).parent();
		//distancia para o marcador
		var xMarcador  = 0;
		var indice = 0;
		while( indice != RetornarIndice(liClicado) )
		{
			xMarcador += $('.linha-tempo li:eq('+indice+')').outerWidth();
			$('.linha-tempo li:eq('+indice+')')
			indice++;
		}
		xMarcador += 8;
		// calcula tempo
		var tempo = 0;
		tempo =  (( indice - parseInt( RetornarIndice( $('.linha-tempo a.ativo').parent() ) ) )*200);
		if ( tempo < 0 ) tempo = tempo * -1;
		//animações
		$('.linha-tempo a.ativo').removeClass('ativo');
		$(event.target).addClass('ativo');
		$('.conteudo-ano '+idAtual).fadeOut(tempo);
		$('.conteudo-ano '+idClicado).fadeIn(tempo);
		$('.marcador').animate({'left': xMarcador}, (tempo), 'easeOutQuint');
	}
	
	return false;
}




// Função para iniciar as demais
$(document).ready(function() {
						   
			   
	$('.linha-tempo a').bind('click', AnimarHistorico);
						   
	//Chama carousel das fotos de produto
//	$("#carrossel-produto ul").jcarousel({
//		initCallback: mycarousel_initCallback,
//		scroll: 3,
//		start: 1
//    });
	
	//Chama carousel das noticias
	var t=setTimeout( function() {
			$("#carrossel-noticia ul").jcarousel({
			initCallback: mycarousel_initCallback_noticia,
			scroll: 4,
			start: 1
		});
	}, 500)
	
	//Chama carousel de estilos
	
	$("#carrossel-estilo ul").jcarousel({
		scroll: 2,
		start: 1
    });
	
	// Funcao para cycle na vitrine

	$('body#home #vitrine ul').cycle({
		fx:   'shuffle', 
		shuffle: { 
			top:  -102, 
			left:  195 
		}, 
		easing: 'easeInCubic', 
		delay: -2000 
	});

  
	Produto(); // Declara as funções dos Produtos e do detalhe da Coleção
	
	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
	
	linkFoto(); // Funcao para esconder/mostrar links na foto do produto
	
	Pessoa(); // Funcao para inserir funcionalidades do formulario de cadastro
	
	Colecao();
	
	PessoaProduto();
	
	Sac();
	
	Novidade();
	
	fechaDiv() // Funcao para fechar div
	
	////Funcao para mapas na pre-home
	AjustarThumbs();
	
	mapaHome(); //Funcao para hover no mapa da Pre-home	

	DeclararAnimacao(); // Função vitrine Home
	
	BuscaSite();
	
	MostraEscondeFaq(); //Funcao para perguntas do FAQ
	
	GaleriaBrinde();
	
	Loja();
	
	//iniciarTransicaoImagens($('#vitrine > ul'));	// Funcao para iniciar a transicao de imagens na home

	if ($('#banner-ameiqueroum').length > 0)
	{
		window.setTimeout(function(){$('#banner-ameiqueroum').fadeOut("slow");}, 15000);
		
	}
	
	$("#thickbox .lk-fechar").click(
		function(){
			window.parent.tb_remove();
		}
	
	);
	



});
