function flash(largura, altura, arquivo, transparencia)
{
 document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="'+largura+'" height="'+altura+'" id="teste" align="middle">');
 document.write('<param name="allowScriptAccess" value="sameDomain" /><param name="wmode" value="'+transparencia+'" /><param name="menu" value="false" />');
 document.write('<param name="movie" value="'+arquivo+'" /><param name="quality" value="best" /><param name="bgcolor" value="#ffffff" /><embed src="'+arquivo+'" wmode="'+transparencia+'" menu="false" quality="best" width="'+largura+'" height="'+altura+'" name="teste" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />');
 document.write('</object>');
}

/*
	função para fazer as máscaras da entrada do formulário de acordo com o algaritimo que você quiser
	usar a função desta maneira, colocar o nome do formulario e o nome do campo
	onkeypress="return mascara(this, '999-999999', event);"
*/
function mascara(objForm, sMask, evtKeyPress)
{
     var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

     if (evtKeyPress.keyCode) nTecla = evtKeyPress.keyCode; //internet explorer
	 else if (evtKeyPress.which) nTecla = evtKeyPress.which; // mozilla firefox

     sValue = objForm.value;

     // Limpa todos os caracteres de formatação que
     // já estiverem no campo.
     sValue = sValue.toString().replace( "-", "" );
     sValue = sValue.toString().replace( "-", "" );
     sValue = sValue.toString().replace( ".", "" );
     sValue = sValue.toString().replace( ".", "" );
     sValue = sValue.toString().replace( "/", "" );
     sValue = sValue.toString().replace( "/", "" );
     sValue = sValue.toString().replace( "(", "" );
     sValue = sValue.toString().replace( "(", "" );
     sValue = sValue.toString().replace( ")", "" );
     sValue = sValue.toString().replace( ")", "" );
     sValue = sValue.toString().replace( " ", "" );
     sValue = sValue.toString().replace( " ", "" );
     fldLen = sValue.length;
     mskLen = sMask.length;

	i = 0;
	nCount = 0;
	sCod = "";
	mskLen = fldLen;
	
	while (i <= mskLen)
	{
		bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
		bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))
		
		if (bolMask)
		{
			sCod += sMask.charAt(i);
			mskLen++;
		}
		else
		{
			sCod += sValue.charAt(nCount);
			nCount++;
		}
		i++;
	}

	objForm.value = sCod;

	if (nTecla != 8) { // backspace
		if (sMask.charAt(i-1) == "9") // apenas números...
		{
			return ((nTecla > 47) && (nTecla < 58)); // números de 0 a 9
		} 
		else // qualquer caracter...
		{
			return false;
		} 
	}
	else
	{
		return true;
	}
}

function validaTodos(nform)
{
    for(var i = 0; i < nform.elements.length; i++){
        if(nform.elements[i].value == "" && nform.elements[i].type != "hidden" && nform.elements[i].type != "checkbox" && nform.elements[i].type != "file"){
            alert("Preencha todos os campos obrigatórios");
            nform.elements[i].focus();
            return false;
        }
    }   
}

function validaPesquisa(nform)
{
	if(nform.grupos_id_INT.value == "" && nform.produtos_nome.value == "")
	{
		alert("Informe um departamento ou o nome de um produto");
		return false;
	}
	else if(nform.produtos_nome.value != "" && nform.produtos_nome.value.length < 3)
	{
		alert("Sua pesquisa deve ter no mínimo 3 caracteres");
		nform.produtos_nome.select();
		return false;
	}
}

function maiusculo(nform)
{
	nform.value = nform.value.toUpperCase();
}

function minusculo(nform)
{
	nform.value = nform.value.toLowerCase();
}

function is_numeric(sText)
{
		
	var ValidChars = "0123456789";
	
	var IsNumber=true;
	
	var Char;
 
	for (i = 0; i < sText.length && IsNumber == true; i++) 
	{ 
		Char = sText.charAt(i); 
		if (ValidChars.indexOf(Char) == -1) 
		{
			return false;
		}
	}
	return true;
}

