cAno.substring(2,4)// funcoes genericas

function Check(AMsg, AValue, AObj)
{
  if (!AValue) {
    alert(AMsg);
	if (!(AObj  == null)) {
	  if ((AObj.type == 'text') || (AObj.type == 'password') || (AObj.type == 'select-one') || (AObj.type == 'select-multiple'))
	  {
		  if (!((AObj.type == 'select-one') || (AObj.type == 'select-multiple')))
      {
        AObj.select();
      }
      AObj.focus();
	  }
	}
	return false;
  }
  else
  {
    return true;
  }
}

function checaCNPJ (CNPJ) {
	if (CNPJ.length != 14 || CNPJ == "00000000000000")
		return false;
 	nTam = CNPJ.length - 1
 	CNPJAUX = CNPJ.substr(0,12)
 	digCNPJ = CNPJ.substr(12,2)
	cMultiplic = "6543298765432" 	
	if (CNPJ.length != 14 ) return false;
	soma1 = soma2 = 0;
	digi1 = digi2 = 0;
	
	for (i=0; i < nTam ; i ++) {
		if (i < 12) soma1 += parseInt(CNPJAUX.charAt(i)) * (parseInt(cMultiplic.charAt( i + 1)));
		
		if (i == 12) {
		digi1 = (soma1 * 10) % 11
		if ((digi1 == 10 || digi1 == 11)) digi1 = 0;
		CNPJAUX =  CNPJAUX + digi1; }		
		soma2 += parseInt(CNPJAUX.charAt(i)) * (parseInt(cMultiplic.charAt( i )));
	}	
	digi2 = (soma2 * 10) % 11

   if (digi2 == 10 || digi2 == 11) digi2 = 0;
	if (digCNPJ == '' + digi1 + '' + digi2 + '' ) return true;
	return false;
}

function checaCPF (CPF) {
	if (CPF.length != 11 || CPF == "00000000000" || CPF == "11111111111" ||
		CPF == "22222222222" ||	CPF == "33333333333" || CPF == "44444444444" ||
		CPF == "55555555555" || CPF == "66666666666" || CPF == "77777777777" ||
		CPF == "88888888888" || CPF == "99999999999")
		return false;
	soma = 0;
	for (i=0; i < 9; i ++)
		soma += parseInt(CPF.charAt(i)) * (10 - i);
	resto = 11 - (soma % 11);
	if (resto == 10 || resto == 11)
		resto = 0;
	if (resto != parseInt(CPF.charAt(9)))
		return false;
	soma = 0;
	for (i = 0; i < 10; i ++)
		soma += parseInt(CPF.charAt(i)) * (11 - i);
	resto = 11 - (soma % 11);
	if (resto == 10 || resto == 11)
		resto = 0;
	if (resto != parseInt(CPF.charAt(10)))
		return false;
//      alert('Correto');
	return true;
 }

var OldLen = 0
function ChecaMensagem(){
	var texto = document.forms['MyForm'].elements['DadosPre'].value;
	var Len = texto.length;
	if ((Len > 10) && (Len > OldLen)) {
		alert('A mensagem não pode ter no máximo de 120 caracteres!\nO excedente será desconsiderado.');
	}
	OldLen = texto.length;
}

function CompletaZeros (sNum, iTam){
    var num, str;
    if (!IsNumber(sNum)) sNum = '0';
    num = sNum - 0;
    str = "000000000000000000000" + num;
    return str.substring (str.length - iTam, str.length);
}
function ConsultaCodigo(){
	var novaPagina = "Cnae.Asp";
	window.open(novaPagina,"CodigoDeAtividade","width=600,height=500,top=15,left=70,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=no");
}
function ConsultaTbCalculo(cName){
   var d=new Date(); 
   var cAno = d.getFullYear();
   cAno = cAno.toString();
	cAno = cAno.substring(2,4);
	var novaPagina = cName + cAno + ".htm";
	window.open(novaPagina,"TabeladeCalculo","width=600,height=500,top=15,left=70,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,copyhistory=no");
}

function DuasCasas( num ){
//recebe um numero float com ponto e infinitas casas e retorna uma string com duas casas e sem nenhuma vírgula
// Exemplo recebe 158.5614235488888 e devolve: "15856"
   var str = Math.round( num * 100 ).toString();
   return str.substring( 0, str.length - 2) + str.substring( str.length - 2, str.length );
}

