<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,6 +1,6 @@
-&#65279;/*
+&#65279;/*!
  * jQuery blockUI plugin
- * Version 2.23 (21-JUN-2009)
+ * Version 2.25 (29-AUG-2009)
  * @requires jQuery v1.2.3 or later
  *
  * Examples at: http://malsup.com/jquery/block/
@@ -33,15 +33,15 @@ $.unblockUI = function(opts) { remove(window, opts); };
 
 // convenience method for quick growl-like notifications  (http://www.google.com/search?q=growl)
 $.growlUI = function(title, message, timeout, onClose) {
-	var $m = $('&lt;div class=&quot;growlUI&quot;&gt;&lt;/div&gt;');
-	if (title) $m.append('&lt;h1&gt;'+title+'&lt;/h1&gt;');
-	if (message) $m.append('&lt;h2&gt;'+message+'&lt;/h2&gt;');
-	if (timeout == undefined) timeout = 3000;
+    var $m = $('&lt;div class=&quot;growlUI&quot;&gt;&lt;/div&gt;');
+    if (title) $m.append('&lt;h1&gt;'+title+'&lt;/h1&gt;');
+    if (message) $m.append('&lt;h2&gt;'+message+'&lt;/h2&gt;');
+    if (timeout == undefined) timeout = 3000;
     $.blockUI({
-		message: $m, fadeIn: 700, fadeOut: 1000, centerY: false,
-		timeout: timeout, showOverlay: false,
-		onUnblock: onClose, 
-		css: $.blockUI.defaults.growlCSS
+        message: $m, fadeIn: 700, fadeOut: 1000, centerY: false,
+        timeout: timeout, showOverlay: false,
+        onUnblock: onClose, 
+        css: $.blockUI.defaults.growlCSS
     });
 };
 
@@ -63,13 +63,18 @@ $.fn.unblock = function(opts) {
     });
 };
 
