dojo.require("dijit.Dialog");

dojo.declare("OCDEDialog", null,

{
    constructor: function( initParamsArray )
    {
        var initParams = (initParamsArray) ? initParamsArray : new Array();
        this.timestamp = new Date().getTime();
        initParams['id'] = 'dialogBox' + this.timestamp;
        this.dialog = new dijit.Dialog(initParams);
    },

    showInfoDialog:function( title, text, closeBtnTxt )
    {
        var closeSubTemplate = (closeBtnTxt == "") ? "" : "<a href=\"Javascript:void(0);\" onclick=\"dijit.byId('dialogBox${timestamp}').hide();return false; \" class=\"btnSubmit\"><span>${closeBtnTxt}</span></a>";
        var basicTemplate = "<div class=\"modalWindow\"><h1>${title}</h1><p>${text}</p>" + closeSubTemplate + "<br class=\"clearBoth\" /></div>";
        this.dialog.setContent(dojo.string.substitute(basicTemplate, {title:title,text:text,closeBtnTxt:closeBtnTxt,timestamp:this.timestamp}));
        this.dialog.show();
    },

    showErrorDialog:function( title, errors, closeBtnTxt )
    {
        var errorList = this.messageListToString(errors);
        this.showInfoDialog("Error",errorList,"Ok");
    },

    showLoadedDialog:function( src )
    {
        this.dialog.setHref(src);
        this.dialog.show();
    },

    showConfirmDialog:function( title, text, noBtnClick, noBtnText, yesBtnClick, yesBtnText )
    {
        var confirmTemplate = "<div class=\"modalWindow\"><h1>${title}</h1><p>${text}</p><div class=\"dottedRuleTop\"><a href=\"Javascript:void(0);\" class=\"btnSubmitGrey\" onclick=\"dijit.byId('dialogBox${timestamp}').hide();${noBtnClick}return false;\"><span>${noBtnText}</span></a><div><a href=\"#\" class=\"btnSubmit\" onclick=\"dijit.byId('dialogBox${timestamp}').hide();${yesBtnClick}return false;\"><span>${yesBtnText}</span></a></div><br class=\"clearBoth\"/></div></div>";
        this.dialog.setContent(dojo.string.substitute(confirmTemplate, {title:title,text:text,noBtnText:noBtnText,noBtnClick:noBtnClick,yesBtnText:yesBtnText,yesBtnClick:yesBtnClick,timestamp:this.timestamp}));
        this.dialog.show();
    },

    showCourseSelectDialog:function( content )
    {
        var confirmTemplate = "<div class=\"modalWindow\">${content}</div>";
        var courseSelectTemplate = dojo.string.substitute( confirmTemplate, {content:content} );

        this.dialog.setContent( dojo.string.substitute( courseSelectTemplate, {timestamp:this.timestamp} ) );
        this.dialog.show();
    },

    messageListToString: function( messageList )
    {
        if(messageList.length == 0)
        {
            return "";
        }

        var messages = "<ul>";
        for ( var i = 0; i < messageList.length; i++ )
        {
            messages += ("<li>" + messageList[i] + "</li>");
        }
        messages += "</ul>";
        return messages;
    }
}
)
