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