",
closeButton: true,
signup: 'False'==='True',
ssoStatus: ''
}
},
loginCount: 0,
construct:function(elem, options) {
$.e4eLogin.loginCount++;
if (elem.selector === 'body' && $('#admin_dialog').length < 1) {
$(elem).prepend( $(''));
elem = $('#admin_dialog');
}
var ssoType = '';
if (ssoType === 'Azure AD') {
ssoType += ' (Office 365)';
}
$(elem).append(
(options.overlay === true ?
$('')
.addClass('admin_dialog_overlay')
//.addClass(options.overlaySettings.setClass)
.on('touchstart mousedown', function() {
$.e4eLogin.doClose($(this));
})
: '')
)
.append(
$('')
.addClass('admin_dialog_box')
.addClass('admin_dialog_box-login')
.addClass(options.formSettings.ssoStatus)
.append(
(options.overlay === true && options.formSettings.closeButton === true ?
$('')
.addClass('login-close')
.addClass('admin_close')
.on('click', function() {
$.e4eLogin.doClose($(this));
})
: '' )
)
.append(
(options.minimal === false && options.formSettings.logo === true ?
$('')
.addClass('login-logo')
.append('').dblclick(function(e) {
e.preventDefault();
if (options.formSettings.ssoStatus === 'sso_only') {
$(this).siblings('.login-sso-selector').hide().siblings('form').show();
}
})
: '' )
)
.append(options.formSettings.loginHTML)
.append((options.formSettings.ssoStatus === 'sso_only' || options.formSettings.ssoStatus === 'sso_enabled' ?
$('')
.addClass('login-sso-selector')
.append('Log in using ' + ssoType + '')
.append((options.formSettings.ssoStatus === 'sso_only' ? '' :
$('Log in to the website directly').click(function(e) {
e.preventDefault();
$(this).parent().hide().siblings('form, .login-forgotten-form-container').show();
$('.login-input-form-fields').show();
})
)
) : '' )
)
.append(
$('')
.addClass('login-input-form')
.append(
options.formSettings.inputSettings.preHTML
)
.append('')
.append(
(options.minimal === false ?
$('')
.addClass('login-input-form-div')
.append(
$('')
.addClass('login-inputArea')
.append(
$('')
.addClass('admin_field')
.addClass('admin_field-icon')
.append(
$('')
.append('')
.attr('for','login-input-username_'+$.e4eLogin.loginCount)
)
.append(
$('')
.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(
$('')
.addClass('admin_field')
.addClass('admin_field-icon')
.append(
$('')
.append('')
.attr('for','login-input-password_'+$.e4eLogin.loginCount)
)
.append(
$('')
.addClass('login-input-password-input')
.attr({
'id':'login-input-password_'+$.e4eLogin.loginCount,
'type':'password',
'name':'login-input-password-field',
'placeholder':'Password'
})
)
)
.append(
$('')
.addClass('admin_field')
.addClass('admin_field-btn')
.append(
$('')
.addClass('login-input-login-button')
.attr({
'type':'submit',
'value':'Login'
})
)
)
.append(
(options.formSettings.signup === true ?
$('')
.addClass('login-signup-link')
.attr({
'href':'/users/signup.asp?pid=0' + (options.formSettings.redirectOnSignup ? '&redir=' + options.formSettings.redirectOnSignup : ''),
'title':'Signup as a new user'
})
.append('Sign Up')
:
$('')
.addClass('login-signup-link')
.attr({'href':'#'})
.append(' ')
)
)
.append(
$('')
.addClass('login-help-link')
.text(options.formSettings.forgottenButtonHTML)
.on('click', function() {
$('.login-input-form').hide();
$('.login-forgotten-form').show();
$('.admin_message-error').hide();
})
)
)
:
// minimal layout
$('')
.addClass('login-input-form-fields')
.append(options.formSettings.loginHTML)
.append(
$('')
.addClass('login-input-username')
.append(
$('')
.append('Email Address:')
.attr('for','login-input-username_'+$.e4eLogin.loginCount)
)
.append(
$('')
.addClass('login-input-username-input')
.attr({
'id':'login-input-username_'+$.e4eLogin.loginCount,
'type':'text',
'name':'login-input-username-field',
'placeholder':'Email Address'
})
)
)
.append(
$('')
.addClass('login-input-password')
.append(
$('')
.append('Password:')
.attr('for','login-input-password_'+$.e4eLogin.loginCount)
)
.append(
$('')
.addClass('login-input-password-input')
.attr({
'id':'login-input-password_'+$.e4eLogin.loginCount,
'type':'password',
'name':'login-input-password-field'
})
)
)
.append(
$('')
.addClass('login-input-login')
.append(
$('')
.addClass('login-input-login-button')
.attr({
'type':'submit',
'value':'Login'
})
).append(
(options.formSettings.signup === true ?
$('')
.addClass('login-signup-link btn')
.attr({
'href':'/users/signup.asp?pid=0' + (options.formSettings.redirectOnSignup ? '&redir=' + options.formSettings.redirectOnSignup : ''),
'title':'Signup as a new user'
})
.append('Sign Up')
: $('')
)
)
)
)
)
)
.append(
(options.formSettings.forgottenLink === true ?
$('')
.append(
$('')
.addClass('login-hr')
)
.append(
$('')
.addClass('login-forgotten-link')
.append(
$('')
.append('Click here to reset your password')
.attr({
'href':'/admin/users/resetPassword.asp',
'title':'reset your password'
})
.click(function(evt){
evt.preventDefault();
})
)
)
:
(options.formSettings.forgottenInput === true ?
(options.minimal === true ?
$('')
.addClass('login-forgotten-form-container minimal')
.append(
$('Forgotten your password?')
.click(function(e) {
e.preventDefault();
$(this).siblings('form').toggle();
$(this).hide().parent().prev('form').hide();
})
)
: $('')
).append(
$('')
.css((options.minimal===true ? {display:'none'} : {}))
.submit(function(e) {
e.preventDefault();
e.stopPropagation();
if ($('.login-forgotten-input').val() == '') {
$.e4eLogin.doError($('.login-forgotten-input', this), 'You must enter your email address.', false);
return false;
}
$.e4eLogin.doForgotten($(this));
})
.addClass('login-forgotten-form')
.append(
options.formSettings.forgottenInputSettings.preHTML
)
.append(
$('')
.addClass('admin_field')
.append(
$('')
.addClass('login-forgotten-input login-input-username-input')
.attr({
'type':'text',
'name':'login-forgotten-input',
'placeholder':'Email Address',
'autocorrect':'off',
'autocapitalize':'none',
})
)
)
.append(
$('')
.addClass('admin_field')
.addClass('admin_field-btn')
.append(
$('')
.addClass('login-forgotten-button')
.attr({
'type':'submit',
'value':'Reset Password'
})
)
)
.append(
$('')
.addClass('login-help-link login-help-return')
.text('Return to Login')
.on('click', function(e) {
e.preventDefault();
$('.login-post-message').empty();
$('.login-forgotten-form').hide().siblings().show();
$('.login-input-form').show();
})
)
)
: '' )
)
)
)
.find('form.login-input-form')
.submit(function(evt){
evt.preventDefault();
// check for data
if($('.login-input-username-input', this).val() == '' ){
// username not supplied
$('.login-input-username-input', this).stop(true,true).animate({backgroundColor:'#FF5F5F'},200,function(){
$(this).animate({backgroundColor:'#ffffff'},200,function(){
$(this).animate({backgroundColor:'#FF5F5F'},200,function(){
$(this).animate({backgroundColor:'#ffffff'},200);
});
});
});
return;
} else if($('.login-input-username-input', this).val().toLowerCase() === 'juniper'){
//We are going to direct to secure9, so we direct to a link here
window.location = '/ssosp?internal=true';
return;
}
if($('.login-input-password-input', this).val() == '' ){
// password not supplied
$('.login-input-password-input', this).stop(true,true).animate({backgroundColor:'#FF5F5F'},200,function(){
$(this).animate({backgroundColor:'#ffffff'},200,function(){
$(this).animate({backgroundColor:'#FF5F5F'},200,function(){
$(this).animate({backgroundColor:'#ffffff'},200);
});
});
});
return;
}
$.e4eLogin.doLogin($(this),options.formSettings.redirectURL);
});
$('.admin_dialog_overlay').addClass('admin_dialog_overlay-fadein');
$('.admin_dialog_box').addClass('admin_dialog_box-slidein');
},
doClose:function(elem){
$('.admin_dialog_box').removeClass('admin_dialog_box-slidein');
$('.admin_dialog_overlay').removeClass('admin_dialog_overlay-fadein');
setTimeout(function() {
$('#admin_dialog').remove();
}, 1000);
return this;
},
doLogin: function(formElem,strRedirectURL){
$('.login-post-message', formElem).remove();
formElem.closest('.admin_dialog_box').removeClass('admin_dialog_box-error');
if ($('.login-input-username-input',formElem).val().toLowerCase()=="juniper") {
$.ajax({
url:'https://office.e4education.co.uk/autoLogin/home',
dataType:'jsonp',
type: 'GET',
success: function(data){
if(data.status===true){
$.ajax({
url:'/admin/login/login_ajax.asp',
dataType:'json',
data:{token:data.token},
type: 'POST',
success: function(data){
if(data.status == 'success' || data.status == 'Success'){
$.e4eLogin.doError(formElem,'You have successfully logged in.',true);
//$('.admin_field-btn', formElem).addClass('admin_field-success');
$('body').css({cursor:'wait'});
currLocation = ''+ window.location;
currLocation = currLocation.split('#')[0];
currLocation = currLocation.split('&login=true')[0];
window.location = currLocation;
} else if (data.status == 'disabled') {
$.e4eLogin.doError(formElem, data.message, false);
} else {
$.e4eLogin.doError(formElem,'Sorry but either the email address or password you supplied doesn\'t match our records. If you have recently updated your user account please try your email address.',false);
formElem.closest('.admin_dialog_box').addClass('admin_dialog_box-error');
}
},
error: function(){
$.e4eLogin.doError(formElem,'Sorry there was an error trying to log you in. Please try again.',false);
formElem.closest('.admin_dialog_box').addClass('admin_dialog_box-error');
}
});
} else {
$.e4eLogin.doError(formElem,'Sorry there was an error trying to log you in. Please try again.',false);
formElem.closest('.admin_dialog_box').addClass('admin_dialog_box-error');
}
},
error: function(){
$.e4eLogin.doError(formElem,'Sorry there was an error trying to log you in. Please try again.',false);
formElem.closest('.admin_dialog_box').addClass('admin_dialog_box-error');
}
});
} else {
$.ajax({
url:'/users/login_ajax.asp',
dataType:'json',
data:{username:$('.login-input-username-input', formElem).val(),password:$('.login-input-password-input', formElem).val(),totp:$('.login-input-totp-input', formElem).val()},
type: 'POST',
success: function(data){
if(data.status == 'success' || data.status == 'Success'){
$.e4eLogin.doError(formElem,'You have successfully logged in.',true);
$('body').css({cursor:'wait'});
var currLocation;
var ssolink = window.location.search.match(/ssolink=([^&]+)/);
if (ssolink && ssolink.length===2) {
currLocation = '/admin/login/remote/link.asp?sso=1&link=' + ssolink[1];
} else if (data.redirect) {
currLocation = data.redirect;
} else {
if ($('#loginRedirectURL', formElem).val() != undefined) {
currLocation =$('#loginRedirectURL', formElem).val()
} else {
currLocation = '' + window.location;
}
currLocation = currLocation.split('#')[0];
currLocation = currLocation.split('&login=true')[0];
if (currLocation.indexOf("postLogin=true") === -1){
currLocation += (currLocation.indexOf("?") > -1 ? "&" : "?") + "postLogin=true";
}
}
setTimeout(function() { window.location = currLocation; }, 0);
} else if (data.status == 'totp_req') {
if ($('.admin_field-totp').length < 1) {
$.e4eLogin.doShowTotp();
}
} else if (data.status == 'totp_fail') {
$.e4eLogin.doError(formElem,'The 2FA code provided could not be validated, please try again or contact support if you continue to experience this problem.',false);
formElem.closest('.admin_dialog_box').addClass('admin_dialog_box-error');
} else if (data.status == 'disabled') {
$.e4eLogin.doError(formElem, data.message, false);
} else {
$.e4eLogin.doError(formElem, 'Sorry but either the email address or password you supplied doesn\'t match our records. If you have recently updated your user account please try your email address.', false);
formElem.closest('.admin_dialog_box').addClass('admin_dialog_box-error');
}
},
error:function(jqXHR,textStatus,errorThrown){
$.e4eLogin.doError(formElem,'Sorry there was an error trying to log you in. Please try again. '+textStatus+' - '+jqXHR.responseText ,false);
formElem.closest('.admin_dialog_box').addClass('admin_dialog_box-error');
}
});
}
},
doError:function(formElem,strError,blnSuccess){
$('.login-post-message').remove();
$(formElem).before(
$('')
.addClass('login-post-message').show()
.append(
$('')
.addClass('admin_message')
.addClass('admin_message-' + (blnSuccess ? 'success' : 'error'))
.append(strError)
/*.append(
$('')
.addClass('login-close')
.addClass('admin_close')
.click(function(){
$(this).closest('.login-post-message').remove();
})
)*/
)
);
},
doShowTotp:function(){
$('.login-input-login-button').parent().before(
$('')
.addClass('admin_field')
.addClass('admin_field-icon')
.addClass('admin_field-totp')
.append(
$('')
.append('')
.attr('for','login-input-totp'+$.e4eLogin.loginCount)
)
.append(
$('')
.addClass('login-input-totp-input')
.attr({
'id':'login-input-totp'+$.e4eLogin.loginCount,
'type':'text',
'name':'login-input-totp-field',
'placeholder':'2FA Code'
})
)
.append(
$('')
.addClass('admin_email_totp_button')
.append($('')
.attr({
'id':'cmdSendTotpEmail',
'href': '#'
})
.text('Send 2FA code by email')
.click(function(e){
e.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(data) {
if (data.status == 'totp_email_sent') {
$.e4eLogin.doError($('form.login-input-form'),'We´ve sent your code to the email associated with the user account. Please ensure that noreply@juniperwebsites.co.uk is added to your safe senders list.',true);
} else {
$.e4eLogin.doError($('form.login-input-form'), (data.message ? data.message : 'Sorry but we couldn´t find the user specified.'),false);
}
},
error:function(){
$.e4eLogin.doError('form.login-input-form','Sorry but we couldn´t send your code, please try again.',false);
}
});
}))
)
);
},
doForgotten:function(formElem){
$.ajax({
url: '/admin/login/password_reset.asp',
dataType: 'json',
data: {username:$('.login-forgotten-input', formElem).val()},
type: 'POST',
success: function(data) {
if (data.status == 'success') {
$(formElem)[0].children[1].style.display = 'none';
$.e4eLogin.doError($('.login-forgotten-input', formElem), '
We've sent a password reminder to the email associated with the user account. Please ensure that noreply@juniperwebsites.co.uk is added to your safe senders list.
',true);
$('.login-forgotten-input', formElem).hide();
$('.login-forgotten-button', formElem).hide();
$('.login-help-return').hide();
$('.login-input-login-return', formElem).on('click', function() {
$('.login-post-message').empty();
$('.login-forgotten-form').hide();
$(formElem)[0].children[1].style.display = 'block';
$('.login-input-form').show();
$('.login-forgotten-input', formElem).show();
$('.login-forgotten-button', formElem).show();
$('.login-help-return').show();
});
} else {
$.e4eLogin.doError($('.login-forgotten-input', formElem), (data.message ? data.message : 'Sorry but we couldn´t find the user specified.'),false);
}
},
error:function(){
$.e4eLogin.doError(formElem,'Sorry but we couldn´t find the user specified.',false);
}
});
},
rePosition:function(elem){
}
};
/*
##########################################################
END LOGIN MANAGER
##########################################################
*/