1/** 2 * This file contains validation and AJAX script relate to Login, Register and Forgot Password forms 3 */ 4(function ($) { 5 "use strict"; 6 7 /** 8 * Modal dialog for Login and Register 9 */ 10 $('.activate-section').click(function(e){ 11 e.preventDefault(); 12 var $this = $(this); 13 var target_section = $this.data('section'); 14 $this.closest('.modal-section').hide(); 15 $this.closest('.forms-modal').find('.'+target_section).show(); 16 }); 17 18 if ( jQuery().validate && jQuery().ajaxSubmit ) { 19 20 /** 21 * AJAX Login Form 22 */ 23 24 var loginButton = $('#login-button'), 25 loginAjaxLoader = $('#login-loader'), 26 loginError = $("#login-error" ), 27 loginMessage = $('#login-message'); 28 29 var loginOptions = { 30 beforeSubmit: function () { 31 loginMessage.fadeOut( 50 ); 32 loginError.fadeOut( 50 ); 33 loginButton.attr('disabled', 'disabled'); 34 loginAjaxLoader.fadeIn( 200 ); 35 }, 36 success: function (ajax_response, statusText, xhr, $form) { 37 var response = $.parseJSON( ajax_response ); 38 loginAjaxLoader.fadeOut( 100 ); 39 loginButton.removeAttr('disabled'); 40 if ( response.success ) { 41 loginMessage.html( response.message ).fadeIn( 200 ); 42 if ( window.location.href == response.redirect ) { 43 window.location.reload( true ); 44 } else { 45 window.location.replace( response.redirect ); 46 } 47 } else { 48 loginError.html( response.message ).fadeIn( 200 ); 49 50 // call reset function if it exists 51 if (typeof inspiryResetReCAPTCHA == 'function') { 52 inspiryResetReCAPTCHA(); 53 } 54 } 55 } 56 }; 57 58 $('#login-form').validate({ 59 submitHandler: function ( form ) { 60 $(form).ajaxSubmit( loginOptions ); 61 } 62 }); 63 64 65 /** 66 * AJAX Register Form 67 */ 68 var registerButton = $('#register-button'), 69 registerAjaxLoader = $('#register-loader'), 70 registerError = $("#register-error" ), 71 registerMessage = $('#register-message'); 72 73 var registerOptions = { 74 beforeSubmit: function () { 75 registerButton.attr('disabled', 'disabled'); 76 registerAjaxLoader.fadeIn('fast'); 77 registerMessage.fadeOut('fast'); 78 registerError.fadeOut('fast'); 79 }, 80 success: function (ajax_response, statusText, xhr, $form) { 81 var response = $.parseJSON( ajax_response ); 82 registerAjaxLoader.fadeOut('fast'); 83 registerButton.removeAttr('disabled'); 84 if ( response.success ) { 85 registerMessage.html( response.message ).fadeIn('fast'); 86 $form.resetForm(); 87 } else { 88 registerError.html( response.message ).fadeIn('fast'); 89 90 // call reset function if it exists 91 if (typeof inspiryResetReCAPTCHA == 'function') { 92 inspiryResetReCAPTCHA(); 93 } 94 95 } 96 } 97 }; 98 99 $('#register-form').validate({ 100 rules: { 101 register_username: { 102 required: true 103 }, 104 register_email: { 105 required: true, 106 email: true 107 } 108 }, 109 submitHandler: function ( form ) { 110 $(form).ajaxSubmit( registerOptions ); 111 } 112 }); 113 114 115 /** 116 * Forgot Password Form 117 */ 118 var forgotButton = $('#forgot-button'), 119 forgotAjaxLoader = $('#forgot-loader'), 120 forgotError = $("#forgot-error" ), 121 forgotMessage = $('#forgot-message'); 122 123 var forgotOptions = { 124 beforeSubmit: function () { 125 forgotButton.attr('disabled', 'disabled'); 126 forgotAjaxLoader.fadeIn('fast'); 127 forgotMessage.fadeOut('fast'); 128 forgotError.fadeOut('fast'); 129 }, 130 success: function (ajax_response, statusText, xhr, $form) { 131 var response = $.parseJSON( ajax_response ); 132 forgotAjaxLoader.fadeOut('fast'); 133 forgotButton.removeAttr('disabled'); 134 if ( response.success ) { 135 forgotMessage.html( response.message ).fadeIn('fast'); 136 $form.resetForm(); 137 } else { 138 forgotError.html( response.message ).fadeIn('fast'); 139 140 // call reset function if it exists 141 if (typeof inspiryResetReCAPTCHA == 'function') { 142 inspiryResetReCAPTCHA(); 143 } 144 } 145 } 146 }; 147 148 $('#forgot-form').validate({ 149 submitHandler: function ( form ) {
150 $(form).ajaxSubmit( forgotOptions ); 151 } 152 }); 153 154 } 155 156 157 /** 158 * Forgot Form 159 */ 160 $('.login-register #forgot-form').slideUp('fast'); 161 $('.login-register .toggle-forgot-form').click(function(event){ 162 event.preventDefault(); 163 $('.login-register #forgot-form').slideToggle('fast'); 164 }); 165 166})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.