// JavaScript Document
function validar(d){
	try{
		var erro_desc = "";	
		var elementos = d.elements;
		var erro = false;
		var pos = 0;
		for(i = 0; i < elementos.length; i++){
			if (elementos[i].title != ""){
				if(elementos[i].id != null){
					if(elementos[i].type == 'text'){
						if(elementos[i].value.length == ""){
							erro_desc +=  "<p>O campo <strong>"+elementos[i].title+"</strong> deve ser preenchido</p>";
							elementos[i].className = 'erro_input';
							erro = true;
						}
						if (elementos[i].name == "email" && elementos[i].value != ""){
							var reEmail2 =/^[\w-]+(\.[\w-]+)*@(([\w-]{2,63}\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
							if(!reEmail2.test(elementos[i].value)){
								erro_desc +=  "<p>O campo <strong>"+elementos[i].title+"</strong> deve conter um endereço eletrônico válido !</p>";
								elementos[i].className = 'erro_input';
								erro = true;
							}
						}
					}
					if(elementos[i].type == 'password'){
						pos++;
						if (elementos[i-pos].name != "trocaSenha" || (elementos[i-pos].name == "trocaSenha" && elementos[i-pos].checked == true)){
							if(elementos[i].value.length == ""){
								erro_desc +=  "<p>O campo <strong>"+elementos[i].title+"</strong> deve ser preenchido</p>";
								elementos[i].className = 'erro_input';
								erro = true;
							}else{
								if (elementos[i].name == "rsenha"){
									if (elementos[i-1].value != elementos[i].value){
										erro_desc +=  "<p>Senhas não conferem !</p><p>Campos <strong>"+elementos[i-1].title+"</strong> e <strong>"+elementos[i].title+"</strong> devem conter o mesmo valor</p>";
										elementos[i].className = 'erro_input';
										elementos[i-1].value = "";
										elementos[i].value = "";
										elementos[i-1].focus();
										erro = true;
									}
								}
							}
						}
					}
					if(elementos[i].type == 'select-one'){
						if(elementos[i].value == '0'){
						   erro_desc +=  "<p>O campo <strong>"+elementos[i].title+"</strong> deve ser selecionado</p>";
						   elementos[i].className = 'erro_input';
						   erro = true;
						}else
							elementos[i].className = 'borda_input';
					}
					if(elementos[i].type == 'textarea'){
						if(elementos[i].value.length < 3){	
						   erro_desc +=  "<p>O campo <strong>"+elementos[i].title+"</strong> deve ser preenchido</p>";
						   elementos[i].className = 'erro_input';
						   erro = true;
						}else
							elementos[i].className = 'borda_input';
					}
					if (elementos[i].type == 'radio'){
						if (!elementos[i].checked && (elementos[i+1].type == 'radio' && !elementos[i+1].checked )){
						   erro_desc +=  "<p>O campo <strong>"+elementos[i].title+"</strong> deve ser selecionado</p>";
						   elementos[i].className = 'erro_input';
						   erro = true;
						}
					}
				}
			}
		}
		if(erro){
			document.getElementById("erro").style.display = 'block';
			document.getElementById("erro_itens").innerHTML = erro_desc;
			return false;
		}else
			return true;
	}catch(e){
		alert('problema no formulario');
		alert(e);
		return false;	
	}
}


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 formataCPF(val){
	try{
		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;
	}catch(e){}	
}

function formataRG(val){
	try{
		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;
	}catch(e){}	
}


function validaCPF(cpf) {
	try{
		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();
				}
			}
		}
	}catch(e){}		
}




function soNums(e,args){         
	if (document.all)
		var evt = event.keyCode;
	else
		var evt = e.charCode;
	var chr = String.fromCharCode(evt);
        
	if (evt < 20 || (evt > 47 && evt < 58) || (args.indexOf(chr) >- 1))
		return true;
	return false;
}

function soNums(e,args){
	if (document.all)
		var evt = event.keyCode;
	else
		var evt = e.charCode;
		
	var valid_chars = '0123456789'+args;
	var chr = String.fromCharCode(evt);
	if (valid_chars.indexOf(chr) > -1)
		return true;

	if (valid_chars.indexOf(chr)>-1 || evt < 9 || evt == 32)
		return true;
	return false;
}