PageSourceSearch

https://www.fullers.co.nz/cassette.axd/asset/ContentFullers360/Scr…?6be41c24dd71463029697d3ac22aac894f2c7fde

js fullers.co.nz collected 2026-09-24 09:35:20 UTC 3,677 bytes, 113 lines download raw bytes

1
2var spinnerChange = function (spinner, amount) {
3    let spinnerField = spinner.closest('.js.comp-spinner').querySelector('.js.spinner-number');
4    if (spinnerField) {
5        let currentAmount = parseInt(spinnerField.value);
6        let max = 0;
7        if (spinnerField.dataset.max !== '') {
8            max = parseInt(spinnerField.dataset.max);
9        }
10
11        if (currentAmount + amount >= 0) {
12
13            if (max === 0 || currentAmount + amount <= max) {
14                spinnerField.value = currentAmount + amount;
15
16                let spinnerDecrease = spinner.closest('.js.comp-spinner').querySelector('.js.decrease');
17                if (currentAmount + amount === 0) {
18                    spinnerDecrease.classList.add('disabled');
19                }
20                else {
21                    spinnerDecrease.classList.remove('disabled');
22                }
23
24                if (typeof onSpinnerChange === "function") {
25                    onSpinnerChange(spinnerField)
26                }
27            }
28        }
29    }
30};
31
32var onIncreaseSpinnerClicked = function (e) {
33    e.preventDefault();
34    spinnerChange(this, 1);
35    //pushDatalayer();
36};
37
38var onDecreaseSpinnerClicked = function (e) {
39    e.preventDefault();
40    spinnerChange(this, -1);
41    //pushDatalayer();
42};
43
44var pushDatalayer = function () {
45
46    var itemFrom = document.getElementById('FromGalaxyCode');
47    var itemTo = document.getElementById('ToGalaxyCode');
48    var itemTotal = document.querySelector('.js.subtotal');
49    var salesCategory = document.getElementById('SalesCategory');
50
51    if (itemTotal) {
52        itemTotal = itemTotal.innerText;
53        itemTotal = itemTotal.replace("$", "");
54    }
55    else {
56        itemTotal = 0;
57    }
58
59
60
61    if (itemFrom !== '' && itemFrom !== null && itemFrom !== undefined && itemTo !== '' && itemTo !== null && itemTo !== undefined) {
62
63        var cartItemsToPush = document.getElementsByClassName('ticket-item');
64
65        var itemPlace = salesCategory.value;
66
67        if (itemFrom.value !== '' && itemTo.value !== '') {
68
69            var fromGalaxyCode = itemFrom.value;
70            var toGalaxyCode = itemTo.value;
71
72            itemPlace = fromGalaxyCode + "-" + toGalaxyCode;
73        }
74
75        var json = [];
76
77        for (cartItem of cartItemsToPush) {
78
79            var itemCost = cartItem.getAttribute('data-base-cost');
80            var itemPlu = cartItem.getAttribute('data-plu');
81            var itemTitle = document.querySelector('.item-title').textContent;
82
83            json.push({
84                'item_id': itemPlu, // Place unique ticket SKU number
85                'item_name': itemTitle, // The name of the ticket i.e "Auckland to Waiheke - Return - Adult"
86                'item_list_name': itemPlace, // THe name of the list where the tickets sit. Could be AUCK-WAIH
87                'price': itemCost
88            });
89
90        }
91
92        window.dataLayer = window.dataLayer || [];
93        dataLayer.push({ 'ecommerce': null });
94        dataLayer.push({
95            'event': "view_item",
96            'ecommerce': {
97                'currency': "NZD",
98                'value': itemTotal, // sum total of all available tickets
99                'items': json
100            }
101        });
102    }
103}
104
105var loadSpinners = function (spinners) {
106    if (spinners.length) {
107        spinners.forEach(option => {
108            option.querySelector('.js.increase').addEventListener('click', onIncreaseSpinnerClicked);
109            option.querySelector('.js.decrease').addEventListener('click', onDecreaseSpinnerClicked);
110
111        });
112    }
113};

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.