
/* Hover em LI no IExplorer */
startList = function()
{
    if (document.all&&document.getElementById)
    {
        navRoot = document.getElementById("nav");
        for (i=0; i<navRoot.childNodes.length; i++)
        {
            node = navRoot.childNodes[i];
            if (node.nodeName=="LI")
            {
                node.onmouseover=function()
                {
                    this.className+=" over";
                }
                node.onmouseout=function()
                {
                    this.className=this.className.replace
                    (" over", "");
                }
            }
        }
    }
}
window.onload=startList;



function edata(Dia, Mes, Ano)
{  

if(Dia == undefined) { Dia = ''; }
if(Mes == undefined) { Mes = ''; }
if(Ano == undefined) { Ano = ''; }

if (trim(Dia)=='' || trim(Mes)=='' || trim(Ano)=='')
   {  return false;
	}
	else if (isNaN(Dia) || isNaN(Mes) || isNaN(Ano))
	{  return false;
	}
	else
	{	if ((Mes==1) || (Mes==3) || (Mes==5) || (Mes==7) || (Mes==8) || (Mes==10) || (Mes==12))
		{  if (Dia > 31)
			{  return false;
			}
		}
		else if ((Mes==4) || (Mes==6) || (Mes==9) || (Mes==11))
		{  if (Dia > 30)
			{  return false;
			}
		}
		else if (Mes==2)
		{  if (Dia > 29)
			{  return false;
			}
			else if ((Dia==29) && ((Ano/4)!=parseInt(Ano/4)))
			{  return false;
			}
		}
		else
		{  return false;
		}
	}
	
	return true;
}

function enumero(Valor)
{  var Posicao;
   var Numeros;
   
	if (trim(Valor)=='')
   {  return false;
	}
	
   Numeros="1234567890";

   for(Posicao=0; Valor.length > Posicao; Posicao++)
   {   if (Numeros.indexOf(Valor.charAt(Posicao))==-1)
       {  return false;
       }
   }
   
   return true;
}

function emoeda(Valor)
{  var Posicao;
   var Numeros;

   // *** Testando os caracteres v�lidos ***
   Numeros="1234567890,";

   for(Posicao=0; Valor.length > Posicao; Posicao++)
   {   if (Numeros.indexOf(Valor.charAt(Posicao))==-1)
       {  return false;
       }
   }
   
   // *** Testando o separador de decimais ***
   
   if (Valor.indexOf(",")!=Valor.lastIndexOf(","))
   {  return false
   }

   return true;
}

function trim(String)
{
    return String.replace(/^\s+|\s+$/g,"");
}


function AcertaNumero(Valor)
{  var Retorno;
   var Posicao;

   Retorno="";

   // *** Tirando os espa�os do in�cio ***
   for(Posicao=0; Valor.length > Posicao; Posicao++)
   {  if (Valor.charAt(Posicao)!=".")
      {  Retorno +=",";
      }
      else if (Valor.charAt(Posicao)!=",")
      {  Retorno +=".";
      }
      else
      {  Retorno +=Valor.charAt(Posicao)
      }
   }

   return Retorno;
}

function CNPJ(cnpj,dv)
{  var D1;        // Valor do primeiro digito
   var D2;        // Valor do segundo digito
   var Fator;     // Fator de multiplica��o (2,3,4,5,6,7,8,9,2,3,...)
   var Contador;
   var Valor;     //
   var Temp;


   // *** Calculando o 1� D�gito ***
   Fator=2;
   Valor=0;
   Temp=String(cnpj);
   
   for (Contador=(Temp.length-1); Contador >= 0; Contador--)
   {  Valor += parseInt(Temp.charAt(Contador)) * Fator;
      if (Fator==9)
      {  Fator=2;
      }
      else
      {  Fator++;
      }
   }
   
   Valor %= 11;

   if (Valor==0 || Valor==1)
   {  D1=0;
   }
   else
   {  D1=11 - Valor;
   }
   
   // *** Calculando o 2� D�gito ***
   Fator=2;
   Valor=0;
   Temp=String(cnpj) + String(D1);

   for (Contador=(Temp.length-1); Contador >= 0; Contador--)
   {  Valor += Temp.charAt(Contador) * Fator;
      if (Fator==9)
      {  Fator=2;
      }
      else
      {  Fator++;
      }
   }

   Valor %= 11;

   if (Valor==0 || Valor==1)
   {  D2=0;
   }
   else
   {  D2=11 - Valor;
   }

   // *** Verificando se os d�gitos passados s�o corretos ***
   if (parseInt(dv)==((parseInt(D1) * 10) + parseInt(D2)))
   {  return(1);
   }
   else
   {  return(0);
   }
}

