/*************************************************************************\
Autor: RAMON ROCHA www.tecvia.com.br (solucoes@techvia.com.br)
Copyright (c) 2009, Ramon Rocha (solucoes@techvia.com.br)
Nenhuma parte deste código, sem autorização prévia por escrito do autor,
poderá ser publicada, reproduzida, alterada ou transmitida sejam quais forem os meios empregados:
eletrônicos, mecânicos, fotográficos, gravação ou quaisquer outros.
\*************************************************************************/

/* CAMPO TEXTO OBRIGATORIO */
function ValidRequiredTxt(Field, Message) {
  if (isBlank(AllTrim(Field.value))) {
		if (Message.length >0) {
	  	alert(Message);
		}
	  Field.focus();
	  Field.select();
	  return false;
  }
  return true;
}
/* --- */

/* CAMPO COMBO OBRIGATORIO */
function ValidRequiredCbo(Field, Message) {
	if (Field.selectedIndex ==0) {
		if (Message.length >0) {
	  	alert(Message);
		}
		Field.focus();
		return false;
	}
	return true;
}
/* --- */

/* CAMPO RADIO OBRIGATORO */
function ValidRequiredOpt(radio, Message) {
	for (var i = 0; i < radio.length; i++) {
		if (radio[i].checked) {
			return true;
		}
	}
	if (Message.length >0) {
  	alert(Message);
		return false;
	}
}
/* --- */

/* CAMPO CHECKBOX OBRIGATORO */
function ValidRequiredChk(checkbox, Message) {
	if (checkbox.checked) {
		return true;
	}
	if (Message.length >0) {
  	alert(Message);
		return false;
	}
}
/* --- */

/* CAMPO NUMERICO DECIMAL */
function ValidNumericDec(Field, Message) {
	if (Field.value.length !=0) {
		var valorStr =ReplaceStr(Field.value,',','.');
		if (isNaN(valorStr)) {
			if (Message.length >0) {
		  	alert(Message);
			}
			Field.focus();
			Field.select();
			return false;
		}
	} else {
		Field.value =0;
	}
	return true;
}
/* --- */

/* FAIXA DE VALORES PARA CAMPO NUMERICO DECIMAL */
function ValidRangeNumericDec(Field, ValueMin, ValueMax, Message) {
	if (Field.value.length !=0) {
		var valorStr =ReplaceStr(Field.value,',','.');
		if (isNaN(valorStr)) {
			if (Message.length >0) {
		  	alert(Message);
			}
			Field.focus();
			Field.select();
			return false;
		}
	} else {
		Field.value =0;
	}
	if (ValueMin !=0) {
		if (parseFloat(Field.value)<ValueMin) {
			if (Message.length >0) {
		  	alert(Message);
			}
			Field.focus();
			Field.select();
			return false;
		}
	}
	if (ValueMax !=0) {
		if (parseFloat(Field.value)>ValueMax) {
			if (Message.length >0) {
		  	alert(Message);
			}
			Field.focus();
			Field.select();
			return false;
		}
	}
	return true;
}
/* --- */

/* CAMPO NUMERICO INTEIRO */
function ValidNumericInt(Field, Message) {
	if (Field.value.length !=0) {
		var valorStr =ReplaceStr(Field.value,',','');
		valorStr =ReplaceStr(Field.value,'.','');
		if (isNaN(valorStr)) {
			if (Message.length >0) {
		  	alert(Message);
			}
			Field.focus();
			Field.select();
			return false;
		}
	} else {
		Field.value =0;
	}
	return true;
}
/* --- */

/* FAIXA DE VALORES PARA CAMPO NUMERICO INTEIRO */
function ValidRangeNumericInt(Field, ValueMin, ValueMax, Message) {
	if (Field.value.length !=0) {
		var valorStr =ReplaceStr(Field.value,',','');
		valorStr =ReplaceStr(Field.value,'.','');
		if (isNaN(valorStr)) {
			if (Message.length >0) {
		  	alert(Message);
			}
			Field.focus();
			Field.select();
			return false;
		}
	} else {
		Field.value =0;
	}
	if (ValueMin !=0) {
		if (parseInt(Field.value)<ValueMin) {
			if (Message.length >0) {
		  	alert(Message);
			}
			Field.focus();
			Field.select();
			return false;
		}
	}
	if (ValueMax !=0) {
		if (parseInt(Field.value)>ValueMax) {
			if (Message.length >0) {
		  	alert(Message);
			}
			Field.focus();
			Field.select();
			return false;
		}
	}
	return true;
}
/* --- */

