function isRadioNull(oEntrada,sCaption)
{
	for ( var iCount = 0 ;  ; iCount ++ )
	{
	  if ( typeof( oEntrada[iCount] ) == "undefined" )
	    break;
	  if ( oEntrada[iCount].checked )
	    return true
	}
	oEntrada[0].focus()
  if ( typeof(sCaption) == "undefined" )
  	alert("Favor selecionar um(a) " + oEntrada[0].name )
  else
    alert("Favor selecionar um(a) " + sCaption)
	return false
}

function isTextNull (oCampo, sNomeCampo)
{
	if(Trim(oCampo.value) == "") {
    alert(sNomeCampo + " é obrigatório.");
    oCampo.focus()
   	return 0;
	}
	
	return 1;
}

function isComboSelected(oCbo,sCaption)
{
  if ( oCbo.options[oCbo.selectedIndex].value == "" )
  {
    oCbo.focus()
    if ( typeof(sCaption) == "undefined" )
    	alert("Favor selecionar um(a) " + oCbo.name )
    else
      alert("Favor selecionar um(a) " + sCaption)
    return false
  }
  return true
}

function isEmail(oEntrada, sNomeCampo) 
{
  var str = oEntrada.value
  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
  if ( (!r1.test(str) && r2.test(str)) )
    return true
  oEntrada.focus();
	alert(sNomeCampo+" inválido.")
	return false
}

function isCPF(oInput, sNomeCampo){

var s = oInput.value
while(s.lenght < 11)
	s = "0" + s;

var i;
var c = s.substr(0,9);
var dv = s.substr(9,2);
var d1 = 0;
	for (i = 0; i < 9; i++){
    		d1 += c.charAt(i)*(10-i);
   	}
	if (d1 == 0)
	{
	  alert(sNomeCampo+" Inválido. Verifique se há somente números.");
	  oInput.focus();
	  return false;
	}
    d1 = 11 - (d1 % 11);
    if (d1 > 9) d1 = 0;
    if (dv.charAt(0) != d1){
	  alert(sNomeCampo+" Inválido. Verifique se há somente números.");
	  oInput.focus();
	  return false;
    }
    
    d1 *= 2;
    for (i = 0; i < 9; i++){
    	d1 += c.charAt(i)*(11-i);
    }
    d1 = 11 - (d1 % 11);
    if (d1 > 9) d1 = 0;
    if (dv.charAt(1) != d1){
		alert(sNomeCampo+" Inválido. Verifique se há somente números.");
	  oInput.focus();
	  return false;
    }
    return true;
}

function isCNPJ(oInput, sNomeCampo){
	
	var CNPJ = oInput.value
	
	while(CNPJ.length<14)
		CNPJ = "0" + CNPJ
	
	if (CNPJ.length<14)
	{
	  alert(sNomeCampo+" Inválido. Verifique se há somente números.");
	  oInput.focus();
	  return false;
	}
		
	CNPJ1 = CNPJ.substr(0, 12);
	CNPJ2 = CNPJ.substr(12, 2);
	Mult = "543298765432";
	Controle = "";
	Digito = 0;
		
	for (j = 1; j <= 2; j++)
	{
		Soma = 0;
		for (i = 0; i <= 11; i++)
		{
			Soma = Soma + (parseInt(CNPJ1.substr(i, 1)) * parseInt(Mult.substr(i, 1)));
		}
		if (j == 2)
		{
			Soma = Soma + (2 * Digito);
		}
		Digito = (parseInt(Soma) * 10) % 11;
		if (Digito == 10)
		{
			Digito = 0;
		}
		Controle = Controle + Digito.toString();
		Mult = "654329876543";			
	}

	if (Controle!=CNPJ2){		
		alert(sNomeCampo+" Inválido. Verifique se há somente números.")
		oInput.focus()
		return false;
	}
	else
	{
	   return true
	}	
}

