/* Foreløpig en kopi fra form.js. */
// Klasse for håndtering av (feil-)meldinger i en side.
// OBS! Kopi ligger i messagebox.js!

GT = new GTjs("no.ravn.learningmodule.messagebox.js");

MessageBox = Class.create();
MessageBox.prototype = {
    initialize: function(msg_container_id) {
        this.msg_container_id = msg_container_id;
    },

    // Shows an error-message
    show_message: function(msg, classname) {
        this.clear_msg();
        var id = this.msg_container_id;
        var node = $(id);
        if (node) {
            node.className = classname;
            var msg_str = document.createTextNode(msg+' ');
            node.appendChild(msg_str);
            var link = document.createElement('a');
            link.href='#';
            link.onclick = function() {
                var node = $(id);
                Effect.Fade(id,{duration: 0.25, queue: 'end'});
                return false;
            };
            link.appendChild(document.createTextNode('OK'));
            node.appendChild(link);
            Effect.Appear(id,{duration: 0.25, queue: 'end'});
        } else {
            alert(GT._("Node ikke funnet i Messagebox::show_message(): ")+this.msg_container_id);
        }
    },

    show_dom_msg: function(domnode, classname) {
        this.clear_msg();
        var id = this.msg_container_id;
        var node = $(id);
        if (node) {
            node.className = classname;
            node.insert({top: domnode});
            var link = document.createElement('a');
            link.href='#';
            link.onclick = function() {
                var node = $(id);
                Effect.Fade(id,{duration: 0.25, queue: 'end'});
                return false;
            };
            link.appendChild(document.createTextNode('OK'));
            node.appendChild(link);
            Effect.Appear(id,{duration: 0.25, queue: 'end'});
        } else {
            alert(GT._("Node ikke funnet i Messagebox::show_message(): ")+this.msg_container_id);
        }
    },

    clear_msg: function() {
        var elem = $(this.msg_container_id);
        elem.hide();
        while(elem.firstChild) { elem.removeChild(elem.firstChild); }
    }
};


