(function(n){typeof module=="object"&&typeof module.exports=="object"?n(require("jquery"),window,document):n(jQuery,window,document)})(function(n,t,i){var r=[],u=function(){return r.length?r[r.length-1]:null},f=function(){for(var t=!1,n=r.length-1;n>=0;n--)r[n].$blocker&&(r[n].$blocker.toggleClass("current",!t).toggleClass("behind",t),t=!0)};n.modal=function(t,i){var e,f;if(this.$body=n("body"),this.options=n.extend({},n.modal.defaults,i),this.options.doFade=!isNaN(parseInt(this.options.fadeDuration,10)),this.$blocker=null,this.options.closeExisting)while(n.modal.isActive())n.modal.close();if(r.push(this),t.is("a"))if(f=t.attr("href"),this.anchor=t,/^#/.test(f)){if(this.$elm=n(f),this.$elm.length!==1)return null;this.$body.append(this.$elm);this.open()}else this.$elm=n("<div>"),this.$body.append(this.$elm),e=function(n,t){t.elm.remove()},this.showSpinner(),t.trigger(n.modal.AJAX_SEND),n.get(f).done(function(i){if(n.modal.isActive()){t.trigger(n.modal.AJAX_SUCCESS);var r=u();r.$elm.empty().append(i).on(n.modal.CLOSE,e);r.hideSpinner();r.open();t.trigger(n.modal.AJAX_COMPLETE)}}).fail(function(){t.trigger(n.modal.AJAX_FAIL);var i=u();i.hideSpinner();r.pop();t.trigger(n.modal.AJAX_COMPLETE)});else this.$elm=t,this.anchor=t,this.$body.append(this.$elm),this.open()};n.modal.prototype={constructor:n.modal,open:function(){var t=this;this.block();this.anchor.blur();this.options.doFade?setTimeout(function(){t.show()},this.options.fadeDuration*this.options.fadeDelay):this.show();n(i).off("keydown.modal").on("keydown.modal",function(n){var t=u();n.which===27&&t.options.escapeClose&&t.close()});this.options.clickClose&&this.$blocker.click(function(t){t.target===this&&n.modal.close()})},close:function(){r.pop();this.unblock();this.hide();n.modal.isActive()||n(i).off("keydown.modal")},block:function(){this.$elm.trigger(n.modal.BEFORE_BLOCK,[this._ctx()]);this.$body.css("overflow","inherit");this.$blocker=n('<div class="'+this.options.blockerClass+' blocker current"><\/div>').appendTo(this.$body);f();this.options.doFade&&this.$blocker.css("opacity",0).animate({opacity:1},this.options.fadeDuration);this.$elm.trigger(n.modal.BLOCK,[this._ctx()])},unblock:function(t){!t&&this.options.doFade?this.$blocker.fadeOut(this.options.fadeDuration,this.unblock.bind(this,!0)):(this.$blocker.children().appendTo(this.$body),this.$blocker.remove(),this.$blocker=null,f(),n.modal.isActive()||this.$body.css("overflow",""))},show:function(){this.$elm.trigger(n.modal.BEFORE_OPEN,[this._ctx()]);this.options.showClose&&(this.closeButton=n('<a href="#close-modal" rel="modal:close" class="close-modal '+this.options.closeClass+'">'+this.options.closeText+"<\/a>"),this.$elm.append(this.closeButton));this.$elm.addClass(this.options.modalClass).appendTo(this.$blocker);this.options.doFade?this.$elm.css({opacity:0,display:"inline-block"}).animate({opacity:1},this.options.fadeDuration):this.$elm.css("display","inline-block");this.$elm.trigger(n.modal.OPEN,[this._ctx()])},hide:function(){this.$elm.trigger(n.modal.BEFORE_CLOSE,[this._ctx()]);this.closeButton&&this.closeButton.remove();var t=this;this.options.doFade?this.$elm.fadeOut(this.options.fadeDuration,function(){t.$elm.trigger(n.modal.AFTER_CLOSE,[t._ctx()])}):this.$elm.hide(0,function(){t.$elm.trigger(n.modal.AFTER_CLOSE,[t._ctx()])});this.$elm.trigger(n.modal.CLOSE,[this._ctx()])},showSpinner:function(){this.options.showSpinner&&(this.spinner=this.spinner||n('<div class="'+this.options.modalClass+'-spinner"><\/div>').append(this.options.spinnerHtml),this.$body.append(this.spinner),this.spinner.show())},hideSpinner:function(){this.spinner&&this.spinner.remove()},_ctx:function(){return{elm:this.$elm,$elm:this.$elm,$blocker:this.$blocker,options:this.options,$anchor:this.anchor}}};n.modal.close=function(t){if(n.modal.isActive()){t&&t.preventDefault();var i=u();return i.close(),i.$elm}};n.modal.isActive=function(){return r.length>0};n.modal.getCurrent=u;n.modal.defaults={closeExisting:!0,escapeClose:!1,clickClose:!1,closeText:"Close",closeClass:"",modalClass:"jmodal",blockerClass:"jquery-modal",spinnerHtml:'<div class="rect1"><\/div><div class="rect2"><\/div><div class="rect3"><\/div><div class="rect4"><\/div>',showSpinner:!0,showClose:!1,fadeDuration:null,fadeDelay:1};n.modal.BEFORE_BLOCK="modal:before-block";n.modal.BLOCK="modal:block";n.modal.BEFORE_OPEN="modal:before-open";n.modal.OPEN="modal:open";n.modal.BEFORE_CLOSE="modal:before-close";n.modal.CLOSE="modal:close";n.modal.AFTER_CLOSE="modal:after-close";n.modal.AJAX_SEND="modal:ajax:send";n.modal.AJAX_SUCCESS="modal:ajax:success";n.modal.AJAX_FAIL="modal:ajax:fail";n.modal.AJAX_COMPLETE="modal:ajax:complete";n.fn.modal=function(t){return this.length===1&&new n.modal(this,t),this};n(i).on("click.modal",'a[rel~="modal:close"]',n.modal.close);n(i).on("click.modal",'a[rel~="modal:open"]',function(t){t.preventDefault();n(this).modal()})})