function ValidaCNPJ(nfield)
{
	CNPJ = nfield;
	erro = new String;
	if (CNPJ.length < 18) erro += "É NECESSÁRIO PREENCHER CORRETAMENTE O NÚMERO DO CNPJ";
	if ((CNPJ.charAt(2) != ".") || (CNPJ.charAt(6) != ".") || (CNPJ.charAt(10) != "/") || (CNPJ.charAt(15) != "-"))
	{
		if (erro.length == 0) erro += "CNPJ inválido";
	}
	//substituir os caracteres que nao sao numeros
	if(document.layers && parseInt(navigator.appVersion) == 4)
	{
		x = CNPJ.substring(0,2);
		x += CNPJ.substring(3,6);
		x += CNPJ.substring(7,10);
		x += CNPJ.substring(11,15);
		x += CNPJ.substring(16,18);
		CNPJ = x;	
	}
	else
	{
		CNPJ = CNPJ.replace(".","");
		CNPJ = CNPJ.replace(".","");
		CNPJ = CNPJ.replace("-","");
		CNPJ = CNPJ.replace("/","");
	}
	var nonNumbers = /\D/;
	
	if (nonNumbers.test(CNPJ)) erro += "CNPJ INVÁLIDO";	
	var a = [];
	var b = new Number;
	var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
	
	for (i=0; i<12; i++)
	{
		a[i] = CNPJ.charAt(i);
		b += a[i] * c[i+1];
	}
	
	if ((x = b % 11) < 2)
	{
		a[12] = 0
	}
	else
	{
		a[12] = 11-x
	}
	
	b = 0;
	for (y=0; y<13; y++)
	{
		b += (a[y] * c[y]); 
	}
	
	if ((x = b % 11) < 2)
	{	
		a[13] = 0;
	}
	else
	{
		a[13] = 11-x;
	}
	
	if ((CNPJ.charAt(12) != a[12]) || (CNPJ.charAt(13) != a[13]))
	{
		erro +="CNPJ INVÁLIDO";
	}
	
	if (erro.length > 0)
	{
		alert(erro);
		return false;
	}	
}

function ValidaCPF(CPF)
{
	CPF = CPF.replace(".","");
	CPF = CPF.replace(".","");
	CPF = CPF.replace("-","");
		
	if(CPF == "" || CPF == 00000000000 || CPF == 11111111111 || CPF == 22222222222 || CPF == 33333333333 || CPF == 44444444444 || CPF == 55555555555 || CPF == 66666666666 || CPF == 77777777777 || CPF == 88888888888 || CPF == 99999999999)
	{
		alert("CPF INVÁLIDO");
		return false;
	}
	else
	{
		// Aqui começa a checagem do CPF
		var POSICAO, I, SOMA, DV, DV_INFORMADO;
		var DIGITO = new Array(10);
		DV_INFORMADO = CPF.substr(9, 2); // Retira os dois últimos dígitos do número informado
		
		// Desemembra o número do CPF na array DIGITO
		for (I=0; I<=8; I++)
		{
		  DIGITO[I] = CPF.substr( I, 1);
		}
		
		// Calcula o valor do 10º dígito da verificação
		POSICAO = 10;
		SOMA = 0;
		for (I=0; I<=8; I++)
		{
			SOMA = SOMA + DIGITO[I] * POSICAO;
			POSICAO = POSICAO - 1;
		}
		
		DIGITO[9] = SOMA % 11;
		if (DIGITO[9] < 2)
		{
			DIGITO[9] = 0;
		}
		else
		{
			DIGITO[9] = 11 - DIGITO[9];
		}
		
		// Calcula o valor do 11º dígito da verificação
		POSICAO = 11;
		SOMA = 0;
		for (I=0; I<=9; I++)
		{
			SOMA = SOMA + DIGITO[I] * POSICAO;
			POSICAO = POSICAO - 1;
		}
		
		DIGITO[10] = SOMA % 11;
		if (DIGITO[10] < 2)
		{
			DIGITO[10] = 0;
		}
		else
		{
			DIGITO[10] = 11 - DIGITO[10];
		}
		
		// Verifica se os valores dos dígitos verificadores conferem
		DV = DIGITO[9] * 10 + DIGITO[10];
		if (DV != DV_INFORMADO)
		{
			alert('CPF INVÁLIDO');
			return false;
		} 	
	}
}

