!function(n){"use strict";function t(n){return function(t){if(t&&this===t.target)return n.apply(this,arguments)}}var r=function(n,t){this.init(n,t);this.isLoading=!1},i;r.prototype={constructor:r,init:function(t,i){if(this.$element=n(t),this.options=n.extend({},n.fn.modalmanager.defaults,this.$element.data(),typeof i=="object"&&i),this.stack=[],this.backdropCount=0,this.options.resize){var r,u=this;n(window).on("resize.modal",function(){r&&clearTimeout(r);r=setTimeout(function(){for(var n=0;n<u.stack.length;n++)u.stack[n].isShown&&u.stack[n].layout()},10)})}},createModal:function(t,i){n(t).modal(n.extend({manager:this},i))},appendModal:function(i){this.stack.push(i);var r=this;i.$element.on("show.modalmanager",t(function(t){var u=function(){i.isShown=!0;var u=n.support.transition&&i.$element.hasClass("fade");r.$element.toggleClass("modal-open",r.hasOpenModal()).toggleClass("page-overflow",n(window).height()<r.$element.height());i.$parent=i.$element.parent();i.$container=r.createContainer(i);i.$element.appendTo(i.$container);r.backdrop(i,function(){i.$element.show();u&&i.$element[0].offsetWidth;i.layout();i.$element.addClass("in").removeAttr("aria-hidden").attr("aria-modal",!0).attr("role","dialog");var f=function(){r.setFocus();i.$element.trigger(n.Event("shown",{relatedTarget:t.relatedTarget}))};u?i.$element.one(n.support.transition.end,f):f()})};i.options.replace?r.replace(u):u()}));i.$element.on("hidden.modalmanager",t(function(){if(r.backdrop(i),i.$element.parent().length)if(i.$backdrop){var t=n.support.transition&&i.$element.hasClass("fade");t&&i.$element[0].offsetWidth;n.support.transition&&i.$element.hasClass("fade")?i.$backdrop.one(n.support.transition.end,function(){i.destroy()}):i.destroy()}else i.destroy();else r.destroyModal(i)}));i.$element.on("destroyed.modalmanager",t(function(){r.destroyModal(i)}))},getOpenModals:function(){for(var t=[],n=0;n<this.stack.length;n++)this.stack[n].isShown&&t.push(this.stack[n]);return t},hasOpenModal:function(){return this.getOpenModals().length>0},setFocus:function(){for(var t,n=0;n<this.stack.length;n++)this.stack[n].isShown&&(t=this.stack[n]);t&&t.focus()},destroyModal:function(n){n.$element.off(".modalmanager");n.$backdrop&&this.removeBackdrop(n);this.stack.splice(this.getIndexOfModal(n),1);var t=this.isLoading||this.hasOpenModal();this.$element.toggleClass("modal-open",t);t||this.$element.removeClass("page-overflow");this.removeContainer(n);this.setFocus()},getModalAt:function(n){return this.stack[n]},getIndexOfModal:function(n){for(var t=0;t<this.stack.length;t++)if(n===this.stack[t])return t},replace:function(i){for(var r,u=0;u<this.stack.length;u++)this.stack[u].isShown&&(r=this.stack[u]);r?(this.$backdropHandle=r.$backdrop,r.$backdrop=null,i&&r.$element.one("hidden",t(n.proxy(i,this))),r.hide()):i&&i()},removeBackdrop:function(n){n.$backdrop.remove();n.$backdrop=null},createBackdrop:function(t,i){var r;return this.$backdropHandle?(r=this.$backdropHandle,r.off(".modalmanager"),this.$backdropHandle=null,this.isLoading&&this.removeSpinner()):r=n(i).addClass(t).appendTo(this.$element),r},removeContainer:function(n){n.$container.remove();n.$container=null},createContainer:function(r){var u;if(u=n('<div class="modal-scrollable">').css("z-index",i("modal",this.getOpenModals().length)).appendTo(this.$element),r&&r.options.backdrop!="static")u.on("click.modal",t(function(){r.hide()}));else if(r)u.on("click.modal",t(function(){r.attention()}));return u},backdrop:function(t,r){var e=t.$element.hasClass("fade")?"fade":"",o=t.options.backdrop&&this.backdropCount<this.options.backdropLimit,u,f;t.isShown&&o?(u=n.support.transition&&e&&!this.$backdropHandle,t.$backdrop=this.createBackdrop(e,t.options.backdropTemplate),t.$backdrop.css("z-index",i("backdrop",this.getOpenModals().length)),u&&t.$backdrop[0].offsetWidth,t.$backdrop.addClass("in"),this.backdropCount+=1,u?t.$backdrop.one(n.support.transition.end,r):r()):!t.isShown&&t.$backdrop?(t.$backdrop.removeClass("in"),this.backdropCount-=1,f=this,n.support.transition&&t.$element.hasClass("fade")?t.$backdrop.one(n.support.transition.end,function(){f.removeBackdrop(t)}):f.removeBackdrop(t)):r&&r()},removeSpinner:function(){this.$spinner&&this.$spinner.remove();this.$spinner=null;this.isLoading=!1},removeLoading:function(){this.$element.toggleClass("modal-open",!this.isLoading||this.hasOpenModal()).toggleClass("page-overflow",n(window).height()<this.$element.height());this.$backdropHandle&&this.$backdropHandle.remove();this.$backdropHandle=null;this.removeSpinner()},loading:function(t){var u=function(){},s=!1,f=!this.isLoading,e,r,o;typeof t=="function"?u=t:typeof t=="boolean"?f=t:typeof t=="object"&&(typeof t.callback=="function"&&(u=t.callback),typeof t.replace=="boolean"&&(s=t.replace),typeof t.show=="boolean"&&(f=t.show));f&&!this.isLoading?(r=this,e=function(){var t,o,f,e;r.$element.toggleClass("modal-open",!0).toggleClass("page-overflow",n(window).height()<r.$element.height());r.$backdropHandle=r.createBackdrop("fade",r.options.backdropTemplate);r.$backdropHandle[0].offsetWidth;t=r.getOpenModals();o=r.$backdropHandle.hasClass("in");r.$backdropHandle.css("z-index",i("backdrop",t.length+1)).addClass("in");f=n(r.options.spinner).css("z-index",i("modal",t.length+1)).appendTo(r.$element);r.$spinner=n(r.createContainer()).append(f).on("click.modalmanager",n.proxy(r.loading,r));e=function(){f.addClass("in");u(r.isLoading)};r.isLoading=!0;!o&&n.support.transition?r.$backdropHandle.one(n.support.transition.end,e):e()},s?r.replace(e):e()):!f&&this.isLoading&&this.$backdropHandle?(this.$backdropHandle.removeClass("in"),this.$spinner.find(".fade").removeClass("in"),r=this,o=function(){r.removeLoading();u(r.isLoading)},n.support.transition?this.$backdropHandle.one(n.support.transition.end,o):o()):u&&(this.$element.toggleClass("modal-open",this.isLoading||this.hasOpenModal()).toggleClass("page-overflow",n(window).height()<this.$element.height()),u(this.isLoading))}};i=function(){var i,t={};return function(r,u){if(typeof i=="undefined"){var f=n('<div class="modal fade" />').appendTo("body"),e=n('<div class="modal-backdrop hide" />').appendTo("body");t.modal=+f.css("z-index");t.backdrop=+e.css("z-index");i=t.modal-t.backdrop;f.remove();e.remove();e=f=null}return t[r]+i*u}}();n.fn.modalmanager=function(t,i){return this.each(function(){var f=n(this),u=f.data("modalmanager");u||f.data("modalmanager",u=new r(this,t));typeof t=="string"&&u[t].apply(u,[].concat(i))})};n.fn.modalmanager.defaults={backdropLimit:999,resize:!0,spinner:'<div class="loading-spinner fade" style="width: 200px; margin-left: -100px;"><div class="progress progress-striped active"><div class="bar" style="width: 100%;"><\/div><\/div><\/div>',backdropTemplate:'<div class="modal-backdrop" />'};n.fn.modalmanager.Constructor=r;n(function(){n(document).off("show.bs.modal").off("hidden.bs.modal")})}(jQuery);!function(n){"use strict";var t=function(n,t){this.init(n,t)};t.prototype={constructor:t,init:function(t,i){var u=this,r;this.options=i;this.$element=n(t).on("click.dismiss.modal",'[data-dismiss="modal"]',n.proxy(this.hide,this));this.options.remote&&this.$element.find(".modal-body").load(this.options.remote,function(){var t=n.Event("loaded");u.$element.trigger(t)});r=typeof this.options.manager=="function"?this.options.manager.call(this):this.options.manager;r=r.appendModal?r:n(r).modalmanager().data("modalmanager");r.appendModal(this)},toggle:function(n){return this.isShown?this.hide():this.show(n)},show:function(t){var i=n.Event("show",{relatedTarget:t}),r;if(!this.isShown){if(!this.isShown&&this.$container){r=this;window.setTimeout(function(){r.$element.modal("show")},300);return}(this.$element.trigger(i),i.isDefaultPrevented())||(this.escape(),this.tab(),this.options.loading&&this.loading())}},hide:function(t){(t&&t.preventDefault(),t=n.Event("hide"),this.$element.trigger(t),this.isShown&&!t.isDefaultPrevented())&&(this.isShown=!1,this.escape(),this.tab(),this.isLoading&&this.loading(),n(document).off("focusin.modal"),this.$element.removeClass("in").removeClass("animated").removeClass(this.options.attentionAnimation).removeClass("modal-overflow"),n.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal())},layout:function(){var r=this.options.height?"height":"max-height",t=this.options.height||this.options.maxHeight,i,u;t=="fit-window"&&(t=n(window).height()-10-this.$element.find(".modal-header").outerHeight()-this.$element.find(".modal-footer").outerHeight()-(this.$element.find(".modal-body").innerWidth()-this.$element.find(".modal-body").width()));this.options.width?(this.$element.css("width",this.options.width),i=this,this.$element.css("margin-left",function(){return/%/ig.test(i.options.width)?-(parseInt(i.options.width)/2)+"%":-(n(this).width()/2)+"px"})):(this.$element.css("width",""),this.$element.css("margin-left",""));this.$element.find(".modal-body").css("overflow","").css(r,"");t&&this.$element.find(".modal-body").css("overflow","auto").css(r,t);u=n(window).height()-10<this.$element.height();u||this.options.modalOverflow?this.$element.css("margin-top",0).addClass("modal-overflow"):this.$element.css("margin-top",0-this.$element.height()/2).removeClass("modal-overflow")},tab:function(){var t=this;if(this.isShown&&this.options.consumeTab)this.$element.on("keydown.tabindex.modal","[data-tabindex]",function(i){if(i.keyCode&&i.keyCode==9){var r=n(this),u=n(this);t.$element.find("[data-tabindex]:enabled:not([readonly])").each(function(t){r=t.shiftKey?r.data("tabindex")>n(this).data("tabindex")?r=n(this):u=n(this):r.data("tabindex")<n(this).data("tabindex")?r=n(this):u=n(this)});r[0]!==n(this)[0]?r.trigger("focus"):u.trigger("focus");i.preventDefault()}});else this.isShown||this.$element.off("keydown.tabindex.modal")},escape:function(){var n=this;if(this.isShown&&this.options.keyboard){this.$element.attr("tabindex")||this.$element.attr("tabindex",-1);this.$element.on("keyup.dismiss.modal",function(t){t.which==27&&n.hide()})}else this.isShown||this.$element.off("keyup.dismiss.modal")},hideWithTransition:function(){var t=this,i=setTimeout(function(){t.$element.off(n.support.transition.end);t.hideModal()},500);this.$element.one(n.support.transition.end,function(){clearTimeout(i);t.hideModal()})},hideModal:function(){var n=this.options.height?"height":"max-height",t=this.options.height||this.options.maxHeight;t&&this.$element.find(".modal-body").css("overflow","").css(n,"");this.$element.hide().attr("aria-hidden",!0).removeAttr("aria-modal").removeAttr("role").trigger("hidden")},removeLoading:function(){this.$loading.remove();this.$loading=null;this.isLoading=!1},loading:function(t){var i,r,u;t=t||function(){};i=this.$element.hasClass("fade")?"fade":"";this.isLoading?this.isLoading&&this.$loading?(this.$loading.removeClass("in"),this.$loading.find(".fade").removeClass("in"),u=this,n.support.transition&&this.$element.hasClass("fade")?this.$loading.one(n.support.transition.end,function(){u.removeLoading()}):u.removeLoading()):t&&t(this.isLoading):(r=n.support.transition&&i,this.$loading=n('<div class="loading-mask '+i+'">').append(this.options.spinner).appendTo(this.$element),r&&this.$loading[0].offsetWidth,this.$loading.addClass("in"),this.$loading.find(".fade").addClass("in"),this.isLoading=!0,r?this.$loading.one(n.support.transition.end,t):t())},scrollTop:function(){this.$element.closest(".modal-scrollable").animate({scrollTop:0},800)},focus:function(){var n=this.$element.find(this.options.focusOn);n=n.length?n:this.$element;n.trigger("focus")},attention:function(){if(this.options.attentionAnimation){this.$element.removeClass("animated").removeClass(this.options.attentionAnimation);var n=this;setTimeout(function(){n.$element.addClass("animated").addClass(n.options.attentionAnimation)},0)}this.focus()},destroy:function(){var t=n.Event("destroy");(this.$element.trigger(t),t.isDefaultPrevented())||(this.$element.off(".modal").removeData("modal").removeClass("in").attr("aria-hidden",!0).removeAttr("aria-modal").removeAttr("role"),this.$parent!==this.$element.parent()?this.$element.appendTo(this.$parent):this.$parent.length||(this.$element.remove(),this.$element=null),this.$element.trigger("destroyed"))}};n.fn.modal=function(i,r){return this.each(function(){var f=n(this),u=f.data("modal"),e=n.extend({},n.fn.modal.defaults,f.data(),typeof i=="object"&&i);u||f.data("modal",u=new t(this,e));typeof i=="string"?u[i].apply(u,[].concat(r)):e.show&&u.show(r)})};n.fn.modal.defaults={keyboard:!0,backdrop:!0,loading:!1,show:!0,width:null,height:null,maxHeight:null,modalOverflow:!1,consumeTab:!0,focusOn:null,replace:!1,resize:!1,attentionAnimation:"shake",manager:"body",spinner:'<div class="loading-spinner" style="width: 200px; margin-left: -100px;"><div class="progress progress-striped active"><div class="bar" style="width: 100%;"><\/div><\/div><\/div>',backdropTemplate:'<div class="modal-backdrop" />'};n.fn.modal.Constructor=t;n(function(){n(document).off("click.modal").on("click.modal.data-api",'[data-toggle="modal"]',function(t){var i=n(this),r=i.attr("href"),u=n(i.attr("data-target")||r&&r.replace(/.*(?=#[^\s]+$)/,"")),f=u.data("modal")?"toggle":n.extend({remote:!/#/.test(r)&&r},u.data(),i.data());i.is("a")&&t.preventDefault();u.modal(f,this).one("hide",function(){i.is(":visible")&&i.trigger("focus")})})})}(window.jQuery)