

function verificarCPF(numero) {
	
	var err;
	err = false;
	//
	erro = "";
	
	cpf_s = numero;
	cpf_s = String(cpf_s);
	cpf_s = cpf_s.replace(/\./g, "");
	cpf_s = cpf_s.replace(/-/g, "");
	
	
	if (!(Number(cpf_s))) {
		erro += " - A verificação de CPF suporta apenas números! \n";
		err = true;
	}

	

	if (cpf_s.length<11) {
		erro += " - São necessários 11 digitos para verificação do CPF! \n";
		err = true;
	}
	if (cpf_s == "00000000000" || cpf_s == "11111111111" || cpf_s == "22222222222" || cpf_s == "33333333333" || cpf_s == "44444444444" || cpf_s == "55555555555" || cpf_s == "66666666666" || cpf_s == "77777777777" || cpf_s == "88888888888" || cpf_s == "99999999999") {
		erro += " - Número do CPF inválido! \n";
		err = true;
	}
	var a = [];
	var b = new Number();
	var c = 11;
	for (i=0; i<11; i++) {
		a[i] = cpf_s.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_s.charAt(9) != a[9]) || (cpf_s.charAt(10) != a[10])) {
		erro += " - Dígito verificador com problema! \n";
		err = true;
	}
	
	
	if (err) {
		alert(erro);
		return false;
	}
	return true;
	
}


function verificarVazio(id, lbl) {
	
	var obj = window.document.getElementById(id);
	var txt = obj.value;
	
	err = false;
	//
	if (txt.length == 0) {
		err = true;
	}
	if (txt.length>0) {
		for (c=0; c<txt.length; c++) {
			if (txt.charCodeAt(c) != 32) {
				break;
			}
		}
		if (c == txt.length) {
			err = true;
		}
	}
	if (err) {
		
		return " - Preencha o campo: "+lbl+" \n";
		//return false;
	} else {
		return "";
		//return true;	
	}
		
}

function validarEmail (e) {
	var err = false;
	var erro = "";
	
	if (e.length == 0) {
		err = true;
	}
	//verifica a existência de espaços em brancos                                                                                                                                                  
	if (e.indexOf(" ")>-1) {
		err = true;
	}
	//verifica a existência de apóstrofes campo E-MAIL                                                                                                                                             
	if (e.indexOf("'")>-1) {
		err = true;
	}
	//verifica a existência de 2@                                                                                                                              
	if (e.lastIndexOf("@") != e.indexOf("@")) {
		err = true;
	}
	//não existe @                                                                                                                            
	if (e.indexOf("@") == -1) {
		err = true;
	}
	// @ no início                                                                                                                           
	if (e.charCodeAt(0) == 64) {
		err = true;
	}
	// @ no final                                                                                                                           
	if (e.charCodeAt((e.length)-1) == 64) {
		err = true;
	}
	// . no final                                                
	if (e.charCodeAt((e.length)-1) == 46) {
		err = true;
	}
	//verifica e existência de ponto após o @                                                                                                                          
	if (e.indexOf("@.")>0) {
		err = true;
	}
	//verifica existencia do "." depois do "@"                                                                                                                          
	if (e.lastIndexOf(".")<e.lastIndexOf("@")) {
		err = true;
	}
	if (err) {
		alert(" - E-mail inválido! ");
		return false;
	} else {
		return true;
	}
	
	
	//*/
}

/*
function validarCep(strCEP) {
	
	var objER = /^[0-9]{2}\.[0-9]{3}-[0-9]{3}$/;
	
	if (strCEP.length > 0) {
		if(objER.test(strCEP)) {
			return true;
		} else {
			alert("CEP inválido.");
			return false;
		}
	} else {
		alert("CEP inválido.");
		return false;
	}
	///
}
*/


function verificarData(cData) {
	
	var err = false;
	erro = "Data inválida";
	
	var d = new Date();
	var ano_now = d.getYear();
	
	var data = cData; 
	var tam = data.length;
	if (tam != 10) {
 		err = true;	
    }
	barras = data.split("/");
    if (barras.length == 3) {
    	dia = barras[0];
		mes = barras[1];
		ano = barras[2];
	}
	
    if (ano < 1930)    {
 		err = true;	
    }
   if (ano > ano_now-18)    {
 		err = true;	
    }
	
    switch (mes) {
		case '01':	        
		case '03':	        
		case '05':	        
		case '07':	        
		case '08':	        
		case '10':	        
		case '12':
 			if (dia > 31) {
				err = true;	
			}
		case '04':	        
		case '06':	        
		case '09':	        
		case '11':	        
			if (dia > 30) {
				err = true;		
			}
		case '02':
			if ((ano % 4) == 0 && dia > 29) {
				err = true;	
			} else if (dia > 28) {
				err = true;	
			}
	}
	
	if (err) {
		alert(erro);
		return false;
	}

	return true; 
}


function mask(src, expression, mask){
	
	var e = window.event;
	
	
	if (e) {
		
		if (e.type == "blur") {

			var nums = "0123456789";
			var src_out = src.value;
			
			for (var i=0;i<expression.length;i++) {
				var tmp_msk = expression.substring(i,i+1);
				var tmp_src = src.value.substring(i,i+1);
				var keyPos  = expression.substring(i,i+1);
				//var saida = expression.substring(0,1);
				var texto = expression.substring(i)
				if(tmp_src != keyPos) {
					if (texto.substring(0,1) != mask) {
						src_out = src_out.substring(0,i) + tmp_msk + src_out.substring(i);
						i++;	
					}
				}
			}
			
			var voltarUm = false;
			for (var i=0;i<expression.length;i++) {
				var tmp_src = src_out.substring(i,i+1);
				var keyPos     = expression.substring(i,i+1);
				if(tmp_src != keyPos) {
					if (nums.indexOf(tmp_src)==-1 ){
						if (voltarUm) i-=1;
						break;
					}
					voltarUm = false;
				} else {
					voltarUm = true;
				}	
			}
			src.value = src_out.substring(0, i);	
		} else {
			var i = src.value.length;
			//var keyID      = (window.event) ? event.keyCode : e.keyCode;
			var keyID      = (window.event) ? event.keyCode : e.which;
			var keyPos     = expression.substring(i,i+1);
			var keyPosCode = keyPos.charCodeAt(0);
			
			if (keyID == keyPosCode) var keyOk = true;
			
			if ( (keyID > 47 && keyID < 58) || keyOk == true ) {
				//var saida = expression.substring(0,1);
				var texto = expression.substring(i)
				if(keyID != keyPosCode) {
					if (texto.substring(0,1) != mask) {
						src.value += texto.substring(0,1);
					}
				}
			} else {
				return false;
			}
		}
	}
	
	
	return true;
}




function autoTab(elem, target) {
	
    if (!target) { return; }
    
	if (elem.value.length == elem.maxLength && (
            (event.keyCode >= 48 && event.keyCode <= 90) ||
                (event.keyCode >= 96 && event.keyCode <= 105)
            )
        ) {
        //$(target).focus();
		var dest = window.document.getElementById(target);
		dest.focus();
    }
}



function Add(i) { 
    a = document.getElementById("trace").innerHTML + "<b>"+ i +"</b><br>";
    document.getElementById("trace").innerHTML = a;
}