function validaCPF(cpf){
	erro = new String;
	if (cpf.length < 11) erro += "São necessários 11 dígitos para verificacao do CPF!";
	var nonNumbers = /\D/;
	if (nonNumbers.test(cpf)) erro += "A verificacao de CPF suporta apenas numeros! \n\n";
	if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999")
		erro += "Numero de CPF inválido!"
	var a = [];
	var b = new Number;
	var c = 11;
	for (i=0; i<11; i++){
		a[i] = cpf.charAt(i);
		if (i < 9) b += (a[i] * --c);
	}
	if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11-x }
	b = 0;
	c = 11;
	for (y=0; y<10; y++) b += (a[y] * c--);
	if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11-x; }
	if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10]))
		erro +="Digito verificador com problema!";
	if (erro.length > 0)
		return false;
	else
		return true;
}

function alteraCorLinha(idLinha, eventoMouse){
	if(eventoMouse == "over")
		document.getElementById(idLinha).style.backgroundColor = "#F09899";
	else
		document.getElementById(idLinha).style.backgroundColor = document.getElementById(idLinha).bgColor;
}

function eData(dia, mes, ano){
	dia = ""+dia;
	mes = ""+mes;
	ano = ""+ano;
	if(isNaN(dia) || isNaN(mes) || isNaN(ano))
		return(false);
	if(ano.length!=4 || mes.length==0 || mes.length>2 || mes>12 || mes <1 || dia.length==0 || dia.length>2 )
		return(false);
	if(mes==1 || mes == 3 || mes == 5 || mes == 7 || mes == 8 || mes == 10 || mes == 12){
		if(dia>31 || dia <1)
			return(false);
	}
	else{
		if(mes == 4 || mes == 6 || mes == 9 || mes == 11){
			if(dia>30 || dia <1)
				return(false);
		}
		else{
			if(dia>(ano%4==0?29:28))
				return(false);
		}
	}
	return(true);
}

function validaEmail(campoEmail){
	var parte1 = campoEmail.value.indexOf("@");
	var parte2 = campoEmail.value.indexOf(".");
	var parte3 = campoEmail.value.length;
	if(!(parte1 >= 2 && parte2 >= 2 && parte3 >= 8))
		return(false)
	else{
		campoEmail.value = campoEmail.value.toLowerCase();
		return(true)
	}
}

function trimJs(idCampo){
	idCampo.value = idCampo.value.replace(/^\s+|\s+$/g, "");
}

function exibeAlerta(campoForm, acao, textoAlerta){
	var TopDiv = 0, LeftDiv = 0;
	var divAlerta = document.getElementById("divToolTip");
	if(acao == 1){
		do{
			TopDiv += campoForm.offsetTop || 0;
			LeftDiv += campoForm.offsetLeft || 0;
			campoForm = campoForm.offsetParent;
		}while(campoForm);
		divAlerta.style.top = ((TopDiv * 1) + 20) + "px";
		divAlerta.style.left = LeftDiv + "px";
		divAlerta.innerHTML = textoAlerta;
		var statusDiv = "visible"
	}else
		var statusDiv = "hidden"
	divAlerta.style.visibility = statusDiv
}

function proxCampoAuto(campoAtual, qtdChar, campoProx){
	//campoAtual.setAttribute("autocomplete","off");
	//document.getElementById(campoProx).setAttribute("autocomplete","off");
	var campoProx = document.getElementById(campoProx);
	var larguraAtual = campoAtual.value.length;
	if(larguraAtual == qtdChar)
		if(campoProx.disabled == false)
			campoProx.focus()
}

function rotuloCampo(rotulo, idCampo, tipoAcao, campoSenha){
	idCampo = document.getElementById(idCampo);
	if(tipoAcao == "limpar" && idCampo.value == rotulo)
		idCampo.value = "";
	else if(tipoAcao == "exibir" && idCampo.value == "")
		idCampo.value = rotulo;
}

function efeitoSetas(idDiv, evento){
	eventoMouse = evento;
	defineOpacidade(idDiv, evento);
}
function defineOpacidade(idDiv){
	var loopEvento = 0;
	if(document.getElementById(idDiv)){
		var divEfeito = document.getElementById(idDiv);
		if(document.all){
			var nivelOpacidade = divEfeito.style.filter;
			nivelOpacidade = nivelOpacidade.substr(14, 1) * 1;
		}else{
			var nivelOpacidade = divEfeito.style.opacity;
			nivelOpacidade = nivelOpacidade.replace(".", "") * 1;
		}
		if(eventoMouse == "over"){
			if(nivelOpacidade < 8){
				nivelOpacidade ++;
				var loopEvento = 1;
			}
		}else{
			if(nivelOpacidade > 4){
				nivelOpacidade --;
				var loopEvento = 1;
			}
		}
		divEfeito.style.filter = "Alpha(Opacity=" + nivelOpacidade + "0)";
		divEfeito.style.opacity = "0." + nivelOpacidade;
		if(loopEvento == 1)
			setaOpacidade = setTimeout("defineOpacidade('" + idDiv + "', '" + eventoMouse + "')", 50);
	}
}

function trocaCorDiv(idDiv, evento){
	var bgColor = (evento == "over") ? "#E5781D" : "#FFFFFF";
	idDiv.style.borderColor = bgColor;
}

function calculaRestante(campoTexto){
	var totalCaracteres = document.getElementById("totalCaracteres").value;
	var totalInformados = campoTexto.value.length;
	var totalRestantes = totalCaracteres - totalInformados;
	if(totalInformados > totalCaracteres){
		campoTexto.value = campoTexto.value.substr(0, totalCaracteres);
		return(false);
	}else
		document.getElementById("divRestante").innerHTML = totalRestantes;
}
