    /**
    * Incializa o uso do XMLHttp
    *
    */
    function ajaxInit()
    { 
        //instancia um novo xmlhttprequest
        //baseado na getXMLHttpObj que possui muitas cópias na net e eu nao sei quem é o autor original
        if ( typeof( XMLHttpRequest ) != 'undefined' )
        {
            return new XMLHttpRequest();
        }
        
        var arr_Tipos = ['Microsoft.XMLHTTP','Msxml2.XMLHTTP','Msxml2.XMLHTTP.6.0','Msxml2.XMLHTTP.4.0','Msxml2.XMLHTTP.3.0'];
        
        for( var i = 0; i < arr_Tipos.length; i++ )
        { 
            try
            { 
                return new ActiveXObject( arr_Tipos[i] );
            }
            catch( e ){ } 
        }
        return false;
    }
    
    /*
    * Retorna o erro HTTP traduzido
    *
    */
    function httpStatus( int_Status )
    { 
        //retorna o texto do erro http
        switch( int_Status )
        {
            case 400: 
                return "400: Solicita&ccedil;&atilde;o incompreensível"; 
            break;
            
            case 403: 
            case 404: 
                return "404: N&atilde;o foi encontrada a URL solicitada"; 
            break;
            
            case 405: 
                return "405: O servidor n&atilde;o suporta o m&eacute;todo solicitado"; 
            break;
            
            case 500: 
                return "500: Erro desconhecido de natureza do servidor"; 
            break;
            case 503: 
                return "503: Capacidade m&aacute;xima do servidor alcançada"; 
            break;
            
            default: 
                return "Erro " + int_Status + ". Mais informa&ccedil;&otilde;es em http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"; 
            break;
        }
    }
    
    /**
    * Evita a cache
    *
    */
    function antiCacheRand( str_Url )
    {
        var obj_Date = new Date();
        
        if( str_Url.indexOf( "?" ) >= 0 )
        {
            // já tem parametros
            return str_Url + "&" + encodeURI( Math.random() + "_" + obj_Date.getTime() );
        }
        else
        { 
            return str_Url + "?" + encodeURI( Math.random() + "_" + obj_Date.getTime() );
        }
    }
    
    /**
    * select_innerHTML - altera o innerHTML de um select independente se é FF ou IE
    * Corrige o problema de não ser possível usar o innerHTML no IE corretamente
    * Veja o problema em: http://support.microsoft.com/default.aspx?scid=kb;en-us;276228
    * Use a vontade mas coloque meu nome nos créditos. Dúvidas, me mande um email.
    * Versão: 1.0 - 06/04/2006
    * Autor: Micox - Náiron José C. Guimarães - micoxjcg@yahoo.com.br
    * Parametros:
    * obj_Objeto(tipo object): o select a ser alterado
    * str_innerHTML(tipo string): o novo valor do innerHTML
    */
    function selectInnerHTML( obj_Objeto, str_innerHTML )
    {
        obj_Objeto.innerHTML = "";
        var obj_SelTemp      = document.createElement( "cabralSelect" );
        var obj_Opt;
        
        obj_SelTemp.id = "cabralSelect1";
        
        document.body.appendChild( obj_SelTemp )
        
        obj_SelTemp               = document.getElementById( "cabralSelect1" );
        obj_SelTemp.style.display = "none"; 
        
        if( str_innerHTML.toLowerCase().indexOf( "<option" ) < 0 )
        {
            //se não é option eu converto
            str_innerHTML = "<option>" + str_innerHTML + "</option>";
        }
        
        str_innerHTML = str_innerHTML.replace( /<option/g, "<span" ).replace(/<\/option/g,"</span");
        obj_SelTemp.innerHTML = str_innerHTML;
        
        for( var int_I = 0; int_I < obj_SelTemp.childNodes.length; int_I++ )
        {
            if( obj_SelTemp.childNodes[int_I].tagName )
            {
                obj_Opt = document.createElement( "OPTION" );
                for( var int_J = 0; int_J < obj_SelTemp.childNodes[int_I].attributes.length; int_J++ )
                {
                    obj_Opt.setAttributeNode( obj_SelTemp.childNodes[int_I].attributes[int_J].cloneNode( true ) );
                }
                obj_Opt.value = obj_SelTemp.childNodes[int_I].getAttribute("value");
                obj_Opt.text  = obj_SelTemp.childNodes[int_I].innerHTML;
                
                if( document.all )
                { 
                    //IE
                    obj_Objeto.add( obj_Opt );
                }
                else
                {
                    obj_Objeto.appendChild( obj_Opt );
                }                    
            }    
        }
        
        document.body.removeChild( obj_SelTemp );
        obj_SelTemp = null;
    }    
    
    /**
    * urlEncode version 1.0 
    *
    */
    function urlEncode( str_Valor ) 
    { 
        var var_HexChars = "0123456789ABCDEF"; 
        var var_NoEncode = /^([a-zA-Z0-9\_\-\.])$/; 
        var str_Code, var_Hex1, var_Hex2, str_Encode = ""; 

        for( var int_Cont = 0; int_Cont < str_Valor.length; int_Cont++ ) 
        { 
            if ( var_NoEncode.test( str_Valor.charAt( int_Cont ) ) ) 
            { 
                str_Encode += str_Valor.charAt( int_Cont ); 
            } 
            else 
            { 
                str_Code    = str.charCodeAt( int_Cont ); 
                var_Hex1    = var_HexChars.charAt( Math.floor( str_Code / 16 ) ); 
                var_Hex2    = var_HexChars.charAt( str_Code % 16 ); 
                str_Encode += "%" + ( var_Hex1 + var_Hex2 ); 
            } 
        } 
        return str_Encode; 
    }

    /**
    * url_decode version 1.0 
    *
    */
    function urlDecode( str_Valor ) 
    { 
        var str_Code, str_Decode = ""; 

        for ( var int_Cont = 0; int_Cont < str_Valor.length; int_Cont++ ) 
        { 
            if ( str_Valor.charAt( int_Cont ) == "%" ) 
            { 
                str_Code    = str_Valor.charAt( int_Cont + 1 ) + str_Valor.charAt( int_Cont + 2 ); 
                str_Decode += String.fromCharCode( parseInt( str_Code, 16 ) ); 
                int_Cont   += 2; 
            } 
            else 
            { 
                str_Decode += str_Valor.charAt( int_Cont ); 
            } 
        } 

        return str_Decode; 
    }  
    
    function decHex( int_Dec2 ) 
    { 
        var var_HexChars = "0123456789ABCDEF"; 
        
        var int_N1 = var_HexChars.charAt( Math.floor( int_Dec2 / 16 ) ); 
        var int_N2 = var_HexChars.charAt( int_Dec2 % 16 ); 
        
        return int_N1 + int_N2; 
    } 

    /**
    * Verifica se houve algum erro
    *
    */
    function verificaErro( var_Valor )
    {
        var str_Valor = unescape( escape( urlDecode( var_Valor ) ).replace( /\%0D\%0A/g,"" ) );
        var str_Erro  = str_Valor.substr( 0, 5 );
       
        if ( str_Erro.trim() == "Erro" )
        {
            alert( str_Valor.substr( 6 ) );
            window.parent.location.reload();
            return false;
        }
        else
        {
            return true;
        }
    }
    
    /**
    * Coloca o retorno no objeto selecionado
    *
    */
    function put( str_Retorno, var_Valor, str_Frame, boo_Substitui )
    { 
        if ( verificaErro( var_Valor ) )
        {
            if ( str_Retorno == 'layErro' )
            {
                str_Frame = "this";
            }
            
            if ( typeof( str_Frame ) == 'undefined' || str_Frame.trim() == '' )
            {
                var obj_Retorno = document.getElementById( str_Retorno );
                var obj_Form    = document.forms[0];
            }
            else
            {
                var obj_Retorno = eval( str_Frame + ".document.getElementById( '" + str_Retorno + "' )" );
                var obj_Form    = eval( str_Frame + ".document.forms[0]" );
            }
            
            if ( !obj_Retorno )
            {
                alert( "Erro.: " + str_Retorno + " não existe na tela!\n Verifique o ID" );
                return false;    
            }

            //coloca o valor na variavel/elemento de retorno
            if ( ( typeof( obj_Retorno ) ).toLowerCase() == "string" )
            { 
                //se for o nome da string
                if ( var_Valor != "Falha no carregamento" )
                {
//                    eval( obj_Retorno + '= unescape( "' + escape( urlDecode( var_Valor ) ) + '" )' );
                    eval( obj_Retorno + '= "' + urlDecode( var_Valor ) + '"' );
                }
            }
            else if( obj_Retorno.tagName.toLowerCase() == "input" || obj_Retorno.tagName.toLowerCase() == "textarea" )
            {
//                var_Valor = escape( urlDecode( var_Valor ) ).replace( /\%0D\%0A/g,"" );
                
                if ( obj_Retorno.type == 'radio' )
                {
//                    obj_Retorno.value = unescape( var_Valor ).trim();
                    var int_Tamanho   = obj_Form.elements[obj_Retorno.id].length;
                    
                    for ( var int_QtdeRadios = 0; int_QtdeRadios < int_Tamanho; int_QtdeRadios++ )
                    {
//                        if ( obj_Form.elements[obj_Retorno.id][int_QtdeRadios].value == unescape( var_Valor ).trim() )
                        if ( obj_Form.elements[obj_Retorno.id][int_QtdeRadios].value == var_Valor.trim() )
                        {
                            obj_Form.elements[obj_Retorno.id][int_QtdeRadios].checked = true;
	                    }
                    }
                }
                else if ( obj_Retorno.type == 'checkbox' )
                {
//                    if ( obj_Retorno.value == unescape( var_Valor ).trim() )
                    if ( obj_Retorno.value == var_Valor.trim() )
                    {
                        obj_Retorno.checked = true;
                    }
                }
                else
                {
//                    obj_Retorno.value = unescape( var_Valor ).trim();
                    obj_Retorno.value = var_Valor.trim();
                }
            }
            else if( obj_Retorno.tagName.toLowerCase() == "select" )
            {        
                if ( !boo_Substitui )
                {
                    selectInnerHTML( obj_Retorno, urlDecode( var_Valor ) )
                }
                else
                {
//                    var_Valor = escape( urlDecode( var_Valor ) ).replace( /\%0D\%0A/g,"" );
//                    obj_Retorno.value = unescape( var_Valor );
                    obj_Retorno.value = var_Valor;
                }

            }
            else if( obj_Retorno.tagName )
            {
                obj_Retorno.innerHTML = urlDecode( var_Valor );
                if ( str_Retorno == 'layErro' )
                {
                    janelaMensagem( true, document, str_Retorno, 320, 30, 30 );
                }
                else if ( str_Retorno == 'layCarregando' )
                {
                    janelaMensagem( true, window.parent.top.document, str_Retorno, 320, 20, 15 );
                }
                else
                {
                    if ( obj_Retorno.style.visibility == 'hidden' || obj_Retorno.style.visibility == '' )
                    {
                        obj_Retorno.style.visibility = 'visible';
                    }
                }
            }
            else
            {
                alert( obj_Retorno.tagName.toLowerCase() );
            }
        }
    }
    
    /**
    * Pega os dados relativos ao Formulário 
    *
    */
    function _pegaDadosForm( obj_Form )
    {
        var arr_Send      = new Array(); 
        var arr_Radio     = new Array();
        var arr_Elementos = obj_Form.elements; 
        var int_Tamanho   = arr_Radio.length;
        
        for( var int_I = 0; int_I < arr_Elementos.length; int_I++ ) 
        { 
            var obj_Elementos = arr_Elementos[int_I]; 
            
            if( !obj_Elementos.name ) 
            {
                continue; 
            }
            
            if ( obj_Elementos.type.toLowerCase() == 'button' || obj_Elementos.name == 'str_EstruturaLinha' )            
            {
                continue;
            }
            
            var str_NVal = ""; 
            
            for( var int_X = 0; int_X < obj_Elementos.value.length; int_X++ ) 
            { 
                str_CodeA  = obj_Elementos.value.charCodeAt( int_X ); 
                str_CodeA  = decHex( str_CodeA ); 
                str_NVal  += "%" + str_CodeA; 
            } 
            var str_Tipo = obj_Elementos.type.toLowerCase(); 

            if( str_Tipo != "checkbox" && str_Tipo != "radio" ) 
            { 
                arr_Send[arr_Send.length] = obj_Elementos.name + "=" + str_NVal; 
            } 
            else 
            { 
                // conferir o valor que está sendo passado não está conferindo!!
                if ( str_Tipo == "checkbox" )
                {
                    arr_Send[arr_Send.length] = ( obj_Elementos.checked ? obj_Elementos.name + "=" + str_NVal : obj_Elementos.name + "=" ); 
                }
                else if ( str_Tipo == "radio" )
                {
                    if ( arr_Radio.length == 0 )
                    {
                        arr_Radio[arr_Radio.length] = ( obj_Elementos.checked ? obj_Elementos.name + "=" + str_NVal : obj_Elementos.name + "=" );
                    }
                    else
                    {
                        var arr_Qg = arr_Radio[( arr_Radio.length - 1 )].split( "=" );
                        if ( arr_Qg[0] == obj_Elementos.name )
                        {
                            if ( arr_Radio[( arr_Radio.length - 1 )] == obj_Elementos.name + "=" )
                            {
                                if ( obj_Elementos.checked )
                                {
                                    arr_Radio[( arr_Radio.length - 1 )] = obj_Elementos.name + "=" + str_NVal;
                                }
                            }
                        }
                        else
                        {
                            arr_Radio[arr_Radio.length] = ( obj_Elementos.checked ? obj_Elementos.name + "=" + str_NVal : obj_Elementos.name + "=" );
                        }
                    }
                }
            } 
        }
        return arr_Send.join( "&" ) + "&" + arr_Radio.join( "&" ); 
    }
    
    function ajaxFormsPost( obj_Form, str_Mensagem, str_Frame, int_NumeroLinha ) 
    { 
    	var str_Acao   = obj_Form.action; 
        var str_Metodo = obj_Form.method.toLowerCase(); 
        var teste      = false;

        if( !str_Acao ) 
        { 
            alert( "Erro: o Valor action do formulario nao foi definido" ); 
        } 
      
        str_FrameMensagem = ( window.parent.top ? "window.parent.top" : "window.parent" );
        put( "layMensagem", "", str_FrameMensagem  );
        put( "layMensagem", str_Mensagem, str_FrameMensagem );

        var str_Send = _pegaDadosForm( obj_Form );
        var obj_Ajax = ajaxInit(); 
    
        if( obj_Ajax ) 
        { 
            obj_Ajax.open( "POST", antiCacheRand( str_Acao ), true ); 
            obj_Ajax.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1" ); 
            
            obj_Ajax.onreadystatechange = function() 
            { 
                //execute aqui as acoes
                if ( obj_Ajax.readyState == 4 )
                {
                    if ( obj_Ajax.status == 200 )
                    {
                        // separa os retornos
                        // 1 parametro - tipo de retorno( m = mensagem, c = campo, g = grid, n = navegador )
                        
                        if ( urlDecode( obj_Ajax.responseText ).indexOf( "Ocorreu um Erro" ) > 0 )
                        {
                            put( "layErro", urlDecode( obj_Ajax.responseText ) );
                        }
                        else
                        {
                            var arr_Retorno = urlDecode( obj_Ajax.responseText.trim() ).split( "¬" );
                            for ( var int_Cont = 0; int_Cont < arr_Retorno.length; int_Cont++ )
                            {
                                var arr_Dados = arr_Retorno[int_Cont].split( "|" );
                                
                                //campos da tela
                                if ( arr_Dados[0].trim() == 'c' )
                                {
                                    if ( arr_Dados[1] == 'str_ItemMenu' )
                                    {
                                        var str_ItemMenu =  arr_Dados[1] + "=" + arr_Dados[2];   
                                    }
                                    else
                                    {
                                        put( arr_Dados[1], arr_Dados[2], str_Frame, true );
                                    }
                                }
                                // atualiza
                                else if ( arr_Dados[0].trim() == 'r' )
                                {
                            	    window.parent.top.frames[arr_Dados[1]].location.reload();
                                }
                                // caixa de mensagem
                                else if ( arr_Dados[0].trim() == 'm' )
                                {
                                    alert( arr_Dados[1] );
//                                    Ext.get( 'mb9' ).on( 'click', function(){
//                                        Ext.MessageBox.show({
//                                           title: 'Mensagem',
//                                           msg: 'Esta é uma mensagem!',
//                                           buttons: Ext.MessageBox.OK,
////                                           animEl: 'mb9',
////                                           fn: showResult,
//                                           icon: 'info'
////                                           icon: Ext.get('icons').dom.value
//                                       });
//                                    });
                                }
                                else
                                {
                                    put( 'layErro', urlDecode( obj_Ajax.responseText ) );
                                }
                            }
                        }
                        put( "layMensagem", "", str_FrameMensagem );
                    }
                    else
                    {
                        put( "layErro", "Falha no carregamento. " + httpStatus( obj_Ajax.status ) );
                    }
                }
            } 
            obj_Ajax.send( str_Send ); 
        } 
    }
    
    function ajaxSendGet( str_Acao, boo_Imagem, str_Mensagem, str_Frame ) 
    { 
        var boo_Erro = false;
        if ( !boo_Imagem )
        {
            put( 'layMensagem', str_Mensagem );
        }
        else
        {
            put( 'layCarregando', "<div align='center'><img src='/lib/classes/formulario/templates/img/novo_carregando.gif' border='0'></div>" );
        }
        
        var obj_Ajax = ajaxInit(); 

        if( obj_Ajax ) 
        { 
            obj_Ajax.open( "GET", antiCacheRand( str_Acao ), true ); 
            obj_Ajax.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1" ); 
            
            obj_Ajax.onreadystatechange = function() 
            { 
                //execute aqui as acoes
                if ( obj_Ajax.readyState == 4 )
                {
                    if ( obj_Ajax.status == 200 )
                    {
                        // separa os retornos
                        // 1 parametro - tipo de retorno( m = mensagem, c = campo, g = grid, n = navegador, a = arquivo )
                        
                        if ( urlDecode( obj_Ajax.responseText ).indexOf( "Ocorreu um Erro" ) > 0 )
                        {
                            boo_Erro = true;
                            put( "layErro", urlDecode( obj_Ajax.responseText ) );
                        }
                        else
                        {
                            var arr_Retorno = urlDecode( obj_Ajax.responseText ).split( "¬" );
                            for ( var int_Cont = 0; int_Cont < arr_Retorno.length; int_Cont++ )
                            {
                                var arr_Dados = arr_Retorno[int_Cont].split( "|" );
                                if ( arr_Dados[0].trim() == 'c' )
                                {
                                    if ( arr_Dados[1] == 'str_ItemMenu' )
                                    {
                                        var str_ItemMenu =  arr_Dados[1] + "=" + arr_Dados[2];   
                                    }
                                    else
                                    {
                                        put( arr_Dados[1], arr_Dados[2], str_Frame, true );
                                    }
                                }
                                else if ( arr_Dados[0].trim() == 'm' )
                                {
                                    alert( arr_Dados[1] );
                                }
                                else if ( arr_Dados[0].trim() == 'a' )
                                {
                                    window.parent.fraManutencao.location.href = arr_Dados[1].trim();
                                }
                                else if ( arr_Dados[0].trim() == 'l' )
                                {
                                    put( arr_Dados[1], urlDecode( arr_Dados[2] ) );
                                }
                                else
                                {
                                    boo_Erro = true;
                                    put( 'layErro', urlDecode( obj_Ajax.responseText ) );
                                }
                            }
                            // criado para mudar a layer dos endereços
                            if ( ( str_ItemMenu ) && ( str_ItemMenu.split( "=" ) )[1].substr( 0, 6 ) == 'Pessoa'  )
                            {
                                if ( window.parent.document.getElementById( 'layEndereco' ).style.position == 'relative' )
                                    window.parent.document.forms[0].elements['cod_municipio'].onblur();
                            }
                        }
                        
                        if ( !boo_Imagem )
                        {
                            put( "layMensagem", "" );
                        }
                        else
                        {
                            if ( !boo_Erro )
                            {
                                janelaMensagem( false, window.parent.top.document, 'layCarregando', 0, 0, 0 );
                            }
                            else
                            {
                                put( "layCarregando", "" );
                            }
                        }
                    }
                    else
                    {
                        put( "layErro", "Falha no carregamento . . ." + httpStatus( obj_Ajax.status ) );
                    }
                }
            } 
            obj_Ajax.send( null ); 
        } 
    }

    function ajaxSendForm( obj_Form, str_Objeto, boo_Imagem, str_ObjetoMensagem, str_Mensagem, str_Frame ) 
    { 
        var str_Acao   = obj_Form.action; 
        var str_Metodo = obj_Form.method.toLowerCase(); 

        if( !str_Acao ) 
        { 
            alert( "Erro: o Valor action do formulario nao foi definido" ); 
        } 
      
        var str_Send = _pegaDadosForm( obj_Form );
        
        put( str_Objeto, '', str_Frame  );
        
        if ( !boo_Imagem )
        {
            put( str_ObjetoMensagem, str_Mensagem, str_Frame );
        }
        else
        {
            put( str_ObjetoMensagem, "<div align='center'><img src='/lib/classes/formulario/templates/img/carregando.gif' border='0'></div>", str_Frame );
        }
        

        var obj_Ajax = ajaxInit(); 
    
        if( obj_Ajax ) 
        { 
            if( str_Metodo == "post" ) 
            { 
                obj_Ajax.open( "POST", antiCacheRand( str_Acao ), true ); 
                obj_Ajax.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1" ); 
            } 
            else 
            { 
                obj_Ajax.open( "GET", antiCacheRand( str_Acao + "?" + str_Send ), true ); 
            } 

            obj_Ajax.onreadystatechange = function() 
            { 
                //execute aqui as acoes 
                if ( obj_Ajax.readyState == 4 )
                {
					if ( obj_Ajax.status == 200 )
                    {
                        if ( urlDecode( obj_Ajax.responseText ).indexOf( "Ocorreu um Erro" ) > 0 )
                        {
                            boo_Erro = true;
                            put( "layErro", urlDecode( obj_Ajax.responseText ) );
                        }
                        else
                        {
                            put( str_Objeto, obj_Ajax.responseText, str_Frame );
                            doScript( urlDecode( obj_Ajax.responseText ) );
                            if ( str_Objeto != str_ObjetoMensagem )
                            {
                                put( str_ObjetoMensagem, "", str_Frame );
                            }
                        }
                    }
                    else
                    {
                        put( str_ObjetoMensagem, "Falha no carregamento. " + httpStatus( obj_Ajax.status ) );
                    }
                }
            } 
          
            if( str_Metodo == "post" ) 
            { 
                obj_Ajax.send( str_Send ); 
            } 
            else 
            { 
                obj_Ajax.send( null ); 
            } 
        } 
    }

    /**
    * Envia os dados via metodo GET
    *
    *
    */
    function ajaxSend()
    {
        // str_Url, boo_Retorno, var_ObjetoRetorno, str_ObjetoMensagem, str_Mensagem, str_Frame, boo_Janela, str_FrameMensagem
        var arr_Parametros = ajaxSend.arguments;
        var obj_Ajax       = ajaxInit(); 
        
        if( obj_Ajax ) 
        { 
            //Abre a conexão
            obj_Ajax.open( 'GET', antiCacheRand( arr_Parametros[0] ), true );
            
            // mostra uma mensagem de espera
            if ( typeof( arr_Parametros[1] ) == 'boolean' )
            {
                var boo_Janela         = arr_Parametros[1];
                var str_ObjetoMensagem = arr_Parametros[3];
                var str_Mensagem       = arr_Parametros[4];
            }
            else
            {
                var str_ObjetoMensagem = arr_Parametros[2];
                var str_Mensagem       = arr_Parametros[3];
                var str_Frame          = arr_Parametros[4];
            }
            str_FrameMensagem = ( ( typeof( arr_Parametros[7] ) == 'undefined' || arr_Parametros[7].trim() == '' ) ? '' : arr_Parametros[7] );
            put( str_ObjetoMensagem, str_Mensagem, str_FrameMensagem );
            
            //Função para tratamento do retorno
            obj_Ajax.onreadystatechange = function() 
            {
                // se o status for 4 já foi finalizada a leitura
                if ( obj_Ajax.readyState == 4 )
                {
                    // se o status for 200 está ok
                    if ( obj_Ajax.status == 200 )
                    {
                        // se o retorno for direto para somente um campo
                        if ( typeof( arr_Parametros[1] ) == 'string' )
                        {
                            if ( str_Frame != '' )
                                put( arr_Parametros[1], urlDecode( obj_Ajax.responseText ), str_Frame );
                            else
                                put( arr_Parametros[1], urlDecode( obj_Ajax.responseText ) );
                            doScript( urlDecode( obj_Ajax.responseText ) );
                        }
                        else // caso contrário ele separa os campos para serem alimentados
                        {
                            // pega o retorno e converte do padrão UTF-8 para ISO8859-1
//                            alert(obj_Ajax.responseText);
                            var arr_ValoresRetorno = urlDecode( obj_Ajax.responseText ).split( "¬" );
                            
                            // separa os campos de retorno
                            var arr_CamposRetorno  = arr_Parametros[2].split( "," );
                            
                            // atribui os valores dos campos
                            var int_Length = arr_CamposRetorno.length;
                            
                            for ( var int_Cont = 0; int_Cont < int_Length; int_Cont++ )
                            {
                                var arr_Campo = arr_CamposRetorno[int_Cont].split( "=>" );
                                if ( boo_Janela )
                                {
                                    put( arr_Campo[1], arr_ValoresRetorno[int_Cont], arr_Parametros[5] );
                                }
                                else
                                {
                                    put( arr_Campo[1], arr_ValoresRetorno[int_Cont] );
                                }
                            }

                            if ( arr_ValoresRetorno[0].trim() == '' )
                            {
                                alert( 'Registro não encontrado!' );
                            }
                        }
                        
                        if ( boo_Janela )
                        {
                        	window.parent.close();
                        }
                        else
                        {
                            if ( str_ObjetoMensagem != arr_Parametros[1] )
                                put( str_ObjetoMensagem, '', str_FrameMensagem );
                        }
                    }
                    else
                    {
                        put( str_ObjetoMensagem, "Falha no carregamento. " + httpStatus( obj_Ajax.status ), str_FrameMensagem );
                    }
                }
            }
            //Executa
            obj_Ajax.send( null )
        }
    }
    
    function doScript( texto ) {
        var ini, pos_src, fim, codigo;
        var objScript = null;
        
        ini = texto.indexOf( '<script', 0 );
        
        while ( ini != -1 ){
            var objScript = document.createElement("script");
            //Busca se tem algum src a partir do inicio do script
            pos_src = texto.indexOf( ' src', ini )
            ini     = texto.indexOf( '>'   , ini ) + 1;
    
            //Verifica se este e um bloco de script ou include para um arquivo de scripts
            if ( pos_src < ini && pos_src >= 0 ) {//Se encontrou um "src" dentro da tag script, esta e um include de um arquivo script
                //Marca como sendo o inicio do nome do arquivo para depois do src
                ini = pos_src + 4;
                //Procura pelo ponto do nome da extencao do arquivo e marca para depois dele
                fim = texto.indexOf('.', ini)+4;
                //Pega o nome do arquivo
                codigo = texto.substring(ini,fim);
                //Elimina do nome do arquivo os caracteres que possam ter sido pegos por engano
                codigo = codigo.replace("=","").replace(" ","").replace("\"","").replace("\"","").replace("\'","").replace("\'","").replace(">","");
                // Adiciona o arquivo de script ao objeto que sera adicionado ao documento
                objScript.src = codigo;
            }
            else {//Se nao encontrou um "src" dentro da tag script, esta e um bloco de codigo script
                // Procura o final do script
                fim = texto.indexOf('</script>', ini);
                // Extrai apenas o script
                codigo = texto.substring(ini,fim);
                // Adiciona o bloco de script ao objeto que sera adicionado ao documento
                objScript.text = codigo;
            }

            //Adiciona o script ao documento
            document.body.appendChild( objScript );
            // Procura a proxima tag de <script
            ini = texto.indexOf( '<script', fim );
    
            //Limpa o objeto de script
            objScript = null;
        }
    }
	
	function mudaLayer( booEquipe ) {
		var objLayer = ( document.all ? document.all( 'layCorpo' ) : document.getElementById( 'layCorpo' ) );
		objLayer.style.height = ( booEquipe ? '500px' : '412px' );
	}
