!function(n){var t={init:function(t,i){var r=this;r.dom=n("body");r.$elem=n(i);r.options=n.extend({},n.fn.modaal.options,r.$elem.data(),t);r.xhr=null;r.scope={is_open:!1,id:"modaal_"+(new Date).getTime()+Math.random().toString(16).substring(2)};r.$elem.attr("data-modaal-scope",r.scope.id);r.private_options={active_class:"is_active"};r.lastFocus=null;r.scope.close_btn=r.options.is_locked||"confirm"==r.options.type||r.options.hide_close?"":'<button type="button" class="modaal-close" id="modaal-close" aria-label="'+r.options.close_aria_label+'"><span>'+r.options.close_text+"<\/span><\/button>";"none"===r.options.animation&&(r.options.animation_speed=0,r.options.after_callback_delay=0);n(i).on("click.Modaal",function(n){n.preventDefault();var t;if(r.lastFocus=document.activeElement,r.options.should_open!==!1&&("function"!=typeof r.options.should_open||r.options.should_open()!==!1)){switch(r.options.before_open.call(r,n),r.options.type){case"inline":r.create_basic();break;case"ajax":t=r.options.source(r.$elem,r.$elem.attr("href"));r.fetch_ajax(t);break;case"confirm":r.options.is_locked=!0;r.create_confirm();break;case"image":r.create_image();break;case"iframe":t=r.options.source(r.$elem,r.$elem.attr("href"));r.create_iframe(t);break;case"video":r.create_video(r.$elem.attr("href"));break;case"instagram":r.create_instagram()}r.watch_events()}});r.options.start_open===!0&&n(i).click()},watch_events:function(){var t=this;t.dom.off("click.Modaal keyup.Modaal keydown.Modaal");t.dom.on("keydown.Modaal",function(i){var r=i.keyCode,u=i.target;9==r&&t.scope.is_open&&(n.contains(document.getElementById(t.scope.id),u)||n("#"+t.scope.id).find('*[tabindex="0"]').focus())});t.dom.on("keyup.Modaal",function(i){var r=i.keyCode,u=i.target;return i.shiftKey&&9==i.keyCode&&t.scope.is_open&&(n.contains(document.getElementById(t.scope.id),u)||n("#"+t.scope.id).find(".modaal-close").focus()),!t.options.is_locked&&27==r&&t.scope.is_open?n(document.activeElement).is("input:not(:checkbox):not(:radio)")?!1:void t.modaal_close():"image"==t.options.type?(37==r&&t.scope.is_open&&!n("#"+t.scope.id+" .modaal-gallery-prev").hasClass("is_hidden")&&t.gallery_update("prev"),void(39==r&&t.scope.is_open&&!n("#"+t.scope.id+" .modaal-gallery-next").hasClass("is_hidden")&&t.gallery_update("next"))):void 0});t.dom.on("click.Modaal",function(i){var r=n(i.target);return!t.options.is_locked&&(t.options.overlay_close&&r.is(".modaal-inner-wrapper")||r.is(".modaal-close")||r.closest(".modaal-close").length)?void t.modaal_close():r.is(".modaal-confirm-btn")?(r.is(".modaal-ok")&&t.options.confirm_callback.call(t,t.lastFocus),r.is(".modaal-cancel")&&t.options.confirm_cancel_callback.call(t,t.lastFocus),void t.modaal_close()):r.is(".modaal-gallery-control")?r.hasClass("is_hidden")?void 0:(r.is(".modaal-gallery-prev")&&t.gallery_update("prev"),void(r.is(".modaal-gallery-next")&&t.gallery_update("next"))):void 0})},build_modal:function(n){var t=this,e="",u,o,f,r,i;"instagram"==t.options.type&&(e=" modaal-instagram");o="video"==t.options.type?"modaal-video-wrap":"modaal-content";switch(t.options.animation){case"fade":u=" modaal-start_fade";break;case"slide-down":u=" modaal-start_slidedown";break;default:u=" modaal-start_none"}f="";t.options.fullscreen&&(f=" modaal-fullscreen");""===t.options.custom_class&&"undefined"==typeof t.options.custom_class||(t.options.custom_class=" "+t.options.custom_class);r="";t.options.width&&t.options.height&&"number"==typeof t.options.width&&"number"==typeof t.options.height?r=' style="max-width:'+t.options.width+"px;height:"+t.options.height+'px;overflow:auto;"':t.options.width&&"number"==typeof t.options.width?r=' style="max-width:'+t.options.width+'px;"':t.options.height&&"number"==typeof t.options.height&&(r=' style="height:'+t.options.height+'px;overflow:auto;"');("image"==t.options.type||"video"==t.options.type||"instagram"==t.options.type||t.options.fullscreen)&&(r="");i='<div class="modaal-wrapper modaal-'+t.options.type+u+e+f+t.options.custom_class+'" id="'+t.scope.id+'"><div class="modaal-outer-wrapper"><div class="modaal-inner-wrapper">';"video"!=t.options.type&&(i+='<div class="modaal-container"'+r+">");i+='<div class="'+o+' modaal-focus" aria-hidden="false" aria-label="'+t.options.accessible_title+' (Press escape to close)" role="dialog">';i+="inline"==t.options.type?'<div class="modaal-content-container"><\/div>':n;i+="<\/div>"+t.scope.close_btn;"video"!=t.options.type&&(i+="<\/div>");i+="<\/div><\/div><\/div>";t.dom.append(i);"inline"==t.options.type&&n.appendTo("#"+t.scope.id+" .modaal-content-container");t.modaal_overlay("show")},create_basic:function(){var t=this,i=t.$elem.is("[href]")?n(t.$elem.attr("href")):t.$elem,r="";i.length?(r=i.contents().clone(!0,!0),i.empty()):r="Content could not be loaded. Please check the source and try again.";t.build_modal(r)},create_instagram:function(){var t=this,r=t.options.instagram_id,i="",u="Instagram photo couldn't be loaded, please check the embed code and try again.",f;return(t.build_modal('<div class="modaal-content-container'+(""!=t.options.loading_class?" "+t.options.loading_class:"")+'">'+t.options.loading_content+"<\/div>"),""!=r&&null!==r&&void 0!==r)?(f="https://api.instagram.com/oembed?url=http://instagr.am/p/"+r+"/",n.ajax({url:f,dataType:"jsonp",cache:!1,success:function(r){i=r.html;var u=n("#"+t.scope.id+" .modaal-content-container");u.length>0&&(u.removeClass(t.options.loading_class),u.html(i),window.instgrm.Embeds.process())},error:function(){i=u;var r=n("#"+t.scope.id+" .modaal-content-container");r.length>0&&(r.removeClass(t.options.loading_class).addClass(t.options.ajax_error_class),r.html(i))}})):i=u,!1},fetch_ajax:function(t){var i=this;null==i.options.accessible_title&&(i.options.accessible_title="Dialog Window");null!==i.xhr&&(i.xhr.abort(),i.xhr=null);i.build_modal('<div class="modaal-content-container'+(""!=i.options.loading_class?" "+i.options.loading_class:"")+'">'+i.options.loading_content+"<\/div>");i.xhr=n.ajax(t,{success:function(t){var r=n("#"+i.scope.id).find(".modaal-content-container");r.length>0&&(r.removeClass(i.options.loading_class),r.html(t),i.options.ajax_success.call(i,r))},error:function(t){if("abort"!=t.statusText){var r=n("#"+i.scope.id+" .modaal-content-container");r.length>0&&(r.removeClass(i.options.loading_class).addClass(i.options.ajax_error_class),r.html("Content could not be loaded. Please check the source and try again."))}}})},create_confirm:function(){var t,n=this;t='<div class="modaal-content-container"><h1 id="modaal-title">'+n.options.confirm_title+'<\/h1><div class="modaal-confirm-content">'+n.options.confirm_content+'<\/div><div class="modaal-confirm-wrap"><button type="button" class="modaal-confirm-btn modaal-ok" aria-label="Confirm">'+n.options.confirm_button_text+'<\/button><button type="button" class="modaal-confirm-btn modaal-cancel" aria-label="Cancel">'+n.options.confirm_cancel_button_text+"<\/button><\/div><\/div><\/div>";n.build_modal(t)},create_image:function(){var s,h,i=this,u="",c,e,r,t,o,f;if(i.$elem.is("[rel]")){for(c=i.$elem.attr("rel"),e=n('[rel="'+c+'"]'),e.removeAttr("data-gallery-active","is_active"),i.$elem.attr("data-gallery-active","is_active"),h=e.length-1,r=[],u='<div class="modaal-gallery-item-wrap">',e.each(function(n,t){var u="",e="",f="",o=!1,i=t.getAttribute("data-modaal-desc"),h=t.getAttribute("data-gallery-active"),s;""!==t.href||void 0!==t.href?u=t.href:""===t.src&&void 0===t.src||(u=t.src);""!=i&&null!==i&&void 0!==i?(e=i,f='<div class="modaal-gallery-label"><span class="modaal-accessible-hide">Image '+(n+1)+" - <\/span>"+i+"<\/div>"):f='<div class="modaal-gallery-label"><span class="modaal-accessible-hide">Image '+(n+1)+"<\/span><\/div>";h&&(o=!0);s={url:u,alt:e,rawdesc:i,desc:f,active:o};r.push(s)}),t=0;t<r.length;t++)o="",f=r[t].rawdesc?"Image: "+r[t].rawdesc:"Image "+t+" no description",r[t].active&&(o=" "+i.private_options.active_class),u+='<div class="modaal-gallery-item gallery-item-'+t+o+'" aria-label="'+f+'"><img src="'+r[t].url+'" alt=" " style="width:100%">'+r[t].desc+"<\/div>";u+='<\/div><button type="button" class="modaal-gallery-control modaal-gallery-prev" id="modaal-gallery-prev" aria-label="Previous image (use left arrow to change)"><span>Previous Image<\/span><\/button><button type="button" class="modaal-gallery-control modaal-gallery-next" id="modaal-gallery-next" aria-label="Next image (use right arrow to change)"><span>Next Image<\/span><\/button>'}else{var v=i.$elem.attr("href"),l="",a="",f="";i.$elem.attr("data-modaal-desc")?(f=i.$elem.attr("data-modaal-desc"),l=i.$elem.attr("data-modaal-desc"),a='<div class="modaal-gallery-label"><span class="modaal-accessible-hide">Image - <\/span>'+l+"<\/div>"):f="Image with no description";u='<div class="modaal-gallery-item is_active" aria-label="'+f+'"><img src="'+v+'" alt=" " style="width:100%">'+a+"<\/div>"}s=u;i.build_modal(s);n(".modaal-gallery-item.is_active").is(".gallery-item-0")&&n(".modaal-gallery-prev").hide();n(".modaal-gallery-item.is_active").is(".gallery-item-"+h)&&n(".modaal-gallery-next").hide()},gallery_update:function(t){var r=this,i=n("#"+r.scope.id),a=i.find(".modaal-gallery-item"),h=a.length-1;if(0==h)return!1;var o=i.find(".modaal-gallery-prev"),l=i.find(".modaal-gallery-next"),c=250,u=0,s=0,f=i.find(".modaal-gallery-item."+r.private_options.active_class),e="next"==t?f.next(".modaal-gallery-item"):f.prev(".modaal-gallery-item");return r.options.before_image_change.call(r,f,e),"prev"==t&&i.find(".gallery-item-0").hasClass("is_active")?!1:"next"==t&&i.find(".gallery-item-"+h).hasClass("is_active")?!1:void f.stop().animate({opacity:0},c,function(){var t,a,v,y;e.addClass("is_next").css({position:"absolute",display:"block",opacity:0});t=n(document).width();a=t>1140?280:50;u=i.find(".modaal-gallery-item.is_next").width();s=i.find(".modaal-gallery-item.is_next").height();v=i.find(".modaal-gallery-item.is_next img").prop("naturalWidth");y=i.find(".modaal-gallery-item.is_next img").prop("naturalHeight");v>t-a?(u=t-a,i.find(".modaal-gallery-item.is_next").css({width:u}),i.find(".modaal-gallery-item.is_next img").css({width:u}),s=i.find(".modaal-gallery-item.is_next").find("img").height()):(u=v,s=y);i.find(".modaal-gallery-item-wrap").stop().animate({width:u,height:s},c,function(){f.removeClass(r.private_options.active_class+" "+r.options.gallery_active_class).removeAttr("style");f.find("img").removeAttr("style");e.addClass(r.private_options.active_class+" "+r.options.gallery_active_class).removeClass("is_next").css("position","");e.stop().animate({opacity:1},c,function(){n(this).removeAttr("style").css({width:"100%"});n(this).find("img").css("width","100%");i.find(".modaal-gallery-item-wrap").removeAttr("style");r.options.after_image_change.call(r,e)});i.find(".modaal-gallery-item").removeAttr("tabindex");i.find(".modaal-gallery-item."+r.private_options.active_class).attr("tabindex","0").focus();i.find(".modaal-gallery-item."+r.private_options.active_class).is(".gallery-item-0")?o.stop().animate({opacity:0},150,function(){n(this).hide()}):o.stop().css({display:"block",opacity:o.css("opacity")}).animate({opacity:1},150);i.find(".modaal-gallery-item."+r.private_options.active_class).is(".gallery-item-"+h)?l.stop().animate({opacity:0},150,function(){n(this).hide()}):l.stop().css({display:"block",opacity:o.css("opacity")}).animate({opacity:1},150)})})},create_video:function(n){var t,i=this;t='<iframe src="'+n+'" class="modaal-video-frame" frameborder="0" allowfullscreen><\/iframe>';i.build_modal('<div class="modaal-video-container">'+t+"<\/div>")},create_iframe:function(n){var i,t=this;i=null!==t.options.width||void 0!==t.options.width||null!==t.options.height||void 0!==t.options.height?'<iframe src="'+n+'" class="modaal-iframe-elem" frameborder="0" allowfullscreen><\/iframe>':'<div class="modaal-content-container">Please specify a width and height for your iframe<\/div>';t.build_modal(i)},modaal_open:function(){var i=this,t=n("#"+i.scope.id),r=i.options.animation,u;"none"===r&&(t.removeClass("modaal-start_none"),i.options.after_open.call(i,t));"fade"===r&&t.removeClass("modaal-start_fade");"slide-down"===r&&t.removeClass("modaal-start_slide_down");u=t;n(".modaal-wrapper *[tabindex=0]").removeAttr("tabindex");u="image"==i.options.type?n("#"+i.scope.id).find(".modaal-gallery-item."+i.private_options.active_class):t.find(".modaal-iframe-elem").length?t.find(".modaal-iframe-elem"):t.find(".modaal-video-wrap").length?t.find(".modaal-video-wrap"):t.find(".modaal-focus");u.attr("tabindex","0").focus();"none"!==r&&setTimeout(function(){i.options.after_open.call(i,t)},i.options.after_callback_delay)},modaal_close:function(){var t=this,i=n("#"+t.scope.id);t.options.before_close.call(t,i);null!==t.xhr&&(t.xhr.abort(),t.xhr=null);"none"===t.options.animation&&i.addClass("modaal-start_none");"fade"===t.options.animation&&i.addClass("modaal-start_fade");"slide-down"===t.options.animation&&i.addClass("modaal-start_slide_down");setTimeout(function(){"inline"==t.options.type&&n("#"+t.scope.id+" .modaal-content-container").contents().clone(!0,!0).appendTo(t.$elem.attr("href"));i.remove();t.options.after_close.call(t);t.scope.is_open=!1},t.options.after_callback_delay);t.modaal_overlay("hide");null!=t.lastFocus&&t.lastFocus.focus()},modaal_overlay:function(t){var i=this;"show"==t?(i.scope.is_open=!0,i.options.background_scroll||i.dom.addClass("modaal-noscroll"),i.dom.append('<div class="modaal-overlay" id="'+i.scope.id+'_overlay"><\/div>'),n("#"+i.scope.id+"_overlay").css("background",i.options.background).stop().animate({opacity:i.options.overlay_opacity},i.options.animation_speed,function(){i.modaal_open()})):"hide"==t&&(i.dom.removeClass("modaal-noscroll"),n("#"+i.scope.id+"_overlay").stop().animate({opacity:0},i.options.animation_speed,function(){n(this).remove()}))}};n.fn.modaal=function(i){return this.each(function(){var u=n(this).data("modaal"),r;if(u){if("string"==typeof i)switch(i){case"close":u.modaal_close()}}else r=Object.create(t),r.init(i,this),n.data(this,"modaal",r)})};n.fn.modaal.options={type:"inline",animation:"fade",animation_speed:300,after_callback_delay:350,is_locked:!1,hide_close:!1,background:"#000",overlay_opacity:"0.8",overlay_close:!0,accessible_title:"Dialog Window",start_open:!1,fullscreen:!1,custom_class:"",background_scroll:!1,should_open:!0,close_text:"Close",close_aria_label:"Close (Press escape to close)",width:null,height:null,before_open:function(){},after_open:function(){},before_close:function(){},after_close:function(){},source:function(n,t){return t},confirm_button_text:"Confirm",confirm_cancel_button_text:"Cancel",confirm_title:"Confirm Title",confirm_content:"<p>This is the default confirm dialog content. Replace me through the options<\/p>",confirm_callback:function(){},confirm_cancel_callback:function(){},gallery_active_class:"gallery_active_item",before_image_change:function(){},after_image_change:function(){},loading_content:'<div class="modaal-loading-spinner"><div><div><\/div><\/div><div><div><\/div><\/div><div><div><\/div><\/div><div><div><\/div><\/div><div><div><\/div><\/div><div><div><\/div><\/div><div><div><\/div><\/div><div><div><\/div><\/div><\/div>',loading_class:"is_loading",ajax_error_class:"modaal-error",ajax_success:function(){},instagram_id:null};n(function(){var t=n(".modaal");t.length&&t.each(function(){var t=n(this),i={},r=!1;t.attr("data-modaal-type")&&(r=!0,i.type=t.attr("data-modaal-type"));t.attr("data-modaal-animation")&&(r=!0,i.animation=t.attr("data-modaal-animation"));t.attr("data-modaal-animation-speed")&&(r=!0,i.animation_speed=t.attr("data-modaal-animation-speed"));t.attr("data-modaal-after-callback-delay")&&(r=!0,i.after_callback_delay=t.attr("data-modaal-after-callback-delay"));t.attr("data-modaal-is-locked")&&(r=!0,i.is_locked="true"===t.attr("data-modaal-is-locked"));t.attr("data-modaal-hide-close")&&(r=!0,i.hide_close="true"===t.attr("data-modaal-hide-close"));t.attr("data-modaal-background")&&(r=!0,i.background=t.attr("data-modaal-background"));t.attr("data-modaal-overlay-opacity")&&(r=!0,i.overlay_opacity=t.attr("data-modaal-overlay-opacity"));t.attr("data-modaal-overlay-close")&&(r=!0,i.overlay_close="false"!==t.attr("data-modaal-overlay-close"));t.attr("data-modaal-accessible-title")&&(r=!0,i.accessible_title=t.attr("data-modaal-accessible-title"));t.attr("data-modaal-start-open")&&(r=!0,i.start_open="true"===t.attr("data-modaal-start-open"));t.attr("data-modaal-fullscreen")&&(r=!0,i.fullscreen="true"===t.attr("data-modaal-fullscreen"));t.attr("data-modaal-custom-class")&&(r=!0,i.custom_class=t.attr("data-modaal-custom-class"));t.attr("data-modaal-close-text")&&(r=!0,i.close_text=t.attr("data-modaal-close-text"));t.attr("data-modaal-close-aria-label")&&(r=!0,i.close_aria_label=t.attr("data-modaal-close-aria-label"));t.attr("data-modaal-background-scroll")&&(r=!0,i.background_scroll="true"===t.attr("data-modaal-background-scroll"));t.attr("data-modaal-width")&&(r=!0,i.width=parseInt(t.attr("data-modaal-width")));t.attr("data-modaal-height")&&(r=!0,i.height=parseInt(t.attr("data-modaal-height")));t.attr("data-modaal-confirm-button-text")&&(r=!0,i.confirm_button_text=t.attr("data-modaal-confirm-button-text"));t.attr("data-modaal-confirm-cancel-button-text")&&(r=!0,i.confirm_cancel_button_text=t.attr("data-modaal-confirm-cancel-button-text"));t.attr("data-modaal-confirm-title")&&(r=!0,i.confirm_title=t.attr("data-modaal-confirm-title"));t.attr("data-modaal-confirm-content")&&(r=!0,i.confirm_content=t.attr("data-modaal-confirm-content"));t.attr("data-modaal-gallery-active-class")&&(r=!0,i.gallery_active_class=t.attr("data-modaal-gallery-active-class"));t.attr("data-modaal-loading-content")&&(r=!0,i.loading_content=t.attr("data-modaal-loading-content"));t.attr("data-modaal-loading-class")&&(r=!0,i.loading_class=t.attr("data-modaal-loading-class"));t.attr("data-modaal-ajax-error-class")&&(r=!0,i.ajax_error_class=t.attr("data-modaal-ajax-error-class"));t.attr("data-modaal-instagram-id")&&(r=!0,i.instagram_id=t.attr("data-modaal-instagram-id"));r&&t.modaal(i)})})}(jQuery,window,document)