
function chkSelecionado(controle,campo) {
	var q;
	q = 0;
	var blnsel = false;
	
	eval('var obj = document.forms[i].'+controle+'.length;');
		
	for (q=0; q < obj; q++){
		eval('var checado = document.forms[i].'+controle+'['+q+'].checked;');	
		if (checado == true){
			blnsel = true;
		}
	}
		
	if (blnsel == false){
		alert('Por favor, selecione '+campo);

		return false;
	}else{
		return true;
	}
}

//==================================================================================================================
//									scripts - Validacao de campos
//==================================================================================================================

i=0
function cpfValido(controle) {

	eval('var strcpf=document.forms[i].'+controle+'.value;');
	strcpf = strcpf.replace(/\./gi,'');
	strcpf = strcpf.replace(/\-/gi,'');
	//alert(strcpf);
	
	var wSomaDosProdutos=0;
	var wResto=0;
	var wDigitChk=0;
	var wDigitChk2=0;
	var wStatus=0;
	var wI=0;


	for (wI = 0;wI<9;wI++)
		wSomaDosProdutos += parseInt( strcpf.substring(wI, wI+1) ) * (11 - (wI+1) );

	var wResto = wSomaDosProdutos - parseInt( wSomaDosProdutos / 11 ) * 11;

	if ( wResto == 0 || wResto == 1 )
		wDigitChk1 = 0;
	else
		wDigitChk1 = 11 - wResto;


	wSomaDosProdutos = 0;
	for (wI = 0;wI<9;wI++)
 		wSomaDosProdutos += parseInt( strcpf.substring(wI,wI+ 1) ) * (12 - (wI+1) );


	wSomaDosProdutos += 2 * wDigitChk1;
	wResto = wSomaDosProdutos - parseInt(wSomaDosProdutos / 11) * 11;
	if ( wResto == 0 || wResto == 1 )
		wDigitChk2 = 0;
	else
		wDigitChk2 = 11-wResto ; 

	var ch1 = strcpf.charAt(9);
	var ch2 = strcpf.charAt(10);

	if ( parseInt( ch1 ) == wDigitChk1 && parseInt( ch2 ) == wDigitChk2 ) return true;

	alert("Numero de CPF invalido!");
	eval('document.forms[i].'+controle+'.select();');
	return false;
}

function dataValida(controle) {
	var j;
	eval('var dia = parseInt(document.forms[i].'+controle+'[0].value);');
	eval('var mes = parseInt(document.forms[i].'+controle+'[1].value);');
	eval('var ano = parseInt(document.forms[i].'+controle+'[2].value);');
	//alert(dia+'/'+mes+'/'+ano);
	if (isNaN(dia) || isNaN(mes) || isNaN(ano)) {
		if (isNaN(dia)) j = '0';
		else if (isNaN(mes)) j = '1';
		else j = '2';

		alert('Data inválida');
		eval('document.forms[i].'+controle+'['+j+'].focus();');
		return false;
	}
	if (mes > 12) {
		alert('Data inválida');
		eval('document.forms[i].'+controle+'[1].focus();');
		return false;
	}
	if (ano < 1900) {
		alert('Data inválida');
		eval('document.forms[i].'+controle+'[2].focus();');
		return false;
	}
	//alert(DaysInMonth(mes,ano));
	if (dia > DaysInMonth(mes,ano)) {
		alert('Data inválida.');
		eval('document.forms[i].'+controle+'[0].focus();');
		return false;
	}
	
	return true;
}
function DaysInMonth(WhichMonth, WhichYear) {
  var DaysInMonth = 31;
  if (WhichMonth == 4 || WhichMonth == 6 || WhichMonth == 9 || WhichMonth == 11) DaysInMonth = 30;
  if (WhichMonth == 2 && (WhichYear/4) != Math.floor(WhichYear/4)) DaysInMonth = 28;
  if (WhichMonth == 2 && (WhichYear/4) == Math.floor(WhichYear/4)) DaysInMonth = 29;
  return DaysInMonth;
}

