function makeDialog(content/*string*/, description/*string*/, options/*map-optional*/){
	var id_suffix = new Date().getMilliseconds();
	var $dialogBox = $(
	    '<div id="dialog_'+id_suffix+'" title="">' +
		    '<div class="content"></div>' +
		    '<div class="description"></div>' +
		'</div>'
	);
	
	var opts = $.extend({
        autoOpen : false,
        width: 'auto',
        height: 'auto',
        modal: true/*,
        close: function(event, ui) {
            $(this).dialog('destroy');
            $("#dialog").remove();
        }*/
    }, options || {});
	
	var $d = $dialogBox.dialog(opts);
	
	$("div.content", $d).html(content || "");
	$("div.description", $d).html(description || "");
	
	$.extend($d, {
		getId : function(){
			return 'dialog_' + id_suffix;
		},
		getContentDom : function(){
			return this.find("div.content").get(0);
		},
		getDescriptionDom : function(){
			return this.find("div.description").get(0);
		},
		setContent : function(v){
			this.find("div.content").html(v);
		},
		setDescription : function(v){
			this.find("div.description").html(v);
		}
	});
	
	$.proxy($d, "getId");
	$.proxy($d, "getContentDom");
	$.proxy($d, "getDescriptionDom");
	$.proxy($d, "setContent");
	$.proxy($d, "setDescription");
	
	return $d;
}

function openDialog(content/*string*/, description/*string*/, options/*map-optional*/){
	return makeDialog(content, description, $.extend({
		autoOpen : true
	},
	options || {}));
}

