﻿; (function ($) { if (/1\.(0|1|2)\.(0|1|2)/.test($.fn.jquery) || /^1.1/.test($.fn.jquery)) { alert('blockUI requires jQuery v1.2.3 or later!  You are using v' + $.fn.jquery); return } $.fn._fadeIn = $.fn.fadeIn; var B = function () { }; var C = document.documentMode || 0; var D = $.browser.msie && (($.browser.version < 8 && !C) || C < 8); var E = $.browser.msie && /MSIE 6.0/.test(navigator.userAgent) && !C; $.blockUI = function (a) { install(window, a) }; $.unblockUI = function (a) { remove(window, a) }; $.growlUI = function (a, b, c, d) { var e = $('<div class="growlUI"></div>'); if (a) e.append('<h1>' + a + '</h1>'); if (b) e.append('<h2>' + b + '</h2>'); if (c == undefined) c = 3000; $.blockUI({ message: e, fadeIn: 700, fadeOut: 1000, centerY: false, timeout: c, showOverlay: false, onUnblock: d, css: $.blockUI.defaults.growlCSS }) }; $.fn.block = function (a) { return this.unblock({ fadeOut: 0 }).each(function () { if ($.css(this, 'position') == 'static') this.style.position = 'relative'; if ($.browser.msie) this.style.zoom = 1; install(this, a) }) }; $.fn.unblock = function (a) { return this.each(function () { remove(this, a) }) }; $.blockUI.version = 2.33; $.blockUI.defaults = { message: '<h1>Please wait...</h1>', title: null, draggable: true, theme: false, css: { padding: 0, margin: 0, width: '30%', top: '40%', left: '35%', textAlign: 'center', color: '#000', border: '3px solid #aaa', backgroundColor: '#fff', cursor: 'wait' }, themedCSS: { width: '30%', top: '40%', left: '35%' }, overlayCSS: { backgroundColor: '#000', opacity: 0.6, cursor: 'wait' }, growlCSS: { width: '350px', top: '10px', left: '', right: '10px', border: 'none', padding: '5px', opacity: 0.6, cursor: 'default', color: '#fff', backgroundColor: '#000', '-webkit-border-radius': '10px', '-moz-border-radius': '10px', 'border-radius': '10px' }, iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank', forceIframe: false, baseZ: 1000, centerX: true, centerY: true, allowBodyStretch: true, bindEvents: true, constrainTabKey: true, fadeIn: 200, fadeOut: 400, timeout: 0, showOverlay: true, focusInput: true, applyPlatformOpacityRules: true, onBlock: null, onUnblock: null, quirksmodeOffsetHack: 4 }; var F = null; var G = []; function install(c, d) { var e = (c == window); var f = d && d.message !== undefined ? d.message : undefined; d = $.extend({}, $.blockUI.defaults, d || {}); d.overlayCSS = $.extend({}, $.blockUI.defaults.overlayCSS, d.overlayCSS || {}); var g = $.extend({}, $.blockUI.defaults.css, d.css || {}); var h = $.extend({}, $.blockUI.defaults.themedCSS, d.themedCSS || {}); f = f === undefined ? d.message : f; if (e && F) remove(window, { fadeOut: 0 }); if (f && typeof f != 'string' && (f.parentNode || f.jquery)) { var j = f.jquery ? f[0] : f; var k = {}; $(c).data('blockUI.history', k); k.el = j; k.parent = j.parentNode; k.display = j.style.display; k.position = j.style.position; if (k.parent) k.parent.removeChild(j) } var z = d.baseZ; var m = ($.browser.msie || d.forceIframe) ? $('<iframe class="blockUI" style="z-index:' + (z++) + ';display:none;border:none;margin:0;padding:0;position:absolute;width:100%;height:100%;top:0;left:0" src="' + d.iframeSrc + '"></iframe>') : $('<div class="blockUI" style="display:none"></div>'); var n = $('<div class="blockUI blockOverlay" style="z-index:' + (z++) + ';display:none;border:none;margin:0;padding:0;width:100%;height:100%;top:0;left:0"></div>'); var p, s; if (d.theme && e) { s = '<div class="blockUI blockMsg blockPage ui-dialog ui-widget ui-corner-all" style="z-index:' + z + ';display:none;position:fixed">' + '<div class="ui-widget-header ui-dialog-titlebar blockTitle">' + (d.title || '&nbsp;') + '</div>' + '<div class="ui-widget-content ui-dialog-content"></div>' + '</div>' } else if (d.theme) { s = '<div class="blockUI blockMsg blockElement ui-dialog ui-widget ui-corner-all" style="z-index:' + z + ';display:none;position:absolute">' + '<div class="ui-widget-header ui-dialog-titlebar blockTitle">' + (d.title || '&nbsp;') + '</div>' + '<div class="ui-widget-content ui-dialog-content"></div>' + '</div>' } else if (e) { s = '<div class="blockUI blockMsg blockPage" style="z-index:' + z + ';display:none;position:fixed"></div>' } else { s = '<div class="blockUI blockMsg blockElement" style="z-index:' + z + ';display:none;position:absolute"></div>' } p = $(s); if (f) { if (d.theme) { p.css(h); p.addClass('ui-widget-content') } else p.css(g) } if (!d.applyPlatformOpacityRules || !($.browser.mozilla && /Linux/.test(navigator.platform))) n.css(d.overlayCSS); n.css('position', e ? 'fixed' : 'absolute'); if ($.browser.msie || d.forceIframe) m.css('opacity', 0.0); var q = [m, n, p], $par = e ? $('body') : $(c); $.each(q, function () { this.appendTo($par) }); if (d.theme && d.draggable && $.fn.draggable) { p.draggable({ handle: '.ui-dialog-titlebar', cancel: 'li' }) } var r = D && (!$.boxModel || $('object,embed', e ? null : c).length > 0); if (E || r) { if (e && d.allowBodyStretch && $.boxModel) $('html,body').css('height', '100%'); if ((E || !$.boxModel) && !e) { var t = sz(c, 'borderTopWidth'), l = sz(c, 'borderLeftWidth'); var u = t ? '(0 - ' + t + ')' : 0; var v = l ? '(0 - ' + l + ')' : 0 } $.each([m, n, p], function (i, o) { var s = o[0].style; s.position = 'absolute'; if (i < 2) { e ? s.setExpression('height', 'Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.boxModel?0:' + d.quirksmodeOffsetHack + ') + "px"') : s.setExpression('height', 'this.parentNode.offsetHeight + "px"'); e ? s.setExpression('width', 'jQuery.boxModel && document.documentElement.clientWidth || document.body.clientWidth + "px"') : s.setExpression('width', 'this.parentNode.offsetWidth + "px"'); if (v) s.setExpression('left', v); if (u) s.setExpression('top', u) } else if (d.centerY) { if (e) s.setExpression('top', '(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + "px"'); s.marginTop = 0 } else if (!d.centerY && e) { var a = (d.css && d.css.top) ? parseInt(d.css.top) : 0; var b = '((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + ' + a + ') + "px"'; s.setExpression('top', b) } }) } if (f) { if (d.theme) p.find('.ui-widget-content').append(f); else p.append(f); if (f.jquery || f.nodeType) $(f).show() } if (($.browser.msie || d.forceIframe) && d.showOverlay) m.show(); if (d.fadeIn) { var w = d.onBlock ? d.onBlock : B; var x = (d.showOverlay && !f) ? w : B; var y = f ? w : B; if (d.showOverlay) n._fadeIn(d.fadeIn, x); if (f) p._fadeIn(d.fadeIn, y) } else { if (d.showOverlay) n.show(); if (f) p.show(); if (d.onBlock) d.onBlock() } bind(1, c, d); if (e) { F = p[0]; G = $(':input:enabled:visible', F); if (d.focusInput) setTimeout(focus, 20) } else center(p[0], d.centerX, d.centerY); if (d.timeout) { var A = setTimeout(function () { e ? $.unblockUI(d) : $(c).unblock(d) }, d.timeout); $(c).data('blockUI.timeout', A) } }; function remove(a, b) { var c = (a == window); var d = $(a); var e = d.data('blockUI.history'); var f = d.data('blockUI.timeout'); if (f) { clearTimeout(f); d.removeData('blockUI.timeout') } b = $.extend({}, $.blockUI.defaults, b || {}); bind(0, a, b); var g; if (c) g = $('body').children().filter('.blockUI').add('body > .blockUI'); else g = $('.blockUI', a); if (c) F = G = null; if (b.fadeOut) { g.fadeOut(b.fadeOut); setTimeout(function () { reset(g, e, b, a) }, b.fadeOut) } else reset(g, e, b, a) }; function reset(a, b, c, d) { a.each(function (i, o) { if (this.parentNode) this.parentNode.removeChild(this) }); if (b && b.el) { b.el.style.display = b.display; b.el.style.position = b.position; if (b.parent) b.parent.appendChild(b.el); $(d).removeData('blockUI.history') } if (typeof c.onUnblock == 'function') c.onUnblock(d, c) }; function bind(b, a, c) { var d = a == window, $el = $(a); if (!b && (d && !F || !d && !$el.data('blockUI.isBlocked'))) return; if (!d) $el.data('blockUI.isBlocked', b); if (!c.bindEvents || (b && !c.showOverlay)) return; var e = 'mousedown mouseup keydown keypress'; b ? $(document).bind(e, c, handler) : $(document).unbind(e, handler) }; function handler(e) { if (e.keyCode && e.keyCode == 9) { if (F && e.data.constrainTabKey) { var a = G; var b = !e.shiftKey && e.target == a[a.length - 1]; var c = e.shiftKey && e.target == a[0]; if (b || c) { setTimeout(function () { focus(c) }, 10); return false } } } if ($(e.target).parents('div.blockMsg').length > 0) return true; return $(e.target).parents().children().filter('div.blockUI').length == 0 }; function focus(a) { if (!G) return; var e = G[a === true ? G.length - 1 : 0]; if (e) e.focus() }; function center(a, x, y) { var p = a.parentNode, s = a.style; var l = ((p.offsetWidth - a.offsetWidth) / 2) - sz(p, 'borderLeftWidth'); var t = ((p.offsetHeight - a.offsetHeight) / 2) - sz(p, 'borderTopWidth'); if (x) s.left = l > 0 ? (l + 'px') : '0'; if (y) s.top = t > 0 ? (t + 'px') : '0' }; function sz(a, p) { return parseInt($.css(a, p)) || 0 } })(jQuery);
