+++ /dev/null
-(function($)\r
-{\r
- //If the UI scope is not availalable, add it\r
- $.ui = $.ui || {};\r
-\r
- $.fn.dialog = function(o) {\r
- return this.each(function() {\r
- if (!$(this).is(".ui-dialog")) new $.ui.dialog(this, o);\r
- });\r
- }\r
- $.fn.dialogOpen = function() {\r
- return this.each(function() {\r
- var contentEl;\r
- if ($(this).parents(".ui-dialog").length) contentEl = this;\r
- if (!contentEl && $(this).is(".ui-dialog")) contentEl = $('.ui-dialog-content', this)[0];\r
- $.ui.dialogOpen(contentEl)\r
- });\r
- }\r
- $.fn.dialogClose = function() {\r
- return this.each(function() {\r
- var contentEl;\r
- if ($(this).parents(".ui-dialog").length) contentEl = this;\r
- if (!contentEl && $(this).is(".ui-dialog")) contentEl = $('.ui-dialog-content', this)[0];\r
- $.ui.dialogClose(contentEl);\r
- });\r
- }\r
-\r
- $.ui.dialog = function(el, o) {\r
- \r
- var options = {\r
- width: 300,\r
- height: 200,\r
- position: 'center',\r
- buttons: [],\r
- modal: false,\r
- drag: true,\r
- resize: true,\r
- shadow: false // It's quite slow\r
- };\r
- var o = o || {}; $.extend(options, o); //Extend and copy options\r
- this.element = el; var self = this; //Do bindings\r
- $.data(this.element, "ui-dialog", this);\r
-\r
- var uiDialogContent = $(el).addClass('ui-dialog-content')\r
- .wrap(document.createElement('div'))\r
- .wrap(document.createElement('div'));\r
- var uiDialogContainer = uiDialogContent.parent().addClass('ui-dialog-container').css({position: 'relative'});\r
- var uiDialog = uiDialogContainer.parent()\r
- .addClass('ui-dialog').addClass(uiDialogContent.attr('className'))\r
- .css({position: 'absolute', width: options.width, height: options.height});\r
- \r
- if (options.modal == false && options.resize == true) {\r
- uiDialog.append("<div class='ui-resizable-n ui-resizable-handle'></div>")\r
- .append("<div class='ui-resizable-s ui-resizable-handle'></div>")\r
- .append("<div class='ui-resizable-e ui-resizable-handle'></div>")\r
- .append("<div class='ui-resizable-w ui-resizable-handle'></div>")\r
- .append("<div class='ui-resizable-ne ui-resizable-handle'></div>")\r
- .append("<div class='ui-resizable-se ui-resizable-handle'></div>")\r
- .append("<div class='ui-resizable-sw ui-resizable-handle'></div>")\r
- .append("<div class='ui-resizable-nw ui-resizable-handle'></div>");\r
- \r
- uiDialog.resizable();\r
- }\r
-\r
- uiDialogContainer.prepend('<div class="ui-dialog-titlebar"></div>');\r
- var uiDialogTitlebar = $('.ui-dialog-titlebar', uiDialogContainer);\r
- var title = (options.title) ? options.title : (uiDialogContent.attr('title')) ? uiDialogContent.attr('title') : '';\r
- uiDialogTitlebar.append('<span class="ui-dialog-title">' + title + '</span>');\r
- uiDialogTitlebar.append('<div class="ui-dialog-titlebar-close"></div>');\r
- $('.ui-dialog-titlebar-close', uiDialogTitlebar)\r
- .hover(function() { $(this).addClass('ui-dialog-titlebar-close-hover'); }, \r
- function() { $(this).removeClass('ui-dialog-titlebar-close-hover'); })\r
- .mousedown(function(ev) {\r
- ev.stopPropagation();\r
- })\r
- .click(function() {\r
- self.close();\r
- });\r
- var l = 0;\r
- $.each(options.buttons, function() { l = 1; return false; });\r
- if (l == 1) {\r
- uiDialog.append('<div class="ui-dialog-buttonpane"></div>');\r
- var uiDialogButtonPane = $('.ui-dialog-buttonpane', uiDialog);\r
- $.each(options.buttons, function(name, value) {\r
- var btn = $(document.createElement('button')).text(name).click(value);\r
- uiDialogButtonPane.append(btn);\r
- });\r
- }\r
- \r
- if (options.modal == false && options.drag == true) {\r
- uiDialog.draggable({ handle: '.ui-dialog-titlebar' });\r
- }\r
- \r
- this.open = function() {\r
- var wnd = $(window), top = 0, left = 0;\r
- switch (options.position) {\r
- case 'center':\r
- top = (wnd.height() / 2) - (uiDialog.height() / 2);\r
- left = (wnd.width() / 2) - (uiDialog.width() / 2);\r
- break;\r
- case 'left':\r
- top = (wnd.height() / 2) - (uiDialog.height() / 2);\r
- left = 0;\r
- break;\r
- case 'top':\r
- top = 0;\r
- left = (wnd.width() / 2) - (uiDialog.width() / 2);\r
- break;\r
- }\r
- uiDialog.css({top: top, left: left});\r
- uiDialog.appendTo('body').show();\r
- };\r
-\r
- this.close = function() {\r
- uiDialog.hide();\r
- };\r
-\r
- uiDialog.show();\r
- this.open();\r
- if (options.shadow && $.fn.shadow != undefined) {\r
- uiDialog.shadow();\r
- }\r
- }\r
-\r
- $.ui.dialogOpen = function(el) {\r
- $.data(el, "ui-dialog").open();\r
- }\r
-\r
- $.ui.dialogClose = function(el) {\r
- $.data(el, "ui-dialog").close();\r
- }\r
-\r
-})(jQuery);\r