/* CAMPO DATE */
function ValidDate(FieldDay, FieldMonth, FieldYear) {
	if (isNaN(FieldDay.value)) {
		alert(strJSMensInformeDia);
		FieldDay.focus();
		FieldDay.select();
		return false;
	}
	if (!allowInString(AllTrim(FieldDay.value).toUpperCase(),'0123456789')) {
		alert(strJSMensInteiroDia);
		FieldDay.focus();
		FieldDay.select();
		return false;
	}
	if (AllTrim(FieldDay.value).length<2) {
		FieldDay.value='0' + FieldDay.value;
	}
	if (isNaN(FieldMonth.value)) {
		alert(strJSMensInformeMes);
		FieldMonth.focus();
		FieldMonth.select();
		return false;
	}
	if (!allowInString(AllTrim(FieldMonth.value).toUpperCase(),'0123456789')) {
		alert(strJSMensInteiroMes);
		FieldMonth.focus();
		FieldMonth.select();
		return false;
	}
	if (AllTrim(FieldMonth.value).length<2) {
		FieldMonth.value='0' + FieldMonth.value;
	}
	if (isNaN(FieldYear.value)) {
		alert(strJSMensInformeAno);
		FieldYear.focus();
		FieldYear.select();
		return false;
	}
	if (!allowInString(AllTrim(FieldYear.value).toUpperCase(),'0123456789')) {
		alert(strJSMensInteiroAno);
		FieldYear.focus();
		FieldYear.select();
		return false;
	}
	if (AllTrim(FieldYear.value).length<4) {
		alert(strJSMensQuatroAno);
		FieldYear.focus();
		FieldYear.select();
		return false;
	}
	mes =AllTrim(FieldMonth.value);
	dia =AllTrim(FieldDay.value);
	ano =AllTrim(FieldYear.value);
	if (!checkDate(ano, mes, dia)) {
   	alert(strJSMensDataValida);
		FieldDay.focus();
		return false;
	}
	return true;
}
/* --- */

/* CAMPO DATETIME */
function ValidDateTime(FieldDay, FieldMonth, FieldYear, FieldHour, FieldMinute) {
	if (isNaN(FieldDay.value)) {
		alert(strJSMensInformeDia);
		FieldDay.focus();
		FieldDay.select();
		return false;
	}
	if (!allowInString(AllTrim(FieldDay.value).toUpperCase(),'0123456789')) {
		alert(strJSMensInteiroDia);
		FieldDay.focus();
		FieldDay.select();
		return false;
	}
	if (AllTrim(FieldDay.value).length<2) {
		FieldDay.value='0' + FieldDay.value;
	}
	if (isNaN(FieldMonth.value)) {
		alert(strJSMensInformeMes);
		FieldMonth.focus();
		FieldMonth.select();
		return false;
	}
	if (!allowInString(AllTrim(FieldMonth.value).toUpperCase(),'0123456789')) {
		alert(strJSMensInteiroMes);
		FieldMonth.focus();
		FieldMonth.select();
		return false;
	}
	if (AllTrim(FieldMonth.value).length<2) {
		FieldMonth.value='0' + FieldMonth.value;
	}
	if (isNaN(FieldYear.value)) {
		alert(strJSMensInformeAno);
		FieldYear.focus();
		FieldYear.select();
		return false;
	}
	if (!allowInString(AllTrim(FieldYear.value).toUpperCase(),'0123456789')) {
		alert(strJSMensInteiroAno);
		FieldYear.focus();
		FieldYear.select();
		return false;
	}
	if (AllTrim(FieldYear.value).length<4) {
		alert(strJSMensQuatroAno);
		FieldYear.focus();
		FieldYear.select();
		return false;
	}
	if (isNaN(FieldHour.value)) {
		alert(strJSMensInformeHora);
		FieldHour.focus();
		FieldHour.select();
		return false;
	}
	if (!allowInString(AllTrim(FieldHour.value).toUpperCase(),'0123456789')) {
		alert(strJSMensInteiroHora);
		FieldHour.focus();
		FieldHour.select();
		return false;
	}
	if (AllTrim(FieldHour.value).length<2) {
		FieldHour.value='0' + FieldHour.value;
	}
	if (isNaN(FieldMinute.value)) {
		alert(strJSMensInformeMinuto);
		FieldMinute.focus();
		FieldMinute.select();
		return false;
	}
	if (!allowInString(AllTrim(FieldMinute.value).toUpperCase(),'0123456789')) {
		alert(strJSMensInteiroMinuto);
		FieldMinute.focus();
		FieldMinute.select();
		return false;
	}
	if (AllTrim(FieldMinute.value).length<2) {
		FieldMinute.value='0' + FieldMinute.value;
	}
	mes =AllTrim(FieldMonth.value);
	dia =AllTrim(FieldDay.value);
	ano =AllTrim(FieldYear.value);
	hora =AllTrim(FieldHour.value);
	minuto =AllTrim(FieldMinute.value);
	if (!checkDate(ano, mes, dia)) {
   	alert(strJSMensDataValida);
		FieldDay.focus();
		return false;
	}
	if (!checkTime(hora, minuto, "00")) {
   	alert(strJSMensHoraValida);
		FieldHour.focus();
		return false;
	}
	return true;
}
/* --- */

