// source --> https://catholicschoolsny.org/wp-content/plugins/sabai/assets/js/sabai.min.js 
var SABAI=SABAI||{};!function(e){var a,t;if(SABAI.console=window.console||{log:function(e){alert(e)}},SABAI.isRTL=!1,SABAI.init=function(a,t){!function(a){SABAI.fadeout(e(".sabai-fadeout",a))}(a),function(a){e("input.sabai-form-check-trigger",a).show().click(function(){var a=e(this);a.closest("table").find("input.sabai-form-check-target, input.sabai-form-check-trigger").not(":disabled").prop("checked",a.prop("checked"))})}(a),function(a){e("fieldset.sabai-form-collapsible",a).not(".sabai-form-collapsible-processed").each(function(){var a=e(this);a.find("> legend span:first").prepend('<i class="fa fa-caret-down"></i> ').wrap('<a class="sabai-form-collapsible" href="#"></a>').end().find("a.sabai-form-collapsible:first").click(function(){return e(this).toggleClass("sabai-form-collapsed").find("i").toggleClass("fa-caret-down").toggleClass(SABAI.isRTL?"fa-caret-left":"fa-caret-right").end().closest(".sabai-form-collapsible-processed").toggleClass("sabai-form-collapsed").find(".sabai-form-fields:first").slideToggle("fast",function(){autosize(e(this).find("textarea:visible"))}),!1}).end().addClass("sabai-form-collapsible-processed"),a.hasClass("sabai-form-collapsed")&&(a.hasClass("sabai-form-field-error")?a.removeClass("sabai-form-collapsed"):a.find(".sabai-form-fields:first").css({display:"none"}).end().find("a.sabai-form-collapsible:first").addClass("sabai-form-collapsed").find("i").removeClass("fa-caret-down").addClass(SABAI.isRTL?"fa-caret-left":"fa-caret-right"))})}(a),function(a){autosize(e("textarea:visible",a))}(a),function(a){"ontouchstart"in document.documentElement||e('[rel="sabaitooltip"]',a).each(function(){var t=e(this),i="sabai-content"===a.attr("id")&&t.closest("#sabai-inline-content").length?t.closest("#sabai-inline-content"):t.data("container")||a;t.sabaitooltip({container:i})}),e("a[data-popover-url]",a).bind("click",function(t){var i=e(this).unbind("hover"),n={html:!0,container:"sabai-content"===a.attr("id")&&i.closest("#sabai-inline-content").length?i.closest("#sabai-inline-content"):i.data("container")||a,url:i.data("popover-url")};SABAI.isRTL?n.placement=function(a,t){return e(t).offset().left>300?"left":"auto"}:n.placement=function(a,t){var i=e(t);return window.innerWidth-(i.offset().left+i.innerWidth())>300?"right":"auto"},SABAI.popover(i,n),t.preventDefault()})}(a),function(a){e("a.sabai-toggle",a).not(".sabai-toggle-processed").unbind("click").click(function(a){var t=e(this).addClass("sabai-toggle-processed"),i=e(t.data("toggle-target"));if(e.trim(i.html())){e(SABAI).trigger("toggle.sabai",{trigger:t,target:i});var n=t.data("toggle-cookie"),s=t.hasClass("sabai-toggle-slide")?"slideToggle":"toggle";i[s]("fast",function(){var a=i.is(":visible");t.toggleClass("sabai-active",a),n&&e.cookie(n,a?1:0,{path:SABAI.path,domain:SABAI.domain}),e(SABAI).trigger("toggled.sabai",{trigger:t,target:i})}),a.preventDefault()}})}(a),function(a){e(".sabai-carousel",a).each(function(){var a=e(this);a.data("carousel",a.bxSlider(a.data("carousel-options")||{})),e(SABAI).bind("entity_filter_form_toggled.sabai",function(e,t){a.parents(t.container).length&&a.data("carousel").redrawSlider()}),navigator.MaxTouchPoints>0||!/Chrome/.test(navigator.userAgent)||!/Google Inc/.test(navigator.vendor)||a.find("a").on("mousedown",function(){var a=e(this).prop("href");a&&(window.location.href=a)})})}(a),function(a){e("a.sabai-form-field-add",a).each(function(){var a=e(this),t=a.closest(".sabai-form-fields"),i=parseInt(a.data("field-max-num"));a.click(function(e){var n=a.data("field-next-index");SABAI.cloneField(t,a.data("field-name"),i,n,a),n&&a.data("field-next-index",++n),e.preventDefault()}),t.find("> .sabai-form-field:not(.sabai-form-field-add)").each(function(n){0!==n&&e(this).append('<a class="sabai-btn sabai-btn-danger sabai-btn-xs sabai-form-field-remove" href="#"><i class="fa fa-times" title="Remove this field"></i></a>').find("a.sabai-form-field-remove").click(function(n){e(this).closest(".sabai-form-field").fadeTo("fast",0,function(){e(this).slideUp("fast",function(){e(this).remove(),i&&t.find("> .sabai-form-field:not(.sabai-form-field-add)").length<i&&a.show()})}),n.preventDefault()}).parent().css("position","relative")}),i&&t.find("> .sabai-form-field:not(.sabai-form-field-add)").length>=i&&a.hide()})}(a),"function"==typeof prettyPrint&&prettyPrint(),"function"==typeof e.fn.prettyPhoto&&e('a[rel^="prettyPhoto"]',a).prettyPhoto(),e(".sabai-dropdown-toggle",a).sabaidropdown(),e(".sabai-click",a).click(),t&&t.call(null,a),e(SABAI).trigger("sabai_init.sabai",{context:a})},SABAI.fadeout=function(a,t){t=t||6e3,e(a).animate({opacity:"+=0"},t,function(){e(this).fadeOut("fast",function(){e(this).remove()})})},SABAI.cache=(a={},function(e,t,i){if(1==arguments.length)return!!a[e]&&!(a[e].expires<(new Date).getTime())&&a[e].data;i=i||600,a[e]={data:t,expires:(new Date).getTime()+1e3*i}}),SABAI.flash=function(a,t,i){if(null!=a)if("string"==typeof a)e.growl(a,{type:t,delay:"danger"===t?0:void 0!==i?i:5e3,z_index:999999});else for(var n=0;n<a.length;n++)SABAI.flash(a[n].msg,a[n].level,i)},SABAI.load=function(a,t,i){var n=e(a);return n.load(t,{__ajax:a},function(e,a,t){SABAI.init(n),i&&i.call(n,e,a,t)}),n},SABAI.replace=function(a,t,i,n){var s;return e.get(t,{__ajax:a},function(t,o,r){n?s=e(a).html(t):(e(a).replaceWith(t),s=e(a)),SABAI.init(s),i&&i.call(null,s,t,o,r)}),s},SABAI.popover=function(a,t,i){if(a=a instanceof jQuery?a:e(a),i||!a.hasClass("sabai-popover-processed")){if((t=t||{}).template='<div class="sabai-popover"><div class="sabai-arrow"></div><div class="sabai-popover-inner"><div class="sabai-close"><i class="fa fa-times"></i></div><div class="sabai-popover-title"></div><div class="sabai-popover-content"></div></div></div>',t.url){var n=SABAI.cache(t.url);n?t.content=n:(t.content="&nbsp;",e.get(t.url,{__ajax:1},function(e){SABAI.cache(t.url,e),a.attr("data-content",e).data("bs.sabaipopover").tip().find(".sabai-popover-content").html(e),a.sabaipopover("show")}))}a.sabaipopover(t).sabaipopover("show").addClass("sabai-popover-processed").data("bs.sabaipopover").tip().css(t.width?{width:t.width}:{}).find(".sabai-close").on("click",function(){a.data("bs.sabaipopover").hide()}),SABAI.popoverInit||(e("body").on("click",function(a){e(".sabai-popover-processed").each(function(){e(this).is(a.target)||0!==e(this).has(a.target).length||0!==e(".sabai-popover").has(a.target).length||e(this).sabaipopover("hide")})}),SABAI.popoverInit=!0)}},SABAI.modal=function(a,i,n,s){return t=s||(e("body").has("#sabai-modal").length?e("#sabai-modal"):function(){var a=e('<div class="sabai" id="sabai-modal" style="display:none;"><div class="sabai-modal-container"><div class="sabai-modal-title"><span></span><span class="sabai-close"><i class="fa fa-times"></i></span></div><div class="sabai-modal-content"></div><div class="sabai-modal-footer"></div></div></div>').prependTo("body").find(".sabai-close").mousedown(function(){e("#sabai-modal").fadeOut("fast",function(){e(this).remove()})}).end();return e(document).keyup(function(a){27==a.keyCode&&e("#sabai-modal").find(".sabai-close").mousedown()}),a}()),(i||a)&&(i&&t.find(".sabai-modal-title > span:first").text(i),a&&t.find(".sabai-modal-content").html(a),t.show()),void 0!==n&&(0===n&&(n=t.find(".sabai-modal-container").width()),function(e,a){var t,i,n=document.documentElement.clientWidth<=768?.95:.8;(null===a||a>document.documentElement.clientWidth*n)&&(a=document.documentElement.clientWidth*n),e.find(".sabai-modal-container").css({width:a+"px",left:SABAI.isRTL?"auto":document.documentElement.clientWidth/2-a/2,right:SABAI.isRTL?document.documentElement.clientWidth/2-a/2:"auto",top:.07*document.documentElement.clientHeight}),i=e.find(".sabai-form-buttons").length?e.find(".sabai-form-buttons").outerHeight()+10:20,e.find(".sabai-modal-footer").css("height",i+"px"),t=.8*document.documentElement.clientHeight-e.find(".sabai-modal-title").outerHeight()-i,e.find(".sabai-modal-content").css("max-height",t+"px"),e.get(0).scrollHeight>document.documentElement.clientHeight&&e.find(".sabai-modal-content").css("height",t+"px")}(t,n)),t},SABAI.ajaxLoader=function(a,t,i){var n=e(a);if(i){var s=e(i);if(!s.length)return;if(t)s.next(".sabai-ajax-loader").remove();else{var o=e('<div class="sabai-ajax-loader"></div>').css("top",parseInt(s.position().top,10)+parseInt(s.css("margin-top"),10)+"px").width(s.outerWidth()).height(s.outerHeight());s.after(o)}n.length&&n.blur().prop("disabled",!t).css("pointer-events",t?"auto":"none")}else{if(!n.length)return;n.blur().prop("disabled",!t).css("pointer-events",t?"auto":"none").toggleClass("sabai-ajax-loading",!t)}},SABAI.ajax=function(a){var t,i,n,s=e.extend({trigger:null,async:!0,type:"get",url:"",data:"",processData:!0,target:"",container:null,modalWidth:null,cache:!1,cacheLifetime:600,onSendData:null,onSuccess:null,onError:null,onErrorFlash:!0,onContent:null,onSuccessFlash:!1,onReadyState:null,effect:null,scroll:!1,replace:!1,highlight:!1,callback:!1,loadingImage:!0,position:!1,toggle:!1,pushState:!1,state:{}},a),o="",r=0,l=function(a,t){if("#sabai-modal"===s.container){if(s.trigger){var i=s.trigger.attr("data-modal-title");void 0!==i&&!1!==i||(i=s.trigger.attr("title")||s.trigger.attr("data-original-title")||""),SABAI.modal(a,i,s.modalWidth,t)}else SABAI.modal(a,"",s.modalWidth,t);s.onContent||(s.onContent=function(e,a,t){a.focusFirstInput()}),s.onContent(a,t,s.trigger)}else{if(s.trigger&&s.trigger.hasClass("sabai-toggle")&&e(SABAI).trigger("toggle.sabai",{trigger:s.trigger,target:t}),s.replace)s.scroll&&o&&SABAI.scrollTo(o),t=t.hide().after(a).remove().next(),s.onContent&&s.onContent(a,t,s.trigger);else{switch(s.callback||"sabai-content"==t.attr("id")||"sabai-inline-content"==t.attr("id")||t.addClass("sabai-ajax"),s.effect){case"slide":t.hide().html(a).slideDown("fast",function(){s.onContent&&s.onContent(a,t,s.trigger)});break;default:t.html(a).show(),s.onContent&&s.onContent(a,t,s.trigger)}s.scroll&&o&&SABAI.scrollTo(o)}if(s.highlight&&t.effect("highlight",{},1500),s.trigger&&s.trigger.hasClass("sabai-toggle")){var n=t.is(":visible");s.trigger.removeAttr("onclick").removeClass("sabai-click").toggleClass("sabai-active",n);var r=s.trigger.data("toggle-cookie");r&&e.cookie(r,n?1:0,{path:SABAI.path,domain:SABAI.domain}),e(SABAI).trigger("toggled.sabai",{trigger:s.trigger,target:t})}}if(s.pushState&&window.history&&window.history.pushState){var l=SABAI.parseUrl(s.url);l.pathname!==location.pathname&&(l.pathname=location.pathname),s.state.data=s.data,s.state.url=s.url,s.state.container=s.container,s.state.target=s.target,window.history.pushState(s.state,null,l.toString())}SABAI.init(t),e(SABAI).trigger("loaded.sabai",{target:t,selector:o})};if(s.trigger){if(s.trigger.hasClass("sabai-disabled"))return;s.trigger.data("cookie-name")&&s.trigger.data("cookie-value")&&e.cookie(s.trigger.data("cookie-name"),s.trigger.data("cookie-value"),{path:SABAI.path,domain:SABAI.domain}),s.url||(s.url=s.trigger.data("sabai-remote-url")),s.trigger.hasClass("sabai-dropdown-link")&&(s.trigger=s.trigger.closest(".sabai-btn-group").find(".sabai-dropdown-toggle"))}if(s.url){if(s.container)if(o=s.container,"#sabai-modal"===s.container)t=SABAI.modal();else if(s.target?(t=e(s.container).find(s.target),o=s.container+" "+s.target):t=e(s.container),!t.length)return void SABAI.console.log(o);if(s.cache&&"get"===s.type){var c=SABAI.cache(s.container+s.url);if(c)return void l(c,t)}s.onSendData&&("object"!=typeof s.data&&(s.data={}),s.onSendData(s.data,s.trigger)),"object"==typeof s.data?(s.data.hasOwnProperty("__ajax")||(s.data.__ajax=o||1),s.data=e.param(s.data)):"string"==typeof s.data&&""!==s.data?s.data+="&__ajax="+(o?encodeURIComponent(o):1):s.data="__ajax="+(o?encodeURIComponent(o):1),e.ajaxreadystate({global:!0,async:s.async,type:s.type,dataType:"html",url:s.url,data:s.data,processData:s.processData,cache:!1,beforeSend:function(e){s.loadingImage&&(t&&"sabai-content"!==t.attr("id")&&t.is(":visible")?(i="sabai-modal"===t.attr("id")?t.find(".sabai-modal-content"):t,SABAI.ajaxLoader(s.trigger,!1,i)):SABAI.ajaxLoader(s.trigger))},complete:function(a,r){switch(s.loadingImage&&SABAI.ajaxLoader(s.trigger,!0,s.replace?o:i),r){case"success":if(void 0!==n){s.loadingImage&&SABAI.ajaxLoader(s.trigger,!0);break}278==a.status||a.getResponseHeader("content-type").indexOf("json")>-1?function(a,t){try{var i=JSON.parse(a.replace(/<!--[\s\S]*?-->/g,""));if(s.onSuccess&&!s.onSuccess(i,t,s.trigger))return void(s.onSuccessFlash&&i.messages&&SABAI.flash(i.messages,"success"));if(i.url)return"#sabai-modal"===s.container&&e("#sabai-modal").hide(),void(window.location=i.url);s.onSuccessFlash&&i.messages&&SABAI.flash(i.messages,"success")}catch(e){SABAI.console.log("Failed parsing response:<p>"+a.toString().replace(/</g,"&lt;").replace(/>/g,"&gt;")+"</p><p>"+e.toString()+"</p>")}}(a.responseText,t):(l(a.responseText,t),"get"==s.type&&s.cache&&SABAI.cache(s.container+s.url,a.responseText,s.cacheLifetime));break;case"error":!function(e,a){try{var t=JSON.parse(e.replace(/<!--[\s\S]*?-->/g,""));if(s.onError){if(!s.onError(t,a,s.trigger))return void(s.onErrorFlash&&t.messages&&SABAI.flash(t.messages,"danger"))}else if(t.url)return void(window.location=t.url);s.onErrorFlash&&t.messages&&(s.trigger?(SABAI.popover(s.trigger,{content:t.messages[0],html:!0,container:s.trigger.closest(".sabai"),title:s.trigger.attr("data-sabaipopover-title")||""}),s.trigger.attr("onclick","return false;")):SABAI.flash(t.messages,"danger"))}catch(a){SABAI.console.log("Failed parsing response:<p>"+e.toString().replace(/</g,"&lt;").replace(/>/g,"&gt;")+"</p><p>"+a.toString()+"</p>")}}(a.responseText,t)}},readystate:function(e,a){if(s.onReadyState&&a>2&&a<4&&-1!==e.getResponseHeader("Content-Type").indexOf("application/json")){++r;var i=void 0!==n?e.responseText.substring(n.length):e.responseText;try{var o=JSON.parse(i.replace(/<!--[\s\S]*?-->/g,""));s.onReadyState(o,t,s.trigger,r)}catch(e){SABAI.console.log(e.toString())}n=e.responseText}}})}},SABAI.scrollTo=function(a,t,i){a=a instanceof jQuery?a:e(a),t=null!=t?t:1e3,i=null!=i?i:0,e.sabaiScrollTo(a,t,{offset:{top:i}})},SABAI.states=function(a,t){var i=[],n={visible:"invisible",enabled:"disabled",unchecked:"checked",unload_options:"load_options",show_options:"hide_options"},s=function(a,t,n,s){var r=e(a,s);r.length&&r.each(function(){var a,r,l,c,d,f,u,g=e(this);for(a in g.data("guid")||g.data("guid",SABAI.guid()),n)if(c=n[a],f=".sabai-cloned",(l=g.closest(f)).length||(f=c.container||"form",l=g.closest(f)),l.length)if((r=l.find(a)).length){switch(d=["initialized.sabai"],c.type){case"selected":case"unselected":d.push("change","cloneremoved.sabai");break;case"checked":case"unchecked":d.push("change","cloneremoved.sabai","switchChange.bootstrapSwitch");break;case"focus":case"blur":d.push("focus","blur");break;case"request":case"requested":d.push("requested.sabai");break;case"values":case"count":default:d.push("keyup","change","cloneremoved.sabai")}i.push(r);for(var h=0;h<d.length;h++)u=d[h]+"."+g.data("guid"),r.off(u).on(u,function(e,a,t,i,n,s){return function(r,l){o(e,a,t,i,n,s,r.type,l)}}(r,g,t,n,s,f))}else console.log("Invalid or non existent dependee selector: "+a);else console.log("Invalid or non existent container selector: .sabai-cloned, "+(c.container||"form"))})},o=function(e,a,t,i,s,o,l,d){var f,u,g,h;if(t.match(/_or$/))for(u in f=!1,t=t.slice(0,t.length-3),i){if(h=i[u],!(g=a.closest(o).find(u)).length)return;if(r(g,h.type||"value",h.value)){f=!0;break}}else for(u in f=!0,i){if(h=i[u],!(g=a.closest(o).find(u)).length)return;if(!r(g,h.type||"value",h.value)){f=!1;break}}t in n&&(t=n[t],f=!f),c(a,t,f,e,l,d)},r=function(a,t,i){switch(t){case"value":case"values":"object"!=typeof i&&(i=[i]);var n=[];a.each(function(){if("checkbox"===this.type||"radio"===this.type)this.checked&&n.push(this.value);else{var a=e(this);if(a.hasClass("sabai-form-selecthierarchical")){var t=a.closest(".sabai-form-type-select").next(".sabai-form-type-select:visible");if(t.length&&""!==t.find("select").val())return!0}n.push(a.val())}});var s=i.length,o=n.length;e:for(var r=0;r<s;r++){for(var c=0;c<o;c++)if("object"!=typeof i[r]){if(i[r]==n[c]){if("value"===t)return!0;continue e}}else if(l(i[r][0],n[c],i[r][1])){if("value"===t)return!0;continue e}if("values"===t)return!1}return"values"===t;case"count":n=[];return a.each(function(){"checkbox"===this.type||"radio"===this.type?this.checked&&n.push(this.value):n.push(e(this).val())}),n.length===i;case"checked":case"unchecked":var d=!1;return a.each(function(){if(e(this).prop("checked")===Boolean(i))return d=!0,!1}),"checked"===t?d:!d;case"empty":case"filled":case"selected":d=!1;return a.each(function(){if(""===e.trim(e(this).val())===Boolean(i))return d=!0,!1}),"empty"===t?d:!d;case"request":return a.data("request-url")&&a.data("request-result")===i;case"requested":return!!a.data("request-url")&&("success"===(d=a.data("request-result"))||"error"===d)===Boolean(i);case"focus":return a.is(":focus")===Boolean(i);case"blur":return a.is(":focus")!==Boolean(i);default:return alert("Invalid condition type: "+t),!1}},l=function(e,a,t){switch(t){case"==":return e==a;case"!=":return e!=a;case"<":return e<a;case">":return e>a}},c=function(a,t,i,n,s,o){switch(t){case"invisible":a.toggleClass("sabai-form-states-invisible",i),i?o?a[a.hasClass("sabai-has-error")?"show":"hide"]():a.hide():a.is(":hidden")&&(o?a.show():(a.css("opacity",0).slideDown(100).animate({opacity:1},{queue:!1,duration:"slow"}),a.hasClass("sabai-form-field")&&a.parent(".sabai-form-inline").length&&a.css("display","inline-block")));break;case"disabled":a.toggleClass("sabai-form-states-disabled",i);break;case"checked":a.find(":checkbox").prop("checked",i).change();break;case"load_options":if("change"!==s&&"initialized"!==s)return;var r=a.find("select");if(r.find('option[value!=""]').remove(),i){var l=r.data("load-url"),c=l+n.val(),d=SABAI.cache(c),f=r.data("options-prefix")||"",u=function(t){if(SABAI.cache(c,t),void 0!==t&&0===t.length)return r.data("show-empty")||a.addClass("sabai-hidden"),r.data("default-value","").val(""),void r.trigger("change",[o]);if(e.each(t,function(a,t){r.append(e("<option></option>").text(f+t[1]).val(t[0]))}),!a.closest(".sabai-cloned").length){var i=r.data("default-value");void 0!==i&&(r.val(i),r.trigger("change",[o]))}if(!a.hasClass("sabai-form-states-invisible")&&a.is(":hidden")&&r.find('option[value!=""]').length){a.removeClass("sabai-hidden").addClass("sabai-was-hidden");var n=a.hasClass("sabai-form-field")&&a.parent(".sabai-form-inline").length?"inline":"block";o?a.css("display",n):a.hide().css("display",n).fadeIn("fast")}};!1!==d?u(d):(n.addClass("sabai-ajax-loading"),e.getJSON(l,{value:n.val()},u).always(function(){n.removeClass("sabai-ajax-loading")}))}else!a.is(":hidden")&&a.hasClass("sabai-was-hidden")&&(a.addClass("sabai-hidden"),r.data("default-value","").val(""),r.trigger("change",[o]));break;case"request_url":i?SABAI.ajax({target:a,url:a.data("request-url"),onSuccess:function(e,t,i){a.data("request-result","success").trigger("requested.sabai")},onError:function(e,t,i){a.data("request-result","error").trigger("requested.sabai")},onContent:function(e,t,i){a.data("request-result","error").trigger("requested.sabai")}}):a.data("request-result","");break;case"hide_options":var g=[];if(n.each(function(){"checkbox"===this.type||"radio"===this.type?this.checked&&g.push(this.value):g.push(e(this).val())}),!i||!g.length)return;a.find("input").each(function(){var a=e(this),t=a.data("values"),i=a.closest(".sabai-radio, .sabai-checkbox");if(i.length){for(var n=0;n<g.length;n++)if(-1!==e.inArray(g[n],t))return void i.slideDown(100);"checkbox"!==this.type&&"radio"!==this.type||(this.checked=!1),i.hide()}});break;case"slugify":o||a.find("input").val(n.val()).change();break;default:alert("Invalid action: "+t)}};for(var d in a)for(var f in a[d])s(d,f,a[d][f].conditions,t);for(var u in i)i[u].data("initialized")||i[u].trigger("initialized.sabai",[!0]).data("initialized",!0)},SABAI.cloneField=function(a,t,i,n,s){var o=e(a),r=o.find("> .sabai-form-field:not(.sabai-form-field-add)"),l=n||r.length;if(!(i&&r.length>=i)){var c=r.first(),d=c.clone().addClass("sabai-cloned").attr("id","sabai-"+SABAI.guid()).find(":input").each(function(){var a=jQuery(this);a.attr("name")&&(field_name=s.data("field-form-wrap")?s.data("field-form-wrap")+"["+t+"]":t,a.attr("name",a.attr("name").replace(field_name+"[0]",field_name+"["+l+"]"))),a.attr("id")&&a.attr("id",a.attr("id")+"-"+l),a.removeData("default-value").removeAttr("data-default-value"),e.fn.uniform&&a.parent().is(".selector")&&a.prev("span").remove().end().unwrap().uniform().parent(".selector").show()}).end().clearInput().removeClass("sabai-form-field-error").find("span.sabai-form-field-error").remove().end().find(".sabai-was-hidden").hide().end().hide().insertAfter(r.last());d.append('<a class="sabai-btn sabai-btn-danger sabai-btn-xs sabai-form-field-remove" href="#"><i class="fa fa-times" title="Remove this field"></i></a>').slideDown("fast").focusFirstInput().find("a.sabai-form-field-remove").click(function(a){e(this).closest(".sabai-form-field").fadeTo("fast",0,function(){e(this).slideUp("fast",function(){e(this).remove();var a=o.find("> .sabai-form-field:not(.sabai-form-field-add)");i&&a.length<i&&s.show(),a.find(":input").trigger("cloneremoved.sabai")})}),a.preventDefault()}).parent().css("position","relative"),e(SABAI).trigger("clonefield.sabai",{container:a,field:c,clone:d,index:l}),i&&s&&l+1>=i&&s.hide()}},SABAI.addOption=function(a,t,i,n,s){var o=e(a),r=e(i).closest(".sabai-form-field-option"),l=o.find("> .sabai-form-field-option"),c=n?t+"[default][]":t+"[default]",d=r.find("input[name='"+c+"']").val(),f=r.clone().find(":text").each(function(){var e=jQuery(this);e.attr("name")&&e.attr("name",e.attr("name").replace(t+"[options]["+d+"]",t+"[options]["+l.length+"]"))}).end().clearInput().find("input[name='"+c+"']").val(l.length).end().hide().insertAfter(r);return s&&s.call(null,f),f.slideDown("fast").focusFirstInput(),!1},SABAI.removeOption=function(a,t,i){var n=e(a).find("> .sabai-form-field-option:not(.sabai-form-field-option-disabled)");if(1!==n.length)return!!confirm(i)&&void e(t).closest(".sabai-form-field-option").slideUp("fast",function(){e(this).remove()});n.clearInput()},SABAI.guid=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var a=16*Math.random()|0;return("x"==e?a:3&a|8).toString(16)})},window.history&&window.history.pushState){var i=!1,n=window.location.href.replace(/%2F/g,"/");e(window).on("popstate",function(a){if(i||(i=!0,location.href.replace(/%2F/g,"/")!=n)){var t=a.originalEvent.state;t?(t.data.__ajax=t.target?t.container+" "+t.target:t.container,SABAI.ajax(t),e(SABAI).trigger("sabaipopstate.sabai",t)):(e(window).off("popstate"),window.location.href=window.location.href)}})}SABAI.parseUrl=function(a){var t=a?e("<a/>").prop("href",a)[0]:window.location;if(t.query={},t.search&&"string"==typeof t.search){var i=t.search.substr(1).replace(/\+/g,"%20").split("&");e.each(i,function(e,a){var i=a.split("=");try{i[1]=decodeURIComponent(i[1])}catch(e){}t.query[i[0]]=i[1]})}return t},SABAI.getScript=function(a,t,i){return t=e.extend(t||{},{dataType:"script",cache:!0,url:a}),jQuery.ajax(t,i)},e.fn.sabai=function(){SABAI.init(this)},e.fn.focusTextRange=function(e,a){if(this.is('input[type="text"]')||this.is("textarea")){var t=this.get(0);if(t.setSelectionRange)t.focus(),t.setSelectionRange(e,a);else if(t.createTextRange){var i=t.createTextRange();i.collapse(!0),i.moveEnd("character",a),i.moveStart("character",e),i.select()}}return this},e.fn.focusFirstInput=function(){var e=this.find('input[type="text"],input[type="password"],textarea').not(".sabai-focus-off").filter(":visible:first");if(!e.length)return this;var a=e.val().length;return e.focusTextRange(a,a),this},e.fn.clearInput=function(){return this.each(function(){var a=e(this),t=a.get(0).tagName.toLowerCase();if(void 0===a.data("default-value"))if("input"===t){var i=a.attr("type");"checkbox"===i||"radio"===i?a.prop("checked",!1):a.val("")}else if("textarea"===t)a.val("");else{if("select"!==t)return a.find(":input").clearInput();a.prop("selectedIndex",0)}else a.val(a.data("default-value"))})}}(jQuery);
// source --> https://catholicschoolsny.org/wp-content/plugins/sabai-googlemaps/assets/js/infobox.min.js 
function InfoBox(t){t=t||{},google.maps.OverlayView.apply(this,arguments),this.content_=t.content||"",this.disableAutoPan_=t.disableAutoPan||!1,this.maxWidth_=t.maxWidth||0,this.pixelOffset_=t.pixelOffset||new google.maps.Size(0,0),this.position_=t.position||new google.maps.LatLng(0,0),this.zIndex_=t.zIndex||null,this.boxClass_=t.boxClass||"infoBox",this.boxStyle_=t.boxStyle||{},this.closeBoxMargin_=t.closeBoxMargin||"2px",this.closeBoxURL_=t.closeBoxURL||"//www.google.com/intl/en_us/mapfiles/close.gif",""===t.closeBoxURL&&(this.closeBoxURL_=""),this.closeBoxTitle_=t.closeBoxTitle||" Close ",this.infoBoxClearance_=t.infoBoxClearance||new google.maps.Size(1,1),void 0===t.visible&&(void 0===t.isHidden?t.visible=!0:t.visible=!t.isHidden),this.isHidden_=!t.visible,this.alignBottom_=t.alignBottom||!1,this.pane_=t.pane||"floatPane",this.enableEventPropagation_=t.enableEventPropagation||!1,this.div_=null,this.closeListener_=null,this.moveListener_=null,this.contextListener_=null,this.eventListeners_=null,this.fixedWidthSet_=null}InfoBox.prototype=new google.maps.OverlayView,InfoBox.prototype.createInfoBoxDiv_=function(){var t,i,e,o=this,s=function(t){t.cancelBubble=!0,t.stopPropagation&&t.stopPropagation()};if(!this.div_){if(this.div_=document.createElement("div"),this.setBoxStyle_(),void 0===this.content_.nodeType?this.div_.innerHTML=this.getCloseBoxImg_()+this.content_:(this.div_.innerHTML=this.getCloseBoxImg_(),this.div_.appendChild(this.content_)),this.getPanes()[this.pane_].appendChild(this.div_),this.addClickHandler_(),this.div_.style.width?this.fixedWidthSet_=!0:0!==this.maxWidth_&&this.div_.offsetWidth>this.maxWidth_?(this.div_.style.width=this.maxWidth_,this.div_.style.overflow="auto",this.fixedWidthSet_=!0):(e=this.getBoxWidths_(),this.div_.style.width=this.div_.offsetWidth-e.left-e.right+"px",this.fixedWidthSet_=!1),this.panBox_(this.disableAutoPan_),!this.enableEventPropagation_){for(this.eventListeners_=[],i=["mousedown","mouseover","mouseout","mouseup","click","dblclick","touchstart","touchend","touchmove"],t=0;t<i.length;t++)this.eventListeners_.push(google.maps.event.addDomListener(this.div_,i[t],s));this.eventListeners_.push(google.maps.event.addDomListener(this.div_,"mouseover",function(t){this.style.cursor="default"}))}this.contextListener_=google.maps.event.addDomListener(this.div_,"contextmenu",function(t){t.returnValue=!1,t.preventDefault&&t.preventDefault(),o.enableEventPropagation_||s(t)}),google.maps.event.trigger(this,"domready")}},InfoBox.prototype.getCloseBoxImg_=function(){var t="";return""!==this.closeBoxURL_&&(t="<img",t+=" src='"+this.closeBoxURL_+"'",t+=" align=right",t+=" title='"+this.closeBoxTitle_+"'",t+=" style='",t+=" position: relative;",t+=" cursor: pointer;",t+=" margin: "+this.closeBoxMargin_+";",t+="'>"),t},InfoBox.prototype.addClickHandler_=function(){var t;""!==this.closeBoxURL_?(t=this.div_.firstChild,this.closeListener_=google.maps.event.addDomListener(t,"click",this.getCloseClickHandler_())):this.closeListener_=null},InfoBox.prototype.getCloseClickHandler_=function(){var t=this;return function(i){i.cancelBubble=!0,i.stopPropagation&&i.stopPropagation(),google.maps.event.trigger(t,"closeclick"),t.close()}},InfoBox.prototype.panBox_=function(t){var i,e=0,o=0;if(!t&&(i=this.getMap())instanceof google.maps.Map){i.getBounds().contains(this.position_)||i.setCenter(this.position_);var s=this.pixelOffset_.width,n=this.pixelOffset_.height,h=this.div_.offsetWidth,l=this.div_.offsetHeight,d=this.infoBoxClearance_.width,r=this.infoBoxClearance_.height;if(2==i.panToBounds.length){var a={left:0,right:0,top:0,bottom:0};a.left=-s+d,a.right=s+h+d,this.alignBottom_?(a.top=-n+r+l,a.bottom=n+r):(a.top=-n+r,a.bottom=n+l+r),i.panToBounds(new google.maps.LatLngBounds(this.position_),a)}else{var _=i.getDiv(),p=_.offsetWidth,v=_.offsetHeight,f=this.getProjection().fromLatLngToContainerPixel(this.position_);if(f.x<-s+d?e=f.x+s-d:f.x+h+s+d>p&&(e=f.x+h+s+d-p),this.alignBottom_?f.y<-n+r+l?o=f.y+n-r-l:f.y+n+r>v&&(o=f.y+n+r-v):f.y<-n+r?o=f.y+n-r:f.y+l+n+r>v&&(o=f.y+l+n+r-v),0!==e||0!==o){i.getCenter();i.panBy(e,o)}}}},InfoBox.prototype.setBoxStyle_=function(){var t,i;if(this.div_){for(t in this.div_.className=this.boxClass_,this.div_.style.cssText="",i=this.boxStyle_)i.hasOwnProperty(t)&&(this.div_.style[t]=i[t]);(void 0===this.div_.style.WebkitTransform||-1===this.div_.style.WebkitTransform.indexOf("translateZ")&&-1===this.div_.style.WebkitTransform.indexOf("matrix"))&&(this.div_.style.WebkitTransform="translateZ(0)"),void 0!==this.div_.style.opacity&&""!==this.div_.style.opacity&&(this.div_.style.MsFilter='"progid:DXImageTransform.Microsoft.Alpha(Opacity='+100*this.div_.style.opacity+')"',this.div_.style.filter="alpha(opacity="+100*this.div_.style.opacity+")"),this.div_.style.position="absolute",this.div_.style.visibility="hidden",null!==this.zIndex_&&(this.div_.style.zIndex=this.zIndex_)}},InfoBox.prototype.getBoxWidths_=function(){var t,i={top:0,bottom:0,left:0,right:0},e=this.div_;return document.defaultView&&document.defaultView.getComputedStyle?(t=e.ownerDocument.defaultView.getComputedStyle(e,""))&&(i.top=parseInt(t.borderTopWidth,10)||0,i.bottom=parseInt(t.borderBottomWidth,10)||0,i.left=parseInt(t.borderLeftWidth,10)||0,i.right=parseInt(t.borderRightWidth,10)||0):document.documentElement.currentStyle&&e.currentStyle&&(i.top=parseInt(e.currentStyle.borderTopWidth,10)||0,i.bottom=parseInt(e.currentStyle.borderBottomWidth,10)||0,i.left=parseInt(e.currentStyle.borderLeftWidth,10)||0,i.right=parseInt(e.currentStyle.borderRightWidth,10)||0),i},InfoBox.prototype.onRemove=function(){this.div_&&(this.div_.parentNode.removeChild(this.div_),this.div_=null)},InfoBox.prototype.draw=function(){this.createInfoBoxDiv_();var t=this.getProjection().fromLatLngToDivPixel(this.position_);this.div_.style.left=t.x+this.pixelOffset_.width+"px",this.alignBottom_?this.div_.style.bottom=-(t.y+this.pixelOffset_.height)+"px":this.div_.style.top=t.y+this.pixelOffset_.height+"px",this.isHidden_?this.div_.style.visibility="hidden":this.div_.style.visibility="visible"},InfoBox.prototype.setOptions=function(t){void 0!==t.boxClass&&(this.boxClass_=t.boxClass,this.setBoxStyle_()),void 0!==t.boxStyle&&(this.boxStyle_=t.boxStyle,this.setBoxStyle_()),void 0!==t.content&&this.setContent(t.content),void 0!==t.disableAutoPan&&(this.disableAutoPan_=t.disableAutoPan),void 0!==t.maxWidth&&(this.maxWidth_=t.maxWidth),void 0!==t.pixelOffset&&(this.pixelOffset_=t.pixelOffset),void 0!==t.alignBottom&&(this.alignBottom_=t.alignBottom),void 0!==t.position&&this.setPosition(t.position),void 0!==t.zIndex&&this.setZIndex(t.zIndex),void 0!==t.closeBoxMargin&&(this.closeBoxMargin_=t.closeBoxMargin),void 0!==t.closeBoxURL&&(this.closeBoxURL_=t.closeBoxURL),void 0!==t.closeBoxTitle&&(this.closeBoxTitle_=t.closeBoxTitle),void 0!==t.infoBoxClearance&&(this.infoBoxClearance_=t.infoBoxClearance),void 0!==t.isHidden&&(this.isHidden_=t.isHidden),void 0!==t.visible&&(this.isHidden_=!t.visible),void 0!==t.enableEventPropagation&&(this.enableEventPropagation_=t.enableEventPropagation),this.div_&&this.draw()},InfoBox.prototype.setContent=function(t){this.content_=t,this.div_&&(this.closeListener_&&(google.maps.event.removeListener(this.closeListener_),this.closeListener_=null),this.fixedWidthSet_||(this.div_.style.width=""),void 0===t.nodeType?this.div_.innerHTML=this.getCloseBoxImg_()+t:(this.div_.innerHTML=this.getCloseBoxImg_(),this.div_.appendChild(t)),this.fixedWidthSet_||(this.div_.style.width=this.div_.offsetWidth+"px",void 0===t.nodeType?this.div_.innerHTML=this.getCloseBoxImg_()+t:(this.div_.innerHTML=this.getCloseBoxImg_(),this.div_.appendChild(t))),this.addClickHandler_()),google.maps.event.trigger(this,"content_changed")},InfoBox.prototype.setPosition=function(t){this.position_=t,this.div_&&this.draw(),google.maps.event.trigger(this,"position_changed")},InfoBox.prototype.setZIndex=function(t){this.zIndex_=t,this.div_&&(this.div_.style.zIndex=t),google.maps.event.trigger(this,"zindex_changed")},InfoBox.prototype.setVisible=function(t){this.isHidden_=!t,this.div_&&(this.div_.style.visibility=this.isHidden_?"hidden":"visible")},InfoBox.prototype.getContent=function(){return this.content_},InfoBox.prototype.getPosition=function(){return this.position_},InfoBox.prototype.getZIndex=function(){return this.zIndex_},InfoBox.prototype.getVisible=function(){return void 0!==this.getMap()&&null!==this.getMap()&&!this.isHidden_},InfoBox.prototype.getWidth=function(){var t=null;return this.div_&&(t=this.div_.offsetWidth),t},InfoBox.prototype.getHeight=function(){var t=null;return this.div_&&(t=this.div_.offsetHeight),t},InfoBox.prototype.show=function(){this.isHidden_=!1,this.div_&&(this.div_.style.visibility="visible")},InfoBox.prototype.hide=function(){this.isHidden_=!0,this.div_&&(this.div_.style.visibility="hidden")},InfoBox.prototype.open=function(t,i){var e=this;i&&(this.setPosition(i.getPosition()),this.moveListener_=google.maps.event.addListener(i,"position_changed",function(){e.setPosition(this.getPosition())})),this.setMap(t),this.div_&&this.panBox_(this.disableAutoPan_)},InfoBox.prototype.close=function(){var t;if(this.closeListener_&&(google.maps.event.removeListener(this.closeListener_),this.closeListener_=null),this.eventListeners_){for(t=0;t<this.eventListeners_.length;t++)google.maps.event.removeListener(this.eventListeners_[t]);this.eventListeners_=null}this.moveListener_&&(google.maps.event.removeListener(this.moveListener_),this.moveListener_=null),this.contextListener_&&(google.maps.event.removeListener(this.contextListener_),this.contextListener_=null),this.setMap(null)};
// source --> https://catholicschoolsny.org/wp-content/plugins/sabai-googlemaps/assets/js/sabai-googlemaps-map.min.js 
!function(e){SABAI.GoogleMaps=SABAI.GoogleMaps||{},SABAI.GoogleMaps.maps=SABAI.GoogleMaps.maps||{},SABAI.GoogleMaps.map=SABAI.GoogleMaps.map||function(o,a,i,t,n,r){var l,s,g,p,c,m,d,u,f,_,v=a.length,h=n.infobox_width||250,b=new InfoBox({boxClass:"sabai-googlemaps-infobox sabai-box-shadow",disableAutoPan:!0,closeBoxMargin:0,closeBoxURL:"https://www.google.com/intl/en_us/mapfiles/close.gif",infoBoxClearance:new google.maps.Size(30,30),pixelOffset:new google.maps.Size(-1*h/2,-55),alignBottom:!0,boxStyle:{width:h+"px"}}),w='<div class="sabai-googlemaps-infobox-arrow" style="left:'+(h/2-8)+'px"></div>',A=[];if((l=e(o)).length){i?(i=new google.maps.LatLng(i[0],i[1]),0!=n.force_fit_bounds&&v>0&&(f=new google.maps.LatLngBounds)):(i=v?new google.maps.LatLng(a[0].lat,a[0].lng):new google.maps.LatLng(n.default_lat||40.69847,n.default_lng||-73.95144),v>1&&(f=new google.maps.LatLngBounds));for(_ in google.maps.MapTypeId)A.push(google.maps.MapTypeId[_]);if(A.push("osm"),(s=new google.maps.Map(l.get(0),{mapTypeControl:!0,mapTypeId:-1!==e.inArray(l.data("map-type"),A)?l.data("map-type"):google.maps.MapTypeId.ROADMAP,mapTypeControlOptions:{style:google.maps.MapTypeControlStyle.DROPDOWN_MENU,mapTypeIds:A},panControl:!1,zoom:t,center:i,scrollwheel:0!=n.scrollwheel,styles:SABAI.GoogleMaps.styles||[{featureType:"poi",stylers:[{visibility:"off"}]}],fullscreenControlOptions:{position:google.maps.ControlPosition.BOTTOM_LEFT}})).mapTypes.set("osm",new google.maps.ImageMapType({getTileUrl:function(e,o){return"//a.tile.openstreetmap.org/"+o+"/"+e.x+"/"+e.y+".png"},tileSize:new google.maps.Size(256,256),isPng:!0,maxZoom:19,minZoom:0,name:"OSM"})),v>0){if(0!=n.marker_clusters){var k={maxZoom:15};n.marker_cluster_imgurl&&(k.imagePath=n.marker_cluster_imgurl+"/m"),m=new MarkerClusterer(s,[],k)}for(u=0;u<v;u++){if(c=new google.maps.LatLng(a[u].lat,a[u].lng),g=new google.maps.Marker({position:c}),(a[u].icon||n.icon)&&(d||(d={},parseInt(n.marker_width)&&parseInt(n.marker_height)&&(d.size=d.scaledSize=new google.maps.Size(parseInt(n.marker_width),parseInt(n.marker_height)))),d.url=a[u].icon||n.icon,g.setIcon(d)),f&&(f.extend(c),0!=n.force_fit_bounds&&f.extend(new google.maps.LatLng(2*i.lat()-a[u].lat,2*i.lng()-a[u].lng))),google.maps.event.addListener(g,n.marker_event||"click",function(e,o){return function(i){p&&p.get("id")===e.get("id")||(m&&i.triggered&&(s.setZoom(16),m.repaint()),p&&p.setAnimation(null),i.triggered&&!i.trigger_infobox||!a[o].content?(e.setAnimation(google.maps.Animation.BOUNCE),setTimeout(function(){e.setAnimation(null)},1400)):(b.setContent(w+a[o].content),b.open(s,e),p=e,setTimeout(function(){var e=b.getHeight()+(n.infobox_offset||60)-l.height()/2;e>0&&s.panBy(0,-1*e)},100)),s.panTo(e.getPosition()))}}(g,u)),a[u].trigger){var y=e(a[u].trigger);if(y.length){var I=a[u].triggerEvent||"mouseover";y[I](function(e,o,a,i,t){return function(){if("change"!==i||a.val()==o)return google.maps.event.trigger(e,n.marker_event||"click",{triggered:!0,trigger_infobox:t}),!1;""===a.val()&&b.close()}}(g,u,y,I,a[u].trigger_infobox))}}g.set("id",u),m?m.addMarker(g):g.setMap(s),void 0!==n.default_marker&&n.default_marker===u&&setTimeout(function(e){return function(){google.maps.event.trigger(e,n.marker_event||"click",{init:!0})}}(g),1500)}if(n.enable_directions){var M=e(n.enable_directions);if(!M.length)return;var B=M.find(".sabai-googlemaps-directions-trigger");if(!B.length)return;var L,S,x,T=M.find(".sabai-googlemaps-directions-panel"),C=new google.maps.DirectionsService;M.find(".sabai-googlemaps-directions-panel").hide().end().find(".sabai-googlemaps-directions-input").val("").end().find(".sabai-googlemaps-directions-destination").val(0),B.click(function(i){i.preventDefault();var t=e(this),n=M.find(".sabai-googlemaps-directions-destination").val();if(""!==n&&a[n]){var r=M.find(".sabai-googlemaps-directions-input").val();r&&(b.close(),t.addClass("sabai-disabled"),L=a[n],x={origin:r,destination:new google.maps.LatLng(L.lat,L.lng),travelMode:google.maps.TravelMode[t.data("travel-mode")||"DRIVING"]},T.html("").hide(),null!=S&&(S.setMap(null),S=null),S=new google.maps.DirectionsRenderer({map:s,draggable:!0,panel:T.get(0)}),C.route(x,function(e,a){a==google.maps.DirectionsStatus.OK?(S.setDirections(e),SABAI.scrollTo(o),T.show().find("img.adp-marker").hide()):alert("No directions found"),t.removeClass("sabai-disabled")}))}})}google.maps.event.addListener(b,"closeclick",function(){p=null}),google.maps.event.addListener(b,"clusteringbegin",function(){b.close(),p=null}),f&&s.fitBounds(f)}if(n.circle&&n.circle.center&&parseInt(n.circle.draw)){var O=new google.maps.Circle({strokeColor:n.circle.stroke_color||"#99f",strokeOpacity:.8,strokeWeight:1,fillColor:n.circle.fill_color||"#99f",fillOpacity:.3,map:s,center:new google.maps.LatLng(n.circle.center[0],n.circle.center[1]),radius:n.circle.is_mile?1609.344*n.circle.radius:1e3*n.circle.radius});f||s.fitBounds(O.getBounds())}if(r){var D=e(n.update_trigger||o+"-update");if(D.length){var G,z=function(){D.prop("checked")&&r.call(s,s.getCenter(),s.getBounds(),s.getZoom())};google.maps.event.addListener(s,"dragend",function(){G=setTimeout(z,1e3)}),google.maps.event.addListener(s,"mousedown",function(){G&&clearTimeout(G)}),e.cookie&&D.prop("checked",e.cookie("sabai_googlemaps_map_update")).click(function(){e(this).prop("checked")?e.cookie("sabai_googlemaps_map_update",!0,{expires:7}):e.removeCookie("sabai_googlemaps_map_update")})}}return SABAI.GoogleMaps.maps[o]=s,s}},SABAI.Directory=SABAI.Directory||{},SABAI.Directory.googleMap=function(e,o,a,i,t,n,r){SABAI.GoogleMaps.map(e,o,i,t,n,r,a)}}(jQuery);
// source --> https://catholicschoolsny.org/wp-content/plugins/sabai-googlemaps/assets/js/sabai-googlemaps-autocomplete.min.js 
!function(e){SABAI.GoogleMaps=SABAI.GoogleMaps||{},SABAI.GoogleMaps.autocomplete=SABAI.GoogleMaps.autocomplete||function(o,n){if("undefined"!=typeof google&&google.maps.places){var t=e(o);t.length&&(n=n||{},n.types=["geocode"],n.country&&(n.componentRestrictions=n.componentRestrictions||{},n.componentRestrictions.country=n.country),t.each(function(){var o=e(this).get(0);google.maps.event.addDomListener(o,"focus",function(t){var a=new google.maps.places.Autocomplete(o,n);n.markerMap&&a.addListener("place_changed",function(){e(n.markerMap).find(".sabai-googlemaps-find-on-map").click()})}),google.maps.event.addDomListener(o,"keydown",function(e){13==e.keyCode&&e.preventDefault()})}))}}}(jQuery);
// source --> https://catholicschoolsny.org/wp-content/plugins/sabai-directory/assets/js/jquery.sticky.min.js 
(function(a){a.fn.stickyScroll=function(e){var h={topSpacing:0,zIndex:"",stopper:".sticky-stopper"},g=a.extend({},h,e);function d(){if(typeof g.zIndex=="number"){return true}else{return false}}var c=d();function f(){if(0<a(g.stopper).length||typeof g.stopper==="number"){return true}else{return false}}var b=f();return this.each(function(){var o=a(this),j=o.outerHeight(),m=o.width("auto").outerWidth(),q=g.topSpacing,p=g.zIndex,k=o.offset().top-q,r=a("<div></div>").width(m).addClass("sticky-placeholder"),l=g.stopper,i=a(window);function n(){var v=i.scrollTop();if(b&&typeof l==="string"){var s=a(l),t=s.offset().top,x=parseInt(s.css("margin-top"),10),w=(t-j)-q-x}else{if(b&&typeof l==="number"){var w=l}}if(k<v){o.width(m).append(r).css({position:"fixed",top:q});if(c){o.css({zIndex:p})}if(b){if(w<v){var u=(w-v)+q;o.css({top:u})}}}else{o.css({position:"static",top:null,left:null});r.remove()}}i.unbind(".stickyScroll").bind("scroll.stickyScroll resize.stickyScroll",n)})}})(jQuery);
// source --> https://catholicschoolsny.org/wp-content/plugins/sabai/assets/js/typeahead.bundle.min.js 
/*!
 * typeahead.js 0.10.5
 * https://github.com/twitter/typeahead.js
 * Copyright 2013-2014 Twitter, Inc. and other contributors; Licensed MIT
 */

