1<#assign liferay_theme = PortletJspTagLibs["/META-INF/liferay-theme.tld"] />
2<#assign portlet = PortletJspTagLibs["/META-INF/liferay-portlet.tld"] />
3<@liferay_theme["defineObjects"] />
4<@portlet["defineObjects"] />
5
6${header_text.getData()!""}
7
8<div class="col-md-12 col-lg-6" id="vouchersList">
9 <div class="body-text-l--bold d-none d-md-block">Odaberi bon</div>
10 <ul class="voucher__radio-cards-grid">
11
12 <#if vouchers.getSiblings()?has_content>
13 <#assign sapMM = "" />
14 <#assign amount = "" />
15 <#assign price = "" />
16 <#assign defaultSapMM = "" />
17 <#list vouchers.getSiblings() as voucher>
18 <#if getterUtil.getBoolean(voucher.show_voucher.getData(), false)>
19 <#assign is_default=""/>
20 <#if getterUtil.getBoolean(voucher.is_default.getData(), false) >
21 <#assign is_default="checked"/>
22 <#assign defaultSapMM = voucher.sap_mm.getData() />
23 <#assign defaultVoucherPrice = voucher.price.getData() />
24 </#if>
25 <li class="voucher-radio-card js-choose-topup-amount" data-voucher-index="${voucher?index + 1}" data-price="${voucher.price.getData()}" data-value="${voucher.price.getData()}" data-mm="${voucher.sap_mm.getData()}">
26 <#assign sapMM = voucher.sap_mm.getData() />
27 <#assign amount = voucher.amount.getData() />
28 <#assign price = voucher.price.getData() />
29 <input class="voucher-radio-card__input" type="radio" name="topupAmount" id="topupAmount${price}" value="${price}" data-bonus-amount="${amount}" ${is_default} data-button-text="${price} €" data-portlet-name="Vouchers">
30 <label for="topupAmount${price}"><i class="voucher-radio-card__indicator"></i>
31 <span class="voucher-radio-card__topup-amount">
32 <span class="text-base--bold">${price} </span>
33 <span class="currency">€</span>
34 </span>
35 <div class="voucher-radio-card__bonus-mb"><span class="voucher-radio-card__bonus-mb-value">${voucher.promo_amount.getData()}</span> ${voucher.promo_text.getData()}</div>
36 <#if voucher.promo_description?? >
37 <div class="voucher-radio-card__bonus-mb-desccription">${voucher.promo_description.getData()}</div>
38 </#if>
39 </label>
40 </li>
41 </#if>
42 </#list>
43 <li class="voucher-radio-card js-choose-topup-amount js-choose-custom" data-value="" data-voucher-index="6" data-mm="${variable_sap_mm.getData()}">
44 <input class="voucher-radio-card__input" type="radio" value="custom" name="topupAmount" id="topupAmountChoice" data-button-text="Unesi vlastiti iznos bona" data-portlet-name="Vouchers">
45 <label for="topupAmountChoice"><i class="indicator"></i>
46 <div class="voucher-radio-card__amount-label">Unesi vlastiti iznos bona</div>
47 <div class="d-flex items-center">
48 <div class="field field-text voucher-radio-card__amount-input js-form-field">
49 <input type="text" name="price" id="voucher-value" class="field-text__input js-form-input" placeholder="50" maxlength="3" disabled onkeypress="return event.charCode >= 48 && event.charCode <= 57" onpaste="return false;" autocomplete="on" />
50 </div>
51 <div class="md:text-lg ml-2"><strong>€</strong></div>
52 </div>
53 </label>
54 </li>
55 <input type="hidden" name="sapMM" id="sapMM" value="${defaultSapMM}" placeholder="" />
56 <input type="hidden" id="voucherPrice" value="${defaultVoucherPrice}" />
57 </#if>
58 </ul>
59 <div class="voucher-form__info-label text-xs md:text-sm mb-6 mt-12">Cijena uključuje PDV i naknadu za korištenje mreže definiranu
60 <a href="${link_pricelist.getData()}" class="text-link is-black has-border">Cjenikom</a>
61 </div>
62</div>
63
64<script type="text/javascript">
65 $(document).ready(function(){
66 $(".js-choose-topup-amount").on("click", function(e) {
67 $this = $(this);
68 $("#sapMM").val($this.data("mm"));
69 $("#voucherPrice").val($this.data("price"));
70 });
71 });
72
73 $(".voucher-radio-card input").on("click", "", function(){
74 window.dataLayer = window.dataLayer || [];
75 var component = $(this).parent();
76 var price = component.find("input").val();
77 var priceNew = price.split(" ")[0].replace(",", ".");
78 if(priceNew.split(".").length == 1){
79 priceNew = priceNew.concat(".00");
80 }
81 var name = "A1 Elektronski bon " + price + " €";
82 var id = component.data("mm");
83 window.dataLayer.push({
84 'event': 'productClick',
85 'ecommerce': {
86 'currencyCode': 'EUR',
87 'click':{
88 'actionField': {'list': 'bonovi svi'},
89 'products':[{
90 'name': name,
91 'id': id,
92 'price': priceNew,
93 'brand': 'A1',
94 'category': 'bonovi',
95 'position': component.data("voucher-index")
96 }]
97 }
98 }
99 });
100
101 var buttonText = $(this).data("button-text");
102 var portlet = $(this).closest(".portlet")[0].id === "portlet_vouchers_WAR_a1vouchers" && "Vouchers";
103 var elementHeading = $(".Voucher-headline").text().trim();
104
105 window.dataLayer = window.dataLayer || [];
106 window.dataLayer.push({
107 'event': 'interaction',
108 'portlet_name': portlet,
109 'button_text': buttonText,
110 'element_heading': elementHeading,
111 });
112
113 var selectedVoucherIndex = $(".voucher-radio__input:checked").parent().data("voucher-index") - 1;
114 let selectedVoucher = voucherItems[selectedVoucherIndex];
115
116 if(selectedVoucherIndex === 5) {
117 var voucherPrice = $("#voucher-value").val();
118 selectedVoucher = {
119 'item_name': "Unesi vlastiti iznos bona",
120 'item_brand': 'A1',
121 'item_category': 'Bonovi',
122 'item_category5': 'Prepaid',
123 'product_segment': 'MOB',
124 'price': voucherPrice,
125 'discount': 0,
126 'original_price': voucherPrice,
127 'upfront_price': voucherPrice,
128 'monthly_price': 0,
129 'tax': calculateVAT(voucherPrice),
130 'quantity': 1,
131 'availiblity': 'in_stock',
132 'item_list_name': 'Bonovi',
133 'index': "6",
134 'google_business_vertical': 'custom'
135 };
136 }
137
138 window.dataLayer.push({
139 'event': 'view_item',
140 'ecommerce': {
141 'items': [selectedVoucher]
142 }
143 });
144 });
145
146 window.dataLayer = window.dataLayer || [];
147 var vouchersObjectList = [];
148 $.each($(".voucher-radio-card"), function(){
149 var price = $(this).find("input").val();
150 var name = "A1 Elektronski bon " + price + " €";
151 var priceNew = price.split(" ")[0].replace(",", ".");
152 if(priceNew.split(".").length == 1){
153 priceNew = priceNew.concat(".00");
154 }
155 var id = $(this).data("mm");
156 var voucherObject = {
157 'name': name,
158 'id': id,
159 'price': priceNew,
160 'brand': 'A1',
161 'category': 'bonovi',
162 'position': $(this).data("voucher-index"),
163 'list': 'bonovi svi'
164 };
165 vouchersObjectList.push(voucherObject);
166 });
167 window.dataLayer.push({
168 'event': 'productImpressions',
169 'ecommerce': {
170 'currencyCode': 'EUR',
171 'impressions': vouchersObjectList
172 }
173
174 });
175
176
177</script>
178
179<script>
180 function calculateVAT(cijena) {
181 var cijenaSaPDV = cijena;
182 var pdv = 25 / 100;
183 var osnovica = Number.parseFloat((cijenaSaPDV) / (1 + pdv)).toFixed(2);
184 var porez = cijenaSaPDV - osnovica;
185
186 return porez;
187 }
188
189 var voucherItems = [<#list vouchers.getSiblings() as voucher>
190 {
191 'item_id': '${voucher.sap_mm.getData()}',
192 'item_name': "A1 Elektronski bon ${voucher.price.getData()} €",
193 'item_brand': 'A1',
194 'item_category': 'Bonovi',
195 'item_category5': 'Prepaid',
196 'product_segment': 'MOB',
197 'price': ${voucher.price.getData()},
198 'discount': 0,
199 'original_price': ${voucher.price.getData()},
200 'upfront_price': ${voucher.price.getData()},
201 'monthly_price': 0,
202 'tax': calculateVAT(${voucher.price.getData()}),
203 'quantity': 1,
204 'availiblity': 'in_stock',
205 'item_list_name': 'Bonovi',
206 'index': "${voucher?index + 1}",
207 'id': '${voucher.sap_mm.getData()}',
208 'google_business_vertical': 'custom'
209 },
210 </#list>];
211</script>