function gId(id_1) {
    return document.getElementById(id_1);
}

function tiraClassCadastro(form) {
	var inputs    = document.getElementById(form).getElementsByTagName("input");
	var selects   = document.getElementById(form).getElementsByTagName("select");
	// input
	for (i=0; i < inputs.length; i++) {
		if (inputs[i].type == "text") {
			gId(inputs[i].id).className = '';
		}
		if (inputs[i].type == "password") {
			gId(inputs[i].id).className = '';
		}
	}	
	for (i=0; i < selects.length; i++) {
		gId(selects[i].id).className = '';
	}
}

function camada(id, acao){ // <checkbox> ou <radio>
	return gId(id).style.display = acao;
}

function validaCadastro() {
	var erro       = ''
	var classeErro = 'cadastroErro'
	//if (gId('') == '') erro += '\n\n';
	// email
	if (gId('email').value == '' || validaEmail('email',1) == false) {
		erro += 'E-mail\n';
		gId('email').className = classeErro;
	} else {
		gId('email').className = '';
	}
	// Reemail
	if (gId('reemail').value == '' || validaEmail('reemail',1) == false) {
		erro += 'Reescrever Email\n';
		gId('reemail').className = classeErro;
	} else {
		gId('reemail').className = '';
	}	
	// Senha
	if (gId('senha').value == '') {
		erro += 'Senha\n';
		gId('senha').className = classeErro;
	} else {
		gId('senha').className = '';
	}	
	// Confirmar senha
	if (gId('confirmar').value == '') {
		erro += 'Confirmar senha\n';
		gId('confirmar').className = classeErro;
	} else {
		gId('confirmar').className = '';
	}
	// Razão Social
	if (gId('razao').value == '' && gId('pessoa2').checked == true) { 
		erro += 'Razão Social\n';
		gId('razao').className = classeErro;
	} else {
		gId('razao').className = '';
	}
	// CNPJ
	if ((gId('cnpj').value == '' && gId('pessoa2').checked == true) || (validaCNPJ('cnpj',1) == false && gId('pessoa2').checked == true)) { 
		erro += 'CNPJ\n';
		gId('cnpj').className = classeErro;
	} else {
		gId('cnpj').className = '';
	}
	// Inscrição Estadual
	if (gId('ie').value == '' && gId('pessoa2').checked == true) { 
		erro += 'Inscrição Estadual\n';
		gId('ie').className = classeErro;
	} else {
		gId('ie').className = '';
	}
	// Nome
	if (gId('nome1').value == '' && gId('pessoa1').checked == true) { 
		erro += 'Nome Completo\n';
		gId('nome1').className = classeErro;
	} else {
		gId('nome1').className = '';
	}
	if (gId('nome2').value == '' && gId('pessoa2').checked == true) { 
		erro += 'Nome do Responsável\n';
		gId('nome2').className = classeErro;
	} else {
		gId('nome2').className = '';
	}
	// CPF	
	if ((gId('cpf').value == '' && gId('pessoa1').checked == true) || (validaCPF('cpf',1) == false && gId('pessoa1').checked == true)) { 
		erro += 'CPF\n';
		gId('cpf').className = classeErro;
	} else {
		gId('cpf').className = '';
	}
	// Rg
	if (gId('rg').value == '' && gId('pessoa1').checked == true) {
		erro += 'RG\n';
		gId('rg').className = classeErro;
	} else {
		gId('rg').className = '';
	}
	// Data de nascimento
	if (gId('dia').value == '' || gId('mes').value == '' || gId('ano').value == '') {
		if (gId('pessoa1').checked == true) {
			erro += 'Data de nascimento\n';
			gId('dia').className = classeErro;
			gId('mes').className = classeErro;
			gId('ano').className = classeErro;
		}
	} else {
		gId('dia').className = '';
		gId('mes').className = '';
		gId('ano').className = '';
	}
	// DDD
	if (gId('ddd1').value == '' && gId('pessoa1').checked == true) { 
		erro += 'DDD do Telefone\n';
		gId('ddd1').className = classeErro;
	} else {
		gId('ddd1').className = '';
	}
	if (gId('ddd2').value == '' && gId('pessoa2').checked == true) { 
		erro += 'DDD do Telefone\n';
		gId('ddd2').className = classeErro;
	} else {
		gId('ddd2').className = '';
	}
	// Telefone
	if (gId('telefone1').value == '' && gId('pessoa1').checked == true) { 
		erro += 'Telefone\n';
		gId('telefone1').className = classeErro;
	} else {
		gId('telefone1').className = '';
	}
	if (gId('telefone2').value == '' && gId('pessoa2').checked == true) { 
		erro += 'Telefone\n';
		gId('telefone2').className = classeErro;
	} else {
		gId('telefone2').className = '';
	}
	/*
	// FAX
	if (gId('dddFax').value == '' && gId('pessoa2').checked == true) { 
		erro += 'DDD do Fax\n';
		gId('dddFax').className = classeErro;
	} else {
		gId('dddFax').className = '';
	}
	if (gId('fax').value == '' && gId('pessoa2').checked == true) { 
		erro += 'Fax\n';
		gId('fax').className = classeErro;
	} else {
		gId('fax').className = '';
	}
	*/
	// CEP
	if (gId('cep').value == '' || digitos('cep', 8, 1) == false) {
		erro += 'CEP\n';
		gId('cep').className = classeErro;
	} else {
		gId('cep').className = '';
	}
	// Endereco
	if (gId('endereco').value == '') {
		erro += 'Endereço\n';
		gId('endereco').className = classeErro;
	} else {
		gId('endereco').className = '';
	}
	// Número
	if (gId('numero').value == '') {
		erro += 'Número\n';
		gId('numero').className = classeErro;
	} else {
		gId('numero').className = '';
	}
	/*
	// Complemento
	if (gId('complemento').value == '') {
		erro += 'Complemento\n';
		gId('complemento').className = classeErro;
	} else {
		gId('complemento').className = '';
	}
	*/
	// Bairro
	if (gId('bairro').value == '') {
		erro += 'Bairro\n';
		gId('bairro').className = classeErro;
	} else {
		gId('bairro').className = '';
	}
	// Cidade
	if (gId('cidade').value == '') {
		erro += 'Cidade\n';
		gId('cidade').className = classeErro;
	} else {
		gId('cidade').className = '';
	}
	// Estados
	if (gId('estados').value < 1) {
		erro += 'Estado\n';
		gId('estados').className = classeErro;
	} else {
		gId('estados').className = '';
	}
	// e-mails iguais
	if (iguais('email', 'reemail', 1) == false || validaEmail('reemail',1) == false || validaEmail('email',1) == false) {
		erro += 'Os e-mails tem que ser iguais!\n';
		gId('email').className = classeErro;
		gId('reemail').value = '';
		gId('reemail').className = classeErro;
	} else {
		gId('reemail').className = '';
	}	

	if (erro != '') {
		alert('Preencha corrtamente os campos destacados!\n'+erro);
		return false
	} else {
		return true
		//alert('Tudo ok')	
	}
}

