PageSourceSearch

https://vuekinas.lt/assets/js/backend-app.js?v=67347

js vuekinas.lt collected 2026-10-09 17:07:50 UTC 16,318 bytes, 464 lines download raw bytes

1
2( function ( w, $ ) {
3    w.app = w.app || {};
4    w.app.backend = w.app.backend || {};
5
6    var UserService = {
7
8        init: function () {
9            this.initResetForm();
10            this.initForgetPassForm();
11            this.initActivationForm();
12            this.initLoginAgreementsForm();
13            this.initDisableGtmForm();
14        },
15
16        initResetForm : function() {
17            var form = document.getElementById("password-reset-form"),
18                moredata = '';
19            if (form && form.getAttribute('data-token-userid-needed')) {
20                moredata = this.getTokenAndUserId();
21            } else if (form && form.getAttribute('data-token-needed')) {
22                moredata = this.getToken();
23            }
24            
25            $('#reset-btn').off("click").on("click", function (event) {
26                event.preventDefault();
27
28                var formId = "#password-reset-form";
29
30                var jqxhr = $.ajax({
31                    method: "POST",
32                    url: $(formId).attr('action'),
33                    data: $(formId).serialize() + moredata
34                })
35                .done(function (data) {
36                    $(formId).replaceWith(data);
37
38                    app.backend.UserService.initResetForm();
39                    window.app.forms.password_fields();
40                })
41                .fail(function () {
42
43                })
44                .always(function () {
45
46                });
47            });
48        },
49
50        initForgetPassForm: function () {
51            $('#forget-pass-btn').off("click").on("click", function (event) {
52                event.preventDefault();
53
54                var formId = "#forget-pass-btn";
55
56                var jqxhr = $.ajax({
57                    method: "POST",
58                    url: $(formId).attr('action'),
59                    data: $(formId).serialize()
60                })
61                .done(function (data) {
62                    $(formId).replaceWith(data);
63
64                    app.backend.UserService.initForgetPassForm();
65                    window.app.forms.password_fields();
66                })
67                .fail(function () {
68
69                })
70                .always(function () {
71
72                });
73            });
74        },
75
76        initDisableGtmForm: function () {
77            $('#form-disablegtm-submit').off("click").on("click", function (event) {
78                event.preventDefault();
79
80                if (!$("#disablegtm").is(':checked')) {
81                    return;
82                }
83
84                var disablegtm = $("#disablegtm").is(':checked');
85
86                var stateDisabled = (document.cookie.indexOf("disabledGTM=true") != -1)
87
88                if (!stateDisabled) {
89                    var d = new Date();
90                    d.setTime(d.getTime() + (10 * 356 * 24 * 60 * 60 * 1000));
91                    var expires = "expires=" + d.toUTCString();
92                    document.cookie = "disabledGTM=true;" + expires + ";path=/";
93                }
94                else
95                {
96                    document.cookie = "disabledGTM=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
97                }       
98
99                $('#form-disablegtm').hide();
100                $('#gtm-info').show();
101            });
102
103            if (document.cookie.indexOf("disabledGTM") != -1) {
104                $('#gtm-disable-info').hide();
105                $('#gtm-enable-info').show();
106            }
107            else {
108                $('#gtm-disable-info').show();
109                $('#gtm-enable-info').hide();
110            }
111
112            $('#disablegtm').on('change', function (event) {
113                if ($("#disablegtm").is(':checked')) {
114                    $('#form-disablegtm-submit').prop("disabled", false);
115                }
116                else {
117                    $('#form-disablegtm-submit').prop("disabled", true);
118                }
119            });
120
121            $('#gtm-main-div').show();
122
123        },
124
125        initActivationForm: function () {
126            $('#account-activation-btn').off("click").on("click", function (event) {
127                event.preventDefault();
128
129                app.backend.UserService.processActivationForm("#account-activation-form");
130            });
131        },
132
133        initLoginAgreementsForm: function () {
134            app.backend.UserService.processLoginAgreementsForm("#account-login-agreements-form");
135        },
136
137        initRegisterFB: function (handlerSuccess, handlerError) {
138            try {
139                FB.login(function (response) {
140                    console.log(response);
141
142                    if (response.authResponse) {
143                        // user sucessfully logged in
144                        var accessToken = response.authResponse.accessToken;
145
146                        FB.api('/me?fields=id,email,first_name,last_name,picture.width(100).height(100)', function (response) {
147                            handlerSuccess( accessToken, response);
148                        });
149
150                    }
151                    else {
152                        handlerError(window.app.global.labeldata.errorMsg.registrationForm["socialAuthorize" ]);
153                    }
154                }, { scope: 'email' });
155            }
156            catch (ex) {
157                handlerError(window.app.global.labeldata.errorMsg.OnFail);
158            }
159        },
160
161        initLoginFB: function (url, handlerSuccess, handleError) {
162            try {
163                FB.login(function (response) {
164            
165                    if (response.authResponse) {
166                        // user sucessfully logged in
167                        var accessToken = response.authResponse.accessToken;
168                        var uid = response.authResponse.userID;
169
170                        app.backend.UserService.loginFB(url, uid, accessToken, handlerSuccess, handleError);
171                    }
172                }, { scope: 'email' });
173            }
174            catch (ex) {
175                handleError( );
176            }
177        },
178
179        loginFB : function(url, uid, accessToken, handlerSuccess, handleError) {
180
181            var postdata = {
182                token: accessToken,
183                socialid: uid,
184                type: "fb"
185            };
186
187            var jqxhr = $.ajax({
188                method: "POST",
189                url: url,
190                data: postdata
191            })
192            .done(function (data) {
193
194                data.token = postdata.token;
195                data.socialid = postdata.socialid;
196                data.type = postdata.type;
197                
198                if (data.error != "0") {
199                    FB.api('/me?fields=id,email,first_name,last_name,picture.width(100).height(100)', function (response) {
200                        data.user = response;
201                        handleError(data);
202                    });
203                } else {
204                    handlerSuccess(data);
205                }
206            })
207            .fail(function () {
208                handleError();
209            })
210        },
211
212        loginGoogle: function (url, googleUser, handlerSuccess, handleError) {
213            var profile = googleUser.getBasicProfile();
214
215            var postdata = {
216                token : googleUser.getAuthResponse().id_token,
217                socialid : profile.getId(),
218                type : "g",
219                thumbURL: profile.getImageUrl() || ""
220            };
221
222            var jqxhr = $.ajax({
223                method: "POST",
224                url: url,
225                data: postdata
226            })
227            .done(function (data) {
228
229                data.token = postdata.token;
230                data.socialid = postdata.socialid;
231                data.type = postdata.type;
232
233                if (data.error != "0") {
234                    if (data.error != 3) {
235                        try {
236                            var adobeErrorMessage = (data.message) ? data.message : '';
237                            _satellite.track("error", { errormessage: `login google|${data.error}|${adobeErrorMessage}` });
238                        }
239                        catch (error) {
240                            console.log(error);
241                        }
242                    }
243
244                    handleError(data);
245                }
246                else {
247                    try {
248                        _satellite.track("login", { logintype: 'g' });
249                    }
250                    catch (error) {
251                        console.log(error);
252                    }
253
254                    handlerSuccess(data);
255                }
256            })
257            .fail(function () {
258                handleError();
259            });
260        },
261
262        processLoginAgreementsForm: function (dataFormId) {
263
264            var formId = dataFormId;
265
266            var formOpt = {
267          
268                errorClass: 'form__field--error',
269                errorPlacement: function errorPlacement(error, element) {
270            
271            },
272            highlight: function highlight(element, errorClass, validClass) {
273                $(element).closest('.form__field').addClass(errorClass);
274            },
275            unhighlight: function unhighlight(element, errorClass, validClass) {
276                $(element).closest('.form__field').removeClass(errorClass).parent().find('.field--error').removeClass('field--error');
277            },
278            submitHandler: function submitHandler(form) {
279            
280                window.app.loader.start();
281
282                var formData = {
283                    __RequestVerificationToken: $(formId).find("input[name='__RequestVerificationToken']").val(),
284                    Token: $(formId).find("input[name='Token']").val(),
285                    AgreementMarketing: $(formId).find("input[name='marketing']").is(':checked') ? "on" : "",
286                    AgreementPartners: $(formId).find("input[name='partners']").is(':checked') ? "on" : "",
287                    AgreementProfiling: $(formId).find("input[name='profiling']").is(':checked') ? "on" : "",
288                };
289
290                var jqxhr = $.ajax({
291                    method: "POST",
292                    url: $(formId).attr('action'),
293                    data: formData
294                })
295                .done(function (data) {
296                    if (data.status) {
297                        window.location.replace(data.message);
298                    }
299                    else {
300                        $(formId).parent().find(".msg-form-error").show();
301                        $(formId).hide();
302                    }
303                })
304                .fail(function () {
305                    $(formId).find(".msg-error").show();
306                    $(formId).hide();
307                })
308                .always(function () {
309                    window.app.loader.stop();
310                });
311            }
312        };
313
314            $(formId).validate(formOpt);
315
316            
317        },
318
319        processActivationForm: function(dataFormId) {
320
321            var formId = dataFormId;
322
323            var formData = {
324                __RequestVerificationToken: $(formId).find("input[name='__RequestVerificationToken']").val(),
325                Token: $(formId).find("input[name='Token']").val(),
326                AgreementMarketing: $(formId).find("input[name='AgreementMarketing']").is(':checked') ? "1" : "",
327                AgreementPartners: $(formId).find("input[name='AgreementPartners']").is(':checked') ? "1" : "",
328                AgreementGeolocation: $(formId).find("input[name='AgreementGeolocation']").is(':checked') ? "1" : "",
329                AgreementProfiling: $(formId).find("input[name='AgreementProfiling']").is(':checked') ? "1" : "",
330            };
331
332            var jqxhr = $.ajax({
333                method: "POST",
334                url: $(formId).attr('action'),
335                data: formData
336            })
337            .done(function (data) {
338                if (data.status) {
339                    $(formId).parent().find(".msg-form-success").show();
340                    $(formId).hide();
341                }
342                else {
343                    $(formId).parent().find(".msg-form-error").show();
344                    $(formId).hide();
345                }
346            })
347            .fail(function () {
348                $(formId).find(".msg-error").show();
349                $(formId).hide();
350            })
351            .always(function () {
352
353            });
354        },
355
356        registerWantSeeISender: function ( email ) {
357            var filmId = $(document.body).data('selected-filmid');
358            var cinemaId = $(document.body).data('selected-locationid');
359            var k = "";
360            var d = "";
361    
362            if ( ( typeof email === 'undefined' ) || email === "" || ( typeof filmId === undefined ) || filmId === "") {
363                return false;
364            }
365    
366            var a = "//em.isender.pl/am/Id5KJWMs_see.php?e=" + encodeURIComponent(email) + "&fid=" + encodeURIComponent(filmId) + "&cid=" + encodeURIComponent(cinemaId) + "&cat=" + encodeURIComponent(k) + "&info=" + encodeURIComponent(d);
367            $.ajax({
368                url: a,
369                jsonp: "callback",
370                dataType: "jsonp"
371            });
372            return true
373        },
374        
375        /** Parse url and takes last two parts into form as a token and userId: (...)/{auth_user_id}/{auth_opt_key}
376         * 
377         * @returns {String} - serialized string with values: &token={auth_opt_key}&userId={auth_user_id}
378         */
379        getTokenAndUserId: function() {
380            var url = window.location.pathname,
381                valArr = url.split('/'),
382                userId = '',
383                token = '',
384                serializedString = ''
385            ;
386            if( valArr.length > 1 ){
387                for( var i = valArr.length - 1; i >= 0; i--){
388                    if( valArr[i].length ){
389                        if( token === '' ){
390                            token = valArr[i];
391                            serializedString = "&token="+ token;
392                        }
393                        else if( userId === '' ){
394                            userId = valArr[i];
395                            serializedString += "&userId="+ userId;
396                            break;
397                        }
398                    }
399                }
400            }
401            
402            return serializedString;
403        },
404
405        getToken: function () {
406            var url = window.location.pathname,
407                valArr = url.split('/'),
408                token = '',
409                serializedString = ''
410                ;
411            if (valArr.length > 0) {
412                token = valArr[valArr.length - 1];
413                serializedString = "&token=" + token;
414            }
415
416            return serializedString;
417        }
418    };
419
420    var AnalyticsService = {
421        baseUrl : "/analytics",
422
423        init: function () {
424
425        },
426
427        registerGoal: function ( goal, desc ) {
428            var data = {
429                EventName: goal,
430                EventText: desc
431            };
432
433            var jqxhr = $.ajax({
434                method: "POST",
435                url: baseUrl + "/RegisterGoal",
436                data: data
437            })
438            .done(function (data) { })
439        },
440
441        registerVirtualPageView: function ( page ) {
442            var data = {
443                PageUrl: page
444            };
445
446            var jqxhr = $.ajax({
447                method: "POST",
448                url: baseUrl + "/RegisterPageView",
449                data: data
450            })
451            .done(function (data) { })
452        }
453    };
454
455    w.app.backend.UserService = UserService;
456
457    w.app.backend.AnalyticsService = AnalyticsService;
458
459    $(function () {
460        app.backend.UserService.init();
461        app.backend.AnalyticsService.init();
462    });
463
464})(this, 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.