-$.blockUI.version = 2.23; // 2nd generation blocking at no extra cost!
+$.blockUI.version = 2.25; // 2nd generation blocking at no extra cost!
 
 // override these in your code to change the default behavior and style
 $.blockUI.defaults = {
     // message displayed when blocking (use null for no message)
     message:  '&lt;h1&gt;Please wait...&lt;/h1&gt;',
 
+    title: null,      // title string; only used when theme == true
+    draggable: true,  // only used when theme == true (requires jquery-ui.js to be loaded)
+    
+    theme: false, // set to true to use with jQuery UI themes
+    
     // styles for the message when blocking; if you wish to disable
     // these and use an external stylesheet then do this in your code:
     // $.blockUI.defaults.css = {};
@@ -85,6 +90,13 @@ $.blockUI.defaults = {
         backgroundColor:'#fff',
         cursor:         'wait'
     },
+    
+    // minimal style set used when themes are used
+    themedCSS: {
+        width:          '30%',
+        top:            '40%',
+        left:           '35%'
+    },
 
     // styles for the overlay
     overlayCSS:  {
@@ -93,28 +105,28 @@ $.blockUI.defaults = {
         cursor:          'wait'
     },
 
-	// styles applied when using $.growlUI
-	growlCSS: {
-		width:    '350px',
-		top:      '10px',
-		left:     '',
-		right:    '10px',
-	    border:   'none',
-	    padding:  '5px',
-	    opacity:   0.6,
-		cursor:    null,
-	    color:    '#fff',
-	    backgroundColor: '#000',
-	    '-webkit-border-radius': '10px',
-	    '-moz-border-radius':    '10px'
-	},
-	
-	// IE issues: 'about:blank' fails on HTTPS and javascript:false is s-l-o-w
-	// (hat tip to Jorge H. N. de Vasconcelos)
-	iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank',
-
-	// force usage of iframe in non-IE browsers (handy for blocking applets)
-	forceIframe: false,
+    // styles applied when using $.growlUI
+    growlCSS: {
+        width:  '350px',
+        top:        '10px',
+        left:       '',
+        right:  '10px',
+        border: 'none',
+        padding:    '5px',
+        opacity:    0.6,
+        cursor:  null,
+        color:      '#fff',
+        backgroundColor: '#000',
+        '-webkit-border-radius': '10px',
+        '-moz-border-radius':     '10px'
+    },
+    
+    // IE issues: 'about:blank' fails on HTTPS and javascript:false is s-l-o-w
+    // (hat tip to Jorge H. N. de Vasconcelos)
+    iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank',
+
+    // force usage of iframe in non-IE browsers (handy for blocking applets)
+    forceIframe: false,
 
     // z-index for the blocking overlay
     baseZ: 1000,
@@ -127,8 +139,8 @@ $.blockUI.defaults = {
     // on &quot;short&quot; pages.  disable if you wish to prevent changes to the body height
     allowBodyStretch: true,
 
-	// enable if you want key and mouse events to be disabled for content that is blocked
-	bindEvents: true,
+    // enable if you want key and mouse events to be disabled for content that is blocked
+    bindEvents: true,
 
     // be default blockUI will supress tab navigation from leaving blocking content
     // (if bindEvents is true)
@@ -140,11 +152,11 @@ $.blockUI.defaults = {
     // fadeOut time in millis; set to 0 to disable fadeOut on unblock
     fadeOut:  400,
 
-	// time in millis to wait before auto-unblocking; set to 0 to disable auto-unblock
-	timeout: 0,
+    // time in millis to wait before auto-unblocking; set to 0 to disable auto-unblock
+    timeout: 0,
 
-	// disable if you don't want to show the overlay
-	showOverlay: true,
+    // disable if you don't want to show the overlay
+    showOverlay: true,
 
     // if true, focus will be placed in the first available input field when
     // page blocking
@@ -174,6 +186,7 @@ function install(el, opts) {
     opts = $.extend({}, $.blockUI.defaults, opts || {});
     opts.overlayCSS = $.extend({}, $.blockUI.defaults.overlayCSS, opts.overlayCSS || {});
     var css = $.extend({}, $.blockUI.defaults.css, opts.css || {});
+    var themedCSS = $.extend({}, $.blockUI.defaults.themedCSS, opts.themedCSS || {});
     msg = msg === undefined ? opts.message : msg;
 
     // remove the current block (if there is one)
@@ -191,8 +204,8 @@ function install(el, opts) {
         data.parent = node.parentNode;
         data.display = node.style.display;
         data.position = node.style.position;
-		if (data.parent)
-			data.parent.removeChild(node);
+        if (data.parent)
+            data.parent.removeChild(node);
     }
 
     var z = opts.baseZ;
@@ -203,15 +216,32 @@ function install(el, opts) {
     // layer3 is the message content that is displayed while blocking
 
     var lyr1 = ($.browser.msie || opts.forceIframe) 
-    	? $('&lt;iframe class=&quot;blockUI&quot; style=&quot;z-index:'+ (z++) +';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0&quot; src=&quot;'+opts.iframeSrc+'&quot;&gt;&lt;/iframe&gt;')
+        ? $('&lt;iframe class=&quot;blockUI&quot; style=&quot;z-index:'+ (z++) +';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0&quot; src=&quot;'+opts.iframeSrc+'&quot;&gt;&lt;/iframe&gt;')
         : $('&lt;div class=&quot;blockUI&quot; style=&quot;display:none&quot;&gt;&lt;/div&gt;');
     var lyr2 = $('&lt;div class=&quot;blockUI blockOverlay&quot; style=&quot;z-index:'+ (z++) +';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0&quot;&gt;&lt;/div&gt;');
-    var lyr3 = full ? $('&lt;div class=&quot;blockUI blockMsg blockPage&quot; style=&quot;z-index:'+z+';display:none;position:fixed&quot;&gt;&lt;/div&gt;')
+    
+    var lyr3;
+    if (opts.theme &amp;&amp; full) {
+        var s = '&lt;div class=&quot;blockUI blockMsg blockPage ui-dialog ui-widget ui-corner-all&quot; style=&quot;z-index:'+z+';display:none;position:fixed&quot;&gt;' +
+                    '&lt;div class=&quot;ui-widget-header ui-dialog-titlebar blockTitle&quot;&gt;'+(opts.title || '&amp;nbsp;')+'&lt;/div&gt;' +
+                    '&lt;div class=&quot;ui-widget-content ui-dialog-content&quot;&gt;&lt;/div&gt;' +
+                '&lt;/div&gt;';
+        lyr3 = $(s);
+    }
+    else {
+        lyr3 = full ? $('&lt;div class=&quot;blockUI blockMsg blockPage&quot; style=&quot;z-index:'+z+';display:none;position:fixed&quot;&gt;&lt;/div&gt;')
                     : $('&lt;div class=&quot;blockUI blockMsg blockElement&quot; style=&quot;z-index:'+z+';display:none;position:absolute&quot;&gt;&lt;/div&gt;');
+    }                           
 
     // if we have a message, style it
-    if (msg)
-        lyr3.css(css);
+    if (msg) {
+        if (opts.theme) {
+            lyr3.css(themedCSS);
+            lyr3.addClass('ui-widget-content');
+        }
+        else 
+            lyr3.css(css);
+    }
 
     // style the overlay
     if (!opts.applyPlatformOpacityRules || !($.browser.mozilla &amp;&amp; /Linux/.test(navigator.platform)))
@@ -223,6 +253,13 @@ function install(el, opts) {
         lyr1.css('opacity',0.0);
 
     $([lyr1[0],lyr2[0],lyr3[0]]).appendTo(full ? 'body' : el);
+    
+    if (opts.theme &amp;&amp; opts.draggable &amp;&amp; $.fn.draggable) {
+        lyr3.draggable({
+            handle: '.ui-dialog-titlebar',
+            cancel: 'li'
+        });
+    }
 
     // ie7 must use absolute positioning in quirks mode and to account for activex issues (when scrolling)
     var expr = setExpr &amp;&amp; (!$.boxModel || $('object,embed', full ? null : el).length &gt; 0);
@@ -254,35 +291,38 @@ function install(el, opts) {
                 if (full) s.setExpression('top','(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + &quot;px&quot;');
                 s.marginTop = 0;
             }
-			else if (!opts.centerY &amp;&amp; full) {
-				var top = (opts.css &amp;&amp; opts.css.top) ? parseInt(opts.css.top) : 0;
-				var expression = '((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + '+top+') + &quot;px&quot;';
+            else if (!opts.centerY &amp;&amp; full) {
+                var top = (opts.css &amp;&amp; opts.css.top) ? parseInt(opts.css.top) : 0;
+                var expression = '((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + '+top+') + &quot;px&quot;';
                 s.setExpression('top',expression);
-			}
+            }
         });
     }
 
     // show the message
-	if (msg) {
-		lyr3.append(msg);
-		if (msg.jquery || msg.nodeType)
-			$(msg).show();
-	}
-
-	if (($.browser.msie || opts.forceIframe) &amp;&amp; opts.showOverlay)
-		lyr1.show(); // opacity is zero
-	if (opts.fadeIn) {
-		if (opts.showOverlay)
-			lyr2._fadeIn(opts.fadeIn);
-		if (msg)
-			lyr3.fadeIn(opts.fadeIn);
-	}
-	else {
-		if (opts.showOverlay)
-			lyr2.show();
-		if (msg)
-			lyr3.show();
-	}
+    if (msg) {
+        if (opts.theme)
+            lyr3.find('.ui-widget-content').append(msg);
+        else
+            lyr3.append(msg);
+        if (msg.jquery || msg.nodeType)
+            $(msg).show();
+    }
+
+    if (($.browser.msie || opts.forceIframe) &amp;&amp; opts.showOverlay)
+        lyr1.show(); // opacity is zero
+    if (opts.fadeIn) {
+        if (opts.showOverlay)
+            lyr2._fadeIn(opts.fadeIn);
+        if (msg)
+            lyr3.fadeIn(opts.fadeIn);
+    }
+    else {
+        if (opts.showOverlay)
+            lyr2.show();
+        if (msg)
+            lyr3.show();
+    }
 
     // bind key and mouse events
     bind(1, el, opts);
@@ -296,28 +336,33 @@ function install(el, opts) {
     else
         center(lyr3[0], opts.centerX, opts.centerY);
 
-	if (opts.timeout) {
-		// auto-unblock
-		var to = setTimeout(function() {
-			full ? $.unblockUI(opts) : $(el).unblock(opts);
-		}, opts.timeout);
-		$(el).data('blockUI.timeout', to);
-	}
+    if (opts.timeout) {
+        // auto-unblock
+        var to = setTimeout(function() {
+            full ? $.unblockUI(opts) : $(el).unblock(opts);
+        }, opts.timeout);
+        $(el).data('blockUI.timeout', to);
+    }
 };
 
 // remove the block
 function remove(el, opts) {
-    var full = el == window;
-	var $el = $(el);
+    var full = (el == window);
+    var $el = $(el);
     var data = $el.data('blockUI.history');
-	var to = $el.data('blockUI.timeout');
-	if (to) {
-		clearTimeout(to);
-		$el.removeData('blockUI.timeout');
-	}
+    var to = $el.data('blockUI.timeout');
+    if (to) {
+        clearTimeout(to);
+        $el.removeData('blockUI.timeout');
+    }
     opts = $.extend({}, $.blockUI.defaults, opts || {});
     bind(0, el, opts); // unbind events
-    var els = full ? $('body').children().filter('.blockUI') : $('.blockUI', el);
+    
+    var els;
+    if (full) // crazy selector to handle odd field errors in ie6/7
+        els = $('body').children().filter('.blockUI').add('body &gt; .blockUI');
+    else
+        els = $('.blockUI', el);
 
     if (full)
         pageBlock = pageBlockEls = null;
@@ -341,8 +386,8 @@ function reset(els,data,opts,el) {
     if (data &amp;&amp; data.el) {
         data.el.style.display = data.display;
         data.el.style.position = data.position;
-		if (data.parent)
-			data.parent.appendChild(data.el);
+        if (data.parent)
+            data.parent.appendChild(data.el);
         $(data.el).removeData('blockUI.history');
     }
 
@@ -360,17 +405,17 @@ function bind(b, el, opts) {
     if (!full)
         $el.data('blockUI.isBlocked', b);
 
-	// don't bind events when overlay is not in use or if bindEvents is false
+    // don't bind events when overlay is not in use or if bindEvents is false
     if (!opts.bindEvents || (b &amp;&amp; !opts.showOverlay)) 
-		return;
+        return;
 
     // bind anchors and inputs for mouse and key events
     var events = 'mousedown mouseup keydown keypress';
     b ? $(document).bind(events, opts, handler) : $(document).unbind(events, handler);
 
 // former impl...
-//    var $e = $('a,:input');
-//    b ? $e.bind(events, opts, handler) : $e.unbind(events, handler);
+//       var $e = $('a,:input');
+//       b ? $e.bind(events, opts, handler) : $e.unbind(events, handler);
 };
 
 // event handler to suppress keyboard/mouse events when blocking</diff>
      <filename>jquery.blockUI.js</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>de2dbbc3bd2759b65e20ab90007b577bbf2ece7f</id>
    </parent>
  </parents>
  <author>
    <name>Mike</name>
    <email>admin@MacBookPro.local</email>
  </author>
  <url>http://github.com/malsup/blockui/commit/7a438b5fcdee56e8e57a6919004fa5690e8fe002</url>
  <id>7a438b5fcdee56e8e57a6919004fa5690e8fe002</id>
  <committed-date>2009-08-30T07:41:42-07:00</committed-date>
  <authored-date>2009-08-30T07:41:42-07:00</authored-date>
  <message>ver 2.25 - add support for jQuery UI themes</message>
  <tree>24a152a0ba61b0043ca30ad442597d79a1a226dd</tree>
  <committer>
    <name>Mike</name>
    <email>admin@MacBookPro.local</email>
  </committer>
</commit>