// verifica se a data informada é válida
function isData(oInput, campo)
{
	if (!isTextNull(oInput, campo)) 
	{
		return false;
	}
	else if(oInput.value.substring(0,10).length != 10)
	{
		alert("Preencha o campo " + campo + " no formato dd/mm/aaaa.");
		oInput.select();
		oInput.focus();
		return false;
	}
	else if((oInput.value.substr(2,1) != "/") || (oInput.value.substr(5,1) != "/"))
	{
		alert("Preencha o campo " + campo + " no formato dd/mm/aaaa.");
		oInput.select();
		oInput.focus();
		return false;
	}
	else if(!isNaN(parseInt(oInput.value.substr(0,2))) && !isNaN(parseInt(oInput.value.substr(3,2))) && !isNaN(parseInt(oInput.value.substr(6,4))))
	{
		var iDia,iMes,iAno;
		var dData;
		iDia = oInput.value.substr(0,2);
		iMes = oInput.value.substr(3,2);
		iAno = oInput.value.substr(6,4);
		dData = new Date(iAno,iMes - 1,iDia);
		if(iDia != dData.getDate())
		{
			alert("Preencha o campo " + campo + " com uma data válida.");
			oInput.select();
			oInput.focus();
			return false;
		}
		else if(iMes != (dData.getMonth()+1))
		{
			alert("Preencha o campo " + campo + " com uma data válida.");
			oInput.select();
			oInput.focus();
			return false;
		}
		else if(iAno != dData.getFullYear())
		{
			alert("Preencha o campo " + campo + " com uma data válida.");
			oInput.select();
			oInput.focus();
			return false;
		}			
	}
	else
	{
		alert("Preencha o campo " + campo + " no formato dd/mm/aaaa.");
		oInput.select();
		oInput.focus();
		return false;
	}
	return true;

}

// verifica se a data informada é válida
function isDataMes(oInput, campo)
{
	if (!isTextNull(oInput, campo)) 
	{
		return false;
	}
	else if(oInput.value.substring(0,7).length != 7)
	{
		alert("Preencha o campo " + campo + " no formato mm/aaaa.");
		oInput.select();
		oInput.focus();
		return false;
	}
	else if (oInput.value.substr(2,1) != "/")
	{
		alert("Preencha o campo " + campo + " no formato mm/aaaa.");
		oInput.select();
		oInput.focus();
		return false;
	}
	else if(!isNaN(parseInt(oInput.value.substr(0,2))) && !isNaN(parseInt(oInput.value.substr(3,4))) )
	{
		var iDia,iMes,iAno;
		var dData;
		iDia = "01";
		iMes = oInput.value.substr(0,2);
		iAno = oInput.value.substr(3,4);
		dData = new Date(iAno,iMes - 1,iDia);
		if(iMes != (dData.getMonth()+1))
		{
			alert("Preencha o campo " + campo + " com um mês válido.");
			oInput.select();
			oInput.focus();
			return false;
		}
		else if(iAno != dData.getFullYear())
		{
			alert("Preencha o campo " + campo + " com um ano válido.");
			oInput.select();
			oInput.focus();
			return false;
		}			
	}
	else
	{
		alert("Preencha o campo " + campo + " no formato mm/aaaa.");
		oInput.select();
		oInput.focus();
		return false;
	}
	return true;

}

function isNumber(oInput, sNomeCampo)
{

  var sInput = oInput.value

  while ( sInput.charAt(0) == "0" )
  {
    sInput = sInput.substring(1);
  }

  if ( !isNaN(sInput) )
    if ( String(new Number(sInput)) == String(sInput) )
    {

      if ( typeof(iMaxValue) != "undefined" )
      {
        if ( parseInt(oInput.value) > iMaxValue ) {
          alert("Esse campo não deve ser maior que " + String(iMaxValue))
          return false
        }
      }
      return true;
    }

	if(sNomeCampo != "")
		alert(sNomeCampo + " não é numérico")
		
  return false;
}

