 $.fn.e4eLogin=function(){var o=arguments[0]||{},n=$.extend({},$.e4eLogin.defaults,o);n.formSettings=$.extend({},$.e4eLogin.defaults.formSettings,o.formSettings||{});var e=$(this);this.each((function(){new $.e4eLogin.construct(e,n)}))},$.e4eLogin={defaults:{overlay:!0,overlaySettings:{setClass:"login-overlay",color:"#000",opacity:.6},minimal:!1,animate:!0,redirectURL1:""+window.location,redirectOnSignup:"",formSettings:{setClass:"login-panel",forgottenLink:!1,forgottenInput:!0,forgottenInputSettings:{preHTML:"<h3>Having trouble logging in?</h3><p>If you would like us to reset your password via email please enter your email address here:</p>"},inputSettings:{preHTML:""},forgottenButtonHTML:"Having trouble logging in?",logo:!0,logoSrc:"/admin/_includes/images/design/juniper.png",websiteName:!0,loginHTML:"<h1 class='login-header'><strong>Juniper Education</strong><br /><br />Secure Login <small>Springhill Catholic Primary School </small></h1>",closeButton:!0,signup:'False'==='True',ssoStatus:""}},loginCount:0,construct:function(o,n){$.e4eLogin.loginCount++,"body"===o.selector&&$("#admin_dialog").length<1&&($(o).prepend($('<div id="admin_dialog" class="admin_ui" />')),o=$("#admin_dialog"));var e="";"Azure AD"===e&&(e+=" (Office 365)"),$(o).append(!0===n.overlay?$("<div/>").addClass("admin_dialog_overlay").on("touchstart mousedown",(function(){$.e4eLogin.doClose($(this))})):"").append($("<div/>").addClass("admin_dialog_box").addClass("admin_dialog_box-login").addClass(n.formSettings.ssoStatus).append(!0===n.overlay&&!0===n.formSettings.closeButton?$("<div />").addClass("login-close").addClass("admin_close").on("click",(function(){$.e4eLogin.doClose($(this))})):"").append(!1===n.minimal&&!0===n.formSettings.logo?$("<div />").addClass("login-logo").append('<img src="'+n.formSettings.logoSrc+'" />').dblclick((function(o){o.preventDefault(),"sso_only"===n.formSettings.ssoStatus&&$(this).siblings(".login-sso-selector").hide().siblings("form").show()})):"").append(n.formSettings.loginHTML).append("sso_only"===n.formSettings.ssoStatus||"sso_enabled"===n.formSettings.ssoStatus?$("<div />").addClass("login-sso-selector").append('<a href="/ssosp" class="button admin_dialog_button-primary admin_login_sso">Log in using '+e+"</a>").append("sso_only"===n.formSettings.ssoStatus?"":$('<a href="#" class="button admin_login_website">Log in to the website directly</a>').click((function(o){o.preventDefault(),$(this).parent().hide().siblings("form, .login-forgotten-form-container").show(),$(".login-input-form-fields").show()}))):"").append($("<form novalidate/>").addClass("login-input-form").append(n.formSettings.inputSettings.preHTML).append('<input type="hidden" name="loginRedirectURL" id="loginRedirectURL" value="'+n.redirectURL1+'" />').append(!1===n.minimal?$("<div />").addClass("login-input-form-div").append($("<div />").addClass("login-inputArea").append($("<p />").addClass("admin_field").addClass("admin_field-icon").append($("<label />").append('<i class="fa fa-user" />').attr("for","login-input-username_"+$.e4eLogin.loginCount)).append($("<input />").addClass("login-input-username-input").attr({id:"login-input-username_"+$.e4eLogin.loginCount,type:"text",autocorrect:"off",autocapitalize:"none",name:"login-input-username-field",placeholder:"Email Address"}))).append($("<p />").addClass("admin_field").addClass("admin_field-icon").append($("<label />").append('<i class="fa fa-lock" />').attr("for","login-input-password_"+$.e4eLogin.loginCount)).append($("<input />").addClass("login-input-password-input").attr({id:"login-input-password_"+$.e4eLogin.loginCount,type:"password",name:"login-input-password-field",placeholder:"Password"}))).append($("<p />").addClass("admin_field").addClass("admin_field-btn").append($("<input />").addClass("login-input-login-button").attr({type:"submit",value:"Login"}))).append(!0===n.formSettings.signup?$("<a />").addClass("login-signup-link").attr({href:"/users/signup.asp?pid=0"+(n.formSettings.redirectOnSignup?"&redir="+n.formSettings.redirectOnSignup:""),title:"Signup as a new user"}).append("Sign Up"):$("<a />").addClass("login-signup-link").attr({href:"#"}).append("&nbsp;")).append($("<a />").addClass("login-help-link").text(n.formSettings.forgottenButtonHTML).on("click",(function(){$(".login-input-form").hide(),$(".login-forgotten-form").show(),$(".admin_message-error").hide()})))):$("<div />").addClass("login-input-form-fields").append(n.formSettings.loginHTML).append($("<p />").addClass("login-input-username").append($("<label />").append("Email Address:").attr("for","login-input-username_"+$.e4eLogin.loginCount)).append($("<input />").addClass("login-input-username-input").attr({id:"login-input-username_"+$.e4eLogin.loginCount,type:"text",name:"login-input-username-field",placeholder:"Email Address"}))).append($("<p />").addClass("login-input-password").append($("<label />").append("Password:").attr("for","login-input-password_"+$.e4eLogin.loginCount)).append($("<input />").addClass("login-input-password-input").attr({id:"login-input-password_"+$.e4eLogin.loginCount,type:"password",name:"login-input-password-field"}))).append($("<p />").addClass("login-input-login").append($("<input />").addClass("login-input-login-button").attr({type:"submit",value:"Login"})).append(!0===n.formSettings.signup?$("<a />").addClass("login-signup-link btn").attr({href:"/users/signup.asp?pid=0"+(n.formSettings.redirectOnSignup?"&redir="+n.formSettings.redirectOnSignup:""),title:"Signup as a new user"}).append("Sign Up"):$("<div />"))))).append(!0===n.formSettings.forgottenLink?$("<span />").append($("<hr />").addClass("login-hr")).append($("<p />").addClass("login-forgotten-link").append($("<a />").append("Click here to reset your password").attr({href:"/admin/users/resetPassword.asp",title:"reset your password"}).click((function(o){o.preventDefault()})))):!0===n.formSettings.forgottenInput?(!0===n.minimal?$("<div />").addClass("login-forgotten-form-container minimal").append($('<a id="login-forgotten-form-anchor" href="#login-forgotten-form-anchor">Forgotten your password?</a>').click((function(o){o.preventDefault(),$(this).siblings("form").toggle(),$(this).hide().parent().prev("form").hide()}))):$("<div />")).append($("<form novalidate/>").css(!0===n.minimal?{display:"none"}:{}).submit((function(o){if(o.preventDefault(),o.stopPropagation(),""==$(".login-forgotten-input").val())return $.e4eLogin.doError($(".login-forgotten-input",this),"You must enter your email address.",!1),!1;$.e4eLogin.doForgotten($(this))})).addClass("login-forgotten-form").append(n.formSettings.forgottenInputSettings.preHTML).append($("<p />").addClass("admin_field").append($("<input />").addClass("login-forgotten-input login-input-username-input").attr({type:"text",name:"login-forgotten-input",placeholder:"Email Address",autocorrect:"off",autocapitalize:"none"}))).append($("<p />").addClass("admin_field").addClass("admin_field-btn").append($("<input />").addClass("login-forgotten-button").attr({type:"submit",value:"Reset Password"}))).append($('<a href="#" />').addClass("login-help-link login-help-return").text("Return to Login").on("click",(function(o){o.preventDefault(),$(".login-post-message").empty(),$(".login-forgotten-form").hide().siblings().show(),$(".login-input-form").show()})))):"")).find("form.login-input-form").submit((function(o){o.preventDefault(),""!=$(".login-input-username-input",this).val().toLowerCase()?"juniper"!==$(".login-input-username-input",this).val().toLowerCase()?""!=$(".login-input-password-input",this).val()?$.e4eLogin.doLogin($(this),n.formSettings.redirectURL):$(".login-input-password-input",this).stop(!0,!0).animate({backgroundColor:"#FF5F5F"},200,(function(){$(this).animate({backgroundColor:"#ffffff"},200,(function(){$(this).animate({backgroundColor:"#FF5F5F"},200,(function(){$(this).animate({backgroundColor:"#ffffff"},200)}))}))})):window.location="/ssosp?internal=true":$(".login-input-username-input",this).stop(!0,!0).animate({backgroundColor:"#FF5F5F"},200,(function(){$(this).animate({backgroundColor:"#ffffff"},200,(function(){$(this).animate({backgroundColor:"#FF5F5F"},200,(function(){$(this).animate({backgroundColor:"#ffffff"},200)}))}))}))})),$(".admin_dialog_overlay").addClass("admin_dialog_overlay-fadein"),$(".admin_dialog_box").addClass("admin_dialog_box-slidein")},doClose:function(o){return $(".admin_dialog_box").removeClass("admin_dialog_box-slidein"),$(".admin_dialog_overlay").removeClass("admin_dialog_overlay-fadein"),setTimeout((function(){$("#admin_dialog").remove()}),1e3),this},doLogin:function(o,n){$(".login-post-message",o).remove(),o.closest(".admin_dialog_box").removeClass("admin_dialog_box-error"),"juniper"==$(".login-input-username-input",o).val()?$.ajax({url:"https://office.e4education.co.uk/autoLogin/home",dataType:"jsonp",type:"GET",success:function(n){!0===n.status?$.ajax({url:"/admin/login/login_ajax.asp",dataType:"json",data:{token:n.token},type:"POST",success:function(n){"success"==n.status||"Success"==n.status?($.e4eLogin.doError(o,"You have successfully logged in.",!0),$("body").css({cursor:"wait"}),currLocation=""+window.location,currLocation=currLocation.split("#")[0],currLocation=currLocation.split("&login=true")[0],window.location=currLocation):"disabled"==n.status?$.e4eLogin.doError(o,n.message,!1):($.e4eLogin.doError(o,"Sorry but either the email address or password you supplied doesn't match our records.<br>If you have recently updated your user account please try your email address.",!1),o.closest(".admin_dialog_box").addClass("admin_dialog_box-error"))},error:function(){$.e4eLogin.doError(o,"Sorry there was an error trying to log you in. Please try again.",!1),o.closest(".admin_dialog_box").addClass("admin_dialog_box-error")}}):($.e4eLogin.doError(o,"Sorry there was an error trying to log you in. Please try again.",!1),o.closest(".admin_dialog_box").addClass("admin_dialog_box-error"))},error:function(){$.e4eLogin.doError(o,"Sorry there was an error trying to log you in. Please try again.",!1),o.closest(".admin_dialog_box").addClass("admin_dialog_box-error")}}):$.ajax({url:"/users/login_ajax.asp",dataType:"json",data:{username:$(".login-input-username-input",o).val(),password:$(".login-input-password-input",o).val(),totp:$(".login-input-totp-input",o).val()},type:"POST",success:function(n){if("success"==n.status||"Success"==n.status){var e;$.e4eLogin.doError(o,"You have successfully logged in.",!0),$("body").css({cursor:"wait"});var i=window.location.search.match(/ssolink=([^&]+)/);i&&2===i.length?e="/admin/login/remote/link.asp?sso=1&link="+i[1]:n.redirect?e=n.redirect:-1===(e=(e=(e=null!=$("#loginRedirectURL",o).val()?$("#loginRedirectURL",o).val():""+window.location).split("#")[0]).split("&login=true")[0]).indexOf("postLogin=true")&&(e+=(e.indexOf("?")>-1?"&":"?")+"postLogin=true"),setTimeout((function(){window.location=e}),0)}else"totp_req"==n.status?$(".admin_field-totp").length<1&&$.e4eLogin.doShowTotp():"totp_fail"==n.status?($.e4eLogin.doError(o,"The 2FA code provided could not be validated, please try again or contact support if you continue to experience this problem.",!1),o.closest(".admin_dialog_box").addClass("admin_dialog_box-error")):"disabled"==n.status?$.e4eLogin.doError(o,n.message,!1):($.e4eLogin.doError(o,"Sorry but either the email address or password you supplied doesn't match our records.<br>If you have recently updated your user account please try your email address.",!1),o.closest(".admin_dialog_box").addClass("admin_dialog_box-error"))},error:function(n,e,i){$.e4eLogin.doError(o,"Sorry there was an error trying to log you in. Please try again. "+e+" - "+n.responseText,!1),o.closest(".admin_dialog_box").addClass("admin_dialog_box-error")}})},doError:function(o,n,e){$(".login-post-message").remove(),$(o).before($("<div />").addClass("login-post-message").show().append($("<div />").addClass("admin_message").addClass("admin_message-"+(e?"success":"error")).append(n)))},doShowTotp:function(){$(".login-input-login-button").parent().before($("<p />").addClass("admin_field").addClass("admin_field-icon").addClass("admin_field-totp").append($("<label />").append('<i class="fa fa-key" />').attr("for","login-input-totp"+$.e4eLogin.loginCount)).append($("<input />").addClass("login-input-totp-input").attr({id:"login-input-totp"+$.e4eLogin.loginCount,type:"text",name:"login-input-totp-field",placeholder:"2FA Code"})).append($("<p />").addClass("admin_email_totp_button").append($("<a />").attr({id:"cmdSendTotpEmail",href:"#"}).text("Send 2FA code by email").click((function(o){o.preventDefault(),$.ajax({url:"/users/login_ajax.asp?totpemail=true",dataType:"json",type:"POST",data:{username:$(".login-input-username-input","form.login-input-form").val()},success:function(o){"totp_email_sent"==o.status?$.e4eLogin.doError($("form.login-input-form"),"We&acute;ve sent your code to the email associated with the user account. Please ensure that <strong>noreply@juniperwebsites.co.uk</strong> is added to your safe senders list.",!0):$.e4eLogin.doError($("form.login-input-form"),o.message?o.message:"Sorry but we couldn&acute;t find the user specified.",!1)},error:function(){$.e4eLogin.doError("form.login-input-form","Sorry but we couldn&acute;t send your code, please try again.",!1)}})})))))},doForgotten:function(o){$.ajax({url:"/admin/login/password_reset.asp",dataType:"json",data:{username:$(".login-forgotten-input",o).val()},type:"POST",success:function(n){"success"==n.status?($(o)[0].children[1].style.display="none",$.e4eLogin.doError($(".login-forgotten-input",o),'<p>We&apos;ve sent a password reminder to the email associated with the user account. Please ensure that <strong>noreply@juniperwebsites.co.uk</strong> is added to your safe senders list.</p><p class="admin_field admin_field-btn"><button class="login-input-login-button login-input-login-return">Return to Login</button></p>',!0),$(".login-forgotten-input",o).hide(),$(".login-forgotten-button",o).hide(),$(".login-help-return").hide(),$(".login-input-login-return",o).on("click",(function(){$(".login-post-message").empty(),$(".login-forgotten-form").hide(),$(o)[0].children[1].style.display="block",$(".login-input-form").show(),$(".login-forgotten-input",o).show(),$(".login-forgotten-button",o).show(),$(".login-help-return").show()}))):$.e4eLogin.doError($(".login-forgotten-input",o),n.message?n.message:"Sorry but we couldn&acute;t find the user specified.",!1)},error:function(){$.e4eLogin.doError(o,"Sorry but we couldn&acute;t find the user specified.",!1)}})},rePosition:function(o){}};