var Login = function () {
var handleLogin = function() {
$('.login-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
rules: {
username: {
required: true
},
password: {
required: true
},
remember: {
required: false
}
},
messages: {
username: {
required: "Username is required."
},
password: {
required: "Password is required."
}
},
invalidHandler: function (event, validator) { //display error alert on form submit
$('.alert-danger', $('.login-form')).show();
},
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'));
},
submitHandler: function (form) {
form.submit();
}
});
$('.login-form input').keypress(function (e) {
if (e.which == 13) {
if ($('.login-form').validate().form()) {
$('.login-form').submit();
}
return false;
}
});
}
var handleForgetPassword = function () {
$('.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
}
},
messages: {
email: {
required: "Email is required."
}
},
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) {
error.insertAfter(element.closest('.input-icon'));
},
submitHandler: function (form) {
form.submit();
}
});
$('.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 handleContact = function (){
$('.contact-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: {
name: {
required: true
},
email: {
required: true,
email: true
},
subject: {
required: true
},
message: {
required: true
}
},
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) {
error.insertAfter(element);
},
submitHandler: function (form) {
form.submit();
}
});
$('.contact-form input').keypress(function (e) {
if (e.which == 13) {
if ($('.contact-form').validate().form()) {
$('.contact-form').submit();
}
return false;
}
});
}
var handleRegister = function () {
function format(state) {
if (!state.id) { return state.text; }
var $state = $(
' ' + state.text + ''
);
return $state;
}
if (jQuery().select2 && $('#country_list').size() > 0) {
$("#country_list").select2({
placeholder: ' Seleccione su PaĆs',
templateResult: format,
templateSelection: format,
width: 'auto',
escapeMarkup: function(m) {
return m;
}
});
$('#country_list').change(function() {
$('.register-form').validate().element($(this)); //revalidate the chosen dropdown value and show error or success message for the input
});
}
$('.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: {
fullname: {
required: true
},
email: {
required: true,
email: true
},
address: {
required: true
},
city: {
required: true
},
country: {
required: true
},
username: {
required: true
},
password: {
required: true
},
rpassword: {
equalTo: "#register_password"
},
tnc: {
required: true
}
},
messages: { // custom messages for radio buttons and checkboxes
tnc: {
required: "Please accept TNC first."
}
},
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);
}
},
submitHandler: function (form) {
form.submit();
}
});
$('.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(); // Login
handleForgetPassword(); // Solicitar Clave
handleRegister(); // Solicitar para Escuela
handleContact(); // Formulario de Contacto
// init background slide images
//$.backstretch([
$("#header").backstretch([
"https://i.imgur.com/nAXIGyM.jpg",
"https://i.imgur.com/Y5BQKUI.jpg",
"https://i.imgur.com/pmyrqAX.jpg",
"https://i.imgur.com/zAJgb1J.jpg",
"https://i.imgur.com/uBoH6yz.jpg",
"https://i.imgur.com/R1VjDNq.jpg",
"https://i.imgur.com/EEbzHhi.jpg",
"https://i.imgur.com/nLxgcdn.jpg",
"https://i.imgur.com/KJT5fUy.jpg",
"https://i.imgur.com/QB8oD9Q.jpg",
"https://i.imgur.com/nIVSgvC.jpg",
"https://i.imgur.com/YOUuXAz.jpg",
"https://i.imgur.com/y6iPvpI.jpg",
"https://i.imgur.com/glaCCTt.jpg",
"https://i.imgur.com/3dlXaKC.jpg",
"https://i.imgur.com/OYuNPeU.jpg" ], {
fade: 1000,
duration: 5000
}
);
}
};
}();
jQuery(document).ready(function() {
Login.init();
});