function CPF(cpf,dv)
{  var D1;        // Valor do primeiro digito
   var D2;        // Valor do segundo digito
   var Fator;     // Fator de multiplica��o (2,3,4,5,6,7,8,9,2,3,...)
   var Contador;
   var Valor;     //
   var Temp;


   /*** Verificando se os dados passados n�o estam vazios e s�o n�meros ***/
	if (trim(cpf)=='' || trim(dv)=='')
   {  return false;
	}
	else if (isNaN(cpf) || isNaN(dv))
	{  return false;
	}


   // *** Calculando o 1� D�gito ***
   Fator=2;
   Valor=0;
   Temp=String(cpf);

   for (Contador=(Temp.length-1); Contador >= 0; Contador--)
   {  Valor += parseInt(Temp.charAt(Contador)) * Fator;
      if (Fator==11)
      {  Fator=2;
      }
      else
      {  Fator++;
      }
   }

   Valor %= 11;

   if (Valor==0 || Valor==1)
   {  D1=0;
   }
   else
   {  D1=11 - Valor;
   }

   // *** Calculando o 2� D�gito ***
   Fator=2;
   Valor=0;
   Temp=String(cpf) + String(D1);

   for (Contador=(Temp.length-1); Contador >= 0; Contador--)
   {  Valor += Temp.charAt(Contador) * Fator;
      if (Fator==11)
      {  Fator=2;
      }
      else
      {  Fator++;
      }
   }

   Valor %= 11;

   if (Valor==0 || Valor==1)
   {  D2=0;
   }
   else
   {  D2=11 - Valor;
   }

   // *** Verificando se os d�gitos passados s�o corretos ***
   if (parseInt(dv)==((parseInt(D1) * 10) + parseInt(D2)))
   {  return(1);
   }
   else
   {  return(0);
   }
}

function Dec2Hex16(Valor)
{  var D1 = parseInt(Valor / 16);
	var D2 = Valor % 16
	var RD1;
	var RD2;
	
	switch (D1)
	{  case 10:
			RD1='A';
			break;
		case 11:
			RD1='B';
			break;
		case 12:
			RD1='C';
			break;
		case 13:
			RD1='D';
			break;
		case 14:
			RD1='E';
			break;
		case 15:
			RD1='F';
			break;
		default:
			RD1=D1.toString();
			break;
	}
	
	switch (D2)
	{  case 10:
			RD2='A';
			break;
		case 11:
			RD2='B';
			break;
		case 12:
			RD2='C';
			break;
		case 13:
			RD2='D';
			break;
		case 14:
			RD2='E';
			break;
		case 15:
			RD2='F';
			break;
		default:
			RD2=D2.toString();
	}
	
	return RD1 + RD2
}
	
function Unicode(Valor)
{
        var Contador=0;
	var Caracter;
	var Codificado='';
	var Codigo;

	for (Contador=0; Contador < Valor.length; Contador++)
	{  Codigo=Valor.charCodeAt(Contador);
	
		if ((Codigo >= 65 && Codigo <= 90) || (Codigo >= 97 && Codigo <= 122) || (Codigo >= 48 && Codigo <= 57))
		{  Codificado += Valor.charAt(Contador);
		}
		else if (Codigo==32)
		{  Codificado += '+';
		}
		else
		{  Codificado += '%' + Dec2Hex16(Codigo);
		}
	}
	
	return Codificado;
}

function isValidEmail(str) {

   return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);

}

function getContentFromIframe(iFrameName)
{

    var myIFrame = document.getElementById(iFrameName);
    var content = myIFrame.contentWindow.document.body.innerHTML;

    return content;
    //Do whatever you need with the content

}

function rEs(tO) { var i, n; if (!tO) { return false; }
  if (!tO.nodeName) { if (tO.length) for (n=tO.length; n--;) rEs(tO[n]); }
  else tO.parentNode.removeChild(tO);
}


function retirarAcentos(campo)
{
               var texto = campo.value;
               var acento = 'áàãâäéèêëíìîïóòõôöúùûüçÁÀÃÂÄÉÈÊËÍÌÎÏÓÒÕÖÔÚÙÛÜÇ';
               var semacento = 'aaaaaeeeeiiiiooooouuuucAAAAAEEEEIIIIOOOOOUUUUC';
               var nova='';

               for (i = 0; i < texto.length; i++) {
                     if (acento.search(texto.substr(i, 1)) >= 0) {
                          nova += semacento.substr(acento.search(texto.substr(i, 1)), 1);
                  }
                     else {
                         nova += texto.substr(i, 1);
                     }
               }

               campo.value = nova;
}

function isArray(o){
	return(typeof(o.length)=="undefined")?false:true;
}

function sleep(milliseconds)
{
    var start = new Date().getTime();
    for (var i = 0; i < 1e7; i++)
    {
        if ((new Date().getTime() - start) > milliseconds)
            break;

    }
}



function textareaMaxLength(Object, MaxLen)
{
  return (Object.value.length <= MaxLen);
}
 
