// JavaScript Document
function formataTelefone(val){
   	var pass = val.value;
	var expr = /[0123456789() -]/;
		
	for(i=0; i<pass.length; i++){
		var lchar = val.value.charAt(i);
		if(i==0){
		   if ((lchar.search(expr) != 0))
			  val.value = "";
		   else
		   	if(lchar != "(") val.value = "(" + lchar;
		}else{
			if(lchar.search(expr) != 0){
				var tst1 = val.value.substring(0,(i));
				val.value = tst1;				
				continue;			
			}
			if(lchar != ")" && i==3) val.value = val.value.substring(0,i) + ") " + lchar;
			if(lchar != "-" && i==9) val.value = val.value.substring(0,i) + "-" + lchar;
		 }
	}
	if(pass.length>14)
		val.value = val.value.substring(0, 14);
	 	return true;
}

function formataRG(val){
   	var pass = val.value;
	var expr = /[0123456789]/;
		
	for(i=0; i<pass.length; i++){
		var lchar = val.value.charAt(i);
		var nchar = val.value.charAt(i+1);
	
		if(i==0){
		   if ((lchar.search(expr) != 0)){
			  val.value = "";
		   }
		}else if(i==1 || i==5 || i==9){
			if(lchar.search(expr) != 0){
				var tst1 = val.value.substring(0,(i));
				val.value = tst1;				
				continue;			
			}
			if ((nchar != '/') && (nchar != '')){
				var tst1 = val.value.substring(0, (i)+1);
				if(nchar.search(expr) != 0) 
					var tst2 = val.value.substring(i+2, pass.length);
				else
					var tst2 = val.value.substring(i+1, pass.length);
				if(i == 9)
					val.value = tst1 + '-' + tst2;
				else
				val.value = tst1 + '.' + tst2;
			}
		}
	}
	if(pass.length>14)
		val.value = val.value.substring(0, 14);
	return true;
}


function formataCPF(val){
   	var pass = val.value;
	var expr = /[0123456789]/;
		
	for(i=0; i<pass.length; i++){
		var lchar = val.value.charAt(i);
		var nchar = val.value.charAt(i+1);
	
		if(i==0){
		   if ((lchar.search(expr) != 0)){
			  val.value = "";
		   }
		}else if(i==2 || i==6 || i==10){
			if(lchar.search(expr) != 0){
				var tst1 = val.value.substring(0,(i));
				val.value = tst1;				
				continue;			
			}
			if ((nchar != '/') && (nchar != '')){
				var tst1 = val.value.substring(0, (i)+1);
				if(nchar.search(expr) != 0) 
					var tst2 = val.value.substring(i+2, pass.length);
				else
					var tst2 = val.value.substring(i+1, pass.length);
				if(i == 10)
					val.value = tst1 + '-' + tst2;
				else
				val.value = tst1 + '.' + tst2;
			}
		}
	}
	if(pass.length>14)
		val.value = val.value.substring(0, 14);
	return true;
}



function validaCPF(cpf) {
	var d = document.form;
	var valor_cpf = cpf.replace(".","");
	valor_cpf = valor_cpf.replace(".","");
	valor_cpf = valor_cpf.replace("-","");

	if(valor_cpf == ""){
		alert('O campo CPF deve ser preenchido');
		d.cpf.value = "";
		d.cpf.focus();
	}else{
		if (isNaN(valor_cpf)){
			alert('A verificação de CPF suporta apenas números');
			d.cpf.value = "";
			d.cpf.focus();			
		}else{
			if (cpf.length < 11){
				alert('São necessários 11 digitos para verificação do CPF');
				d.cpf.value = "";
				d.cpf.focus();				
			}
			if (valor_cpf == "00000000000" || valor_cpf == "11111111111" || valor_cpf == "22222222222" || valor_cpf == "33333333333" || valor_cpf == "44444444444" || valor_cpf == "55555555555" || valor_cpf == "66666666666" || valor_cpf == "77777777777" || valor_cpf == "88888888888" || valor_cpf == "99999999999"){
				alert('Número de CPF inválido');
				d.cpf.value = "";
				d.cpf.focus();				
			}
			var a = [];
			var b = new Number;
			var c = 11;
			for (i=0; i<11; i++){
				a[i] = valor_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 ((valor_cpf.charAt(9) != a[9]) || (valor_cpf.charAt(10) != a[10])){
			   alert('Digito verificador do CPF com problema');
				d.cpf.value = "";
				d.cpf.focus();
			}
		}
	}
}