function Trim(sEntrada)
{
	sString = new String(sEntrada)
	for ( var iCount2 = 0;  iCount2 < sString.length ; iCount2++ )
		if ( sString.charAt(iCount2) != " ")
			break;
	for ( var iCount = sString.length - 1;  iCount > 0 ; iCount-- )
		if ( sString.charAt(iCount) != " ")
			break;
	if ( iCount2 > iCount ) 
		return ""
	return sString.substring(iCount2,iCount+1)
}

function NomeCompleto(sEntrada)
{
	var encontrouEspaco = false;
	
	sString = new String(sEntrada.value)
	for ( var iCount2 = 0;  iCount2 < sString.length ; iCount2++ ) {
		if (encontrouEspaco == true && sString.charAt(iCount2) != " ")
			return true;
		if ( sString.charAt(iCount2) == " ")
			encontrouEspaco = true;
	}
	
	alert("Preencha com seu nome completo")
	sEntrada.select();
	sEntrada.focus();
	return false;
}

function atualizaCodBanco (oForm)
{
    if (oForm.banco.options [oForm.banco.selectedIndex].value == "999")
    {
			oForm.VAR082.focus ();
    	alert ("Nro. do banco inválido");
			return 0;
    }
    else
        oForm.VAR082.value = oForm.banco.options [oForm.banco.selectedIndex].value;

    return 1;
}

function atualizaNomeBanco (oForm)
{
    var achou;
    var i;

    achou = false;

    if (oForm.VAR082.value != "")
    {
        if (isNumber(oForm.VAR082))
        {
            if (oForm.VAR082.value != 999)
            {
              i = 0;
    	            
            	while (((!(achou)            )   &&
                   		(i < oForm.banco.length)))
              {
    	            if (parseInt (oForm.VAR082.value, 10) == oForm.banco.options[i].value)
                    	achou = true;
    	            else
                    	i++;
    	        }

              if (achou)
            	    oForm.banco.selectedIndex = i;
           	}
        }
	    	else
	    	{
	      		oForm.VAR082.focus ();
       	    return 0;
        }
		}

    if (!achou)
		{
   	   oForm.banco.selectedIndex = 0;
       
       if (oForm.VAR082.value != "")
   	   {
           oForm.VAR082.value = "";
   	       
           oForm.VAR082.focus ();
   	       alert ("Nro. do banco inválido");
           return 0;
   	   }
    }
    return 1;
}

function isCheckBoxNotNullCampo( checkb, nomeCampo )
{
  var index=0;

  if ( typeof( checkb[index] ) != 'undefined' )
  {
    while ( typeof( checkb[index] ) != 'undefined' )
    {
      if ( checkb[index].checked )
      {
        return true;
      }
      index ++;
    }

    checkb[0].focus();
  }
  else
  {
    if (checkb.checked)
    {
      return true;
    }
    else
    {
      checkb.focus();
    }
  }

  alert(nomeCampo);
  return false;
}



function checkCPFCNPJ(cnpfj) {
	if (cnpfj.value.length < 11 ) {
		alert('CPF/CNPJ inválido');
		return false;
	}
	else if (cnpfj.value.length > 11 ) {
		if ( isCNPJ(cnpfj, "CNPJ") ) {
			return true;
		}
	}
	else {
		if ( isCPF(cnpfj, "CPF") ) {
			return true;
		}
	}
	return false;
}


function isCEP(cep) {
	if (cep.value.length < 8 ) {
		alert('CEP inválido');
		return false;
	}
	else {
		return true;
	}
	return false;
}

function minCarac(oInput, sNomeCampo, tam){
	var s = oInput.value
	if (s.length < tam) {
		  alert(sNomeCampo+" deve conter no mínimo " + tam + " caracteres.");
		  oInput.focus();
		  return false;
	}
	return true;
}

function comparaSenha(oInput, oInput2){
	var s = oInput.value
	var t = oInput2.value
	if (s != t) {
		  alert("As senhas não conferem. Redigite-as");
		  oInput.value = "";
		  oInput2.value = "";
		  oInput.focus();
		  return false;
	}
	return true;
}

function pula(campo,maximo,proximo) {
	if(campo.value.length >= maximo) {
		document.getElementById(proximo).focus();
	}
}
