i = 0;
var crcinvalidos = new Array('~','`','!','#','$','%','%','^','&','*','(',')',',');
function visivel(obj,v) {
	if (v) {
		obj.style.visibility='visible';
		obj.style.position='static';
	} else {
		obj.style.visibility='hidden';
		obj.style.position='absolute';
	}
	return true;
}

function tab(controle,n) {
	if (controle.value.length == n) {
		var j = 0;
		while (document.forms[i].elements[j]!=null && document.forms[i].elements[j].name!=controle.name) j++;
		while (document.forms[i].elements[j].name==controle.name) j++;
		if (document.forms[i].elements[j]!=null) document.forms[i].elements[j].focus();
	}
}

function extra(opcao,input) {
	//if (opcao==-1) v=',true);'; else v=',false);';
	if (opcao==-1) v=true; else v=false;
	//eval('alert(document.forms[0].medicamentoEspeciaisIndividuo.value)');
	
	//alert('visivel(document.forms[0].'+input+v);
	visivel(input,v);
	return true;
}

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 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 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 campoDigitado(controle,campo) {
	eval('var texto = document.forms[i].'+controle+'.value;');
	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 o '+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 vrfcrcemail(email){
	var tudocerto = true;
	for (j=0;j<crcinvalidos.length && tudocerto;j++){
		if(email.indexOf(crcinvalidos[j])!= -1)
			tudocerto = false;
	}
	return tudocerto;
}
function vrfemailvld(email){
	var tudocerto = true;
	if (!vrfcrcemail(email))
		tudocerto = false;
	if (email.charAt(0) == '.' || email.charAt(0) == '@')
		tudocerto = false;
	if (email.charAt(email.indexOf(".")+ 1) == ".")
		tudocerto = false;
	if (email.indexOf("@") > -1){
		var emailsemarroba =  email.slice(email.indexOf("@")+1,email.length);
		if(
			(emailsemarroba.indexOf("@") > -1) ||
			(email.charAt(email.indexOf("@")+ 1) == ".") ||
			(email.charAt(email.indexOf("@")- 1) == ".") ||
			(emailsemarroba.indexOf("@") == "") ||
			(emailsemarroba.indexOf(".") == -1) ||
			(email.charAt(email.length-1) == ".") ||
			(emailsemarroba.charAt(email.indexOf(".")+ 1) == ".")
		) tudocerto = false;
	}
	else tudocerto = false;
	return tudocerto;
}
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 CountItens = document.forms[i].length;
	resultado = true;
	
	for (k=0;k<CountItens-1 && resultado == true;k++){
		if (document.forms[i].elements[k].name == '_Telefones'){
			for (m=0;m<document.forms[i].elements[k].length;m++)
				document.forms[i].elements[k][m].selected = true;
		}
		if (document.forms[i].elements[k].name == '_Especialidades'){
			for (m=0;m<document.forms[i].elements[k].length;m++)
				document.forms[i].elements[k][m].selected = true;
		}
		if (document.forms[i].elements[k].name == '_Emails'){
			for (m=0;m<document.forms[i].elements[k].length;m++)
				document.forms[i].elements[k][m].selected = true;
		}
		if (document.forms[i].elements[k].name.charAt(0)!="_"){
			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);
					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 = numerObr(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;
				}
			}		
		}
	}
	return resultado;
}
function ColocaOpcao(Selnome,CaixaIndice,CaixaTexto,TextoPlus,TextoPlusPlus){
	var Indice = eval('document.forms[i].'+CaixaIndice+'.value;');
	var Texto = eval('document.forms[i].'+CaixaTexto+'.value;');
	var TextoPlus = eval('document.forms[i].'+TextoPlus+'.value;');
	
	if (
		numeroDDDValido('_ddd','O DDD do TELEFONE')&&
		campoDigitado('_tel','O TELEFONE')&&
		caixaSelecionada('_fkTelefoneTipo','O TIPO DE TELEFONE')
		){
		var NovaOpcao = new Option (TextoPlus+' '+Texto,Indice + ' ' + TextoPlus+ ' ' +Texto,false,false);
		eval('document.forms[i].'+Selnome+'.options[document.forms[i].'+Selnome+'.length]=NovaOpcao;');
	}
	return true;
}
function ExcluiOpcao(ObjSel){
	if (eval('frm.'+ObjSel+'.selectedIndex')>= 0)
		eval('document.forms[i].'+ObjSel+'.options[document.forms[i].'+ObjSel+'.selectedIndex] = null;');
}


	
function ColocaOpcaoEspec(Selnome,SelEspec){
	
	var Indice = eval('document.forms[i].'+SelEspec+'.value;');
	var Texto = eval('document.frm.'+SelEspec+'[document.forms[i].'+SelEspec+'.selectedIndex].text;');
	
		
	var NovaOpcao = new Option (Texto,Indice,false,false);
	eval('document.forms[i].'+Selnome+'.options[document.forms[i].'+Selnome+'.length]=NovaOpcao;');
	
	return true;
}