!function(a){var b=function(){"use strict";return{isMsie:function(){return/(msie|trident)/i.test(navigator.userAgent)?navigator.userAgent.match(/(msie |rv:)(\d+(.\d+)?)/i)[2]:!1},isBlankString:function(a){return!a||/^\s*$/.test(a)},escapeRegExChars:function(a){return a.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isString:function(a){return"string"==typeof a},isNumber:function(a){return"number"==typeof a},isArray:a.isArray,isFunction:a.isFunction,isObject:a.isPlainObject,isUndefined:function(a){return"undefined"==typeof a},toStr:function(a){return b.isUndefined(a)||null===a?"":a+""},bind:a.proxy,each:function(b,c){function d(a,b){return c(b,a)}a.each(b,d)},map:a.map,filter:a.grep,every:function(b,c){var d=!0;return b?(a.each(b,function(a,e){return(d=c.call(null,e,a,b))?void 0:!1}),!!d):d},some:function(b,c){var d=!1;return b?(a.each(b,function(a,e){return(d=c.call(null,e,a,b))?!1:void 0}),!!d):d},mixin:a.extend,getUniqueId:function(){var a=0;return function(){return a++}}(),templatify:function(b){function c(){return String(b)}return a.isFunction(b)?b:c},defer:function(a){setTimeout(a,0)},debounce:function(a,b,c){var d,e;return function(){var f,g,h=this,i=arguments;return f=function(){d=null,c||(e=a.apply(h,i))},g=c&&!d,clearTimeout(d),d=setTimeout(f,b),g&&(e=a.apply(h,i)),e}},throttle:function(a,b){var c,d,e,f,g,h;return g=0,h=function(){g=new Date,e=null,f=a.apply(c,d)},function(){var i=new Date,j=b-(i-g);return c=this,d=arguments,0>=j?(clearTimeout(e),e=null,g=i,f=a.apply(c,d)):e||(e=setTimeout(h,j)),f}},noop:function(){}}}(),c="0.10.5",d=function(){"use strict";function a(a){return a=b.toStr(a),a?a.split(/\s+/):[]}function c(a){return a=b.toStr(a),a?a.split(/\W+/):[]}function d(a){return function(){var c=[].slice.call(arguments,0);return function(d){var e=[];return b.each(c,function(c){e=e.concat(a(b.toStr(d[c])))}),e}}}return{nonword:c,whitespace:a,obj:{nonword:d(c),whitespace:d(a)}}}(),e=function(){"use strict";function c(c){this.maxSize=b.isNumber(c)?c:100,this.reset(),this.maxSize<=0&&(this.set=this.get=a.noop)}function d(){this.head=this.tail=null}function e(a,b){this.key=a,this.val=b,this.prev=this.next=null}return b.mixin(c.prototype,{set:function(a,b){var c,d=this.list.tail;this.size>=this.maxSize&&(this.list.remove(d),delete this.hash[d.key]),(c=this.hash[a])?(c.val=b,this.list.moveToFront(c)):(c=new e(a,b),this.list.add(c),this.hash[a]=c,this.size++)},get:function(a){var b=this.hash[a];return b?(this.list.moveToFront(b),b.val):void 0},reset:function(){this.size=0,this.hash={},this.list=new d}}),b.mixin(d.prototype,{add:function(a){this.head&&(a.next=this.head,this.head.prev=a),this.head=a,this.tail=this.tail||a},remove:function(a){a.prev?a.prev.next=a.next:this.head=a.next,a.next?a.next.prev=a.prev:this.tail=a.prev},moveToFront:function(a){this.remove(a),this.add(a)}}),c}(),f=function(){"use strict";function a(a){this.prefix=["__",a,"__"].join(""),this.ttlKey="__ttl__",this.keyMatcher=new RegExp("^"+b.escapeRegExChars(this.prefix))}function c(){return(new Date).getTime()}function d(a){return JSON.stringify(b.isUndefined(a)?null:a)}function e(a){return JSON.parse(a)}var f,g;try{f=window.localStorage,f.setItem("~~~","!"),f.removeItem("~~~")}catch(h){f=null}return g=f&&window.JSON?{_prefix:function(a){return this.prefix+a},_ttlKey:function(a){return this._prefix(a)+this.ttlKey},get:function(a){return this.isExpired(a)&&this.remove(a),e(f.getItem(this._prefix(a)))},set:function(a,e,g){return b.isNumber(g)?f.setItem(this._ttlKey(a),d(c()+g)):f.removeItem(this._ttlKey(a)),f.setItem(this._prefix(a),d(e))},remove:function(a){return f.removeItem(this._ttlKey(a)),f.removeItem(this._prefix(a)),this},clear:function(){var a,b,c=[],d=f.length;for(a=0;d>a;a++)(b=f.key(a)).match(this.keyMatcher)&&c.push(b.replace(this.keyMatcher,""));for(a=c.length;a--;)this.remove(c[a]);return this},isExpired:function(a){var d=e(f.getItem(this._ttlKey(a)));return b.isNumber(d)&&c()>d?!0:!1}}:{get:b.noop,set:b.noop,remove:b.noop,clear:b.noop,isExpired:b.noop},b.mixin(a.prototype,g),a}(),g=function(){"use strict";function c(b){b=b||{},this.cancelled=!1,this.lastUrl=null,this._send=b.transport?d(b.transport):a.ajax,this._get=b.rateLimiter?b.rateLimiter(this._get):this._get,this._cache=b.cache===!1?new e(0):i}function d(c){return function(d,e){function f(a){b.defer(function(){h.resolve(a)})}function g(a){b.defer(function(){h.reject(a)})}var h=a.Deferred();return c(d,e,f,g),h}}var f=0,g={},h=6,i=new e(10);return c.setMaxPendingRequests=function(a){h=a},c.resetCache=function(){i.reset()},b.mixin(c.prototype,{_get:function(a,b,c){function d(b){c&&c(null,b),k._cache.set(a,b)}function e(){c&&c(!0)}function i(){f--,delete g[a],k.onDeckRequestArgs&&(k._get.apply(k,k.onDeckRequestArgs),k.onDeckRequestArgs=null)}var j,k=this;this.cancelled||a!==this.lastUrl||((j=g[a])?j.done(d).fail(e):h>f?(f++,g[a]=this._send(a,b).done(d).fail(e).always(i)):this.onDeckRequestArgs=[].slice.call(arguments,0))},get:function(a,c,d){var e;return b.isFunction(c)&&(d=c,c={}),this.cancelled=!1,this.lastUrl=a,(e=this._cache.get(a))?b.defer(function(){d&&d(null,e)}):this._get(a,c,d),!!e},cancel:function(){this.cancelled=!0}}),c}(),h=function(){"use strict";function c(b){b=b||{},b.datumTokenizer&&b.queryTokenizer||a.error("datumTokenizer and queryTokenizer are both required"),this.datumTokenizer=b.datumTokenizer,this.queryTokenizer=b.queryTokenizer,this.reset()}function d(a){return a=b.filter(a,function(a){return!!a}),a=b.map(a,function(a){return a.toLowerCase()})}function e(){return{ids:[],children:{}}}function f(a){for(var b={},c=[],d=0,e=a.length;e>d;d++)b[a[d]]||(b[a[d]]=!0,c.push(a[d]));return c}function g(a,b){function c(a,b){return a-b}var d=0,e=0,f=[];a=a.sort(c),b=b.sort(c);for(var g=a.length,h=b.length;g>d&&h>e;)a[d]<b[e]?d++:a[d]>b[e]?e++:(f.push(a[d]),d++,e++);return f}return b.mixin(c.prototype,{bootstrap:function(a){this.datums=a.datums,this.trie=a.trie},add:function(a){var c=this;a=b.isArray(a)?a:[a],b.each(a,function(a){var f,g;f=c.datums.push(a)-1,g=d(c.datumTokenizer(a)),b.each(g,function(a){var b,d,g;for(b=c.trie,d=a.split("");g=d.shift();)b=b.children[g]||(b.children[g]=e()),b.ids.push(f)})})},get:function(a){var c,e,h=this;return c=d(this.queryTokenizer(a)),b.each(c,function(a){var b,c,d,f;if(e&&0===e.length)return!1;for(b=h.trie,c=a.split("");b&&(d=c.shift());)b=b.children[d];return b&&0===c.length?(f=b.ids.slice(0),void(e=e?g(e,f):f)):(e=[],!1)}),e?b.map(f(e),function(a){return h.datums[a]}):[]},reset:function(){this.datums=[],this.trie=e()},serialize:function(){return{datums:this.datums,trie:this.trie}}}),c}(),i=function(){"use strict";function d(a){return a.local||null}function e(d){var e,f;return f={url:null,thumbprint:"",ttl:864e5,filter:null,ajax:{}},(e=d.prefetch||null)&&(e=b.isString(e)?{url:e}:e,e=b.mixin(f,e),e.thumbprint=c+e.thumbprint,e.ajax.type=e.ajax.type||"GET",e.ajax.dataType=e.ajax.dataType||"json",!e.url&&a.error("prefetch requires url to be set")),e}function f(c){function d(a){return function(c){return b.debounce(c,a)}}function e(a){return function(c){return b.throttle(c,a)}}var f,g;return g={url:null,cache:!0,wildcard:"%QUERY",replace:null,rateLimitBy:"debounce",rateLimitWait:300,send:null,filter:null,ajax:{}},(f=c.remote||null)&&(f=b.isString(f)?{url:f}:f,f=b.mixin(g,f),f.rateLimiter=/^throttle$/i.test(f.rateLimitBy)?e(f.rateLimitWait):d(f.rateLimitWait),f.ajax.type=f.ajax.type||"GET",f.ajax.dataType=f.ajax.dataType||"json",delete f.rateLimitBy,delete f.rateLimitWait,!f.url&&a.error("remote requires url to be set")),f}return{local:d,prefetch:e,remote:f}}();!function(c){"use strict";function e(b){b&&(b.local||b.prefetch||b.remote)||a.error("one of local, prefetch, or remote is required"),this.limit=b.limit||5,this.sorter=j(b.sorter),this.dupDetector=b.dupDetector||k,this.local=i.local(b),this.prefetch=i.prefetch(b),this.remote=i.remote(b),this.cacheKey=this.prefetch?this.prefetch.cacheKey||this.prefetch.url:null,this.index=new h({datumTokenizer:b.datumTokenizer,queryTokenizer:b.queryTokenizer}),this.storage=this.cacheKey?new f(this.cacheKey):null}function j(a){function c(b){return b.sort(a)}function d(a){return a}return b.isFunction(a)?c:d}function k(){return!1}var l,m;return l=c.Bloodhound,m={data:"data",protocol:"protocol",thumbprint:"thumbprint"},c.Bloodhound=e,e.noConflict=function(){return c.Bloodhound=l,e},e.tokenizers=d,b.mixin(e.prototype,{_loadPrefetch:function(b){function c(a){f.clear(),f.add(b.filter?b.filter(a):a),f._saveToStorage(f.index.serialize(),b.thumbprint,b.ttl)}var d,e,f=this;return(d=this._readFromStorage(b.thumbprint))?(this.index.bootstrap(d),e=a.Deferred().resolve()):e=a.ajax(b.url,b.ajax).done(c),e},_getFromRemote:function(a,b){function c(a,c){b(a?[]:f.remote.filter?f.remote.filter(c):c)}var d,e,f=this;if(this.transport)return a=a||"",e=encodeURIComponent(a),d=this.remote.replace?this.remote.replace(this.remote.url,a):this.remote.url.replace(this.remote.wildcard,e),this.transport.get(d,this.remote.ajax,c)},_cancelLastRemoteRequest:function(){this.transport&&this.transport.cancel()},_saveToStorage:function(a,b,c){this.storage&&(this.storage.set(m.data,a,c),this.storage.set(m.protocol,location.protocol,c),this.storage.set(m.thumbprint,b,c))},_readFromStorage:function(a){var b,c={};return this.storage&&(c.data=this.storage.get(m.data),c.protocol=this.storage.get(m.protocol),c.thumbprint=this.storage.get(m.thumbprint)),b=c.thumbprint!==a||c.protocol!==location.protocol,c.data&&!b?c.data:null},_initialize:function(){function c(){e.add(b.isFunction(f)?f():f)}var d,e=this,f=this.local;return d=this.prefetch?this._loadPrefetch(this.prefetch):a.Deferred().resolve(),f&&d.done(c),this.transport=this.remote?new g(this.remote):null,this.initPromise=d.promise()},initialize:function(a){return!this.initPromise||a?this._initialize():this.initPromise},add:function(a){this.index.add(a)},get:function(a,c){function d(a){var d=f.slice(0);b.each(a,function(a){var c;return c=b.some(d,function(b){return e.dupDetector(a,b)}),!c&&d.push(a),d.length<e.limit}),c&&c(e.sorter(d))}var e=this,f=[],g=!1;f=this.index.get(a),f=this.sorter(f).slice(0,this.limit),f.length<this.limit?g=this._getFromRemote(a,d):this._cancelLastRemoteRequest(),g||(f.length>0||!this.transport)&&c&&c(f)},clear:function(){this.index.reset()},clearPrefetchCache:function(){this.storage&&this.storage.clear()},clearRemoteCache:function(){this.transport&&g.resetCache()},ttAdapter:function(){return b.bind(this.get,this)}}),e}(this);var j=function(){return{wrapper:'<span class="twitter-typeahead"></span>',dropdown:'<span class="tt-dropdown-menu"></span>',dataset:'<div class="tt-dataset-%CLASS%"></div>',suggestions:'<span class="tt-suggestions"></span>',suggestion:'<div class="tt-suggestion"></div>'}}(),k=function(){"use strict";var a={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},dropdown:{position:"absolute",top:"100%",left:"0",zIndex:"100",display:"none"},suggestions:{display:"block"},suggestion:{whiteSpace:"nowrap",cursor:"pointer"},suggestionChild:{whiteSpace:"normal"},ltr:{left:"0",right:"auto"},rtl:{left:"auto",right:" 0"}};return b.isMsie()&&b.mixin(a.input,{backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"}),b.isMsie()&&b.isMsie()<=7&&b.mixin(a.input,{marginTop:"-1px"}),a}(),l=function(){"use strict";function c(b){b&&b.el||a.error("EventBus initialized without el"),this.$el=a(b.el)}var d="typeahead:";return b.mixin(c.prototype,{trigger:function(a){var b=[].slice.call(arguments,1);this.$el.trigger(d+a,b)}}),c}(),m=function(){"use strict";function a(a,b,c,d){var e;if(!c)return this;for(b=b.split(i),c=d?h(c,d):c,this._callbacks=this._callbacks||{};e=b.shift();)this._callbacks[e]=this._callbacks[e]||{sync:[],async:[]},this._callbacks[e][a].push(c);return this}function b(b,c,d){return a.call(this,"async",b,c,d)}function c(b,c,d){return a.call(this,"sync",b,c,d)}function d(a){var b;if(!this._callbacks)return this;for(a=a.split(i);b=a.shift();)delete this._callbacks[b];return this}function e(a){var b,c,d,e,g;if(!this._callbacks)return this;for(a=a.split(i),d=[].slice.call(arguments,1);(b=a.shift())&&(c=this._callbacks[b]);)e=f(c.sync,this,[b].concat(d)),g=f(c.async,this,[b].concat(d)),e()&&j(g);return this}function f(a,b,c){function d(){for(var d,e=0,f=a.length;!d&&f>e;e+=1)d=a[e].apply(b,c)===!1;return!d}return d}function g(){var a;return a=window.setImmediate?function(a){setImmediate(function(){a()})}:function(a){setTimeout(function(){a()},0)}}function h(a,b){return a.bind?a.bind(b):function(){a.apply(b,[].slice.call(arguments,0))}}var i=/\s+/,j=g();return{onSync:c,onAsync:b,off:d,trigger:e}}(),n=function(a){"use strict";function c(a,c,d){for(var e,f=[],g=0,h=a.length;h>g;g++)f.push(b.escapeRegExChars(a[g]));return e=d?"\\b("+f.join("|")+")\\b":"("+f.join("|")+")",c?new RegExp(e):new RegExp(e,"i")}var d={node:null,pattern:null,tagName:"strong",className:null,wordsOnly:!1,caseSensitive:!1};return function(e){function f(b){var c,d,f;return(c=h.exec(b.data))&&(f=a.createElement(e.tagName),e.className&&(f.className=e.className),d=b.splitText(c.index),d.splitText(c[0].length),f.appendChild(d.cloneNode(!0)),b.parentNode.replaceChild(f,d)),!!c}function g(a,b){for(var c,d=3,e=0;e<a.childNodes.length;e++)c=a.childNodes[e],c.nodeType===d?e+=b(c)?1:0:g(c,b)}var h;e=b.mixin({},d,e),e.node&&e.pattern&&(e.pattern=b.isArray(e.pattern)?e.pattern:[e.pattern],h=c(e.pattern,e.caseSensitive,e.wordsOnly),g(e.node,f))}}(window.document),o=function(){"use strict";function c(c){var e,f,h,i,j=this;c=c||{},c.input||a.error("input is missing"),e=b.bind(this._onBlur,this),f=b.bind(this._onFocus,this),h=b.bind(this._onKeydown,this),i=b.bind(this._onInput,this),this.$hint=a(c.hint),this.$input=a(c.input).on("blur.tt",e).on("focus.tt",f).on("keydown.tt",h),0===this.$hint.length&&(this.setHint=this.getHint=this.clearHint=this.clearHintIfInvalid=b.noop),b.isMsie()?this.$input.on("keydown.tt keypress.tt cut.tt paste.tt",function(a){g[a.which||a.keyCode]||b.defer(b.bind(j._onInput,j,a))}):this.$input.on("input.tt",i),this.query=this.$input.val(),this.$overflowHelper=d(this.$input)}function d(b){return a('<pre aria-hidden="true"></pre>').css({position:"absolute",visibility:"hidden",whiteSpace:"pre",fontFamily:b.css("font-family"),fontSize:b.css("font-size"),fontStyle:b.css("font-style"),fontVariant:b.css("font-variant"),fontWeight:b.css("font-weight"),wordSpacing:b.css("word-spacing"),letterSpacing:b.css("letter-spacing"),textIndent:b.css("text-indent"),textRendering:b.css("text-rendering"),textTransform:b.css("text-transform")}).insertAfter(b)}function e(a,b){return c.normalizeQuery(a)===c.normalizeQuery(b)}function f(a){return a.altKey||a.ctrlKey||a.metaKey||a.shiftKey}var g;return g={9:"tab",27:"esc",37:"left",39:"right",13:"enter",38:"up",40:"down"},c.normalizeQuery=function(a){return(a||"").replace(/^\s*/g,"").replace(/\s{2,}/g," ")},b.mixin(c.prototype,m,{_onBlur:function(){this.resetInputValue(),this.trigger("blurred")},_onFocus:function(){this.trigger("focused")},_onKeydown:function(a){var b=g[a.which||a.keyCode];this._managePreventDefault(b,a),b&&this._shouldTrigger(b,a)&&this.trigger(b+"Keyed",a)},_onInput:function(){this._checkInputValue()},_managePreventDefault:function(a,b){var c,d,e;switch(a){case"tab":d=this.getHint(),e=this.getInputValue(),c=d&&d!==e&&!f(b);break;case"up":case"down":c=!f(b);break;default:c=!1}c&&b.preventDefault()},_shouldTrigger:function(a,b){var c;switch(a){case"tab":c=!f(b);break;default:c=!0}return c},_checkInputValue:function(){var a,b,c;a=this.getInputValue(),b=e(a,this.query),c=b?this.query.length!==a.length:!1,this.query=a,b?c&&this.trigger("whitespaceChanged",this.query):this.trigger("queryChanged",this.query)},focus:function(){this.$input.focus()},blur:function(){this.$input.blur()},getQuery:function(){return this.query},setQuery:function(a){this.query=a},getInputValue:function(){return this.$input.val()},setInputValue:function(a,b){this.$input.val(a),b?this.clearHint():this._checkInputValue()},resetInputValue:function(){this.setInputValue(this.query,!0)},getHint:function(){return this.$hint.val()},setHint:function(a){this.$hint.val(a)},clearHint:function(){this.setHint("")},clearHintIfInvalid:function(){var a,b,c,d;a=this.getInputValue(),b=this.getHint(),c=a!==b&&0===b.indexOf(a),d=""!==a&&c&&!this.hasOverflow(),!d&&this.clearHint()},getLanguageDirection:function(){return(this.$input.css("direction")||"ltr").toLowerCase()},hasOverflow:function(){var a=this.$input.width()-2;return this.$overflowHelper.text(this.getInputValue()),this.$overflowHelper.width()>=a},isCursorAtEnd:function(){var a,c,d;return a=this.$input.val().length,c=this.$input[0].selectionStart,b.isNumber(c)?c===a:document.selection?(d=document.selection.createRange(),d.moveStart("character",-a),a===d.text.length):!0},destroy:function(){this.$hint.off(".tt"),this.$input.off(".tt"),this.$hint=this.$input=this.$overflowHelper=null}}),c}(),p=function(){"use strict";function c(c){c=c||{},c.templates=c.templates||{},c.source||a.error("missing source"),c.name&&!f(c.name)&&a.error("invalid dataset name: "+c.name),this.query=null,this.highlight=!!c.highlight,this.name=c.name||b.getUniqueId(),this.source=c.source,this.displayFn=d(c.display||c.displayKey),this.templates=e(c.templates,this.displayFn),this.$el=a(j.dataset.replace("%CLASS%",this.name))}function d(a){function c(b){return b[a]}return a=a||"value",b.isFunction(a)?a:c}function e(a,c){function d(a){return"<p>"+c(a)+"</p>"}return{empty:a.empty&&b.templatify(a.empty),header:a.header&&b.templatify(a.header),footer:a.footer&&b.templatify(a.footer),suggestion:a.suggestion||d}}function f(a){return/^[_a-zA-Z0-9-]+$/.test(a)}var g="ttDataset",h="ttValue",i="ttDatum";return c.extractDatasetName=function(b){return a(b).data(g)},c.extractValue=function(b){return a(b).data(h)},c.extractDatum=function(b){return a(b).data(i)},b.mixin(c.prototype,m,{_render:function(c,d){function e(){return p.templates.empty({query:c,isEmpty:!0})}function f(){function e(b){var c;return c=a(j.suggestion).append(p.templates.suggestion(b)).data(g,p.name).data(h,p.displayFn(b)).data(i,b),c.children().each(function(){a(this).css(k.suggestionChild)}),c}var f,l;return f=a(j.suggestions).css(k.suggestions),l=b.map(d,e),f.append.apply(f,l),p.highlight&&n({className:"tt-highlight",node:f[0],pattern:c}),f}function l(){return p.templates.header({query:c,isEmpty:!o})}function m(){return p.templates.footer({query:c,isEmpty:!o})}if(this.$el){var o,p=this;this.$el.empty(),o=d&&d.length,!o&&this.templates.empty?this.$el.html(e()).prepend(p.templates.header?l():null).append(p.templates.footer?m():null):o&&this.$el.html(f()).prepend(p.templates.header?l():null).append(p.templates.footer?m():null),this.trigger("rendered")}},getRoot:function(){return this.$el},update:function(a){function b(b){c.canceled||a!==c.query||c._render(a,b)}var c=this;this.query=a,this.canceled=!1,this.source(a,b)},cancel:function(){this.canceled=!0},clear:function(){this.cancel(),this.$el.empty(),this.trigger("rendered")},isEmpty:function(){return this.$el.is(":empty")},destroy:function(){this.$el=null}}),c}(),q=function(){"use strict";function c(c){var e,f,g,h=this;c=c||{},c.menu||a.error("menu is required"),this.isOpen=!1,this.isEmpty=!0,this.datasets=b.map(c.datasets,d),e=b.bind(this._onSuggestionClick,this),f=b.bind(this._onSuggestionMouseEnter,this),g=b.bind(this._onSuggestionMouseLeave,this),this.$menu=a(c.menu).on("click.tt",".tt-suggestion",e).on("mouseenter.tt",".tt-suggestion",f).on("mouseleave.tt",".tt-suggestion",g),b.each(this.datasets,function(a){h.$menu.append(a.getRoot()),a.onSync("rendered",h._onRendered,h)})}function d(a){return new p(a)}return b.mixin(c.prototype,m,{_onSuggestionClick:function(b){this.trigger("suggestionClicked",a(b.currentTarget))},_onSuggestionMouseEnter:function(b){this._removeCursor(),this._setCursor(a(b.currentTarget),!0)},_onSuggestionMouseLeave:function(){this._removeCursor()},_onRendered:function(){function a(a){return a.isEmpty()}this.isEmpty=b.every(this.datasets,a),this.isEmpty?this._hide():this.isOpen&&this._show(),this.trigger("datasetRendered")},_hide:function(){this.$menu.hide()},_show:function(){this.$menu.css("display","block")},_getSuggestions:function(){return this.$menu.find(".tt-suggestion")},_getCursor:function(){return this.$menu.find(".tt-cursor").first()},_setCursor:function(a,b){a.first().addClass("tt-cursor"),!b&&this.trigger("cursorMoved")},_removeCursor:function(){this._getCursor().removeClass("tt-cursor")},_moveCursor:function(a){var b,c,d,e;if(this.isOpen){if(c=this._getCursor(),b=this._getSuggestions(),this._removeCursor(),d=b.index(c)+a,d=(d+1)%(b.length+1)-1,-1===d)return void this.trigger("cursorRemoved");-1>d&&(d=b.length-1),this._setCursor(e=b.eq(d)),this._ensureVisible(e)}},_ensureVisible:function(a){var b,c,d,e;b=a.position().top,c=b+a.outerHeight(!0),d=this.$menu.scrollTop(),e=this.$menu.height()+parseInt(this.$menu.css("paddingTop"),10)+parseInt(this.$menu.css("paddingBottom"),10),0>b?this.$menu.scrollTop(d+b):c>e&&this.$menu.scrollTop(d+(c-e))},close:function(){this.isOpen&&(this.isOpen=!1,this._removeCursor(),this._hide(),this.trigger("closed"))},open:function(){this.isOpen||(this.isOpen=!0,!this.isEmpty&&this._show(),this.trigger("opened"))},setLanguageDirection:function(a){this.$menu.css("ltr"===a?k.ltr:k.rtl)},moveCursorUp:function(){this._moveCursor(-1)},moveCursorDown:function(){this._moveCursor(1)},getDatumForSuggestion:function(a){var b=null;return a.length&&(b={raw:p.extractDatum(a),value:p.extractValue(a),datasetName:p.extractDatasetName(a)}),b},getDatumForCursor:function(){return this.getDatumForSuggestion(this._getCursor().first())},getDatumForTopSuggestion:function(){return this.getDatumForSuggestion(this._getSuggestions().first())},update:function(a){function c(b){b.update(a)}b.each(this.datasets,c)},empty:function(){function a(a){a.clear()}b.each(this.datasets,a),this.isEmpty=!0},isVisible:function(){return this.isOpen&&!this.isEmpty},destroy:function(){function a(a){a.destroy()}this.$menu.off(".tt"),this.$menu=null,b.each(this.datasets,a)}}),c}(),r=function(){"use strict";function c(c){var e,f,g;c=c||{},c.input||a.error("missing input"),this.isActivated=!1,this.autoselect=!!c.autoselect,this.minLength=b.isNumber(c.minLength)?c.minLength:1,this.$node=d(c.input,c.withHint),e=this.$node.find(".tt-dropdown-menu"),f=this.$node.find(".tt-input"),g=this.$node.find(".tt-hint"),f.on("blur.tt",function(a){var c,d,g;c=document.activeElement,d=e.is(c),g=e.has(c).length>0,b.isMsie()&&(d||g)&&(a.preventDefault(),a.stopImmediatePropagation(),b.defer(function(){f.focus()}))}),e.on("mousedown.tt",function(a){a.preventDefault()}),this.eventBus=c.eventBus||new l({el:f}),this.dropdown=new q({menu:e,datasets:c.datasets}).onSync("suggestionClicked",this._onSuggestionClicked,this).onSync("cursorMoved",this._onCursorMoved,this).onSync("cursorRemoved",this._onCursorRemoved,this).onSync("opened",this._onOpened,this).onSync("closed",this._onClosed,this).onAsync("datasetRendered",this._onDatasetRendered,this),this.input=new o({input:f,hint:g}).onSync("focused",this._onFocused,this).onSync("blurred",this._onBlurred,this).onSync("enterKeyed",this._onEnterKeyed,this).onSync("tabKeyed",this._onTabKeyed,this).onSync("escKeyed",this._onEscKeyed,this).onSync("upKeyed",this._onUpKeyed,this).onSync("downKeyed",this._onDownKeyed,this).onSync("leftKeyed",this._onLeftKeyed,this).onSync("rightKeyed",this._onRightKeyed,this).onSync("queryChanged",this._onQueryChanged,this).onSync("whitespaceChanged",this._onWhitespaceChanged,this),this._setLanguageDirection()}function d(b,c){var d,f,h,i;d=a(b),f=a(j.wrapper).css(k.wrapper),h=a(j.dropdown).css(k.dropdown),i=d.clone().css(k.hint).css(e(d)),i.val("").removeData().addClass("tt-hint").removeAttr("id name placeholder required").prop("readonly",!0).attr({autocomplete:"off",spellcheck:"false",tabindex:-1}),d.data(g,{dir:d.attr("dir"),autocomplete:d.attr("autocomplete"),spellcheck:d.attr("spellcheck"),style:d.attr("style")}),d.addClass("tt-input").attr({autocomplete:"off",spellcheck:!1}).css(c?k.input:k.inputWithNoHint);try{!d.attr("dir")&&d.attr("dir","auto")}catch(l){}return d.wrap(f).parent().prepend(c?i:null).append(h)}function e(a){return{backgroundAttachment:a.css("background-attachment"),backgroundClip:a.css("background-clip"),backgroundColor:a.css("background-color"),backgroundImage:a.css("background-image"),backgroundOrigin:a.css("background-origin"),backgroundPosition:a.css("background-position"),backgroundRepeat:a.css("background-repeat"),backgroundSize:a.css("background-size")}}function f(a){var c=a.find(".tt-input");b.each(c.data(g),function(a,d){b.isUndefined(a)?c.removeAttr(d):c.attr(d,a)}),c.detach().removeData(g).removeClass("tt-input").insertAfter(a),a.remove()}var g="ttAttrs";return b.mixin(c.prototype,{_onSuggestionClicked:function(a,b){var c;(c=this.dropdown.getDatumForSuggestion(b))&&this._select(c)},_onCursorMoved:function(){var a=this.dropdown.getDatumForCursor();this.input.setInputValue(a.value,!0),this.eventBus.trigger("cursorchanged",a.raw,a.datasetName)},_onCursorRemoved:function(){this.input.resetInputValue(),this._updateHint()},_onDatasetRendered:function(){this._updateHint()},_onOpened:function(){this._updateHint(),this.eventBus.trigger("opened")},_onClosed:function(){this.input.clearHint(),this.eventBus.trigger("closed")},_onFocused:function(){this.isActivated=!0,this.dropdown.open()},_onBlurred:function(){this.isActivated=!1,this.dropdown.empty(),this.dropdown.close()},_onEnterKeyed:function(a,b){var c,d;c=this.dropdown.getDatumForCursor(),d=this.dropdown.getDatumForTopSuggestion(),c?(this._select(c),b.preventDefault()):this.autoselect&&d&&(this._select(d),b.preventDefault())},_onTabKeyed:function(a,b){var c;(c=this.dropdown.getDatumForCursor())?(this._select(c),b.preventDefault()):this._autocomplete(!0)},_onEscKeyed:function(){this.dropdown.close(),this.input.resetInputValue()},_onUpKeyed:function(){var a=this.input.getQuery();this.dropdown.isEmpty&&a.length>=this.minLength?this.dropdown.update(a):this.dropdown.moveCursorUp(),this.dropdown.open()},_onDownKeyed:function(){var a=this.input.getQuery();this.dropdown.isEmpty&&a.length>=this.minLength?this.dropdown.update(a):this.dropdown.moveCursorDown(),this.dropdown.open()},_onLeftKeyed:function(){"rtl"===this.dir&&this._autocomplete()},_onRightKeyed:function(){"ltr"===this.dir&&this._autocomplete()},_onQueryChanged:function(a,b){this.input.clearHintIfInvalid(),b.length>=this.minLength?this.dropdown.update(b):this.dropdown.empty(),this.dropdown.open(),this._setLanguageDirection()},_onWhitespaceChanged:function(){this._updateHint(),this.dropdown.open()},_setLanguageDirection:function(){var a;this.dir!==(a=this.input.getLanguageDirection())&&(this.dir=a,this.$node.css("direction",a),this.dropdown.setLanguageDirection(a))},_updateHint:function(){var a,c,d,e,f,g;a=this.dropdown.getDatumForTopSuggestion(),a&&this.dropdown.isVisible()&&!this.input.hasOverflow()?(c=this.input.getInputValue(),d=o.normalizeQuery(c),e=b.escapeRegExChars(d),f=new RegExp("^(?:"+e+")(.+$)","i"),g=f.exec(a.value),g?this.input.setHint(c+g[1]):this.input.clearHint()):this.input.clearHint()},_autocomplete:function(a){var b,c,d,e;b=this.input.getHint(),c=this.input.getQuery(),d=a||this.input.isCursorAtEnd(),b&&c!==b&&d&&(e=this.dropdown.getDatumForTopSuggestion(),e&&this.input.setInputValue(e.value),this.eventBus.trigger("autocompleted",e.raw,e.datasetName))},_select:function(a){this.input.setQuery(a.value),this.input.setInputValue(a.value,!0),this._setLanguageDirection(),this.eventBus.trigger("selected",a.raw,a.datasetName),this.dropdown.close(),b.defer(b.bind(this.dropdown.empty,this.dropdown))},open:function(){this.dropdown.open()},close:function(){this.dropdown.close()},setVal:function(a){a=b.toStr(a),this.isActivated?this.input.setInputValue(a):(this.input.setQuery(a),this.input.setInputValue(a,!0)),this._setLanguageDirection()},getVal:function(){return this.input.getQuery()},destroy:function(){this.input.destroy(),this.dropdown.destroy(),f(this.$node),this.$node=null}}),c}();!function(){"use strict";var c,d,e;c=a.fn.typeahead,d="ttTypeahead",e={initialize:function(c,e){function f(){var f,g,h=a(this);b.each(e,function(a){a.highlight=!!c.highlight}),g=new r({input:h,eventBus:f=new l({el:h}),withHint:b.isUndefined(c.hint)?!0:!!c.hint,minLength:c.minLength,autoselect:c.autoselect,datasets:e}),h.data(d,g)}return e=b.isArray(e)?e:[].slice.call(arguments,1),c=c||{},this.each(f)},open:function(){function b(){var b,c=a(this);(b=c.data(d))&&b.open()}return this.each(b)},close:function(){function b(){var b,c=a(this);(b=c.data(d))&&b.close()}return this.each(b)},val:function(b){function c(){var c,e=a(this);(c=e.data(d))&&c.setVal(b)}function e(a){var b,c;return(b=a.data(d))&&(c=b.getVal()),c}return arguments.length?this.each(c):e(this.first())},destroy:function(){function b(){var b,c=a(this);(b=c.data(d))&&(b.destroy(),c.removeData(d))}return this.each(b)}},a.fn.typeahead=function(b){var c;return e[b]&&"initialize"!==b?(c=this.filter(function(){return!!a(this).data(d)}),e[b].apply(c,[].slice.call(arguments,1))):e.initialize.apply(this,arguments)},a.fn.typeahead.noConflict=function(){return a.fn.typeahead=c,this}}()}(window.jQuery);
// source --> https://catholicschoolsny.org/wp-content/plugins/sabai/assets/js/bootstrap.min.js 
+function(b){function a(){var e=document.createElement("bootstrap");var d={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in d){if(e.style[c]!==undefined){return{end:d[c]}}}return false}b.fn.emulateTransitionEnd=function(e){var d=false;var c=this;b(this).one("bsTransitionEnd",function(){d=true});var f=function(){if(!d){b(c).trigger(b.support.transition.end)}};setTimeout(f,e);return this};b(function(){b.support.transition=a();if(!b.support.transition){return}b.event.special.bsTransitionEnd={bindType:b.support.transition.end,delegateType:b.support.transition.end,handle:function(c){if(b(c.target).is(this)){return c.handleObj.handler.apply(this,arguments)}}}})}(jQuery);+function(h){var e=".sabai-dropdown-backdrop";var b='[data-toggle="dropdown"]';var a=function(i){h(i).on("click.bs.sabaidropdown",this.toggle)};a.VERSION="3.2.0";a.prototype.toggle=function(m){var l=h(this);if(l.is(".sabai-disabled, :disabled")){return}var k=f(l);var j=k.hasClass("sabai-open");d();if(!j){if("ontouchstart" in document.documentElement&&!k.closest(".sabai-navbar-nav").length){h('<div class="sabai-dropdown-backdrop"/>').insertAfter(h(this)).on("click",d)}var i={relatedTarget:this};k.trigger(m=h.Event("show.bs.sabaidropdown",i));if(m.isDefaultPrevented()){return}l.trigger("focus");k.toggleClass("sabai-open").trigger("shown.bs.sabaidropdown",i)}return false};a.prototype.keydown=function(m){if(!/(38|40|27)/.test(m.keyCode)){return}var l=h(this);m.preventDefault();m.stopPropagation();if(l.is(".sabai-disabled, :disabled")){return}var k=f(l);var j=k.hasClass("sabai-open");if(!j||(j&&m.keyCode==27)){if(m.which==27){k.find(b).trigger("focus")}return l.trigger("click")}var n=" li:not(.sabai-divider):visible a";var o=k.find('[role="menu"]'+n+', [role="listbox"]'+n);if(!o.length){return}var i=o.index(o.filter(":focus"));if(m.keyCode==38&&i>0){i--}if(m.keyCode==40&&i<o.length-1){i++}if(!~i){i=0}o.eq(i).trigger("focus")};function d(i){if(i&&i.which===3){return}h(e).remove();h(b).each(function(){var k=f(h(this));var j={relatedTarget:this};if(!k.hasClass("sabai-open")){return}k.trigger(i=h.Event("hide.bs.sabaidropdown",j));if(i.isDefaultPrevented()){return}k.removeClass("sabai-open").trigger("hidden.bs.sabaidropdown",j)})}function f(k){var i=k.attr("data-target");if(!i){i=k.attr("href");i=i&&/#[A-Za-z]/.test(i)&&i.replace(/.*(?=#[^\s]*$)/,"")}var j=i&&h(i);return j&&j.length?j:k.parent()}function g(i){return this.each(function(){var k=h(this);var j=k.data("bs.sabaidropdown");if(!j){k.data("bs.sabaidropdown",(j=new a(this)))}if(typeof i=="string"){j[i].call(k)}})}var c=h.fn.sabaidropdown;h.fn.sabaidropdown=g;h.fn.sabaidropdown.Constructor=a;h.fn.sabaidropdown.noConflict=function(){h.fn.sabaidropdown=c;return this};h(document).on("click.bs.sabaidropdown.data-api",d).on("click.bs.sabaidropdown.data-api",".sabai-dropdown form",function(i){i.stopPropagation()}).on("click.bs.sabaidropdown.data-api",b,a.prototype.toggle).on("keydown.bs.sabaidropdown.data-api",b+', [role="menu"], [role="listbox"]',a.prototype.keydown)}(jQuery);+function(d){var c=function(f,e){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null;this.init("sabaitooltip",f,e)};c.VERSION="3.2.0";c.DEFAULTS={animation:true,placement:"top",selector:false,template:'<div class="sabai-tooltip" role="tooltip"><div class="sabai-tooltip-arrow"></div><div class="sabai-tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:false,container:false,viewport:{selector:"body",padding:0}};c.prototype.init=function(l,j,g){this.enabled=true;this.type=l;this.$element=d(j);this.options=this.getOptions(g);this.$viewport=this.options.viewport&&d(this.options.viewport.selector||this.options.viewport);var k=this.options.trigger.split(" ");for(var h=k.length;h--;){var f=k[h];if(f=="click"){this.$element.on("click."+this.type,this.options.selector,d.proxy(this.toggle,this))}else{if(f!="manual"){var m=f=="hover"?"mouseenter":"focusin";var e=f=="hover"?"mouseleave":"focusout";this.$element.on(m+"."+this.type,this.options.selector,d.proxy(this.enter,this));this.$element.on(e+"."+this.type,this.options.selector,d.proxy(this.leave,this))}}}this.options.selector?(this._options=d.extend({},this.options,{trigger:"manual",selector:""})):this.fixTitle()};c.prototype.getDefaults=function(){return c.DEFAULTS};c.prototype.getOptions=function(e){e=d.extend({},this.getDefaults(),this.$element.data(),e);if(e.delay&&typeof e.delay=="number"){e.delay={show:e.delay,hide:e.delay}}return e};c.prototype.getDelegateOptions=function(){var e={};var f=this.getDefaults();this._options&&d.each(this._options,function(g,h){if(f[g]!=h){e[g]=h}});return e};c.prototype.enter=function(f){var e=f instanceof this.constructor?f:d(f.currentTarget).data("bs."+this.type);if(!e){e=new this.constructor(f.currentTarget,this.getDelegateOptions());d(f.currentTarget).data("bs."+this.type,e)}clearTimeout(e.timeout);e.hoverState="in";if(!e.options.delay||!e.options.delay.show){return e.show()}e.timeout=setTimeout(function(){if(e.hoverState=="in"){e.show()}},e.options.delay.show)};c.prototype.leave=function(f){var e=f instanceof this.constructor?f:d(f.currentTarget).data("bs."+this.type);if(!e){e=new this.constructor(f.currentTarget,this.getDelegateOptions());d(f.currentTarget).data("bs."+this.type,e)}clearTimeout(e.timeout);e.hoverState="out";if(!e.options.delay||!e.options.delay.hide){return e.hide()}e.timeout=setTimeout(function(){if(e.hoverState=="out"){e.hide()}},e.options.delay.hide)};c.prototype.show=function(){var q=d.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(q);var r=d.contains(document.documentElement,this.$element[0]);if(q.isDefaultPrevented()||!r){return}var p=this;var n=this.tip();var h=this.getUID(this.type);this.setContent();n.attr("id",h);this.$element.attr("aria-describedby",h);if(this.options.animation){n.addClass("sabai-fade")}var l=typeof this.options.placement=="function"?this.options.placement.call(this,n[0],this.$element[0]):this.options.placement;var t=/\s?auto?\s?/i;var u=t.test(l);if(u){l=l.replace(t,"")||"top"}n.detach().css({top:0,left:0,display:"block"}).addClass("sabai-"+l).data("bs."+this.type,this);this.options.container?n.appendTo(this.options.container):n.insertAfter(this.$element);var s=this.getPosition();var f=n[0].offsetWidth;var o=n[0].offsetHeight;if(u){var j=l;var k=this.$element.parent();var m=this.getPosition(k);l=l=="bottom"&&s.top+s.height+o-m.scroll>m.height?"top":l=="top"&&s.top-m.scroll-o<0?"bottom":l=="right"&&s.right+f>m.width?"left":l=="left"&&s.left-f<m.left?"right":l;n.removeClass("sabai-"+j).addClass("sabai-"+l)}var i=this.getCalculatedOffset(l,s,f,o);this.applyPlacement(i,l);var g=function(){p.$element.trigger("shown.bs."+p.type);p.hoverState=null};d.support.transition&&this.$tip.hasClass("sabai-fade")?n.one("bsTransitionEnd",g).emulateTransitionEnd(150):g()}};c.prototype.applyPlacement=function(k,l){var m=this.tip();var g=m[0].offsetWidth;var q=m[0].offsetHeight;var f=parseInt(m.css("margin-top"),10);var i=parseInt(m.css("margin-left"),10);if(isNaN(f)){f=0}if(isNaN(i)){i=0}k.top=k.top+f;k.left=k.left+i;d.offset.setOffset(m[0],d.extend({using:function(r){m.css({top:Math.round(r.top),left:Math.round(r.left)})}},k),0);m.addClass("sabai-in");var e=m[0].offsetWidth;var n=m[0].offsetHeight;if(l=="top"&&n!=q){k.top=k.top+q-n}var p=this.getViewportAdjustedDelta(l,k,e,n);if(p.left){k.left+=p.left}else{k.top+=p.top}var h=p.left?p.left*2-g+e:p.top*2-q+n;var j=p.left?"left":"top";var o=p.left?"offsetWidth":"offsetHeight";m.offset(k);this.replaceArrow(h,m[0][o],j)};c.prototype.replaceArrow=function(g,f,e){this.arrow().css(e,g?(50*(1-g/f)+"%"):"")};c.prototype.setContent=function(){var f=this.tip();var e=this.getTitle();f.find(".sabai-tooltip-inner")[this.options.html?"html":"text"](e);f.removeClass("sabai-fade sabai-in sabai-top sabai-bottom sabai-left sabai-right")};c.prototype.hide=function(){var g=this;var i=this.tip();var h=d.Event("hide.bs."+this.type);this.$element.removeAttr("aria-describedby");function f(){if(g.hoverState!="in"){i.detach()}g.$element.trigger("hidden.bs."+g.type)}this.$element.trigger(h);if(h.isDefaultPrevented()){return}i.removeClass("sabai-in");d.support.transition&&this.$tip.hasClass("sabai-fade")?i.one("bsTransitionEnd",f).emulateTransitionEnd(150):f();this.hoverState=null;return this};c.prototype.fixTitle=function(){var e=this.$element;if(e.attr("title")||typeof(e.attr("data-original-title"))!="string"){e.attr("data-original-title",e.attr("title")||"").attr("title","")}};c.prototype.hasContent=function(){return this.getTitle()};c.prototype.getPosition=function(f){f=f||this.$element;var g=f[0];var e=g.tagName=="BODY";return d.extend({},(typeof g.getBoundingClientRect=="function")?g.getBoundingClientRect():null,{scroll:e?document.documentElement.scrollTop||document.body.scrollTop:f.scrollTop(),width:e?d(window).width():f.outerWidth(),height:e?d(window).height():f.outerHeight()},e?{top:0,left:0}:f.offset())};c.prototype.getCalculatedOffset=function(e,h,f,g){return e=="bottom"?{top:h.top+h.height,left:h.left+h.width/2-f/2}:e=="top"?{top:h.top-g,left:h.left+h.width/2-f/2}:e=="left"?{top:h.top+h.height/2-g/2,left:h.left-f}:{top:h.top+h.height/2-g/2,left:h.left+h.width}};c.prototype.getViewportAdjustedDelta=function(h,k,e,j){var m={top:0,left:0};if(!this.$viewport){return m}var g=this.options.viewport&&this.options.viewport.padding||0;var l=this.getPosition(this.$viewport);if(/right|left/.test(h)){var n=k.top-g-l.scroll;var i=k.top+g-l.scroll+j;if(n<l.top){m.top=l.top-n}else{if(i>l.top+l.height){m.top=l.top+l.height-i}}}else{var o=k.left-g;var f=k.left+g+e;if(o<l.left){m.left=l.left-o}else{if(f>l.width){m.left=l.left+l.width-f}}}return m};c.prototype.getTitle=function(){var g;var e=this.$element;var f=this.options;g=e.attr("data-original-title")||(typeof f.title=="function"?f.title.call(e[0]):f.title);return g};c.prototype.getUID=function(e){do{e+=~~(Math.random()*1000000)}while(document.getElementById(e));return e};c.prototype.tip=function(){return(this.$tip=this.$tip||d(this.options.template))};c.prototype.arrow=function(){return(this.$arrow=this.$arrow||this.tip().find(".sabai-tooltip-arrow"))};c.prototype.validate=function(){if(!this.$element[0].parentNode){this.hide();this.$element=null;this.options=null}};c.prototype.enable=function(){this.enabled=true};c.prototype.disable=function(){this.enabled=false};c.prototype.toggleEnabled=function(){this.enabled=!this.enabled};c.prototype.toggle=function(g){var f=this;if(g){f=d(g.currentTarget).data("bs."+this.type);if(!f){f=new this.constructor(g.currentTarget,this.getDelegateOptions());d(g.currentTarget).data("bs."+this.type,f)}}f.tip().hasClass("sabai-in")?f.leave(f):f.enter(f)};c.prototype.destroy=function(){clearTimeout(this.timeout);this.hide().$element.off("."+this.type).removeData("bs."+this.type)};function b(e){return this.each(function(){var h=d(this);var g=h.data("bs.sabaitooltip");var f=typeof e=="object"&&e;if(!g&&e=="destroy"){return}if(!g){h.data("bs.sabaitooltip",(g=new c(this,f)))}if(typeof e=="string"){g[e]()}})}var a=d.fn.sabaitooltip;d.fn.sabaitooltip=b;d.fn.sabaitooltip.Constructor=c;d.fn.sabaitooltip.noConflict=function(){d.fn.sabaitooltip=a;return this}}(jQuery);+function(d){var c=function(f,e){this.init("sabaipopover",f,e)};if(!d.fn.sabaitooltip){throw new Error("Popover requires tooltip.js")}c.VERSION="3.2.0";c.DEFAULTS=d.extend({},d.fn.sabaitooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="sabai-popover" role="tooltip"><div class="sabai-arrow"></div><h3 class="sabai-popover-title"></h3><div class="sabai-popover-content"></div></div>'});c.prototype=d.extend({},d.fn.sabaitooltip.Constructor.prototype);c.prototype.constructor=c;c.prototype.getDefaults=function(){return c.DEFAULTS};c.prototype.setContent=function(){var g=this.tip();var f=this.getTitle();var e=this.getContent();g.find(".sabai-popover-title")[this.options.html?"html":"text"](f);g.find(".sabai-popover-content").empty()[this.options.html?(typeof e=="string"?"html":"append"):"text"](e);g.removeClass("sabai-fade sabai-top sabai-bottom sabai-left sabai-right sabai-in");if(!g.find(".sabai-popover-title").html()){g.find(".sabai-popover-title").hide()}};c.prototype.hasContent=function(){return this.getTitle()||this.getContent()};c.prototype.getContent=function(){var e=this.$element;var f=this.options;return e.attr("data-content")||(typeof f.content=="function"?f.content.call(e[0]):f.content)};c.prototype.arrow=function(){return(this.$arrow=this.$arrow||this.tip().find(".sabai-arrow"))};c.prototype.tip=function(){if(!this.$tip){this.$tip=d(this.options.template)}return this.$tip};function b(e){return this.each(function(){var h=d(this);var g=h.data("bs.sabaipopover");var f=typeof e=="object"&&e;if(!g&&e=="destroy"){return}if(!g){h.data("bs.sabaipopover",(g=new c(this,f)))}if(typeof e=="string"){g[e]()}})}var a=d.fn.sabaipopover;d.fn.sabaipopover=b;d.fn.sabaipopover.Constructor=c;d.fn.sabaipopover.noConflict=function(){d.fn.sabaipopover=a;return this}}(jQuery);+function(c){var d=function(f,e){this.$element=c(f).on("keydown.bs.sabaicarousel",c.proxy(this.keydown,this));this.$indicators=this.$element.find(".sabai-carousel-indicators");this.options=e;this.paused=this.sliding=this.interval=this.$active=this.$items=null;this.options.pause=="hover"&&this.$element.on("mouseenter.bs.sabaicarousel",c.proxy(this.pause,this)).on("mouseleave.bs.sabaicarousel",c.proxy(this.cycle,this))};d.VERSION="3.2.0";d.DEFAULTS={interval:5000,pause:"hover",wrap:true};d.prototype.keydown=function(f){switch(f.which){case 37:this.prev();break;case 39:this.next();break;default:return}f.preventDefault()};d.prototype.cycle=function(f){f||(this.paused=false);this.interval&&clearInterval(this.interval);this.options.interval&&!this.paused&&(this.interval=setInterval(c.proxy(this.next,this),this.options.interval));return this};d.prototype.getItemIndex=function(e){this.$items=e.parent().children(".sabai-item");return this.$items.index(e||this.$active)};d.prototype.to=function(g){var f=this;var e=this.getItemIndex(this.$active=this.$element.find(".sabai-item.sabai-active"));if(g>(this.$items.length-1)||g<0){return}if(this.sliding){return this.$element.one("slid.bs.sabaicarousel",function(){f.to(g)})}if(e==g){return this.pause().cycle()}return this.slide(g>e?"next":"prev",c(this.$items[g]))};d.prototype.pause=function(f){f||(this.paused=true);if(this.$element.find(".sabai-next, .sabai-prev").length&&c.support.transition){this.$element.trigger(c.support.transition.end);this.cycle(true)}this.interval=clearInterval(this.interval);return this};d.prototype.next=function(){if(this.sliding){return}return this.slide("next")};d.prototype.prev=function(){if(this.sliding){return}return this.slide("prev")};d.prototype.slide=function(m,h){var p=this.$element.find(".sabai-item.sabai-active");var f=h||p[m]();var k=this.interval;var n=m=="next"?"left":"right";var i=m=="next"?"first":"last";var j=this;if(!f.length){if(!this.options.wrap){return}f=this.$element.find(".sabai-item")[i]()}if(f.hasClass("sabai-active")){return(this.sliding=false)}var l=f[0];var e=c.Event("slide.bs.sabaicarousel",{relatedTarget:l,direction:n});this.$element.trigger(e);if(e.isDefaultPrevented()){return}this.sliding=true;k&&this.pause();if(this.$indicators.length){this.$indicators.find(".sabai-active").removeClass("sabai-active");var g=c(this.$indicators.children()[this.getItemIndex(f)]);g&&g.addClass("sabai-active")}var o=c.Event("slid.bs.sabaicarousel",{relatedTarget:l,direction:n});if(c.support.transition&&this.$element.hasClass("sabai-slide")){f.addClass("sabai-"+m);f[0].offsetWidth;p.addClass("sabai-"+n);f.addClass("sabai-"+n);p.one("bsTransitionEnd",function(){f.removeClass(["sabai-"+m,"sabai-"+n].join(" ")).addClass("sabai-active");p.removeClass(["sabai-active","sabai-"+n].join(" "));j.sliding=false;setTimeout(function(){j.$element.trigger(o)},0)}).emulateTransitionEnd(p.css("transition-duration").slice(0,-1)*1000)}else{p.removeClass("sabai-active");f.addClass("sabai-active");this.sliding=false;this.$element.trigger(o)}k&&this.cycle();return this};function b(e){return this.each(function(){var i=c(this);var h=i.data("bs.sabaicarousel");var f=c.extend({},d.DEFAULTS,i.data(),typeof e=="object"&&e);var g=typeof e=="string"?e:f.slide;if(!h){i.data("bs.sabaicarousel",(h=new d(this,f)))}if(typeof e=="number"){h.to(e)}else{if(g){h[g]()}else{if(f.interval){h.pause().cycle()}}}})}var a=c.fn.sabaicarousel;c.fn.sabaicarousel=b;c.fn.sabaicarousel.Constructor=d;c.fn.sabaicarousel.noConflict=function(){c.fn.sabaicarousel=a;return this};c(document).on("click.bs.sabaicarousel.data-api","[data-slide], [data-slide-to]",function(k){var g;var j=c(this);var f=c(j.attr("data-target")||(g=j.attr("href"))&&g.replace(/.*(?=#[^\s]+$)/,""));if(!f.hasClass("sabai-carousel")){return}var h=c.extend({},f.data(),j.data());var i=j.attr("data-slide-to");if(i){h.interval=false}b.call(f,h);if(i){f.data("bs.sabaicarousel").to(i)}k.preventDefault()});c(window).on("load",function(){c('[data-ride="sabaicarousel"]').each(function(){var e=c(this);b.call(e,e.data())})})}(jQuery);+function(e){var d='[data-dismiss="alert"]';var b=function(f){e(f).on("click",d,this.close)};b.VERSION="3.2.0";b.prototype.close=function(j){var i=e(this);var g=i.attr("data-target");if(!g){g=i.attr("href");g=g&&g.replace(/.*(?=#[^\s]*$)/,"")}var h=e(g);if(j){j.preventDefault()}if(!h.length){h=i.hasClass("sabai-alert")?i:i.parent()}h.trigger(j=e.Event("close.bs.sabaialert"));if(j.isDefaultPrevented()){return}h.removeClass("in");function f(){h.detach().trigger("closed.bs.sabaialert").remove()}e.support.transition&&h.hasClass("sabai-fade")?h.one("bsTransitionEnd",f).emulateTransitionEnd(150):f()};function c(f){return this.each(function(){var h=e(this);var g=h.data("bs.sabaialert");if(!g){h.data("bs.sabaialert",(g=new b(this)))}if(typeof f=="string"){g[f].call(h)}})}var a=e.fn.sabaialert;e.fn.sabaialert=c;e.fn.sabaialert.Constructor=b;e.fn.sabaialert.noConflict=function(){e.fn.sabaialert=a;return this};e(document).on("click.bs.sabaialert.data-api",d,b.prototype.close)}(jQuery);+function(d){var b=function(e){this.element=d(e)};b.VERSION="3.2.0";b.prototype.show=function(){var k=this.element;var h=k.closest("ul:not(.sabai-dropdown-menu)");var g=k.data("target");if(!g){g=k.attr("href");g=g&&g.replace(/.*(?=#[^\s]*$)/,"")}if(k.parent("li").hasClass("sabai-active")){return}var i=h.find(".sabai-active:last a")[0];var j=d.Event("show.bs.sabaitab",{relatedTarget:i});k.trigger(j);if(j.isDefaultPrevented()){return}var f=d(g);this.activate(k.closest("li"),h);this.activate(f,f.parent(),function(){k.trigger({type:"shown.bs.sabaitab",relatedTarget:i})})};b.prototype.activate=function(g,f,j){var e=f.find("> .sabai-active");var i=j&&d.support.transition&&e.hasClass("sabai-fade");function h(){e.removeClass("sabai-active").find("> .sabai-dropdown-menu > .sabai-active").removeClass("sabai-active");g.addClass("sabai-active");if(i){g[0].offsetWidth;g.addClass("sabai-in")}else{g.removeClass("sabai-fade")}if(g.parent(".sabai-dropdown-menu")){g.closest("li.sabai-dropdown").addClass("sabai-active")}j&&j()}i?e.one("bsTransitionEnd",h).emulateTransitionEnd(150):h();e.removeClass("sabai-in")};function c(e){return this.each(function(){var g=d(this);var f=g.data("bs.sabaitab");if(!f){g.data("bs.sabaitab",(f=new b(this)))}if(typeof e=="string"){f[e]()}})}var a=d.fn.tab;d.fn.sabaitab=c;d.fn.sabaitab.Constructor=b;d.fn.sabaitab.noConflict=function(){d.fn.sabaitab=a;return this};d(document).on("click.bs.sabaitab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(f){f.preventDefault();c.call(d(this),"show")})}(jQuery);
// source --> https://catholicschoolsny.org/wp-content/plugins/sabai/assets/js/bootstrap-growl.min.js 
(function(h,k,m,a){var j="growl",i="plugin_"+j,c={element:"body",type:"info",allow_dismiss:true,placement:{from:"top",align:"right"},offset:20,spacing:10,z_index:1031,delay:5000,timer:1000,url_target:"_blank",mouse_over:false,animate:{enter:"animated fadeInDown",exit:"animated fadeOutUp"},onShow:null,onShown:null,onHide:null,onHidden:null,icon_type:"class",template:'<div data-growl="container" class="sabai-alert sabai-alert-dismissible" role="alert"><button type="button" class="sabai-close" data-growl="dismiss"><span aria-hidden="true">&times;</span><span class="sabai-sr-only">Close</span></button><span data-growl="icon"></span><span data-growl="title"></span><span data-growl="message"></span><a href="#" data-growl="url"></a></div>'};var l=function(q,p){c=h.extend(true,{},c,p)},f=function(p){if(!p){h('[data-growl="container"]').find('[data-growl="dismiss"]').trigger("click")}else{h('[data-growl="container"][data-growl-position="'+p+'"]').find('[data-growl="dismiss"]').trigger("click")}},n=function(q,r,p){var r={content:{message:typeof r=="object"?r.message:r,title:r.title?r.title:null,icon:r.icon?r.icon:null,url:r.url?r.url:null}};p=h.extend(true,{},r,p);this.settings=h.extend(true,{},c,p);plugin=this;o(p,this.settings,plugin);this.$template=$template},o=function(p,q,r){var s={settings:q,$element:h(q.element),template:q.template};if(typeof q.offset=="number"){q.offset={x:q.offset,y:q.offset}}$template=b(s);g($template,s.settings);e($template,s.settings);d($template,s.settings,r)},b=function(q){var p=h(q.settings.template);p.addClass("sabai-alert-"+q.settings.type);p.attr("data-growl-position",q.settings.placement.from+"-"+q.settings.placement.align);p.find('[data-growl="dismiss"]').css("display","none");if(q.settings.allow_dismiss){p.find('[data-growl="dismiss"]').css("display","inline-block")}return p},g=function(p,q){p.find('[data-growl="dismiss"]').css({"z-index":((q.z_index-1)>=1?(q.z_index-1):1)});if(q.content.icon){if(q.icon_type.toLowerCase()=="class"){p.find('[data-growl="icon"]').addClass(q.content.icon)}else{if(p.find('[data-growl="icon"]').is("img")){p.find('[data-growl="icon"]').attr("src",q.content.icon)}else{p.find('[data-growl="icon"]').append('<img src="'+q.content.icon+'" />')}}}if(q.content.title){p.find('[data-growl="title"]').html(q.content.title)}if(q.content.message){p.find('[data-growl="message"]').html(q.content.message).css({"font-size":"14px","line-height":1.5})}if(q.content.url){p.find('[data-growl="url"]').attr("href",q.content.url).attr("target",q.url_target);p.find('[data-growl="url"]').css({position:"absolute",top:"0px",left:"0px",width:"100%",height:"100%","z-index":((q.z_index-2)>=1?(q.z_index-2):1)})}},e=function(q,r){var t=r.offset.y,p={position:(r.element==="body"?"fixed":"absolute"),margin:0,"z-index":r.z_index,display:"inline-block"},s=false;h('[data-growl-position="'+r.placement.from+"-"+r.placement.align+'"]').each(function(){return t=Math.max(t,parseInt(h(this).css(r.placement.from))+h(this).outerHeight()+r.spacing)});p[r.placement.from]=t+"px";q.css(p);if(r.onShow){r.onShow(event)}h(r.element).append(q);switch(r.placement.align){case"center":q.css({left:"50%",marginLeft:-(q.outerWidth()/2)+"px"});break;case"left":q.css("left",r.offset.x+"px");break;case"right":q.css("right",r.offset.x+"px");break}q.addClass("growl-animated");q.one("webkitAnimationStart oanimationstart MSAnimationStart animationstart",function(u){s=true});q.one("webkitAnimationEnd oanimationend MSAnimationEnd animationend",function(u){if(r.onShown){r.onShown(u)}});setTimeout(function(){if(!s){if(r.onShown){r.onShown(event)}}},600)},d=function(p,q,r){p.addClass(q.animate.enter);p.find('[data-growl="dismiss"]').on("click",function(){r.close()});p.on("mouseover",function(t){p.addClass("hovering")}).on("mouseout",function(){p.removeClass("hovering")});if(q.delay>=1){p.data("growl-delay",q.delay);var s=setInterval(function(){var t=parseInt(p.data("growl-delay"))-q.timer;if((!p.hasClass("hovering")&&q.mouse_over=="pause")||q.mouse_over!="pause"){p.data("growl-delay",t)}if(t<=0){clearInterval(s);r.close()}},q.timer)}};n.prototype={update:function(p,q){switch(p){case"icon":if(this.settings.icon_type.toLowerCase()=="class"){this.$template.find('[data-growl="icon"]').removeClass(this.settings.content.icon);this.$template.find('[data-growl="icon"]').addClass(q)}else{if(this.$template.find('[data-growl="icon"]').is("img")){this.$template.find('[data-growl="icon"]')}else{this.$template.find('[data-growl="icon"]').find("img").attr().attr("src",q)}}break;case"url":this.$template.find('[data-growl="url"]').attr("href",q);break;case"type":this.$template.removeClass("sabai-alert-"+this.settings.type);this.$template.addClass("sabai-alert-"+q);break;default:this.$template.find('[data-growl="'+p+'"]').html(q)}return this},close:function(){var r=this.$template,p=this.settings,s=r.css(p.placement.from),q=false;if(p.onHide){p.onHide(event)}r.addClass(this.settings.animate.exit);r.nextAll('[data-growl-position="'+this.settings.placement.from+"-"+this.settings.placement.align+'"]').each(function(){h(this).css(p.placement.from,s);s=(parseInt(s)+(p.spacing))+h(this).outerHeight()});r.one("webkitAnimationStart oanimationstart MSAnimationStart animationstart",function(t){q=true});r.one("webkitAnimationEnd oanimationend MSAnimationEnd animationend",function(t){h(this).remove();if(p.onHidden){p.onHidden(t)}});setTimeout(function(){if(!q){r.remove();if(p.onHidden){p.onHidden(event)}}},100);return this}};h.growl=function(r,p){if(r==false&&p.command=="closeAll"){f(p.position);return false}else{if(r==false){l(this,p);return false}}var q=new n(this,r,p);return q}})(jQuery,window,document);
// source --> https://catholicschoolsny.org/wp-content/plugins/sabai/assets/js/jquery.scrollTo.min.js 
/*!
 * jQuery.scrollTo
 * Copyright (c) 2007-2015 Ariel Flesler - aflesler<a>gmail<d>com | http://flesler.blogspot.com
 * Licensed under MIT
 * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
 * @projectDescription Easy element scrolling using jQuery.
 * @author Ariel Flesler
 * @version 2.1.0
 */
;(function(a){a(["jquery"],function(e){var b=e.sabaiScrollTo=function(h,g,f){return e(window).sabaiScrollTo(h,g,f)};b.defaults={axis:"xy",duration:0,limit:true};function c(f){return !f.nodeName||e.inArray(f.nodeName.toLowerCase(),["iframe","#document","html","body"])!==-1}e.fn.sabaiScrollTo=function(i,h,g){if(typeof h==="object"){g=h;h=0}if(typeof g==="function"){g={onAfter:g}}if(i==="max"){i=9000000000}g=e.extend({},b.defaults,g);h=h||g.duration;var f=g.queue&&g.axis.length>1;if(f){h/=2}g.offset=d(g.offset);g.over=d(g.over);return this.each(function(){if(i===null){return}var p=c(this),o=p?this.contentWindow||window:this,m=e(o),n=i,j={},l;switch(typeof n){case"number":case"string":if(/^([+-]=?)?\d+(\.\d+)?(px|%)?$/.test(n)){n=d(n);break}n=p?e(n):e(n,o);if(!n.length){return}case"object":if(n.is||n.style){l=(n=e(n)).offset()}}var q=e.isFunction(g.offset)&&g.offset(o,n)||g.offset;e.each(g.axis.split(""),function(t,u){var w=u==="x"?"Left":"Top",y=w.toLowerCase(),s="scroll"+w,v=m[s](),r=b.max(o,u);if(l){j[s]=l[y]+(p?0:v-m.offset()[y]);if(g.margin){j[s]-=parseInt(n.css("margin"+w),10)||0;j[s]-=parseInt(n.css("border"+w+"Width"),10)||0}j[s]+=q[y]||0;if(g.over[y]){j[s]+=n[u==="x"?"width":"height"]()*g.over[y]}}else{var x=n[y];j[s]=x.slice&&x.slice(-1)==="%"?parseFloat(x)/100*r:x}if(g.limit&&/^\d+$/.test(j[s])){j[s]=j[s]<=0?0:Math.min(j[s],r)}if(!t&&g.axis.length>1){if(v===j[s]){j={}}else{if(f){k(g.onAfterFirst);j={}}}}});k(g.onAfter);function k(s){var r=e.extend({},g,{queue:true,duration:h,complete:s&&function(){s.call(o,n,g)}});m.animate(j,r)}})};b.max=function(l,k){var j=k==="x"?"Width":"Height",g="scroll"+j;if(!c(l)){return l[g]-e(l)[j.toLowerCase()]()}var i="client"+j,m=l.ownerDocument||l.document,h=m.documentElement,f=m.body;return Math.max(h[g],f[g])-Math.min(h[i],f[i])};function d(f){return e.isFunction(f)||e.isPlainObject(f)?f:{top:f,left:f}}e.Tween.propHooks.scrollLeft=e.Tween.propHooks.scrollTop={get:function(f){return e(f.elem)[f.prop]()},set:function(f){var h=this.get(f);if(f.options.interrupt&&f._last&&f._last!==h){return e(f.elem).stop()}var g=Math.round(f.now);if(h!==g){e(f.elem)[f.prop](g);f._last=this.get(f)}}};return b})}(typeof define==="function"&&define.amd?define:function(b,a){if(typeof module!=="undefined"&&module.exports){module.exports=a(require("jquery"))}else{a(jQuery)}}));
// source --> https://catholicschoolsny.org/wp-content/plugins/sabai/assets/js/jquery-ajaxreadystate.min.js 
/*!
 * jquery-ajaxreadystate
 * @version 1.1.0
 * @author Alexander O'Mara
 * @copyright Copyright (c) 2015 Alexander O'Mara
 * @license MPL 2.0 <http://mozilla.org/MPL/2.0/>
 */
!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){a.ajaxreadystate=function(b,c){function d(){p=k.readyState=h.readyState,2>p&&(k.status=0,k.statusText="",k.responseText="");try{k.status=h.status||0}catch(a){}try{k.statusText=h.statusText||""}catch(a){}try{k.responseText=h.responseText||""}catch(a){}"function"==typeof j.readystate&&j.readystate(k,p),n&&4===p&&h.removeEventListener(n,d,!0),l&&l!==d&&l.apply(h,arguments)}function e(){var a=null;try{a=h.getAllResponseHeaders()}catch(b){}return a}var f,g,h,i,j,k,l,m,n,o=null,p=0;if(j="object"==typeof b?b:c||{},i=j.beforeSend,j.beforeSend=function(a,b){j.beforeSend=i,i&&i.apply(c,arguments),k=a,k.getAllResponseHeaders=function(){return p>1&&(o=o||e()),o},k.getResponseHeader=function(a){var b=null,c=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm;if(p>1){if(o=o||e(),o&&!m)for(m={};b=c.exec(o);)m[b[1].toLowerCase()]=b[2];m&&(a=a.toLowerCase(),b=m.hasOwnProperty(a)?m[a]:null)}return b},j=b,g=j.xhr,j.xhr=function(){j.xhr=g,h=g.apply(j,arguments),h.onreadystatechange=d;try{n=h.onreadystatechange!==d}catch(a){n=!0}return n&&(n=h.addEventListener)&&(h.onreadystatechange=null,h.addEventListener(n="readystatechange",d,!0)),h}},f=a.ajax.apply(a,arguments),!n)try{l=h.onreadystatechange,h.onreadystatechange=d}catch(q){}return f}});
// source --> https://catholicschoolsny.org/wp-content/plugins/sabai/assets/js/autosize.min.js 
/*!
	autosize 4.0.2
	license: MIT
	http://www.jacklmoore.com/autosize
*/
!function(e,t){if("function"==typeof define&&define.amd)define(["module","exports"],t);else if("undefined"!=typeof exports)t(module,exports);else{var n={exports:{}};t(n,n.exports),e.autosize=n.exports}}(this,function(e,t){"use strict";var n,o,p="function"==typeof Map?new Map:(n=[],o=[],{has:function(e){return-1<n.indexOf(e)},get:function(e){return o[n.indexOf(e)]},set:function(e,t){-1===n.indexOf(e)&&(n.push(e),o.push(t))},delete:function(e){var t=n.indexOf(e);-1<t&&(n.splice(t,1),o.splice(t,1))}}),c=function(e){return new Event(e,{bubbles:!0})};try{new Event("test")}catch(e){c=function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!1),t}}function r(r){if(r&&r.nodeName&&"TEXTAREA"===r.nodeName&&!p.has(r)){var e,n=null,o=null,i=null,d=function(){r.clientWidth!==o&&a()},l=function(t){window.removeEventListener("resize",d,!1),r.removeEventListener("input",a,!1),r.removeEventListener("keyup",a,!1),r.removeEventListener("autosize:destroy",l,!1),r.removeEventListener("autosize:update",a,!1),Object.keys(t).forEach(function(e){r.style[e]=t[e]}),p.delete(r)}.bind(r,{height:r.style.height,resize:r.style.resize,overflowY:r.style.overflowY,overflowX:r.style.overflowX,wordWrap:r.style.wordWrap});r.addEventListener("autosize:destroy",l,!1),"onpropertychange"in r&&"oninput"in r&&r.addEventListener("keyup",a,!1),window.addEventListener("resize",d,!1),r.addEventListener("input",a,!1),r.addEventListener("autosize:update",a,!1),r.style.overflowX="hidden",r.style.wordWrap="break-word",p.set(r,{destroy:l,update:a}),"vertical"===(e=window.getComputedStyle(r,null)).resize?r.style.resize="none":"both"===e.resize&&(r.style.resize="horizontal"),n="content-box"===e.boxSizing?-(parseFloat(e.paddingTop)+parseFloat(e.paddingBottom)):parseFloat(e.borderTopWidth)+parseFloat(e.borderBottomWidth),isNaN(n)&&(n=0),a()}function s(e){var t=r.style.width;r.style.width="0px",r.offsetWidth,r.style.width=t,r.style.overflowY=e}function u(){if(0!==r.scrollHeight){var e=function(e){for(var t=[];e&&e.parentNode&&e.parentNode instanceof Element;)e.parentNode.scrollTop&&t.push({node:e.parentNode,scrollTop:e.parentNode.scrollTop}),e=e.parentNode;return t}(r),t=document.documentElement&&document.documentElement.scrollTop;r.style.height="",r.style.height=r.scrollHeight+n+"px",o=r.clientWidth,e.forEach(function(e){e.node.scrollTop=e.scrollTop}),t&&(document.documentElement.scrollTop=t)}}function a(){u();var e=Math.round(parseFloat(r.style.height)),t=window.getComputedStyle(r,null),n="content-box"===t.boxSizing?Math.round(parseFloat(t.height)):r.offsetHeight;if(n<e?"hidden"===t.overflowY&&(s("scroll"),u(),n="content-box"===t.boxSizing?Math.round(parseFloat(window.getComputedStyle(r,null).height)):r.offsetHeight):"hidden"!==t.overflowY&&(s("hidden"),u(),n="content-box"===t.boxSizing?Math.round(parseFloat(window.getComputedStyle(r,null).height)):r.offsetHeight),i!==n){i=n;var o=c("autosize:resized");try{r.dispatchEvent(o)}catch(e){}}}}function i(e){var t=p.get(e);t&&t.destroy()}function d(e){var t=p.get(e);t&&t.update()}var l=null;"undefined"==typeof window||"function"!=typeof window.getComputedStyle?((l=function(e){return e}).destroy=function(e){return e},l.update=function(e){return e}):((l=function(e,t){return e&&Array.prototype.forEach.call(e.length?e:[e],function(e){return r(e)}),e}).destroy=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],i),e},l.update=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],d),e}),t.default=l,e.exports=t.default});
// source --> https://catholicschoolsny.org/wp-content/plugins/sabai/assets/js/jquery.coo_kie.min.js 
/*!
 * jQuery Cookie Plugin v1.4.1
 * https://github.com/carhartl/jquery-cookie
 *
 * Copyright 2006, 2014 Klaus Hartl
 * Released under the MIT license
 */
