/* Windows and Browsers Control (Windows.js)
  
  ** BIBLIOTECA ********************************
  *  Funções referente a janelas no site	   *
  **********************************************
  
  Última alteração: 26/03/2004
  Pelo usuário:		Dorival T. Neto
*/



// ******** WINDOWS DO EDUCACIONAL
function shSeminario(url){
   window.open(url,'BMFEDUCATIONHND','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=720,height=450')
}

//*********************************

function CCambioChart(graf)
{
    if(graf==''){graf=1}
	switch(graf){
		case 1:	window.open('http://www2.bmf.com.br/pages/portal/portal/clearing1/cambio/cotacoes/GraficoGarantias.asp?caminho=Clearing de Câmbio&type=popup','BMFHNDCCCHARTBR', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=640,height=480'); break;
		case 2:	window.open('http://www2.bmf.com.br/pages/portal/portal/clearing2/cambio/cotacoes/GraficoGarantias2.asp?caminho=FX Clearinghouse&type=popup','BMFHNDCCCHARTUS', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=660,height=480'); break;
		case 3:	window.open('http://www2.bmf.com.br/pages/portal/portal/clearing3/cambio/cotacoes/GraficoGarantias3.asp?caminho=Clearing de Cambio&type=popup','BMFHNDCCCHARTES', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=640,height=480'); break;
		default: window.open('http://www2.bmf.com.br/pages/portal/portal/clearing1/cambio/cotacoes/GraficoGarantias.asp?caminho=Clearing de Câmbio&type=popup','BMFHNDCCCHARTBR', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no,width=640,height=480');
	}
}

function OpenGalleryBr(){
	window.open('/portal/pages/institucional1/Galeria_fotos/index.asp?type=popup&caminho=Galeria%20de%20Fotos', 'BMFHNDGALLBR', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=640,height=480');
}
function OpenGalleryUs(){
	window.open('/portal/pages/institucional2/Galeria_fotos/index.asp?type=popup&caminho=Photo%20Gallery', 'BMFHNDGALLBR', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=640,height=480');
}
function OpenGalleryEs(){
	window.open('/portal/pages/institucional3/Galeria_fotos/index.asp?type=popup&caminho=galeria de fotos', 'BMFHNDGALLBR', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=640,height=480');
}

function OpenWinGeneric(url,nome,h,w){
	window.open(url, 'BMF' + nome, 'toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=' + w + ',height=' + h);
}
function OpenWindow(url,nome,h,w){
	window.open(url, 'BMF' + nome, 'toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=' + w + ',height=' + h);
}


function OpenGaleriaDestaque(url){
    window.open(url,'BMFGALLERYDESTAQUE','toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,height=460,width=780')
}

function OpenBoletim(url,path){
	if(url.indexOf("?") != 0)
	{
		url = url + "?";
	}
	else 
	{
		url = url + "&";
	}
	window.open(url+'type=popup&caminho='+path, 'BMFHNDBOLBR', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=800,height=500');
}
function OpenVendor(url,path){
	if(url.indexOf("?") != 0)
	{
		url = url + "?";
	}
	else 
	{
		url = url + "&";
	}
	window.open(url+'type=popup&caminho='+path, 'BMFHNDBOLBR', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=800,height=500');
}

function OpenVendor2(url){
	window.open(url+'?type=popup&caminho=Relação de Códigos Vendors e BM%26F', 'BMFHNDBOLBR', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=800,height=500');
}



function OpenBoletim1(url,path){
	if(url.indexOf("?") != 0)
	{
		url = url + "?";
	}
	else 
	{
		url = url + "&";
	}
	window.open(url, 'BMFHNDBOLBR', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=800,height=480');
}

function OpenBoletim2(url,path){
	if(url.indexOf("?") != 0)
	{
		url = url + "?";
	}
	else 
	{
		url = url + "&";
	}
	window.open(url+'type=popup&caminho='+path, 'BMFHNDBOLBR', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=800,height=480');
}

function OpenBoletimRes(url,W,H){
	window.open(url+'?type=popup', 'BMFHNDBOLBR', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width='+W+',height='+H);
}

function OpenBoletim1(url){
	window.open(url, 'BMFHNDBOLBR', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=800,height=480');
}

function OpenTermo(){
	window.open('/portal/pages/clearing1/derivativos/agropecuarios/internacionalizacao/oficios/InternacionalizacaoContratoAdesao.asp', 'BMFOPENTERMO', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=800,height=480');
}

function OpenTermoPF(){
	window.open('/portal/pages/clearing1/derivativos/agropecuarios/internacionalizacao/oficios/InternacionalizacaoTermoAdesaoPF.asp', 'BMFOPENTERMOF', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=800,height=480');
}

function OpenTermoPJ(){
	window.open('/portal/pages/clearing1/derivativos/agropecuarios/internacionalizacao/oficios/InternacionalizacaoTermoAdesaoPJ.asp', 'BMFOPENTERMOJ', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=800,height=480');
}

// Organograma 3 idiomas
	function OpenOrg(idiom){
		if(idiom=='1')
		{
			window.open('/portal/pages/institucional1/Conheca_bmf/organograma.asp?type=popup&caminho=Organograma', 'BMFHNDORG', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=750,height=580');
		}
		else if(idiom=='2')
		{
			window.open('/portal/pages/institucional2/conheca_bmf/organograma.asp?type=popup&caminho=Organizational Chart', 'BMFHNDORG', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=750,height=580');
		}
		else if(idiom=='3')
		{
			window.open('/portal/pages/institucional3/conheca_bmf/organograma.asp?type=popup&caminho=Organigrama', 'BMFHNDORG', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=750,height=580');
		}
	}

//-----------------------

function OpenBoletimOnline(idioma,bd)
{
	var page;
	page = "http://www2.bmf.com.br/pages/portal/portal/boletim" + idioma + "/BoletimOnline" + bd + idioma + ".asp";
	window.open(page, 'BMFHNWOBO', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=725,height=480');	
}
function OpenPop(page)
{
	window.open(page, 'BMFHNWPOPIMG', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,height=50,width=50');
}

function foco(){window.focus();}

function OpenPopHome(pagina, nome){
	window.open(pagina, nome, 'toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=313,height=285');
}


//---------------------- SECURITIES

//function opensecurities(){  // V 1.0
//	window.open('/2004/pages/securities/alerta.asp', 'Securities', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=212,height=231');
//}

function opensecurities(i){  // V 2.0
	switch(i){
		case 2:	window.open('http://www.bmf.com.br/2004/pages/securities/alerta.asp', 'Securities', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=280,height=230'); break;
		case 3:	window.open('http://www.bmf.com.br/2004/pages/securities/alerta3.asp', 'Securities', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=280,height=230'); break;
		default: window.open('http://www.bmf.com.br/2004/pages/securities/alerta.asp', 'Securities', 'toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=280,height=230');
	}
	// Se não for passado parâmetros, este abre um alerta em inglês
}


//* * * * * * * * * * * * * * * * * I N Í C I O   D A   M Á S C A R A * * * * * * * * * * * * * * * * * * * * * * * * * * 

function mask_data_home(ini,fim,decimal,theForm) {
  var keypressed = window.event.keyCode;
  var ElementText  = window.event.srcElement.value ;
  if (keypressed == 45){
    if (ElementText.length!=0) {
      window.event.keyCode = 0;
      return;
    }
  }
  if (keypressed == 46){
    if (ElementText.length!=0) {
      window.event.keyCode = 0;
      return;
    }
  }

  else
  {
    if (decimal)
	{
    	var Reg = /\./g;
      	if (Reg.test(ElementText))
		{
			if( (keypressed >= 48 && keypressed <= 57) == false)
			{
			  window.event.keyCode = 0;
			  return;
			}
		}
		else
		{
			if ((keypressed >= 48 && keypressed <= 57 || keypressed == 46) == false) {
        	window.event.keyCode = 0;
          	return;
        }
      }
    }
    else
	{
    	if ((keypressed >= 48 && keypressed <= 57) == false)
		{
			window.event.keyCode = 0;
    	    return;
	    }
    }
  }
 //Para os gráficos que possuem apenas uma data
 //javascript:mask_data('2','0',true,theForm)
  if (ini == 2)
  {
	if (ElementText.length == 2 || ElementText.length == 5)
	{
		theForm.txtData.value += '/';
	}
  }
}
function keypress_number(decimal) {
  var keypressed = window.event.keyCode;
  var ElementText  = window.event.srcElement.value ;
  if (keypressed == 45){
    if (ElementText.length!=0) {
      window.event.keyCode = 0;
    }
  }
  else {
    if (decimal) {
      var Reg = /\./g;
      if (Reg.test(ElementText)) {
        if( (keypressed >= 48 && keypressed <= 57) == false) {
          window.event.keyCode = 0;
        }
      }
      else {
        if ((keypressed >= 48 && keypressed <= 57 || keypressed == 46) == false) {
          window.event.keyCode = 0;
        }
      }
    }

    else {
      if ((keypressed >= 48 && keypressed <= 57) == false) {
        window.event.keyCode = 0;
      }
    }
  }
}

function CkDate(campo,dData)
{

   var data = dData;


   if(dData == "" )
      return false;
   else
	{
      if (data.length < 8)
         return false;

      if (data.length == 8)
      {
         dia1 = data.substring(0,1);
		   if (dia1.substring(0,1) < "0" || "9" < dia1.substring(0,1))
            return false;

         mes1 = data.substring(2,3);
		   if (mes1.substring(0,1) < "0" || "9" < mes1.substring(0,1))
            return false;

		   ano1 = data.substring(4,8)
		   for (var i = 0;i<4;i++)
			   if (ano1.substring(i,i+1) < "0" || "9" < ano1.substring(i,i+1))
               return false;

		   if(data.substring(1,2)!= "/" || data.substring(3,4) != "/")
            return false;

		   if (dia1<1 || dia1>9)
            return false;

         if (mes1<1 || mes1>9)
            return false;

		   if (ano1<1900 || ano1>2080)
			return false;

		   if (mes1==2)
			   if (ano1%4==0)
            {
				   if (dia1>29)
                  return false;
            }
			   else
				   if (dia1>28)
                  return false;

         campo.value = "0" + data.substring(0,1) + "/" + "0" + data.substring(2,3) + "/" + data.substring(4,8);

      }
      else
		   if (data.length == 9)
         {
            if (data.substring(1,2) == "/")
            {
               dia1 = data.substring(0,1);
     		      if (dia1.substring(0,1) < "0" || "9" < dia1.substring(0,1))
                  return false;

		         mes1 = data.substring(2,4);
		         if (mes1.substring(0,1) < "0" || "1" < mes1.substring(0,1) || mes1.substring(1,2) < "0" || "9" < mes1.substring(1,2))
                  return false;

		         ano1 = data.substring(5,9)
		         for (var i = 0;i<4;i++)
			         if (ano1.substring(i,i+1) < "0" || "9" < ano1.substring(i,i+1))
                     return false;

		         if(data.substring(1,2)!= "/" || data.substring(4,5) != "/")
                  return false;

		         if (dia1<1 || dia1>9)
                  return false;

               if (mes1<1 || mes1>12)
                  return false;

		         if (ano1<1900 || ano1>2080)
                  return false;

     		      if (mes1==11)
			         if (dia1==31)
                     return false;

               campo.value = "0" + data.substring(0,1) + "/" + data.substring(2,4) + "/" + data.substring(5,9);

            }
            else
               if (data.substring(2,3) == "/")
               {
                  dia1 = data.substring(0,2);
		            if (dia1.substring(0,1) < "0" || "3" < dia1.substring(0,1) || dia1.substring(1,2) < "0" || "9" < dia1.substring(1,2))
                     return false;

		            mes1 = data.substring(3,4);
		            if (mes1.substring(0,1) < "0" || "9" < mes1.substring(0,1))
                     return false;

		            ano1 = data.substring(5,9)
		            for (var i = 0;i<4;i++)
			            if (ano1.substring(i,i+1) < "0" || "9" < ano1.substring(i,i+1))
                        return false;

		            if(data.substring(2,3)!= "/" || data.substring(4,5) != "/")
                     return false;

		            if (dia1<1 || dia1>31)
                     return false;

                  if (mes1<1 || mes1>12)
                     return false;

		            if (ano1<1900 || ano1>2080)
                     return false;

		            if (mes1==4 || mes1==6 || mes1==9)
			            if (dia1==31)
                        return false;

		            if (mes1==2)
			            if (ano1%4==0)
                     {
				            if (dia1>29)
                           return false;
                     }
			            else
				            if (dia1>28)
                           return false;

                  campo.value = data.substring(0,2) + "/" + "0" + data.substring(3,4) + "/" + data.substring(5,9);

               }
         }
         else
         if (data.length == 10)
         {
            dia1 = data.substring(0,2);
		      if (dia1.substring(0,1) < "0" || "3" < dia1.substring(0,1) || dia1.substring(1,2) < "0" || "9" < dia1.substring(1,2))
               return false;

		      mes1 = data.substring(3,5);
		      if (mes1.substring(0,1) < "0" || "1" < mes1.substring(0,1) || mes1.substring(1,2) < "0" || "9" < mes1.substring(1,2))
               return false;

		      ano1 = data.substring(6,10)
		      for (var i = 0;i<4;i++)
			      if (ano1.substring(i,i+1) < "0" || "9" < ano1.substring(i,i+1))
                  return false;

		      if(data.substring(2,3)!= "/" || data.substring(5,6) != "/")
               return false;

		      if (dia1<1 || dia1>31)
               return false;

            if (mes1<1 || mes1>12)
               return false;

		      if (ano1<1900 || ano1>2080)
               return false;

		      if (mes1==4 || mes1==6 || mes1==9 || mes1==11)
			      if (dia1==31)
                  return false;

		      if (mes1==02)
			      if (ano1%4==0)
               {
				      if (dia1>29)
                     return false;
               }
			      else
				      if (dia1>28)
                     return false;

         }
         else
            return false;
	   }

       data = campo.value;
       sDataTemp = data.substring(6,10) + "/" + data.substring(3,5) + "/" + data.substring(0,2) ;
       return true;
};



function mask_data(ini,fim,decimal) {

  var keypressed = window.event.keyCode;
  var ElementText  = window.event.srcElement.value ;
  if (keypressed == 45){
    if (ElementText.length!=0) {
      window.event.keyCode = 0;
      return;
    }
  }
  if (keypressed == 46){
    if (ElementText.length!=0) {
      window.event.keyCode = 0;
      return;
    }
  }

  else {
    if (decimal) {
      var Reg = /\./g;
      if (Reg.test(ElementText)) {
        if( (keypressed >= 48 && keypressed <= 57) == false) {
          window.event.keyCode = 0;
          return;
        }
      }
      else {
        if ((keypressed >= 48 && keypressed <= 57 || keypressed == 46) == false) {
          window.event.keyCode = 0;
          return;
        }
      }
    }

    else {
      if ((keypressed >= 48 && keypressed <= 57) == false) {
        window.event.keyCode = 0;
        return;
      }
    }
  }

  //Para os gráficos que possuem data inicial e data final
  if (ini == 1 || fim == 1)
  {
	//javascript:mask_data('1','0',true)
	if (ini == 1)
	{
		if (ElementText.length == 2 || ElementText.length == 5)
		{
			document.frmGrafico.txtDataInicio.value += '/';
		}
	}
	//javascript:mask_data('0','1',true)
	if (fim == 1)
	{
		if (ElementText.length == 2 || ElementText.length == 5)
		{
			document.frmGrafico.txtDataFim.value += '/';
		}
	}
  }
 //Para os gráficos que possuem apenas uma data
 //javascript:mask_data('2','0',true)
  if (ini == 2)
  {
	if (ElementText.length == 2 || ElementText.length == 5) { document.frmGrafico.txtData.value += '/' }
  }

};

function mask_data_geral(decimal,campo) {
  var keypressed = window.event.keyCode;
  var ElementText  = window.event.srcElement.value ;
  if (keypressed == 45){
    if (ElementText.length!=0) {
      window.event.keyCode = 0;
      return;
    }
  }
  if (keypressed == 46){
    if (ElementText.length!=0) {
      window.event.keyCode = 0;
      return;
    }
  }
  else
  {
    if (decimal)
	{
    	var Reg = /\./g;
      	if (Reg.test(ElementText))
		{
			if( (keypressed >= 48 && keypressed <= 57) == false)
			{
			  window.event.keyCode = 0;
			  return;
			}
		}
		else
		{
			if ((keypressed >= 48 && keypressed <= 57 || keypressed == 46) == false) {
        	window.event.keyCode = 0;
          	return;
        }
      }
    }
    else
	{
    	if ((keypressed >= 48 && keypressed <= 57) == false)
		{
			window.event.keyCode = 0;
    	    return;
	    }
    }
  }
  if (ElementText.length == 2 || ElementText.length == 5)
  {
	campo.value += '/';
  }
}


function ddmmaaaa(objeto)
{
	if(objeto.value=='')
	{
		objeto.value='dd/mm/aaaa';
	}
	else if(objeto.value=='dd/mm/aaaa')
	{
		objeto.value='';
	}

};


//* * * * * * * * * * * * * * * * * F I M    D A   M Á S C A R A * * * * * * * * * * * * * * * * * * * * * * * * * * 

/*
	FUNÇÕES PARA OS INFORMES
*/

	  function display(informe,acao)
	  {
	  	if (acao == "mostra")
		{
			window.status=informe;
		}
	  	else
		{
			window.status="";
		}	
	  }
	  function frame_home(informe,onde)
	  {
	  	document.frm_home.link.value = informe;
		document.frm_home.target = onde;
		document.frm_home.mira.value = onde;
		document.frm_home.submit();
	  }


function envia_link(slink,sniveis,mira)
{
		document.navegacao.caminho.value = sniveis;
		document.navegacao.action = slink;
		if(mira == ""){mira="_top";}
		document.navegacao.target = mira;
		document.navegacao.submit();
}



//*************************************************************************************
//						CONSISTÊNCIA
//*************************************************************************************
function isnumber(num){
  var num = new String(num);
  numeros = "0123456789";
  for(x = 0; x <= num.length - 1; x++){
    if(numeros.indexOf(num.charAt(x)) == -1){
      return false;
    }
  }
  return true;
}

//Adiciona separador em campo tipo numero ex: 00000-000
function formata( form , separador , numero){
   if(form.value.length == numero){
      form.value += separador;
   }
}

// Função para retirar os espaços de uma string, equivalente ao TRIM do VB
function Trim(theString) {
   var aString = theString;
   var newString = "";
   var kBlank = " ";
   if (aString.indexOf(kBlank) >= 0)  {
      for (var i = 0; i < aString.length; i++)
         if (aString.charAt(i) != kBlank)
            break;

      for (var j =  aString.length-1; j >= 0; j--)
         if (aString.charAt(j) != kBlank)
            break;

      if (i == aString.length && j == -1)
         newString = "";
      else
         if (i != 0 || j != aString.length -1)
            newString = Trim(aString.substring(i, j+1));
         else
            newString = aString.charAt(i) + Trim(aString.substring(i+1, j+1)) + aString.charAt(j+1);
   }
   else
      newString = aString;

   return newString;
}
//******************************************************************************
// Descrição: Suprime os espaços em branco à esquerda da string
//******************************************************************************
function LTrim(strInput)
{
   var strOutput;

   if (strInput.substr(0,1) == ' ')
      for (var i = 0; i <= strInput.length; i++)
      {
         if (strInput.substr(i, 1) == ' ')
            strOutput = strInput.substr(i + 1, strInput.length);
         else
            break
      }
   else
      strOutput = strInput;

   return strOutput;
}

/*
******************************************************************************
 Descrição: Suprime os espaços em branco à direita da string
******************************************************************************
*/
function RTrim(strInput)
{
   var strOutput;

   if (strInput.substr(strInput.length - 1,1) == ' ')
      for (var i = strInput.length - 1; i >= 0; i--)
      {
         if (strInput.substr(i, 1) == ' ')
            strOutput = strInput.substr(0, i);
         else
            break
      }
   else
      strOutput = strInput;

   return strOutput;
}

/*
******************************************************************************
 Descrição: Suprime os espaços em branco à direita e à esquerda da string
******************************************************************************
*/
function JTrim(strInput)
{
   var strOutput;

   strOutput = LTrim(strInput);
   strOutput = RTrim(strOutput);
   return strOutput;
}

function enviar(myform){
   if (checa(myform) == true){
      myform.submit();
   }else{
      return false;
   }
}

function pula(obj,nl,alvo){
   if (obj.value.length >= nl) {
      // comentado pelo Rafael porque causava pane no prog. de atend.
      //alvo.consistencia="sempre";
      alvo.focus();
   }
}

function tamanho(texto,tamanho,msg) {
var
  resptam = new Boolean;
  resptam = true;
  if (texto.length < tamanho) {
    resptam = false;
    alert(msg);
  }
  return resptam;
}

function preenchido(texto,msg) {
var
  respre = new Boolean;
  respre = true;
  if (texto.value == "") {
    respre = false;
    alert(msg);
  }
  return respre;
}

function tipodado(objeto,tipo, msg) {
  var msg = new String(msg);
//  alert(msg + msg.length);
  var resptip = new Boolean, j=0, i=0,ch=0;
  todos         = " 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXYWZÀÈÌÒÙÁÉÍÓÚÃÕÄËÏÖÜÂÊÎÔÛàèìòùáéíóúäëïöüâêîôûãõÇç()[]{}.-_/\@,ªº?=:`´";
  normal        = " 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXYWZÀÈÌÒÙÁÉÍÓÚÃÕÄËÏÖÜÂÊÎÔÛàèìòùáéíóúäëïöüâêîôûãõÇç,.-ºª";
  simples       = " 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXYWZ";
  cidade        = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXYWZ";
  simplespt     = " 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXYWZ. ";
  email         = " 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXYWZ@.-_";
  letras        = " abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVXYWZ";
  virgula       = ",0123456789";
  preco         = ".0123456789";
  numeros       = "0123456789";
  telefone      = "0123456789()- ";  
  texto         = "0 ";

  if (tipo == "simplesptnr"){
    valida = simplespt;
    for (var j = 0; ((j <= (objeto.value.length - 1)) && (true)); j++) {
      if (objeto.value.charAt(j) == objeto.value.charAt(j+1) == objeto.value.charAt(j+2)) {
    alert(msg);
    return false;
    break;
      }
    }
  }

  if(tipo == "d_nome"){
        valida = simplespt;
   texto = objeto.value.split(" ");
   if (texto.length < 2){
           alert(msg);
           return false;
   }
  }
  if(tipo == "repeticao"){
    valida = simplespt;
    for (var j = 0; ((j <= (objeto.value.length - 1)) && (true)); j++) {
       if ((objeto.value.charAt(j) == objeto.value.charAt(j+1)) && (objeto.value.charAt(j+1)== objeto.value.charAt(j+2)) ) {
         alert(msg);
         return false;
         break;
      }
    }
  }

  if(tipo == "ddd"){
    if(!isnumber(objeto.value)){
      if(msg.length > 1 && msg != "undefined"){
        alert(msg);
      }else{
        alert("O DDD pode conter apenas NÚMEROS.");
      }
      return false;
    }

    if(objeto.value.length != 2){
      if(msg.length > 1 && msg != "undefined"){
        alert(msg);
      }else{
        alert("O DDD deve ter 2 dígitos.");
      }
      return false;
    }

    if(objeto.value.substring(0,1) == "0"){
      if(msg.length > 1 && msg != "undefined"){
        alert(msg);
      }else{
        alert("O DDD não pode começar por 0.");
      }
      return false;
    }

    return true;
  }

 /* if(tipo == "telefone"){

    if(objeto.value.length < 6){
      if(msg.length > 1 && msg != "undefined"){
        alert('teste'+ msg);
      }else{
        alert("O telefone deve ter no mínimo 6 dígitos.");
      }
      return false;
    }

    if((objeto.value.substring(0,1) == "1") || (objeto.value.substring(0,1) == "0")){
      if(msg.length > 1 && msg != "undefined"){
        alert(msg);
      }else{
        alert("O telefone não pode começar por 0 nem por 1.");
      }
      return false;
    }

    for(j = 0; j <= objeto.value.length - 6; j++){
      if((objeto.value.charAt(j    ) == objeto.value.charAt(j + 1)) &&
         (objeto.value.charAt(j + 1) == objeto.value.charAt(j + 2)) &&
         (objeto.value.charAt(j + 2) == objeto.value.charAt(j + 3)) &&
         (objeto.value.charAt(j + 3) == objeto.value.charAt(j + 4)) &&
         (objeto.value.charAt(j + 4) == objeto.value.charAt(j + 5))){

      if(msg.length > 1 && msg != "undefined"){
          alert(msg);
        }else{
          alert("O telefone não pode ter 6 ou mais dígitos repetidos na seqüência.");
        }
        return false;
      }
    }

    return true;
  }
*/

 if(tipo == "telefone"){

    if(objeto.value.length < 6){
      if(msg.length > 1 && msg != "undefined"){
        alert('teste'+ msg);
      }else{
        alert("O telefone deve ter no mínimo 6 dígitos.");
      }
      return false;
    }

    for(j = 0; j <= objeto.value.length - 6; j++){
      if((objeto.value.charAt(j    ) == objeto.value.charAt(j + 1)) &&
         (objeto.value.charAt(j + 1) == objeto.value.charAt(j + 2)) &&
         (objeto.value.charAt(j + 2) == objeto.value.charAt(j + 3)) &&
         (objeto.value.charAt(j + 3) == objeto.value.charAt(j + 4)) &&
         (objeto.value.charAt(j + 4) == objeto.value.charAt(j + 5))){

      if(msg.length > 1 && msg != "undefined"){
          alert(msg);
        }else{
          alert("O telefone não pode ter 6 ou mais dígitos repetidos na seqüência.");
        }
        return false;
      }
    }

    return true;
  }
  
  if (tipo == "cidade"){
  valida = cidade;
  }
  if (tipo == "end_nom_log"){
   if (JTrim(objeto.value.toUpperCase()) == "O MESMO"){
         alert(msg);
         return false;
   }
   valida = simples;
  }
  
  if (tipo == "RG"){
  valida = numeros;
    if(objeto.value.length < 8){
      if(msg.length > 1 && msg != "undefined"){
        alert(msg);
      }else{
        alert("O RG deve ser preenchido.");
      }
      return false;
    }
  }


  if (tipo == "dia"){
   if (objeto.value > 31 || objeto.value < 1){
         alert(msg);
         return false;
   }
  valida = numeros;
  }
  if (tipo == "mes"){
   if (objeto.value > 12 || objeto.value < 1){
         alert(msg);
         return false;
   }
  valida = numeros;
  }
  if (tipo == "ano_nasc"){
   var now = new Date();
   ano_agora=now.getYear();
   ano_maior = ano_agora-18;
   if (eval(objeto.value) > ano_maior){
         alert(msg);
         return false;
   }
  valida = numeros;
  }
  if (tipo == "todos"){
  valida = todos;
  }
  if (tipo == "data"){
     ArrayData = objeto.value.split("-");
     ano = ArrayData[0];
     mes = ArrayData[1];
     dia = ArrayData[2];
     if (dia > 28){
       if (mes == 2){
         if (dia == 29){
            if (ano % 4 != 0){
              alert(msg);
              return false;
            }
         }else{
           alert(msg);
           return false;
         }
       }
       if ((dia == 31) && ((mes == 4) || (mes == 6) || (mes == 9) || (mes == 11))){
          alert(msg);
          return false;
       }

     }
     if(mes > 12){
        alert(msg);
        return false;
     }
     if(ano > 2050){
        alert(msg);
        return false;
     }
     if(ano < 1900){
        alert(msg);
        return false;
     }

     valida = todos;
  }
  if (tipo == "normal"){
  valida = normal;
  }
  if (tipo == "simples"){
  valida = simples;
  }
  if (tipo == "simplespt"){
    valida = simplespt;
  }
  if (tipo == "letras"){
  valida = letras;
  }
  if (tipo == "virgula"){

     test = objeto.value.split(",");

     if (test.length > 2) {
             if(msg){alert(msg)+test.length;};
             return false;
       }
     valida = virgula;
  }

  if (tipo == "preco"){

     test = objeto.value.split(".");

     if (test.length > 2) {
             if(msg){alert(msg)+test.length;};
             return false;
       }
     valida = preco;
  }
  if (tipo == "texto"){
  valida = texto;
  }
  if (tipo == "numeros"){
  valida = numeros;
  }
  if (tipo == "email"){
    if (objeto.value.indexOf("@") == -1 || objeto.value.indexOf(".")== -1 || objeto.value.indexOf(" ")!= -1) {
        alert(msg);
        return false;
    }
  valida = email;
  }

  if (tipo == "panclub"){
     Tam       = objeto.value.length;
     digito    = objeto.value.substring(Tam -1, Tam    );
     NroCartao = objeto.value.substring(     0, Tam - 1);
     Tam       = NroCartao.length;
     Soma      = 0;
     Mult      = 2;
     for (i = 0; i < Tam; i++){
        Nro = NroCartao.substring(Tam-i-1,Tam-i);
        Soma = Soma + Nro * (Mult);
        if (Mult == 9){
           Mult = 2;
        }else{
           Mult++;
        }
     }
     Resto = Soma % 11;
     if (Resto <= 1){
        dv = 0;
     }else{
        dv = 11 - Resto;
     }
     if (dv == digito){
        return true;
     }else{
        alert(msg);
        return false;
     }
  }

  if (tipo == "cartao"){
     NroCartao = objeto.value;
     Soma = 0;
     Mult = 1;
     Tam = NroCartao.length;
     for (i = 0; i < Tam; i++) {
        digito = NroCartao.substring(Tam-i-1,Tam-i);
        Produto = parseInt(digito, 10) * Mult;
        if (Produto >= 10) {
           Soma += (Produto % 10) + 1;
        }else{
           Soma += Produto;
        }
        if (Mult == 1) {
           Mult++;
        }else{
           Mult--;
        }
     }
     if ((Soma % 10) == 0) {
        return true;
     }else{
        alert(msg);
        return false;
     }
     valida = numeros;
  }

if (tipo == "gravacao"){
  tam = objeto.value.length;
  NroGrav = objeto.value.substring(0      , tam - 1);
  Digito  = objeto.value.substring(tam - 1, tam    );
  Soma = 0;
  Mult = 2;
  tam = NroGrav.length;
  for (i = 0; i < NroGrav.length; i++){
    Nro = NroGrav.substring(tam - i - 1,tam - i);
    Soma = Soma + Nro * Mult;
    if(Mult < 9){
      Mult++;
    }else{
      Mult = 2;
    }
  }
  Resto = Soma % 11;
  if (Resto > 1){
    dv = 11 - Resto;
  }else{
    dv = Resto;
  }
  if (dv == Digito){
    return true;
  }else{
    alert(msg);
    return false;
  }
}

  if (tipo == "CPF"){
       if (isNaN(objeto.value)){
          alert(msg);
          return false;
       }

       dv   = objeto.value.substring(9,11);
       ncpf = objeto.value.substring(0,9);

       if((objeto.value == "99999999999") || (objeto.value == "88888888888") || (objeto.value == "77777777777") || (objeto.value == "66666666666") || (objeto.value == "55555555555") || (objeto.value == "44444444444") || (objeto.value == "33333333333") || (objeto.value == "22222222222") || (objeto.value == "11111111111")){
          alert(msg);
          return false;
       }

       soma1  = 0;
       div    = 0;
       for (i = 0; i < 9; i++){
          Nro = ncpf.substring(i,i+1);
          soma1 = soma1 + ((10 - i) * Nro);
       }

       resto = soma1 % 11;

       if (resto <= 1){
          digito = "0";
       }else{
          digito = 11 - resto;
       }

       ncpf = ncpf + digito;

       soma1  = 0;
       div    = 0;
       for (i = 0; i < 10; i++){
          Nro = ncpf.substring(i,i+1);
          soma1 = soma1 + ((11 - i) * Nro);
       }

       resto = soma1 % 11;

       if (resto <= 1){
          digito = "0";
       }else{
          digito = 11 - resto;
       }

       ncpf = ""+ ncpf + digito;

       if (ncpf != objeto.value){
          alert(msg);
          return false;
       }

       valida = numeros;


  }

  if (tipo == "CGC"){
  ncgc = objeto.value;

      if(ncgc == "nt" || ncgc == "NT" || ncgc == "99999999999999"){
   objeto.value = "99999999999999";
   return true;
      }

      if (isNaN(ncgc)){
          alert(msg);
          return false;}
      var soma1=0;
          div="";
          digito=0;
      soma1=(eval(ncgc.substring(0,1))*5)+(eval(ncgc.substring(1,2))*4)+(eval(ncgc.substring(2,3))*3)+(eval(ncgc.substring(3,4))*2)+(eval(ncgc.substring(4,5))*9)+(eval(ncgc.substring(5,6))*8)+(eval(ncgc.substring(6,7))*7)+(eval(ncgc.substring(7,8))*6)+(eval(ncgc.substring(8,9))*5)+(eval(ncgc.substring(9,10))*4)+(eval(ncgc.substring(10,11))*3)+(eval(ncgc.substring(11,12))*2);
      divisao1=soma1/11;

      resto = soma1 - (parseInt(divisao1)*11);

      if (resto <=1){
        if (eval(ncgc.substring(12,13))!=0){
          alert(msg);
          return false;
        }else {digito=0;}
      }else{
        if (eval(ncgc.substring(12,13))!=(11-resto)){
          alert(msg);
          return false;
       }else {digito=11-resto;} }
      //2 digito
      soma1=(eval(ncgc.substring(0,1))*6)+(eval(ncgc.substring(1,2))*5)+(eval(ncgc.substring(2,3))*4)+(eval(ncgc.substring(3,4))*3)+(eval(ncgc.substring(4,5))*2)+(eval(ncgc.substring(5,6))*9)+(eval(ncgc.substring(6,7))*8)+(eval(ncgc.substring(7,8))*7)+(eval(ncgc.substring(8,9))*6)+(eval(ncgc.substring(9,10))*5)+(eval(ncgc.substring(10,11))*4)+(eval(ncgc.substring(11,12))*3)+(digito*2);
     divisao1=soma1/11;

      resto = soma1 - (parseInt(divisao1)*11)

      if (resto <=1){
        if (eval(ncgc.substring(13,14))!=0){
          alert(msg);
          return false;
        }
      }else{
        if (eval(ncgc.substring(13,14))!=(11-resto)){
          alert(msg);
          return false;
        }
       }
       valida = numeros;
}

  //roda a string
  for (var j = 0; ((j <= (objeto.value.length - 1)) && (true)); j++) {
    i = 0;
    resptip = false;
    for (var i = 0; ((i <= valida.length) && (true)); i++) {
      if (objeto.value.charAt(j) == valida.charAt(i)) {
         resptip = true;
         break;
     }
    }
    if (resptip == false) {
      alert(msg);
      break;
    }
  }

  return resptip;
}


function checa(form){
var
resposta = new Boolean;
resposta = true;

 for (var j = 0; ((j <= (form.length - 1)) && (true)); j++) {

  if (form[j].consistencia){

  // verifica se a consistência será aplicada somente se o campo estiver preencido
     if (form[j].consistencia == "sopreenchido" && form[j].value == ""){ continue; }

     if (form[j].consistencia1){
         if (isNaN(form[j].consistencia1)){
              if (form[j].consistencia1 == "pre"){
                 if (preenchido(form[j],form[j].msg) != true){
                    resposta = false;
//                        if ((form[j].tipo != "hidden")||(form[j].tipo != "radio")){
//                           form[j].focus();
                           //form[j].style.background='#eeeeff';

                        //}
                    break;
                 }

              }else{
                     if (tipodado(form[j],form[j].consistencia1,form[j].msg) != true){
                        resposta = false;
                        if ((form[j].tipo != "hidden")||(form[j].tipo != "radio")){
                           form[j].focus();
                        }
                        break;
                     }

             }

        }else{

                 if (tamanho(form[j].value,form[j].consistencia1,form[j].msg) != true){
                    resposta = false;
                        if (form[j].tipo != "hidden"){
                           form[j].focus();
                        }
                    break;
                 }

        }//else if NAN

    }

     if (form[j].consistencia2){
         if (isNaN(form[j].consistencia2)){
              if (form[j].consistencia2 == "pre"){
                 if (preenchido(form[j],form[j].msg) != true){
                    resposta = false;
                        if (form[j].tipo != "hidden"){
                           form[j].focus();
                        }
                    break;
                 }

              }else{
                     if (tipodado(form[j],form[j].consistencia2,form[j].msg) != true){
                        resposta = false;
                        if (form[j].tipo != "hidden"){
                           form[j].focus();
                        }
                        break;
                     }

             }

        }else{

                 if (tamanho(form[j].value,form[j].consistencia2,form[j].msg) != true){
                    resposta = false;
                        if (form[j].tipo != "hidden"){
                           form[j].focus();
                        }
                    break;
                 }

        }//else if NAN

    }
     if (form[j].consistencia3){
         if (isNaN(form[j].consistencia3)){

              if (form[j].consistencia3 == "pre"){
                 if (preenchido(form[j].value,form[j].msg) != true){
                    resposta = false;
                        if (form[j].tipo != "hidden"){
                           form[j].focus();
                        }
                    break;
                 }

              }else{
          if (form[j].consistencia3 == "dia"){
         if (parseInt(form[j].consistencia3.value) <1 || parseInt(form[j].consistencia3.value) >31){
               alert(form[j].msg);
               resposta = false;
            if (form[j].tipo != "hidden"){
               form[j].focus();
            }
            break;
         }
          }else{
             if (form[j].consistencia3 == "mes"){
            if (parseInt(form[j].consistencia3.value) <1 || parseInt(form[j].consistencia3.value) >12){
               alert(form[j].msg);
               resposta = false;
               if (form[j].tipo != "hidden"){
                  form[j].focus();
               }
               break;
                  }
             }else{
                if (form[j].consistencia3 == "ano"){
               if (parseInt(form[j].consistencia3.value) <1900 || parseInt(form[j].consistencia3.value) >2010){
                  alert(form[j].msg);
                  resposta = false;
                  if (form[j].tipo != "hidden"){
                     form[j].focus();
                  }
                  break;
                        }
                }
              }
            }
         }

        if (tipodado(form[j],form[j].consistencia3,form[j].msg) != true){
      resposta = false;
         if (form[j].tipo != "hidden"){
            form[j].focus();
         }
      break;
        }

        }else{
                 if (tamanho(form[j].value,form[j].consistencia3,form[j].msg) != true){
                    resposta = false;
         if (form[j].tipo != "hidden"){
            form[j].focus();
         }
                    break;
                 }


        }//else if NAN
    }
  } //if aplica consistencia
 }  //for Itens
return resposta;
}

function abre(pagina)
{
	window.open(pagina,'abre','toolbar=no,menubar=no,status=no,scrollbars=yes,top=80,left=80,width=700,height=450');
}

function algum_checado(campo){
	for(i=0;i<campo.length;i++){
		if(campo[i].checked){
			return true;
		}
	}
	return false;
}   


function maiusculo(texto) {
    texto.value = texto.value.toUpperCase();
}