$(function(){

  $('#lnk-adicionar-carrinho').click(function(e){
    var tem_variacao	= $('#tem_variacao').val();
    var cod_variacoes	= $('#cod_produtos_variacoes').val();
    var quantidade		= $('#quantidade').val();

    if( cod_variacoes == undefined ) cod_variacoes = 0;

    var link = link_comprar;
    link = link.replace(/\[QUANTIDADE\]/, quantidade );
    link = link.replace(/\[COD_VARIACOES\]/, cod_variacoes );

    if( tem_variacao && !cod_variacoes )
    {
      msgTopo('<span>Escolha uma variação do produto.</span>', 'erro', 5000);
    }
      else
    {
      $.post(raiz_site+'_inc/adiciona_carrinho.php', {cod_produtos:cod_produtos,tem_variacao:tem_variacao,cod_variacoes:cod_variacoes,quantidade:quantidade},function(data){
        if(data == 'OK')
          msgTopo('<span>Produto adicionado ao carrinho.</span>', 'msg', 5000); 
        else
          msgTopo('<span>'+data+'</span>', 'erro', 5000);
      });
    }

    e.preventDefault(); 
  });

    $('.banners-rot').each(function(){
        var div = $(this);
        if( $(this).find('.banner').length > 1 )
        {
            setInterval( function(){
                trocaBanner( div );
            }, 12000 );
        } 
    });

    // exibe/esconde layer com todas as categorias no menu principal
	$('.lnk-todas-categorias').click(function(){
		if( $('#div-todas-categorias').is(':visible') )
		{
			$('#div-todas-categorias').slideUp('fast');
		}
		else
		{
			$('#div-todas-categorias').slideDown('fast');
		}
	});
	
	// lightbox das imagens dos produtos
	$('a.img-produtos').colorbox({
		rel: 'galeria',
		//current: 'Imagem {current} de {total}',
		current: '',
		previous: 'anterior',
		next: 'próxima',
        close: 'fechar'
	});
	
	// exibe/esconde detalhes do pedido nos meus pedidos
	$('.lnk-expandir-pedido').click(function(e){
		e.preventDefault();
		var cod = $(this).attr('href');
		$('#detalhes-pedido-'+cod).toggle();
	});
	
	// máscaras
	$('.telefone').mask('(99) 9999-9999');
	
	// forms de envio de e-mail
	$('#frm-email').submit(function(){
		return validaFormEmail();
	});
	
});

// validação de CPF
var validaCpf = function ( cpf )
{

	cpf = cpf.replace(/\./g, '');
	cpf = cpf.replace(/\-/g, '');


	if(cpf.length != 11 || cpf == "00000000000" || cpf == "11111111111" ||
	  cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" ||
	  cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" ||
	  cpf == "88888888888" || cpf == "99999999999")
	{
		return false;
	}

	var soma = 0;
	for(i = 0; i < 9; i++)
		 soma += parseInt(cpf.charAt(i)) * (10 - i);
	var resto = 11 - (soma % 11);
	if(resto == 10 || resto == 11)
 		resto = 0;
	if(resto != parseInt(cpf.charAt(9)))
	{
 		return false;
	}
	soma = 0;
	for(i = 0; i < 10; i ++)
 		soma += parseInt(cpf.charAt(i)) * (11 - i);
	resto = 11 - (soma % 11);
	if(resto == 10 || resto == 11)
 		resto = 0;
	if(resto != parseInt(cpf.charAt(10)))
	{ 
 		return false;
	}
	return true;
}; // fim validaCpf

// valida e-mail
var validaEmail = function(s) {
	var regexpEmail = /\w{1,}[@][\w\-]{1,}([.]([\w\-]{1,})){1,3}$/;
	return regexpEmail.test(s);
}; // fim validaEmail

/*
	função para substituir o alert PAM! do JS
*/


// timer para o timeout do javascript
var msgTimer = '';

// tempo padrão para msgTopo
var tempoPadrao = 5000;

