PageSourceSearch

https://www.lojaintt.com.br/common/js/default.js?v=11790170509

js lojaintt.com.br collected 2026-09-26 10:10:10 UTC 17,023 bytes, 543 lines download raw bytes

1// Data de implementação: 28/05/2014 10:16:48
2/* Ação:
3	Objeto que trabalha com ajax, suportando parâmetros para trabalhar diretamente no HTML com as respostas do servidor.
4*/
5if (typeof X == "undefined") {
6	X = [];
7	X.isLoaded = false;
8    X.ajaxSubmitEventsCreated = false;
9}
10
11X.currentForm = null;
12
13X.get = function (u, callback) {
14    return X.ajax(u, 'GET', callback);
15};
16
17X.post = function (u, values, callback) {
18    return X.ajaxData(u, values, callback);
19};
20
21X.ajax = function (u, method, callback) {
22    $.ajax({
23        url: u,
24        type: method,
25        dataType: "json",
26        success: function (data) {
27            X.ajaxHandleResponse(data, callback);
28        },
29        error: function(XMLHttpRequest, textStatus, errorThrown) {
30            X.ajaxError(XMLHttpRequest.status, XMLHttpRequest.responseText);
31        }
32    });
33    return false;
34};
35
36X.ajaxData = function (u, values, callback) {
37    $.ajax({
38        url: u,
39        type: 'POST',
40        data: values,
41        dataType: "json",
42        success: function (data) {
43            X.ajaxHandleResponse(data, callback);
44        },
45        error: function(XMLHttpRequest, textStatus, errorThrown) {
46            X.ajaxError(XMLHttpRequest.status, XMLHttpRequest.responseText, callback);
47        },
48        async: true
49    });
50    return false;
51    };
52
53X.ajaxHandleResponse = function(data, callback, exception = false) {
54    X.json(data);
55    X.currentForm = null;
56    callback = callback || null;
57    $(document).trigger('jsonSuccess').unbind('jsonSuccess');
58
59    finalData = {
60        "error": false,
61        "data": data
62    };
63
64    if (exception) {
65        finalData = data;
66    }
67
68    X.executeFunctionByName(callback, window, finalData);
69}
70
71X.ajaxError =  function(status, text, callback) {
72    X.submittingForm = false;
73    var response;
74    try {
75        response = JSON.parse(text);
76    } catch (e) {
77        response = null;
78    }
79
80    if (status == 422 && response && response.erroRecaptchaGlobal) {
81        ajaxutils.showAlertModal('Aviso', `Não foi possível processar a requisição pois o recaptcha não foi validado. ${response.erroRecaptchaGlobal}`, '');
82        X.currentForm = null;
83    } else if (response.error) {
84        X.ajaxHandleResponse(response, callback, exception = true);
85    }
86}
87
88X.executeFunctionByName = function (functionName, context , args) {
89    if (functionName == null || context == null || typeof context === "undefined") {
90        return false;
91    }
92    args = args || null;
93    if (args != null){ 
94        var args = Array.prototype.slice.call(arguments, 2);
95    }
96    var namespaces = functionName.split(".");
97    var func = namespaces.pop();
98    for (var i = 0; i < namespaces.length; i++) {
99        context = context[namespaces[i]];
100    }
101    var funcao = context[func].apply(context, args);
102    if (typeof (funcao) === 'function') {
103        return funcao;
104    } else {
105        return false;
106    }
107}
108
109X.json = function (r) {
110    if (r['data'] == undefined || r['data']['data'] == undefined || r['data']['type'] == undefined) {
111        return;
112    }
113
114    var type = r['data']['type'];
115    var data = r['data']['data'];
116    if (type == 'triggerfunction') {
117        var datalayer = data['datalayer'];
118        var fbpixel = data['fbpixel'];
119        var edrone = data['edrone'];
120
121        if (datalayer) {
122            $('body').append(datalayer);
123        }
124
125        if (fbpixel) {
126            $('body').append(fbpixel);
127        }
128
129        if (edrone) {
130            document.body.insertAdjacentHTML('beforeend', edrone);
131        }
132
133        var response = data['response'] ? data['response'] : null;
134        X.executeFunctionByName(data['func'], window, response);
135    } else if (type == 'redirectpost') {
136        ajaxutils.redirectPost(window.location.href, X.currentForm.find(':input'));
137    } else if (type == 'facebookpixel') {
138        facebookPixel.sendContact(data['event'], data['fbPixelId']);
139        window.location.reload();
140    } else if (type === 'tiktokPixel') {
141        tiktokPixel.sendContact(data['event'], data['ttkPixelId']);
142        window.location.reload();
143    } else if (type === 'bothpixels') {
144        facebookPixel.sendContact(data['facebook']['event'], data['facebook']['fbPixelId']);
145        tiktokPixel.sendContact(data['tiktok']['event'], data['tiktok']['ttkPixelId']);
146        window.location.reload();
147    } else if (type == 'alert') {
148        alert(data);
149    } else if (type == 'eval') {
150        eval(data);
151    } else if (type == 'refresh') {
152        window.location.reload();
153    } else if (type == 'redir') {
154        if (data['secs'] > 0 && data['location'] != '') {
155            window.setTimeout(function() {
156                window.location = data['location']
157            }, data['secs'] * 1000);
158        } else {
159            window.location = data;
160        }
161    } else if (type == 'updater') {
162        var id = data['id'];
163        var classe = data['class'];
164        var inner = data['html'];
165        $('#' + id).html(inner);
166        $('.' + classe).html(inner)
167    } else if (type == 'attr') {
168        var id = data['id'];
169        var classe = data['class'];
170        var attr = data['attr'];
171        var value = data['value'];
172        $('#' + id).attr(attr, value);
173        $('.' + classe).attr(attr, value);
174    } else if (type == 'append') {
175        var id = data['id'];
176        var classe = data['class'];
177        var inner = data['html'];
178        $('#' + id).append(inner);
179        $('.' + classe).append(inner);
180    } else if (type == 'addclass') {
181        var id = data['id'];
182        var classe = data['class'];
183        $('#' + id).addClass(classe);
184    } else if (type == 'remclass') {
185        var id = data['id'];
186        var classe = data['class'];
187        $('#' + id).removeClass(classe);
188    } else if (type == 'close'){
189        X.boxClose();
190    } else if (type == 'dialog') {
191        X.boxShow(data, true)
192    } else if (type == 'css') {
193        var id = data['id'];
194        var classe = data['class'];
195        var css_attr = data['css'];
196        var value = data['value'];
197        $('#' + id).css(css_attr, value);
198        $('.' + classe).css(css_attr, value);
199    }
199 else if (type == 'modal-bootstrap') {
200        $('.modal-content').html("");
201        $('.modal-content').append(data['html']);
202        $('.modal').appendTo("body").modal('show');
203        //X.ajaxSubmit();
204    } else if (type == 'modal') {
205        $('.modal-dialog').parent().remove();
206        $('.modal').remove();
207        $('[class^="modal"].fade').remove();
208
209        $('body').removeClass("modal-open").removeAttr('style').append('<div class="modal fade"><div class="modal-dialog"><div class="modal-content">'+data['html']+'</div></div></div>');
210        if ($('.modal-content .is-modal-lg').length > 0)
211            $('.modal-dialog').addClass('modal-lg');
212        $('.modal').on('shown.bs.modal', function (e) {
213            $('.thumbs[data-for="modal"]').find('.thumb-trigger').first().trigger('click');
214        });
215        
216        $('.modal').modal('show').on('hidden.bs.modal', function () {
217            $('.modal-dialog').parent().remove();
218            $('.modal').remove();
219            $('[class^="modal"].fade').remove();
220        });
221        //X.ajaxSubmit();
222
223        $('html').on('keyup', function (e) {
224            if (e.keyCode === 27) {
225                $('.modal').modal('hide');
226                /*$('.modal-dialog').parent().remove();
227                $('.modal').remove();
228                $('.fade').remove();*/
229            }
230        });
231
232        //$('.thumb-trigger').first().trigger('click');
233        //layout.thumbOculto();
234
235        //layout.treatGrid();
236
237        $(document).trigger('loadvzoom');
238        $(document).trigger('icontrigger');
239
240        $('.thumb-trigger').on('click', function () {
241            if ($(this).parent().attr('data-for') == 'modal') {
242                id = 'image-container-modal';
243            } else {
244                id = 'image-container';
245            }
246            element = $('<img/>');
247            element.attr('src', $(this).attr('data-normal')).attr('data-zoom', $(this).attr('data-zoom')).addClass('img-responsive').addClass('vzoom');
248            $('#'+id+' img').remove();
249            $('#'+id+' .vzoom-container').remove();
250            $('#'+id).append(element);
251            
252            $(document).trigger('loadvzoom');
253        });
254        $(document).trigger('makeajaxlink');
255        $(document).trigger('modalCreated');
256
257        $('.modal').find('.thumb-trigger').first().trigger('click');
258    } else if (type == 'mix') {
259        for (var x in data) {
260            r['data'] = data[x];
261            X.json(r)
262        }
263    } else if (type == 'checkout') {
264        if (data['enderecos']) {
265            var tmp = $('<div></div>');
266            var genericElement = $('[data-generic-address]');
267            tmp.append($(genericElement[0].cloneNode(true)));
268            var genericAddress = tmp.html();
269            for (var x in data['enderecos']) {
270                var address = data['enderecos'][x];
271                if (x != 'new' && $('[data-idend="'+x+'"]').length == 0 ) {
272                    var newAddress = $(genericAddress);
273                    newAddress.find('.address-title').html(address.logradouro+', '+address.numero+' ('+address.cep+')');
274                    newAddress.find('[data-idend]').attr('data-idend', x);
275                    newAddress.find('[href="#novoEndereco"]').attr('href', '#end'+x);
276                    newAddress.find('#novoEndereco').attr('id', 'end'+x);
277                    newAddress.removeAttr('data-generic-address').attr('data-client-address', '');
278                    newAddress.find('.cep').mask("99999-999");
279                    newAddress.find('[name="cep"].checkout-field').val(address.cep).after('<input type="hidden" name="ceporiginal" value="'+address.ceporiginal+'" class="ceporiginal">');
280                    newAddress.find('[name="logradouro"].checkout-field').val(address.logradouro);
281                    newAddress.find('[name="numero"].checkout-field').val(address.numero);
282                    newAddress.find('[name="bairro"].checkout-field').val(address.bairro);
283                    newAddress.find('[name="complemento"].checkout-field').val(address.complemento);
284                    newAddress.find('[name="cidade"].checkout-field').val(address.cidade);
285                    newAddress.find('#cep').removeAttr('id');
286                    newAddress.find('[data-endindex]').attr('data-endindex', x);
287                    var estado = newAddress.find('[name="estado"].checkout-field');
288                    estado.find('option:selected').prop('selected', false);
289                    estado.find('option[value="'+address.estado+'"]').prop('selected', true);
290                    genericElement.before(newAddress);
291                }
292                if (data['enderecos'][X.toString()].disabled) {
293                    Checkout.disableChildren($('[data-idend="'+x+'"]').parents('[data-client-address]'));
294                } else if (data['enderecos'][X.toString()].enabled) {
295                    Checkout.enableChildren($('[data-idend="'+x+'"]').parents('[data-client-address]'));
296                }
297
298                if (data['enderecos'][X.toString()].active) {
299                    $('[data-idend="'+x+'"]').trigger('selectaddress');
300                } else {
301                    $('[data-idend="'+x+'"]').trigger('hideaddress');
302                }
303            }
304        }
305
306        if (data['limparenderecos']) {
307            $('[data-client-address]').remove();
308        }
309
310        if (data['showauth'])
311            $('[data-only-auth]').css('display', 'block');
312
313        if (data['fieldval']) {
314            for (var x in data['fieldval']) {
315                $('[name="'+x+'"].checkout-field').val(data['fieldval'][x]);
316            }
317        }
318
319        if (data['disable']) {
320            for (var x in data['disable']) {
321                $('[name="'+x+'"].checkout-field').prop('disabled', true);
322            }
323        }
324
325        if (data['enable']) {
326            for (var x in data['enable']) {
327                $('[name="'+x+'"].checkout-field').prop('disabled', false);
328            }
329        }
330
331        if (data['click']) {
332            for (var x in data['click']) {
333                $(x).trigger('click');
334            }
335        }
336
337        if (data['hide']) {
338            for (var x in data['hide']) {
339                $(x).hide();
340            }
341        }
342
343        if (data['show']) {
344            for (var x in data['show']) {
345                $(x).show();
346            }
347        }
348
349        if (data['cleanerrors']) {
350            for (var x in data['cleanerrors']) {
351                Checkout.cleanAllStatus($('[data-step="'+x+'"]'));
352            }
353        }
354
355        if (data['field']) {
356            for (var x in data['field']) {
357                Checkout.launchError($('[name="'+x+'"].checkout-field'), data['field'][x]);
358            }
359        }
360
361        if (data['gostep']) {
362            Checkout.goStep(data['gostep']);
363        }
364
365        if (data['enablestep']) {
366            Checkout.enableStep($('[data-step="'+data['gostep']+'"]'));
367        }
368
369        if (data['triggererror']) {
370            $('[data-ok-container]').html('');
371            $('[data-error-container]').html(data['triggererror']);
372        }
373
374        if (data['triggerok']) {
375            $('[data-error-container]').html('');
376            $('[data-ok-container]').html(data['triggerok']);
377        }
378
379        if (data['disabletimers']) {
380            $(document).trigger('disabletimers');
381        }
382
383        if (data['setnewaddressID']) {
384            $('[data-idend="new"]').attr('data-newid', data['setnewaddressID']);
385        }
386
387        if (data['refresh']) {
388            window.location.reload();
389        }
390    }
391    $("#loading").css('display', 'none');
392};
393
394X.getXY = function () {
395    var x, y;
396    if (document.body.scrollTop) {
397        x = document.body.scrollLeft;
398        y = document.body.scrollTop
399    } else {
400        x = document.documentElement.scrollLeft;
401        y = document.documentElement.scrollTop
402    }
403    return {
404        x: x,
405        y: y
406    }
407};
408
409X.submittingForm = null;
410X.defaultCallbackSubmittingForm = function() {
411    $(X.submittingForm).data('submitted', false);
412}
413
414X.ajaxSubmitEvents = function() {
415    if (X.ajaxSubmitEventsCreated) {
416        return;
417    }
418
419    X.ajaxSubmitEventsCreated = true;
420
421	$(document).off('submit', '.ajaxform');
422    $(document).off('submit', '.ajaxform, form[data-action]');
423	$(document).off('click', '.ajaxsubmitbutton');
424
425    $(document).on("submit", ".ajaxform", function(e) {
426		X.ajaxSubmitAction(e, this);
427		e.preventDefault();
428	});
429
430	$(document).on('click', '.ajaxsubmitbutton', function(e) {
431		$(this).parent('form').trigger('submit');
432		e.preventDefault();
433	});
434}
435
436X.ajaxSubmit = function() {
437	X.ajaxSubmitEvents();
438}
439
440X.ajaxSubmitAction = function (e, element) {
441	if (!element) {
442		return;
443	}
444
445	var callback = $(element).attr('data-callback');
446
447	if (!callback && $(X.submittingForm).data('submitted') === true) {
448		e.preventDefault();
449		return false;
450	}
451
452	X.submittingForm = element;
453	$(X.submittingForm).data('submitted', true)
454
455	var data = $(element).serialize();
456	var encode = $(element).attr('data-encode');
457
458	if ($(element).attr('additional-form-data')) {
459		var formSelector = $(element).attr('additional-form-data');
460		var remove = $(element).attr('additional-form-data-remove');
461		var additionalData = X.getFormData(formSelector, remove);
462
463		data += '&' + additionalData;
464	}
465
466	if (typeof recaptchaGlobal != 'undefined') {
467		recaptchaGlobal.sendInvisibleRecaptchaValidation();
468		data += `&recaptcha_token=${recaptchaGlobal.token}`;
469	}
470
471	if (encode == 'true') {
472		data = 'encode='+btoa(data);
473	}
474
475	if (!callback) {
476		callback = 'X.defaultCallbackSubmittingForm';
477	}
478
479	X.currentForm = $(element);
480
481	var actionAttr = $(element).attr('data-action') ? $(element).attr('data-action') : $(element).attr('action');
482
483	if ($(element).attr('method') == 'post') {
484		X.post(actionAttr, data, callback);
485	} else {
486		X.get(actionAttr + "?" + data, callback);
487	}
488
489	e.preventDefault();
490	return false;
491};
492
493X.getFormData = function(formSelector, remove) {
494    if ($(formSelector).length == 0) {
495        return null;
496    }
497
498    var data = $(formSelector).serialize();
499
500    if (remove) {
501        remove = remove.split(",");
502
503        if (remove.length == 0) {
504            return data;
505        }
506
507        remove.forEach(function (value) {
508            data = X.removeQueryParam(value, data);
509        });
510    }
511    data = decodeURIComponent(data);
512
513    return data;
514};
515
516X.removeQueryParam = function(key, sourceURL) {
517    var rtn = sourceURL.split("&");
518    var i = 0;
519    rtn.forEach(function (value) {
520        var param = value.split("=")[0];
521        if (param === key) {
522            rtn.splice(i, 1);
523        }
524        i++;
525    });
526    rtn = rtn.join("&");
527
528    return rtn;
529};
530
531$(function () { 
532    if (X.isLoaded) {
533		return;
534	}
535
536    X.isLoaded = true;
537    X.ajaxSubmitEvents(); 
538});
539
540X.ajaxSubmitEvents();
541// X.alert = function () {
542// 	alert("Teste do X.Alert");
543// };

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.