/* COMPARA 2 CAMPOS DATE */
function CompareDate(FieldDay1, FieldMonth1, FieldYear1, FieldDay2, FieldMonth2, FieldYear2) {
	var DD =AllTrim(FieldDay1.value);
	var MM =AllTrim(FieldMonth1.value);
	var YYYY =AllTrim(FieldYear1.value);
	var datDate =MM + "/" + DD + "/" + YYYY;
	var datDataIni=new Date(Date.parse(datDate))
	var DD =AllTrim(FieldDay2.value);
	var MM =AllTrim(FieldMonth2.value);
	var YYYY =AllTrim(FieldYear2.value);
	var datDate =MM + "/" + DD + "/" + YYYY;
	var datDataFim=new Date(Date.parse(datDate))
	//alert("datDataIni=[" + datDataIni + "]")
	//alert("datDataFim=[" + datDataFim + "]")
	if (datDataFim<datDataIni) {
   	alert(strJSMensDataFimDataIni);
		FieldDay2.focus();
		return false;
	}
	return true;
}
/* --- */

/* COMPARA 2 CAMPOS TEXT */
function CompareTxt(FieldTxt1, FieldTxt2, Operation, Message) {
	strTxt1 =FieldTxt1.value.toUpperCase();
	strTxt2 =FieldTxt2.value.toUpperCase();
	if (Operation =="=") {
		if (AllTrim(strTxt1)==AllTrim(strTxt2)) {
			if (Message.length >0) {
		  	alert(Message);
			}
			FieldTxt2.focus();
			return false;
		}
	}
	if (Operation =="<>") {
		if (!AllTrim(strTxt1)==AllTrim(strTxt2)) {
			if (Message.length >0) {
		  	alert(Message);
			}
			FieldTxt2.focus();
			return false;
		}
	}
	if (Operation ==">") {
		if (!AllTrim(strTxt1)>AllTrim(strTxt2)) {
			if (Message.length >0) {
		  	alert(Message);
			}
			FieldTxt2.focus();
			return false;
		}
	}
	if (Operation ==">=") {
		if (!AllTrim(strTxt1)>=AllTrim(strTxt2)) {
			if (Message.length >0) {
		  	alert(Message);
			}
			FieldTxt2.focus();
			return false;
		}
	}
	if (Operation =="<") {
		if (!AllTrim(strTxt1)<AllTrim(strTxt2)) {
			if (Message.length >0) {
		  	alert(Message);
			}
			FieldTxt2.focus();
			return false;
		}
	}
	if (Operation =="<=") {
		if (!AllTrim(strTxt1)<=AllTrim(strTxt2)) {
			if (Message.length >0) {
		  	alert(Message);
			}
			FieldTxt2.focus();
			return false;
		}
	}
	return true;
}
/* --- */

