text: "use strict";
  
  // Class Definition
  var KTLoginGeneral = function() {
  
      var login = $('#kt_login');
  
      var showErrorMsg = function(form, type, msg) {
          var alert = $('<div class="kt-alert kt-alert--outline alert alert-' + type + ' alert-dismissible" role="alert">\
  			<button type="button" class="close" data-dismiss="alert" aria-label="Close"></button>\
  			<span></span>\
  		</div>');
  
          form.find('.alert').remove();
          alert.prependTo(form);
          //alert.animateClass('fadeIn animated');
          KTUtil.animateClass(alert[0], 'fadeIn animated');
          alert.find('span').html(msg);
      }
  
      // Private Functions
      var displaySignUpForm = function() {
          login.removeClass('kt-login--forgot');
          login.removeClass('kt-login--signin');
  
          login.addClass('kt-login--signup');
          KTUtil.animateClass(login.find('.kt-login__signup')[0], 'flipInX animated');
      }
  
      var displaySignInForm = function() {
          login.removeClass('kt-login--forgot');
          login.removeClass('kt-login--signup');
  
          login.addClass('kt-login--signin');
          KTUtil.animateClass(login.find('.kt-login__signin')[0], 'flipInX animated');
          //login.find('.kt-login__signin').animateClass('flipInX animated');
      }
  
      var displayForgotForm = function() {
          login.removeClass('kt-login--signin');
          login.removeClass('kt-login--signup');
  
          login.addClass('kt-login--forgot');
          //login.find('.kt-login--forgot').animateClass('flipInX animated');
          KTUtil.animateClass(login.find('.kt-login__forgot')[0], 'flipInX animated');
      }
  
      var handleFormSwitch = function() {
          $('#kt_login_forgot').click(function(e) {
              e.preventDefault();
              displayForgotForm();
          });
  
          $('#kt_login_forgot_cancel').click(function(e) {
              e.preventDefault();
              displaySignInForm();
          });
  
          $('#kt_login_signup').click(function(e) {
              e.preventDefault();
              displaySignUpForm();
          });
  
          $('#kt_login_signup_cancel').click(function(e) {
              e.preventDefault();
              displaySignInForm();
          });
      }
  
      var handleSignInFormSubmit = function() {
          $('#kt_login_signin_submit').click(function(e) {
              e.preventDefault();
              var btn = $(this);
              var form = $(this).closest('form');           
  
              form.validate({
                  rules: {
                      email: {
                          required: true,
                          email: true
                      },
                      password: {
                          required: true
                      }
                  }
              });
  
              if (!form.valid()) {
                  return;
              }
  
              form.submit();
          });
      }
  
      var handleSignUpFormSubmit = function() {
          $('#kt_login_signup_submit').click(function(e) {
              e.preventDefault();
  
              var btn = $(this);
              var form = $(this).closest('form');
  
              form.validate({
                  rules: {
                      fullname: {
                          required: true
                      },
                      email: {
                          required: true,
                          email: true
                      },
                      password: {
                          required: true
                      },
                      rpassword: {
                          required: true
                      },
                      agree: {
                          required: true
                      }
                  }
              });
  
              if (!form.valid()) {
                  return;
              }
  
              form.submit();
          });
      }
  
      var handleForgotFormSubmit = function() {
          $('#kt_login_forgot_submit').click(function(e) {
              e.preventDefault();
  
              var btn = $(this);
              var form = $(this).closest('form');
  
              form.validate({
                  rules: {
                      email: {
                          required: true,
                          email: true
                      }
                  }
              });
  
              if (!form.valid()) {
                  return;
              }
  
              form.submit();
          });
      }
  
      var handlePasswordChangeFormSubmit = function() {
          $('#kt_login_change_password_submit').click(function(e) {
              e.preventDefault();
  
              var btn = $(this);
              var form = $(this).closest('form');
  
              form.validate({
                  rules: {
                      email: {
                          required: true,
                          email: true
                      },
                      password: {
                          required: true
                      },
                      rpassword: {
                          required: true
                      },
                  }
              });
  
              if (!form.valid()) {
                  return;
              }
  
              form.submit();
          });
      }
  
      // Public Functions
      return {
          // public functions
          init: function() {
              handleFormSwitch();
              handleSignInFormSubmit();
              handleSignUpFormSubmit();
              handleForgotFormSubmit();
              handlePasswordChangeFormSubmit();
  
              var current_page_object = document.getElementById("last_clicked_page");
  
              if(current_page_object){
                  var current_page = document.getElementById("last_clicked_page").value;
  
                  if(current_page == "register"){
                      displaySignUpForm();
                  }else if(current_page == "signin"){
                      displaySignInForm();
                  }else if(current_page == "forget"){
                      displayForgotForm();
                  }
              }
          }
      };
  }();
  
  // Class Initialization
  jQuery(document).ready(function() {
      KTLoginGeneral.init();
  });