// Função para validar e-mail
// Criado por: Eduardo Y. Palomba (eduardo@linkecerebro.com.br)
// Criado em : 24 de abril de 2003 - 19h40
function CkMask(cO,cM) {
	cV = cO.value;
	cV1 = "";
	if (cV.length > cM.length) cV = cV.substr(0,cM.length);
	for (cP=0; cP < cV.length; cP++) {
		cT = cM.substr(cP,1);
		cL = cV.substr(cP,1);
		if (cT=="#") { //Numeros
			if ("0123456789".indexOf(cL)>=0) cV1 += cL ;
		} else if (cT=="!") {
			cL = cL.toUpperCase();
			if ("ABCDEFGHIJKLMNOPQRSTUBXWYZ".indexOf(cL)>=0) cV1 += cL ;
		} else if (cT!=cL) {
			cV1 += cT + cL;
		} else {
			cV1 += cL;
		}
		if (cO.value != cV1) {
			cO.value = cV1;
		}
	}
}
function CkEmail(obj) {
	if (obj.value!="") {
		if (! valida_EMAIL(obj.value)) {
			alert("E-mail inválido!");
			obj.focus();
		}
	}
}
function valida_EMAIL(campo) {
  var goodEmail = campo.match(/\b(^(\S+@).+((\.com)|(\.net)|(\.edu)|(\.mil)|(\.gov)|(\.org)|(\..{2,2}))$)\b/gi);
  if (goodEmail) {
	 return true;
  } else {
	 return false;
  }
}

// Função para entrar somente letras e números num campo do formulário
// Criado por: Eduardo Y. Palomba (eduardo@linkecerebro.com.br)
// Criado em : 29 de abril de 2003 - 17h20

function filtro_SoLetrasENumeros() {
  if (event.keyCode < 45 || (event.keyCode > 45 && event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 65) || (event.keyCode > 90 && event.keyCode < 95) || (event.keyCode > 95 && event.keyCode < 97) || event.keyCode > 122) event.returnValue = false;
}

// Função para entrar somente números num campo do formulário
// Criado por: Eduardo Y. Palomba (eduardo@linkecerebro.com.br)
// Criado em : 24 de abril de 2003 - 17h20

function filtro_SoNumeros() {
  if (event.keyCode != 9  && event.keyCode != 188  && event.keyCode != 8  && ! (event.keyCode >= 48 && event.keyCode <= 57) && ! (event.keyCode >= 95 && event.keyCode <= 105)) event.returnValue = false;
}


// Função para mascarar Telefone 9999-9999
// Criado por: Eduardo Y. Palomba (eduardo@linkecerebro.com.br)
// Criado em : 25 de abril de 2003 - 11h40

function mascara_FONEFAX(Campo, teclapres){
	
	var tecla = teclapres.keyCode;
	if (tecla==8) return;
	var vr = new String(Campo.value);
	vr = vr.replace(" r.", "");
	vr = vr.replace(" r", "");
	vr = vr.replace(" ", "");
	vr = vr.replace("-", "");
	vr = vr.replace(".", "");
	vr = vr.replace("(", "");
	vr = vr.replace(")", "");
	vr = vr.replace("/", "");
	vr = vr.replace("-", "");
	
	tam = vr.length+1 ;
	if(tam==1) return;   		
	else if (tam < 3) {
		Campo.value = "(" + vr ;
	} else if (tam < 7) {
		Campo.value = "("+vr.substr(0, 2) + ')' + vr.substr(2,5);
	} else if (tam < 11) {
		Campo.value = "("+vr.substr(0, 2) + ')' + vr.substr(2,4)+"-"+vr.substr(6,4);
	} else {
		Campo.value = "("+vr.substr(0, 2) + ')' + vr.substr(2,4)+"-"+vr.substr(6,4)+" r."+vr.substr(10,tam-10);	
	}
}
// Função para mascarar Telefone 9999-9999
// Criado por: Eduardo Y. Palomba (eduardo@linkecerebro.com.br)
// Criado em : 25 de abril de 2003 - 11h40

function mascara_DATA(Campo, teclapres){

var tecla = teclapres.keyCode;

var vr = new String(Campo.value);
vr = vr.replace(".", "");
vr = vr.replace(".", "");
vr = vr.replace("/", "");
vr = vr.replace("-", "");

tam = vr.length + 1 ;

if (tecla != 9 && tecla != 8){
	if (tam > 2 && tam < 5)
		Campo.value = vr.substr(0, 2) + '/' + vr.substr(2, tam);
	if (tam >= 5 && tam < 8)
		Campo.value = vr.substr(0,2) + '/' + vr.substr(2,2) + '/' + vr.substr(5,tam-5);
	}
}