function checkMail(nMail)
{

	var reEmail1 = /^[\w!#$%&'*+\/=?^`{|}~-]+(\.[\w!#$%&'*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
	var reEmail2 = /^[\w-]+(\.[\w-]+)*@(([\w-]{2,63}\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
	var reEmail3 = /^[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
	var reEmail = reEmail3;

	eval("reEmail = reEmail" + 3);
	if (!reEmail.test(nMail))
	{
		return false;
	}
	else
	{
		return true;
	}	
}

function limpaDadosPF_PJ(nValue)
{
	if(nValue == 1)
	{
		document.getElementById("clientes_razao_social").value = "";
		document.getElementById("clientes_nome_contato").value = "";
		document.getElementById("clientes_cnpj").value = "";
		document.getElementById("clientes_inscricao_estadual").value = "";
	}
	else
	{
		document.getElementById("clientes_nome").value = "";
		document.getElementById("clientes_cpf").value = "";
		document.getElementById("clientes_nascimento_DATE").value = "";
		document.getElementById("clientes_sexo").value = "";
	}	
}

function validaCliente(nForm)
{

	//verificar se a pessoa clicou no aceite
	var aceite = document.getElementById("check_regulamento");
	if(aceite)
	{
		if(aceite.checked == false)
		{
			alert("OBRIGATÓRIO O PREENCHIMENTO DO TERMO DE ACEITE");
			return false;
		}
	}

	if(checkMail(nForm.clientes_email.value) === false)
	{
		alert("INFORME UM ENDEREÇO DE EMAIL VÁLIDO");
		nForm.clientes_email.focus();
		nForm.clientes_email.select();
		return false;
	}
	else if(nForm.clientes_senha.value.length < 6)
	{
		alert("INFORME UMA SENHA DE NO MÍNIMO 6 DÍGITOS");
		nForm.clientes_senha.focus();
		nForm.clientes_senha.select();
		return false;
	}
	else if(nForm.clientes_senha.value != nForm.senha_repete.value)
	{
		alert("AS SENHAS NÃO ESTÃO IGUAIS");
		
		nForm.senha_repete.focus();
		nForm.senha_repete.select();
		return false;
	}	
	else if(nForm.clientes_tipo_INT[0].checked)
	{
		if(nForm.clientes_nome.value.length < 3)
		{
			alert("OBRIGATÓRIO A INFORMAÇÃO DO NOME");
			nForm.clientes_nome.focus();
			nForm.clientes_nome.select();
			return false;
		}
		else if(ValidaCPF(nForm.clientes_cpf.value) === false)
		{
			nForm.clientes_cpf.focus();
			nForm.clientes_cpf.select();
			return false;
		}
		else if(nForm.clientes_nascimento_DATE.value.length < 10)
		{
			alert("OBRIGATÓRIO A INFORMAÇÃO DA DATA DE NASCIMENTO - 00/00/0000");
			nForm.clientes_nascimento_DATE.focus();
			nForm.clientes_nascimento_DATE.select();
			return false;
		}
		else if(nForm.clientes_sexo.value.length < 1)
		{
			alert("INFORME SEU SEXO");
			nForm.clientes_sexo.focus();
			return false;
		}
		
		//VALIDAÇÃO DO ENDEREÇO
		
		else if(nForm.clientes_cep.value.length < 9)
		{
			alert("INFORME O CEP - 00000-000");
			nForm.clientes_cep.focus();
			nForm.clientes_cep.select();
			return false;
		}		
		else if(nForm.clientes_endereco.value.length < 1)
		{
			alert("INFORME SEU ENDEREÇO");
			nForm.clientes_endereco.focus();
			nForm.clientes_endereco.select();
			return false;
		}
		else if(nForm.clientes_numero.value.length < 1)
		{
			alert("INFORME O NÚMERO");
			nForm.clientes_numero.focus();
			nForm.clientes_numero.select();
			return false;
		}
		else if(nForm.clientes_bairro.value.length < 1)
		{
			alert("INFORME O BAIRRO");
			nForm.clientes_bairro.focus();
			nForm.clientes_bairro.select();
			return false;
		}
		else if(nForm.clientes_cidade.value.length < 1)
		{
			alert("INFORME A CIDADE");
			nForm.clientes_cidade.focus();
			return false;
		}
		else if(nForm.clientes_estado.value.length < 1)
		{
			alert("INFORME O ESTADO");
			nForm.clientes_estado.focus();
			return false;
		}
		else if(nForm.clientes_telefone.value.length < 14)
		{
			alert("INFORME O TELEFONE - (00) 0000-0000");
			nForm.clientes_telefone.focus();
			nForm.clientes_telefone.select();
			return false;
		}
		else
		{
			limpaDadosPF_PJ(1);
		}
	}
	else if(nForm.clientes_tipo_INT[1].checked)
	{
	
		if(nForm.clientes_razao_social.value.length < 3)
		{
			alert("OBRIGATÓRIO A INFORMAÇÃO DA RAZÃO SOCIAL");
			nForm.clientes_razao_social.focus();
			nForm.clientes_razao_social.select();
			return false;
		}
		else if(nForm.clientes_nome_contato.value.length < 3)
		{
			alert("OBRIGATÓRIO A INFORMAÇÃO DO NOME DO CONTATO");
			nForm.clientes_nome_contato.focus();
			nForm.clientes_nome_contato.select();
			return false;
		}
		else if(checkMail(nForm.clientes_email_contato.value) === false)
		{
			alert("INFORME UM ENDEREÇO DE EMAIL VÁLIDO");
			nForm.clientes_email_contato.focus();
			nForm.clientes_email_contato.select();
			return false;
		}
		else if(ValidaCNPJ(nForm.clientes_cnpj.value) === false)
		{
			nForm.clientes_cnpj.focus();
			nForm.clientes_cnpj.select();
			return false;
		}
		else if(nForm.clientes_inscricao_estadual.value.length < 4)
		{
			alert("OBRIGATÓRIO A INFORMAÇÃO DA INSCRIÇÃO ESTADUAL");
			nForm.clientes_inscricao_estadual.focus();
			nForm.clientes_inscricao_estadual.select();
			return false;
		}

		//VALIDAÇÃO DO ENDEREÇO
		
		else if(nForm.clientes_endereco.value.length < 1)
		{
			alert("INFORME SEU ENDEREÇO");
			nForm.clientes_endereco.focus();
			nForm.clientes_endereco.select();
			return false;
		}
		else if(nForm.clientes_numero.value.length < 1)
		{
			alert("INFORME O NÚMERO");
			nForm.clientes_numero.focus();
			nForm.clientes_numero.select();
			return false;
		}
		else if(nForm.clientes_bairro.value.length < 1)
		{
			alert("INFORME O BAIRRO");
			nForm.clientes_bairro.focus();
			nForm.clientes_bairro.select();
			return false;
		}
		else if(nForm.clientes_estado.value.length < 1)
		{
			alert("INFORME O ESTADO");
			nForm.clientes_estado.focus();
			return false;
		}
		else if(nForm.clientes_cidade.value.length < 1)
		{
			alert("INFORME A CIDADE");
			nForm.clientes_cidade.focus();
			return false;
		}
		else if(nForm.clientes_cep.value.length < 9)
		{
			alert("INFORME O CEP - 00000-000");
			nForm.clientes_cep.focus();
			nForm.clientes_cep.select();
			return false;
		}
		else if(nForm.clientes_telefone.value.length < 14)
		{
			alert("INFORME O TELEFONE - (00) 0000-0000");
			nForm.clientes_telefone.focus();
			nForm.clientes_telefone.select();
			return false;
		}
		else
		{
			limpaDadosPF_PJ(2);
		}		

	}	
}

function setTamanho(nValue)
{
	document.getElementById("tamanho").value = nValue;
}

function adicionarCarrinho(produtos_id,quantidade,tamanho)
{
	if(quantidade == "" || quantidade == 0)
	{
		quantidade = 1;
	}
	
	if(is_numeric(quantidade) == false)
	{
		alert("INFORME SOMENTE NÚMEROS");
		return false;	
	}
	
	if(produtos_id != "")
	{
		location.href="site/validacoes/acoes/adicionar_carrinho.php?produtos_id="+produtos_id+"&quantidade="+quantidade+"&tamanho="+tamanho;
	}
	else
	{
		alert("ESCOLHA UM PRODUTO");
	}
}

function alterarCarrinho(produtos_id,id_quantidade,tamanho)
{
	
	var quantidade = document.getElementById(id_quantidade).value;
	
	if(quantidade == "" || quantidade == 0)
	{
		quantidade = 1;
	}
	
	if(is_numeric(quantidade) == false)
	{
		alert("INFORME SOMENTE NÚMEROS");
		return false;	
	}
	
	if(produtos_id != "")
	{
		location.href="site/validacoes/acoes/alterar_carrinho.php?produtos_id="+produtos_id+"&quantidade="+quantidade+"&tamanho="+tamanho;
	}
	else
	{
		alert("ESCOLHA UM PRODUTO");
	}
}

function excluirCarrinho(produtos_id,tamanho)
{
	
	if(produtos_id != "")
	{
		location.href="site/validacoes/acoes/excluir_carrinho.php?produtos_id="+produtos_id+"&tamanho="+tamanho;
	}
	else
	{
		alert("ESCOLHA UM PRODUTO");
	}
}

function calcula_frete(cepOrig,cepDest,pesoDeclarado,vlrDeclarado,retorno)
{
	
	for(var i=0; i < document.frete.servico.length; i++)
	{
		if(document.frete.servico[i].checked)
		{
			var servico = document.frete.servico[i].value;
		}
	}	
	
	if(!servico)
	{
		alert("SELECIONE UMA FORMA PARA ENTREGA");
		return false;
	}
	else
	{
		if(servico == "sedex" || servico == "e-sedex")
		{
			if(cepDest.length < 9)
			{
				alert("Informe o cep para o cálculo do frete");
				document.getElementById("pedidos_cep").focus();
				return false;
			}
			else
			{
				cepDest = cepDest.replace("-","");
				cepOrig = cepOrig.replace("-","");
				
				location.href = "http://www.bhdesign.com.br/recursos/libs/frete/index.php?cepOrig="+cepOrig+"&cepDest="+cepDest+"&pesoDeclarado="+pesoDeclarado+"&vlrDeclarado="+vlrDeclarado+"&servico="+servico+"&retorno="+retorno;			
			}	
		}
		
	}
}

function urlCadastro()
{
	location.href="?page=cadastro&clientes_cep="+document.getElementById('clientes_cep').value;
}

function autopreencher()
{

	var cep;
	
	cep = document.getElementById('clientes_cep').value;

	if(cep.length == 9)
	{
		getDadosCep(cep);
	}
	else
	{
		alert("INFORME UM CEP VÁLIDO");
		cep.focus();
	}
}


function abreFechaMenu(id)
{

	if(document.getElementById(id).style.display == "none")
	{
		Effect.BlindDown(id, { duration: 0.7 });
		return false;
	}
	else
	{
		Effect.BlindUp(id, { duration: 0.7 });
		return false;
	}
		 
}

function getDadosMenu(id,pagina)
{
	scroll(0,0);
	getDados(id,pagina);
}


function foca_id(id)
{

	if(id==1)
	{

		document.getElementById('primeira').checked = true;

		return true;

	}

	else{

		document.getElementById('cliente').checked = true;

		return true;

	}

}

function identifica(nform)
{
	for(var i = 0; i < nform.acao.length; i++)
	{
		if(nform.acao[i].checked === true)
		{
			var acao = nform.acao[i].value; 
		}
	}
	
	if(checkMail(nform.clientes_email.value) === false)
	{
		alert("INFORME UM EMAIL VÁLIDO");
		nform.clientes_email.focus();
		return false;
	}
	else if(!acao)
	{
		alert("ESCOLHA UMA DAS DUAS OPÇÕES: FAZER O LOGIN OU CADASTRAR-SE NA LOJA");
		return false;
	}
	else
	{
		if(acao == "login")
		{
			if(nform.clientes_senha.value != "")
			{
				nform.submit();
			}
			else
			{
				alert("INFORME SUA SENHA");
				nform.clientes_senha.focus();
				return false;
			}
		}
		else
		{
			if(nform.clientes_cep.value.length == 9)
			{
				location.href = "?page=cadastro&clientes_email="+nform.clientes_email.value+"&clientes_cep="+nform.clientes_cep.value+"&retorno="+nform.retorno.value;
				return false; 
			}
			else
			{
				alert("INFORME SEU CEP - 00000-000");
				nform.clientes_cep.focus();
				return false;
			}
		}
	}
}

function finalizar_compra(clientes_id,pedidos_id)
{
	if(!pedidos_id)
	{
		location.href='?page=carrinho';
	}
	else
	{
		if(!clientes_id)
		{
			location.href='?page=identifica&retorno=finalizar_compra';
		}
		else
		{
			location.href= "site/validacoes/acoes/finalizar_compra.php?pedidos_numero_parcelas_INT="+document.getElementById("pedidos_numero_parcelas_INT").value;
		}	
	}
}

function popup(URL, largura, altura) 
{

	var top = (screen.height - altura) / 2;
	
	var left = (screen.width - largura) / 2;    
	
	
	day = new Date();
	
	id = day.getTime();
	
	eval("page" + id + " = window.open(URL, '" + id + "', 'scrollbars=1,location=0,statusbar=0,menubar=0,resizable=0,width=" + largura + ",height=" + altura + ",top=" + top + ",left=" +  left + "');");

}