function campoDigitado(controle,campo) {
	eval('var texto = document.forms[i].'+controle+'.value;');
	//alert(texto);
	if (texto == '') {
		alert('Por favor, digite '+campo);
		eval('document.forms[i].'+controle+'.focus();');
		return false;
	}
	return true;
}

function numeroValido(controle,campo) {
	eval('var texto = document.forms[i].'+controle+'.value;');

	var certo = true;
	for (var j = 0; j < texto.length; j++) {
		certo = certo && !isNaN(texto.charAt(j));
		//if (certo) alert('Continua certo. Atual: '+texto.charAt(j)); else alert('Já está errado. Atual: '+texto.charAt(j)); 
	}
	
	if (!certo) {
		alert('Por favor, digite um número para o '+campo);
		eval('document.forms[i].'+controle+'.focus();');
		return false;
	}
	return true;
}


function numerObr(controle,campo) {
	eval('var texto = document.forms[i].'+controle+'.value;');
	var certo = true;
	for (var j = 0; j < texto.length; j++) {
		certo = certo && !isNaN(texto.charAt(j));
		//if (certo) alert('Continua certo. Atual: '+texto.charAt(j)); else alert('Já está errado. Atual: '+texto.charAt(j)); 
	}
		if (texto == '') certo = false;	
	if (!certo) {
		alert('Por favor, digite um número para '+campo);
		eval('document.forms[i].'+controle+'.focus();');
		return false;
	}
	return true;
}

function numeroDDDValido(controle,campo) {
	eval('var tamanho = document.forms[i].'+controle+'.value.length');
	eval('var numero = parseInt(document.forms[i].'+controle+'.value);');
	if (isNaN(numero)) {
		alert('Por favor, digite um número para o '+campo);
		eval('document.forms[i].'+controle+'.focus();');
		return false;
	}
	else if (tamanho < 2){
			alert('Por favor, O '+campo+' deve ter 2 digitos');
			eval('document.forms[i].'+controle+'.focus();');
			return false;
	}
	return true;
}

function caixaSelecionada(controle,campo) {
	eval('var valor = document.forms[i].'+controle+'.selectedIndex;');
	if (valor == 0) {
		alert('Por favor, escolha '+campo);
		eval('document.forms[i].'+controle+'.focus();');
		return false;
	}
	return true;
}

function valorSelecionado(controle,campo,v) {
	//eval('var valor = document.forms[i].'+controle+'[document.forms[i].'+controle+'.selectedIndex];');
	eval('var valor = document.forms[i].'+controle+'.value;');
	if (valor == 0) {
		alert('Por favor, escolha '+campo);
		eval('document.forms[i].'+controle+'.focus();');
		return false;
	}
	return true;
}

function senhaValida(caixa1,caixa2) {
	eval('var valor = document.forms[i].'+caixa1+'.value;');
	eval('var valor2 = document.forms[i].'+caixa2+'.value;');
	if (valor == '' || isNaN(valor.value) || valor.length < 4) {
		if (valor.value == '')
			alert('Por favor, digite uma senha.')
		else
			alert('A senha precisa ser um número com 4 algarismos.')
		eval('document.forms[i].'+caixa1+'.focus();');
		return false;
	}
	if (valor != valor2) {
		alert('A(s) senha(s) digitadas são diferentes.');
		caixa2.value = '';
		caixa2.focus();
		return false;
	}
	return true;
}

function emailValido(controle){
	eval('var email = document.forms[i].'+controle+'.value;');
	if ((vrfemailvld(email)))
		return true;
	else {
		alert("E-mail Inválido!");
		eval('document.forms[i].'+controle+'.focus();');
		return false;
	}
}