// função simples para exibir resposta de erro ou confirmação
var msgTopo = function(txt,classe,tempo) {
	// limpa timeout
	clearTimeout(msgTimer);
	
	if( $('#msg-topo').parent().html() )
	{
		$('#msg-topo').parent().remove();	
	}
	
	$('body').prepend('<div><div id="msg-topo"></div></div>');
	
	// exibe msg
	if (classe == 'erro') {
		$('#msg-topo').removeClass('msg');
	} else {
		$('#msg-topo').removeClass('erro');
	}
	$('#msg-topo').addClass(classe);
	
	// hack para IE6 já que não aceita fixed...
	if ($.browser.msie == true) {
		if( $.browser.version < 7 )
		{
			$('#msg-topo').css('top', $(window).scrollTop());
		}
	}
	
	$('#msg-topo').html(txt);
	$('#msg-topo').slideDown('fast');
	$('#msg-topo').click(function(){hideMsgTopo();return false;})
	msgTimer = setTimeout("hideMsgTopo();", tempo);	
}; // fim msgTopo

var hideMsgTopo = function() {
	clearTimeout(msgTimer);
	$('#msg-topo').fadeOut('fast', function(){
		$(this).parent().remove();
	});
};


// valida forms de envio de email
var validaFormEmail = function()
{
	var erro = false;
	$('#frm-email .required').removeClass('errFld');
	$('#frm-email .required').each(function(){
		if( !$(this).val() )
		{
			$(this).addClass('errFld');
			erro = true;
		}
		else if( $(this).attr('id') == 'email' )
		{
			if( !validaEmail( $(this).val() ) )
			{
				$(this).addClass('errFld');
				erro = true;
			}
		}
	});
	if( erro )
	{
		msgTopo( '<span>O formulário não foi enviado. Confira as informações digitadas.</span>', 'erro', 5000 );
		$('#frm-email .errFld:first').focus();
	}
	else
	{
		
		var nome			= $('#nome').val() != undefined ? $('#nome').val() : '';
		var email			= $('#email').val();
		var empresa			= $('#empresa').val() != undefined ? $('#empresa').val() : '';
		var telefone		= $('#telefone').val() != undefined ? $('#telefone').val() : '';
		var cod_pedidos		= $('#cod_pedidos').val() != undefined ? $('#cod_pedidos').val() : '';
		var cod_produtos	= $('#cod_produtos').val() != undefined ? $('#cod_produtos').val() : '';;
		var mensagem		= $('#mensagem').val();
		var cod_paginas		= $('#cod_paginas').val();
		
		$.post( raiz+'_inc/form_email.php', { nome: nome, email: email, empresa: empresa, telefone: telefone, cod_pedidos: cod_pedidos, cod_produtos: cod_produtos, mensagem: mensagem, cod_paginas: cod_paginas, ajax:true }, function(){
			$('#frm-email').html( 'Formulário enviado com sucesso.' );
		});
	}
	return false;	
};

// verifica se e-mail já existe na base
var verificaEmail = function( acao )
{
	var email	= $('#email').val();
	
	var raiz2 = raiz.replace( /admin\//, '' );
	
	if( validaEmail( email ) )
	{
		$.get(raiz2+'_inc/verifica_email.php', { email: email, acao: acao, ajax: true }, function(j){
			if( j != 'OK' )
			{
				$('#sbt-frm-cadastro').attr( 'disabled', true );
				if( !$('#erro-email').html() )
				{
					$('<span id="erro-email">E-mail já cadastrado em nossa base.</span>').insertAfter('#email');
				}
			}
			else
			{
				$('#sbt-frm-cadastro').attr( 'disabled', false );
				$('#erro-email').remove();
			}
		});
	}
};

// valida formulário de cadastro de nova senha
var validaFormSenha = function()
{
    var senha       = $('#senha').val();
    var senha_conf  = $('#senha_conf').val();
    var erro        = false;

    if( !senha )
    {
        erro = true;
        msgTopo( '<span>Informe uma nova senha.</span>', 'erro', 5000 );
    }
    else if( senha.length < 6 )
    {
        erro = true;
        msgTopo( '<span>Sua nova senha deve possuir no mínimo 6 caracteres.</span>', 'erro', 5000 );
    }
    else if( senha != senha_conf )
    {
        erro = true;
        msgTopo( '<span>As senhas digitadas não conferem.</span>', 'erro', 5000 );
    }

    if( erro )
    {
        $('#senha').focus();
        return false;
    }
    else
    {
        return true;
    }

};

var trocaBanner = function( div )
{
    var banner = ''; 
    if( $(div).find('.banner:visible').next('.banner').length > 0 )
    {
        banner = $(div).find('.banner:visible').next('.banner');
    }
    else
    {
        banner = $(div).find('.banner:first');
    }
    //console.log(div);
    //console.log(banner);
    $(div).find('.banner:visible').fadeOut('fast', function(){
        $(banner).fadeIn('fast');
    });
};

