(function ($) { 'use strict'; /** * All of the code for your public-facing JavaScript source * should reside in this file. * * Note: It has been assumed you will write jQuery code here, so the * $ function reference has been prepared for usage within the scope * of this function. * * This enables you to define handlers, for when the DOM is ready: * * $(function() { * * }) ; * * When the window is loaded: * * $( window ).load(function() { * * }) ; * * ...and/or other possibilities. * * Ideally, it is not considered best practise to attach more than a * single DOM-ready or window-load handler for a particular page. * Although scripts in the WordPress core, Plugins and Themes may be * practising this, we should strive to set a better example in our own work. */ jQuery(document).ready(function () { /************** Initialize dark mode toggle before accesskey mapping **************/ litespeed_init_dark_mode(); /************** Common LiteSpeed JS **************/ // Link confirm $('[data-litespeed-cfm]').on('click', function (event) { var cfm_txt = $.trim($(this).data('litespeed-cfm')).replace(/\\n/g, '\n'); if (cfm_txt === '') { return true; } if (confirm(cfm_txt)) { return true; } event.preventDefault(); event.stopImmediatePropagation(); return false; }); /************** LSWCP JS ****************/ // page tab switch functionality (function () { var hash = window.location.hash.substr(1); var $tabs = $('[data-litespeed-tab]'); var $subtabs = $('[data-litespeed-subtab]'); // Handle tab and subtab events var tab_action = function ($elems, type) { type = litespeed_tab_type(type); var data = 'litespeed-' + type; $elems.on('click', function (_event) { litespeed_display_tab($(this).data(data), type); document.cookie = 'litespeed_' + type + '=' + $(this).data(data); $(this).blur(); }); }; tab_action($tabs); tab_action($subtabs, 'subtab'); if (!$tabs.length > 0) { // No tabs exist return; } // Find hash in tabs and subtabs var $hash_tab = $tabs.filter('[data-litespeed-tab="' + hash + '"]:first'); var $hash_subtab = $subtabs.filter('[data-litespeed-subtab="' + hash + '"]:first'); // Find tab name var $subtab; var $tab; var tab_name; if ($hash_subtab.length > 0) { // Hash is a subtab $tab = $hash_subtab.closest('[data-litespeed-layout]'); if ($tab.length > 0) { $subtab = $hash_subtab; tab_name = $tab.data('litespeed-layout'); } } if (typeof $tab === 'undefined' || $tab.length < 1) { // Maybe hash is a tab $tab = $hash_tab; if ($tab.length < 1) { // Maybe tab cookie exists $tab = litespeed_tab_cookie($tabs); if ($tab.length < 1) { // Use the first tab by default $tab = $tabs.first(); } } if (typeof tab_name === 'undefined') { tab_name = $tab.data('litespeed-tab'); } } // Always display a tab litespeed_display_tab(tab_name); // Find subtab name if (typeof $subtab === 'undefined' || $subtab.length < 1) { $subtab = litespeed_tab_cookie($subtabs, 'subtab'); } if ($subtab.length > 0) { var subtab_name = $subtab.data('litespeed-subtab'); // Display a subtab litespeed_display_tab(subtab_name, 'subtab'); } })(); /******************** Clear whm msg ********************/ $(document).on('click', '.lscwp-whm-notice .notice-dismiss', function () { $.get(litespeed_data.ajax_url_dismiss_whm); }); /******************** Clear rule conflict msg ********************/ $(document).on('click', '.lscwp-notice-ruleconflict .notice-dismiss', function () { $.get(litespeed_data.ajax_url_dismiss_ruleconflict); }); /** Accesskey **/ $('[litespeed-accesskey]').map(function () { var thiskey = $(this).attr('litespeed-accesskey'); if (thiskey == '') { return; } // Append shortcut info to existing title or set default var currentTitle = $(this).attr('title'); if (currentTitle) { $(this).attr('title', currentTitle + ' (Shortcut: ' + thiskey.toLocaleUpperCase() + ')'); } else { $(this).attr('title', 'Shortcut : ' + thiskey.toLocaleUpperCase()); } var that = this; $(document).on('keydown', function (e) { if ($(':input:focus').length) return; if (e.metaKey || e.ctrlKey || e.altKey || e.shiftKey) return; if (e.key && e.key.toLowerCase() === thiskey.toLowerCase()) { $(that)[0].click(); } }); }); /** Lets copy one more submit button **/ if ($('input[name="LSCWP_CTRL"]').length > 0) { var btn = $('input.litespeed-duplicate-float'); btn.clone().addClass('litespeed-float-submit').removeAttr('id').insertAfter(btn); } if ($('input[id="LSCWP_NONCE"]').length > 0) { $('input[id="LSCWP_NONCE"]').removeAttr('id'); } /** * Human readable time conversation * @since 3.0 */ if ($('[data-litespeed-readable]').length > 0) { $('[data-litespeed-readable]').each(function (index, el) { var that = this; var $input = $(this).siblings('input[type="text"]'); var txt = litespeed_readable_time($input.val()); $(that).html(txt ? '= ' + txt : ''); $input.on('keyup', function (event) { var txt = litespeed_readable_time($(this).val()); $(that).html(txt ? '= ' + txt : ''); }); }); } /** * Click only once */ if ($('[data-litespeed-onlyonce]').length > 0) { $('[data-litespeed-onlyonce]').on('click', function (e) { if ($(this).hasClass('disabled')) { e.preventDefault(); } $(this).addClass('disabled'); }); } }); })(jQuery); /** * Plural handler */ function litespeed_plural($num, $txt) { if ($num > 1) return $num + ' ' + $txt + 's'; return $num + ' ' + $txt; } /** * Convert seconds to readable time */ function litespeed_readable_time(seconds) { if (seconds < 60) { return ''; } var second = Math.floor(seconds % 60); var minute = Math.floor((seconds / 60) % 60); var hour = Math.floor((seconds / 3600) % 24); var day = Math.floor((seconds / 3600 / 24) % 7); var week = Math.floor(seconds / 3600 / 24 / 7); var str = ''; if (week) str += ' ' + litespeed_plural(week, 'week'); if (day) str += ' ' + litespeed_plural(day, 'day'); if (hour) str += ' ' + litespeed_plural(hour, 'hour'); if (minute) str += ' ' + litespeed_plural(minute, 'minute'); if (second) str += ' ' + litespeed_plural(second, 'second'); return str; } /** * Normalize specified tab type * @since 4.7 */ function litespeed_tab_type(type) { return 'subtab' === type ? type : 'tab'; } /** * Sniff cookies for tab and subtab * @since 4.7 */ function litespeed_tab_cookie($elems, type) { type = litespeed_tab_type(type); var re = new RegExp('(?:^|.*;)\\s*litespeed_' + type + '\\s*=\\s*([^;]*).*$|^.*$', 'ms'); var name = document.cookie.replace(re, '$1'); return $elems.filter('[data-litespeed-' + type + '="' + name + '"]:first'); } function litespeed_display_tab(name, type) { type = litespeed_tab_type(type); var $tabs; var $layouts; var classname; var layout_type; if ('subtab' === type) { classname = 'focus'; layout_type = 'sublayout'; $tabs = jQuery('[data-litespeed-subtab="' + name + '"]') .siblings('[data-litespeed-subtab]') .addBack(); $layouts = jQuery('[data-litespeed-sublayout="' + name + '"]') .siblings('[data-litespeed-sublayout]') .addBack(); } else { // Maybe handle subtabs var $subtabs = jQuery('[data-litespeed-layout="' + name + '"] [data-litespeed-subtab]'); if ($subtabs.length > 0) { // Find subtab name var $subtab = litespeed_tab_cookie($subtabs, 'subtab'); if ($subtab.length < 1) { $subtab = jQuery('[data-litespeed-layout="' + name + '"] [data-litespeed-subtab]:first'); } if ($subtab.length > 0) { var subtab_name = $subtab.data('litespeed-subtab'); // Display a subtab litespeed_display_tab(subtab_name, 'subtab'); } } classname = 'nav-tab-active'; layout_type = 'layout'; $tabs = jQuery('[data-litespeed-tab]'); $layouts = jQuery('[data-litespeed-layout]'); } $tabs.removeClass(classname); $tabs.filter('[data-litespeed-' + type + '="' + name + '"]').addClass(classname); $layouts.hide(); $layouts.filter('[data-litespeed-' + layout_type + '="' + name + '"]').show(); } function litespeed_copy_to_clipboard(elementId, clickedElement) { var range = document.createRange(); range.selectNode(document.getElementById(elementId)); window.getSelection().removeAllRanges(); window.getSelection().addRange(range); document.execCommand('copy'); window.getSelection().removeAllRanges(); clickedElement.setAttribute('aria-label', 'Copied!'); } // Dark mode toggle functionality function litespeed_init_dark_mode() { 'use strict'; // Only add toggle on LiteSpeed pages if (window.location.search.indexOf('page=litespeed') === -1) return; // Create toggle button var toggleBtn = document.createElement('button'); toggleBtn.className = 'litespeed-dark-mode-toggle'; toggleBtn.setAttribute('title', 'Toggle Dark Mode'); toggleBtn.setAttribute('aria-label', 'Toggle Dark Mode'); toggleBtn.setAttribute('litespeed-accesskey', 'z'); toggleBtn.setAttribute('data-litespeed-noprefix', true); function applyDarkMode() { var prefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches; var savedPreference = localStorage.getItem('litespeed-dark-preference'); var isDark = savedPreference ? savedPreference === 'dark' : prefersDark; // Determine needed class (only when overriding browser preference) var needsClass; if (savedPreference === 'dark' && !prefersDark) { needsClass = 'litespeed-darkmode'; } else if (savedPreference === 'light' && prefersDark) { needsClass = 'litespeed-lightmode'; } // Only update DOM if class needs to change if (needsClass) { if (!document.body.classList.contains(needsClass)) { document.body.classList.remove('litespeed-darkmode', 'litespeed-lightmode'); document.body.classList.add(needsClass); } } else { if (document.body.classList.contains('litespeed-darkmode') || document.body.classList.contains('litespeed-lightmode')) { document.body.classList.remove('litespeed-darkmode', 'litespeed-lightmode'); } } // Update button icon toggleBtn.innerHTML = isDark ? '☀️' : '🌙'; } // Initialize applyDarkMode(); // Toggle handler toggleBtn.addEventListener('click', function() { var prefersDark = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches; var savedPreference = localStorage.getItem('litespeed-dark-preference'); var currentlyDark = savedPreference ? savedPreference === 'dark' : prefersDark; // Toggle and store only if different from browser preference if (!currentlyDark === prefersDark) { localStorage.removeItem('litespeed-dark-preference'); } else { localStorage.setItem('litespeed-dark-preference', currentlyDark ? 'light' : 'dark'); } applyDarkMode(); }); // Listen for system theme changes if (window.matchMedia) { window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', applyDarkMode); } // Add to page document.body.appendChild(toggleBtn); } /*! * vue-resource v1.4.0 * https://github.com/pagekit/vue-resource * Released under the MIT License. */ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):t.VueResource=e()}(this,function(){"use strict";var t=2;function e(e){this.state=t,this.value=void 0,this.deferred=[];var n=this;try{e(function(t){n.resolve(t)},function(t){n.reject(t)})}catch(t){n.reject(t)}}e.reject=function(t){return new e(function(e,n){n(t)})},e.resolve=function(t){return new e(function(e,n){e(t)})},e.all=function(t){return new e(function(n,o){var r=0,i=[];function s(e){return function(o){i[e]=o,(r+=1)===t.length&&n(i)}}0===t.length&&n(i);for(var u=0;u=200&&a<300,this.status=a||0,this.statusText=c||"",this.headers=new q(u),this.body=t,d(t)?this.bodyText=t:(i=t,"undefined"!=typeof Blob&&i instanceof Blob&&(this.bodyBlob=t,(0===(r=t).type.indexOf("text")||-1!==r.type.indexOf("json"))&&(this.bodyText=(n=t,new o(function(t){var e=new FileReader;e.readAsText(n),e.onload=function(){t(e.result)}})))))};L.prototype.blob=function(){return v(this.bodyBlob)},L.prototype.text=function(){return v(this.bodyText)},L.prototype.json=function(){return v(this.text(),function(t){return JSON.parse(t)})},Object.defineProperty(L.prototype,"data",{get:function(){return this.body},set:function(t){this.body=t}});var B=function(t){var e;this.body=null,this.params={},w(this,t,{method:(e=t.method||"GET",e?e.toUpperCase():"")}),this.headers instanceof q||(this.headers=new q(this.headers))};B.prototype.getUrl=function(){return $(this)},B.prototype.getBody=function(){return this.body},B.prototype.respondWith=function(t,e){return new L(t,w(e||{},{url:this.getUrl()}))};var M={"Content-Type":"application/json;charset=utf-8"};function N(t){var e=this||{},n=function(t){var e=[I],n=[];function r(r){for(;e.length;){var i=e.pop();if(l(i)){var s=void 0,u=void 0;if(m(s=i.call(t,r,function(t){return u=t})||u))return new o(function(e,o){n.forEach(function(e){s=v(s,function(n){return e.call(t,n)||n},o)}),v(s,e,o)},t);l(s)&&n.unshift(s)}else c="Invalid interceptor of type "+typeof i+", must be a function","undefined"!=typeof console&&a&&console.warn("[VueResource warn]: "+c)}var c}return m(t)||(t=null),r.use=function(t){e.push(t)},r}(e.$vm);return function(t){u.call(arguments,1).forEach(function(e){for(var n in e)void 0===t[n]&&(t[n]=e[n])})}(t||{},e.$options,N.options),N.interceptors.forEach(function(t){d(t)&&(t=N.interceptor[t]),l(t)&&n.use(t)}),n(new B(t)).then(function(t){return t.ok?t:o.reject(t)},function(t){var e;return t instanceof Error&&(e=t,"undefined"!=typeof console&&console.error(e)),o.reject(t)})}function D(t,e,n,o){var r=this||{},i={};return g(n=w({},D.actions,n),function(n,s){n=T({url:t,params:w({},e)},o,n),i[s]=function(){return(r.$http||N)(function(t,e){var n,o=w({},t),r={};switch(e.length){case 2:r=e[0],n=e[1];break;case 1:/^(POST|PUT|PATCH)$/i.test(o.method)?n=e[0]:r=e[0];break;case 0:break;default:throw"Expected up to 2 arguments [params, body], got "+e.length+" arguments"}return o.body=n,o.params=w({},o.params,r),o}(n,arguments))}}),i}function J(t){var e,n,r;J.installed||(n=(e=t).config,r=e.nextTick,i=r,a=n.debug||!n.silent,t.url=$,t.http=N,t.resource=D,t.Promise=o,Object.defineProperties(t.prototype,{$url:{get:function(){return b(t.url,this,this.$options.url)}},$http:{get:function(){return b(t.http,this,this.$options.http)}},$resource:{get:function(){return t.resource.bind(this)}},$promise:{get:function(){var e=this;return function(n){return new t.Promise(n,e)}}}}))}return N.options={},N.headers={put:M,post:M,patch:M,delete:M,common:{Accept:"application/json, text/plain, */*"},custom:{}},N.interceptor={before:function(t){l(t.before)&&t.before.call(this,t)},method:function(t){t.emulateHTTP&&/^(PUT|PATCH|DELETE)$/i.test(t.method)&&(t.headers.set("X-HTTP-Method-Override",t.method),t.method="POST")},jsonp:function(t){"JSONP"==t.method&&(t.client=A)},json:function(t){var e=t.headers.get("Content-Type")||"";return m(t.body)&&0===e.indexOf("application/json")&&(t.body=JSON.stringify(t.body)),function(t){return t.bodyText?v(t.text(),function(e){var n,o;if(0===(t.headers.get("Content-Type")||"").indexOf("application/json")||(o=(n=e).match(/^\s*(\[|\{)/))&&{"[":/]\s*$/,"{":/}\s*$/}[o[1]].test(n))try{t.body=JSON.parse(e)}catch(e){t.body=null}else t.body=e;return t}):t}},form:function(t){var e;e=t.body,"undefined"!=typeof FormData&&e instanceof FormData?t.headers.delete("Content-Type"):m(t.body)&&t.emulateJSON&&(t.body=$.params(t.body),t.headers.set("Content-Type","application/x-www-form-urlencoded"))},header:function(t){g(w({},N.headers.common,t.crossOrigin?{}:N.headers.custom,N.headers[p(t.method)]),function(e,n){t.headers.has(n)||t.headers.set(n,e)})},cors:function(t){if(c){var e=$.parse(location.href),n=$.parse(t.getUrl());n.protocol===e.protocol&&n.host===e.host||(t.crossOrigin=!0,t.emulateHTTP=!1,R||(t.client=U))}}},N.interceptors=["before","method","jsonp","json","form","header","cors"],["get","delete","head","jsonp"].forEach(function(t){N[t]=function(e,n){return this(w(n||{},{url:e,method:t}))}}),["post","put","patch"].forEach(function(t){N[t]=function(e,n,o){return this(w(o||{},{url:e,method:t,body:n}))}}),D.actions={get:{method:"GET"},save:{method:"POST"},query:{method:"GET"},update:{method:"PUT"},remove:{method:"DELETE"},delete:{method:"DELETE"}},"undefined"!=typeof window&&window.Vue&&window.Vue.use(J),J}); /*Click Away*/ !function(e,t){"use strict";function n(e,t,n){i(e);var u=n.context,a=t.value;if("function"==typeof a){var c=!1;setTimeout(function(){c=!0},0),e[o]=function(t){var n=t.path||(t.composedPath?t.composedPath():void 0);if(c&&(n?n.indexOf(e)<0:!e.contains(t.target)))return a.call(u,t)},document.documentElement.addEventListener("click",e[o],!1)}}function i(e){document.documentElement.removeEventListener("click",e[o],!1),delete e[o]}t="default"in t?t.default:t;/^2\./.test(t.version)||t.util.warn("VueClickaway 2.2.2 only supports Vue 2.x, and does not support Vue "+t.version);var o="_vue_clickaway_handler",u={bind:n,update:function(e,t){t.value!==t.oldValue&&n(e,t)},unbind:i},a={directives:{onClickaway:u}};e.version="2.2.2",e.directive=u,e.mixin=a}(this.VueClickaway={},Vue); Our Vision | Blessed Elena Academy

Our Vision

Home / MissionVision / Our Vision

Blessed Elena Academy envisions a child-friendly and Christ-centered school that develops inner-directed critical thinkers effective communicators of Gospel values, sensitive and responsive leaders and resilient and productive citizens whose culture of excellence is nurtured with love and devotion to the Holy Spirit that empowers them to become bearers of light for nation-building.