function ColocaOpcaoResp(Selnome,Nome,SelResp,ddd,telefone){
	var Indice = eval('document.forms[i].'+Nome+'.value;');
	Indice = Indice + ' ' + eval('document.forms[i].'+SelResp+'.value;');
	Indice = Indice + ' ' + eval('document.forms[i].'+ddd+'.value;');
	Indice = Indice + ' ' + eval('document.forms[i].'+telefone+'.value;');
	var Texto = eval('document.forms[i].'+Nome+'.value;');

	
	if (
		campoDigitado('_resp','O Nome')&&
		caixaSelecionada('_fkresponsaveltipo','O TIPO DE Parente')&&
		numeroDDDValido('_dddcontato','O DDD do TELEFONE')&&
		campoDigitado('_telcontato','O TELEFONE')
		){
		var NovaOpcao = new Option (Texto,Indice,false,false);
		eval('document.forms[i].'+Selnome+'.options[document.forms[i].'+Selnome+'.length]=NovaOpcao;');
	}		
	return true;
}

function contacheck(obj) {
	var max = 1;
	var box = obj.frm.box.checked; 
	//var conta = (box ? 1 : 0) 
	if (conta > max) {	
		alert("Para este item selecionado vc podera somente checar um  ");	
		obj.checked = false;
   }
}

function ColocarnaSel(SelPrincipal,SubObjs){
	var Objs = new Array(5);
	var d =0;
	var valores,valoresaux;
	var str="";
	var valstr="";
	
	
	Objs[d] = "";
	for (c=0;c<=SubObjs.length;c++){
		if (SubObjs.charAt(c)!="," && c<SubObjs.length)
			Objs[d] = Objs[d] + SubObjs.charAt(c);
		else{
			d = d+1;
			Objs[d] = "";
			if (Objs[d-1].substring(1,3) != 'fk'){
				str = str + ' ' + eval('document.forms[i].'+Objs[d-1]+'.value;');
				valstr = valstr + ' ' + eval('document.forms[i].'+Objs[d-1]+'.value;');
			}else{
				str = str + ' ' + eval('document.forms[i].'+Objs[d-1]+'[document.forms[i].'+Objs[d-1]+'.selectedIndex].text;');
				valstr = valstr + ' ' + eval('document.forms[i].'+Objs[d-1]+'[document.forms[i].'+Objs[d-1]+'.selectedIndex].value;');
			}
		}
	}
	AdcSelVals (SelPrincipal,valstr.substring(1,valstr.length),str);
	return true;
}

function PegarSelecionado(SelPrincipal,SubObjs){
	var Objs = new Array(5);
	var d =0;
	var valores,valoresaux;
	
	Objs[d] = "";
	for (c=0;c<SubObjs.length;c++){
		if (SubObjs.charAt(c)!=",")
			Objs[d] = Objs[d] + SubObjs.charAt(c);
		else{
			
			d = d+1;
			Objs[d] = "";
		}
	}
	valores = eval('document.forms[i].'+SelPrincipal+'[document.forms[i].'+SelPrincipal+'.selectedIndex].value;');
	d =0;
	valoresaux="";
	for (c=0;c<=valores.length;c++){
		if (valores.charAt(c)!=" " && c<valores.length)
			valoresaux = valoresaux + valores.charAt(c);
		else{
			valoresaux = "'" + valoresaux + "'";
			eval('document.forms[i].'+Objs[d]+'.value='+valoresaux+';') 
			d = d+1;
			valoresaux="";
		}
	}
	return true;
}

function AdcSelVals(SelPrincipal,Indice,Texto){
	var NovaOpcao = new Option (Texto,Indice,false,false);
	eval('document.forms[i].'+SelPrincipal+'.options[document.forms[i].'+SelPrincipal+'.length]=NovaOpcao;');
	
	return true;
}

function ColocaValores(SelPrincipal,Indice,Texto){
	var Indice = eval('document.forms[i].'+Indice+'.value;');
	var Texto = eval('document.forms[i].'+Texto+'.value;');
	
	AdcSelVals(SelPrincipal,Indice,Texto);
	return true;
}
