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