/* COMPARA 2 CAMPOS NUMERICOS */
function CompareNum(FieldTxt1, FieldTxt2, Operation, Message) {
	dblNum1 =parseFloat(FieldTxt1.value);
	dblNum2 =parseFloat(FieldTxt2.value);
	if (Operation =="=") {
		if (dblNum1==dblNum2) {
			if (Message.length >0) {
		  	alert(Message);
			}
			FieldTxt2.focus();
			return false;
		}
	}
	if (Operation =="<>") {
		if (!dblNum1==dblNum2) {
			if (Message.length >0) {
		  	alert(Message);
			}
			FieldTxt2.focus();
			return false;
		}
	}
	if (Operation ==">") {
		if (!dblNum1>dblNum2) {
			if (Message.length >0) {
		  	alert(Message);
			}
			FieldTxt2.focus();
			return false;
		}
	}
	if (Operation ==">=") {
		if (!dblNum1>=dblNum2) {
			if (Message.length >0) {
		  	alert(Message);
			}
			FieldTxt2.focus();
			return false;
		}
	}
	if (Operation =="<") {
		if (!dblNum1<dblNum2) {
			if (Message.length >0) {
		  	alert(Message);
			}
			FieldTxt2.focus();
			return false;
		}
	}
	if (Operation =="<=") {
		if (!dblNum1<=dblNum2) {
			if (Message.length >0) {
		  	alert(Message);
			}
			FieldTxt2.focus();
			return false;
		}
	}
	return true;
}
/* --- */

/* EMAIL */
function ValidEmail(Field) {
  if ( (AllTrim(Field.value).lastIndexOf('@')==-1) || (AllTrim(Field.value).lastIndexOf('.')==-1) ) {
		alert(strJSMensEmailValido);
    Field.focus();
    Field.select();
    return false;
  }
  if (AllTrim(Field.value).substring(0,1)=='.') {
    alert(strJSMensEmailInicioPonto);
    Field.focus();
    Field.select();
    return false;
  }
  if (AllTrim(Field.value).substring(0,1)=='_') {
    alert(strJSMensEmailInicioUnderscore);
    Field.focus();
    Field.select();
    return false;
  }
  if (AllTrim(Field.value).substring(AllTrim(Field.value).length,AllTrim(Field.value).length-1)=='.') {
    alert(strJSMensEmailFimPonto);
    Field.focus();
    Field.select();
    return false;
  }
  if (AllTrim(Field.value).substring(AllTrim(Field.value).length,AllTrim(Field.value).length-1)=='_') {
    alert(strJSMensEmailFimUnderscore);
    Field.focus();
    Field.select();
    return false;
  }
  if (!allowInString(AllTrim(Field.value).toUpperCase(),'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ._@-')) {
    alert(strJSMensEmailCaracteresInvalidos);
    Field.focus();
    Field.select();
    return false;
  }
  return true;
}
/* --- */

/* SENHA */
function ValidSenha(Field1, Field2) {
  if (isBlank(AllTrim(Field1.value))) {
	  alert(strJSMensInformeSenha);
	  Field1.focus();
	  Field1.select();
	  return false;
  }
  if (AllTrim(Field1.value).substring(0,1)=='.') {
	  alert(strJSMensSenhaInicioPonto);
	  Field1.focus();
	  Field1.select();
	  return false;
  }
  if (AllTrim(Field1.value).substring(0,1)=='_') {
	  alert(strJSMensSenhaInicioUnderscore);
	  Field1.focus();
	  Field1.select();
	  return false;
  }
  if (AllTrim(Field1.value).substring(AllTrim(Field1.value).length,AllTrim(Field1.value).length-1)=='.') {
	  alert(strJSMensSenhaFimPonto);
	  Field1.focus();
	  Field1.select();
	  return false;
  }
  if (AllTrim(Field1.value).substring(AllTrim(Field1.value).length,AllTrim(Field1.value).length-1)=='_') {
	  alert(strJSMensSenhaFimUnderscore);
	  Field1.focus();
	  Field1.select();
	  return false;
  }
  if (AllTrim(Field1.value).length<3||AllTrim(Field1.value).length>18) {
	  alert(strJSMensSenhaTamanho);
	  Field1.focus();
	  Field1.select();
	  return false;
  }
  if (!allowInString(AllTrim(Field1.value).toUpperCase(),'0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ._')) {
	  alert(strJSMensSenhaCaracteresInvalidos);
	  Field1.focus();
	  Field1.select();
	  return false;
  }
  //Field1.value=AllTrim(Field1.value).toUpperCase();
  //Field2.value=AllTrim(Field2.value).toUpperCase();
  if (AllTrim(Field2.value)!=AllTrim(Field1.value)) {
	  alert(strJSMensSenhaNaoConfere);
	  Field2.focus();
	  Field2.select();
	  return false;
  }
  return true;
}
/* --- */

