enyo.kind({
        name: "Ares.ErrorPopup",
        kind: "onyx.Popup",
        modal: true,
        centered: true,
        floating: true,
        published: {
        	errorMsg: "unknown error",
		details: ""
        },
        components: [
                {tag: "h3", content: "Oh, no!?"},
                {name: "msg"},
                {tag: "br"},
                {name: "okButton", kind: "onyx.Button", classes: "onyx-affirmative", content: "Ok", ontap: "hideErrorPopup"},
                {name: "detailsBtn", kind: "onyx.Button", content: "Details...", ontap: "toggleDetails", showing: false},
                {tag: "br"},
		{name: "detailsDrw", kind: "onyx.Drawer", open: false, showing:false, components: [
			{name: "detailsTxt", kind: "onyx.TextArea", disabled: true, fit:true, classes:"ajax-sample-source"}
		]}
        ],
        create: function() {
                this.inherited(arguments);
        },
        errorMsgChanged: function (oldVal) {
        	this.$.msg.setContent(this.errorMsg);
        },
	detailsChanged: function(oldVal) {
		if (this.details) {
			this.$.detailsBtn.show();
			this.$.detailsDrw.show();
			this.$.detailsDrw.setOpen(false);
			this.$.detailsTxt.setValue(this.details);
		} else {
			this.$.detailsBtn.hide();
			this.$.detailsDrw.hide();
			this.$.detailsTxt.setValue("");
		}
	},
	toggleDetails: function() {
		this.$.detailsDrw.setOpen(!this.$.detailsDrw.open);
	},
        hideErrorPopup: function(inSender, inEvent) {
		this.setErrorMsg();
		this.setDetails();
                this.hide();
        },
        raise: function(msg) { 
			this.setErrorMsg(msg);
			this.show();
		}
});

@@ -156,24 +156,17 @@
 shed: %7B%0A
-        
+%09
 %09errorMs
@@ -952,24 +952,17 @@
 dVal) %7B%0A
-        
+%09
 %09this.$.
@@ -1568,14 +1568,22 @@
 (msg
+, details
 ) %7B %0A
-%09
 %09%09th
@@ -1600,24 +1600,51 @@
 rMsg(msg);%0A%09
+%09this.setDetails(details);%0A
 %09%09this.show(
@@ -1646,16 +1646,15 @@
 show();%0A
-%09
 %09%7D%0A%7D);%0A

Fix Ares.ErrorPopup