function checkCPF(){
		obj = document.getElementById("NUM_CPF");
		cpf = obj.value;
		valor = true;
		erro = new String;
		if (cpf.length < 11) erro += "Sao necessarios 11 digitos para verificacao do CPF! \n\n"; 
		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 invalido!"
		}
		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 +="CPF inválido!\nFavor verificar o CPF novamente.";
		}
		if (erro.length > 0){
			alert(erro);
			obj.focus();
			obj.select();
			return false;
		}
		return true;
	}

function inteiro(s){
	var i;
    for (i = 0; i < s.length; i++){   
        var c = s.charAt(i);
        if (((c < "0") || (c > "9")))
			return false;
    }
    return true;
}





function isEspecial(k){
	//sstatus = k
	 // se for caracteres especiais aceitamos
	 if(k==8 || k==9 || k==37 || k==39 || k==40 || k==38 ||  k==16 || k==46 ){return true}
	 return false
}

function isNumero(k){
	 // se for numero aceitamos
	 if( k >= 48 && k<=57){return true}
	 
	 // se for teclado numerico aceitamos
	 if( k >= 96 && k<=105){return true}

	 //se nao for  nenhum , nao é numero, saimos
	 return false
}

function formataTel(obj,evt){
	var e = (window.event) ? window.event : evt;
    var key = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;
	if(isEspecial(key)){return false}

	if(!isNumero(key) ) {
		if (window.event) //IE
			window.event.returnValue = null;
		else //Firefox
			e.preventDefault();
	}
	else{
	
	    if(obj.value.length == 1 && obj.value.substring(0,1) != "(" ) {obj.value = '(' + obj.value}
		if(obj.value.length == 0 ) {obj.value += '('}
		if(obj.value.length == 3 ) {obj.value += ')'}
	}

}

function formataCEP(obj,evt){
	var e = (window.event) ? window.event : evt;
    var key = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;
	if(isEspecial(key)){return false}
	if(!isNumero(key) ) {
		if (window.event) //IE
			window.event.returnValue = null;
		else //Firefox
			e.preventDefault();
	}
	else{
		if(obj.value.length == 5 ) {obj.value += '-'}
	}
}
function somenteNumeros(obj,evt){
	var e = (window.event) ? window.event : evt;
    var key = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;
	if(isEspecial(key)){return false}
	if(!isNumero(key) ) {
		if (window.event) //IE
			window.event.returnValue = null;
		else //Firefox
			e.preventDefault();
	}
}

function formataCPF(obj,evt){
	var e = (window.event) ? window.event : evt;
    var key = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;
	if(isEspecial(key)){return false}
	if(!isNumero(key) ) {
		if (window.event) //IE
			window.event.returnValue = null;
		else //Firefox
			e.preventDefault();
	}
}

function formataData(obj,evt){
	var e = (window.event) ? window.event : evt;
    var key = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode;
	if(isEspecial(key)){return false}
	if(!isNumero(key) ) {
		if (window.event) //IE
			window.event.returnValue = null;
		else //Firefox
			e.preventDefault();
	}
	else{
		if(obj.value.length == 2 || obj.value.length == 5 ) {obj.value += '/'}
	}
}