/* TELEFONE */
function ValidTelefone(Field1, Field2, Field3) {
  if ( (AllTrim(Field1.value).length>0)||(AllTrim(Field2.value).length>0)||(AllTrim(Field3.value).length>0) ) {
    if (isNaN(Field1.value)) {
	    alert(strJSMensDddValido);
	    Field1.focus();
	    Field1.select();
	    return false;
    }
    if (AllTrim(Field1.value).length<2) {
	    alert(strJSMensDddValido);
	    Field1.focus();
	    Field1.select();
	    return false;
    }
		/*
    if (AllTrim(Field1.value).length==3) {
	    Field1.value=" " + AllTrim(Field1.value);
    } else {
	    if (AllTrim(Field1.value).length==2) {
		    Field1.value="  " + AllTrim(Field1.value);
	    } else {
		    if (AllTrim(Field1.value).length==1) {
			    Field1.value="   " + AllTrim(Field1.value);
		    }
	    }
    }
		*/
    if (isNaN(Field2.value)) {
	    alert(strJSMensPrefixoTelefoneValido);
	    Field2.focus();
	    Field2.select();
	    return false;
    }
    if (isBlank(AllTrim(Field2.value))) {
	    alert(strJSMensPrefixoTelefoneValido);
	    Field2.focus();
	    Field2.select();
	    return false;
    }
    if (AllTrim(Field2.value).length==3) {
	    Field2.value=" " + AllTrim(Field2.value);
    } else {
	    if (AllTrim(Field2.value).length==2) {
		    Field2.value="  " + AllTrim(Field2.value);
	    } else {
		    if (AllTrim(Field2.value).length==1) {
			    Field2.value="   " + AllTrim(Field2.value);
		    }
	    }
    }
    if (isNaN(Field3.value)) {
	    alert(strJSMensNumeroTelefoneValido);
	    Field3.focus();
	    Field3.select();
	    return false;
    }
    if (isBlank(AllTrim(Field3.value))) {
	    alert(strJSMensNumeroTelefoneValido);
	    Field3.focus();
	    Field3.select();
	    return false;
    }
    if (AllTrim(Field3.value).length<4) {
	    alert(strJSMensNumeroTelefoneValido);
	    Field3.focus();
	    Field3.select();
	    return false;
    }
  }
  return true;
}
/* --- */

/* TELEFONE */
function ValidTelefone2(Field1, Field2) {
  if ( (AllTrim(Field1.value).length>0)||(AllTrim(Field2.value).length>0) ) {
    if (isNaN(Field1.value)) {
	    alert(strJSMensDddValido);
	    Field1.focus();
	    Field1.select();
	    return false;
    }
    if (AllTrim(Field1.value).length<2) {
	    alert(strJSMensDddValido);
	    Field1.focus();
	    Field1.select();
	    return false;
    }
    if (isNaN(Field2.value)) {
	    alert(strJSMensNumeroTelefoneValido);
	    Field2.focus();
	    Field2.select();
	    return false;
    }
    if (isBlank(AllTrim(Field2.value))) {
	    alert(strJSMensNumeroTelefoneValido);
	    Field2.focus();
	    Field2.select();
	    return false;
    }
    if (AllTrim(Field2.value).length<7) {
	    alert(strJSMensNumeroTelefoneValido);
	    Field2.focus();
	    Field2.select();
	    return false;
    }
  }
  return true;
}
/* --- */