// CPF
function validaCPF(campo, validaForm) {
	var elemento = document.getElementById(campo)
	var cpf      = elemento.value; // Recebe o valor digitado no campo
	if(cpf.length != 11 || cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999"){ 
		if (!validaForm) alert("CPF inválido. Tente novamente.");
		elemento.className = 'cadastroErro';
		return false;
	}
	soma = 0;
	for(i = 0; i < 9; i++)
		soma += parseInt(cpf.charAt(i)) * (10 - i);
		resto = 11 - (soma % 11);
	if(resto == 10 || resto == 11)
		resto = 0;
	if(resto != parseInt(cpf.charAt(9))){
		if (!validaForm) alert("CPF inválido. Tente novamente.");
		elemento.className = 'cadastroErro';
		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))){
		if (!validaForm) alert("CPF inválido. Tente novamente.");
		elemento.className = 'cadastroErro';
		return false;
	}
	elemento.className = '';
	return true;
}

// CNPJ
function validaCNPJ(campo, validaForm) {
	var elemento  = document.getElementById(campo)
	var CNPJ      = elemento.value; // Recebe o valor digitado no campo
	erro          = new String;
	
	if (CNPJ.length < 14) erro = "É necessario preencher corretamente o número do CNPJ!"; 

	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])){
		elemento.className = 'cadastroErro'
		erro = "CNPJ inválido!";
	}
	if (erro.length > 0){
		elemento.className = 'cadastroErro'
		if (!validaForm) alert(erro);
		return false;
	} else {
		elemento.className = 'cadastroErro'
		//alert("CNPJ valido!");
	}
	elemento.className = '';
	return true;
}

