!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)},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(){var t=function(){i.isShown=!0;var t=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();t&&i.$element[0].offsetWidth;i.layout();i.$element.addClass("in").attr("aria-hidden",!1);var u=function(){r.setFocus();i.$element.trigger("shown")};t?i.$element.one(n.support.transition.end,u):u()})};i.options.replace?r.replace(t):t()}));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.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.$backdropHandle&&this.$backdropHandle.remove();this.$backdropHandle=null;this.removeSpinner()},loading:function(t){var r,f,u;t=t||function(){};this.$element.toggleClass("modal-open",!this.isLoading||this.hasOpenModal()).toggleClass("page-overflow",n(window).height()<this.$element.height());this.isLoading?this.isLoading&&this.$backdropHandle?(this.$backdropHandle.removeClass("in"),u=this,n.support.transition?this.$backdropHandle.one(n.support.transition.end,function(){u.removeLoading()}):u.removeLoading()):t&&t(this.isLoading):(this.$backdropHandle=this.createBackdrop("fade",this.options.backdropTemplate),this.$backdropHandle[0].offsetWidth,r=this.getOpenModals(),this.$backdropHandle.css("z-index",i("backdrop",r.length+1)).addClass("in"),f=n(this.options.spinner).css("z-index",i("modal",r.length+1)).appendTo(this.$element).addClass("in"),this.$spinner=n(this.createContainer()).append(f).on("click.modalmanager",n.proxy(this.loading,this)),this.isLoading=!0,n.support.transition?this.$backdropHandle.one(n.support.transition.end,t):t())}};i=function(){var i,t={};return function(r,u){if(typeof i=="undefined"){var f=n('<div class="modal hide" />').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).delegate('[data-dismiss="modal"]',"click.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(){return this[this.isShown?"hide":"show"]()},show:function(){var t=n.Event("show");this.isShown||(this.$element.trigger(t),t.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").attr("aria-hidden",!0),n.support.transition&&this.$element.hasClass("fade")?this.hideWithTransition():this.hideModal())},layout:function(){var i=this.options.height?"height":"max-height",r=this.options.height||this.options.maxHeight,t,u;this.options.width?(this.$element.css("width",this.options.width),t=this,this.$element.css("margin-left",function(){return/%/ig.test(t.options.width)?-(parseInt(t.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(i,"");r&&this.$element.find(".modal-body").css("overflow","auto").css(i,r);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){var r,f,u;i.keyCode&&i.keyCode==9&&(r=[],f=Number(n(this).data("tabindex")),t.$element.find("[data-tabindex]:enabled:visible:not([readonly])").each(function(){r.push(Number(n(this).data("tabindex")))}),r.sort(function(n,t){return n-t}),u=n.inArray(f,r),i.shiftKey?u==0?t.$element.find("[data-tabindex="+r[r.length-1]+"]").focus():t.$element.find("[data-tabindex="+r[u-1]+"]").focus():u<r.length-1?t.$element.find("[data-tabindex="+r[u+1]+"]").focus():t.$element.find("[data-tabindex="+r[0]+"]").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().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"),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.isLoading=!0,r?this.$loading.one(n.support.transition.end,t):t())},focus:function(){var n=this.$element.find(this.options.focusOn);n=n.length?n:this.$element;n.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),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()})};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());t.preventDefault();u.modal(f).one("hide",function(){i.focus()})})})}(window.jQuery)