/* CPF */
function ValidCPF(Field) {
	var numcpf =Field.value;
	x = 0;
	soma = 0;
	dig1 = 0;
	dig2 = 0;
	texto = "";
	numcpf1="";
	len = numcpf.length; x = len -1;
	// var numcpf = "12345678909";
	for (var i=0; i <= len - 3; i++) {
		y = numcpf.substring(i,i+1);
		soma = soma + ( y * x);
		x = x - 1;
		texto = texto + y;
	}
	dig1 = 11 - (soma % 11);
	if (dig1 == 10) dig1=0 ;
	if (dig1 == 11) dig1=0 ;
	numcpf1 = numcpf.substring(0,len - 2) + dig1 ;
	x = 11; soma=0;
	for (var i=0; i <= len - 2; i++) {
		soma = soma + (numcpf1.substring(i,i+1) * x);
		x = x - 1;
	}
	dig2= 11 - (soma % 11);
	if (dig2 == 10) dig2=0;
	if (dig2 == 11) dig2=0;
	//alert ("Digito Verificador : " + dig1 + "" + dig2);
	if ((dig1 + "" + dig2) == numcpf.substring(len,len-2)) {
		return true;
	} else {
	  alert(strJSMensCpfValido);
	  Field.focus();
	  Field.select();
		return false;
	}
}
function ValidCPFTxt(numcpf) {
	x = 0;
	soma = 0;
	dig1 = 0;
	dig2 = 0;
	texto = "";
	numcpf1="";
	len = numcpf.length; x = len -1;
	// var numcpf = "12345678909";
	for (var i=0; i <= len - 3; i++) {
		y = numcpf.substring(i,i+1);
		soma = soma + ( y * x);
		x = x - 1;
		texto = texto + y;
	}
	dig1 = 11 - (soma % 11);
	if (dig1 == 10) dig1=0 ;
	if (dig1 == 11) dig1=0 ;
	numcpf1 = numcpf.substring(0,len - 2) + dig1 ;
	x = 11; soma=0;
	for (var i=0; i <= len - 2; i++) {
		soma = soma + (numcpf1.substring(i,i+1) * x);
		x = x - 1;
	}
	dig2= 11 - (soma % 11);
	if (dig2 == 10) dig2=0;
	if (dig2 == 11) dig2=0;
	//alert ("Digito Verificador : " + dig1 + "" + dig2);
	if ((dig1 + "" + dig2) == numcpf.substring(len,len-2)) {
		return true;
	} else {
	  alert(strJSMensCpfValido);
		return false;
	}
}
/* --- */

