// класс для отображения сообщений Ajax
// классы состояния: ajax_error[_short], ajax_load[_short], ajax_ok[_short];
// Поддерживает 2 режима отображения - длинный и короткий (предположительно, только иконки)
var AjaxMessage =  Class.create({
    initialize : function(id, timeout, pars) {
         this.id = id;
         this.timeout = timeout * 1000;  // время в секундах очистки сообщения после завершения (?)
         this.params = pars || {};  // пока только short : 1
         },
    set_timeout : function(ms) {
         this.timeout = ms;
    },
    clear : function() {
        $(this.id).className = "";
        $(this.id).innerHTML = "";
    },

    timeout_clear : function() {
        if(!this.timeout) return;
        setTimeout( "$('"+this.id+"').innerHTML=''; $('"+this.id+"').className = ''", this.timeout);
    },

    error : function(text) {
        $(this.id).show();
        if( !this.params['short'] ) {
            $(this.id).removeClassName("ajax_load");
            $(this.id).addClassName("ajax_error");
            $(this.id).innerHTML = text || 'Ошибка';
        } else {
            $(this.id).removeClassName("ajax_load_short");
            $(this.id).addClassName("ajax_error_short");
            $(this.id).title = text || 'Ошибка';
        }
        this.timeout_clear();
    },
    ok : function(text) {
        $(this.id).show();
        if( !this.params['short'] ) {
            $(this.id).removeClassName("ajax_load");
            $(this.id).addClassName("ajax_ok");
            $(this.id).innerHTML = text || 'OK';
        } else {
            $(this.id).removeClassName("ajax_load_short");
            $(this.id).addClassName("ajax_ok_short");
            $(this.id).title = text || 'Успешно выполнено';
        }
        this.timeout_clear();
    },
    loading : function(text) {
        $(this.id).show();
        if( !this.params['short'] ) {
            $(this.id).addClassName("ajax_load");
            $(this.id).innerHTML = text || 'Идёт загрузка...';
        } else {
            $(this.id).addClassName("ajax_load_short");
            $(this.id).title = text || 'Загрузка...';
        }
    }
});