// E-mail
function validaEmail(campo, validaForm){
	var elemento = document.getElementById(campo); 
	var emailad  = elemento.value
    var exclude  = /[^@\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;
    var check    = /@[\w\-]+\./;
    var checkend = /\.[a-zA-Z]{2,3}$/;
    if(((emailad.search(exclude) != -1)||(emailad.search(check)) == -1)||(emailad.search(checkend) == -1)){
		elemento.className = 'cadastroErro'
		if (!validaForm) alert('E-mail inválido!')
        return false;
    }
    else {
		elemento.className = ''
        return true;
    }
}

// Campos iguais
function iguais(campo1, campo2, validaForm) {
	var item1 = document.getElementById(campo1)
	var item2 = document.getElementById(campo2)
	
	if (item1.value != item2.value) {
		item1.className = 'cadastroErro'
		item2.className = 'cadastroErro'
		if (!validaForm) alert('Os campos marcados devem ser iguais!')
		return false
	} else {
		if (validaEmail('reemail',1) == false || validaEmail('email',1) == false) {
			item1.className = 'cadastroErro'
			item2.className = 'cadastroErro'
			item2.value     = '';
			if (!validaForm) alert('Reescreva seu e-mail!')
			return false
		} else {
			item1.className = ''
			item2.className = ''
			return true
		}
	}
	
}

// quantidade de digitos
function digitos(campo, quantidade, validaForm){
	var item1 = document.getElementById(campo)

	if (item1.value.length < quantidade) {
		item1.className = 'cadastroErro'
		if (!validaForm) alert('O campo marcado deve ter '+quantidade+' caracteres!');
		return false
	} else {
		item1.className = ''
		return true
	}

}

function apenasNumero(id, maximo){
	
	var campo = gId(id)
	var tam = parseInt(campo.value.length);
	
	if (isNaN(campo.value)) 
		campo.value = campo.value.substring((tam-1),0);		
		
	if (maximo != '')
		autoTab(id, maximo);
		
	return false
}

function autoTab(id, fl) {
	var	i;
	var idx;
	var next;        
	var docele;
	var fn = gId(id)
	
	idx = -1;        
	for (i = 0; i < document.forms[0].length; i ++) {
		if (document.forms[0].elements[i].name == fn.name)
			idx = i;
	}                
	if (idx != -1) {
		// Find the next 'field'
		next = idx + 1;
		if (next >= document.forms[0].length) {
			next = 0 
		}
				
		// Figure out the length of the given element.                        
		docele = document.forms[0].elements[idx].value;
		if (docele.length == fl) {
			document.forms[0].elements[next].focus();
		}
	}    
	
}

function comprar() {
	if (gId('input_cor').value > 0) {
		return window.location = 'site.php?modulo=carrinho&operacao=adicionar&cor='+gId('input_cor').value+'&id='+gId('Comprar').name
	} else {
		alert('Clique em uma das cores para selecionar a cor do produto!');
	}
}

function atualizar() {
	var inputs = document.getElementsByTagName("input");
	var url = '';
	for (i=0; i < inputs.length; i++) {
		if (inputs[i].type == "text") {
			url += '&id'+i+'='+inputs[i].name+'&quantidade'+inputs[i].name+'='+inputs[i].value
		}
	}	
	//alert('site.php?modulo=carrinho&operacao=atualizar'+url)
	window.location = 'site.php?modulo=carrinho&operacao=atualizar'+url;
}

function remover(id) {
	//alert('site.php?modulo=carrinho&operacao=remover&id='+id)
	return window.location = 'site.php?modulo=carrinho&operacao=remover&id='+id;
}

function finalizar() {
	var inputs = document.getElementsByTagName("input");
	var url    = '';
	var j      = 0;
	for (i=0; i < inputs.length; i++) {
		if (inputs[i].type == "text") {
			cor     = gId('cor'+inputs[i].name).value
			produto = gId('produto'+inputs[i].name).value
			url    += '&id'+j+'='+produto+'&quantidade'+inputs[i].name+'='+inputs[i].value+'&cor'+inputs[i].name+'='+cor
			j++;
		}
	}	
	//alert('site.php?modulo=carrinho&operacao=atualizar'+url)
	window.location = 'site.php?modulo=carrinho&operacao=finalizar'//+url;
}

// Valida Cartao de Credito Visa, Master e Amex
function isValidCreditCardNumber(cardNumber, cardType){
    var isValid = false;
    var ccCheckRegExp = /[^\d ]/;
    isValid = !ccCheckRegExp.test(cardNumber);
    if (isValid){
        var cardNumbersOnly  = cardNumber.replace(/ /g,"");
        var cardNumberLength = cardNumbersOnly.length;
        var lengthIsValid    = false;
        var prefixIsValid    = false;
        var prefixRegExp;
    switch(cardType){
        case "mastercard":
            lengthIsValid = (cardNumberLength == 16);
            prefixRegExp = /^5[1-5]/;
        break;
        case "visa":
            lengthIsValid = (cardNumberLength == 16 || cardNumberLength == 13);
            prefixRegExp = /^4/;
        break;
        case "amex":
            lengthIsValid = (cardNumberLength == 15);
            prefixRegExp = /^3(4|7)/;
        break;
        default:
            prefixRegExp = /^$/;
            alert("Card type not found");
    }

    prefixIsValid = prefixRegExp.test(cardNumbersOnly);
    isValid = prefixIsValid && lengthIsValid;
    }
    if (isValid){
        var numberProduct;
        var numberProductDigitIndex;
        var checkSumTotal = 0;
        for (digitCounter = cardNumberLength - 1; digitCounter >= 0; digitCounter--){
            checkSumTotal += parseInt (cardNumbersOnly.charAt(digitCounter));
            digitCounter--;
            numberProduct = String((cardNumbersOnly.charAt(digitCounter) * 2));
            for (var productDigitCounter = 0; productDigitCounter < numberProduct.length; productDigitCounter++){
                checkSumTotal += parseInt(numberProduct.charAt(productDigitCounter));
            }
        }
        isValid = (checkSumTotal % 10 == 0);
    }
    return isValid;
}

function mudarCor(arquivo, id) {
	gId('img').style.display   = 'block';
	gId('img').src             = arquivo; //'cores/'+gId('cores').value+'.jpg';
	gId('input_cor').value     = id;
}

function nomeCor(texto) {
	gId('textcolor').innerHTML = '<strong>'+texto+'</strong>';
}

function maisCaracteristicas(){
	abertos++;
	if (abertos == 15) gId('mais').style.display = 'none';
	gId(abertos).style.display = 'block';
}

function emitir() {
   var vpos = window.open('','vpos',"scrollbars=yes,location=no,directories=no,status=yes,menubar=no,resizable=no,toolbar=no,top=50,left=50,width=700,height=340");
   gId('form_emitir').submit();
   //document.visa_3D.submit();
}

function abreJanela(linkJanela, lag, alt){
	LeftPosition = (screen.width) ? (screen.width-lag)/2 : 0;
	TopPosition = (screen.height) ? (screen.height-alt)/2 : 0;
	if(navigator.appName=="Microsoft Internet Explorer") {
		var janela = window.open(linkJanela,'','fullscreen=0,channelmode=0,toolbar=0,location=0,directories=0,status=0,scrollbars=yes,resizable=yes,menubar=0,width=' + lag + ',height=' + alt + ',left='+LeftPosition+',top='+TopPosition+'');
		//janela.focus();
	} else {
		var janela = window.open(linkJanela,'','location=0,fullscreen=0,menubar=0,toolbar=0,status=0,screenX=0,screenY=0,scrollbars=yes,resizable=yes,width=' + lag + ',height=' + alt + ',left='+LeftPosition+',top='+TopPosition+'');
	}
	if (janela == null || janela.closed == null){
		//document.getElementById('bloqueio').innerHTML = "<font color='#FF0000'><strong>ATENÇÃO!</strong></font><br>Seu navegador está com Bloqueador de popup ativado!!<br>Para o funcionamento correto por favor desbloquei nosso site!<br>Obrigado!";
		alert("ATENÇÃO!\nSeu navegador está com Bloqueador de popup ativado!!\nPara o funcionamento correto por favor desbloquei nosso site!\nObrigado!");
	}
}

function tres(){
	gId('forma4').style.display = 'none';
	gId('forma5').style.display = 'none';
}

function cinco(){
	gId('forma4').style.display = 'block';
	gId('forma5').style.display = 'block';
}