function mascara_MMAA(Campo, teclapres){

var tecla = teclapres.keyCode;

var vr = new String(Campo.value);
vr = vr.replace(".", "");
vr = vr.replace(".", "");
vr = vr.replace("/", "");
vr = vr.replace("-", "");

tam = vr.length + 1 ;

if (tecla != 9 && tecla != 8){
	if (tam > 2 )
		Campo.value = vr.substr(0, 2) + '/' + vr.substr(2, tam);
	}
}

// Função para mascarar CNPJ
// Criado por  : Eduardo Y. Palomba (eduardo@linkecerebro.com.br)
// Criado em   : 24 de abril de 2003 - 17h20

function mascara_CNPJ(Campo, teclapres){

var tecla = teclapres.keyCode;

var vr = new String(Campo.value);
vr = vr.replace(".", "");
vr = vr.replace(".", "");
vr = vr.replace("/", "");
vr = vr.replace("-", "");

tam = vr.length + 1 ;

if (tecla != 9 && tecla != 8){
	if (tam > 2 && tam < 6)
		Campo.value = vr.substr(0, 2) + '.' + vr.substr(2, tam);
	if (tam >= 6 && tam < 9)
		Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,tam-5);
	if (tam >= 9 && tam < 13)
		Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,3) + '/' + vr.substr(8,tam-8);
	if (tam >= 13 && tam < 15)
		Campo.value = vr.substr(0,2) + '.' + vr.substr(2,3) + '.' + vr.substr(5,3) + '/' + vr.substr(8,4)+ '-' + vr.substr(12,tam-12);
	}
}

// Função para mascarar CPF
// Criado por  : Eduardo Y. Palomba (eduardo@linkecerebro.com.br)
// Criado em   : 24 de abril de 2003 - 17h20

function mascara_CPF(Campo, teclapres){
var tecla = teclapres.keyCode;

var vr = new String(Campo.value);
vr = vr.replace(".", "");
vr = vr.replace(".", "");
vr = vr.replace("-", "");

tam = vr.length + 1;

if (tecla != 9 && tecla != 8){
	if (tam > 3 && tam < 7)
		Campo.value = vr.substr(0, 3) + '.' + vr.substr(3, tam);
	if (tam >= 7 && tam <10)
		Campo.value = vr.substr(0,3) + '.' + vr.substr(3,3) + '.' + vr.substr(6,tam-6);
	if (tam >= 10 && tam < 12)
		Campo.value = vr.substr(0,3) + '.' + vr.substr(3,3) + '.' + vr.substr(6,3) + '-' + vr.substr(9,tam-9);
	}
}



// Função para validar CPF
// Criado por: Eduardo Y. Palomba (eduardo@linkecerebro.com.br)
// Criado em : 24 de abril de 2003 - 17h20

function valida_CPF(cpf) {
if (cpf.substring(0,3)=="989") return true;
var i;
cpf = cpf.replace(".", "");
cpf = cpf.replace(".", "");
cpf = cpf.replace("/", "");
cpf = cpf.replace("-", "");
var c  = cpf.substr(0,9);
var dv = cpf.substr(9,2);

  if (cpf == "00000000000") {
	 return false;
  }

var d1 = 0;

for (i = 0; i < 9; i++) {
	d1 += c.charAt(i)*(10-i);
}

d1 = 11 - (d1 % 11);
if (d1 > 9) d1 = 0;

d2 = d1 * 2;

for (i = 0; i < 9; i++) {
	d2 += c.charAt(i)*(11-i);
}
d2 = 11 - (d2 % 11);
if (d2 > 9) d2 = 0;

if (dv.charAt(0) != d1 || dv.charAt(1) != d2) {
	return false;
}
  return true;
}


// Função para validar CNPJ
// Criado por  : Eduardo Y. Palomba (eduardo@linkecerebro.com.br)
// Criado em   : 24 de abril de 2003 - 17h20
// Alterado em : 30 de abril de 2003 - 09h50

function valida_CNPJ(cnpj) {
var i;

cnpj = cnpj.replace(".", "");
cnpj = cnpj.replace(".", "");
cnpj = cnpj.replace("/", "");
cnpj = cnpj.replace("-", "");
var c  = cnpj.substr(0,12);
var dv = cnpj.substr(12,2);

  if (cnpj == "00000000000000") {
	 return false;
  }

  var d1 = 0;
  var ms = "543298765432";

for (i = 0; i < 12; i++) {
	d1 += c.charAt(i)*ms.charAt(i);
}
d1 = (d1 % 11);
  if (d1 == 0 || d1 == 1) {
	 d1 = 0;
  } else {
	 d1 = 11 - d1;
  }

  var d1 = 0;
  var ms = "543298765432";

for (i = 0; i < 12; i++) {
	d1 += c.charAt(i)*ms.charAt(i);
}
d1 = (d1 % 11);
  if (d1 == 0 || d1 == 1) {
	 d1 = 0;
  } else {
	 d1 = 11 - d1;
  }

  var c = c + d1;

  var d2 = 0;
  var ms = "6543298765432";
for (i = 0; i < 13; i++) {
	d2 += c.charAt(i)*ms.charAt(i);
}
d2 = (d2 % 11);
  if (d2 == 0 || d2 == 1) {
	 d2 = 0;
  } else {
	 d2 = 11 - d2;
  }

if (dv.charAt(0) != d1 || dv.charAt(1) != d2) {
	return false;
}
  return true;
}

