// JavaScript Document

function formatForm(form) {
	var nulos = form.nulos.value.toLowerCase() + ",nulos,";
	var radios = "-";
	for (var i=0; i<form.elements.length; i++) {
		var field = form.elements[i];
		var fieldName = field.name.toLowerCase();
		var vazio = false;
		if (nulos.indexOf(fieldName+",") < 0) {
			if (field.value == '') {
				vazio = true;
			} else if ((field.type.toUpperCase() == "RADIO") && (radios.indexOf("-" + field.name.toLowerCase() + "-") < 0)) {
				radios += field.name + "-";
				var opcoes = eval("form." + field.name + ""); //field.parentNode;
				vazio = true;
				if (typeof(opcoes.length) == 'undefined') {
					if (opcoes.checked) vazio = false;
				} else {
					for (var j=0;j<opcoes.length;j++) {
						if (opcoes[j].checked) {
							vazio = false;
							break;
						}
					}
				}
			}
		}
		if (vazio) {
			alert("Campo(s) obrigatório(s) não preenchido!"); field.focus(); return false;
		} else if (field.value != "") {
			if (fieldName.substring(0,5) == "email" && !isMail(field.value)) {
				alert("E-mail inválido!"); field.focus(); return false;
			} else if (fieldName == "ano" && !isInteiro(field.value)) {
				alert("Ano de Nascimento inválido!\nDigite apenas número."); field.focus(); return false;
			} else if (fieldName == "cep1" && !isCep(field.value,5)) {
				alert("CEP inválido!"); field.focus(); return false;
			} else if (fieldName == "cep2" && !isCep(field.value,3)) {
				alert("CEP inválido!"); field.focus(); return false;
			} else if (fieldName.substring(0,4) == "fone" && !isInteiro(field.value)) {
				alert("TELEFONE inválido!\nDigite apenas número."); field.focus(); return false;
			} else if (fieldName.substring(0,3) == "ddd" && !isInteiro(field.value)) {
				alert("DDD inválido!\nDigite apenas número."); field.focus(); return false;
			} else if (fieldName == "cpf" && !verifyCPFCNPJ(field.value, form.tipoCadastro[0].checked)) {
				alert("CPF/CNPJ inválido!"); field.focus(); return false;
			} else if (fieldName == "rg" && !isInteiro(field.value)) {
				alert("RG inválido!\nDigite apenas número."); field.focus(); return false;
			} else if (fieldName == "senha_confirma" && field.value != form.senha.value) {
				alert("Senha e Confirmação da Senha não conferem!"); field.focus(); return false;
			} else if (fieldName == "senha" && field.value.length < 6) {
				alert("A senha deve conter no mínimo 6 caracteres!"); field.focus(); return false;
			}
		}
	}
	if (form.name != "newsLetter")
		form.submit();
	else
		return true;
	return false;
}

function isInteiro(text) {
	var chr = "0123456789";
	return verify(text, chr);
}

function isNumeric(text) {
	var chr = "0123456789.,";
	return verify(text, chr);
}

function isNumericIfem(text) {
	var chr = "0123456789-/.";
	return verify(text, chr);
}
function isCep(text, num) {
	if (!isInteiro(text) || text.length != num) {
		return false;
	} else {
		return true;
	}
}

function verify(text, chr) {
	for (var i=0; i<text.length;i++) {
		if (chr.indexOf(text.charAt(i)) == -1) 
			return false;
	}
	return true;
}
function isMail(text) {
	if (text.indexOf('@')<1 || text.indexOf('@')>=(text.length-5) || text.length < 8)
		return false;
	return true;
}

function verifyCPFCNPJ(cpf, isCpf) {
	if (isCpf) {
		return verifyCPF(cpf);
	} else {
		return verifyCNPJ(cpf);
	}
}

function verifyCPF(cpf) {
	if (cpf.length != 14) return false;
	
	while (cpf != (cpf=cpf.replace(".","").replace("-","")));
	
	if (!isInteiro(cpf)) return false;
	if (cpf.length != 11) return false;

	var ver1 = parseInt(cpf.charAt(9));
	var ver2 = parseInt(cpf.charAt(10));
	cpf = cpf.substring(0,9);

	var soma = 0;
	var k = 10;
	for (var j=0;j<cpf.length;j++) {
		soma += parseInt(cpf.charAt(j)) * k;
		k--;
	}
	var resto = soma%11;
	
	var verTemp = 0;
	if (resto >= 2) verTemp = 11 - resto;
	
	if (verTemp != ver1)
		return false;
	else {
		soma = 0;
		k = 11;
		cpf += ver1;
		for (var j=0;j<cpf.length;j++) {
			soma += parseInt(cpf.charAt(j)) * k;
			k--;
			if (k < 2) k = 9;
		}
		resto = soma%11;
		verTemp = 0;
		if (resto >= 2) verTemp = 11 - resto;
		if (verTemp != ver2) return false;
	}
	return true;
}

function verifyCNPJ(cnpj) {
	if (cnpj.length != 18) return false;

	while (cnpj != (cnpj=cnpj.replace(".","").replace("/","").replace("-","")));
	
	if (!isInteiro(cnpj)) return false;
	if (cnpj.length != 14) return false;

	var ver1 = parseInt(cnpj.charAt(12));
	var ver2 = parseInt(cnpj.charAt(13));
	cnpj = cnpj.substring(0,12);
	var soma = 0;
	var k = 5;
	for (var j=0;j<cnpj.length;j++) {
		soma += parseInt(cnpj.charAt(j)) * k;
		k--;
		if (k < 2) k = 9;
	}
	var resto = soma%11;
	
	var verTemp = 0;
	if (resto >= 2) verTemp = 11 - resto;

	if (verTemp != ver1)
		return false;
	else {
		soma = 0;
		k = 6;
		cnpj += ver1;
		for (var j=0;j<cnpj.length;j++) {
			soma += parseInt(cnpj.charAt(j)) * k;
			k--;
			if (k < 2) k = 9;
		}
		resto = soma%11;
		verTemp = 0;
		if (resto >= 2) verTemp = 11 - resto;
		if (verTemp != ver2) return false;
	}
	return true;
}

function changeNulo(form, nulos) {
	form.nulos.values = nulos;
}

function disableParcelas(form, stats) {
	var opcoes = form.parcelas;
	for (var j=1;j<opcoes.length;j++) {
		opcoes[j].disabled = stats;
	}
	if (stats) opcoes[0].checked = true;
}

function openNewsLetter(form) {
	if (formatForm(form) == false) {
		return false;
	}
	var newsLetter;
	newsLetter = window.open("","newsLetter","width=350px,height=150px");
	return true;
}

function openCertificado() {
	if (document.location.protocol == "https:") {
		window.open('https://secure.comodo.net/ttb_searcher/trustlogo?v_querytype=W&v_shortname=SC&v_search=https://ssl526.websiteseguro.com/recicleexpress/home/default.asp&x=6&y=5','tl_wnd_credentials'+(new Date()).getTime(),'toolbar=0,scrollbars=1,location=1,status=1,menubar=1,resizable=1,width=450,height=500,left=60,top=120');
	} else {
		alert("Locaweb LTDA\n100% seguro");
	}
}