var Login = function () { var handleLogin = function() { $('.login-form').ajaxForm({ dataType: 'json', beforeSubmit: function(){ if(!$('.login-form').validate().form()) { return false; } Metronic.blockUI({message: 'LOADING...', textOnly:true}); }, success: function(response){ Metronic.unblockUI(); if(response.data.message !== 'ok') { $.notify(response.data.message, 'danger'); } else { window.location.replace(MC.baseUrl); } } }); $('.login-form input').keypress(function (e) { if (e.which == 13) { if ($('.login-form').validate().form()) { $('.login-form').submit(); //form validation success, call ajax form submit } return false; } }); } var handleForgetPassword = function () { var h = window.location.hash; if(h == '#forget-password') { jQuery('.login-form').hide(); jQuery('.forget-form').show(); } $('.reset-form').ajaxForm({ dataType: 'json', beforeSubmit: function(){ if(!$('.reset-form').validate().form()) { return false; } //Metronic.blockUI({message: 'LOADING...', textOnly:true}); }, success: function(data){ Metronic.unblockUI(); $.notify(data.message, data.status); if(data.status == 'success') { //setTimeout(function(){window.location.replace(MC.baseUrl+'user/login')}, 1500); } } }); $('.forget-code-form').ajaxForm({ dataType: 'json', success: function(data){ if(data.message == 'ok') { $('.forget-code-form').hide(); $('.reset-form').removeClass('hide'); } else { $.notify(data.message, data.status); } } }); $('.forget-form').ajaxForm({ dataType: 'json', beforeSubmit: function(){ if(!$('.forget-form').validate().form()) { return false; } $('.loading-sent-email').show(); }, success: function(response){ if(response.errors) { $.notify(response.errors.message, 'error'); }else { $.notify(response.data.message, 'success'); setTimeout(function() { window.location = MC.baseUrl + 'login'; }, 3000); } $('.loading-sent-email').hide(); } }); $('.forget-form').validate({ errorElement: 'span', //default input error message container errorClass: 'help-block', // default input error message class focusInvalid: false, // do not focus the last invalid input ignore: "", rules: { email: { required: true, email: true }, captcha: { required: true } }, messages: { email: { required: "Email required", email: "Email is not valid" }, captcha: { required: "Please enter character on the box" } }, highlight: function (element) { // hightlight error inputs $(element) .closest('.form-group').addClass('has-error'); // set error class to the control group }, success: function (label) { label.closest('.form-group').removeClass('has-error'); label.remove(); }, errorPlacement: function (error, element) { error.insertAfter(element.closest('.input-icon')); }, }); $('.forget-form input').keypress(function (e) { if (e.which == 13) { if ($('.forget-form').validate().form()) { $('.forget-form').submit(); } return false; } }); jQuery('#forget-password').click(function () { jQuery('.login-form').hide(); jQuery('.forget-form').show(); }); jQuery('#back-btn').click(function () { jQuery('.login-form').show(); jQuery('.forget-form').hide(); }); } var handleRegister = function () { $('.register-form').ajaxForm({ dataType: 'json', beforeSubmit: function(){ if(!$('.register-form').validate().form()) { return false; } Metronic.blockUI({message: 'LOADING...', textOnly:true}); }, success: function(data){ Metronic.unblockUI(); $.notify(data.message, data.status); if(data.status == 'success') { setTimeout(function(){window.location.replace(MC.baseUrl)}, 1500); } } }); $("#select2_sample4").select2({ placeholder: ' Jenis Kelamin', //allowClear: true, showSearchInput: false, escapeMarkup: function (m) { return m; } }); $('#select2_sample4').change(function () { $('.register-form').validate().element($(this)); //revalidate the chosen dropdown value and show error or success message for the input }); $('.select2-search').hide(); $('.register-form').validate({ errorElement: 'span', //default input error message container errorClass: 'help-block', // default input error message class focusInvalid: false, // do not focus the last invalid input ignore: "", rules: { nip: { required: true }, realname: { required: true }, email: { required: true, email: true }, jenis_kelamin: { required: true }, username: { required: true }, password: { required: true }, rpassword: { equalTo: "#register_password" }, captcha : { required: true } }, messages: { // custom messages for radio buttons and checkboxes realname: { required: "Nama Lengkap harus diisi" }, nip: { required: "Nip harus diisi" }, email: { required: "Email harus diisi" }, jenis_kelamin: { required: "jenis Kelamin harus diisi" }, password: { required: "Kata Sandi harus diisi" }, username: { required: "Nama Pengguna harus diisi" }, rpassword: { equalTo: "Konfirmasi Kata Sandi tidak cocok" }, captcha: { required: "Silahkan masukkan karakter di atas" } }, invalidHandler: function (event, validator) { //display error alert on form submit }, highlight: function (element) { // hightlight error inputs $(element) .closest('.form-group').addClass('has-error'); // set error class to the control group }, success: function (label) { label.closest('.form-group').removeClass('has-error'); label.remove(); }, errorPlacement: function (error, element) { if (element.attr("name") == "tnc") { // insert checkbox errors after the container error.insertAfter($('#register_tnc_error')); } else if (element.closest('.input-icon').size() === 1) { error.insertAfter(element.closest('.input-icon')); } else { error.insertAfter(element); } }, }); $('.register-form input').keypress(function (e) { if (e.which == 13) { if ($('.register-form').validate().form()) { $('.register-form').submit(); } return false; } }); jQuery('#register-btn').click(function () { jQuery('.login-form').hide(); jQuery('.register-form').show(); }); jQuery('#register-back-btn').click(function () { jQuery('.login-form').show(); jQuery('.register-form').hide(); }); } return { //main function to initiate the module init: function () { handleLogin(); handleForgetPassword(); handleRegister(); } }; }();