141 lines
4.1 KiB
JavaScript
141 lines
4.1 KiB
JavaScript
var ls={};
|
|
$(function(){
|
|
|
|
ls.initLoginModel = function(){
|
|
|
|
function checkEmail(email){
|
|
var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i);
|
|
if(pattern.test(email)){
|
|
return true;
|
|
}else{
|
|
return false;
|
|
}
|
|
};
|
|
|
|
ko.bindingHandlers.enterkey = {
|
|
init: function (element, valueAccessor, allBindingsAccessor,viewModel) {
|
|
var allBindings = allBindingsAccessor()
|
|
|
|
$(element).keypress(function (event) {
|
|
var keyCode = (event.which ? event.which : event.keyCode);
|
|
if (keyCode === 13) {
|
|
allBindings.enterkey.call(viewModel, viewModel, event.target, element);
|
|
return false;
|
|
}
|
|
return true;
|
|
});
|
|
}
|
|
};
|
|
|
|
if (ls.LoginModel !== undefined){
|
|
ls.LoginModel.initModel();
|
|
}
|
|
else {
|
|
ls.LoginModel = {
|
|
welkomtekst : ko.observable(''),
|
|
gnaam : ko.observable(''),
|
|
wwoord : ko.observable(''),
|
|
email : ko.observable(''),
|
|
inloggen : ko.observable(true),
|
|
focusop : ko.observable(1),
|
|
|
|
|
|
initBindings :function(){
|
|
var self = ls.LoginModel;
|
|
if (!ko.dataFor(document.getElementById('pagLogin')) ) {
|
|
ko.applyBindings(ls.LoginModel, document.getElementById("pagLogin"));
|
|
}
|
|
self.initModel();
|
|
},
|
|
initModel: function(){
|
|
var self=ls.LoginModel;
|
|
var tijd= new Date();
|
|
self.welkomtekst("Welkom bij Radix");
|
|
if (tijd.getHours() >=0 && tijd.getHours() < 6) self.welkomtekst("Goedenacht, welkom bij MonPas");
|
|
if (tijd.getHours() >=6 && tijd.getHours() < 12) self.welkomtekst("Goedemorgen, welkom bij MonPas");
|
|
if (tijd.getHours() >=12 && tijd.getHours() < 18) self.welkomtekst("Goedemiddag, welkom bij MonPas");
|
|
if (tijd.getHours() >=18 && tijd.getHours() < 24) self.welkomtekst("Goedenavond, welkom bij MonPas");
|
|
},
|
|
fNieuwWachtwoord: function(){
|
|
var self=ls.LoginModel;
|
|
self.inloggen(false);
|
|
if (self.gnaam().length > 2) {self.focusop(4)}
|
|
else {self.focusop(3) };
|
|
},
|
|
fLogin: function(){
|
|
var self=ls.LoginModel;
|
|
if (self.gnaam().length<4) {
|
|
self.focusop(1);
|
|
return;}
|
|
if (self.wwoord().length<4) {
|
|
self.focusop(2);
|
|
return;}
|
|
var submitData={
|
|
gebruikersnaam: self.gnaam(),
|
|
wachtwoord: self.wwoord()
|
|
}
|
|
$.post("index.php/login/login", submitData, function(data){
|
|
if (!data || data == "geen rechten"){
|
|
if (data == "geen rechten") {
|
|
alert('U heeft geen (actieve) rechten binnen deze applicatie.');
|
|
}
|
|
else {
|
|
alert('Uw gebruikersnaam en/of wachtwoord wordt niet herkend.');
|
|
}
|
|
}
|
|
else {
|
|
self.fDoTwoFactor(data)
|
|
}
|
|
},'json');
|
|
},
|
|
|
|
fDoTwoFactor: function(hoe){
|
|
ls.initTwoFactorService(hoe, function(){
|
|
location.reload();
|
|
})
|
|
},
|
|
|
|
fNaarInlog: function(){
|
|
var self=ls.LoginModel;
|
|
self.inloggen(true);
|
|
if (self.gnaam().length > 2) {self.focusop(2)}
|
|
else {self.focusop(1) };
|
|
},
|
|
fMaakWwoord: function(){
|
|
var self=ls.LoginModel;
|
|
if (self.gnaam().length < 4){
|
|
self.focusop(3);
|
|
return;
|
|
}
|
|
if (self.email().length< 4 || !checkEmail(self.email()) ){
|
|
alert('Incorrect e-mailadres');
|
|
self.focusop(4);
|
|
return;
|
|
}
|
|
else{
|
|
var submitData={gnaam: self.gnaam(),
|
|
email: self.email()}
|
|
$.post('index.php/login/nieuwwachtwoord', submitData,function(result){
|
|
alert(result.errortekst);
|
|
if (result.status){
|
|
self.inloggen(true);
|
|
self.focusop(2);
|
|
}
|
|
},'json');
|
|
}
|
|
},
|
|
fZetFocus : function(){
|
|
var self=ls.LoginModel;
|
|
self.focusop(self.focusop() + 1);
|
|
if (self.focusop() > 4) self.focusop(1);
|
|
}
|
|
} ; // definition van model
|
|
ls.LoginModel.initBindings();
|
|
}; // else
|
|
}// function initLoginModel
|
|
});
|
|
|
|
|
|
$(document).ready(function(){
|
|
ls.initLoginModel();
|
|
}); // document ready function
|