function IsBlank(AValue)
{
  return trim(AValue).length == 0;
}

function IsNumber(AValue)
{
 return (trim(AValue).search('\[^\x2d-\x39]') < 0) && (!IsBlank(AValue));
}

function IsValidEmail(AEmail) 
{
  return trim(AEmail).search('^([\x30-\x39\x41-\x5a\x61-\x7a\x2e\x5f\x2d]+@+[\x30-\x39\x41-\x5a\x61-\x7a\x2e\x5f\x2d]+([\x2e]{1}[\x30-\x39\x41-\x5a\x61-\x7a\x5f]{1,}){1,})$') == 0;
}

function IsValidCEP(ACEP)
{
  return trim(ACEP).search('^[0123456789\x2d]{1,}$') == 0;
}

function IsValidEmailList(AEmailList)
{
  return AEmailList.search('^([\x30-\x39\x41-\x5a\x61-\x7a\x2e\x5f\x2d]+@+[\x30-\x39\x41-\x5a\x61-\x7a\x2e\x5f\x2d]+([\x2e]{1}[\x30-\x39\x41-\x5a\x61-\x7a\x5f]{1,}){1,})){1,})+(\x3b){0,})$') == 0;
}

function isLeapYear(aYear)
{
  return ((aYear % 4) == 0) && (((aYear % 100) != 0) || ((aYear % 400) == 0));
}

function IsPw2PW(Pw1, Pw2)
{
  if (Pw1 == Pw2) 
  {
    return true;
  }
  else
  {
    return false;
  }
}

function isValidDate(aDay, aMonth, aYear)
{
  return !((aDay > 30) && ((aMonth == 4) || (aMonth == 6) || (aMonth == 9) || (aMonth == 11)))
      && !((aMonth == 2) && ((aDay > 29) || ((aDay == 29) && !(isLeapYear(aYear)))))
      && !((aDay > 31) && ((aMonth == 1) || (aMonth == 3) || (aMonth == 5) || (aMonth == 7) || (aMonth == 8) || (aMonth == 10) || (aMonth == 12)))
      && !(aDay == 0) && !(aMonth == 0)  && !(aMonth > 12)
}

function MenuCalc (link,cAno,Min) {
// link = nome do arquivo sem o ano // cAno = qual o ano da tabela // Max = Ano da ultima tabela // Min = ano da primeira tabela
Max = '2006'; Min = '2003';
if ( link == 'CalcCnt' ) { Max = '2012'; Min = '2003';}
if ( link == 'CalcInf' ) { Max = '2012'; Min = '2002';}
if ( link == 'Calculo' ) { Max = '2012'; Min = '1997';}
if ( link == 'CalcInd' ) { Max = '2012'; Min = '1998';}
  for (i=Max; i >= Min ; i --){
	  cSele=''; if (i == cAno) cSele='selected '; str = "00" + i; str = str.substr(4,2); document.write('<option ' + cSele +'value=' + link + str + '.htm>' + i + '</option>' );
	  }
}

function ParcAdicionar(nCapital, nAliqAnt, nAliqAtu, nArred, TnMvr) {
   var Parcel = 0;
   Parcel = (parseInt(((TnMvr * nCapital) * nAliqAnt) + nArred) / 100) - (parseInt(((TnMvr * nCapital) * nAliqAtu) + nArred) / 100);
   return Parcel;
}

function popup(aURL, aWidth, aHeight, aScroll)
{
  if (!aScroll) 
  {
    aScroll = 'no';
  }
  else
  {
    aScroll = 'yes';
  }
  window.open(aURL, 'popup', 'toolbar=no,menubar=no,status=no,location=no,scrollbars=' + aScroll +',resize=no,height=' + aHeight + ',width=' + aWidth + ',left=200,top=120').focus();
}

function trim(aValue)
{
  return aValue != null?aValue.replace(/^[\s]+/, '').replace(/[\s]+$/, ''):'';
}