/* CNPJ */
function ValidCNPJ(Field) {
	var numero =Field.value;
	dac = numero.substring(numero.length -2,numero.length);
	numero = numero.substring(0,numero.length -2);
	var str = '' + numero;
	while (str.length < 12){
		str = '0'+str;
	}
	numero=str;
	var j = 0;
	var i = 0;
	var k = 0;
	var l = 0;
	var digito1 = 0;
	var digito2 = 0;
	var multiplicador = 5;
	var produto = 0;
	var soma01 = 0;
	var total = 0;
	for (i = 1; i <= 4; i++) {
		produto = (numero.substring(i,i - 1)) * multiplicador;
		multiplicador = multiplicador - 1;
		soma01 = soma01 + produto;
	}
	var multiplicador = 9;
	var produto = 0;
	var soma02 = 0;
	for (j = 5; j <= 12; j++)	{
		produto = (numero.substring(j,j - 1)) * multiplicador;
		multiplicador = multiplicador - 1;
		soma02 = soma02 + produto;
	}
	total = soma01 + soma02;
	resto01 = total % 11;
	if ((resto01 == 0) || (resto01 == 1)) {
		digito1 = 0;
	} else {
		digito1 = 11 - resto01;	
	}
	digito1=digito1+'';
	numero = numero + digito1
	multiplicador = 6
	produto = 0
	soma01 = 0
	total = 0
	for (k = 1; k <= 5; k++) {
		produto = (numero.substring(k,k - 1)) * multiplicador;
		multiplicador = multiplicador - 1;
		soma01 = soma01 + produto;
	}
	var multiplicador = 9;
	var produto = 0;
	var soma02 = 0;
	for (l = 6; l <= 13; l++) {
		produto = (numero.substring(l,l - 1)) * multiplicador;
		multiplicador = multiplicador - 1;
		soma02 = soma02 + produto;
	}
	total = soma01 + soma02;
	resto02 = total % 11;
	if ((resto02 == 0) || (resto02 == 1)) {
		digito2 = 0;
	} else {
		digito2 = 11 - resto02;
	}
	digito1 = digito1+'';
	if (dac == (digito1 + digito2)) {
		return true;
	} else {
	  alert(strJSMensCnpjValido);
	  Field.focus();
	  Field.select();
		return false;
	}
}
function ValidCNPJTxt(numero) {
	dac = numero.substring(numero.length -2,numero.length);
	numero = numero.substring(0,numero.length -2);
	var str = '' + numero;
	while (str.length < 12){
		str = '0'+str;
	}
	numero=str;
	var j = 0;
	var i = 0;
	var k = 0;
	var l = 0;
	var digito1 = 0;
	var digito2 = 0;
	var multiplicador = 5;
	var produto = 0;
	var soma01 = 0;
	var total = 0;
	for (i = 1; i <= 4; i++) {
		produto = (numero.substring(i,i - 1)) * multiplicador;
		multiplicador = multiplicador - 1;
		soma01 = soma01 + produto;
	}
	var multiplicador = 9;
	var produto = 0;
	var soma02 = 0;
	for (j = 5; j <= 12; j++)	{
		produto = (numero.substring(j,j - 1)) * multiplicador;
		multiplicador = multiplicador - 1;
		soma02 = soma02 + produto;
	}
	total = soma01 + soma02;
	resto01 = total % 11;
	if ((resto01 == 0) || (resto01 == 1)) {
		digito1 = 0;
	} else {
		digito1 = 11 - resto01;	
	}
	digito1=digito1+'';
	numero = numero + digito1
	multiplicador = 6
	produto = 0
	soma01 = 0
	total = 0
	for (k = 1; k <= 5; k++) {
		produto = (numero.substring(k,k - 1)) * multiplicador;
		multiplicador = multiplicador - 1;
		soma01 = soma01 + produto;
	}
	var multiplicador = 9;
	var produto = 0;
	var soma02 = 0;
	for (l = 6; l <= 13; l++) {
		produto = (numero.substring(l,l - 1)) * multiplicador;
		multiplicador = multiplicador - 1;
		soma02 = soma02 + produto;
	}
	total = soma01 + soma02;
	resto02 = total % 11;
	if ((resto02 == 0) || (resto02 == 1)) {
		digito2 = 0;
	} else {
		digito2 = 11 - resto02;
	}
	digito1 = digito1+'';
	if (dac == (digito1 + digito2)) {
		return true;
	} else {
	  alert(strJSMensCnpjValido);
		return false;
	}
}
/* --- */

/* CAMPO HIDDEN OBRIGATORIO */
function ValidRequiredHid(Field, Message) {
  if (isBlank(AllTrim(Field.value))) {
		if (Message.length >0) {
	  	alert(Message);
		}
	  return false;
  }
  return true;
}
/* --- */

/* CEP */
function ValidCEP(Field1, Field2) {
  if ( (AllTrim(Field1.value).length>0)||(AllTrim(Field2.value).length>0) ) {
    if (isNaN(Field1.value)) {
	    alert(strJSMensCepValido);
	    Field1.focus();
	    Field1.select();
	    return false;
    }
    if (AllTrim(Field1.value).length<5) {
	    alert(strJSMensCepValido);
	    Field1.focus();
	    Field1.select();
	    return false;
    }
    if (isNaN(Field2.value)) {
	    alert(strJSMensCepValido);
	    Field2.focus();
	    Field2.select();
	    return false;
    }
    if (AllTrim(Field2.value).length<3) {
	    alert(strJSMensCepValido);
	    Field2.focus();
	    Field2.select();
	    return false;
    }
	}
  return true;
}
/* --- */

/* ZIP CODE */
function ValidZipCode(Field) {
  if (AllTrim(Field.value).length>0) {
    if (isNaN(Field.value)) {
	    alert(strJSMensCepValido);
	    Field.focus();
	    Field.select();
	    return false;
    }
    if (AllTrim(Field.value).length<5) {
	    alert(strJSMensCepValido);
	    Field.focus();
	    Field.select();
	    return false;
    }
	}
  return true;
}
/* --- */


