﻿/*

OBJETO ANOTAÇÃO 
	
este objeto controla as anotações feitas pelo aluno.

*/


var anotacao =
{
    //CLASSE_CSS_ANOTACAO: "WebCastersAnotacoes", // estilo para o DIV do campo de Anotacao

    codTransmissao: 0,
    codUsuario: 0,
    texto: "",

    template_carregado: false,
    digitando: false,

    _campoAnotacao: {},
    _campoAnotacaoAviso: {},

    //INICIA O MÓDULO
    iniciarAnotacao: function (CodTransmissao, CodUsuario) {
        anotacao.codTransmissao = CodTransmissao;
        anotacao.codUsuario = CodUsuario;

        WCAjax.BuscaAnotacao(anotacao.codTransmissao, anotacao.codUsuario, anotacao.BuscaAnotacao_callBack);
    },



    BuscaAnotacao_callBack: function (res) {

        if (visualizador.ajaxErrorCheck(res) < 1) {
            trace('anotacao.gravar : return ERROR!');
            return;
        }

        anotacao.texto = verificaSessao(res);

        if (anotacao.template_carregado) 
        {
            anotacao._campoAnotacao.value = anotacao.texto;
        }

    },


    //GRAVA ANOTAÇÃO
    gravar: function () {
        anotacao.texto = anotacao._campoAnotacao.value;

        var res = WCAjax.GravaConteudo(anotacao.codTransmissao, anotacao.codUsuario, anotacao.texto);

        if (visualizador.ajaxErrorCheck(res) < 1) {
            trace('anotacao.gravar : return ERROR!');
            return;
        }

        trace('Anotação gravada.');
        anotacao._campoAnotacaoAviso.innerHTML = "Anotação gravada.";
        anotacao.digitando = false;
    },

    timmer: {

        TempoSalvar: 4000, // o tempo para gravar
        t: null,

        Digitando: function (e) {

            switch (getKeyCode(e)) {
                case 37:
                case 38:
                case 39:
                case 40:
                case 33:
                case 34:
                case 35:
                case 36:
                case 20:
                case 144:
                case 17:
                case 18:
                case 45:
                case 16:
                case 91:
                case 9:
                    return;
            }

            if (!anotacao.digitando)
                anotacao._campoAnotacaoAviso.innerHTML = "";


            if (anotacao.timmer.t != null) {
                clearTimeout(anotacao.timmer.t);
            }

            anotacao.timmer.t = setTimeout("anotacao.gravar()", anotacao.timmer.TempoSalvar);
            anotacao.digitando = true;

        }

    },

    //ATIVA E DESATIVA TEMPLATE
    ativarInterface: function (campo, campoAviso) {

        anotacao.template_carregado = true;

        anotacao._campoAnotacao = campo;
        anotacao._campoAnotacao.value = anotacao.texto;

        anotacao._campoAnotacaoAviso = campoAviso;
        anotacao._campoAnotacaoAviso.innerHTML = "";

        simpleAddEvent(anotacao._campoAnotacao, 'keydown', anotacao.timmer.Digitando);

        trace('A anotação foi carregada.');

    },

    desativarInterface: function () {

        anotacao.template_carregado = false;

        if (anotacao.timmer.t != null) {
            clearTimeout(anotacao.timmer.t);
        }

        anotacao.gravar();

        anotacao._campoAnotacao = {};
        anotacao.texto = anotacao._campoAnotacao.innerHTML;

        anotacao._campoAnotacaoAviso = {};

    }
};