function SoNumero (cString){
	var nTam =	cString.length
	cStringAux = ''
	for (i=0; i < nTam ; i ++){	
	   nTeste = parseInt(cString.charAt(i))  
	   if (!isNaN( nTeste) )
 		   cStringAux += parseInt(cString.charAt(i)); }
	return cStringAux;
}

function ValidaCpfCnpj(cNumero){
  var lRetorno;
  cNumero = SoNumero(cNumero);
  if (cNumero.length == 11){ 
  	 lRetorno = checaCPF(cNumero);
  }      
  else{
     cNumero = CompletaZeros (cNumero, 14);
        lRetorno = checaCNPJ (cNumero);
  }

  if (!(lRetorno)) Alert("Cpf/Cnpj incorreto");
  return lRetorno;
}
//*************************************************************
// funcoes especificas

function ConfereConta(cAux) {
  	if (cAux.length != 16 ) { return false; }
   var nI, cMultiplic, nCont1, nControle, nDig1, nTam;
   nCont1 = nControle = nDig1 = 0;
   cMultiplic = "876543298765432"
   nTam = 14
   nControle = cAux.charAt(nTam + 1)
   for (nI = 0; nI <= nTam; nI ++){
      nCont1 +=  parseInt(cAux.charAt(nI)) * parseInt(cMultiplic.charAt(nI))
  }
   nDig1 = (nCont1 * 10) % 11
   if (nDig1 > 9)  nDig1 = 0;
   return (parseInt(nDig1) == parseInt(nControle)) ? true: false
}

function DigitoSind(cString){
   var nI,nDigito, cMultiplic = "78923456789";
   if (cString.length != 12 ) { return false; }

   cString = SoNumero(cString);
   nDigito = 0;
   for (nI = 0; nI < 11; nI ++){// '3 '48 59
      nDigito +=  parseInt(cString.charAt(nI)) * parseInt(cMultiplic.charAt(nI));
	}
   nDigito  = nDigito % 11;
   if (nDigito  > 9)  nDigito  = 0;
   return (parseInt(nDigito) == parseInt(cString.charAt(11))) ? true: false
}

function CodiCliConf (cAux) {
 	CodicAux= cAux.substr(0,2) + cAux.substr(4,2);
 	DigicAux = cAux.substr(2,2);
	cMultiplic = "76543" ;	
	if (cAux.length != 6 ) return false;
	soma1 = soma2 = 0;
	digi1 = digi2 = 0;
	
	for (i=0; i < 4 ; i ++) {soma1 += parseInt(CodicAux.charAt(i)) * (parseInt(cMultiplic.charAt( i + 1)));
                        	}	

	digi1 = (soma1 * 10) % 11;
	if (digi1 == 10 || digi1 == 11) digi1 = 0;
	CodicAux=  cAux.substr(0,2)  + digi1 + cAux.substr(4,2)  ; 
	for (i=0; i < 5 ; i ++) {soma2 += parseInt(CodicAux.charAt(i)) * (parseInt(cMultiplic.charAt( i )));
                        	}	
	digi2 = soma2  % 11;
   if (digi2 == 10 || digi2 == 11) digi2 = 0;
   if (DigicAux == '' + digi1 + '' + digi2 + '' ) return true;
   return false;
}

function CodiAssist (cAux) {
 	CodicAux= cAux.substr(0,2) + cAux.substr(4,2);
 	DigicAux = cAux.substr(2,2);
	cMultiplic = "76543" ;	
	if (cAux.length != 6 ) return false;
	soma1 = soma2 = 0;
	digi1 = digi2 = 0;
	
	for (i=0; i < 4 ; i ++) {soma1 += parseInt(CodicAux.charAt(i)) * (parseInt(cMultiplic.charAt( i + 1)));
                        	}	

	digi1 = (soma1 * 10) % 11;
	if (digi1 == 10 || digi1 == 11) digi1 = 0;
	CodicAux=  cAux.substr(0,2)  + digi1 + cAux.substr(4,2)  ; 
	for (i=0; i < 5 ; i ++) {soma2 += parseInt(CodicAux.charAt(i)) * (parseInt(cMultiplic.charAt( i )));
                        	}	
	digi2 = (soma2 +1)  % 11;
   if (digi2 == 10 || digi2 == 11) digi2 = 0;
   if (DigicAux == '' + digi2 + '' + digi1 + '' ) return true;
   return false;
}