(function(a){if(typeof define==="function"&&define.amd){define(["jquery"],a)}else{if(typeof exports==="object"){a(require("jquery"))}else{a(jQuery)}}}(function(f){var a=/\+/g;function d(i){return b.raw?i:encodeURIComponent(i)}function g(i){return b.raw?i:decodeURIComponent(i)}function h(i){return d(b.json?JSON.stringify(i):String(i))}function c(i){if(i.indexOf('"')===0){i=i.slice(1,-1).replace(/\\"/g,'"').replace(/\\\\/g,"\\")}try{i=decodeURIComponent(i.replace(a," "));return b.json?JSON.parse(i):i}catch(j){}}function e(j,i){var k=b.raw?j:c(j);return f.isFunction(i)?i(k):k}var b=f.cookie=function(q,p,v){if(arguments.length>1&&!f.isFunction(p)){v=f.extend({},b.defaults,v);if(typeof v.expires==="number"){var r=v.expires,u=v.expires=new Date();u.setTime(+u+r*86400000)}return(document.cookie=[d(q),"=",h(p),v.expires?"; expires="+v.expires.toUTCString():"",v.path?"; path="+v.path:"",v.domain?"; domain="+v.domain:"",v.secure?"; secure":""].join(""))}var w=q?undefined:{};var s=document.cookie?document.cookie.split("; "):[];for(var o=0,m=s.length;o<m;o++){var n=s[o].split("=");var j=g(n.shift());var k=n.join("=");if(q&&q===j){w=e(k,p);break}if(!q&&(k=e(k))!==undefined){w[j]=k}}return w};b.defaults={};f.removeCookie=function(j,i){if(f.cookie(j)===undefined){return false}f.cookie(j,"",f.extend({},i,{expires:-1}));return !f.cookie(j)}}));
// source --> https://catholicschoolsny.org/wp-content/plugins/sabai/assets/js/jquery.bxslider.min.js 
/***
 * BxSlider v4.2.3 - Fully loaded, responsive content slider
 * http://bxslider.com
 *
 * Copyright 2014, Steven Wanderski - http://stevenwanderski.com - http://bxcreative.com
 * Written while drinking Belgian ales and listening to jazz
 *
 * Released under the MIT license - http://opensource.org/licenses/MIT
 ***/
!function(e){var t={mode:"horizontal",slideSelector:"",infiniteLoop:!0,hideControlOnEnd:!1,speed:500,easing:null,slideMargin:0,startSlide:0,randomStart:!1,captions:!1,ticker:!1,tickerHover:!1,adaptiveHeight:!1,adaptiveHeightSpeed:500,video:!1,useCSS:!0,preloadImages:"visible",responsive:!0,slideZIndex:50,wrapperClass:"bx-wrapper",touchEnabled:!0,swipeThreshold:50,oneToOneTouch:!0,preventDefaultSwipeX:!0,preventDefaultSwipeY:!1,keyboardEnabled:!1,pager:!0,pagerType:"full",pagerShortSeparator:" / ",pagerSelector:null,buildPager:null,pagerCustom:null,controls:!0,nextText:"Next",prevText:"Prev",nextSelector:null,prevSelector:null,autoControls:!1,startText:"Start",stopText:"Stop",autoControlsCombine:!1,autoControlsSelector:null,auto:!1,pause:4e3,autoStart:!0,autoDirection:"next",autoHover:!1,autoDelay:0,autoSlideForOnePage:!1,minSlides:1,maxSlides:1,moveSlides:0,slideWidth:0,onSliderLoad:function(){return!0},onSlideBefore:function(){return!0},onSlideAfter:function(){return!0},onSlideNext:function(){return!0},onSlidePrev:function(){return!0},onSliderResize:function(){return!0}};e.fn.bxSlider=function(n){if(0===this.length)return this;if(this.length>1)return this.each(function(){e(this).bxSlider(n)}),this;var s={},o=this,r=e(window).width(),a=e(window).height(),l=function(){s.settings=e.extend({},t,n),s.settings.slideWidth=parseInt(s.settings.slideWidth),s.children=o.children(s.settings.slideSelector),s.children.length<s.settings.minSlides&&(s.settings.minSlides=s.children.length),s.children.length<s.settings.maxSlides&&(s.settings.maxSlides=s.children.length),s.settings.randomStart&&(s.settings.startSlide=Math.floor(Math.random()*s.children.length)),s.active={index:s.settings.startSlide},s.carousel=s.settings.minSlides>1||s.settings.maxSlides>1?!0:!1,s.carousel&&(s.settings.preloadImages="all"),s.minThreshold=s.settings.minSlides*s.settings.slideWidth+(s.settings.minSlides-1)*s.settings.slideMargin,s.maxThreshold=s.settings.maxSlides*s.settings.slideWidth+(s.settings.maxSlides-1)*s.settings.slideMargin,s.working=!1,s.controls={},s.interval=null,s.animProp="vertical"===s.settings.mode?"top":"left",s.usingCSS=s.settings.useCSS&&"fade"!==s.settings.mode&&function(){var e=document.createElement("div"),t=["WebkitPerspective","MozPerspective","OPerspective","msPerspective"];for(var i in t)if(void 0!==e.style[t[i]])return s.cssPrefix=t[i].replace("Perspective","").toLowerCase(),s.animProp="-"+s.cssPrefix+"-transform",!0;return!1}(),"vertical"===s.settings.mode&&(s.settings.maxSlides=s.settings.minSlides),o.data("origStyle",o.attr("style")),o.children(s.settings.slideSelector).each(function(){e(this).data("origStyle",e(this).attr("style"))}),d()},d=function(){o.wrap('<div class="'+s.settings.wrapperClass+'"><div class="bx-viewport"></div></div>'),s.viewport=o.parent(),s.loader=e('<div class="bx-loading" />'),s.viewport.prepend(s.loader),o.css({width:"horizontal"===s.settings.mode?1e3*s.children.length+215+"%":"auto",position:"absolute"}),s.usingCSS&&s.settings.easing?o.css("-"+s.cssPrefix+"-transition-timing-function",s.settings.easing):s.settings.easing||(s.settings.easing="swing");v();s.viewport.css({width:"100%",overflow:"hidden",position:"relative"}),s.viewport.parent().css({maxWidth:u()}),s.settings.pager||s.settings.controls||s.viewport.parent().css({margin:"0 auto 0px"}),s.children.css({"float":"horizontal"===s.settings.mode?"left":"none",listStyle:"none",position:"relative"}),s.children.css("width",h()),"horizontal"===s.settings.mode&&s.settings.slideMargin>0&&s.children.css("marginRight",s.settings.slideMargin),"vertical"===s.settings.mode&&s.settings.slideMargin>0&&s.children.css("marginBottom",s.settings.slideMargin),"fade"===s.settings.mode&&(s.children.css({position:"absolute",zIndex:0,display:"none"}),s.children.eq(s.settings.startSlide).css({zIndex:s.settings.slideZIndex,display:"block"})),s.controls.el=e('<div class="bx-controls" />'),s.settings.captions&&P(),s.active.last=s.settings.startSlide===f()-1,s.settings.video&&o.fitVids();var t=s.children.eq(s.settings.startSlide);("all"===s.settings.preloadImages||s.settings.ticker)&&(t=s.children),s.settings.ticker?s.settings.pager=!1:(s.settings.controls&&C(),s.settings.auto&&s.settings.autoControls&&T(),s.settings.pager&&w(),(s.settings.controls||s.settings.autoControls||s.settings.pager)&&s.viewport.after(s.controls.el)),c(t,g)},c=function(t,i){var n=t.find('img:not([src=""]), iframe').length;if(0===n)return void i();var s=0;t.find('img:not([src=""]), iframe').each(function(){e(this).one("load error",function(){++s===n&&i()}).each(function(){this.complete&&e(this).load()})})},g=function(){if(s.settings.infiniteLoop&&"fade"!==s.settings.mode&&!s.settings.ticker){var t="vertical"===s.settings.mode?s.settings.minSlides:s.settings.maxSlides,i=s.children.slice(0,t).clone(!0).addClass("bx-clone"),n=s.children.slice(-t).clone(!0).addClass("bx-clone");o.append(i).prepend(n)}s.loader.remove(),m(),"vertical"===s.settings.mode&&(s.settings.adaptiveHeight=!0),s.viewport.height(p()),o.redrawSlider(),s.settings.onSliderLoad(s,s.active.index),s.initialized=!0,s.settings.responsive&&e(window).bind("resize",Z),s.settings.auto&&s.settings.autoStart&&(f()>1||s.settings.autoSlideForOnePage)&&A(),s.settings.ticker&&H(),s.settings.pager&&I(s.settings.startSlide),s.settings.controls&&W(),s.settings.touchEnabled&&!s.settings.ticker&&O(),s.settings.keyboardEnabled&&!s.settings.ticker&&e(document).keydown(N)},p=function(){var t=0,n=e();if("vertical"===s.settings.mode||s.settings.adaptiveHeight)if(s.carousel){var o=1===s.settings.moveSlides?s.active.index:s.active.index*x();for(n=s.children.eq(o),i=1;i<=s.settings.maxSlides-1;i++)n=n.add(o+i>=s.children.length?s.children.eq(i-1):s.children.eq(o+i))}else n=s.children.eq(s.active.index);else n=s.children;return"vertical"===s.settings.mode?(n.each(function(){t+=e(this).outerHeight()}),s.settings.slideMargin>0&&(t+=s.settings.slideMargin*(s.settings.minSlides-1))):t=Math.max.apply(Math,n.map(function(){return e(this).outerHeight(!1)}).get()),"border-box"===s.viewport.css("box-sizing")?t+=parseFloat(s.viewport.css("padding-top"))+parseFloat(s.viewport.css("padding-bottom"))+parseFloat(s.viewport.css("border-top-width"))+parseFloat(s.viewport.css("border-bottom-width")):"padding-box"===s.viewport.css("box-sizing")&&(t+=parseFloat(s.viewport.css("padding-top"))+parseFloat(s.viewport.css("padding-bottom"))),t},u=function(){var e="100%";return s.settings.slideWidth>0&&(e="horizontal"===s.settings.mode?s.settings.maxSlides*s.settings.slideWidth+(s.settings.maxSlides-1)*s.settings.slideMargin:s.settings.slideWidth),e},h=function(){var e=s.settings.slideWidth,t=s.viewport.width();return 0===s.settings.slideWidth||s.settings.slideWidth>t&&!s.carousel||"vertical"===s.settings.mode?e=t:s.settings.maxSlides>1&&"horizontal"===s.settings.mode&&(t>s.maxThreshold||t<s.minThreshold&&(e=(t-s.settings.slideMargin*(s.settings.minSlides-1))/s.settings.minSlides)),e},v=function(){var e=1;if("horizontal"===s.settings.mode&&s.settings.slideWidth>0)if(s.viewport.width()<s.minThreshold)e=s.settings.minSlides;else if(s.viewport.width()>s.maxThreshold)e=s.settings.maxSlides;else{var t=s.children.first().width()+s.settings.slideMargin;e=Math.floor((s.viewport.width()+s.settings.slideMargin)/t)}else"vertical"===s.settings.mode&&(e=s.settings.minSlides);return e},f=function(){var e=0;if(s.settings.moveSlides>0)if(s.settings.infiniteLoop)e=Math.ceil(s.children.length/x());else for(var t=0,i=0;t<s.children.length;)++e,t=i+v(),i+=s.settings.moveSlides<=v()?s.settings.moveSlides:v();else e=Math.ceil(s.children.length/v());return e},x=function(){return s.settings.moveSlides>0&&s.settings.moveSlides<=v()?s.settings.moveSlides:v()},m=function(){var e;if(s.children.length>s.settings.maxSlides&&s.active.last&&!s.settings.infiniteLoop){if("horizontal"===s.settings.mode){var t=s.children.last();e=t.position(),S(-(e.left-(s.viewport.width()-t.outerWidth())),"reset",0)}else if("vertical"===s.settings.mode){var i=s.children.length-s.settings.minSlides;e=s.children.eq(i).position(),S(-e.top,"reset",0)}}else e=s.children.eq(s.active.index*x()).position(),s.active.index===f()-1&&(s.active.last=!0),void 0!==e&&("horizontal"===s.settings.mode?S(-e.left,"reset",0):"vertical"===s.settings.mode&&S(-e.top,"reset",0))},S=function(e,t,i,n){if(s.usingCSS){var r="vertical"===s.settings.mode?"translate3d(0, "+e+"px, 0)":"translate3d("+e+"px, 0, 0)";o.css("-"+s.cssPrefix+"-transition-duration",i/1e3+"s"),"slide"===t?setTimeout(function(){o.css(s.animProp,r),0===e?q():o.bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(){o.unbind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd"),q()})},0):"reset"===t?o.css(s.animProp,r):"ticker"===t&&(o.css("-"+s.cssPrefix+"-transition-timing-function","linear"),o.css(s.animProp,r),o.bind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(){o.unbind("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd"),S(n.resetValue,"reset",0),L()}))}else{var a={};a[s.animProp]=e,"slide"===t?o.animate(a,i,s.settings.easing,function(){q()}):"reset"===t?o.css(s.animProp,e):"ticker"===t&&o.animate(a,speed,"linear",function(){S(n.resetValue,"reset",0),L()})}},b=function(){for(var t="",i=f(),n=0;i>n;n++){var o="";s.settings.buildPager&&e.isFunction(s.settings.buildPager)||s.settings.pagerCustom?(o=s.settings.buildPager(n),s.pagerEl.addClass("bx-custom-pager")):(o=n+1,s.pagerEl.addClass("bx-default-pager")),t+='<div class="bx-pager-item"><a href="" data-slide-index="'+n+'" class="bx-pager-link">'+o+"</a></div>"}s.pagerEl.html(t)},w=function(){s.settings.pagerCustom?s.pagerEl=e(s.settings.pagerCustom):(s.pagerEl=e('<div class="bx-pager" />'),s.settings.pagerSelector?e(s.settings.pagerSelector).html(s.pagerEl):s.controls.el.addClass("bx-has-pager").append(s.pagerEl),b()),s.pagerEl.on("click touchend","a",z)},C=function(){s.controls.next=e('<a class="bx-next" href="">'+s.settings.nextText+"</a>"),s.controls.prev=e('<a class="bx-prev" href="">'+s.settings.prevText+"</a>"),s.controls.next.bind("click touchend",E),s.controls.prev.bind("click touchend",y),s.settings.nextSelector&&e(s.settings.nextSelector).append(s.controls.next),s.settings.prevSelector&&e(s.settings.prevSelector).append(s.controls.prev),s.settings.nextSelector||s.settings.prevSelector||(s.controls.directionEl=e('<div class="bx-controls-direction" />'),s.controls.directionEl.append(s.controls.prev).append(s.controls.next),s.controls.el.addClass("bx-has-controls-direction").append(s.controls.directionEl))},T=function(){s.controls.start=e('<div class="bx-controls-auto-item"><a class="bx-start" href="">'+s.settings.startText+"</a></div>"),s.controls.stop=e('<div class="bx-controls-auto-item"><a class="bx-stop" href="">'+s.settings.stopText+"</a></div>"),s.controls.autoEl=e('<div class="bx-controls-auto" />'),s.controls.autoEl.on("click",".bx-start",k),s.controls.autoEl.on("click",".bx-stop",M),s.settings.autoControlsCombine?s.controls.autoEl.append(s.controls.start):s.controls.autoEl.append(s.controls.start).append(s.controls.stop),s.settings.autoControlsSelector?e(s.settings.autoControlsSelector).html(s.controls.autoEl):s.controls.el.addClass("bx-has-controls-auto").append(s.controls.autoEl),D(s.settings.autoStart?"stop":"start")},P=function(){s.children.each(function(){var t=e(this).find("img:first").attr("title");void 0!==t&&(""+t).length&&e(this).append('<div class="bx-caption"><span>'+t+"</span></div>")})},E=function(e){e.preventDefault(),s.controls.el.hasClass("disabled")||(s.settings.auto&&o.stopAuto(),o.goToNextSlide())},y=function(e){e.preventDefault(),s.controls.el.hasClass("disabled")||(s.settings.auto&&o.stopAuto(),o.goToPrevSlide())},k=function(e){o.startAuto(),e.preventDefault()},M=function(e){o.stopAuto(),e.preventDefault()},z=function(t){if(t.preventDefault(),!s.controls.el.hasClass("disabled")){s.settings.auto&&o.stopAuto();var i=e(t.currentTarget);if(void 0!==i.attr("data-slide-index")){var n=parseInt(i.attr("data-slide-index"));n!==s.active.index&&o.goToSlide(n)}}},I=function(t){var i=s.children.length;return"short"===s.settings.pagerType?(s.settings.maxSlides>1&&(i=Math.ceil(s.children.length/s.settings.maxSlides)),void s.pagerEl.html(t+1+s.settings.pagerShortSeparator+i)):(s.pagerEl.find("a").removeClass("active"),void s.pagerEl.each(function(i,n){e(n).find("a").eq(t).addClass("active")}))},q=function(){if(s.settings.infiniteLoop){var e="";0===s.active.index?e=s.children.eq(0).position():s.active.index===f()-1&&s.carousel?e=s.children.eq((f()-1)*x()).position():s.active.index===s.children.length-1&&(e=s.children.eq(s.children.length-1).position()),e&&("horizontal"===s.settings.mode?S(-e.left,"reset",0):"vertical"===s.settings.mode&&S(-e.top,"reset",0))}s.working=!1,s.settings.onSlideAfter(s.children.eq(s.active.index),s.oldIndex,s.active.index)},D=function(e){s.settings.autoControlsCombine?s.controls.autoEl.html(s.controls[e]):(s.controls.autoEl.find("a").removeClass("active"),s.controls.autoEl.find("a:not(.bx-"+e+")").addClass("active"))},W=function(){1===f()?(s.controls.prev.addClass("disabled"),s.controls.next.addClass("disabled")):!s.settings.infiniteLoop&&s.settings.hideControlOnEnd&&(0===s.active.index?(s.controls.prev.addClass("disabled"),s.controls.next.removeClass("disabled")):s.active.index===f()-1?(s.controls.next.addClass("disabled"),s.controls.prev.removeClass("disabled")):(s.controls.prev.removeClass("disabled"),s.controls.next.removeClass("disabled")))},A=function(){if(s.settings.autoDelay>0){setTimeout(o.startAuto,s.settings.autoDelay)}else o.startAuto(),e(window).focus(function(){o.startAuto()}).blur(function(){o.stopAuto()});s.settings.autoHover&&o.hover(function(){s.interval&&(o.stopAuto(!0),s.autoPaused=!0)},function(){s.autoPaused&&(o.startAuto(!0),s.autoPaused=null)})},H=function(){var t=0;if("next"===s.settings.autoDirection)o.append(s.children.clone().addClass("bx-clone"));else{o.prepend(s.children.clone().addClass("bx-clone"));var i=s.children.first().position();t="horizontal"===s.settings.mode?-i.left:-i.top}if(S(t,"reset",0),s.settings.pager=!1,s.settings.controls=!1,s.settings.autoControls=!1,s.settings.tickerHover)if(s.usingCSS){var n,r="horizontal"==s.settings.mode?4:5;s.viewport.hover(function(){var e=o.css("-"+s.cssPrefix+"-transform");n=parseFloat(e.split(",")[r]),S(n,"reset",0)},function(){var t=0;s.children.each(function(){t+="horizontal"==s.settings.mode?e(this).outerWidth(!0):e(this).outerHeight(!0)});var i=s.settings.speed/t,o=("horizontal"==s.settings.mode?"left":"top",i*(t-Math.abs(parseInt(n))));L(o)})}else s.viewport.hover(function(){o.stop()},function(){var t=0;s.children.each(function(){t+="horizontal"==s.settings.mode?e(this).outerWidth(!0):e(this).outerHeight(!0)});var i=s.settings.speed/t,n="horizontal"==s.settings.mode?"left":"top",r=i*(t-Math.abs(parseInt(o.css(n))));L(r)});L()},L=function(e){speed=e?e:s.settings.speed;var t={left:0,top:0},i={left:0,top:0};"next"===s.settings.autoDirection?t=o.find(".bx-clone").first().position():i=s.children.first().position();var n="horizontal"===s.settings.mode?-t.left:-t.top,r="horizontal"===s.settings.mode?-i.left:-i.top,a={resetValue:r};S(n,"ticker",speed,a)},F=function(t){var i=e(window),n={top:i.scrollTop(),left:i.scrollLeft()};n.right=n.left+i.width(),n.bottom=n.top+i.height();var s=t.offset();return s.right=s.left+t.outerWidth(),s.bottom=s.top+t.outerHeight(),!(n.right<s.left||n.left>s.right||n.bottom<s.top||n.top>s.bottom)},N=function(e){var t=document.activeElement.tagName.toLowerCase(),i="input|textarea",n=new RegExp(t,["i"]),s=n.exec(i);if(null==s&&F(o)){if(39==e.keyCode)return E(e),!1;if(37==e.keyCode)return y(e),!1}},O=function(){s.touch={start:{x:0,y:0},end:{x:0,y:0}},s.viewport.bind("touchstart MSPointerDown pointerdown",X),s.viewport.on("click",".bxslider a",function(e){s.viewport.hasClass("click-disabled")&&(e.preventDefault(),s.viewport.removeClass("click-disabled"))})},X=function(e){if(s.controls.el.addClass("disabled"),s.working)e.preventDefault(),s.controls.el.removeClass("disabled");else{s.touch.originalPos=o.position();var t=e.originalEvent,i="undefined"!=typeof t.changedTouches?t.changedTouches:[t];s.touch.start.x=i[0].pageX,s.touch.start.y=i[0].pageY,s.viewport.get(0).setPointerCapture&&(s.pointerId=t.pointerId,s.viewport.get(0).setPointerCapture(s.pointerId)),s.viewport.bind("touchmove MSPointerMove pointermove",R),s.viewport.bind("touchend MSPointerUp pointerup",V),s.viewport.bind("MSPointerCancel pointercancel",Y)}},Y=function(){S(s.touch.originalPos.left,"reset",0),s.controls.el.removeClass("disabled"),s.viewport.unbind("MSPointerCancel pointercancel",Y),s.viewport.unbind("touchmove MSPointerMove pointermove",R),s.viewport.unbind("touchend MSPointerUp pointerup",V),s.viewport.get(0).releasePointerCapture&&s.viewport.get(0).releasePointerCapture(s.pointerId)},R=function(e){var t=e.originalEvent,i="undefined"!=typeof t.changedTouches?t.changedTouches:[t],n=Math.abs(i[0].pageX-s.touch.start.x),o=Math.abs(i[0].pageY-s.touch.start.y);if(3*n>o&&s.settings.preventDefaultSwipeX?e.preventDefault():3*o>n&&s.settings.preventDefaultSwipeY&&e.preventDefault(),"fade"!==s.settings.mode&&s.settings.oneToOneTouch){var r=0,a=0;"horizontal"===s.settings.mode?(a=i[0].pageX-s.touch.start.x,r=s.touch.originalPos.left+a):(a=i[0].pageY-s.touch.start.y,r=s.touch.originalPos.top+a),S(r,"reset",0)}},V=function(e){s.viewport.unbind("touchmove MSPointerMove pointermove",R),s.controls.el.removeClass("disabled");var t=e.originalEvent,i="undefined"!=typeof t.changedTouches?t.changedTouches:[t],n=0,r=0;s.touch.end.x=i[0].pageX,s.touch.end.y=i[0].pageY,"fade"===s.settings.mode?(r=Math.abs(s.touch.start.x-s.touch.end.x),r>=s.settings.swipeThreshold&&(s.touch.start.x>s.touch.end.x?o.goToNextSlide():o.goToPrevSlide(),o.stopAuto())):("horizontal"===s.settings.mode?(r=s.touch.end.x-s.touch.start.x,n=s.touch.originalPos.left):(r=s.touch.end.y-s.touch.start.y,n=s.touch.originalPos.top),!s.settings.infiniteLoop&&(0===s.active.index&&r>0||s.active.last&&0>r)?S(n,"reset",200):Math.abs(r)>=s.settings.swipeThreshold?(0>r?o.goToNextSlide():o.goToPrevSlide(),o.stopAuto()):S(n,"reset",200)),s.viewport.unbind("touchend MSPointerUp pointerup",V),s.viewport.get(0).releasePointerCapture&&s.viewport.get(0).releasePointerCapture(s.pointerId)},Z=function(){if(s.initialized)if(s.working)window.setTimeout(Z,10);else{var t=e(window).width(),i=e(window).height();(r!==t||a!==i)&&(r=t,a=i,o.redrawSlider(),s.settings.onSliderResize.call(o,s.active.index))}};return o.goToSlide=function(t,i){if(!s.working&&s.active.index!==t){s.working=!0,s.oldIndex=s.active.index,s.active.index=0>t?f()-1:t>=f()?0:t;var n=!0;if(n=s.settings.onSlideBefore(s.children.eq(s.active.index),s.oldIndex,s.active.index),"undefined"!=typeof n&&!n)return s.active.index=s.oldIndex,void(s.working=!1);if("next"===i?s.settings.onSlideNext(s.children.eq(s.active.index),s.oldIndex,s.active.index)||(n=!1):"prev"===i&&(s.settings.onSlidePrev(s.children.eq(s.active.index),s.oldIndex,s.active.index)||(n=!1)),"undefined"!=typeof n&&!n)return s.active.index=s.oldIndex,void(s.working=!1);if(s.active.last=s.active.index>=f()-1,(s.settings.pager||s.settings.pagerCustom)&&I(s.active.index),s.settings.controls&&W(),"fade"===s.settings.mode)s.settings.adaptiveHeight&&s.viewport.height()!==p()&&s.viewport.animate({height:p()},s.settings.adaptiveHeightSpeed),s.children.filter(":visible").fadeOut(s.settings.speed).css({zIndex:0}),s.children.eq(s.active.index).css("zIndex",s.settings.slideZIndex+1).fadeIn(s.settings.speed,function(){e(this).css("zIndex",s.settings.slideZIndex),q()});else{s.settings.adaptiveHeight&&s.viewport.height()!==p()&&s.viewport.animate({height:p()},s.settings.adaptiveHeightSpeed);var r=0,a={left:0,top:0},l=null;if(!s.settings.infiniteLoop&&s.carousel&&s.active.last)if("horizontal"===s.settings.mode)l=s.children.eq(s.children.length-1),a=l.position(),r=s.viewport.width()-l.outerWidth();else{var d=s.children.length-s.settings.minSlides;a=s.children.eq(d).position()}else if(s.carousel&&s.active.last&&"prev"===i){var c=1===s.settings.moveSlides?s.settings.maxSlides-x():(f()-1)*x()-(s.children.length-s.settings.maxSlides);l=o.children(".bx-clone").eq(c),a=l.position()}else if("next"===i&&0===s.active.index)a=o.find("> .bx-clone").eq(s.settings.maxSlides).position(),s.active.last=!1;else if(t>=0){var g=t*x();a=s.children.eq(g).position()}if("undefined"!=typeof a){var u="horizontal"===s.settings.mode?-(a.left-r):-a.top;S(u,"slide",s.settings.speed)}}}},o.goToNextSlide=function(){if(s.settings.infiniteLoop||!s.active.last){var e=parseInt(s.active.index)+1;o.goToSlide(e,"next")}},o.goToPrevSlide=function(){if(s.settings.infiniteLoop||0!==s.active.index){var e=parseInt(s.active.index)-1;o.goToSlide(e,"prev")}},o.startAuto=function(e){s.interval||(s.interval=setInterval(function(){"next"===s.settings.autoDirection?o.goToNextSlide():o.goToPrevSlide()},s.settings.pause),s.settings.autoControls&&e!==!0&&D("stop"))},o.stopAuto=function(e){s.interval&&(clearInterval(s.interval),s.interval=null,s.settings.autoControls&&e!==!0&&D("start"))},o.getCurrentSlide=function(){return s.active.index},o.getCurrentSlideElement=function(){return s.children.eq(s.active.index)},o.getSlideCount=function(){return s.children.length},o.isWorking=function(){return s.working},o.redrawSlider=function(){s.children.add(o.find(".bx-clone")).outerWidth(h()),s.viewport.css("height",p()),s.settings.ticker||m(),s.active.last&&(s.active.index=f()-1),s.active.index>=f()&&(s.active.last=!0),s.settings.pager&&!s.settings.pagerCustom&&(b(),I(s.active.index))},o.destroySlider=function(){s.initialized&&(s.initialized=!1,e(".bx-clone",this).remove(),s.children.each(function(){void 0!==e(this).data("origStyle")?e(this).attr("style",e(this).data("origStyle")):e(this).removeAttr("style")}),void 0!==e(this).data("origStyle")?this.attr("style",e(this).data("origStyle")):e(this).removeAttr("style"),e(this).unwrap().unwrap(),s.controls.el&&s.controls.el.remove(),s.controls.next&&s.controls.next.remove(),s.controls.prev&&s.controls.prev.remove(),s.pagerEl&&s.settings.controls&&!s.settings.pagerCustom&&s.pagerEl.remove(),e(".bx-caption",this).remove(),s.controls.autoEl&&s.controls.autoEl.remove(),clearInterval(s.interval),s.settings.responsive&&e(window).unbind("resize",Z),s.settings.keyboardEnabled&&e(document).unbind("keydown",N))},o.reloadSlider=function(e){void 0!==e&&(n=e),o.destroySlider(),l()},l(),this}}(jQuery);
// source --> https://catholicschoolsny.org/wp-content/plugins/wp-video-lightbox/js/jquery.prettyPhoto.js 
/* ------------------------------------------------------------------------
	Class: prettyPhoto
	Use: Lightbox clone for jQuery
	Author: Stephane Caron (http://www.no-margin-for-errors.com)
	Version: 3.1.6
------------------------------------------------------------------------- */
(function($) {
	$.prettyPhoto = {version: '3.1.6'};
	
	$.fn.prettyPhoto = function(pp_settings) {
		pp_settings = jQuery.extend({
			hook: 'rel', /* the attribute tag to use for prettyPhoto hooks. default: 'rel'. For HTML5, use "data-rel" or similar. */
			animation_speed: 'fast', /* fast/slow/normal */
			ajaxcallback: function() {},
			slideshow: 5000, /* false OR interval time in ms */
			autoplay_slideshow: false, /* true/false */
			opacity: 0.80, /* Value between 0 and 1 */
			show_title: true, /* true/false */
			allow_resize: true, /* Resize the photos bigger than viewport. true/false */
			allow_expand: true, /* Allow the user to expand a resized image. true/false */
			default_width: 500,
			default_height: 344,
			counter_separator_label: '/', /* The separator for the gallery counter 1 "of" 2 */
			theme: 'pp_default', /* light_rounded / dark_rounded / light_square / dark_square / facebook */
			horizontal_padding: 20, /* The padding on each side of the picture */
			hideflash: false, /* Hides all the flash object on a page, set to TRUE if flash appears over prettyPhoto */
			wmode: 'opaque', /* Set the flash wmode attribute */
			autoplay: true, /* Automatically start videos: True/False */
			modal: false, /* If set to true, only the close button will close the window */
			deeplinking: true, /* Allow prettyPhoto to update the url to enable deeplinking. */
			overlay_gallery: true, /* If set to true, a gallery will overlay the fullscreen image on mouse over */
			overlay_gallery_max: 30, /* Maximum number of pictures in the overlay gallery */
			keyboard_shortcuts: true, /* Set to false if you open forms inside prettyPhoto */
			changepicturecallback: function(){}, /* Called everytime an item is shown/changed */
			callback: function(){}, /* Called when prettyPhoto is closed */
			ie6_fallback: true,
			markup: '<div class="pp_pic_holder"> \
						<div class="ppt">&nbsp;</div> \
						<div class="pp_top"> \
							<div class="pp_left"></div> \
							<div class="pp_middle"></div> \
							<div class="pp_right"></div> \
						</div> \
						<div class="pp_content_container"> \
							<div class="pp_left"> \
							<div class="pp_right"> \
								<div class="pp_content"> \
									<div class="pp_loaderIcon"></div> \
									<div class="pp_fade"> \
										<a href="#" class="pp_expand" title="Expand the image">Expand</a> \
										<div class="pp_hoverContainer"> \
											<a class="pp_next" href="#">next</a> \
											<a class="pp_previous" href="#">previous</a> \
										</div> \
										<div id="pp_full_res"></div> \
										<div class="pp_details"> \
											<div class="pp_nav"> \
												<a href="#" class="pp_arrow_previous">Previous</a> \
												<p class="currentTextHolder">0/0</p> \
												<a href="#" class="pp_arrow_next">Next</a> \
											</div> \
											<p class="pp_description"></p> \
											<div class="pp_social">{pp_social}</div> \
											<a class="pp_close" href="#">Close</a> \
										</div> \
									</div> \
								</div> \
							</div> \
							</div> \
						</div> \
						<div class="pp_bottom"> \
							<div class="pp_left"></div> \
							<div class="pp_middle"></div> \
							<div class="pp_right"></div> \
						</div> \
					</div> \
					<div class="pp_overlay"></div>',
			gallery_markup: '<div class="pp_gallery"> \
								<a href="#" class="pp_arrow_previous">Previous</a> \
								<div> \
									<ul> \
										{gallery} \
									</ul> \
								</div> \
								<a href="#" class="pp_arrow_next">Next</a> \
							</div>',
			image_markup: '<img id="fullResImage" src="{path}" />',
			flash_markup: '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="{width}" height="{height}"><param name="wmode" value="{wmode}" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="{path}" /><embed src="{path}" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="{width}" height="{height}" wmode="{wmode}"></embed></object>',
			quicktime_markup: '<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab" height="{height}" width="{width}"><param name="src" value="{path}"><param name="autoplay" value="{autoplay}"><param name="type" value="video/quicktime"><embed src="{path}" height="{height}" width="{width}" autoplay="{autoplay}" type="video/quicktime" pluginspage="http://www.apple.com/quicktime/download/"></embed></object>',
			iframe_markup: '<iframe src ="{path}" width="{width}" height="{height}" frameborder="no"></iframe>',
			inline_markup: '<div class="pp_inline">{content}</div>',
			custom_markup: '',
			social_tools: '<div class="twitter"><a href="http://twitter.com/share" class="twitter-share-button" data-count="none">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script></div><div class="facebook"><iframe src="//www.facebook.com/plugins/like.php?locale=en_US&href={location_href}&amp;layout=button_count&amp;show_faces=true&amp;width=500&amp;action=like&amp;font&amp;colorscheme=light&amp;height=23" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:500px; height:23px;" allowTransparency="true"></iframe></div>' /* html or false to disable */
		}, pp_settings);
		
		// Global variables accessible only by prettyPhoto
		var matchedObjects = this, percentBased = false, pp_dimensions, pp_open,
		
		// prettyPhoto container specific
		pp_contentHeight, pp_contentWidth, pp_containerHeight, pp_containerWidth,
		
		// Window size
		windowHeight = $(window).height(), windowWidth = $(window).width(),

		// Global elements
		pp_slideshow;
		
		doresize = true, scroll_pos = _get_scroll();
	
		// Window/Keyboard events
		$(window).unbind('resize.prettyphoto').bind('resize.prettyphoto',function(){ _center_overlay(); _resize_overlay(); });
		
		if(pp_settings.keyboard_shortcuts) {
			$(document).unbind('keydown.prettyphoto').bind('keydown.prettyphoto',function(e){
				if(typeof $pp_pic_holder != 'undefined'){
					if($pp_pic_holder.is(':visible')){
						switch(e.keyCode){
							case 37:
								$.prettyPhoto.changePage('previous');
								e.preventDefault();
								break;
							case 39:
								$.prettyPhoto.changePage('next');
								e.preventDefault();
								break;
							case 27:
								if(!settings.modal)
								$.prettyPhoto.close();
								e.preventDefault();
								break;
						};
						// return false;
					};
				};
			});
		};
		
		/**
		* Initialize prettyPhoto.
		*/
		$.prettyPhoto.initialize = function() {
			
			settings = pp_settings;
			
			if(settings.theme == 'pp_default') settings.horizontal_padding = 16;
			
			// Find out if the picture is part of a set
			theRel = $(this).attr(settings.hook);
			galleryRegExp = /\[(?:.*)\]/;
			isSet = (galleryRegExp.exec(theRel)) ? true : false;
			
			// Put the SRCs, TITLEs, ALTs into an array.
			pp_images = (isSet) ? jQuery.map(matchedObjects, function(n, i){ if($(n).attr(settings.hook).indexOf(theRel) != -1) return $(n).attr('href'); }) : $.makeArray($(this).attr('href'));
			pp_titles = (isSet) ? jQuery.map(matchedObjects, function(n, i){ if($(n).attr(settings.hook).indexOf(theRel) != -1) return ($(n).find('img').attr('alt')) ? $(n).find('img').attr('alt') : ""; }) : $.makeArray($(this).find('img').attr('alt'));
			pp_descriptions = (isSet) ? jQuery.map(matchedObjects, function(n, i){ if($(n).attr(settings.hook).indexOf(theRel) != -1) return ($(n).attr('title')) ? $(n).attr('title') : ""; }) : $.makeArray($(this).attr('title'));
			
			if(pp_images.length > settings.overlay_gallery_max) settings.overlay_gallery = false;
			
			set_position = jQuery.inArray($(this).attr('href'), pp_images); // Define where in the array the clicked item is positionned
			rel_index = (isSet) ? set_position : $("a["+settings.hook+"^='"+theRel+"']").index($(this));
			
			_build_overlay(this); // Build the overlay {this} being the caller
			
			if(settings.allow_resize)
				$(window).bind('scroll.prettyphoto',function(){ _center_overlay(); });
			
			
			$.prettyPhoto.open();
			
			return false;
		}


		/**
		* Opens the prettyPhoto modal box.
		* @param image {String,Array} Full path to the image to be open, can also be an array containing full images paths.
		* @param title {String,Array} The title to be displayed with the picture, can also be an array containing all the titles.
		* @param description {String,Array} The description to be displayed with the picture, can also be an array containing all the descriptions.
		*/
		$.prettyPhoto.open = function(event) {
			if(typeof settings == "undefined"){ // Means it's an API call, need to manually get the settings and set the variables
				settings = pp_settings;
				pp_images = $.makeArray(arguments[0]);
				pp_titles = (arguments[1]) ? $.makeArray(arguments[1]) : $.makeArray("");
				pp_descriptions = (arguments[2]) ? $.makeArray(arguments[2]) : $.makeArray("");
				isSet = (pp_images.length > 1) ? true : false;
				set_position = (arguments[3])? arguments[3]: 0;
				_build_overlay(event.target); // Build the overlay {this} being the caller
			}
			
			if(settings.hideflash) $('object,embed,iframe[src*=youtube],iframe[src*=vimeo]').css('visibility','hidden'); // Hide the flash

			_checkPosition($(pp_images).length); // Hide the next/previous links if on first or last images.
		
			$('.pp_loaderIcon').show();
		
			if(settings.deeplinking)
				setHashtag();
		
			// Rebuild Facebook Like Button with updated href
			if(settings.social_tools){
				facebook_like_link = settings.social_tools.replace('{location_href}', encodeURIComponent(location.href)); 
				$pp_pic_holder.find('.pp_social').html(facebook_like_link);
			}
			
			// Fade the content in
			if($ppt.is(':hidden')) $ppt.css('opacity',0).show();
			$pp_overlay.show().fadeTo(settings.animation_speed,settings.opacity);

			// Display the current position
			$pp_pic_holder.find('.currentTextHolder').text((set_position+1) + settings.counter_separator_label + $(pp_images).length);

			// Set the description
			if(typeof pp_descriptions[set_position] != 'undefined' && pp_descriptions[set_position] != ""){
				$pp_pic_holder.find('.pp_description').show().text(unescape(pp_descriptions[set_position]));
			}else{
				$pp_pic_holder.find('.pp_description').hide();
			}
			
			// Get the dimensions
			movie_width = ( parseFloat(getParam('width',pp_images[set_position])) ) ? getParam('width',pp_images[set_position]) : settings.default_width.toString();
			movie_height = ( parseFloat(getParam('height',pp_images[set_position])) ) ? getParam('height',pp_images[set_position]) : settings.default_height.toString();
			
			// If the size is % based, calculate according to window dimensions
			percentBased=false;
			if(movie_height.indexOf('%') != -1) { movie_height = parseFloat(($(window).height() * parseFloat(movie_height) / 100) - 150); percentBased = true; }
			if(movie_width.indexOf('%') != -1) { movie_width = parseFloat(($(window).width() * parseFloat(movie_width) / 100) - 150); percentBased = true; }
			
			// Fade the holder
			$pp_pic_holder.fadeIn(function(){
				// Set the title
				(settings.show_title && pp_titles[set_position] != "" && typeof pp_titles[set_position] != "undefined") ? $ppt.text(unescape(pp_titles[set_position])) : $ppt.html('&nbsp;');
				
				imgPreloader = "";
				skipInjection = false;
				
				// Inject the proper content
				switch(_getFileType(pp_images[set_position])){
					case 'image':
						imgPreloader = new Image();

						// Preload the neighbour images
						nextImage = new Image();
						if(isSet && set_position < $(pp_images).length -1) nextImage.src = pp_images[set_position + 1];
						prevImage = new Image();
						if(isSet && pp_images[set_position - 1]) prevImage.src = pp_images[set_position - 1];

						$pp_pic_holder.find('#pp_full_res')[0].innerHTML = settings.image_markup.replace(/{path}/g,pp_images[set_position]);

						imgPreloader.onload = function(){
							// Fit item to viewport
							pp_dimensions = _fitToViewport(imgPreloader.width,imgPreloader.height);

							_showContent();
						};

						imgPreloader.onerror = function(){
							alert('Image cannot be loaded. Make sure the path is correct and image exist.');
							$.prettyPhoto.close();
						};
					
						imgPreloader.src = pp_images[set_position];
					break;
				
					case 'youtube':
						pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport
						
						// Regular youtube link
						movie_id = getParam('v',pp_images[set_position]);
						
						// youtu.be link
						if(movie_id == ""){
							movie_id = pp_images[set_position].split('youtu.be/');
							movie_id = movie_id[1];
							if(movie_id.indexOf('?') > 0)
								movie_id = movie_id.substr(0,movie_id.indexOf('?')); // Strip anything after the ?

							if(movie_id.indexOf('&') > 0)
								movie_id = movie_id.substr(0,movie_id.indexOf('&')); // Strip anything after the &
						}

						movie = 'https://www.youtube.com/embed/'+movie_id;
                                                (getParam('nocookie',pp_images[set_position])) ? movie='https://www.youtube-nocookie.com/embed/'+movie_id : movie+="";
                                                
						(getParam('rel',pp_images[set_position])) ? movie+="?rel="+getParam('rel',pp_images[set_position]) : movie+="?rel=1";
							
						if(settings.autoplay) movie += "&autoplay=1";
					
						toInject = settings.iframe_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,movie);
					break;
				
					case 'vimeo':
						pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport
					
						movie_id = pp_images[set_position];
						var regExp = /http(s?):\/\/(www\.)?vimeo.com\/(\d+)/;
						var match = movie_id.match(regExp);
						
						movie = 'https://player.vimeo.com/video/'+ match[3];
                                                (getParam('p_hash',pp_images[set_position])) ? movie+="?h="+getParam('p_hash',pp_images[set_position]) : movie+="";
                                                (getParam('p_hash',pp_images[set_position])) ? movie+="&amp;title=0" : movie+="?title=0";
                                                movie += "&amp;byline=0&amp;portrait=0";
						if(settings.autoplay) movie += "&amp;autoplay=1";
				
						vimeo_width = pp_dimensions['width'];
				
						toInject = settings.iframe_markup.replace(/{width}/g,vimeo_width).replace(/{height}/g,pp_dimensions['height']).replace(/{path}/g,movie);
					break;
				
					case 'quicktime':
						pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport
						pp_dimensions['height']+=15; pp_dimensions['contentHeight']+=15; pp_dimensions['containerHeight']+=15; // Add space for the control bar
				
						toInject = settings.quicktime_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,pp_images[set_position]).replace(/{autoplay}/g,settings.autoplay);
					break;
				
					case 'flash':
						pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport
					
						flash_vars = pp_images[set_position];
						flash_vars = flash_vars.substring(pp_images[set_position].indexOf('flashvars') + 10,pp_images[set_position].length);

						filename = pp_images[set_position];
						filename = filename.substring(0,filename.indexOf('?'));
					
						toInject =  settings.flash_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{wmode}/g,settings.wmode).replace(/{path}/g,filename+'?'+flash_vars);
					break;
				
					case 'iframe':
						pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport
				
						frame_url = pp_images[set_position];
						frame_url = frame_url.substr(0,frame_url.indexOf('iframe')-1);

						toInject = settings.iframe_markup.replace(/{width}/g,pp_dimensions['width']).replace(/{height}/g,pp_dimensions['height']).replace(/{path}/g,frame_url);
					break;
					
					case 'ajax':
						doresize = false; // Make sure the dimensions are not resized.
						pp_dimensions = _fitToViewport(movie_width,movie_height);
						doresize = true; // Reset the dimensions
					
						skipInjection = true;
						$.get(pp_images[set_position],function(responseHTML){
							toInject = settings.inline_markup.replace(/{content}/g,responseHTML);
							$pp_pic_holder.find('#pp_full_res')[0].innerHTML = toInject;
							_showContent();
						});
						
					break;
					
					case 'custom':
						pp_dimensions = _fitToViewport(movie_width,movie_height); // Fit item to viewport
					
						toInject = settings.custom_markup;
					break;
				
					case 'inline':
						// to get the item height clone it, apply default width, wrap it in the prettyPhoto containers , then delete
						myClone = $(pp_images[set_position]).clone().append('<br clear="all" />').css({'width':settings.default_width}).wrapInner('<div id="pp_full_res"><div class="pp_inline"></div></div>').appendTo($('body')).show();
						doresize = false; // Make sure the dimensions are not resized.
						pp_dimensions = _fitToViewport($(myClone).width(),$(myClone).height());
						doresize = true; // Reset the dimensions
						$(myClone).remove();
						toInject = settings.inline_markup.replace(/{content}/g,$(pp_images[set_position]).html());
					break;
				};

				if(!imgPreloader && !skipInjection){
					$pp_pic_holder.find('#pp_full_res')[0].innerHTML = toInject;
				
					// Show content
					_showContent();
				};
			});

			return false;
		};

	
		/**
		* Change page in the prettyPhoto modal box
		* @param direction {String} Direction of the paging, previous or next.
		*/
		$.prettyPhoto.changePage = function(direction){
			currentGalleryPage = 0;
			
			if(direction == 'previous') {
				set_position--;
				if (set_position < 0) set_position = $(pp_images).length-1;
			}else if(direction == 'next'){
				set_position++;
				if(set_position > $(pp_images).length-1) set_position = 0;
			}else{
				set_position=direction;
			};
			
			rel_index = set_position;

			if(!doresize) doresize = true; // Allow the resizing of the images
			if(settings.allow_expand) {
				$('.pp_contract').removeClass('pp_contract').addClass('pp_expand');
			}

			_hideContent(function(){ $.prettyPhoto.open(); });
		};


		/**
		* Change gallery page in the prettyPhoto modal box
		* @param direction {String} Direction of the paging, previous or next.
		*/
		$.prettyPhoto.changeGalleryPage = function(direction){
			if(direction=='next'){
				currentGalleryPage ++;

				if(currentGalleryPage > totalPage) currentGalleryPage = 0;
			}else if(direction=='previous'){
				currentGalleryPage --;

				if(currentGalleryPage < 0) currentGalleryPage = totalPage;
			}else{
				currentGalleryPage = direction;
			};
			
			slide_speed = (direction == 'next' || direction == 'previous') ? settings.animation_speed : 0;

			slide_to = currentGalleryPage * (itemsPerPage * itemWidth);

			$pp_gallery.find('ul').animate({left:-slide_to},slide_speed);
		};


		/**
		* Start the slideshow...
		*/
		$.prettyPhoto.startSlideshow = function(){
			if(typeof pp_slideshow == 'undefined'){
				$pp_pic_holder.find('.pp_play').unbind('click').removeClass('pp_play').addClass('pp_pause').click(function(){
					$.prettyPhoto.stopSlideshow();
					return false;
				});
				pp_slideshow = setInterval($.prettyPhoto.startSlideshow,settings.slideshow);
			}else{
				$.prettyPhoto.changePage('next');	
			};
		}


		/**
		* Stop the slideshow...
		*/
		$.prettyPhoto.stopSlideshow = function(){
			$pp_pic_holder.find('.pp_pause').unbind('click').removeClass('pp_pause').addClass('pp_play').click(function(){
				$.prettyPhoto.startSlideshow();
				return false;
			});
			clearInterval(pp_slideshow);
			pp_slideshow=undefined;
		}


		/**
		* Closes prettyPhoto.
		*/
		$.prettyPhoto.close = function(){
			if($pp_overlay.is(":animated")) return;
			
			$.prettyPhoto.stopSlideshow();
			
			$pp_pic_holder.stop().find('object,embed').css('visibility','hidden');
			
			$('div.pp_pic_holder,div.ppt,.pp_fade').fadeOut(settings.animation_speed,function(){ $(this).remove(); });
			
			$pp_overlay.fadeOut(settings.animation_speed, function(){
				
				if(settings.hideflash) $('object,embed,iframe[src*=youtube],iframe[src*=vimeo]').css('visibility','visible'); // Show the flash
				
				$(this).remove(); // No more need for the prettyPhoto markup
				
				$(window).unbind('scroll.prettyphoto');
				
				clearHashtag();
				
				settings.callback();
				
				doresize = true;
				
				pp_open = false;
				
				delete settings;
			});
		};
	
		/**
		* Set the proper sizes on the containers and animate the content in.
		*/
		function _showContent(){
			$('.pp_loaderIcon').hide();

			// Calculate the opened top position of the pic holder
			projectedTop = scroll_pos['scrollTop'] + ((windowHeight/2) - (pp_dimensions['containerHeight']/2));
			if(projectedTop < 0) projectedTop = 0;

			$ppt.fadeTo(settings.animation_speed,1);

			// Resize the content holder
			$pp_pic_holder.find('.pp_content')
				.animate({
					height:pp_dimensions['contentHeight'],
					width:pp_dimensions['contentWidth']
				},settings.animation_speed);
			
			// Resize picture the holder
			$pp_pic_holder.animate({
				'top': projectedTop,
				'left': ((windowWidth/2) - (pp_dimensions['containerWidth']/2) < 0) ? 0 : (windowWidth/2) - (pp_dimensions['containerWidth']/2),
				width:pp_dimensions['containerWidth']
			},settings.animation_speed,function(){
				$pp_pic_holder.find('.pp_hoverContainer,#fullResImage').height(pp_dimensions['height']).width(pp_dimensions['width']);

				$pp_pic_holder.find('.pp_fade').fadeIn(settings.animation_speed); // Fade the new content

				// Show the nav
				if(isSet && _getFileType(pp_images[set_position])=="image") { $pp_pic_holder.find('.pp_hoverContainer').show(); }else{ $pp_pic_holder.find('.pp_hoverContainer').hide(); }
			
				if(settings.allow_expand) {
					if(pp_dimensions['resized']){ // Fade the resizing link if the image is resized
						$('a.pp_expand,a.pp_contract').show();
					}else{
						$('a.pp_expand').hide();
					}
				}
				
				if(settings.autoplay_slideshow && !pp_slideshow && !pp_open) $.prettyPhoto.startSlideshow();
				
				settings.changepicturecallback(); // Callback!
				
				pp_open = true;
			});
			
			_insert_gallery();
			pp_settings.ajaxcallback();
		};
		
		/**
		* Hide the content...DUH!
		*/
		function _hideContent(callback){
			// Fade out the current picture
			$pp_pic_holder.find('#pp_full_res object,#pp_full_res embed').css('visibility','hidden');
			$pp_pic_holder.find('.pp_fade').fadeOut(settings.animation_speed,function(){
				$('.pp_loaderIcon').show();
				
				callback();
			});
		};
	
		/**
		* Check the item position in the gallery array, hide or show the navigation links
		* @param setCount {integer} The total number of items in the set
		*/
		function _checkPosition(setCount){
			(setCount > 1) ? $('.pp_nav').show() : $('.pp_nav').hide(); // Hide the bottom nav if it's not a set.
		};
	
		/**
		* Resize the item dimensions if it's bigger than the viewport
		* @param width {integer} Width of the item to be opened
		* @param height {integer} Height of the item to be opened
		* @return An array containin the "fitted" dimensions
		*/
		function _fitToViewport(width,height){
			resized = false;

			_getDimensions(width,height);
			
			// Define them in case there's no resize needed
			imageWidth = width, imageHeight = height;

			if( ((pp_containerWidth > windowWidth) || (pp_containerHeight > windowHeight)) && doresize && settings.allow_resize && !percentBased) {
				resized = true, fitting = false;
			
				while (!fitting){
					if((pp_containerWidth > windowWidth)){
						imageWidth = (windowWidth - 200);
						imageHeight = (height/width) * imageWidth;
					}else if((pp_containerHeight > windowHeight)){
						imageHeight = (windowHeight - 200);
						imageWidth = (width/height) * imageHeight;
					}else{
						fitting = true;
					};

					pp_containerHeight = imageHeight, pp_containerWidth = imageWidth;
				};
			

				
				if((pp_containerWidth > windowWidth) || (pp_containerHeight > windowHeight)){
					_fitToViewport(pp_containerWidth,pp_containerHeight)
				};
				
				_getDimensions(imageWidth,imageHeight);
			};
			
			return {
				width:Math.floor(imageWidth),
				height:Math.floor(imageHeight),
				containerHeight:Math.floor(pp_containerHeight),
				containerWidth:Math.floor(pp_containerWidth) + (settings.horizontal_padding * 2),
				contentHeight:Math.floor(pp_contentHeight),
				contentWidth:Math.floor(pp_contentWidth),
				resized:resized
			};
		};
		
		/**
		* Get the containers dimensions according to the item size
		* @param width {integer} Width of the item to be opened
		* @param height {integer} Height of the item to be opened
		*/
		function _getDimensions(width,height){
			width = parseFloat(width);
			height = parseFloat(height);
			
			// Get the details height, to do so, I need to clone it since it's invisible
			$pp_details = $pp_pic_holder.find('.pp_details');
			$pp_details.width(width);
			detailsHeight = parseFloat($pp_details.css('marginTop')) + parseFloat($pp_details.css('marginBottom'));
			
			$pp_details = $pp_details.clone().addClass(settings.theme).width(width).appendTo($('body')).css({
				'position':'absolute',
				'top':-10000
			});
			detailsHeight += $pp_details.height();
			detailsHeight = (detailsHeight <= 34) ? 36 : detailsHeight; // Min-height for the details
			$pp_details.remove();
			
			// Get the titles height, to do so, I need to clone it since it's invisible
			$pp_title = $pp_pic_holder.find('.ppt');
			$pp_title.width(width);
			titleHeight = parseFloat($pp_title.css('marginTop')) + parseFloat($pp_title.css('marginBottom'));
			$pp_title = $pp_title.clone().appendTo($('body')).css({
				'position':'absolute',
				'top':-10000
			});
			titleHeight += $pp_title.height();
			$pp_title.remove();
			
			// Get the container size, to resize the holder to the right dimensions
			pp_contentHeight = height + detailsHeight;
			pp_contentWidth = width;
			pp_containerHeight = pp_contentHeight + titleHeight + $pp_pic_holder.find('.pp_top').height() + $pp_pic_holder.find('.pp_bottom').height();
			pp_containerWidth = width;
		}
	
		function _getFileType(itemSrc){
			if (itemSrc.match(/youtube\.com\/watch/i) || itemSrc.match(/youtu\.be/i)) {
				return 'youtube';
			}else if (itemSrc.match(/vimeo\.com/i)) {
				return 'vimeo';
			}else if(itemSrc.match(/\b.mov\b/i)){ 
				return 'quicktime';
			}else if(itemSrc.match(/\b.swf\b/i)){
				return 'flash';
			}else if(itemSrc.match(/\biframe=true\b/i)){
				return 'iframe';
			}else if(itemSrc.match(/\bajax=true\b/i)){
				return 'ajax';
			}else if(itemSrc.match(/\bcustom=true\b/i)){
				return 'custom';
			}else if(itemSrc.substr(0,1) == '#'){
				return 'inline';
			}else{
				return 'image';
			};
		};
	
		function _center_overlay(){
			if(doresize && typeof $pp_pic_holder != 'undefined') {
				scroll_pos = _get_scroll();
				contentHeight = $pp_pic_holder.height(), contentwidth = $pp_pic_holder.width();

				projectedTop = (windowHeight/2) + scroll_pos['scrollTop'] - (contentHeight/2);
				if(projectedTop < 0) projectedTop = 0;
				
				if(contentHeight > windowHeight)
					return;

				$pp_pic_holder.css({
					'top': projectedTop,
					'left': (windowWidth/2) + scroll_pos['scrollLeft'] - (contentwidth/2)
				});
			};
		};
	
		function _get_scroll(){
			if (self.pageYOffset) {
				return {scrollTop:self.pageYOffset,scrollLeft:self.pageXOffset};
			} else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict
				return {scrollTop:document.documentElement.scrollTop,scrollLeft:document.documentElement.scrollLeft};
			} else if (document.body) {// all other Explorers
				return {scrollTop:document.body.scrollTop,scrollLeft:document.body.scrollLeft};
			};
		};
	
		function _resize_overlay() {
			windowHeight = $(window).height(), windowWidth = $(window).width();
			
			if(typeof $pp_overlay != "undefined") $pp_overlay.height($(document).height()).width(windowWidth);
		};
	
		function _insert_gallery(){
			if(isSet && settings.overlay_gallery && _getFileType(pp_images[set_position])=="image") {
				itemWidth = 52+5; // 52 beign the thumb width, 5 being the right margin.
				navWidth = (settings.theme == "facebook" || settings.theme == "pp_default") ? 50 : 30; // Define the arrow width depending on the theme
				
				itemsPerPage = Math.floor((pp_dimensions['containerWidth'] - 100 - navWidth) / itemWidth);
				itemsPerPage = (itemsPerPage < pp_images.length) ? itemsPerPage : pp_images.length;
				totalPage = Math.ceil(pp_images.length / itemsPerPage) - 1;

				// Hide the nav in the case there's no need for links
				if(totalPage == 0){
					navWidth = 0; // No nav means no width!
					$pp_gallery.find('.pp_arrow_next,.pp_arrow_previous').hide();
				}else{
					$pp_gallery.find('.pp_arrow_next,.pp_arrow_previous').show();
				};

				galleryWidth = itemsPerPage * itemWidth;
				fullGalleryWidth = pp_images.length * itemWidth;
				
				// Set the proper width to the gallery items
				$pp_gallery
					.css('margin-left',-((galleryWidth/2) + (navWidth/2)))
					.find('div:first').width(galleryWidth+5)
					.find('ul').width(fullGalleryWidth)
					.find('li.selected').removeClass('selected');
				
				goToPage = (Math.floor(set_position/itemsPerPage) < totalPage) ? Math.floor(set_position/itemsPerPage) : totalPage;

				$.prettyPhoto.changeGalleryPage(goToPage);
				
				$pp_gallery_li.filter(':eq('+set_position+')').addClass('selected');
			}else{
				$pp_pic_holder.find('.pp_content').unbind('mouseenter mouseleave');
				// $pp_gallery.hide();
			}
		}
	
		function _build_overlay(caller){
			// Inject Social Tool markup into General markup
			if(settings.social_tools)
				facebook_like_link = settings.social_tools.replace('{location_href}', encodeURIComponent(location.href)); 

			settings.markup = settings.markup.replace('{pp_social}',''); 
			
			$('body').append(settings.markup); // Inject the markup
			
			$pp_pic_holder = $('.pp_pic_holder') , $ppt = $('.ppt'), $pp_overlay = $('div.pp_overlay'); // Set my global selectors
			
			// Inject the inline gallery!
			if(isSet && settings.overlay_gallery) {
				currentGalleryPage = 0;
				toInject = "";
				for (var i=0; i < pp_images.length; i++) {
					if(!pp_images[i].match(/\b(jpg|jpeg|png|gif)\b/gi)){
						classname = 'default';
						img_src = '';
					}else{
						classname = '';
						img_src = pp_images[i];
					}
					toInject += "<li class='"+classname+"'><a href='#'><img src='" + img_src + "' width='50' alt='' /></a></li>";
				};
				
				toInject = settings.gallery_markup.replace(/{gallery}/g,toInject);
				
				$pp_pic_holder.find('#pp_full_res').after(toInject);
				
				$pp_gallery = $('.pp_pic_holder .pp_gallery'), $pp_gallery_li = $pp_gallery.find('li'); // Set the gallery selectors
				
				$pp_gallery.find('.pp_arrow_next').click(function(){
					$.prettyPhoto.changeGalleryPage('next');
					$.prettyPhoto.stopSlideshow();
					return false;
				});
				
				$pp_gallery.find('.pp_arrow_previous').click(function(){
					$.prettyPhoto.changeGalleryPage('previous');
					$.prettyPhoto.stopSlideshow();
					return false;
				});
				
				$pp_pic_holder.find('.pp_content').hover(
					function(){
						$pp_pic_holder.find('.pp_gallery:not(.disabled)').fadeIn();
					},
					function(){
						$pp_pic_holder.find('.pp_gallery:not(.disabled)').fadeOut();
					});

				itemWidth = 52+5; // 52 beign the thumb width, 5 being the right margin.
				$pp_gallery_li.each(function(i){
					$(this)
						.find('a')
						.click(function(){
							$.prettyPhoto.changePage(i);
							$.prettyPhoto.stopSlideshow();
							return false;
						});
				});
			};
			
			
			// Inject the play/pause if it's a slideshow
			if(settings.slideshow){
				$pp_pic_holder.find('.pp_nav').prepend('<a href="#" class="pp_play">Play</a>')
				$pp_pic_holder.find('.pp_nav .pp_play').click(function(){
					$.prettyPhoto.startSlideshow();
					return false;
				});
			}
			
			$pp_pic_holder.attr('class','pp_pic_holder ' + settings.theme); // Set the proper theme
			
			$pp_overlay
				.css({
					'opacity':0,
					'height':$(document).height(),
					'width':$(window).width()
					})
				.bind('click',function(){
					if(!settings.modal) $.prettyPhoto.close();
				});

			$('a.pp_close').bind('click',function(){ $.prettyPhoto.close(); return false; });


			if(settings.allow_expand) {
				$('a.pp_expand').bind('click',function(e){
					// Expand the image
					if($(this).hasClass('pp_expand')){
						$(this).removeClass('pp_expand').addClass('pp_contract');
						doresize = false;
					}else{
						$(this).removeClass('pp_contract').addClass('pp_expand');
						doresize = true;
					};
				
					_hideContent(function(){ $.prettyPhoto.open(); });
			
					return false;
				});
			}
		
			$pp_pic_holder.find('.pp_previous, .pp_nav .pp_arrow_previous').bind('click',function(){
				$.prettyPhoto.changePage('previous');
				$.prettyPhoto.stopSlideshow();
				return false;
			});
		
			$pp_pic_holder.find('.pp_next, .pp_nav .pp_arrow_next').bind('click',function(){
				$.prettyPhoto.changePage('next');
				$.prettyPhoto.stopSlideshow();
				return false;
			});
			
			_center_overlay(); // Center it
		};

		if(!pp_alreadyInitialized && getHashtag()){
			pp_alreadyInitialized = true;
			
			// Grab the rel index to trigger the click on the correct element
			hashIndex = getHashtag();
			hashRel = hashIndex;
			hashIndex = hashIndex.substring(hashIndex.indexOf('/')+1,hashIndex.length-1);
			hashRel = hashRel.substring(0,hashRel.indexOf('/'));

			// Little timeout to make sure all the prettyPhoto initialize scripts has been run.
			// Useful in the event the page contain several init scripts.
			setTimeout(function(){ $("a["+pp_settings.hook+"^='"+hashRel+"']:eq("+hashIndex+")").trigger('click'); },50);
		}
		
		return this.unbind('click.prettyphoto').bind('click.prettyphoto',$.prettyPhoto.initialize); // Return the jQuery object for chaining. The unbind method is used to avoid click conflict when the plugin is called more than once
	};
	
	function getHashtag(){
		var url = location.href;
		hashtag = (url.indexOf('#prettyPhoto') !== -1) ? decodeURI(url.substring(url.indexOf('#prettyPhoto')+1,url.length)) : false;
		if(hashtag){  hashtag = hashtag.replace(/<|>/g,''); }
		return hashtag;
	};
	
	function setHashtag(){
		if(typeof theRel == 'undefined') return; // theRel is set on normal calls, it's impossible to deeplink using the API
		location.hash = theRel + '/'+rel_index+'/';
	};
	
	function clearHashtag(){
		if ( location.href.indexOf('#prettyPhoto') !== -1 ) location.hash = "prettyPhoto";
	}
	
	function getParam(name,url){
	  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	  var regexS = "[\\?&]"+name+"=([^&#]*)";
	  var regex = new RegExp( regexS );
	  var results = regex.exec( url );
	  return ( results == null ) ? "" : results[1];
	}
	
})(jQuery);

var pp_alreadyInitialized = false; // Used for the deep linking to make sure not to call the same function several times.;