// JavaScript Document

isie = (document.all&&(!window.opera));
function mOvr(obj, colorOver, isClass) {
	obj.style.cursor = isie ? 'hand': 'pointer';
	if (isClass)
		obj.className = colorOver;
	else
		obj.bgColor = colorOver;
}
function mOut(obj, colorOut, isClass) {
	obj.style.cursor = 'default';
	if (isClass)
		obj.className = colorOut;
	else
		obj.bgColor = colorOut;
}

function keyupCpf(field, evento) {
	var tecla = evento.keyCode;
	if ((tecla >= 48 && tecla <= 57) || (tecla >= 96 && tecla <= 105)) {
		field.value = formatCpf(field.value);
	}
}

function formatCpf(valor) {
	if (valor == '') return '';
	var chr = '0123456789';
	valor = ''+valor;
	var newValor = '';
	for (var i=0; i<valor.length; i++) {
		if (chr.indexOf(valor.charAt(i)) != -1) {
			newValor += valor.charAt(i);
		}
	}
	valor = newValor;

	if (valor == '') return '';
	if (valor.length > 3)
		valor = valor.substring(0,3) + "." + valor.substring(3);
	if (valor.length > 7)
		valor = valor.substring(0,7) + "." + valor.substring(7);
	if (valor.length > 11)
		valor = valor.substring(0,11) + "-" + valor.substring(11);

	return valor;
}

function verificaForm(form) {
	var opcionais = "-opcionais-" + form.opcionais.value.toLowerCase() + "-";
	var radios = "-";
	for(var i=0;i<form.elements.length;i++) {
		var field = form.elements[i];
		var vazio = false;
		if (opcionais.indexOf("-" + field.name.toLowerCase() + "-") < 0) {
			if (field.value == "") {
				vazio = true;
			} else if ((field.type.toUpperCase() == "RADIO") && (radios.indexOf("-" + field.name.toLowerCase() + "-") < 0)) {
				radios = 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) obrigatrio(s) n o preenchido!"); field.focus(); return false;
		} else if (field.name.toUpperCase() == "CPF" && !verificaCPF(field.value)) {
			alert("CPF invlido!"); field.focus(); return false;
		}
	}
	return true;
}

function verificaCPF(cpf) {
	while (cpf.indexOf(".") > -1 || cpf.indexOf("-") > -1) {
		cpf = cpf.replace(".","").replace("-","");
	}
	if (cpf.length != 11) return false;
	if (!isInteiro(cpf)) 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 isInteiro(text) {
	var chr = "0123456789";
	return verify(text, chr);
}
function verify(text, chr) {
	for (var i=0; i<text.length;i++) {
		if (chr.indexOf(text.charAt(i)) == -1) 
			return false;
	}
	return true;
}