// Retorna o elemento do formulario identificado pelo ID e/ou nome
   function utmsg001_gE(tID) {
      return ( document.getElementById(tID) );
   }

/*--------------------------------------------------------------------------------------------------

   utmsg001 - Funþ§es para controle da exibiþÒo de mensagens de erro na depuraþÒo dos campos

   Funþ§es:
       utmsg001_inclui_mensagem (texto, obj) - Inclui mensagem na lista e destaca campo com erro.
       utmsg001_exibeMensagens()             - Exibe ou esconde lista se existem mensagens.
       utmsg001_Limpa(obj)                   - Limpa lista de msg e tira destaque dos campos.
       utmsg001_caixa_exibicao()             - Escreve HTML da tabela que exibe a lista de mensagens

   Varißveis Externas:
       utmsg001_msgerrotxt - lista das mensagens de erro
       utmsg001_imgseta    - imagem com seta;
       utmsg001_imgbranco  = imagem em branco;

--------------------------------------------------------------------------------------------------*/

var utmsg001_msgerrotxt = "";
var utmsg001_imgseta    = new Image;
var utmsg001_imgbranco  = new Image;

/*--------------------------------------------------------------------------------------------------

   FunþÒo......: utmsg001_inclui_mensagem
   Responsßvel.: Kleber
   Data........: 26/11/2003
   DescriþÒo...: Inclui mensagem na lista e destaca campo com erro.
   Entradas....: texto - mensagem de erro a ser incluÝda na lista.
                 obj   - campo onde foi encontrado o erro.

   Varißveis Externas.: utmsg001_msgerrotxt
                        utmsg001_imgseta.src

   Como usar...: Deve ser executado a partir da funþÒo de validaþÒo do campo

   Nota:
   1) O campo deve possuir um objeto Image associado com ele cuja TAG deve obeservar
      a seguinte lei de formaþÒo:
      <IMG name='set_xxx'>
      Onde:
         set_ - parte fixa
         xxx  - nome do campo associado a partir da 5a posiþÒo (inclusive)
   2) Se o texto estiver em branco a funþÒo apenas destaca o campo.

--------------------------------------------------------------------------------------------------*/
function utmsg001_inclui_mensagem (texto, obj)
{
    if (texto != "")
        utmsg001_msgerrotxt = utmsg001_msgerrotxt + "<LI>" + texto + "</LI>";
    obj.style.backgroundColor="#FFFFAA";
    document.images["set_" + obj.name.substr(4)].src=utmsg001_imgseta.src;
}

/*--------------------------------------------------------------------------------------------------

   FunþÒo......: utmsg001_exibeMensagens
   Responsßvel.: Kleber
   Data........: 26/11/2003
   DescriþÒo...: Exibe lista se existirem mensagens ou esconde em caso contrßrio.

   Varißveis Externas.: utmsg001_msgerrotxt

   Como usar...: Deve ser executado depois da funþÒo de validaþÒo para exibir as mensagens

   Nota:
   1) A tabela a ser exibida Ú escrita pela funþÒo utmsg001_caixa_exibicao().

--------------------------------------------------------------------------------------------------*/
function utmsg001_exibeMensagens()
{
    if (utmsg001_msgerrotxt=="")                        // se nÒo existem mensagens
    {
        // document.all.MsgErro.style.display='none';      // esconde tabela com lista de mensagens
        utmsg001_gE('MsgErro').style.display='none';      // esconde tabela com lista de mensagens
    }
    else                                                // caso contrßrio
    {
        // document.all.MsgErro.style.display='block';     // exibe tabela com lista de mensagens
        utmsg001_gE('MsgErro').style.display='block';     // exibe tabela com lista de mensagens
        scroll(1,1);                                    // rola tela para o topo
    }
    // document.all.MsgErroTexto.innerHTML=utmsg001_msgerrotxt; // escreve lista na tabela
    utmsg001_gE('MsgErroTexto').innerHTML=utmsg001_msgerrotxt; // escreve lista na tabela
}

/*--------------------------------------------------------------------------------------------------

   FunþÒo......: utmsg001_Limpa
   Responsßvel.: Kleber
   Data........: 26/11/2003
   DescriþÒo...: Limpa lista de msg e tira destaque dos campos.
   Entradas....: obj - form a ser tratado

   Varißveis Externas.: utmsg001_msgerrotxt
                        utmsg001_imgbranco.src

   Como usar...: Deve ser executado antes da funþÒo de validaþÒo.

   Nota:
   1) Todos os campos tratados na validaþÒo devem ter o atributo name comeþado por 'upd_'

--------------------------------------------------------------------------------------------------*/
function utmsg001_Limpa(obj)
{

    utmsg001_msgerrotxt="";

    if (obj != null) 
    {
       for (var i = 0; i < obj.elements.length; i++)
       {
           if (obj.elements[i].name.substr(0, 4) == "upd_")
               obj.elements[i].style.backgroundColor="white";
       }
   
       for (var i = 0; i < document.images.length; i++)
       {
           if (document.images[i].id.substr(0, 4) == "set_")
               document.images[i].src=utmsg001_imgbranco.src;
       }
    }
}

/*--------------------------------------------------------------------------------------------------

   FunþÒo......: utmsg001_caixa_exibicao
   Responsßvel.: Kleber
   Data........: 18/02/2004
   DescriþÒo...: Escreve HTML da tabela que exibe a lista de mensagens.
                 Escrita para manter versäes anteriores

   Varißveis Externas.: utmsg001_imgbranco.src
                        utmsg001_imgseta.src

   Como usar...: Deve ser chamada preferencialmente no todo do HTM pr¾xima Ó tag <BODY> (e ap¾s)

--------------------------------------------------------------------------------------------------*/
function utmsg001_caixa_exibicao()
{
    utmsg001_caixa_exibicao_titulovar("Erro na tentativa de altera&ccedil;&atilde;o");
}

/*--------------------------------------------------------------------------------------------------

   FunþÒo......: utmsg001_caixa_exibicao
   Responsßvel.: Kleber
   Data........: 26/11/2003
   DescriþÒo...: Escreve HTML da tabela que exibe a lista de mensagens.
                 Difere da fun‡Æo utmsg001_caixa_exibicao pelo fato de possuir t¡tulo da caixa 
                 vari vel.        
   Entradas....: texto - t¡tulo da caixa de mensagens.

   Varißveis Externas.: utmsg001_imgbranco.src
                        utmsg001_imgseta.src

   Como usar...: Deve ser chamada preferencialmente no todo do HTM pr¾xima Ó tag <BODY> (e ap¾s)

--------------------------------------------------------------------------------------------------*/
function utmsg001_caixa_exibicao_titulovar(texto)
{
    caminho = location.href;

    for (i=caminho.length; i > 1 ; i--) {
        if (caminho.substr(i,1) == "/" || caminho.substr(i,1) == "\\") {
            caminho = caminho.substr(0,i)  + "/img/";
            i = 0;
        }
    }

    utmsg001_imgseta.src   = caminho + "seta2.bmp";
    utmsg001_imgbranco.src = caminho + "branco.bmp";

    document.writeln("<!-- Caixa para exibiþÒo de mensagens de erro -->");
    document.writeln("<table id='MsgErro' align=center>");
    document.writeln("  <TR>");
    document.writeln("    <TD>");
    document.writeln("      <B id=MsgErroTitulo>" + texto + "</B><BR>");
    document.writeln("      <UL id='MsgErroTexto'>");
    document.writeln("      </UL>");
    document.writeln("    </TD>");
    document.writeln("  </TR>");
    document.writeln("</table>");
    document.writeln("<BR>");
}