// Função para validar Data
// Criado por: Eduardo Y. Palomba (eduardo@linkecerebro.com.br)
// Criado em : 24 de abril de 2003 - 17h20

function valida_DATA(data_ano, data_mes, data_dia) {
	if (data_mes<1 || data_mes>12) return false;
	timeA = new Date(data_ano, data_mes, 1);
	timeD = timeA - 86400000;
	timeB = new Date(timeD);
	var daysInMonth = timeB.getDate();
	return (daysInMonth >= data_dia) ;
}

function veData(fld) {
	dt = fld.value;
	if (dt=="") return ;
	dtat = new Date;
	dtat = dtat.getYear();
	dtd = dt.substr(0,2);
	dtm = dt.substr(3,2);
	dta = parseFloat("0"+dt.substr(6,4));
	if (dta<100)  dta = dtat-dtat%100+dta-(dtat%100<dta?100:0) ;
	if (valida_DATA(dta, dtm, dtd)) {
		if (dta != dt.substr(5,4)) {
			fld.value = dtd+"/"+dtm+"/"+dta ;
		}
	} else {
		alert("Data inválida!");
		fld.focus();
	}
}

function veDataMMAA(fld) {
	dt = fld.value;
	if (dt=="") return ;
	dtm = dt.substr(0,2);
	dta = (100 + parseFloat(dt.substr(3,2))) + "" ;
	if (dtm < 1 || dtm > 12){
		alert("Data inválida!");
		fld.focus();
	} else {
		fld.value = dtm+"/"+dta.slice(1) ;
	}
}

function veGrupo(g) {
	g = document.getElementById(g);
	if (! g) return;
	if (g.className=="inv") g.className="";
	else g.className="inv";
}
function Excluir(o) {
	if (confirm("Tem certeza que deseja excluir a linha?")) {
		nm = o.id.replace("EXCLUI","DIV");
		od = document.getElementById(nm);
		objHTML = od.innerHTML ;
		nm = nm.replace("DIV","P");
		nm = nm.substr(0,nm.lastIndexOf("_"));
		nm = nm.substr(0,nm.lastIndexOf("_"));
		nmE = nm.replace("P_","E_");
		while (objHTML.indexOf(nm)>0) objHTML=objHTML.replace(nm, nmE);
		od.innerHTML=objHTML;
		od.className="inv";
	}
}
function Novo(o) {
	nm = o.id.replace("NOVO","DIV");
	objHTML = document.getElementById(nm).innerHTML ;
	nmU = o.id.replace("NOVO","ULT");
	q = "_"+(++document.getElementById(nmU).value)+"_";
	while (objHTML.indexOf("_0_")>0) objHTML=objHTML.replace("_0_", q);
	objHTML = "<DIV id='"+nm.replace("_0_",q)+"'>"+objHTML+"<"+"/DIV>";
	o.insertAdjacentHTML("beforeBegin",objHTML);
	p = objHTML.indexOf("P"+q);
	nm = objHTML.slice(p);
	p1 = nm.indexOf(" ");
	p2 = nm.indexOf(">");
	p = p1>p2 && p2>0? p2 : p1;
	nm = nm.substr(0,p).replace('"',"");
	o1 = document.getElementById(nm);
	if (o1) o1.focus();
}
function ValidaOutro(obj) {
	nm = obj.name;
	obj1 = false;
	if (obj.value=="Outros" && obj.type=="select-one") {
		obj1 = obj.form[nm.replace("P_","O_")];
	} else if (obj.value=="" && obj.type=="text") {
		obj1 = obj.form[nm.replace("O_","P_")];
	}
	if (obj1) {
		obj1.value="";
		obj1.className="";
		obj1.focus();
		obj.className="inv";
	}
}

function Obrigatorio(fld, tit) {
	f=document.forms[0];
	if (f[fld].value=="") {
		if (tit=="") tit=nm;
		alert(tit+" não pode ficar em branco!");
		f[fld].focus();
		return false;
	}
	return true;
}

function Ir(i,p) {
	f = document.forms[0];
	if (i>2 && f["passo"].value!="FIM") if (! Valida()) return false;
	if (p) f["passo"].value=p;
	f["ir"].value = i;
	f.submit();
}

function VeTamanho(obj,tam) {
	obj1 = document.getElementById(obj.name.replace("P_","L_"));
	if (obj.value.length>tam) {
		alert("Foram digitadas mais de "+tam);
		obj.value = obj.value.substr(0,tam);
	}
	obj1.innerHTML=obj.value.length+" letras";
}