function vldcampos(){
	var i, k;
	i=0;
	var CountItens = document.forms[i].length;
	
	resultado = true;
	
	for (k=0;k<CountItens-1 && resultado == true;k++){
		switch (document.forms[i].elements[k].tipovalidacao){   
			case "obrigatorio" :{
				resultado = campoDigitado(document.forms[i].elements[k].name,document.forms[i].elements[k].descricao);
				break;
			}   
			case "selecionado" :{
				resultado = caixaSelecionada(document.forms[i].elements[k].name,document.forms[i].elements[k].descricao);
				break;
			}
			case "cpf"  : {
				resultado = cpfValido(document.forms[i].elements[k].name, document.forms[i].elements[k].descricao);
				break;
			}
			case "data"  : {
				resultado = dataValida(document.forms[i].elements[k].name);
				break;
			}
			case "numero"  : {
				resultado = numeroValido(document.forms[i].elements[k].name,document.forms[i].elements[k].descricao);
				break;
			}
			case "numeroobrigatorio"  : {
				resultado = campoDigitado(document.forms[i].elements[k].name,document.forms[i].elements[k].descricao) && numeroValido(document.forms[i].elements[k].name,document.forms[i].elements[k].descricao);
				break;
			}
			case "ddd"  : {
				
				resultado = numeroDDDValido(document.forms[i].elements[k].name,document.forms[i].elements[k].descricao);
				break;
			}
			case "senha" : {
				resultado = senhaValida(document.forms[i].elements[k].name,document.forms[i].elements[k+1].name);
				break;
			}
			case "email" : {
				resultado = emailValido(document.forms[i].elements[k].name);
				break;
			}
			case "float" : {
				resultado = numeroFlutuante(document.forms[i].elements[k].name,document.forms[i].elements[k].descricao);
				break;
			}
			case "floatobr" : {
				//alert('teste');
				resultado = campoDigitado(document.forms[i].elements[k].name,document.forms[i].elements[k].descricao) && numeroFlutuante(document.forms[i].elements[k].name,document.forms[i].elements[k].descricao);
				break;
			}
			case "checado"  : {
				resultado = chkSelecionado(document.forms[i].elements[k].name,document.forms[i].elements[k].descricao);
				break;
			}
		}		
	}
	return resultado;
}

function isDateValid(datein) {
		var indate=datein;

        if (indate.indexOf('-')!=-1) {
                var sdate = indate.split('-')
        } else {
                var sdate = indate.split('/')
        }
		//alert(sdate[2]);
		if(Math.abs(sdate[2])<20)
			sdate[2] = Math.abs(sdate[2]) + 2000;
		if(Math.abs(sdate[2])>20 && Math.abs(sdate[2])<100 )
			sdate[2] = Math.abs(sdate[2]) + 1900;

        var chkDate=new Date(Math.abs(sdate[2]), Math.abs(sdate[1])-1, Math.abs(sdate[0]));
		
		var checkedYear = chkDate.getFullYear();
		if (chkDate.getFullYear() < 200)
			checkedYear = chkDate.getFullYear() + 1900;
		
        var cmpDate=(chkDate.getMonth()+1)+'/'+(chkDate.getDate())+'/'+(checkedYear)
        var indate2=(Math.abs(sdate[1]))+'/'+(Math.abs(sdate[0]))+'/'+(Math.abs(sdate[2]))
		if ((indate2!=cmpDate) || (cmpDate=='NaN/NaN/NaN')) return false;
		return true;
}

function validacombo(){

	if (document.forms[0].elements[0].value=="-"){
		alert("Por favor selelcione um campo")
		document.forms[0].elements[0].focus();
		return false;
	}
	return true;
}

function numeroFlutuante(controle,campo) {
	eval('var texto = document.forms[i].'+controle+'.value;');
	texto = texto.replace(".","")
	texto = texto.replace(",",".")
	var certo = true;
	for (var j = 0; j < texto.length; j++) {
		certo = certo && (!isNaN(texto.charAt(j)) || texto.charAt(j) == ".");
		//if (certo) alert('Continua certo. Atual: '+texto.charAt(j)); else alert('Já está errado. Atual: '+texto.charAt(j)); 
	}
	
	if (!certo) {
		alert('Por favor, digite um número para o '+campo);
		eval('document.forms[i].'+controle+'.focus();');
		return false;
	}
	return true;
}

//==================================================================================================================