function CodiGrcs (cAux) {
 	CodicAux= cAux.substr(0,2) + cAux.substr(4,2);
 	DigicAux = cAux.substr(2,2);
	cMultiplic = "98765";
	if (cAux.length != 6 ) return false;
	soma1 = soma2 = 0;
	digi1 = digi2 = 0;
	
	for (i=0; i < 4 ; i ++) {soma1 += parseInt(CodicAux.charAt(i)) * (parseInt(cMultiplic.charAt( i + 1)));
                        	}	

	digi1 = (soma1 * 10) % 11;
	if (digi1 == 10 || digi1 == 11) digi1 = 0;
	CodicAux=  cAux.substr(0,2)  + digi1 + cAux.substr(4,2)  ; 
	for (i=0; i < 5 ; i ++) {soma2 += parseInt(CodicAux.charAt(i)) * (parseInt(cMultiplic.charAt( i )));
                        	}	
	digi2 = soma2  % 11;
   if (digi2 == 10 || digi2 == 11) digi2 = 0;
//       alert(CodicAux.substr(0,2) + '' + digi1 + '' + digi2 + '' + cAux.substr(4,2));
   if (DigicAux == '' + digi1 + '' + digi2 + '' ) return true;
   return false;
}

function ConfereConvenio(cCodigo, cBanco)
{
   if (cBanco == "103") {
//	  if (Confere103(cCodigo)) return true;
      return true;
//      return false;
      }
   if (cBanco == "104") {
	  if (ConfereConta(cCodigo)) return true;
      return false;
      }
    
   if (cBanco == "027") {
	  if (Confere027(cCodigo)) return true;
      return false;
      }

   if (cBanco == "237") {
	  if (Confere237(cCodigo)) return true; return false;
      }

   if (cBanco =="341") {
//	  if (Confere341(cCodigo)) return true;
      return true;
      }

}

function Confere027(cCodigo){
   var nI, digi1, digi2, nSoma, cTabe = "56789";
   var cNumConvenio = cCodigo.substr(0,5);
   var cDVConvenio = cCodigo.substr(5,2);
   if (cCodigo.length != 7) return false;

   nSoma = 0;
   for (nI=0; nI < cNumConvenio.length; nI ++)
       nSoma +=  parseInt(cNumConvenio.charAt(nI)) * parseInt(cTabe.charAt(nI));
   cTabe = "4" + cTabe;
   digi1 = nSoma % 11;
   if (digi1 == 10 ) digi1 = 0;
   cNumConvenio = cNumConvenio + digi1;
   nSoma = 0;
   for (nI=0; nI < cNumConvenio.length; nI ++) 
       nSoma += parseInt(cNumConvenio.charAt(nI)) * parseInt(cTabe.charAt(nI));
   digi2 = nSoma % 11;
   if (digi2 == 10 ) digi2 = 0;
   if (cDVConvenio == '' + digi1 + '' +  digi2 + '')  return true; 
   return false;
}

function Confere237(cCodigo){
   var nI, digi1, digi2, nSoma, cTabe = "9456789", nTam;
   cCodigo = cCodigo.substr(2,(cCodigo.length)-2);	
   var cNrAg = cCodigo.substr(0,4);
   var cDVAg = cCodigo.substr(4,1);
   var cNrConta = cCodigo.substr(5,7);
   var cDVConta = cCodigo.substr(12,1);
   if (cCodigo.length != 13) return false;

   nTam = 7;
   nSoma = 0;
   for (nI=0; nI < nTam; nI ++)
       nSoma +=  parseInt(cNrConta.charAt(nI)) * parseInt(cTabe.charAt(nI));
   digi1 = nSoma % 11;
   if (digi1 == 10 ) digi1 = 0;
   nTam = 4;
   cTabe = cTabe.substr(3,4);
   nSoma = 0;
   for (nI=0; nI < nTam; nI ++)
       nSoma +=  parseInt(cNrAg.charAt(nI)) * parseInt(cTabe.charAt(nI));
   digi2 = nSoma % 11;
   if (digi2 == 10 ) digi2 = 0;
   if ((cDVAg == '' + digi2 + '' ) && (cDVConta == '' + digi1 + '' ) )  return true; 
   return false;
}

