/*--------------------------------------------------------------------------------------------------

   utdat001 - Funções para tratamento de datas.

   Funções:
       utdat001_data_valida(DtStrVal)                 - Valida conteúdo da data no
                                                        formato DD/MM/AA ou DD/MM/AAAA.
       utdat001_data_maior_que(DtStrTeste, DtStrBase) - Testa se a primeira data é maior que a segunda.
       utdat001_data_maior_que_hoje(DtStrTeste)       - Testa se a data é maior que a data de hoje.

----------------------------------------------------------------------------------------------------

   Função......: utdat001_data_valida(DtStrVal)
   Responsável.: Kleber
   Data........: 26/11/2003
   Descrição...: Valida conteúdo da data no formato DD/MM/AA ou DD/MM/AAAA.
   Entradas....: DtStrVal - data no formato DD/MM/AA ou DD/MM/AAAA.
   Saídas......: Verdadeiro - se data é válida.
                 Falso      - se data é inválida

   Variáveis Externas.: utmsg001_msgerrotxt
                        utmsg001_imgseta.src

--------------------------------------------------------------------------------------------------*/
function utdat001_data_valida(DtStrVal)
{
    var ano = 0;                                  // força tipo = numérico

    if (DtStrVal.length == 8)                     // pega ano dependendo do formato
        ano = DtStrVal.substr(6,2);
    else
        ano = DtStrVal.substr(6,4);
                                                  // transforma data de string para objeto data
    var DtVal = new Date(ano, DtStrVal.substr(3,2) - 1, DtStrVal.substr(0,2), 12);

    var dia = "00" + DtVal.getDate();             // recupera data string do objeto data
    var mes = "00" + (DtVal.getMonth() + 1);
    var ano = "" + DtVal.getFullYear();

    dia = dia.substr(dia.length - 2, 2);
    mes = mes.substr(mes.length - 2, 2);

    var DtStrTst = dia + "/" + mes + "/" + ano;

    return ((DtStrVal == DtStrTst)? true:false);  // verifica se após a transformação ela continua igual
}

/*--------------------------------------------------------------------------------------------------

   Função......: utdat001_data_maior_que(DtStrTeste, DtStrBase)
   Responsável.: Kleber
   Data........: 26/11/2003
   Descrição...: Testa se a primeira data é maior que a segunda.
   Entradas....: DtStrTeste - Data a ser testada
                              data no formato DD/MM/AA ou DD/MM/AAAA.
                 DtStrBase  - Data base para o teste
                              data no formato DD/MM/AA ou DD/MM/AAAA.
   Saídas......: Verdadeiro - se primeira data é maior que a segunda.
                 Falso      - se primeira data não é maior.

--------------------------------------------------------------------------------------------------*/
function utdat001_data_maior_que(DtStrTeste, DtStrBase)
{
    var ano = 0;

    if (DtStrTeste.length == 8)
        ano = DtStrTeste.substr(7,2);
    else
        ano = DtStrTeste.substr(7,4);

    var DtTeste = new Date(ano, DtStrTeste.substr(3,2) - 1, DtStrTeste.substr(0,2), 12);

    if (DtStrBase.length == 8)
        ano = DtStrBase.substr(7,2);
    else
        ano = DtStrBase.substr(7,4);

    var DtBase = new Date(ano, DtStrBase.substr(3,2) - 1, DtStrBase.substr(0,2), 12);

    if (DtTeste.getFullYear() > DtBase.getFullYear())
        return true;
    else
        if (DtTeste.getFullYear() < DtBase.getFullYear())
            return false
        else
            if (DtTeste.getMonth() > DtBase.getMonth())
                return true;
            else
                if (DtTeste.getMonth() < DtBase.getMonth())
                    return false
                else
                    if (DtTeste.getDate() > DtBase.getDate())
                        return true;
                    else
                        return false;
}

/*--------------------------------------------------------------------------------------------------

   Função......: utdat001_data_maior_que_hoje(DtStrTeste)
   Responsável.: Kleber
   Data........: 26/11/2003
   Descrição...: Testa se a data é maior que a data de hoje.
   Entradas....: DtStrTeste - Data a ser testada
                              data no formato DD/MM/AA ou DD/MM/AAAA.
   Saídas......: Verdadeiro - se data é maior que a data de hoje.
                 Falso      - se data não é maior.

--------------------------------------------------------------------------------------------------*/
function utdat001_data_maior_que_hoje(DtStrTeste)
{
    var DtHoje = new Date();

    var DtStrHoje = ((DtHoje.getDate()  < 10)? "0": "") + DtHoje.getDate() + "/" +
                    ((DtHoje.getMonth() <  9)? "0": "") + (DtHoje.getMonth() + 1)
                    + "/" + DtHoje.getFullYear()

    return utdat001_data_maior_que(DtStrTeste, DtStrHoje);
}

/*--------------------------------------------------------------------------------------------------

   Função......: utdat001_data_maior_que_capemisa(DtStrTeste)
   Responsável.: Elias
   Data........: 13/11/2007
   Descrição...: Testa se a data de teste é maior que a data da Capemisa
   Entradas....: DtStrTeste - Data a ser testada
                              data no formato DD/MM/AA ou DD/MM/AAAA.
   Saídas......: Verdadeiro - se data teste > que a data da Capemisa.
                 Falso      - se data teste < que a data da Capemisa.

--------------------------------------------------------------------------------------------------*/
function utdat001_data_maior_que_capemisa(DtStrTeste)
{
    var DtStrCapemisa = "31" + "/" + "12" + "/" + "2007";

    return utdat001_data_maior_que(DtStrTeste, DtStrCapemisa);
}

/*--------------------------------------------------------------------------------------------------

   Função......: utdat001_data_hoje_maior_que_capemisa()
   Responsável.: Elias
   Data........: 13/11/2007
   Descrição...: Testa se a data de Hoje é maior que a data da Capemisa
   Entradas....: DtStrTeste - Data a ser testada
                              data no formato DD/MM/AA ou DD/MM/AAAA.
   Saídas......: Verdadeiro - se data hoje > que a data da Capemisa.
                 Falso      - se data hoje < que a data da Capemisa.

--------------------------------------------------------------------------------------------------*/
function utdat001_data_hoje_maior_que_capemisa()
{
    var DtHoje = new Date();

    var DtStrHoje = ((DtHoje.getDate()  < 10)? "0": "") + DtHoje.getDate() + "/" +
                    ((DtHoje.getMonth() <  9)? "0": "") + (DtHoje.getMonth() + 1)
                    + "/" + DtHoje.getFullYear()

    var DtStrCapemisa = "31" + "/" + "12" + "/" + "2007";

    return utdat001_data_maior_que(DtStrHoje, DtStrCapemisa);
}
