1var dataCart = { date: "", cartItems: [], quantityTickets: 0 }; 2var productTicketing; 3var maxAmountQuantity = $("input.maxQuantityTickets").val() != "" ? parseInt($("input.maxQuantityTickets").val()) : 999 4 5if(sessionStorage.getItem('cday')){ 6 sessionStorage.removeItem('cday'); 7 } 8$(document).ready(function () { 9 //separator line 10 showHideSeparator(); 11 12 if(sessionStorage.getItem('cday')){ 13 sessionStorage.removeItem('cday'); 14 } 15 16 17}); 18function showHideSeparator() { 19 var separator = $(".visitors-separator"); 20 if (separator.length > 1) { 21 separator.each(function (i) { 22 if (i != separator.length - 1) { 23 $(this).show(); 24 } 25 }); 26 } else { 27 separator.hide(); 28 } 29} 30function callCatalog() { 31 if($.cookie("idCartWidget") != null && $.cookie("idCartWidget") != undefined){ 32 jQuery.ajax({ 33 url: $.cookie("urlAccessToken") + "/catalog/product/" + $.cookie("idCartWidget") + "/parent/TICKETING", 34 method: 'GET', 35 async: false, 36 headers: { 37 "Content-Type": "application/json", 38 "X-Flow-ID": $.cookie("idCartWidget"), 39 "Authorization": "Bearer " + $.cookie("portal") 40 }, 41 42 success: function (data) { 43 productTicketing = data; 44 addVisitorPage(data); 45 // Get cookies visitors 46 if ($.cookie("dataCart") != undefined) { 47 dataCart = JSON.parse($.cookie("dataCart")); 48 dataCart.cartItems.forEach(element => { 49 var translationVisitor = element.tranlation.find(e => e.language == languageCalendar); 50 updateVisitors(element.productId, element.quantity, translationVisitor) 51 }); 52 } else 53 dataCart = { date: "", cartItems: [], quantityTickets: 0 }; { 54 disabledButtonContinue(); 55 } 56 }, 57 error: function (XMLHttpRequest, textStatus, errorThrown) { 58 console.log("Status: {}", textStatus); 59 console.log("Error: {}", errorThrown); 60 } 61 }); 62 } 63} 64function addVisitorPage(data) { 65 var codeParamFilter = $(".cf01_visitors .visitor-block"); 66 $(data).each(function (j, dato) { 67 codeParamFilter.each(function (i) { 68 if ($(this).attr("data-code-param") == dato.codeParam) { 69 var trVisitor = dato.translations.find(e => e.language === languageCalendar); 70 var dataNameParamText = $(this).find(".visitor .title").attr("data-name-param"); 71 $(this).find(".visitor .title").text(dataNameParamText); 72 $(this).attr("data-productid", dato.id) 73 } 74 }); 75 76 }) 77 $(".visitor-block .less").click(function () { 78 var quantity = $(this).parents(".visitor-block").find(".numTickets").text(); 79 if (quantity > 0) { 80 //Hide Error 81 $("#error2025").hide(); 82 83 quantity--; 84 85 // Upadte quantity 86 dataCart.quantityTickets--; 87 88 // Update quantity 89 $(this).parents(".visitor-block").find(".numTickets").text(quantity); 90 dinamicVisitors(); 91 92 //Upadate Cart 93 updateCartItem($(this).parents(".visitor-block").attr("data-productid"), $(this).parents(".visitor-block").find(".visitor .title").text(), quantity, $(this).parents(".visitor-block").find(".visitor .subtitle").html() 94 ); 95 96 } 97 // Disabled button 98 if (quantity == 0) { $(this).addClass('disabled'); $(this).parents(".visitor-block").find(".tickets-value").addClass("disabled"); } 99 }); 100 $(".visitor-block .plus").click(function () { 101 var totalTicketsQuantity = []; 102 var quantity = parseInt($(this).parents(".visitor-block").find(".numTickets").text()); 103 if(maxQuantityTickets<=10 && maxQuantityTickets>0){ 104 //Batelli MIR limit based on dialog param 105 var quantityTotal; 106 $(".visitor-block").each(function () { 107 totalTicketsQuantity.push($(".visitor-block").find(".numTickets").text()); 108 }) 109 for(i=0;i<totalTicketsQuantity.length;i++){ 110 quantityTotal = quantityTotal+totalTicketsQuantity[i]; 111 } 112 quantityTotal = quantityTotal/100; 113 if (quantityTotal + 1 > maxQuantityTickets || dataCart.quantityTickets + 1 > maxQuantityTickets) { 114 $("#error2025").show(); 115 return; 116 } 117 dataCart.quantityTickets++; 118 quantity++; 119 $(this).parents(".visitor-block").find(".numTickets").text(quantity); 120 dinamicVisitors(); 121 $(this).parents(".visitor-block").find(".tickets-value").removeClass("disabled"); 122 123 //Upadate Cart 124 updateCartItem($(this).parents(".visitor-block").attr("data-productid"), $(this).parents(".visitor-block").find(".visitor .title").text(), quantity, $(this).parents(".visitor-block").find(".visitor .subtitle").html() 125 ); 126 127 // Enabled button 128 if (quantity > 0) $(this).parents(".visitor-block").find(".less").removeClass("disabled"); 129 } 130 131 if(maxQuantityTickets==0 || maxQuantityTickets==null){ 132 133 // Update quantity 134 135 // Max quantiy by ticket 136 if (quantity + 1 > maxAmountQuantity || dataCart.quantityTickets + 1 > maxAmountQuantity) { 137 $("#error2025").show(); 138 return; 139 } 140 141 // Upadte quantity 142 dataCart.quantityTickets++; 143 144 quantity++; 145 $(this).parents(".visitor-block").find(".numTickets").text(quantity); 146 dinamicVisitors(); 147 $(this).parents(".visitor-block").find(".tickets-value").removeClass("disabled"); 148 149 //Upadate Cart 150 updateCartItem($(this).parents(".visitor-block").attr("data-productid"), $(this).parents(".visitor-block").find(".visitor .title").text(), quantity, $(this).parents(".visitor-block").find(".visitor .subtitle").html() 151 ); 152 153 // Enabled button 154 if (quantity > 0) $(this).parents(".visitor-block").find(".less").removeClass("disabled"); 155 } 156 157 }); 158} 159function updateCartItem(idProduct, title, quantity, description) { 160 161 if ($(".cartTickets").find(`div[data-productid='${idProduct}']`).length > 0) { 162 if (quantity == 0) { 163 $(".cartTickets").find(`div[data-productid='${idProduct}']`).remove() 164 } 165 else { 166 $(".cartTickets").find(`div[data-productid='${idProduct}'] .ticketCount`).text(quantity) 167 } 168 } else { 169 $('.cartTickets ').removeClass('d-none'); 170 $(".cartTickets").append(`<div class="cartTicket" data-productid="${idProduct}"> 171 <div class="ticketText">${title} (<span class="ticketCount">${quantity}</span>)</div> 172 <div class="ticketDes">${description != undefined ? description : ""}</div> 173 </div>`); 174 } 175
176 // Check status button continue 177 disabledButtonContinue(); 178} 179 180$(document).on('click', '.cf05_controlbuttons .continue a.cmp-button', function () { 181 182 if (checkCookiesExpired()) { 183 184 if (!$(this).parent().parent().hasClass("disabled")) { 185 186 dataCart.cartItems = []; 187 dataCart.quantityTickets = 0; 188 $(`.cf01_visitors `).find(".visitor-block").each(function () { 189 if ($(this).find(".numTickets").text() > 0) { 190 dataCart.cartItems.push({ 191 "productId": $(this).attr("data-productid"), 192 "title": $(this).find(".visitor .title").text(), 193 "quantity": $(this).find(".numTickets").text() 194 }); 195 196 // Upadte quantity 197 dataCart.quantityTickets = dataCart.quantityTickets + quantity; 198 199 } 200 }); 201 // Save cookie 202 var date = new Date(); 203 date.setMinutes(date.getMinutes() + 30) 204 $.cookie("dataCart", JSON.stringify(dataCart), { expires: date, path: removeLastDirectoryPart(window.location.pathname), secure: true }) 205 } 206 } else { 207 return false; 208 } 209});
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.