Subversion Repositories Integrator Subversion

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1 espaco 1
var Login = function() {
2
 
3
    var handleLogin = function() {
4
 
5
        $('.login-form').validate({
6
            errorElement: 'span', //default input error message container
7
            errorClass: 'help-block', // default input error message class
8
            focusInvalid: false, // do not focus the last invalid input
9
            rules: {
10
                username: {
11
                    required: true
12
                },
13
                password: {
14
                    required: true
15
                },
16
                remember: {
17
                    required: false
18
                }
19
            },
20
 
21
            messages: {
22
                username: {
23
                    required: "Username is required."
24
                },
25
                password: {
26
                    required: "Password is required."
27
                }
28
            },
29
 
30
            invalidHandler: function(event, validator) { //display error alert on form submit   
31
                $('.alert-danger', $('.login-form')).show();
32
            },
33
 
34
            highlight: function(element) { // hightlight error inputs
35
                $(element)
36
                    .closest('.form-group').addClass('has-error'); // set error class to the control group
37
            },
38
 
39
            success: function(label) {
40
                label.closest('.form-group').removeClass('has-error');
41
                label.remove();
42
            },
43
 
44
            errorPlacement: function(error, element) {
45
                error.insertAfter(element.closest('.input-icon'));
46
            },
47
 
48
            submitHandler: function(form) {
49
                form.submit(); // form validation success, call ajax form submit
50
            }
51
        });
52
 
53
        $('.login-form input').keypress(function(e) {
54
            if (e.which == 13) {
55
                if ($('.login-form').validate().form()) {
56
                    $('.login-form').submit(); //form validation success, call ajax form submit
57
                }
58
                return false;
59
            }
60
        });
61
    }
62
 
63
    var handleForgetPassword = function() {
64
        $('.forget-form').validate({
65
            errorElement: 'span', //default input error message container
66
            errorClass: 'help-block', // default input error message class
67
            focusInvalid: false, // do not focus the last invalid input
68
            ignore: "",
69
            rules: {
70
                email: {
71
                    required: true,
72
                    email: true
73
                }
74
            },
75
 
76
            messages: {
77
                email: {
78
                    required: "Email is required."
79
                }
80
            },
81
 
82
            invalidHandler: function(event, validator) { //display error alert on form submit   
83
 
84
            },
85
 
86
            highlight: function(element) { // hightlight error inputs
87
                $(element)
88
                    .closest('.form-group').addClass('has-error'); // set error class to the control group
89
            },
90
 
91
            success: function(label) {
92
                label.closest('.form-group').removeClass('has-error');
93
                label.remove();
94
            },
95
 
96
            errorPlacement: function(error, element) {
97
                error.insertAfter(element.closest('.input-icon'));
98
            },
99
 
100
            submitHandler: function(form) {
101
                form.submit();
102
            }
103
        });
104
 
105
        $('.forget-form input').keypress(function(e) {
106
            if (e.which == 13) {
107
                if ($('.forget-form').validate().form()) {
108
                    $('.forget-form').submit();
109
                }
110
                return false;
111
            }
112
        });
113
 
114
        jQuery('#forget-password').click(function() {
115
            jQuery('.login-form').hide();
116
            jQuery('.forget-form').show();
117
        });
118
 
119
        jQuery('#back-btn').click(function() {
120
            jQuery('.login-form').show();
121
            jQuery('.forget-form').hide();
122
        });
123
 
124
    }
125
 
126
    var handleRegister = function() {
127
 
128
        function format(state) {
129
            if (!state.id) return state.text; // optgroup
130
            return "<img class='flag' src='../../assets/global/img/flags/" + state.id.toLowerCase() + ".png'/>&nbsp;&nbsp;" + state.text;
131
        }
132
 
133
        if (jQuery().select2) {
134
                $("#select2_sample4").select2({
135
                    placeholder: '<i class="fa fa-map-marker"></i>&nbsp;Select a Country',
136
                    allowClear: true,
137
                    formatResult: format,
138
                    formatSelection: format,
139
                    escapeMarkup: function(m) {
140
                        return m;
141
                    }
142
                });
143
 
144
 
145
                $('#select2_sample4').change(function() {
146
                    $('.register-form').validate().element($(this)); //revalidate the chosen dropdown value and show error or success message for the input
147
                });
148
        }
149
 
150
        $('.register-form').validate({
151
            errorElement: 'span', //default input error message container
152
            errorClass: 'help-block', // default input error message class
153
            focusInvalid: false, // do not focus the last invalid input
154
            ignore: "",
155
            rules: {
156
 
157
                fullname: {
158
                    required: true
159
                },
160
                email: {
161
                    required: true,
162
                    email: true
163
                },
164
                address: {
165
                    required: true
166
                },
167
                city: {
168
                    required: true
169
                },
170
                country: {
171
                    required: true
172
                },
173
 
174
                username: {
175
                    required: true
176
                },
177
                password: {
178
                    required: true
179
                },
180
                rpassword: {
181
                    equalTo: "#register_password"
182
                },
183
 
184
                tnc: {
185
                    required: true
186
                }
187
            },
188
 
189
            messages: { // custom messages for radio buttons and checkboxes
190
                tnc: {
191
                    required: "Please accept TNC first."
192
                }
193
            },
194
 
195
            invalidHandler: function(event, validator) { //display error alert on form submit   
196
 
197
            },
198
 
199
            highlight: function(element) { // hightlight error inputs
200
                $(element)
201
                    .closest('.form-group').addClass('has-error'); // set error class to the control group
202
            },
203
 
204
            success: function(label) {
205
                label.closest('.form-group').removeClass('has-error');
206
                label.remove();
207
            },
208
 
209
            errorPlacement: function(error, element) {
210
                if (element.attr("name") == "tnc") { // insert checkbox errors after the container                  
211
                    error.insertAfter($('#register_tnc_error'));
212
                } else if (element.closest('.input-icon').size() === 1) {
213
                    error.insertAfter(element.closest('.input-icon'));
214
                } else {
215
                    error.insertAfter(element);
216
                }
217
            },
218
 
219
            submitHandler: function(form) {
220
                form.submit();
221
            }
222
        });
223
 
224
        $('.register-form input').keypress(function(e) {
225
            if (e.which == 13) {
226
                if ($('.register-form').validate().form()) {
227
                    $('.register-form').submit();
228
                }
229
                return false;
230
            }
231
        });
232
 
233
        jQuery('#register-btn').click(function() {
234
            jQuery('.login-form').hide();
235
            jQuery('.register-form').show();
236
        });
237
 
238
        jQuery('#register-back-btn').click(function() {
239
            jQuery('.login-form').show();
240
            jQuery('.register-form').hide();
241
        });
242
    }
243
 
244
    return {
245
        //main function to initiate the module
246
        init: function() {
247
 
248
            handleLogin();
249
            handleForgetPassword();
250
            handleRegister();
251
 
252
        }
253
 
254
    };
255
 
256
}();