﻿/*

Library for displaying errors to the user

@requires: YAHOOO,DrillSpot

*/


DrillSpot.errors = { };

var e = DrillSpot.errors;

e.ErrorWindow = function(name,title,mainMessage)
{
    this.name = name;
    this.title = title;
    this.mainMessage = mainMessage;
    this.messages = [];
    
    this.win = new YAHOO.widget.SimpleDialog(name, 
                { 
                    width: '400px', 
                    draggable: true, 
                    close: false,
                    fixedcenter: true,
                    modal: true
                });
    this.win.cfg.queueProperty('icon',YAHOO.widget.SimpleDialog.ICON_WARN);
    this.win.cfg.queueProperty('buttons',     
        [
            {
                text : 'OK',
                handler : function() { this.hide(); }
            }
        ]);         
};
e.ErrorWindow.prototype = 
{
    ERROR_LIST_CLASS : 'error_list',

    addMessage : function(msg)
    {
        this.messages.push(msg);
    },    

    show : function()
    {
        this.win.setHeader(this.title); 
        this.win.setFooter('Thank You!'); 
        
        if (this.mainMessage && this.mainMessage.length > 0)
            this.win.setBody(this.mainMessage); 
        
        if (this.messages.length > 0)
        {
            var ul = document.createElement('ul');
            
            DrillSpot.Dom.setClass(ul,this.ERROR_LIST_CLASS);
            
            for (var i = 0; i < this.messages.length; i++)
            {
                var li = document.createElement('li');
                li.innerHTML = this.messages[i];
                
                ul.appendChild(li);
            }
            this.win.body.appendChild(ul);
        }
   
        this.win.render(document.body); 
    }
};
