1/** 2 * @file 3 * Global utilities. 4 * 5 */ 6(function ($, Drupal) { 7 window.dataLayer = window.dataLayer || []; 8 ("use strict"); 9 10 Drupal.behaviors.ga360 = { 11 productClick: function ( 12 list, 13 name, 14 id, 15 price, 16 packages, 17 anyData, 18 nightData, 19 position 20 ) { 21 window.dataLayer.push({ 22 event: "productClick", 23 ecommerce: { 24 click: { 25 actionField: { 26 list: list, 27 }, // List name where packages are shown. Possible values are âTailored Packagesâ, âAll Packagesâ, âPackages Comparisonâ, âOther Packagesâ 28 products: [ 29 { 30 name: `${name}`, // Name of package e.g. Office Ultra, Booster etc. 31 id: `${id}`, // SKU of package 32 price: `${price}`, // Price of package e.g. 6999.00, 16400.00 33 brand: packages, // HBB Packages 34 category: `Anytime Data - ${anyData}`, // E.g. âAnytime Data - 500 GBâ 35 variant: `Night Data - ${nightData}`, // E.g. Night Data 500 GB 36 position: position, // Position of item in the list 37 }, 38 ], 39 }, 40 }, 41 }); 42 }, 43 44 productImpression: function ( 45 name, 46 id, 47 price, 48 packages, 49 anyData, 50 nightData, 51 list, 52 position 53 ) { 54 window.dataLayer.push({ 55 event: "productImpressions", 56 ecommerce: { 57 impressions: [ 58 { 59 name: `${name}`, // Name of package e.g. Office Ultra, Booster etc. 60 id: `${id}`, // SKU of package 61 price: `${price}`, // Price of package e.g. 6999.00, 16400.00 62 brand: packages, // HBB Packages 63 category: `Anytime Data - ${anyData}`, // E.g. âAnytime Data - 500 GBâ 64 variant: 65 nightData != undefined 66 ? `Night Data - ${nightData}` 67 : undefined, // E.g. Night Data 500 GB 68 list: list, // List name where pacs are shown. Possible values are âTailored Packagesâ, âAll Packagesâ, âPackages Comparisonâ, âOther Packagesâ 69 position: position, // Position of item in the list 70 // 'dimension31': undefined, // First month bonus data value 71 }, 72 ], 73 }, 74 }); 75 }, 76 item_name_by_lob: function (ga360_lob) { 77 var itemName = ""; 78 if (ga360_lob === "GSM") { 79 itemName = "SIM"; 80 } else if (ga360_lob === "DTV") { 81 itemName = "DTV"; 82 } else if (ga360_lob === "VIU") { 83 itemName = "DTV"; 84 } else if (ga360_lob === "HBB") { 85 itemName = "HBB"; 86 } 87 88 return itemName; 89 }, 90 cartItemWise: function ( 91 connection_type, 92 package_name, 93 price, 94 description, 95 identification_type, 96 lob, 97 item_type, 98 offer_name 99 ) { 100 var customer_id = undefined; 101 var cutomer_did_type = undefined; 102 var customer_type = undefined; 103 if (drupalSettings.is_logged_in) { 104 customer_id = $("#id-number-for-ga360").text(); 105 cutomer_did_type = $("#login-did-for-ga360").text(); 106 } else { 107 customer_type = sessionStorage.getItem("Check_customer_type"); 108 } 109 110 var item = { 111 item_name: Drupal.behaviors.ga360.item_name_by_lob(lob), // Product Name. Ex : Sim 112 connection_type: `${connection_type}`, // Prepaid or Postpaid 113 package_name: `${package_name}`, // Name of the selected package. Ex : YouTube & Social Media plan, Work & learn plan 114 price: `${price}`, // Amount of selected package. Ex : 2000 115 description: `${description}`, // Description of the product 116 customer_id: `${customer_id}`, // NIC / Passport Number or Mobile number / Email 117 cutomer_did_type: `${cutomer_did_type}`, // Mobile number or Email // If DID path selected 118 lob: `${lob}`, // Line of business. Ex : Mobile 119 item_category: `${item_type}`, // If it is a sim, Standard Sim or E-Sim. If it is device type of the device 120 offer_name: `${offer_name}`, // Name of the selected offer. // If offer available 121 customer_type: 122 sessionStorage.getItem("customer_type") != "undefined" 123 ? sessionStorage.getItem("customer_type") 124 : undefined, 125 }; 126 127 return item; 128 }, 129 // viewCart: function (price, items_obj) { 130 // window.dataLayer.push({ 131 // event: "view_cart", 132 // ecommerce: { 133 // currency: "LKR", 134 // value: price, 135 // items: items_obj, 136 // }, 137 // }); 138 // }, 139 140 viewCart: function (price, items_obj) { 141 var lob = sessionStorage.getItem('ga360_lob'); 142 if (lob === 'GSM' || lob === 'DTV' || lob === 'HBB' || lob === 'VIU') { 143 window.dataLayer.push({ 144 event: "view_cart", 145 ecommerce: { 146 currency: "LKR", 147 value: price, 148 items: items_obj, 149 } 150 }); 151 } 152 }, 153 154 // Device view cart 155 // deviceviewCart: function ( 156 // item_id, 157 // item_name, 158 // currency_code, 159 // position, 160 // item_brand, 161 // item_category, 162 // item_list_name, 163 // item_variant, 164 // quantity, 165 // contract_id, 166 // price, 167 // primary_number 168 // ) { 169 // window.dataLayer.push({ 170 // event: "view_cart", 171 // ecommerce: { 172 // currency: "LKR", // Currency Code 173 // value: price, 174 // items: [ 175 // { 176 // item_id: item_id, 177 // item_name: item_name, 178 // currency: currency_code, 179 // index: position, 180 // item_brand: item_brand, 181 // item_category: item_category, 182 // item_list_name: item_list_name, 183 // item_variant: item_variant, 184 // quantity: quantity, 185 // contract_id: contract_id, 186 // price: price, 187 // primary_number: primary_number, 188 // }, 189 // ], 190 // }, 191 // }); 192 // }, 193 194 addToCart: function ( 195 currency, 196 list, 197 name, 198 id, 199 price, 200 packages, 201 anyData, 202 nightData, 203 position, 204 quantity, 205 bonus 206 ) { 207 window.dataLayer.push({ 208 event: "addToCart", 209 ecommerce: { 210 currencyCode: currency, 211 add: { 212 actionField: { 213 list: list, 214 }, // List name where packages are shown. Possible values are âTailored Packagesâ, âAll Packagesâ, âPackages Comparisonâ, âOther Packagesâ 215 products: [ 216 { 217 name: `${name}`, // Name of package e.g. Office Ultra, Booster etc. 218 id: `${id}`, // SKU of package 219 price: `${price}`, // Price of package e.g. 6999.00, 16400.00 220 brand: packages, // HBB Packages 221 category: `Anytime Data - ${anyData}
221`, // E.g. âAnytime Data - 500 GBâ 222 variant: `Night Data - ${nightData}`, // E.g. Night Data 500 GB 223 position: position, // Position of item in the list 224 quantity: quantity, 225 dimension31: `${bonus}` != "" ? `${bonus}` : "Not Add", // First month bonus data value 226 }, 227 ], 228 }, 229 }, 230 }); 231 }, 232 233 dataAddOnProductImpression: function ( 234 name, 235 id, 236 price, 237 addonType, 238 category, 239 variant, 240 list, 241 position 242 ) { 243 window.dataLayer.push({ 244 event: "productImpressions", 245 ecommerce: { 246 impressions: [ 247 { 248 name: `${name}`, // Name of the pack e.g. 500 MB Anytime Data, 30 GB Data Quota etc. 249 id: `${id}`, // SKU of the pack 250 price: `${price}`, // Price of package e.g. 25.00, 120.00 etc. 251 brand: addonType, // HBB Addons 252 category: `${category}`, // E.g. Work and Learn Lite, Anytime Add On etc. 253 variant: `${variant}`, // Validity of pack e.g. â7 Days Validâ etc. 254 list: `${list}`, // List name where packages are shown. Example values are âGift Data Add Onsâ, âHome Broadband - Data Add Onsâ etc. 255 position: `${position}`, // Position of item in the list 256 }, 257 ], 258 }, 259 }); 260 }, 261 262 dataAddOnProductClick: function ( 263 list, 264 name, 265 id, 266 price, 267 packages, 268 category, 269 varient, 270 position 271 ) { 272 window.dataLayer.push({ 273 event: "productClick", 274 ecommerce: { 275 click: { 276 actionField: { 277 list: list, 278 }, // List name where packages are shown. Possible values are âTailored Packagesâ, âAll Packagesâ, âPackages Comparisonâ, âOther Packagesâ 279 products: [ 280 { 281 name: `${name}`, // Name of package e.g. Office Ultra, Booster etc. 282 id: `${id}`, // SKU of package 283 price: `${price}`, // Price of package e.g. 6999.00, 16400.00 284 brand: packages, // HBB Packages 285 category: `${category}`, // E.g. âAnytime Data - 500 GBâ 286 variant: `${varient}`, // E.g. Night Data 500 GB 287 position: position, // Position of item in the list 288 }, 289 ], 290 }, 291 }, 292 }); 293 }, 294 295 hbbAddonPromoImpression: function (name, id, creative, position) { 296 window.dataLayer.push({ 297 event: "promoImpressions", 298 ecommerce: { 299 promoView: { 300 promotions: [ 301 { 302 name: `${name}`, // Addon pack category name e.g. Data Add Ons 303 id: `${id}`, // ID of Addon pack category 304 creative: creative, // Section or Page name where the banner is shown 305 position: `${position}`, // Position 306 }, 307 ], 308 }, 309 }, 310 }); 311 }, 312 313 // 12.5.4 PROMOTION CLICK - DOR-42137 314 hbbAddonPromotionClick: function (name, id, creative, position) { 315 window.dataLayer.push({ 316 event: "promoClick", 317 ecommerce: { 318 promoClick: { 319 promotions: [ 320 { 321 name: `${name}`, // Addon pack category name e.g. Data Add Ons 322 id: `${id}`, // ID of Addon pack category 323 creative: creative, // Section or Page name where the banner is shown 324 position: `${position}`, // Position 325 }, 326 ], 327 }, 328 }, 329 }); 330 }, 331 332 // 9.2.4 DTV SECTIONS - DOR-42150 333 dtvSections: function ( 334 action, 335 label, 336 title, 337 channels, 338 price, 339 packName, 340 quicklinkMobile, 341 quicklinkcontractId, 342 quicklinkeMail 343 ) { 344 var quicklinkeMail = $("#my-account-dropdown") 345 .find(".dropdown-content .user-details span#email-for-ga360") 346 .text(); 347 var quicklinkMobile = $("#my-account-dropdown") 348 .find(".dropdown-content .user-details span#tele-for-ga360") 349 .text(); 350 var quicklinkcontractId = $("#my-account-dropdown") 351 .find(".dropdown-content .user-details span#cid-uuid-for-ga360") 352 .text(); 353 354 window.dataLayer.push({ 355 event: "dtvSections", 356 eventAction: action, // Title of the section from which an item is clicked e.g. âIs your area covered?â, âNeed more channels?â, etc. 357 eventLabel: label, // Clicked items e.g. Data Network, Get Now, Learn More etc. 358 bannerTitle: title, // Name of the banner shown under âLatest in Entertainmentâ section 359 channels: channels, // Applicable to âPackages tailored to give you...â section. E.g. â63 Channelsâ, â128 Channelsâ 360 price: price, // Applicable to âPackages tailored to give you...â section. E.g. âRs. 799.00 per monthâ 361 packName: packName, // Applicable to âNeed more channels?â section. E.g. âKids Packâ, âEducation Packâ 362 usermsisdn: quicklinkMobile != "" ? quicklinkMobile : "Not Add", // HASHED MSISDN - user level 363 ctridprimary: 364 quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 365 email: quicklinkeMail != "" ? quicklinkeMail : "Not Add", // HASHED email - user level 366 }); 367 }, 368 369 addonListings: function ( 370 addonType, 371 label, 372 category, 373 quicklinkMobile, 374 quicklinkcontractId, 375 quicklinkeMail 376 ) { 377 var quicklinkeMail = $("#my-account-dropdown") 378 .find(".dropdown-content .user-details span#email-for-ga360") 379 .text(); 380 var quicklinkMobile = $("#my-account-dropdown") 381 .find(".dropdown-content .user-details span#tele-for-ga360") 382 .text(); 383 var quicklinkcontractId = $("#my-account-dropdown") 384 .find(".dropdown-content .user-details span#cid-uuid-for-ga360") 385 .text(); 386 387 window.dataLayer.push({ 388 event: "hbbAddon", 389 eventAction: addonType, // âAddon Typeâ, âNavigationâ, âMore Detailsâ 390 eventLabel: `${label}`, // Clicked item. For âAddon Typeâ, pass âRental Packâ, âWork & Learnâ etc. For âNavigationâ, pass âLeft Arrowâ, âRight Arrowâ. For âMore Detailsâ, pass the title e.g. âAnytime Dataâ 391 addonCategory: category, // Only applicable in case of âNavigationâ. Pass âAnytime Dataâ, âRecurrent Packsâ, etc. In other cases, pass undefined 392 usermsisdn: quicklinkMobile != "" ? quicklinkMobile : "Not Add", // HASHED MSISDN - user level 393 ctridprimary: 394 quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 395 email: quicklinkeMail != "" ? quicklinkeMail : "Not Add", // HASHED email - user level 396 }); 397 }, 398 399 getContent: function (eId, label) { 400 var action = jQuery("#dtv-all-packages-with-carousal h2").text(); 401 jQuery(eId + " div.card.slick-active").each(function (index, element) { 402 var cElement = jQuery(element).children(); 403 var packName = jQuery(".badge-container p", cElement).text(); 404 var price = jQuery("h5", cElement).text(); 405 var channels = jQuery("h4", cElement).text(); 406 Drupal.behaviors.ga360.dtvSections( 407 action, 408 label, 409 undefined, 410 channels, 411 price, 412 packName, 413 undefined, 414 undefined, 415 undefined 416 ); 417 }); 418 }, 419 420 pushDataForTopLinkGoButton: function ( 421 event, 422 action, 423 label, 424 cNumber, 425 quicklinkMobile, 426 quicklinkcontractId, 427 quicklinkeMail 428 ) { 429 var quicklinkeMail = $("#my-account-dropdown") 430 .find(".dropdown-content .user-details span#email-for-ga360") 431 .text(); 432 var quicklinkMobile = $("#my-account-dropdown") 433 .find(".dropdown-content .user-details span#tele-for-ga360") 434 .text(); 435 var quicklinkcontractId = $("#my-account-dropdown") 436 .find(".dropdown-content .user-details span#cid-uuid-for-ga360") 437 .text(); 438 439 window.dataLayer.push({ 440 event: event, 441 eventAction: action, // âDTVâ, âIn Homeâ, âVIU Miniâ, âViU Hubâ, âHBB Landingâ, âHBB Prepaidâ, âHBB Postpaidâ 442 eventLabel: label, // Search bar title e.g. Paybill & Reload 443 connectionNumber: cNumber != "" ? cNumber : "Not Add", // Encrypted connection number 444 usermsisdn: quicklinkMobile != "" ? quicklinkMobile : "Not Add", // HASHED MSISDN - user level 445 ctridprimary: 446 quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 447 email: quicklinkeMail != "" ? quicklinkeMail : "Not Add", // HASHED email - user level 448 }); 449 }, 450 451 dataPushForTopLinks: function (action) { 452 window.dataLayer.push({ 453 event: "dtvTopPanel", 454 eventAction: action, // selected item name e.g. Activate Channel 455 usermsisdn: undefined, // HASHED MSISDN - user level 456 ctridprimary: undefined, // primary contract ID 457 email: undefined, // HASHED email - user level 458 }); 459 }, 460 461 dataPushForFAQClick: function ( 462 action, 463 label, 464 quicklinkMobile, 465 quicklinkcontractId, 466 quicklinkMobile 467 ) { 468 var quicklinkeMail = $("#my-account-dropdown") 469 .find(".dropdown-content .user-details span#email-for-ga360") 470 .text(); 471 var quicklinkMobile = $("#my-account-dropdown") 472 .find(".dropdown-content .user-details span#tele-for-ga360") 473 .text(); 474 var quicklinkcontractId = $("#my-account-dropdown") 475 .find(".dropdown-content .user-details span#cid-uuid-for-ga360") 476 .text(); 477 478 window.dataLayer.push({ 479 event: "FAQ", 480 eventAction: action, 481 eventLabel: label, 482 usermsisdn: quicklinkMobile != "" ? quicklinkMobile : "Not Add", // HASHED MSISDN - user level 483 ctridprimary: 484 quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 485 email: quicklinkeMail != "" ? quicklinkeMail : "Not Add", // HASHED email - user level 486 }); 487 }, 488 489 dataPushForLoginClick: function (action, quicklinkcontractId) { 490 var quicklinkcontractId = $("#my-account-dropdown") 491 .find(".dropdown-content .user-details span#cid-uuid-for-ga360") 492 .text(); 493 494 window.dataLayer.push({ 495 event: action, 496 ctridprimary: 497 quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", 498 }); 499 }, 500 501 productClickOnDTVPackages: function ( 502 list, 503 name, 504 sku, 505 price, 506 category, 507 variant, 508 position 509 ) { 510 window.dataLayer.push({ 511 event: "productClick", 512 ecommerce: { 513 click: { 514 actionField: { 515 list: list, 516 }, // List name where packages are shown. Possible values are âTailored Packagesâ, âAll Packagesâ, âPackages Comparisonâ 517 products: [ 518 { 519 name: name, // Number of channels e.g. 64 Channels, 94 Channels 520 id: sku, // SKU of channel package 521 price: price, // Price of package e.g. 999.00, 1199.00 522 brand: "DTV Packages", // DTV Packages 523 category: category, // Package type e.g. Thee, Silver, Gold 524 variant: variant, // E.g. âSeasonal Offer - 40â etc. 525 position: position, // Position of item in the list 526 dimension29: undefined, // If Additional Channel Activation is available, pass âTrueâ or else âfalseâ 527 dimension30: undefined, // If Special Promotion is available, pass âTrueâ or else âfalseâ 528 }, 529 ], 530 }, 531 }, 532 }); 533 }, 534 535 dtvPackageComparison: function ( 536 action, 537 label, 538 pName, 539 price, 540 sOffer, 541 activation, 542 quicklinkMobile, 543 quicklinkcontractId, 544 quicklinkMobile 545 ) { 546 var quicklinkeMail = $("#my-account-dropdown") 547 .find(".dropdown-content .user-details span#email-for-ga360") 548 .text(); 549 var quicklinkMobile = $("#my-account-dropdown") 550 .find(".dropdown-content .user-details span#tele-for-ga360") 551 .text(); 552 var quicklinkcontractId = $("#my-account-dropdown") 553 .find(".dropdown-content .user-details span#cid-uuid-for-ga360") 554 .text(); 555 556 window.dataLayer.push({ 557 event: "dtvPackageComparison", 558 eventAction: action, // âCompare Packagesâ, âPackage Dropdownâ, âMore Detailsâ 559 eventLabel: label, // undefined in case of Compare Packages, package name (Silver, Gold etc.) in case of Package Dropdown, number of channels (64 Channels) etc. in case of More Details 560 package: pName, // Applicable to More Details. E.g. Silver, Gold etc. If not applicable, pass undefined 561 price: price, // E.g. âRs. 999.00 per monthâ. In case of Compare Packages, pass undefined 562 seasonalOffer: sOffer, // E.g. 30, 40, 50 etc. In case of Compare Packages, pass undefined 563 additionalChannelActivation: activation, // E.g. Yes, No. In case of Compare Packages, pass undefined 564 usermsisdn: quicklinkMobile != "" ? quicklinkMobile : "Not Add", // HASHED MSISDN - user level 565 ctridprimary: 566 quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 567 email: quicklinkeMail != "" ? quicklinkeMail : "Not Add", // HASHED email - user level 568 }); 569 }, 570 571 dtvPackageChannelComparison: function ( 572 action, 573 label, 574 quicklinkMobile, 575 quicklinkcontractId, 576 quicklinkeMail 577 ) { 578 var quicklinkeMail = $("#my-account-dropdown") 579 .find(".dropdown-content .user-details span#email-for-ga360") 580 .text(); 581 var quicklinkMobile = $("#my-account-dropdown") 582 .find(".dropdown-content .user-details span#tele-for-ga360") 583 .text(); 584 var quicklinkcontractId = $("#my-account-dropdown") 585 .find(".dropdown-content .user-details span#cid-uuid-for-ga360") 586 .text(); 587 588 window.dataLayer.push({ 589 event: "dtvPackageChannelComparison", 590 eventAction: action, // Pass âNavigationâ on click of left and right arrow selection. Pass package name (Kids, All Channels etc.) on click of packages. 591 eventLabel: label, // In case of Navigation, pass âLeftâ or âRight. In case of package name, pass number of channels e.g â7 Channelsâ, â14 Channelsâ etc. 592 usermsisdn: quicklinkMobile != "" ? quicklinkMobile : "Not Add", // HASHED MSISDN - user level 593 ctridprimary: 594 quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 595 email: quicklinkeMail != "" ? quicklinkeMail : "Not Add", // HASHED email - user level 596 }); 597 }, 598 599 productImpressionsDTV: function ( 600 name, 601 id, 602 price, 603 category, 604 variant, 605 list, 606 position, 607 dimension29, 608 dimension30 609 ) { 610 window.dataLayer.push({ 611 event: "productImpression", 612 ecommerce: { 613 impressions: [ 614 { 615 name: name, // Number of channels e.g. 64 Channels, 94 Channels 616 id: id, // SKU of channel package 617 price: price, // Price of package e.g. 999.00, 1199.00 618 brand: "DTV Packages", // DTV Packages 619 category: category, // Package type e.g. Thee, Silver, Gold 620 variant: variant, // E.g. âSeasonal Offer - 40â etc. 621 list: list, // List name where packages are shown. Possible values are âTailored Packagesâ, âAll Packagesâ, âPackages Comparisonâ 622 position: position, // Position of item in the list 623 dimension29: dimension29, // If Additional Channel Activation is available, pass âTrueâ or else âfalseâ 624 dimension30: dimension30, // If Special Promotion is available, pass âTrueâ or else âfalseâ 625 }, 626 ], 627 }, 628 }); 629 }, 630 631 // Self Activation Custom Events 632 selfActivationStartPage: function () { 633 if (document.getElementById("tele-for-ga360") != null) { 634 sessionStorage.removeItem('primary_number_ga360'); 635
635 sessionStorage.setItem('primary_number_ga360', document.getElementById("tele-for-ga360").innerHTML); 636 } else { 637 sessionStorage.removeItem('primary_number_ga360'); 638 sessionStorage.setItem('primary_number_ga360', "Not Add"); 639 } 640 if (document.querySelector('input[id="radio-srilanka"]:checked') != null) { 641 user_type = "sri lankan" 642 } else { 643 user_type = "foreigner" 644 } 645 sessionStorage.setItem("clicked_ga360_user_type", user_type); 646 647 window.dataLayer.push({ 648 event: "self_activation", 649 ecommerce: { 650 items: [ 651 { 652 event_category: "Self Activation", 653 event_action: "click", 654 event_label: "start activation", 655 user_type: user_type, 656 }, 657 ], 658 }, 659 }); 660 }, 661 662 selfActivationStartPageCompatabilityError: function () { 663 if (document.getElementById('radio-srilanka').checked) { 664 user_type = "sri lankan" 665 } else { 666 user_type = "foreigner" 667 } 668 window.dataLayer.push({ 669 event: "self_activation_error", 670 ecommerce: { 671 items: [ 672 { 673 event_category: "Self activation", 674 event_action: "click", 675 event_label: "error screen", 676 user_type: user_type, 677 error_detail: "browser isn't compatible", 678 }, 679 ], 680 }, 681 }); 682 }, 683 684 selfActivationVideo: function () { 685 if (document.getElementById('radio-srilanka').checked) { 686 user_type = "sri lankan" 687 } else { 688 user_type = "foreigner" 689 } 690 window.dataLayer.push({ 691 event: "self_activation_video", 692 ecommerce: { 693 items: [ 694 { 695 event_category: "Self activation", 696 event_action: "click", 697 event_label: "how to video", 698 user_type: user_type, 699 }, 700 ], 701 }, 702 }); 703 }, 704 705 selfActivationSelectPackage: function (eventParameters) { 706 707 window.dataLayer.push({ 708 event: "self_activation_select_package_update", 709 ecommerce: { 710 items: [ 711 { 712 event_category: "Self Activation", 713 event_action: "package update", 714 event_label: eventParameters.plan_name,
715 user_type: eventParameters.user_type, 716 package_type: eventParameters.package_type, 717 plan_selected: eventParameters.plan_selected, 718 plan_name: eventParameters.plan_name, 719 plan_cost: eventParameters.plan_cost, 720 add_on: eventParameters.plan_name, 721 }, 722 ], 723 }, 724 }); 725 }, 726 727 selfActivationSimDetails: function (eventParameters) { 728 window.dataLayer.push({ 729 event: "self_activation_sim_details", 730 ecommerce: { 731 items: [ 732 { 733 event_category: "Self Activation", 734 event_action: "Sim details - find button", 735 event_label: eventParameters.plan_name, 736 user_type: eventParameters.user_type, 737 package_type: eventParameters.package_type, 738 plan_selected: eventParameters.plan_selected, 739 plan_name: eventParameters.plan_name, 740 plan_cost: eventParameters.plan_cost, 741 add_on: eventParameters.plan_name, 742 }, 743 ], 744 }, 745 }); 746 }, 747 748 selfActivationContactDetails: function () { 749 package_type = (drupalSettings.self_activation_row["paid_mode"]).toLowerCase() 750 plan_selected = JSON.parse(drupalSettings.self_activation_row["more_data"]).packageName 751 plan_name = sessionStorage.getItem('packageList') 752 plan_cost = Number(sessionStorage.getItem('price_ga360')) 753 754 if (Drupal.behaviors.global_validations.validateEmail(document.getElementById("validateEmail").value)) { 755 event_label = "button click" 756 } else { 757 event_label = "Error screen" 758 } 759 760 if (document.getElementById("change-contact-details") != null) { 761 event_label = "details changed" 762 } 763 764 if (drupalSettings.self_activation_row["is_foreigner"] == "0") { 765 user_type = "sri lankan" 766 } else { 767 user_type = "foreigner" 768 } 769 770 suffix = ""; 771 if (event_label == "Error screen") { 772 suffix = "_details_error"; 773 } else if (event_label == "details changed") { 774 suffix = "_change_details"; 775 } else { 776 suffix = "_details"; 777 } 778 window.dataLayer.push({ 779 event: "self_activation_contact".concat(suffix), 780 ecommerce: { 781 items: [ 782 { 783 event_category: "Self Activation", 784 event_action: "contact details", 785 event_label: event_label, 786 user_type: user_type, 787 package_type: package_type, 788 plan_selected: plan_selected, 789 plan_name: plan_name, 790 plan_cost: plan_cost, 791 add_on: plan_name, 792 }, 793 ], 794 }, 795 }); 796 }, 797 798 selfActivationSelectNumber: function (eventParameters) { 799 suffix = ""; 800 if (eventParameters.event_label == "random number") { 801 suffix = "_random"; 802 } else if (eventParameters.event_label == "search number") { 803 eventParameters.event_label = event_label 804 Drupal.behaviors.ga360.selfActivationSelectNumberSearch(eventParameters) 805 return 806 } 807 window.dataLayer.push({ 808 event: "self_activation_select_number".concat(suffix), 809 ecommerce: { 810 items: [ 811 { 812 event_category: "Self Activation", 813 event_action: "select number", 814 event_label: event_label,
815 user_type: eventParameters.user_type, 816 package_type: eventParameters.package_type, 817 plan_selected: eventParameters.plan_selected, 818 plan_name: eventParameters.plan_name, 819 plan_cost: eventParameters.plan_cost, 820 add_on: eventParameters.plan_name, 821 }, 822 ], 823 }, 824 }); 825 }, 826 827 selfActivationSelectNumberSearch: function (eventParameters) { 828 if (document.querySelector('input[id="customControlValidation3"]:checked') != null) { 829 filter_selection = "includes" 830 } else if (document.querySelector('input[id="customControlValidation4"]:checked') != null) { 831 filter_selection = "starts with" 832 } else if (document.querySelector('input[id="customControlValidation5"]:checked') != null) { 833 filter_selection = "ends with" 834 } 835 window.dataLayer.push({ 836 event: "self_activation_select_number_search", 837 ecommerce: { 838 items: [ 839 { 840 event_category: "Self Activation", 841 event_action: "select number", 842 event_label: event_label,
843 user_type: eventParameters.user_type, 844 package_type: eventParameters.package_type, 845 plan_selected: eventParameters.plan_selected, 846 plan_name: eventParameters.plan_name, 847 plan_cost: eventParameters.plan_cost, 848 add_on: eventParameters.plan_name, 849 filter_selection: filter_selection, 850 }, 851 ], 852 }, 853 }); 854 }, 855 856 // Self Activation Ecommerce 857 858 SAItems: function ( 859 860 // Parents function for events: view_item_list, select_item, view_item, add_to_cart 861 event, 862 ) { 863 864 // Initializing event parameters common to the four events 865 if (drupalSettings.self_activation_row["is_foreigner"] == "0") { 866 user_type = "sri lankan" 867 } else { 868 user_type = "foreigner" 869 } 870 871 event_label = undefined 872 873 switch (event) { 874 case "view_item_list": 875 // VIEW_ITEM_LIST LOGIC 876 877 // Defining event parameters plan_selected and plan_name 878 if (document.querySelector('a[id="nav-postpaid-tab"]').ariaSelected == 'true') { 879 item_category = "postpaid" 880 // Postpaid flow 881 // Capturing the selected package 882 if (document.querySelector('div[id="postpaid-tab"] div[class="card main-card border-radius-8 mb-3 active-card"] p[class="type-3 selected-package-name"]') == null) { 883 item_name = undefined 884 } else { 885 item_name = document.querySelector('div[id="postpaid-tab"] div[class="card main-card border-radius-8 mb-3 active-card"] p[class="type-3 selected-package-name"]') 886 .innerHTML.replace("&", "&") 887 } 888 889 // Initializing price, item_id, index and item_category parameters 890 price = Number((((document.querySelector('div[id="postpaid-tab"] div[class="card main-card border-radius-8 mb-3 active-card"] p[class="type-3 font-weight-700"]') 891 .innerHTML) 892 .replace("\n", "")).trim()).replace("Rs. ", "")) 893 894 item_id = document.querySelector('div[id="postpaid-tab"] div[class="card main-card border-radius-8 mb-3 active-card"] p[class="pcardID d-none"]') 895 .innerHTML 896 897 // Compiling a list of packages available 898 packList = [] 899 packNodeList = document.querySelectorAll('div[id="postpaid-tab"] div[paktype="postpaid"]') 900 packNodeList.forEach((pack) => { 901 // String formatting (converting "&" to "") 902 packList.push((pack.querySelector('p[class="type-3 selected-package-name"]').innerHTML).replace("&", "&")) 903 // Converting packList array to a string 904 packageList = packList.toString() 905 }) 906 907 index = packList.indexOf(item_name) + 1 908 909 } else { 910 item_category = "prepaid" 911 // Prepaid flow 912 // Capturing the selected package 913 if (document.querySelector('div[id="prepaid-tab"] div[class="card main-card border-radius-8 mb-3 active-card"] p[class="type-3 selected-package-name"]') == null) { 914 item_name = undefined 915 } else { 916 item_name = document.querySelector('div[id="prepaid-tab"] div[class="card main-card border-radius-8 mb-3 active-card"] p[class="type-3 selected-package-name') 917 .innerHTML.replace("&", "&") 918 } 919 920 // Initializing price, item_id, index and item_category parameters 921 price = Number(document.querySelector('div[id="prepaid-tab"] div[class="card main-card border-radius-8 mb-3 active-card"] p[class="type-3 font-weight-700"]') 922 .innerHTML 923 .replace("\n", "").trim().replace("Rs. ", "")) 924 925 item_id = document.querySelector('div[id="prepaid-tab"] div[class="card main-card border-radius-8 mb-3 active-card"] p[class="pcardID d-none"]') 926 .innerHTML 927 928 // Compiling a list of packages available 929 packList = [] 930 packNodeList = document.querySelectorAll('div[id="prepaid-tab"] div[paktype="prepaid"]') 931 packNodeList.forEach((pack) => { 932 // String formatting (converting "&" to "") 933 packList.push((pack.querySelector('p[class="type-3 selected-package-name"]').innerHTML).replace("&", "&"))
934 // Converting packList array to a string 935 packageList = packList.toString() 936 937 sessionStorage.setItem("clicked_ga360_plan_name", packageList); 938 939 }) 940 941 index = packList.indexOf(item_name) + 1 942 943 } 944 sessionStorage.removeItem('price_ga360'); 945 sessionStorage.setItem('price_ga360', price); 946 sessionStorage.removeItem('packageList'); 947 sessionStorage.setItem('packageList', packageList); 948 // To be passed to customEvents 949 plan_name = sessionStorage.getItem('packageList'); 950 sessionStorage.removeItem('index'); 951 sessionStorage.setItem('index', index); 952 // Adding primary_number to session storage 953 primary_number = sessionStorage.getItem('primary_number_ga360'); 954 break 955 case "select_item": 956 item_id = (drupalSettings.self_activation_row["selected_package"]).toLowerCase() 957 item_name = JSON.parse(drupalSettings.self_activation_row["more_data"]).packageName 958 index = Number(sessionStorage.getItem('index')); 959 item_category = (drupalSettings.self_activation_row["paid_mode"]).toLowerCase() 960 price = Number(sessionStorage.getItem('price_ga360')) 961 primary_number = sessionStorage.getItem('primary_number_ga360'); 962 963 // To be passed to customEvents 964 plan_name = sessionStorage.getItem('packageList'); 965 966 break 967 case "view_item": 968 item_id = (drupalSettings.self_activation_row["selected_package"]).toLowerCase() 969 item_name = JSON.parse(drupalSettings.self_activation_row["more_data"]).packageName 970 index = Number(sessionStorage.getItem('index')); 971 item_category = (drupalSettings.self_activation_row["paid_mode"]).toLowerCase() 972 price = Number(sessionStorage.getItem('price_ga360')) 973 primary_number = sessionStorage.getItem('primary_number_ga360'); 974 975 // To be passed to customEvents 976 plan_name = sessionStorage.getItem('packageList'); 977 break 978 case "add_to_cart": 979 item_id = (drupalSettings.self_activation_row["selected_package"]).toLowerCase() 980 item_name = JSON.parse(drupalSettings.self_activation_row["more_data"]).packageName 981 index = Number(sessionStorage.getItem('index')); 982 item_category = (drupalSettings.self_activation_row["paid_mode"]).toLowerCase() 983 price = Number(sessionStorage.getItem('price_ga360')) 984 primary_number = sessionStorage.getItem('primary_number_ga360'); 985 986 if (document.querySelector('div[class="number-pool-block d-none"]') != null) { 987 event_label = "next button" 988 } else if (document.getElementById("nav-selectN-tab-1").ariaSelected == "true") { 989 event_label = "random number" 990 } else if (document.getElementById("nav-selectN-tab-2").ariaSelected == "true") { 991 event_label = "search number" 992 } 993 994 // To be passed to customEvents 995 plan_name = sessionStorage.getItem('packageList'); 996 break 997 } 998 999 window.dataLayer.push({ 1000 event: event, 1001 ecommerce: { 1002 currency: "LKR", 1003 items: [ 1004 { 1005 item_id: item_id, 1006 item_name: item_name, 1007 index: index, 1008 item_category: item_category, 1009 item_list_name: "self activation", 1010 primary_number: primary_number, 1011 price: price, 1012 quantity: 1, 1013 }, 1014 ], 1015 }, 1016 }); 1017 // Creating a json of event parameters to pass to the selfActivationSelectPackage 1018 let eventParameters = { 1019 event_label: event_label, 1020 plan_name: plan_name, 1021 user_type: user_type, 1022 package_type: item_category, 1023 plan_selected: item_name, 1024 plan_cost: price 1025 } 1026 return eventParameters 1027 }, 1028 1029 SAIdVerification: function () { 1030 item_id = drupalSettings.self_activation_row["selected_package"] 1031 item_category = (drupalSettings.self_activation_row["paid_mode"]).toLowerCase() 1032 item_name = JSON.parse(drupalSettings.self_activation_row["more_data"]).packageName 1033 price = Number(sessionStorage.getItem('price_ga360')) 1034 1035 primary_number = sessionStorage.getItem('primary_number_ga360'); 1036 index = Number(sessionStorage.getItem('index')); 1037
1038 if (document.querySelector('div[id="nav-tab"] div[id="nav-nic-tab"]').className == "text-center tab-card active") { 1039 verification_method = "nic" 1040 } else if (document.querySelector('div[id="nav-tab"] div[id="nav-nic-tab"]').className == "text-center active tab-card") { 1041 verification_method = "nic" 1042 } else if (document.querySelector('div[id="nav-tab"] div[id="nav-license-tab"]').className == "text-center tab-card active") { 1043 verification_method = "license" 1044 } else { 1045 verification_method = "passport" 1046 } 1047 1048 window.dataLayer.push({ 1049 event: "view_cart", 1050 ecommerce: { 1051 currency: "LKR", 1052 items: [ 1053 { 1054 item_id: item_id, 1055 item_name: item_name, 1056 index: index, 1057 item_category: item_category, 1058 item_list_name: "self activation", 1059 primary_number: primary_number, 1060 price: price, 1061 quantity: 1, 1062 verification_method: verification_method, 1063 }, 1064 ], 1065 }, 1066 }); 1067 }, 1068 1069 SABeginCheckout: function () { 1070 item_id = drupalSettings.self_activation_row["selected_package"] 1071 item_category = (drupalSettings.self_activation_row["paid_mode"]).toLowerCase() 1072 item_name = JSON.parse(drupalSettings.self_activation_row["more_data"]).packageName 1073 price = Number(sessionStorage.getItem('price_ga360')) 1074 1075 primary_number = sessionStorage.getItem('primary_number_ga360'); 1076 index = Number(sessionStorage.getItem('index')); 1077 1078 verification_method = (document.querySelector('button[data-id="address-verify-local-dropdown"]').title).toLowerCase() 1079 1080 if (verification_method == "select from the list") { 1081 verification_method == undefined 1082 } 1083 1084 window.dataLayer.push({ 1085 event: "begin_checkout", 1086 ecommerce: { 1087 currency: "LKR", 1088 items: [ 1089 { 1090 item_id: item_id, 1091 item_name: item_name, 1092 index: index, 1093 item_category: item_category, 1094 item_list_name: "self activation", 1095 primary_number: primary_number, 1096 price: price, 1097 quantity: 1, 1098 verification_method: verification_method, 1099 }, 1100 ], 1101 }, 1102 }); 1103 }, 1104 1105 SAAddShippingInfo: function () { 1106 item_id = drupalSettings.self_activation_row["selected_package"] 1107 item_category = (drupalSettings.self_activation_row["paid_mode"]).toLowerCase() 1108 item_name = JSON.parse(drupalSettings.self_activation_row["more_data"]).packageName 1109 price = Number(sessionStorage.getItem('price_ga360')) 1110 1111 primary_number = sessionStorage.getItem('primary_number_ga360'); 1112 index = Number(sessionStorage.getItem('index')); 1113 1114 window.dataLayer.push({ 1115 event: "add_shipping_info", 1116 ecommerce: { 1117 currency: "LKR", 1118 items: [ 1119 { 1120 item_id: item_id, 1121 item_name: item_name, 1122 index: index, 1123 item_category: item_category, 1124 item_list_name: "self activation", 1125 primary_number: primary_number, 1126 price: price, 1127 quantity: 1, 1128 }, 1129 ], 1130 }, 1131 }); 1132 }, 1133 1134 SAAddPaymentInfo: function () { 1135 1136 var SA_value = undefined, 1137 SA_value = document.querySelector('.ga360-value')?.textContent.trim(), 1138 1139 // Initializing parameters 1140 item_id = drupalSettings.self_activation_row["selected_package"]; 1141 item_category = drupalSettings.self_activation_row["paid_mode"]; 1142 item_name = JSON.parse(drupalSettings.self_activation_row["more_data"]).packageName 1143 price = Number(sessionStorage.getItem('price_ga360')) 1144 index = Number(sessionStorage.getItem('index')); 1145 primary_number = sessionStorage.getItem('primary_number_ga360'); 1146 1147 if (drupalSettings.self_activation_row["paid_mode"] == "postpaid") { 1148 if (document.getElementById("VISA-tab").className =="card border-radius-common payment-button mb-3 p-3 payment-card active-card") { 1149 payment_type = "credit card"; 1150 } else if (document.getElementById("AMEX-tab").className =="card border-radius-common payment-button mb-3 p-3 payment-card active-card") { 1151 payment_type = "credit card"; 1152 } else { 1153 payment_type = "genie"; 1154 } 1155 } else { 1156 payment_type = undefined 1157 } 1158 1159 1160 window.dataLayer.push({ 1161 event: "add_payment_info", 1162 ecommerce: { 1163 currency: "LKR", 1164 value: SA_value, 1165 1166 items: [ 1167 { 1168 item_id: item_id, 1169 item_name: item_name, 1170 index: index, 1171 item_category: item_category, 1172 item_list_name: "self activation", 1173 primary_number: primary_number, 1174 price: price, 1175 quantity: 1, 1176 payment_type: payment_type, 1177 }, 1178 ], 1179 }, 1180 }); 1181 }, 1182 1183 SAPurchase: function () { 1184 1185 // Initializing paramters 1186 tax = undefined; 1187 shipping = undefined; 1188 item_id = drupalSettings.self_activation_row["selected_package"]; 1189 item_name = JSON.parse(drupalSettings.self_activation_row["more_data"]).packageName; 1190 index = Number(sessionStorage.getItem('index')); 1191 item_category = drupalSettings.self_activation_row["paid_mode"]; 1192 primary_number = sessionStorage.getItem('primary_number_ga360'); 1193 price = Number(sessionStorage.getItem('price_ga360')) 1194 value = price 1195 1196 if (drupalSettings.self_activation_row["paid_mode"] == "postpaid") { 1197 payment_type = drupalSettings.self_activation_row["payment_type"]; 1198 switch (payment_type) { 1199 case "GENIE": 1200 payment_type = "genie"; 1201 case "AMEX": 1202 payment_type = "AMEX"; 1203 case "VISA":
1204 payment_type = "VISA"; 1205 case "MASTER": 1206 payment_type = "Master Card"; 1207 case "CARD_PAYMENT": 1208 payment_type = "CARD PAYMENT"; 1209 } 1210 transaction_id = drupalSettings.self_activation_row["ipg_ref"] 1211 } else { 1212 payment_type = undefined 1213 transaction_id = undefined 1214 } 1215 1216 var SA_value = undefined 1217 SA_value = document.querySelector('.SA-ga360-value')?.textContent.trim(); 1218 1219 window.dataLayer.push({ 1220 event: "purchase", 1221 ecommerce: { 1222 currency: "LKR", 1223 value: SA_value, 1224 items: [ 1225 { 1226 transaction_id: transaction_id, 1227 tax: tax, 1228 shipping: shipping, 1229 item_id: item_id, 1230 item_name: item_name, 1231 index: index, 1232 item_category: item_category, 1233 item_list_name: "self activation", 1234 primary_number: primary_number, 1235 price: price, 1236 quantity: 1, 1237 payment_type: payment_type, 1238 }, 1239 ], 1240 }, 1241 }); 1242 }, 1243 1244 listOfChannelsDTV: function ( 1245 action, 1246 label, 1247 title, 1248 quicklinkMobile, 1249 quicklinkcontractId, 1250 quicklinkeMail 1251 ) { 1252 var quicklinkeMail = $("#my-account-dropdown") 1253 .find(".dropdown-content .user-details span#email-for-ga360") 1254 .text(); 1255 var quicklinkMobile = $("#my-account-dropdown") 1256 .find(".dropdown-content .user-details span#tele-for-ga360") 1257 .text(); 1258 var quicklinkcontractId = $("#my-account-dropdown") 1259 .find(".dropdown-content .user-details span#cid-uuid-for-ga360") 1260 .text(); 1261 1262 window.dataLayer.push({ 1263 event: "listOfChannels", 1264 eventAction: action, // Pass âNavigationâ on click of left and right arrow selection. Pass package name (Sports, Movies etc.) on click of packages. 1265 eventLabel: label, // In case of Navigation, pass âLeftâ or âRight. In case of package name, pass number of channels e.g â5 Channelsâ, â14 Channelsâ etc. 1266 bannerTitle: title, // Section title e.g. âChannels included in Gold packageâ 1267 usermsisdn: quicklinkMobile != "" ? quicklinkMobile : "Not Add", // HASHED MSISDN - user level 1268 ctridprimary: 1269 quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 1270 email: quicklinkeMail != "" ? quicklinkeMail : "Not Add", // HASHED email - user level 1271 }); 1272 }, 1273 1274 productClickOurOtherPack: function ( 1275 list, 1276 name, 1277 id, 1278 price, 1279 category, 1280 position 1281 ) { 1282 window.dataLayer.push({ 1283 event: "productClick", 1284 ecommerce: { 1285 click: { 1286 actionField: { 1287 list: list, 1288 }, // List name where packages are shown. Example values are âBundles that include Rupavahini channelâ, âNeed More Channelsâ, âAll Channel Packsâ etc. 1289 products: [ 1290 { 1291 name: name, // Number of channels e.g. 8 Channels, 6 Channels 1292 id: id, // SKU of channel pack 1293 price: price, // Price of pack e.g. 199.00 1294 brand: "DTV Channel Packs", // DTV Channel Packs 1295 category: category, // Pack type e.g. Kids Pack, Education Pack 1296 variant: undefined, 1297 position: position, // Position of item in the list 1298 }, 1299 ], 1300 }, 1301 }, 1302 }); 1303 }, 1304 1305 productImpressionsDTVBundle: function ( 1306 name, 1307 id, 1308 price, 1309 category, 1310 list, 1311 position 1312 ) { 1313 window.dataLayer.push({ 1314 event: "productImpressions", 1315 ecommerce: { 1316 impressions: [ 1317 { 1318 name: name, // Number of channels e.g. 8 Channels, 6 Channels 1319 id: id, // SKU of channel pack 1320 price: price, // Price of pack e.g. 199.00 1321 brand: "DTV Channel Packs", // DTV Channel Packs 1322 category: category, // Pack type e.g. Kids Pack, Education Pack 1323 variant: undefined, 1324 list: list, // List name where packages are shown. Example values are â
1324Bundles that include Rupavahini channelâ, âNeed More Channelsâ, âAll Channel Packsâ etc. 1325 position: position, // Position of item in the list 1326 }, 1327 ], 1328 }, 1329 }); 1330 }, 1331 1332 dtvChannelSearch: function (action) { 1333 window.dataLayer.push({ 1334 event: "dtvChannelSearch", 1335 eventAction: action, // Search term 1336 usermsisdn: undefined, // HASHED MSISDN - user level 1337 ctridprimary: undefined, // primary contract ID 1338 email: undefined, // HASHED email - user level 1339 }); 1340 }, 1341 1342 genericQuickLinkEvent: function ( 1343 eventName, 1344 action, 1345 quicklinkMobile, 1346 quicklinkcontractId, 1347 quicklinkeMail 1348 ) { 1349 var quicklinkeMail = $("#my-account-dropdown") 1350 .find(".dropdown-content .user-details span#email-for-ga360") 1351 .text(); 1352 var quicklinkMobile = $("#my-account-dropdown") 1353 .find(".dropdown-content .user-details span#tele-for-ga360") 1354 .text(); 1355 var quicklinkcontractId = $("#my-account-dropdown") 1356 .find(".dropdown-content .user-details span#cid-uuid-for-ga360") 1357 .text(); 1358 1359 window.dataLayer.push({ 1360 event: eventName, 1361 eventAction: action, // selected item name e.g.Buy ViU Mini 1362 usermsisdn: quicklinkMobile != "" ? quicklinkMobile : "Not Add", // HASHED MSISDN - user level 1363 ctridprimary: 1364 quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 1365 email: quicklinkeMail != "" ? quicklinkeMail : "Not Add", // HASHED email - user level 1366 }); 1367 }, 1368 1369 inHomeSections: function (action, label, title, msisdn, primary, email) { 1370 window.dataLayer.push({ 1371 event: "inHomeSections", 1372 eventAction: action, // Title of the section from which an item is clicked e.g. âIs your area covered?â,âFor all your entertainment needsâ, etc. 1373 eventLabel: label, // Clicked items e.g. Data Network, Buy Now, Learn More etc. 1374 bannerTitle: title, // âLatest in Entertainmentâ, âDialog TVâ, âViU Miniâ etc. 1375 usermsisdn: msisdn, // HASHED MSISDN - user level 1376 ctridprimary: primary, // primary contract ID 1377 email: email, // HASHED email - user level 1378 }); 1379 }, 1380 1381 inHomeMegaMenu: function (action, label, destUrl, msisdn, primary, email) { 1382 window.dataLayer.push({ 1383 event: "inHomeMegaMenu", 1384 eventAction: action, // Category e.g. Mobile, Shop, Support etc. 1385 eventLabel: label, // Clicked item e.g. Prepaid, Mobile etc. 1386 destinationUrl: destUrl, // Destination URL 1387 usermsisdn: msisdn, // HASHED MSISDN - user level 1388 ctridprimary: primary, // primary contract ID 1389 email: email, // HASHED email - user level 1390 }); 1391 }, 1392 1393 hbbPackageSections: function ( 1394 action, 1395 label, 1396 packName, 1397 price, 1398 category, 1399 quicklinkMobile, 1400 quicklinkcontractId, 1401 quicklinkeMail 1402 ) { 1403 var quicklinkeMail = $("#my-account-dropdown") 1404 .find(".dropdown-content .user-details span#email-for-ga360") 1405 .text(); 1406 var quicklinkMobile = $("#my-account-dropdown") 1407 .find(".dropdown-content .user-details span#tele-for-ga360") 1408 .text(); 1409 var quicklinkcontractId = $("#my-account-dropdown") 1410 .find(".dropdown-content .user-details span#cid-uuid-for-ga360") 1411 .text(); 1412 1413 window.dataLayer.push({ 1414 event: "hbbPackageSections", 1415 eventAction: action, // Clicked items e.g. Get Now, Buy Now, Lite Plus, Learn More etc. 1416 eventLabel: label, // Name of the section from which an item is clicked e.g. Wifi Extender 1417 packageName: packName, // Applicable to âSpecial Promotionâ button click. E.g. 200GB Anytime Data Quota 1418 price: price, // Applicable to âSpecial Promotionâ button click. E.g. Rs. 6900.00 per month 1419 packageCategory: category, // Applicable to âSpecial Promotionâ button click. E.g. Office Ultra, Booster, etc. 1420 usermsisdn: quicklinkMobile != "" ? quicklinkMobile : "Not Add", // HASHED MSISDN - user level 1421 ctridprimary: 1422 quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 1423 email: quicklinkeMail != "" ? quicklinkeMail : "Not Add", // HASHED email - user level 1424 }); 1425 }, 1426 1427 // 12.1.4 HBB SECTIONS - DOR-42111
1428 hbbSections: function ( 1429 action, 1430 label, 1431 title, 1432 pName, 1433 price, 1434 category, 1435 quicklinkMobile, 1436 quicklinkcontractId, 1437 quicklinkeMail 1438 ) { 1439 var quicklinkeMail = $("#my-account-dropdown") 1440 .find(".dropdown-content .user-details span#email-for-ga360") 1441 .text(); 1442 var quicklinkMobile = $("#my-account-dropdown") 1443 .find(".dropdown-content .user-details span#tele-for-ga360") 1444 .text(); 1445 var quicklinkcontractId = $("#my-account-dropdown") 1446 .find(".dropdown-content .user-details span#cid-uuid-for-ga360") 1447 .text(); 1448 1449 window.dataLayer.push({ 1450 event: "hbbSections", 1451 eventAction: action != "" ? action : "Not Add", // Title of the section from which an item is clicked e.g. âLatest in Broadbandâ, âChild Wi-Fiâ, etc. 1452 eventLabel: label, // Clicked items e.g. Get Started, Buy Now, Learn More etc. 1453 bannerTitle: title, // Pass title of the banner wherever applicable e.g. âSchool Packageâ, âPostpaidâ 1454 packageName: pName, // Applicable to âSpecial Promotionâ button click. E.g. 200GB Anytime Data Quota 1455 price: price, // Applicable to âSpecial Promotionâ button click. E.g. Rs. 6900.00 per month 1456 packageCategory: category, // Applicable to âSpecial Promotionâ button click. E.g. Office Ultra, Booster, etc. 1457 usermsisdn: quicklinkMobile != "" ? quicklinkMobile : "Not Add", // HASHED MSISDN - user level 1458 ctridprimary: 1459 quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 1460 email: quicklinkeMail != "" ? quicklinkeMail : "Not Add", // HASHED email - user level 1461 }); 1462 }, 1463 1464 hbbPackageComparison: function ( 1465 action, 1466 label, 1467 price, 1468 anytimeData, 1469 nightData, 1470 bonusData, 1471 gamerdata, 1472 quicklinkMobile, 1473 quicklinkcontractId, 1474 quicklinkeMail 1475 ) { 1476 var quicklinkeMail = $("#my-account-dropdown") 1477 .find(".dropdown-content .user-details span#email-for-ga360") 1478 .text(); 1479 var quicklinkMobile = $("#my-account-dropdown") 1480 .find(".dropdown-content .user-details span#tele-for-ga360") 1481 .text(); 1482 var quicklinkcontractId = $("#my-account-dropdown") 1483 .find(".dropdown-content .user-details span#cid-uuid-for-ga360") 1484 .text(); 1485 1486 window.dataLayer.push({ 1487 event: "hbbPackageComparison", 1488 eventAction: action, // Package Dropdown 1489 eventLabel: label, // Package name i.e Office Ultra, Booster etc. 1490 price: price, // E.g. âRs. 6999.00 per monthâ 1491 anytimeData: anytimeData, // E.g. 500 GB etc. 1492 nightData: nightData, // E.g. 500 GB etc. 1493 firstMonthBonusData: bonusData, // E.g. 100 GB etc. 1494 gamerdata: gamerdata, // E.g. 100 GB etc. 1495 // 'gamerdata': gamerdata, // E.g. 100 GB etc. 1496 usermsisdn: quicklinkMobile != "" ? quicklinkMobile : "Not Add", // HASHED MSISDN - user level 1497 ctridprimary: 1498 quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 1499 email: quicklinkeMail != "" ? quicklinkeMail : "Not Add", // HASHED email - user level 1500 }); 1501 }, 1502 1503 ProductImpressionCommon: function (impressionCards) { 1504 window.dataLayer.push({ 1505 event: "productImpression", //static 1506 ecommerce: { 1507 impressions: impressionCards, 1508 }, 1509 }); 1510 }, 1511 1512 // Product click DOR-42159 1513 productClickCommon: function (list, obj) { 1514 window.dataLayer.push({ 1515 event: "productClick", 1516 ecommerce: { 1517 click: { 1518 actionField: { 1519 list: list, 1520 }, // List name where packages are shown. Possible values are âTailored Packagesâ, âAll Packagesâ, âPackages Comparisonâ, âOther Packagesâ 1521 products: [obj], 1522 }, 1523 }, 1524 }); 1525 }, 1526 1527 productAddToCartCommon: function (currency, list, obj) { 1528 dataLayer.push({ 1529 event: "addToCart", 1530 ecommerce: { 1531 currencyCode: currency, 1532 add: { 1533 actionField: { 1534 list: list, 1535 }, // List name where packages are shown. Possible values are âTailored Packagesâ, âAll Packagesâ, âPackages Comparisonâ 1536 products: [obj], 1537 }, 1538 }, 1539 }); 1540 }, 1541 1542 productImpressionsDTVBundleCommon: function (obj) { 1543 window.dataLayer.push({ 1544 event: "productImpression", 1545 ecommerce: { 1546 impressions: [obj], 1547 }, 1548 }); 1549 }, 1550 1551 // 9.5.2 PRODUCT CLICK DOR-42159 1552 hasNumber: function (myString) { 1553 return /\d/.test(myString); 1554 }, 1555 1556 // channelPacks DOR-42761 1557 listOfchannelPacks: function ( 1558 action, 1559 label, 1560 package, 1561 quicklinkMobile, 1562 quicklinkcontractId, 1563 quicklinkeMail 1564 ) { 1565 var quicklinkeMail = $("#my-account-dropdown") 1566 .find(".dropdown-content .user-details span#email-for-ga360") 1567 .text(); 1568 var quicklinkMobile = $("#my-account-dropdown") 1569 .find(".dropdown-content .user-details span#tele-for-ga360") 1570 .text(); 1571 var quicklinkcontractId = $("#my-account-dropdown") 1572 .find(".dropdown-content .user-details span#cid-uuid-for-ga360") 1573 .text(); 1574 1575 window.dataLayer.push({ 1576 event: "channelPacks", 1577 eventAction: action, // â8 Channelsâ, âView More Packsâ, âPrepaidâ, âPostpaidâ 1578 eventLabel: label, // Channels in the pack e.g. 8 Channels. In case of âView More Packsâ, âPrepaidâ, âPostpaidâ, pass undefined 1579 package: package, // Bundle name e.g. Kids Bundle. In case of âView More Packsâ, âPrepaidâ, âPostpaidâ, pass undefined 1580 usermsisdn: quicklinkMobile != "" ? quicklinkMobile : "Not Add", // HASHED MSISDN - user level 1581 ctridprimary: 1582 quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 1583 email: quicklinkeMail != "" ? quicklinkeMail : "Not Add", // HASHED email - user level 1584 }); 1585 }, 1586 1587 // 9.4.3 PRODUCT DETAILS - DOR-42160 1588 productDetailCommon: function (list, obj) { 1589 window.dataLayer.push({ 1590 event: "productDetail", 1591 ecommerce: { 1592 detail: { 1593 actionField: { 1594 list: list, 1595 }, // List name where packages are shown. Possible values are âTailored Packagesâ, âAll Packagesâ, âPackages Comparisonâ 1596 products: [obj], 1597 }, 1598 }, 1599 }); 1600 }, 1601 1602 // DTV Packages DOR-42154 1603 dtvPackages: function ( 1604 action, 1605 label, 1606 pName, 1607 price, 1608 sOffer, 1609 quicklinkMobile, 1610 quicklinkcontractId, 1611 quicklinkeMail 1612 ) { 1613 var quicklinkeMail = $("#my-account-dropdown") 1614 .find(".dropdown-content .user-details span#email-for-ga360") 1615 .text(); 1616 var quicklinkMobile = $("#my-account-dropdown") 1617 .find(".dropdown-content .user-details span#tele-for-ga360") 1618 .text(); 1619 var quicklinkcontractId = $("#my-account-dropdown") 1620 .find(".dropdown-content .user-details span#cid-uuid-for-ga360") 1621 .text(); 1622 1623 window.dataLayer.push({ 1624 event: "dtvPackages", 1625 eventAction: action, // âSee Channelsâ or âView More Packagesâ 1626 eventLabel: label, // Channels in package e.g. 63 Channels. In case of âView More Packagesâ, pass undefined 1627 package: pName, // Package label shown at the top e.g. Thee, Gold etc. In case of âView More Packagesâ, pass undefined 1628 price: price, // Whole price tag e.g. âRs. 799.00 per monthâ. In case of âView More Packagesâ, pass undefined 1629 specialPromotion: sOffer, // If available, pass âyesâ or else ânoâ. In case of âView More Packagesâ, pass undefined 1630 usermsisdn: quicklinkMobile != "" ? quicklinkMobile : "Not Add", // HASHED MSISDN - user level 1631 ctridprimary: 1632 quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 1633 email: quicklinkeMail != "" ? quicklinkeMail : "Not Add", // HASHED email - user level 1634 }); 1635 }, 1636 1637 // ACTIVATE CHANNEL DOR-42143 1638 activateChannel: function ( 1639 action, 1640 predailyrental, 1641 premonthlyrental, 1642 postpadidrental, 1643 quicklinkMobile, 1644 quicklinkcontractId, 1645 quicklinkeMail 1646 ) { 1647 var quicklinkeMail = $("#my-account-dropdown") 1648 .find(".dropdown-content .user-details span#email-for-ga360") 1649 .text(); 1650 var quicklinkMobile = $("#my-account-dropdown") 1651 .find(".dropdown-content .user-details span#tele-for-ga360") 1652 .text(); 1653 var quicklinkcontractId = $("#my-account-dropdown") 1654 .find(".dropdown-content .user-details span#cid-uuid-for-ga360") 1655 .text(); 1656 1657 window.dataLayer.push({ 1658 event: "activateChannel", 1659 eventAction: action, // Channel name e.g. HBO 1660 prepaidDailyRentalPrice: predailyrental, // E.g. â15.00â 1661 prepaidMonthlyRentalPrice: premonthlyrental, // E.g. â79.00â 1662 postpaidRentalPrice: postpadidrental, // E.g. â59.00â 1663 usermsisdn: quicklinkMobile != "" ? quicklinkMobile : "Not Add", // HASHED MSISDN - user level 1664 ctridprimary: 1665 quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 1666 email: quicklinkeMail != "" ? quicklinkeMail : "Not Add", // HASHED email - user level 1667 }); 1668 }, 1669 1670 // BUNDLE BANNER NAVIGATION DOR-42144
1671 bundleBannerNavigation: function ( 1672 action, 1673 label, 1674 quicklinkMobile, 1675 quicklinkcontractId, 1676 quicklinkeMail 1677 ) { 1678 var quicklinkeMail = $("#my-account-dropdown") 1679 .find(".dropdown-content .user-details span#email-for-ga360") 1680 .text(); 1681 var quicklinkMobile = $("#my-account-dropdown") 1682 .find(".dropdown-content .user-details span#tele-for-ga360") 1683 .text(); 1684 var quicklinkcontractId = $("#my-account-dropdown") 1685 .find(".dropdown-content .user-details span#cid-uuid-for-ga360") 1686 .text(); 1687 1688 window.dataLayer.push({ 1689 event: "bundleBannerNavigation", 1690 eventAction: action, // 'Left' or 'Right' based on the arrow click 1691 eventLabel: label, // Title above the banner e.g. Bundles that... 1692 usermsisdn: quicklinkMobile != "" ? quicklinkMobile : "Not Add", // HASHED MSISDN - user level 1693 ctridprimary: 1694 quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 1695 email: quicklinkeMail != "" ? quicklinkeMail : "Not Add", // HASHED email - user level 1696 }); 1697 }, 1698 1699 // Device View Item DOR-59422 1700 deviceViewItem: function ( 1701 item_id, 1702 item_name, 1703 position, 1704 item_brand, 1705 item_category, 1706 item_category2, 1707 item_list_name, 1708 item_variant, 1709 quicklinkcontractId, 1710 ga360_price, 1711 quantity, 1712 primary_number 1713 ) { 1714 window.dataLayer.push({ 1715 event: "view_item", 1716 ecommerce: { 1717 currency: "LKR", // Currency Code 1718 value: ga360_price, 1719 items: [ 1720 { 1721 item_id: item_id, 1722 item_name: item_name, // Name of the product 1723 index: position, // Position of item in list. E.g. 1, 2, 3 etc. 1724 item_brand: item_brand, // Brand category of the product E.g Lenovo 1725 item_category: item_category, // Category of the brand E.g Tablet 1726 item_category2: item_category2, // 2nd category of the product E.g 1727 item_list_name: item_list_name, // List name where the packages are listed. E.g. Phone, Tablets, Smart home etc etc. 1728 item_variant: item_variant, 1729 contract_id: 1730 quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // User property contract ID as a key 1731 price: ga360_price, // price of the product E.g 86069 1732 quantity: quantity, // Quantity of the product E.g 1 1733 primary_number: primary_number, 1734 }, 1735 ], 1736 }, 1737 }); 1738 }, 1739 1740 // Device Select Item DOR-59422 1741 deviceSelectItem: function ( 1742 item_id, 1743 item_name, 1744 currency_code, 1745 position, 1746 item_brand, 1747 item_category, 1748 item_category2, 1749 item_list_name, 1750 item_variant, 1751 quicklinkcontractId, 1752 ga360_price, 1753 quantity, 1754 primary_number 1755 ) { 1756 window.dataLayer.push({ 1757 event: "select_item", 1758 ecommerce: { 1759 currency: currency_code, // Currency Code 1760 items: [ 1761 { 1762 item_id: item_id, 1763 item_name: item_name, // Name of the product 1764 index: position, // Position of item in list. E.g. 1, 2, 3 etc. 1765 item_brand: item_brand, // Brand category of the product E.g Lenovo 1766 item_category: item_category, // Category of the brand E.g Tablet 1767 item_category2: item_category2, // 2nd category of the product E.g 1768 item_list_name: item_list_name, // List name where the packages are listed. E.g. Phone, Tablets, Smart home etc etc. 1769 item_variant: item_variant, 1770 contract_id: 1771 quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // User property contract ID as a key 1772 price: ga360_price, // price of the product E.g 86069 1773 quantity: quantity, // Quantity of the product E.g 1 1774 primary_number: primary_number, 1775 }, 1776 ], 1777 }, 1778 }); 1779 }, 1780 1781 // Device add to cart DOR-59422 1782 deviceAddtoCart: function ( 1783 item_id, 1784 item_name, 1785 currency_code, 1786 position, 1787 item_brand, 1788 item_category, 1789 item_list_name, 1790 item_variant, 1791 quantity, 1792 contract_id, 1793 price, 1794 value, 1795 primary_number 1796 ) { 1797 window.dataLayer.push({ 1798 event: "add_to_cart", 1799 ecommerce: { 1800 currency: currency_code, 1801 value: value, 1802 items: [ 1803 { 1804 item_id: item_id, 1805 item_name: item_name, 1806 currency: currency_code, 1807 index: position, 1808 item_brand: item_brand, 1809 item_category: item_category, 1810 item_list_name: item_list_name, 1811 item_variant: item_variant, 1812 contract_id: contract_id, 1813 price: price, 1814 quantity: quantity, 1815 primary_number: primary_number, 1816 }, 1817 ], 1818 }, 1819 }); 1820 }, 1821 1822 // DOR-60149 Roaming landing page packages and detail page packages 1823 roamingPack: function (eventAction, eventLabel, packageName, price) { 1824 1825 var quicklinkcontractId = $("#my-account-dropdown").find(".dropdown-content .user-details span#cid-uuid-for-ga360").text(); 1826 var quicklinkeMail = $("#my-account-dropdown").find(".dropdown-content .user-details span#email-for-ga360").text(); 1827 1828 window.dataLayer.push({ 1829 event: "idd_roaming_pack", 1830 ecommerce: { 1831 currency: "USD", 1832 value: price, 1833 event_params: { 1834 eventCategory: "IDD Roaming Pack", 1835 eventAction: eventAction, 1836 eventLabel: eventLabel, 1837 packageName: packageName, 1838 price: price, 1839 }, 1840 user_properties: { 1841 primary_number: quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 1842 eid: quicklinkeMail != "" ? quicklinkeMail : "Not Add", // HASHED email - user level 1843 } 1844 } 1845 }); 1846 1847 }, 1848 1849 // DOR-60149 Roaming check Packs 1850 iddroamingcheckPacks: function (eventLabel) { 1851 1852 var quicklinkcontractId = $("#my-account-dropdown").find(".dropdown-content .user-details span#cid-uuid-for-ga360").text(); 1853 var quicklinkeMail = $("#my-account-dropdown").find(".dropdown-content .user-details span#email-for-ga360").text(); 1854 1855 window.dataLayer.push({ 1856 event: "idd_roaming_check_packs", 1857 ecommerce: { 1858 event_params: { 1859 eventCategory: "IDD Roaming Pack", 1860 eventAction: "Check click", 1861 eventLabel: eventLabel, 1862 }, 1863 user_properties: { 1864 primary_number: quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 1865 eid: quicklinkeMail != "" ? quicklinkeMail : "Not Add", // HASHED email - user level 1866 } 1867 } 1868 }); 1869 1870 }, 1871 1872 // DOR-60149 Roaming enter number 1873 iddroamingverifyNumber: function (eventAction, packageName, price) { 1874 1875 var quicklinkcontractId = $("#my-account-dropdown").find(".dropdown-content .user-details span#cid-uuid-for-ga360").text(); 1876 var quicklinkeMail = $("#my-account-dropdown").find(".dropdown-content .user-details span#email-for-ga360").text(); 1877 1878 window.dataLayer.push({ 1879 event: "idd_roaming_enter_number", 1880 ecommerce: { 1881 currency: "USD", 1882 value: price, 1883 event_params: { 1884 eventCategory: "IDD Roaming Pack", 1885 eventAction: eventAction, 1886 eventLabel: sessionStorage.getItem('idd_roaming_country'), 1887 packageName: packageName, 1888 price: price, 1889 }, 1890 user_properties: { 1891 primary_number: quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 1892 eid: quicklinkeMail != "" ? quicklinkeMail : "Not Add", // HASHED email - user level 1893 } 1894 } 1895 }); 1896 1897 }, 1898 1899 // DOR-60149 Roaming verify otp and resend pin 1900 iddroamingverifyOtp: function (eventAction, packageName, price) { 1901 1902 var quicklinkcontractId = $("#my-account-dropdown").find(".dropdown-content .user-details span#cid-uuid-for-ga360").text(); 1903 var quicklinkeMail = $("#my-account-dropdown").find(".dropdown-content .user-details span#email-for-ga360").text(); 1904 1905 window.dataLayer.push({ 1906 event: "idd_roaming_verify_otp", 1907 ecommerce: { 1908 currency: "USD", 1909 value: price, 1910 event_params: { 1911 eventCategory: "IDD Roaming Pack", 1912 eventAction: eventAction, 1913 eventLabel: sessionStorage.getItem('idd_roaming_country'), 1914 packageName: packageName, 1915 price: price, 1916 }, 1917 user_properties: { 1918 primary_number: quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 1919 eid: quicklinkeMail != "" ? quicklinkeMail : "Not Add", // HASHED email - user level 1920 } 1921 } 1922 }); 1923 1924 }, 1925 1926 // DOR-60149 Roaming confirm activate 1927 iddroamingconfirmactivate: function (eventAction, packageCategory, packageName, price) { 1928 1929 var quicklinkcontractId = $("#my-account-dropdown").find(".dropdown-content .user-details span#cid-uuid-for-ga360").text(); 1930 var quicklinkeMail = $("#my-account-dropdown").find(".dropdown-content .user-details span#email-for-ga360").text(); 1931 1932 window.dataLayer.push({ 1933 event: "idd_roaming_confirm_activate", 1934 ecommerce: { 1935 currency: "USD", 1936 value: price, 1937 event_params: { 1938 eventCategory: "IDD Roaming Pack", 1939 eventAction: eventAction, 1940 eventLabel: sessionStorage.getItem('idd_roaming_country'), 1941 packageCategory: packageCategory, 1942 packageName: packageName, 1943 price: price, 1944 }, 1945 user_properties: { 1946 primary_number: quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 1947 eid: quicklinkeMail != "" ? quicklinkeMail : "Not Add", // HASHED email - user level 1948 } 1949 } 1950 }); 1951 1952 }, 1953 1954 // DOR-60149 Roaming activate success 1955 iddroamingactivateSuccess: function () { 1956 1957 var quicklinkcontractId = $("#my-account-dropdown").find(".dropdown-content .user-details span#cid-uuid-for-ga360").text(); 1958 var quicklinkeMail = $("#my-account-dropdown").find(".dropdown-content .user-details span#email-for-ga360").text(); 1959 1960 window.dataLayer.push({ 1961 event: "idd_roaming_activate_success", 1962 ecommerce: { 1963 currency: "USD", 1964 value: sessionStorage.getItem("idd_roaming_package_price"), 1965 event_params: { 1966 eventCategory: "IDD Roaming Pack", 1967 eventAction: sessionStorage.getItem("idd_roaming_package_action"), 1968 eventLabel: sessionStorage.getItem('idd_roaming_country'), 1969 packageCategory: sessionStorage.getItem("idd_roaming_package_category"), 1970 packageName: sessionStorage.getItem("idd_roaming_package_name"), 1971 price: sessionStorage.getItem("idd_roaming_package_price"), 1972 transaction_id: "undefined" 1973 }, 1974 user_properties: { 1975 primary_number: quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 1976 eid: quicklinkeMail != "" ? quicklinkeMail : "Not Add", // HASHED email - user level 1977 } 1978 } 1979 }); 1980 1981 }, 1982 1983 // DOR-60149 Roaming error 1984 iddroamingError: function (eventLabel) { 1985 1986 var quicklinkcontractId = $("#my-account-dropdown").find(".dropdown-content .user-details span#cid-uuid-for-ga360").text(); 1987 var quicklinkeMail = $("#my-account-dropdown").find(".dropdown-content .user-details span#email-for-ga360").text(); 1988 1989 window.dataLayer.push({ 1990 event: "idd_roaming_error", 1991 ecommerce: { 1992 currency: "USD", 1993 value: sessionStorage.getItem('idd_roaming_package_price'), 1994 event_params: { 1995 eventCategory: "IDD Roaming Pack", 1996 eventAction: "error", 1997 eventLabel: eventLabel, 1998 packageName: sessionStorage.getItem('idd_roaming_package_name'), 1999 price: sessionStorage.getItem('idd_roaming_package_price'), 2000 }, 2001 user_properties: { 2002 primary_number: quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 2003 eid: quicklinkeMail != "" ? quicklinkeMail : "Not Add", // HASHED email - user level 2004 } 2005 } 2006 }); 2007 2008 }, 2009 2010 // HBB activation ga360 2011 purchasefailureSuccess: function () { 2012 2013 var quicklinkMobile = $("#my-account-dropdown").find(".dropdown-content .user-details span#tele-for-ga360").text(); 2014 2015 jQuery.ajax({ 2016 url: "/api/aes-encript-for-ga360", 2017 type: 'POST', 2018 2019 success: function (response) { 2020 2021 var contact_no = "Not Add"; 2022 var nic_no = "Not Add"; 2023 2024 if (response.encription && response.encription.login_user) { 2025 2026 contact_no = response.encription.login_user.tele_for_ga360; 2027 nic_no = response.encription.login_user.id_number_for_ga360; 2028 } 2029 2030 window.dataLayer.push({ 2031 event: "purchase_failure", 2032 ecommerce: { 2033 currency: "LKR", 2034 value: drupalSettings.data.amountWithTax, 2035 items: [{ 2036 item_name: drupalSettings.data.productType, 2037 connection_type: drupalSettings.data.accountType, 2038 conne_number: drupalSettings.data.accountNumber, 2039 lob: "HBB", 2040 price: drupalSettings.data.amountWithTax, 2041 usermsisdn: contact_no, 2042 encrypted_nic: nic_no, 2043 package_name: sessionStorage.getItem("hbb-pname"), 2044 failure_reason: jQuery(".ga360-label").text().trim(), 2045 }] 2046 } 2047 }); 2048 } 2049 }); 2050 2051 }, 2052 2053 // DOR-60149 dtv activation select pack 2054 dtvactivationselectPack: function (eventAction, eventLabel, connection_type, price) { 2055 2056 var quicklinkcontractId = $("#my-account-dropdown").find(".dropdown-content .user-details span#cid-uuid-for-ga360").text(); 2057 var quicklinkeMail = $("#my-account-dropdown").find(".dropdown-content .user-details span#email-for-ga360").text(); 2058 2059 window.dataLayer.push({ 2060 event: "dtv_activation_select_pack", 2061 ecommerce: { 2062 currency: "LKR", 2063 value: price, 2064 event_params: { 2065 eventCategory: "DTV Channel Activation", 2066 eventAction: eventAction, 2067 eventLabel: eventLabel, 2068 connection_type: connection_type, 2069 price: price, 2070 }, 2071 user_properties: { 2072 primary_number: quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 2073 eid: quicklinkeMail != "" ? quicklinkeMail : "Not Add", // HASHED email - user level 2074 } 2075 } 2076 2077 }); 2078 2079 }, 2080 2081 // DOR-60149 dtv activation enter number 2082 dtvactivationenterNumber: function (eventAction, eventLabel, price) { 2083 2084 var quicklinkcontractId = $("#my-account-dropdown").find(".dropdown-content .user-details span#cid-uuid-for-ga360").text(); 2085 var quicklinkeMail = $("#my-account-dropdown").find(".dropdown-content .user-details span#email-for-ga360").text(); 2086 2087 window.dataLayer.push({ 2088 event: "dtv_activation_enter_number", 2089 ecommerce: { 2090 currency: "LKR", 2091 value: sessionStorage.getItem('dtv_activation_price'), 2092 event_params: { 2093 eventCategory: "DTV Channel Activation", 2094 eventAction: eventAction, 2095 eventLabel: eventLabel, 2096 connection_type: sessionStorage.getItem('dtv_activation_connection_type'), 2097 price: sessionStorage.getItem('dtv_activation_price'), 2098 }, 2099 user_properties: { 2100 primary_number: quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 2101 eid: quicklinkeMail != "" ? quicklinkeMail : "Not Add", // HASHED email - user level 2102 } 2103 } 2104 2105 }); 2106 2107 }, 2108 2109 // DOR-60149 dtv activation verify otp and resend pin 2110 dtvactivationverifyotp: function (eventAction) { 2111 2112 var quickli
2112nkcontractId = $("#my-account-dropdown").find(".dropdown-content .user-details span#cid-uuid-for-ga360").text(); 2113 var quicklinkeMail = $("#my-account-dropdown").find(".dropdown-content .user-details span#email-for-ga360").text(); 2114 2115 window.dataLayer.push({ 2116 event: "dtv_activation_verify_otp", 2117 ecommerce: { 2118 currency: "LKR", 2119 value: sessionStorage.getItem('dtv_activation_price'), 2120 event_params: { 2121 eventCategory: "DTV Channel Activation", 2122 eventAction: eventAction, 2123 eventLabel: sessionStorage.getItem('dtv_activation_product_title'), 2124 connection_type: sessionStorage.getItem('dtv_activation_connection_type'), 2125 price: sessionStorage.getItem('dtv_activation_price'), 2126 }, 2127 user_properties: { 2128 primary_number: quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 2129 eid: quicklinkeMail != "" ? quicklinkeMail : "Not Add", // HASHED email - user level 2130 } 2131 } 2132 2133 }); 2134 2135 }, 2136 2137 // DOR-60149 dtv activation confirm 2138 dtvactivationConfirm: function (eventactionConfirm) { 2139 2140 var quicklinkcontractId = $("#my-account-dropdown").find(".dropdown-content .user-details span#cid-uuid-for-ga360").text(); 2141 var quicklinkeMail = $("#my-account-dropdown").find(".dropdown-content .user-details span#email-for-ga360").text(); 2142 2143 window.dataLayer.push({ 2144 event: "dtv_activation_confirm", 2145 ecommerce: { 2146 currency: "LKR", 2147 value: sessionStorage.getItem('dtv_activation_price'), 2148 event_params: { 2149 eventCategory: "DTV Channel Activation", 2150 eventAction: eventactionConfirm, 2151 eventLabel: sessionStorage.getItem('dtv_activation_product_title'), 2152 connection_type: sessionStorage.getItem('dtv_activation_connection_type'), 2153 price: sessionStorage.getItem('dtv_activation_price'), 2154 }, 2155 user_properties: { 2156 primary_number: quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 2157 eid: quicklinkeMail != "" ? quicklinkeMail : "Not Add", // HASHED email - user level 2158 } 2159 } 2160 2161 }); 2162 2163 }, 2164 2165 // DOR-60149 dtv activation enter pin 2166 // dtvactivationenterpin: function () { 2167 2168 // var quicklinkcontractId = $("#my-account-dropdown").find(".dropdown-content .user-details span#cid-uuid-for-ga360").text(); 2169 // var quicklinkeMail = $("#my-account-dropdown").find(".dropdown-content .user-details span#email-for-ga360").text(); 2170 2171 // window.dataLayer.push({ 2172 // event: "dtv_activation_enter_pin", 2173 // event_params: { 2174 // eventCategory: "DTV Channel Activation", 2175 // eventAction: sessionStorage.getItem('dtv_activation_product_title'), 2176 // eventLabel: eventLabel, 2177 // price: sessionStorage.getItem('dtv_activation_price'), 2178 // }, 2179 // user_properties: { 2180 // primary_number: quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 2181 // eid: quicklinkeMail != "" ? quicklinkeMail : "Not Add", // HASHED email - user level 2182 // } 2183 // }); 2184 2185 // }, 2186 2187 // DOR-60149 dtv activation success 2188 dtvactivationSuccess: function (eventAction) { 2189 2190 var quicklinkcontractId = $("#my-account-dropdown").find(".dropdown-content .user-details span#cid-uuid-for-ga360").text(); 2191 var quicklinkeMail = $("#my-account-dropdown").find(".dropdown-content .user-details span#email-for-ga360").text(); 2192 2193 window.dataLayer.push({ 2194 event: "dtv_activation_success", 2195 ecommerce: { 2196 currency: "LKR", 2197 value: sessionStorage.getItem('dtv_activation_price'), 2198 event_params: { 2199 eventCategory: "DTV Channel Activation", 2200 eventAction: eventAction, 2201 eventLabel: sessionStorage.getItem('dtv_activation_product_title'), 2202 package_valid: sessionStorage.getItem('dtv_activation_package_valid_1') + ' ' + sessionStorage.getItem('dtv_activation_package_valid_2'), 2203 connection_type: sessionStorage.getItem('dtv_activation_connection_type'), 2204 price: sessionStorage.getItem('dtv_activation_price'), 2205 2206 }, 2207 user_properties: { 2208 primary_number: quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 2209 eid: quicklinkeMail != "" ? quicklinkeMail : "Not Add", // HASHED email - user level 2210 } 2211 } 2212 2213 }); 2214 2215 }, 2216 2217 // DOR-60149 Quick Pay add payment info 2218 addpaymentInfo: function (item_id, item_name, index, item_category, price, payment_type) { 2219 2220 var quicklinkcontractId = $("#my-account-dropdown").find(".dropdown-content .user-details span#cid-uuid-for-ga360").text(); 2221 var quicklinkMobile = $("#my-account-dropdown").find(".dropdown-content .user-details span#tele-for-ga360").text(); 2222 var connection_number = jQuery("#con_number").text(); 2223 2224 jQuery.ajax({ 2225 url: "/api/aes-encript-for-ga360", 2226 type: 'POST', 2227 data: { 2228 'orginal': connection_number, 2229 }, 2230 success: function (response) { 2231 connection_number = response.encription; 2232 2233 window.dataLayer.push({ 2234 event: "add_payment_info", 2235 event_params: { 2236 item_id: item_id, 2237 item_name: item_name != "" ? item_name : "undefined", 2238 currency: "LKR", 2239 index: index, 2240 item_category: item_category, 2241 item_list_name: "quickpay", 2242 price: price, 2243 quantity: "1", 2244 payment_type: payment_type, 2245 }, 2246 user_properties: { 2247 contract_id: quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 2248 primary_number: quicklinkMobile != "" ? quicklinkMobile : connection_number, // HASHED MSISDN - user level 2249 } 2250 }); 2251 } 2252 }); 2253 2254 }, 2255 2256 // DOR-60149 Quick Pay purchase 2257 purchase: function (transaction_id, value) { 2258 2259 var quicklinkcontractId = $("#my-account-dropdown").find(".dropdown-content .user-details span#cid-uuid-for-ga360").text(); 2260 var quicklinkMobile = $("#my-account-dropdown").find(".dropdown-content .user-details span#tele-for-ga360").text(); 2261 var connection_number = jQuery("#con_number").text(); 2262 2263 jQuery.ajax({ 2264 url: "/api/aes-encript-for-ga360", 2265 type: 'POST', 2266 data: { 2267 'orginal': connection_number, 2268 }, 2269 success: function (response) { 2270 connection_number = response.encription; 2271 2272 window.dataLayer.push({ 2273 event: "purchase", 2274 event_params: { 2275 transaction_id: transaction_id, 2276 value: value, 2277 tax: null, 2278 shipping: null, 2279 item_id: sessionStorage.getItem("quick_pay_item_id"), 2280 item_name: sessionStorage.getItem("quick_pay_item_name"), 2281 currency: "LKR", 2282 index: sessionStorage.getItem("quick_pay_index"), 2283 item_category: sessionStorage.getItem("quick_pay_item_category"), 2284 item_list_name: "quickpay", 2285 price: sessionStorage.getItem("quick_pay_price"), 2286 quantity: "1", 2287 payment_type: sessionStorage.getItem("quick_pay_payment_type"), 2288 }, 2289 user_properties: { 2290 contract_id: quicklinkcontractId != "" ? quicklinkcontractId : "Not Add", // primary contract ID 2291 primary_number: quicklinkMobile != "" ? quicklinkMobile : connection_number, // HASHED MSISDN - user level 2292 } 2293 }); 2294 2295 } 2296 }); 2297 }, 2298 2299 // DOR-60149 Quick Pay transaction fail 2300 quickpaytransactionFail: function (event_label, ga360_failure_reason_text) { 2301 2302 window.dataLayer.push({ 2303 event: "quickpay_transaction_fail", 2304 event_params: { 2305 event_category: "Quick Pay", 2306 event_action: "transaction", 2307 event_label: event_label, 2308 payment_type: sessionStorage.getItem("quick_pay_payment_type"), 2309 package_type: sessionStorage.getItem("quick_pay_item_category"), 2310 failure_reason: ga360_failure_reason_text ? ga360_failure_reason_text: undefined, 2311 } 2312 }) 2313 2314 }, 2315 2316 // DOR-60149 Quick Pay view card
2317 quickpayviewCard: function (event_action, payment_type, package_type) { 2318 2319 window.dataLayer.push({ 2320 event: "quickpay_view_card", 2321 event_params: { 2322 event_category: "Quick Pay", 2323 event_action: event_action, 2324 event_label: "Click", 2325 payment_type: payment_type, 2326 package_type: package_type, 2327 } 2328 }) 2329 2330 }, 2331 2332 //Self Activation ID verification - error 2333 2334 IDverification: function () { 2335 2336 let event_category = "Self Activation"; 2337 let event_action = "id verification"; 2338 let event_label = "Error screen"; 2339 var user_type = sessionStorage.getItem("clicked_ga360_user_type"); 2340 let package_type = drupalSettings.self_activation_row["paid_mode"]; 2341 let plan_selected = JSON.parse(drupalSettings.self_activation_row["more_data"]).packageName; 2342 let plan_name = sessionStorage.getItem('packageList'); 2343 let plan_cost = Number(sessionStorage.getItem('price_ga360')) 2344 let add_on = sessionStorage.getItem('packageList'); 2345 let verification_method = document.querySelector('label[for="standardInput"]').textContent.trim().split(' ')[0]; 2346 2347 2348 window.dataLayer.push({ 2349 event: "self_activation_id_verification_error", 2350 ecommerce: { 2351 items: [ 2352 { 2353 'event_category': event_category, 2354 'event_action': event_action, 2355 'event_label': event_label, 2356 'user_type': user_type, 2357 'package_type': package_type, 2358 'plan_selected': plan_selected, 2359 'plan_name': plan_name, 2360 'plan_cost': plan_cost, 2361 'add_on': add_on, 2362 'verification_method': verification_method 2363 } 2364 ] 2365 } 2366 }); 2367 }, 2368 2369 2370 // Self Activation Verify Address 2371 VerifyAddress: function (event_category, event_action, event_label, user_type, package_type, plan_selected, plan_name, plan_cost, add_on, address_type) { 2372 2373 window.dataLayer.push({ 2374 event: "self_activation_verify_address", 2375 ecommerce: { 2376 items: [ 2377 { 2378 'event_category': event_category, 2379 'event_action': event_action, 2380 'event_label': event_label, 2381 'user_type': user_type, 2382 'package_type': package_type, 2383 'plan_selected': plan_selected, 2384 'plan_name': plan_name, 2385 'plan_cost': plan_cost, 2386 'add_on': add_on, 2387 'address_type': address_type 2388 } 2389 ] 2390 } 2391 }); 2392 }, 2393 2394 // var paymentstatus = drupalSettings.self_activation_row["payment_status"]; 2395 2396 // Self Activation Confirm and Pay 2397 ConfirmPay: function (event_category, event_action, event_label, user_type, package_type, plan_selected, plan_name, plan_cost, add_on, payment_method) { 2398 2399 window.dataLayer.push({ 2400 event: "self_activation_conifrm_pay_selection", 2401 ecommerce: { 2402 items: [ 2403 { 2404 'event_category': event_category, 2405 'event_action': event_action, 2406 'event_label': event_label, 2407 'user_type': user_type, 2408 'package_type': package_type, 2409 'plan_selected': plan_selected, 2410 'plan_name': plan_name, 2411 'plan_cost': plan_cost, 2412 'add_on': add_on, 2413 'payment_method': payment_method 2414 } 2415 ] 2416 } 2417 }); 2418 }, 2419 2420 // Self Activation Confirm and Pay - Faild 2421 ConfirmPayFaild: function (event_category, event_action, event_label, user_type, package_type, plan_selected, plan_name, plan_cost, add_on, payment_method, order_id, order_date) { 2422 2423 window.dataLayer.push({ 2424 event: "self_activation_failed", 2425 ecommerce: { 2426 items: [ 2427 { 2428 'event_category': event_category, 2429 'event_action': event_action, 2430 'event_label': event_label, 2431 'user_type': user_type, 2432 'package_type': package_type, 2433 'plan_selected': plan_selected, 2434 'plan_name': plan_name, 2435 'plan_cost': plan_cost, 2436 'add_on': add_on, 2437 'payment_method': payment_method, 2438 'order_id': order_id, 2439 'order_date': order_date 2440 } 2441 ] 2442 } 2443 }); 2444 }, 2445 }; 2446 2447 // channelPacks DOR-42761 2448 jQuery(document).on( 2449 "click", 2450 "#dtv-all-channel-bundles-block a.nav-link", 2451 function () { 2452 var title = $(this).text().toLowerCase(); 2453 Drupal.behaviors.ga360.listOfchannelPacks(title, title, title); 2454 } 2455 ); 2456 2457 // 9.2.4 DTV SECTIONS - DOR-42150 2458 jQuery("body").on( 2459 "click", 2460 "#dtv-all-packages-with-carousal nav a", 2461 function () { 2462 var eId = this.getAttribute("href"); 2463 var label = jQuery(this).html(); 2464 Drupal.behaviors.ga360.getContent(eId, label); 2465 } 2466 ); 2467 2468 // 9.2.4 DTV SECTIONS - DOR-42150 2469 jQuery("body").on( 2470 "click", 2471 "#dtv-all-packages-with-carousal .slick-arrow", 2472 function () { 2473 var eId = jQuery("#dtv-all-packages-with-carousal nav a.active").attr( 2474 "href" 2475 ); 2476 var label = jQuery(this).attr("id"); 2477 Drupal.behaviors.ga360.getContent(eId, label); 2478 } 2479 ); 2480 2481 jQuery("#main-carousel-bottom-quick-links-section a#quick-btn").click( 2482 function () { 2483 var gTagName = jQuery(".g-tag-name").text().trim(); 2484 var list = getListValues(gTagName); 2485 var label = jQuery.trim( 2486 jQuery( 2487 "#main-carousel-bottom-quick-links-section .quick-links-label" 2488 ).text() 2489 ); 2490 var cNumber = btoa( 2491 jQuery.trim( 2492 jQuery( 2493 "#main-carousel-bottom-quick-links-section .quick-links-input-box input" 2494 ).val() 2495 ) 2496 ); 2497 2498 Drupal.behaviors.ga360.pushDataForTopLinkGoButton( 2499 list[0], 2500 list[1], 2501 label, 2502 cNumber, 2503 undefined, 2504 undefined, 2505 undefined 2506 ); 2507 } 2508 ); 2509 2510 jQuery("#faq-content-block .rj-accordion-header").click(function () { 2511 var chk_state = jQuery( 2512 "div.rj-accordion-body", 2513 jQuery(this).parent() 2514 ).hasClass("chk-state"); 2515 if (!chk_state) { 2516 var label = jQuery.trim(jQuery(".faq-question", this).text()); 2517 Drupal.behaviors.ga360.dataPushForFAQClick("Question", label); 2518 } 2519 }); 2520 2521 jQuery("#faq-content-block .rj-accordion-body a.btn").click(function () { 2522 var pElement = jQuery(this).parent().parent().parent().parent().parent(); 2523 var label = jQuery.trim( 2524 jQuery(".rj-accordion-header .faq-question", pElement).text() 2525 ); 2526 var action = jQuery.trim(jQuery(this).text()); 2527 Drupal.behaviors.ga360.dataPushForFAQClick(action, label); 2528 }); 2529 2530 jQuery("body").on( 2531 "click", 2532 "#list-of-channels-section button.slick-arrow", 2533 function () { 2534 Drupal.behaviors.ga360.listOfChannelsDTV( 2535 "Navigation", 2536 this.getAttribute("label"), 2537 jQuery("#list-of-channels-section h3").text().trim() 2538 ); 2539 } 2540 ); 2541 2542 jQuery("body").on( 2543 "click", 2544 "#list-of-channels-section nav .nav-tabs a", 2545 function () { 2546 var label = " Channels"; 2547 var count = Number(jQuery("h4", this).text().trim()); 2548 label = count + label; 2549 if (count == 1) label = count + " Channel";
2550 Drupal.behaviors.ga360.listOfChannelsDTV( 2551 jQuery("p", this).text().trim(), 2552 label, 2553 jQuery("#list-of-channels-section h3").text().trim() 2554 ); 2555 } 2556 ); 2557 2558 jQuery("#main-carousel-bottom-quick-links-section .links a").click( 2559 function () { 2560 var gTagName = jQuery(".g-tag-name").text().trim(); 2561 var action = jQuery(".link-sub-title p", this).text().trim(); 2562 2563 switch (gTagName) { 2564 case "in-home-landing": 2565 Drupal.behaviors.ga360.genericQuickLinkEvent( 2566 "inHomeTopPanel", 2567 action, 2568 undefined, 2569 undefined, 2570 undefined 2571 ); 2572 break; 2573 case "dtv-landing": 2574 Drupal.behaviors.ga360.genericQuickLinkEvent( 2575 "dtvTopPanel", 2576 action, 2577 undefined, 2578 undefined, 2579 undefined 2580 ); 2581 break; 2582 case "viu-hub-landing": 2583 // Data layer push function 2584 break; 2585 case "viu-mini-landing": 2586 Drupal.behaviors.ga360.genericQuickLinkEvent( 2587 "viuMiniTopPanel", 2588 action, 2589 undefined, 2590 undefined, 2591 undefined 2592 ); 2593 break; 2594 case "hbb-landing": 2595 Drupal.behaviors.ga360.genericQuickLinkEvent( 2596 "hbbTopPanel", 2597 action, 2598 undefined, 2599 undefined, 2600 undefined 2601 ); 2602 break; 2603 case "hbb-prepaid": 2604 Drupal.behaviors.ga360.genericQuickLinkEvent( 2605 "hbbTopPanel", 2606 action, 2607 undefined, 2608 undefined, 2609 undefined 2610 ); 2611 break; 2612 case "hbb-postpaid": 2613 Drupal.behaviors.ga360.genericQuickLinkEvent( 2614 "hbbTopPanel", 2615 action, 2616 undefined, 2617 undefined, 2618 undefined 2619 ); 2620 break; 2621 } 2622 } 2623 ); 2624 2625 jQuery("#2-container-layout-1 #entetainment-container a.btn").click( 2626 function () { 2627 var topElement = jQuery(this).closest("#2-container-layout-1"); 2628 var label = jQuery.trim(jQuery(this).text()); 2629 var title = jQuery.trim(jQuery(".main-title div", topElement).text()); 2630 2631 pushDataLayer( 2632 undefined, 2633 label, 2634 title, 2635 undefined, 2636 undefined, 2637 undefined, 2638 undefined, 2639 undefined, 2640 undefined 2641 ); 2642 } 2643 ); 2644 2645 jQuery("#2-container-layout-1 #offer-container a.btn").click(function () { 2646 var topElement = jQuery(this).closest("#2-container-layout-1"); 2647 var action = jQuery.trim( 2648 jQuery("#offer-container .title div", topElement).text() 2649 ); 2650 var label = jQuery.trim(jQuery(this).text()); 2651 var title = jQuery.trim(jQuery(".main-title div", topElement).text()); 2652 2653 pushDataLayer( 2654 action, 2655 label, 2656 title, 2657 undefined, 2658 undefined, 2659 undefined, 2660 undefined, 2661 undefined, 2662 undefined 2663 ); 2664 }); 2665 2666 jQuery(".general-container .section .cta-links a").click(function () { 2667 var topElement = jQuery(this).closest(".general-container"); 2668 var action = jQuery.trim( 2669 jQuery(".section .section-header", topElement).text() 2670 ); 2671 var label = jQuery.trim(jQuery(this).text()); 2672 var title = jQuery.trim(jQuery(".ribbon", topElement).text()); 2673 2674 pushDataLayer( 2675 action, 2676 label, 2677 title, 2678 undefined, 2679 undefined, 2680 undefined, 2681 undefined, 2682 undefined, 2683 undefined 2684 ); 2685 }); 2686 2687 jQuery("body").on( 2688 "click", 2689 "#carousel-container .cap-content .cta-buttons a, #carousel-container nav .slick-arrow", 2690 function () { 2691 var topElement = jQuery(this).closest("#carousel-container"); 2692 var action = jQuery.trim( 2693 jQuery( 2694 "div.slick-active .cap-content-section .banner-title", 2695 topElement 2696 ).text() 2697 ); 2698 var label = jQuery.trim(jQuery(this).text()); 2699 2700 if (jQuery(this).hasClass("slick-arrow")) 2701 label = jQuery.trim(this.getAttribute("aria-label")); 2702 2703 pushDataLayer( 2704 action, 2705 label, 2706 undefined, 2707 undefined, 2708 undefined, 2709 undefined, 2710 undefined, 2711 undefined, 2712 undefined 2713 ); 2714 } 2715 ); 2716 2717 jQuery( 2718 "#2-container-layout-2 #content-1 a.btn, #2-container-layout-2 #content-2 a.btn" 2719 ).click(function () { 2720 var topElement = jQuery(this).closest("#content-1"); 2721 2722 if (jQuery(this).closest("#content-2").length) 2723 topElement = jQuery(this).closest("#content-2"); 2724 2725 var action = jQuery.trim(jQuery(".title div", topElement).text()); 2726 var label = jQuery.trim(jQuery(this).text()); 2727 2728 pushDataLayer( 2729 action, 2730 label, 2731 undefined, 2732 undefined, 2733 undefined, 2734 undefined, 2735 undefined, 2736 undefined, 2737 undefined 2738 ); 2739 }); 2740 2741 jQuery("#web_mega_menu .card-body a").click(function () { 2742 var topElement = ""; 2743 var action = ""; 2744 var label = jQuery.trim(jQuery(this).text()); 2745 var destUrl = this.getAttribute("href"); 2746 2747 if (jQuery(this).hasClass("level-2")) { 2748 action = jQuery(this).text().trim(); 2749 } else if (jQuery(this).hasClass("level-3")) { 2750 if (jQuery(this).hasClass("no-child")) { 2751 action = undefined; 2752 } else { 2753 topElement = jQuery(this).closest("li.has-child"); 2754 action = jQuery("a.level-2", topElement).text().trim(); 2755 } 2756 } 2757 2758 if (jQuery(this).hasClass("mega-menu-in-home")) 2759 Drupal.behaviors.ga360.inHomeMegaMenu( 2760 action, 2761 label, 2762 destUrl, 2763 undefined, 2764 undefined, 2765 undefined 2766 ); 2767 }); 2768 2769 // 12.1.4 HBB SECTIONS - DOR-42111 2770 jQuery("body").on( 2771 "click", 2772 "#hbb-packages-postpaid-w-wo-carousel .sp-promo", 2773 function () { 2774 var gTagName = jQuery(".g-tag-name").text().trim(); 2775 var parentElement = jQuery(this).closest(".card-body"); 2776 var action = ""; 2777 var label = ""; 2778 2779 var packName = 2780 jQuery(".capacity", parentElement).text().trim() + 2781 " " + 2782 jQuery(".subtext-2", parentElement).text().trim(); 2783 var price = 2784 jQuery(".price", parentElement).text().trim() + 2785 " " + 2786 jQuery(".duration-label", parentElement).text().trim(); 2787 var category = jQuery(".badge-container p", parentElement).text().trim(); 2788 2789 if (jQuery(this).hasClass("slick-arrow")) 2790 label = jQuery.trim(this.getAttribute("aria-label")); 2791 2792 if (gTagName == "hbb-all-packages") { 2793 action = jQuery(this).text().trim(); 2794 label = jQuery("#hbb-packages-postpaid-w-wo-carousel h2").text().trim(); 2795 Drupal.behaviors.ga360.hbbPackageSections( 2796 action, 2797 label, 2798 packName, 2799 price, 2800 category, 2801 undefined, 2802 undefined, 2803 undefined 2804 ); 2805 } else { 2806 action = jQuery("#hbb-packages-postpaid-w-wo-carousel h2") 2807 .text() 2808 .trim(); 2809 label = jQuery(this).text().trim(); 2810 pushDataLayer( 2811 action, 2812 label, 2813 undefined, 2814 packName, 2815 price, 2816 category, 2817 undefined, 2818 undefined, 2819 undefined 2820 ); 2821 } 2822 } 2823 ); 2824 2825 // 12.1.4 HBB SECTIONS - DOR-42111 2826 jQuery("body").on( 2827 "click", 2828 "#hbb-packages-postpaid-w-wo-carousel .sliding-flex-box .slick-arrow", 2829 function () { 2830 var action = jQuery("#hbb-packages-postpaid-w-wo-carousel h2") 2831 .text() 2832 .trim(); 2833 var label = jQuery(this).attr("id").trim(); 2834 jQuery(".card.slick-active", jQuery(this).parent()).each(function ( 2835 index, 2836 element 2837 ) { 2838 var packName = 2839 jQuery("h4", element).text().trim() + 2840 " " + 2841 jQuery(".subtext-2", element).text().trim(); 2842 var price = 2843 jQuery(".price", element).text().trim() + 2844 " " + 2845 jQuery(".duration-label", element).text().trim(); 2846 var category = jQuery(".badge-container p", element).text().trim(); 2847 2848 pushDataLayer( 2849 action, 2850 label, 2851 undefined, 2852 packName, 2853 price, 2854 category, 2855 undefined, 2856 undefined, 2857 undefined 2858 ); 2859 }); 2860 } 2861 ); 2862 2863 // 12.1.4 HBB SECTIONS - DOR-42111 2864 jQuery("body").on( 2865 "click", 2866 "#hbb-packages-postpaid-w-wo-carousel .view-more-link", 2867 function () { 2868 var action = jQuery("#hbb-packages-postpaid-w-wo-carousel h2") 2869 .text() 2870 .trim(); 2871 var label = jQuery(this).text().trim(); 2872 2873 pushDataLayer( 2874 action, 2875 label, 2876 undefined, 2877 undefined, 2878 undefined, 2879 undefined, 2880 undefined, 2881 undefined, 2882 undefined 2883 ); 2884 } 2885 ); 2886 2887 // 12.1.4 HBB SECTIONS - DOR-42111 2888 jQuery("body").on( 2889 "click", 2890 "#hbb_addon_group_all_with_carousal nav .nav-tabs a", 2891 function () { 2892 var id = jQuery(this).attr("href"); 2893 var action = jQuery("#hbb_addon_group_all_with_carousal div h2") 2894 .text() 2895 .trim(); 2896 var label = jQuery(this).text().trim(); 2897 2898 jQuery(".card.slick-active", id).each(function (index, element) { 2899 var title = jQuery(element).attr("pname").trim(); 2900 pushDataLayer( 2901 action, 2902 label, 2903 title, 2904 undefined, 2905 undefined, 2906 undefined, 2907 undefined, 2908 undefined, 2909 undefined 2910 ); 2911 }); 2912 } 2913 ); 2914 2915 // 12.1.4 HBB SECTIONS - DOR-42111 2916 jQuery("body").on( 2917 "click", 2918 "#hbb_addon_group_all_with_carousal .tab-pane .slick-arrow", 2919 function () { 2920 var action = jQuery("#hbb_addon_group_all_with_carousal div h2") 2921 .text() 2922 .trim(); 2923 var label = jQuery(this).attr("label").trim(); 2924 jQuery( 2925 "#hbb_addon_group_all_with_carousal .tab-pane.active .card.slick-active" 2926 ).each(function (index, element) { 2927 var title = jQuery(element).attr("pname").trim(); 2928 pushDataLayer( 2929 action, 2930 label, 2931 title, 2932 undefined, 2933 undefined, 2934 undefined, 2935 undefined, 2936 undefined, 2937 undefined 2938 ); 2939 }); 2940 } 2941 ); 2942 2943 // 12.1.4 HBB SECTIONS - DOR-42111 2944 jQuery("body").on( 2945 "click", 2946 "#hbb_addon_group_all_with_carousal .view-more-link", 2947 function () { 2948 var action = jQuery("#hbb_addon_group_all_with_carousal div h2") 2949 .text() 2950 .trim(); 2951 var label = jQuery(this).text().trim(); 2952 2953 pushDataLayer( 2954 action, 2955 label, 2956 undefined, 2957 undefined, 2958 undefined, 2959 undefined, 2960 undefined, 2961 undefined, 2962 undefined 2963 ); 2964 } 2965 ); 2966 2967 // 12.1.4 HBB SECTIONS - DOR-42111 2968 jQuery("body").on( 2969 "click", 2970 ".hbb-add-on-group-without-carousal .view-more-link", 2971 function () { 2972 var action = jQuery(".hbb-add-on-group-without-carousal div h2") 2973 .text() 2974 .trim(); 2975 var label = jQuery(this).text().trim(); 2976 2977 pushDataLayer( 2978 action, 2979 label, 2980 undefined, 2981 undefined, 2982 undefined, 2983 undefined, 2984 undefined, 2985 undefined, 2986 undefined 2987 ); 2988 } 2989 ); 2990 2991 var w = 1; 2992 jQuery(document).on( 2993 "change", 2994 "#hbb-pack-comparison-web .selectpicker", 2995 function () { 2996 if (w <= 3) { 2997 w++; 2998 return false;
2999 } 3000 pushGADetailsForHBBComparison(this); 3001 w++; 3002 } 3003 ); 3004 3005 var m = 1; 3006 jQuery(document).on( 3007 "change", 3008 "#hbb-pack-comparison-mobile .selectpicker", 3009 function () { 3010 if (m <= 2) { 3011 m++; 3012 return false; 3013 } 3014 pushGADetailsForHBBComparison(this); 3015 m++; 3016 } 3017 ); 3018 3019 function pushGADetailsForHBBComparison(obj) { 3020 var selectedDropdown = 0; 3021 3022 var label = jQuery(obj).children("option:selected").text().trim(); 3023 3024 if (jQuery(obj).hasClass("package-1")) selectedDropdown = 1; 3025 if (jQuery(obj).hasClass("package-2")) selectedDropdown = 2; 3026 if (jQuery(obj).hasClass("package-3")) selectedDropdown = 3; 3027 3028 setTimeout(function () { 3029 var price = jQuery( 3030 "#hbb-pack-comparison-web .monthly-rental-" + selectedDropdown 3031 ) 3032 .text() 3033 .trim(); 3034 var anyTimeData = jQuery( 3035 "#hbb-pack-comparison-web .anytime-data-" + selectedDropdown 3036 ) 3037 .text() 3038 .trim(); 3039 var nightTimeData = jQuery( 3040 "#hbb-pack-comparison-web .night-data-" + selectedDropdown 3041 ) 3042 .text() 3043 .trim(); 3044 var bonusData = jQuery( 3045 "#hbb-pack-comparison-web .bonus-data-" + selectedDropdown 3046 ) 3047 .text() 3048 .trim(); 3049 var gamerdata = jQuery( 3050 "#hbb-pack-comparison-web .gamer-data-" + selectedDropdown 3051 ) 3052 .text() 3053 .trim(); 3054 3055 Drupal.behaviors.ga360.hbbPackageComparison( 3056 "Package Dropdown", 3057 label, 3058 price, 3059 anyTimeData, 3060 nightTimeData, 3061 bonusData, 3062 gamerdata 3063 ); 3064 }, 0); 3065 } 3066 3067 function pushDataLayer( 3068 action, 3069 label, 3070 title, 3071 pName, 3072 price, 3073 category, 3074 msisdn, 3075 primary, 3076 email 3077 ) { 3078 var gTagName = jQuery(".g-tag-name").text().trim(); 3079 switch (gTagName) { 3080 case "in-home-landing": 3081 Drupal.behaviors.ga360.inHomeSections( 3082 action, 3083 label, 3084 title, 3085 msisdn, 3086 primary, 3087 email 3088 ); 3089 break; 3090 case "dtv-landing": 3091 Drupal.behaviors.ga360.dtvSections( 3092 action, 3093 label, 3094 undefined, 3095 undefined, 3096 undefined, 3097 undefined, 3098 undefined, 3099 undefined, 3100 undefined 3101 ); 3102 break; 3103 case "viu-hub-landing": 3104 // Data layer push function 3105 break; 3106 case "viu-mini-landing": 3107 // Data layer push function 3108 break; 3109 case "hbb-landing": 3110 Drupal.behaviors.ga360.hbbSections( 3111 action, 3112 label, 3113 title, 3114 pName, 3115 price, 3116 category, 3117 msisdn, 3118 primary, 3119 email 3120 ); 3121 break; 3122 case "hbb-prepaid": 3123 Drupal.behaviors.ga360.hbbSections( 3124 action, 3125 label, 3126 title, 3127 pName, 3128 price, 3129 category, 3130 msisdn, 3131 primary, 3132 email 3133 ); 3134 break; 3135 case "hbb-postpaid": 3136 Drupal.behaviors.ga360.hbbSections( 3137 action, 3138 label, 3139 title, 3140 pName, 3141 price, 3142 category, 3143 msisdn, 3144 primary, 3145 email 3146 ); 3147 break; 3148 } 3149 } 3150 3151 function getListValues(gTagName) { 3152 var list = []; 3153 switch (gTagName) { 3154 case "in-home-landing": 3155 list = ["paybillReloadGo", "In Home"]; 3156 break; 3157 case "dtv-landing": 3158 list = ["paybillReloadGo", "DTV"]; 3159 break; 3160 case "viu-hub-landing": 3161 list = ["paybillReloadGo", "VIU Hub"]; 3162 break; 3163 case "viu-mini-landing": 3164 list = ["paybillReloadGo", "VIU Mini"]; 3165 break; 3166 case "hbb-landing": 3167 list = ["paybillReloadSearch", "HBB Landing"]; 3168 break; 3169 case "hbb-prepaid": 3170 list = ["paybillReloadSearch", "HBB Prepaid"]; 3171 break; 3172 case "hbb-postpaid": 3173 list = ["paybillReloadSearch", "HBB Postpaid"]; 3174 break; 3175 } 3176 return list; 3177 } 3178 3179 function validateEmail(email) { 3180 var re = 3181 /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/; 3182 return re.test(String(email).toLowerCase()); 3183 } 3184 3185 // 9.6.4 ADD TO CART DOR-42167 3186 // jQuery(document).ready(function () { 3187 // var gTagName = jQuery(".g-tag-name").text().trim(); 3188 // alert("text"); 3189 // switch (gTagName) { 3190 // case 'dtv-product-detail': 3191 // let objectSession = JSON.parse(sessionStorage.getItem('dtvga_obj')); 3192 // Drupal.behaviors.ga360.productDetailCommon('All Channel Packs', objectSession); 3193 // break; 3194 // } 3195 //}); 3196 3197 // Product click DOR-42159 3198 jQuery(document).on( 3199 "click", 3200 "#dtv-all-packages-with-carousal .dtv-card a", 3201 function () { 3202 // $(this).closest('.card').siblings('.card.slick-cloned').remove(); 3203 3204 let pElement = jQuery(this).closest(".card-body"); 3205 3206 let ga360_position = jQuery(this).closest(".card").index() + 1; 3207 let ga360_dimension30Exists = $(this).prev().attr("style"); 3208 let ga360_dimension30 = false;
3209 if (ga360_dimension30Exists == "display: flex") { 3210 ga360_dimension30 = true; 3211 } 3212 let ga360_dimension29 = undefined; 3213 let ga360_price = jQuery(".p-3:eq(0) h5", pElement) 3214 .text() 3215 .trim() 3216 .toLowerCase(); 3217 let checkPriceHasNumbers = Drupal.behaviors.ga360.hasNumber(ga360_price); // check digits exists in this string. 3218 if (checkPriceHasNumbers) { 3219 ga360_price = (ga360_price.replace(/\D/g, "") / 100).toFixed(2); 3220 } else { 3221 ga360_price = "0.00"; 3222 } 3223 let ga360_name = jQuery(".p-3:eq(0) h4", pElement) 3224 .text() 3225 .trim() 3226 .toLowerCase(); 3227 let ga360_id = jQuery(this).attr("href").split("=").pop().toLowerCase(); 3228 let ga360_category = jQuery( 3229 ".p-3:eq(0) div.badge-container p:eq(0)", 3230 pElement 3231 ) 3232 .text() 3233 .trim() 3234 .toLowerCase(); 3235 let ga360_variant = undefined; 3236 let ga360_brand = "dtv packages"; 3237 3238 sessionStorage.setItem("clicked_ga360_list", "tailored packages"); 3239 sessionStorage.setItem("clicked_ga360_id", ga360_id); 3240 sessionStorage.setItem("clicked_ga360_name", ga360_name); 3241 sessionStorage.setItem("clicked_ga360_price", ga360_price); 3242 sessionStorage.setItem("clicked_ga360_category", ga360_category); 3243 sessionStorage.setItem("clicked_ga360_variant", ga360_variant); 3244 sessionStorage.setItem("clicked_ga360_position", ga360_position); 3245 sessionStorage.setItem("clicked_ga360_dimension29", ga360_dimension29); 3246 sessionStorage.setItem("clicked_ga360_dimension30", ga360_dimension30); 3247 3248 var obj = { 3249 name: ga360_name, 3250 id: ga360_id, 3251 price: ga360_price, 3252 brand: ga360_brand, 3253 category: ga360_category, 3254 variant: ga360_variant, 3255 position: ga360_position, 3256 dimension29: ga360_dimension29, 3257 dimension30: ga360_dimension30, 3258 }; 3259 Drupal.behaviors.ga360.productClickCommon( 3260 sessionStorage.getItem("clicked_ga360_list").toLowerCase(), 3261 obj 3262 ); 3263 } 3264 ); 3265 3266 jQuery(document).on( 3267 "click", 3268 ".channel-details-section a.ga360-click-order-now", 3269 function () { 3270 let currency = $(this).attr("pcurrency").toLowerCase(); 3271 3272 var obj = { 3273 name: sessionStorage.getItem("clicked_ga360_name"), 3274 id: sessionStorage.getItem("clicked_ga360_id"), 3275 price: sessionStorage.getItem("clicked_ga360_price"), 3276 brand: sessionStorage.getItem("clicked_ga360_brand"), 3277 category: sessionStorage.getItem("clicked_ga360_category"), 3278 variant: sessionStorage.getItem("clicked_ga360_variant"), 3279 position: sessionStorage.getItem("clicked_ga360_position"), 3280 quantity: 1, 3281 dimension29: sessionStorage.getItem("clicked_ga360_dimension29"), 3282 dimension30: sessionStorage.getItem("clicked_ga360_dimension30"), 3283 }; 3284 Drupal.behaviors.ga360.productAddToCartCommon( 3285 currency, 3286 sessionStorage.getItem("clicked_ga360_list").toLowerCase(), 3287 obj 3288 ); 3289 } 3290 ); 3291 3292 // 9.4.3 PRODUCT DETAILS - DOR-42160 3293 jQuery(document).ready(function () { 3294 var gTagName = jQuery(".g-tag-name").text().trim(); 3295 switch (gTagName) { 3296 case "dtv-product-detail": 3297 sessionStorage.setItem("clicked_ga360_brand", "dtv packages"); 3298 var obj = { 3299 name: sessionStorage.getItem("clicked_ga360_name"), 3300 id: sessionStorage.getItem("clicked_ga360_id"), 3301 price: sessionStorage.getItem("clicked_ga360_price"), 3302 brand: sessionStorage.getItem("clicked_ga360_brand"), 3303 category: sessionStorage.getItem("clicked_ga360_category"), 3304 variant: sessionStorage.getItem("clicked_ga360_variant"), 3305 position: sessionStorage.getItem("clicked_ga360_position"), 3306 dimension29: sessionStorage.getItem("clicked_ga360_dimension29"), 3307 dimension30: sessionStorage.getItem("clicked_ga360_dimension30"), 3308 }; 3309 console.log(sessionStorage.getItem("clicked_ga360_dimension29")); 3310 console.log(sessionStorage.getItem("clicked_ga360_dimension30")); 3311 console.log(sessionStorage.getItem("clicked_ga360_list")); 3312 Drupal.behaviors.ga360.productDetailCommon( 3313 sessionStorage.getItem("clicked_ga360_list"), 3314 obj 3315 ); 3316 break; 3317 3318 default: 3319 break; 3320 } 3321 }); 3322 3323 // 12.4.2 PRODUCT CLICK HBB - DOR-42124 3324 jQuery(document).on( 3325 "click", 3326 "#hbb-packages-postpaid-w-wo-carousel .dtv-card a", 3327 function () { 3328 // $(this).closest('.card').siblings('.card.slick-cloned').remove(); 3329 3330 let pElement = jQuery(this).closest(".card-body"); 3331 3332 let ga360_position = jQuery(this).closest(".card").index() + 1; 3333 //let ga360_dimension31Exists = $(this).prev().attr('style'); 3334 // let ga360_dimension31 = false;
3335 // if (ga360_dimension31Exists == 'display: flex') { 3336 // ga360_dimension31 = true; 3337 // } 3338 // let ga360_dimension31 = undefined; 3339 let ga360_price = jQuery(".p-3:eq(0) h5", pElement) 3340 .text() 3341 .trim() 3342 .toLowerCase(); 3343 let checkPriceHasNumbers = Drupal.behaviors.ga360.hasNumber(ga360_price); // check digits exists in this string. 3344 if (checkPriceHasNumbers) { 3345 ga360_price = (ga360_price.replace(/\D/g, "") / 100).toFixed(2); 3346 } else { 3347 ga360_price = "0.00"; 3348 } 3349 let ga360_name = jQuery( 3350 ".p-3:eq(0) div.badge-container p:eq(0)", 3351 pElement 3352 ) 3353 .text() 3354 .trim() 3355 .toLowerCase(); 3356 let ga360_id = jQuery(this).attr("href").split("=").pop().toLowerCase(); 3357 let ga360_category = jQuery(".p-3:eq(0) h4", pElement) 3358 .text() 3359 .trim() 3360 .toLowerCase(); 3361 let ga360_variant = jQuery(this).attr("nightvalues").toLowerCase(); 3362 let ga360_brand = "HBB Packages"; 3363 3364 if (ga360_variant == "{{ga_data_cap_value}} {{ga_data_cap_unit}}") { 3365 ga360_variant = "N/A"; 3366 } 3367 3368 sessionStorage.setItem("clicked_ga360_list", "tailored packages"); 3369 sessionStorage.setItem("clicked_ga360_id", ga360_id); 3370 sessionStorage.setItem("clicked_ga360_name", ga360_name); 3371 sessionStorage.setItem("clicked_ga360_price", ga360_price); 3372 sessionStorage.setItem("clicked_ga360_brand", ga360_brand); 3373 sessionStorage.setItem("clicked_ga360_category", ga360_category); 3374 sessionStorage.setItem("clicked_ga360_variant", ga360_variant); 3375 sessionStorage.setItem("clicked_ga360_position", ga360_position); 3376 3377 var obj = { 3378 name: ga360_name, 3379 id: ga360_id, 3380 price: ga360_price, 3381 brand: ga360_brand, 3382 category: "Anytime Data - " + ga360_category, 3383 variant: "Night Data - " + ga360_variant, 3384 position: ga360_position, 3385 }; 3386 Drupal.behaviors.ga360.productClickCommon( 3387 sessionStorage.getItem("clicked_ga360_list").toLowerCase(), 3388 obj 3389 ); 3390 } 3391 ); 3392 3393 // 12.4.3 PRODUCT DETAIL HBB - DOR-42126 3394 jQuery(document).ready(function () { 3395 var gTagName = jQuery(".g-tag-name").text().trim(); 3396 switch (gTagName) { 3397 case "hbb-product-detail": 3398 sessionStorage.setItem("clicked_ga360_brand", "HBB Packages"); 3399 var obj = { 3400 name: sessionStorage.getItem("clicked_ga360_name"), 3401 id: sessionStorage.getItem("clicked_ga360_id"), 3402 price: sessionStorage.getItem("clicked_ga360_price"), 3403 brand: sessionStorage.getItem("clicked_ga360_brand"), 3404 category: 3405 "Anytime Data - " + 3406 sessionStorage.getItem("clicked_ga360_category"), 3407 variant: 3408 "Night Data - " + sessionStorage.getItem("clicked_ga360_variant"), 3409 position: sessionStorage.getItem("clicked_ga360_position"), 3410 }; 3411 3412 Drupal.behaviors.ga360.productDetailCommon( 3413 sessionStorage.getItem("clicked_ga360_list"), 3414 obj 3415 ); 3416 break; 3417 3418 default: 3419 break; 3420 } 3421 }); 3422 3423 // Product click DOR-42159 3424 jQuery(document).on( 3425 "click", 3426 "#dtv-channel-bundles-prepaid .card a, #dtv-channel-bundles-postpaid .card a", 3427 function () { 3428 $(this).closest(".card").siblings(".card.slick-cloned").remove(); 3429 3430 let pElement = jQuery(this).closest(".card-body"); 3431 let ga36o_list = jQuery(".dtv-channel-bundles-block h2") 3432 .text() 3433 .trim() 3434 .replace(/\s\s+/g, " "); 3435 let ga360_name = jQuery("h4.pkg-see-channels-popup", pElement) 3436 .text() 3437 .trim() 3438 .replace(/\s\s+/g, " "); 3439 let ga360_id = jQuery("h4.pkg-see-channels-popup", pElement) 3440 .attr("data-id") 3441 .trim() 3442 .replace(/\s\s+/g, " "); 3443 let ga360_price = undefined; 3444 let ga360_brand = "dtv channel packs"; 3445 let ga360_category = jQuery("h4.pkg-see-channels-popup", pElement) 3446 .attr("data-title") 3447 .trim() 3448 .replace(/\s\s+/g, " "); 3449 let ga360_variant = undefined; 3450 let ga360_position = jQuery(this).closest(".card").index() + 1; 3451 3452 sessionStorage.setItem("clicked_ga360_list", ga36o_list.toLowerCase()); 3453 sessionStorage.setItem("clicked_ga360_name", ga360_name.toLowerCase()); 3454 sessionStorage.setItem("clicked_ga360_id", ga360_id); 3455 sessionStorage.setItem("clicked_ga360_price", ga360_price); 3456 sessionStorage.setItem("clicked_ga360_brand", ga360_brand.toLowerCase()); 3457 sessionStorage.setItem( 3458 "clicked_ga360_category", 3459 ga360_category.toLowerCase() 3460 ); 3461 sessionStorage.setItem("clicked_ga360_variant", ga360_variant); 3462 sessionStorage.setItem("clicked_ga360_position", ga360_position); 3463 3464 var obj = { 3465 name: ga360_name, 3466 id: ga360_id, 3467 price: ga360_price, 3468 brand: ga360_brand, 3469 category: ga360_category, 3470 variant: ga360_variant, 3471 position: ga360_position, 3472 }; 3473 3474 Drupal.behaviors.ga360.productClickCommon(ga36o_list.toLowerCase(), obj); 3475 } 3476 ); 3477 3478 // DTV Packages DOR-42154 3479 jQuery(document).on("click", ".pkg-see-channels", function () { 3480 var eventaction = $(this).text(); 3481 var eventLabel = $(this).prev("h4").text(); 3482 var package = $(this).parent().children("div:eq(0)").find("p").text(); 3483 var price = $(this).parent().children("h5").text(); 3484 var specialPromotion = $(this) 3485 .parent() 3486 .next("div.card-content-section") 3487 .find("div p.sp-promo").length; 3488 var sppromo = "No"; 3489 if (specialPromotion > 0) { 3490 sppromo = "Yes"; 3491 } 3492 Drupal.behaviors.ga360.dtvPackages( 3493 eventaction, 3494 eventLabel, 3495 package, 3496 price, 3497 sppromo, 3498 undefined, 3499 undefined, 3500 undefined 3501 ); 3502 }); 3503 3504 // ACTIVATE CHANNEL DOR-42143 3505 jQuery(document).on("click", ".ga-btn", function () { 3506 var prepaidDailyRentalPrice = undefined; 3507 var prepaidMonthlyRentalPrice = undefined; 3508 var postpaidRentalPrice = undefined; 3509 if ($(".prepaid-daily-rental").length > 0) { 3510 prepaidDailyRentalPrice = $(".prepaid-daily-rental").text(); 3511 } 3512 3513 if ($(".prepaid-monthly-rental").length > 0) { 3514 prepaidMonthlyRentalPrice = $(".prepaid-monthly-rental").text(); 3515 } 3516 3517 if ($(".postpaid-rental").length > 0) { 3518 postpaidRentalPrice = $(".postpaid-rental").text(); 3519 } 3520 var eventAction = $(".ga-channel-name").text(); 3521 3522 Drupal.behaviors.ga360.activateChannel( 3523 eventAction, 3524 prepaidDailyRentalPrice, 3525 prepaidMonthlyRentalPrice, 3526 postpaidRentalPrice, 3527 undefined, 3528 undefined, 3529 undefined 3530 ); 3531 }); 3532 3533 // 9.6.4 ADD TO CART DOR-42167 3534 jQuery(document).on( 3535 "click", 3536 "#dtv-all-channel-bundles-block .card-all-channels a", 3537 function () { 3538 var name = $(this).parent().siblings("h4.pkg-see-channels-popup").text(); 3539 var id = $(this) 3540 .parent() 3541 .siblings("h4.pkg-see-channels-popup") 3542 .attr("data-id"); 3543 var category = $(this) 3544 .parent() 3545 .siblings("h4.pkg-see-channels-popup") 3546 .attr("data-title"); 3547 var price = $(this).parent().siblings("h5.price-lbl").text(); 3548 var position = $(this).closest(".ga360-card").index() + 1; 3549 var currency = price.split(" ")[0]; 3550 var obj = { 3551 name: name, 3552 id: id, 3553 category: category, 3554 price: price, 3555 position: position, 3556 brand: "DTV Channel Packs", 3557 variant: undefined, 3558 }; 3559 sessionStorage.setItem("dtvga_currency", currency); 3560 sessionStorage.setItem("dtvga_obj", JSON.stringify(obj)); 3561 Drupal.behaviors.ga360.productClickCommon("All Channel Packs", obj); 3562 } 3563 ); 3564 3565 // 9.6.4 ADD TO CART DOR-42167 3566 jQuery(document).on( 3567 "click", 3568 ".dtv-channel-bundle-summary-block .ga360-btn", 3569 function () { 3570 let objectSession = JSON.parse(sessionStorage.getItem("dtvga_obj")); 3571 Drupal.behaviors.ga360.productAddToCartCommon( 3572 sessionStorage.getItem("dtvga_currency").toLowerCase(), 3573 "All Channel Packs", 3574 objectSession 3575 ); 3576 } 3577 ); 3578 3579 // 9.6.4 ADD TO CART DOR-42167 3580 jQuery(document).on( 3581 "click", 3582 "#dtv-channels-bundle-section .ga360-btn", 3583 function () { 3584 let objectSession = JSON.parse(sessionStorage.getItem("dtvga_obj")); 3585 Drupal.behaviors.ga360.productAddToCartCommon( 3586 sessionStorage.getItem("dtvga_currency").toLowerCase(), 3587 "All Channel Packs", 3588 objectSession 3589 ); 3590 } 3591 ); 3592 3593 // 9.1.3 BUNDLE BANNER NAVIGATION DOR-42144 3594 jQuery(document).on( 3595 "click", 3596 "#dtv-channels-bundle-section button.slick-arrow", 3597 function () { 3598 var eventAction = jQuery(this).attr("label"); 3599 var eventLabel = jQuery("h3.main-title").text();
3600 Drupal.behaviors.ga360.bundleBannerNavigation( 3601 eventAction, 3602 eventLabel, 3603 undefined, 3604 undefined, 3605 undefined 3606 ); 3607 } 3608 ); 3609 3610 // 12.4.2 PRODUCT CLICK - DOR-42124 HBB WEB 3611 jQuery(document).on( 3612 "click", 3613 "#hbb-pack-comparison-web .bottom-button", 3614 function () { 3615 var selectedButton = 0; 3616 3617 if (jQuery(this).hasClass("bottom-button-1")) selectedButton = 1; 3618 if (jQuery(this).hasClass("bottom-button-2")) selectedButton = 2; 3619 if (jQuery(this).hasClass("bottom-button-3")) selectedButton = 3; 3620 3621 var id = jQuery("a.btn-get-package", this).attr("href"); 3622 idValue = id.split("&", 2); 3623 idValue = idValue[0].split("=", 2); 3624 idValue = idValue[1]; 3625 3626 var name = jQuery("#hbb-pack-comparison-web .package-" + selectedButton) 3627 .children("option:selected") 3628 .text() 3629 .trim(); 3630 var price = jQuery( 3631 "#hbb-pack-comparison-web .monthly-rental-" + selectedButton 3632 ) 3633 .text() 3634 .trim(); 3635 var brand = "HBB Packages"; 3636 var anyData = jQuery( 3637 "#hbb-pack-comparison-web .anytime-data-" + selectedButton 3638 ) 3639 .text() 3640 .trim(); 3641 var nightData = jQuery( 3642 "#hbb-pack-comparison-web .night-data-" + selectedButton 3643 ) 3644 .text() 3645 .trim(); 3646 var position = jQuery(this).index() + 1; 3647 3648 if (nightData == "-") { 3649 nightData = "N/A"; 3650 } 3651 3652 Drupal.behaviors.ga360.productClick( 3653 "Package Comparison", 3654 name, 3655 idValue, 3656 price, 3657 brand, 3658 anyData, 3659 nightData, 3660 position 3661 ); 3662 } 3663 ); 3664 3665 // 12.4.2 PRODUCT CLICK - DOR-42124 HBB MOB 3666 jQuery(document).on( 3667 "click", 3668 "#hbb-pack-comparison-mobile .bottom-button", 3669 function () { 3670 var selectedButton = 0; 3671 3672 if (jQuery(this).hasClass("bottom-button-1")) selectedButton = 1; 3673 if (jQuery(this).hasClass("bottom-button-2")) selectedButton = 2; 3674 if (jQuery(this).hasClass("bottom-button-3")) selectedButton = 3; 3675 3676 var id = jQuery("a.btn-get-package", this).attr("href"); 3677 idValue = id.split("&", 2); 3678 idValue = idValue[0].split("=", 2); 3679 idValue = idValue[1]; 3680 3681 var name = jQuery( 3682 "#hbb-pack-comparison-mobile .package-" + selectedButton 3683 ) 3684 .children("option:selected") 3685 .text() 3686 .trim(); 3687 var price = jQuery( 3688 "#hbb-pack-comparison-mobile .monthly-rental-" + selectedButton 3689 ) 3690 .text() 3691 .trim(); 3692 var brand = "HBB Packages"; 3693 var anyData = jQuery( 3694 "#hbb-pack-comparison-mobile .anytime-data-" + selectedButton 3695 ) 3696 .text() 3697 .trim(); 3698 var nightData = jQuery( 3699 "#hbb-pack-comparison-mobile .night-data-" + selectedButton 3700 ) 3701 .text() 3702 .trim(); 3703 var position = jQuery(this).index() + 1; 3704 3705 if (nightData == "-") { 3706 nightData = "N/A"; 3707 } 3708 3709 Drupal.behaviors.ga360.productClick( 3710 "Package Comparison", 3711 name, 3712 idValue, 3713 price, 3714 brand, 3715 anyData, 3716 nightData, 3717 position 3718 ); 3719 } 3720 ); 3721 3722 // 12.4.2 PRODUCT CLICK - DOR-42124 HBB Other Package 3723 jQuery(document).on("click", "#block-hbbotherpackages .card", function () { 3724 var name = jQuery(this).attr("name"); 3725 var id = jQuery(this).attr("pid"); 3726 var price = undefined; 3727 var brand = "HBB Packages"; 3728 var anyData = undefined; 3729 var nightData = undefined; 3730 var position = jQuery(this).index() + 1; 3731 3732 Drupal.behaviors.ga360.productClick( 3733 "Other Packages", 3734 name, 3735 id, 3736 price, 3737 brand, 3738 anyData, 3739 nightData, 3740 position 3741 ); 3742 }); 3743 3744 // Device View Item DOR-59422 3745 jQuery(document).on( 3746 "click", 3747 "#new-arrivals-list-view-grid .buy-now-button a, .view-shop-most-popular .buy-now-button a, .product-catalog-view .buy-now-button a", 3748 function () { 3749 let pElement = jQuery(this).closest( 3750 ".product-catalog, .product-taeser-view" 3751 ); 3752 let item_id = undefined; 3753 let item_name = jQuery("div.field--name-title", pElement).text(); 3754 let position = jQuery(this).closest(".views-row").index() + 1; 3755 let item_brand = undefined; 3756 let item_category = undefined; 3757 let item_category2 = undefined; 3758 let item_list_name = jQuery( 3759 ".field--type-viewsreference .viewsreference--view-title" 3760 ) 3761 .text() 3762 .trim(); 3763
3764 if (jQuery(this).is("#new-arrivals-list-view-grid a")) { 3765 // Element with ID '#new-arrivals-list-view-grid' was clicked 3766 item_list_name = jQuery( 3767 ".field--type-viewsreference .viewsreference--view-title:eq(0)" 3768 ) 3769 .text() 3770 .trim(); 3771 } else if (jQuery(this).is(".view-shop-most-popular a")) { 3772 // Element with class 'view-shop-most-popular' was clicked 3773 item_list_name = jQuery( 3774 ".field--type-viewsreference .viewsreference--view-title:eq(1)" 3775 ) 3776 .text() 3777 .trim(); 3778 } 3779 3780 let item_variant = undefined; 3781 let quicklinkcontractId = $("#my-account-dropdown") 3782 .find(".dropdown-content .user-details span#cid-uuid-for-ga360") 3783 .text(); 3784 let ga360_price = jQuery("div.field--name-price", pElement).text(); 3785 let checkPriceHasNumbers = Drupal.behaviors.ga360.hasNumber(ga360_price); // check digits exists in this string. 3786 if (checkPriceHasNumbers) { 3787 ga360_price = (ga360_price.replace(/\D/g, "") / 100).toFixed(2); 3788 } else { 3789 ga360_price = "0.00"; 3790 } 3791 let quantity = "1"; 3792 var primary_number = $("#my-account-dropdown").find(".dropdown-content .user-details span#tele-for-ga360").text(); 3793 3794 sessionStorage.setItem("item_id", item_id); 3795 sessionStorage.setItem("item_name", item_name); 3796 sessionStorage.setItem("position", position); 3797 sessionStorage.setItem("item_brand", item_brand); 3798 sessionStorage.setItem("item_category", item_category); 3799 sessionStorage.setItem("item_category2", item_category2); 3800 sessionStorage.setItem("item_list_name", item_list_name); 3801 sessionStorage.setItem("item_variant", item_variant); 3802 sessionStorage.setItem("quicklinkcontractId", quicklinkcontractId); 3803 sessionStorage.setItem("item_variant", item_variant); 3804 sessionStorage.setItem("ga360_price", ga360_price); 3805 3806 Drupal.behaviors.ga360.deviceViewItem( 3807 item_id, 3808 item_name, 3809 position, 3810 item_brand, 3811 item_category, 3812 item_category2, 3813 item_list_name, 3814 item_variant, 3815 quicklinkcontractId, 3816 ga360_price, 3817 quantity, 3818 primary_number 3819 ); 3820 } 3821 ); 3822 3823 // Device Select Item DOR-59422 3824 jQuery(document).on("click", ".commerce-product .add-to-cart", function () { 3825 let sku, 3826 ga360_sku, 3827 item_variant_color, 3828 element, 3829 item_category_type = undefined; 3830 sku = $("input[name=sku]").attr("value"); 3831 3832 element = document.querySelector(".color_field__swatch"); 3833 // item_variant_color = element.style.backgroundColor; 3834 item_variant_color = drupalSettings.dialog_shop.cart.colour_name; 3835 item_category_type = drupalSettings.dialog_shop.category_type; 3836 item_device_lob = drupalSettings.dialog_shop.cart.lob; 3837 3838 ga360_variant = sessionStorage.setItem("item_variant", item_variant_color); 3839 ga360_sku = sessionStorage.setItem("ga360_sku", sku); 3840 ga360_category = sessionStorage.setItem( 3841 "ga360_category", 3842 item_category_type 3843 ); 3844 device_lob = sessionStorage.setItem("device_lob", item_device_lob); 3845 3846 let item_id = sku; 3847 let item_name = 3848 sessionStorage.getItem("item_name") != "undefined" 3849 ? sessionStorage.getItem("item_name") 3850 : undefined; 3851 let currency_code = "LKR"; 3852 let position = 3853 sessionStorage.getItem("position") != "undefined" 3854 ? sessionStorage.getItem("position") 3855 : undefined; 3856 let item_brand = 3857 sessionStorage.getItem("item_name") != "undefined" 3858 ? sessionStorage.getItem("item_name") 3859 : undefined; 3860 let item_category = item_category_type; 3861 let item_category2 = sessionStorage.getItem("item_category2"); 3862 let item_list_name = sessionStorage.getItem("item_list_name"); 3863 let item_variant = item_variant_color;
3864 let contract_id = sessionStorage.getItem("quicklinkcontractId"); 3865 let price = sessionStorage.getItem("ga360_price"); 3866 let quantity = "1"; 3867 let value = sessionStorage.getItem("ga360_price"); 3868 var primary_number = $("#my-account-dropdown").find(".dropdown-content .user-details span#tele-for-ga360").text(); 3869 3870 Drupal.behaviors.ga360.deviceAddtoCart( 3871 item_id, 3872 item_name, 3873 currency_code, 3874 position, 3875 item_brand, 3876 item_category, 3877 item_list_name, 3878 item_variant, 3879 quantity, 3880 contract_id, 3881 price, 3882 value, 3883 primary_number 3884 ); 3885 // Drupal.behaviors.ga360.deviceviewCart( 3886 // item_id, 3887 // item_name, 3888 // currency_code, 3889 // position, 3890 // item_brand, 3891 // item_category, 3892 // item_category2, 3893 // item_list_name, 3894 // item_variant, 3895 // quantity, 3896 // contract_id, 3897 // price 3898 // ); 3899 }); 3900 3901 // device view cart 3902 // jQuery(document).on("click", ".header-buttons .btn-cart", function () { 3903 // jQuery(document).ready(function () { 3904 // if (jQuery('.o2a-shopping-cart-container').length) { 3905 // // console.log("test device"); 3906 3907 // let sku, 3908 // ga360_sku, 3909 // item_variant_color, 3910 // element, 3911 // item_category_type = undefined; 3912 // sku = $("input[name=sku]").attr("value"); 3913 3914 // element = document.querySelector(".color_field__swatch"); 3915 // // item_variant_color = element.style.backgroundColor; 3916 // item_variant_color = drupalSettings.dialog_shop.cart.colour_name; 3917 // item_category_type = drupalSettings.dialog_shop.category_type; 3918 // item_device_lob = drupalSettings.dialog_shop.cart.lob; 3919 3920 // ga360_variant = sessionStorage.setItem("item_variant", item_variant_color); 3921 // ga360_sku = sessionStorage.setItem("ga360_sku", sku); 3922 // ga360_category = sessionStorage.setItem( 3923 // "ga360_category", 3924 // item_category_type 3925 // ); 3926 // device_lob = sessionStorage.setItem("device_lob", item_device_lob); 3927 3928 // let item_id = sku; 3929 // let item_name = 3930 // sessionStorage.getItem("item_name") != "undefined" 3931 // ? sessionStorage.getItem("item_name") 3932 // : undefined; 3933 // let currency_code = "LKR"; 3934 // let position = 3935 // sessionStorage.getItem("position") != "undefined" 3936 // ? sessionStorage.getItem("position") 3937 // : undefined; 3938 // let item_brand = 3939 // sessionStorage.getItem("item_name") != "undefined" 3940 // ? sessionStorage.getItem("item_name") 3941 // : undefined; 3942 // let item_category = item_category_type; 3943 // let item_category2 = sessionStorage.getItem("item_category2"); 3944 // let item_list_name = sessionStorage.getItem("item_list_name"); 3945 // let item_variant = item_variant_color; 3946 // let contract_id = sessionStorage.getItem("quicklinkcontractId"); 3947 // let price = sessionStorage.getItem("ga360_price"); 3948 // let quantity = "1"; 3949 // let value = sessionStorage.getItem("ga360_price"); 3950 // var primary_number = $("#my-account-dropdown").find(".dropdown-content .user-details span#tele-for-ga360").text(); 3951 3952 // Drupal.behaviors.ga360.deviceviewCart( 3953 // item_id, 3954 // item_name, 3955 // currency_code, 3956 // position, 3957 // item_brand, 3958 // item_category, 3959 // item_list_name, 3960 // item_variant, 3961 // quantity, 3962 // contract_id, 3963 // price, 3964 // primary_number 3965 // ); 3966 // } 3967 // }); 3968 3969 // DOR-60149 Roaming check Packs 3970 jQuery(document).on("click", "#country-wise-idd .bootstrap-autocomplete .dropdown-item.active", function () { 3971 3972 var eventLabel= jQuery("#roaming-packs-country-list").val(); 3973 3974 Drupal.behaviors.ga360.iddroamingcheckPacks(eventLabel); 3975 }); 3976 3977 // DOR-60149 Roaming landing page packages and detail page packages 3978 jQuery(document).on("click", "#ga360-data .roaming-button-text", function () { 3979 3980 var pElement = jQuery(this).closest(".card"); 3981 var eventLabel= jQuery("#roaming-packs-country-list").val(); 3982 var packageName = jQuery(".pck-title", pElement).text(); 3983 var price = jQuery('.flex-remove-translate h5', pElement).attr('price'); 3984 var eventAction = jQuery(".roaming-button-text", pElement).text(); 3985 3986 sessionStorage.setItem("idd_roaming_country", eventLabel); 3987 3988 Drupal.behaviors.ga360.roamingPack(eventAction, eventLabel, packageName, price); 3989 3990 }); 3991 3992 // DOR-60149 Roaming enter number 3993 jQuery(document).on("click", "#validate-step", function () { 3994 3995 if (jQuery('.roaming-services').length > 0) { 3996 3997 var packageName = jQuery("#product-title").text(); 3998 var price = $('#prod-price').attr('price'); 3999 var eventAction = jQuery("#validate-step").text(); 4000 4001 Drupal.behaviors.ga360.iddroamingverifyNumber(eventAction, packageName, price); 4002 4003 } 4004 4005 }); 4006 4007 // DOR-60149 Roaming verify otp and resend pin
4008 jQuery(document).on("click", "#o2a-verify-otp, #resend-otp", function () { 4009 4010 if (jQuery('.roaming-services').length > 0) { 4011 4012 var packageName = jQuery("#product-title").text(); 4013 var price = $('#prod-price').attr('price'); 4014 4015 if (jQuery(this).attr('id') == "o2a-verify-otp" ) { 4016 var eventAction = jQuery("#o2a-verify-otp").text(); 4017 } else { 4018 var eventAction = jQuery("#resend-otp").text(); 4019 } 4020 4021 Drupal.behaviors.ga360.iddroamingverifyOtp(eventAction, packageName, price); 4022 } 4023 4024 }); 4025 4026 // DOR-60149 Roaming confirm activate 4027 jQuery(document).on("click", ".confirm-step", function () { 4028 4029 if (jQuery('.roaming-services').length > 0) { 4030 4031 var eventAction = jQuery(".ga360-name").text(); 4032 var packageCategory = jQuery(".connection_type").text(); 4033 var packageName = jQuery(".package_name").text(); 4034 var price = $('.ga360-price').attr('price'); 4035 price = price.replace(/[^0-9.]/g, ''); 4036 4037 sessionStorage.setItem("idd_roaming_package_action", eventAction); 4038 sessionStorage.setItem("idd_roaming_package_category", packageCategory); 4039 sessionStorage.setItem("idd_roaming_package_name", packageName); 4040 sessionStorage.setItem("idd_roaming_package_price", price); 4041 4042 Drupal.behaviors.ga360.iddroamingconfirmactivate(eventAction, packageCategory, packageName, price); 4043 4044 } 4045 4046 }); 4047 4048 // DOR-60149 4049 jQuery(document).ready(function () { 4050 4051 // DOR-60149 Roaming error 4052 if (jQuery('.ga360-page-load').length > 0) { 4053 4054 var eventLabel = jQuery(".ga360-label").text(); 4055 4056 Drupal.behaviors.ga360.iddroamingError(eventLabel); 4057 } 4058 4059 // DOR-60149 Quick Pay purchase 4060 if (jQuery('.quick-pay-Success-page').length > 0) { 4061 4062 var transaction_id = jQuery(".transaction-id").text(); 4063 var value = jQuery(".total-section .total").text(); 4064 4065 Drupal.behaviors.ga360.purchase(transaction_id, value); 4066 4067 } 4068 4069 // DOR-60149 Quick Pay transaction fail 4070 if (jQuery('.quick-pay-Fail-page').length > 0) { 4071 4072 var event_label = jQuery(".payment-failed-title").text(); 4073 event_label = event_label.replace("!", ""); 4074 var ga360_failure_reason_text = jQuery(".ga360-failure-reason").text(); 4075 4076 Drupal.behaviors.ga360.quickpaytransactionFail(event_label, ga360_failure_reason_text); 4077 4078 } 4079 4080 // DOR-60149 dtv activation success 4081 if (jQuery('.success-DTV').length > 0) { 4082 4083 var eventAction = jQuery(".daypass-act-successful-title").text(); 4084 4085 Drupal.behaviors.ga360.dtvactivationSuccess(eventAction); 4086 4087 } 4088 4089 if (jQuery('.success-ROAMING').length > 0) { 4090 4091 var eventAction = jQuery(".roaming-act-successful-title").text(); 4092 4093 4094 Drupal.behaviors.ga360.iddroamingactivateSuccess(); 4095 4096 } 4097 4098 if (drupalSettings.data.productType == 'HBB DATA ADD-ON') { 4099 Drupal.behaviors.ga360.purchasefailureSuccess(); 4100 } 4101 4102 }); 4103 4104 // DOR-60149 dtv activation select pack 4105 jQuery(document).on("click", ".dtv-day-pass-section .ga360-dtv-pass", function () { 4106 4107 var pElement = jQuery(this).closest(".card"); 4108 var eventAction= jQuery(".ga360-dtv-pass", pElement).text(); 4109 var eventLabel= jQuery(".pak-name", pElement).text(); 4110 var connection_type= jQuery(".common-nav-tab .nav-link.active h5").text(); 4111 var price = jQuery(".day-pass-price", pElement).text(); 4112 4113 var package_valid_1 = jQuery(".daypass-valid-text-1", pElement).text(); 4114 var package_valid_2 = jQuery(".daypass-valid-text-2", pElement).text(); 4115 4116 sessionStorage.setItem("dtv_activation_package_valid_1", package_valid_1); 4117 sessionStorage.setItem("dtv_activation_package_valid_2", package_valid_2); 4118 4119 sessionStorage.setItem("dtv_activation_connection_type", connection_type); 4120 4121 Drupal.behaviors.ga360.dtvactivationselectPack(eventAction, eventLabel, connection_type, price); 4122 }); 4123 4124 // DOR-60149 dtv activation enter number 4125 jQuery(document).on("click", "#validate-step", function () { 4126 4127 if (jQuery('.dtv-day-pass').length > 0) { 4128 4129 var eventAction = jQuery("#flow-stepper").find(".activation-flow.activated").text(); 4130 var eventLabel = jQuery("#product-title").text(); 4131 var price = jQuery("#prod-price").text(); 4132 4133 sessionStorage.setItem("dtv_activation_product_title", eventLabel); 4134 sessionStorage.setItem("dtv_activation_price", price); 4135 4136 Drupal.behaviors.ga360.dtvactivationenterNumber(eventAction, eventLabel, price); 4137 4138 } 4139 4140 }); 4141 4142 // DOR-60149 dtv activation verify otp and resend pin
4143 jQuery(document).on("click", "#o2a-verify-otp, #resend-otp", function () { 4144 4145 if (jQuery('.dtv-day-pass').length > 0) { 4146 4147 if (jQuery(this).attr('id') == "o2a-verify-otp" ) { 4148 var eventAction = jQuery("#o2a-verify-otp").text(); 4149 } else { 4150 var eventAction = jQuery("#resend-otp").text(); 4151 } 4152 4153 Drupal.behaviors.ga360.dtvactivationverifyotp(eventAction); 4154 4155 } 4156 4157 }); 4158 4159 // DOR-60149 dtv activation confirm 4160 jQuery(document).on("click", ".confirm-step", function () { 4161 4162 if (jQuery('.dtv-day-pass').length > 0) { 4163 4164 var eventactionConfirm = jQuery(".dtv-day-pass-confirm").text(); 4165 4166 Drupal.behaviors.ga360.dtvactivationConfirm(eventactionConfirm); 4167 4168 } 4169 4170 }); 4171 4172 // DOR-60149 Quick Pay add payment info 4173 $('.paybill-reload-page #order-confirm').on('click', function () { 4174 4175 var index = jQuery(".packages-cards .card.active-card").index() + 1; 4176 var price_val = jQuery("#nav-tabContent .active .ga360-price").val(); 4177 var price_card = jQuery(".packages-cards .card.active-card .ga360-price").text(); 4178 4179 if (price_val) { 4180 var price = price_val; 4181 } 4182 else if (price_card) { 4183 var price = price_card; 4184 } 4185 4186 var tab_name = jQuery("#nav-tab .active").attr("tab-code"); 4187 4188 if ((tab_name == 'data_cards') || (tab_name == 'voice')) { 4189 item_id = jQuery("#package-activate-cards-1 .active-card, #package-activate-cards-2 .active-card").attr("pcode"); 4190 item_name = jQuery(".packages-cards .card.active-card .ga360-pck-name").text(); 4191 } else if (tab_name == 'pay_bill') { 4192 item_name = "Pay Bill - paybill"; 4193 } 4194 else if (tab_name == 'reload') { 4195 item_name = "Reload - reload"; 4196 } else { 4197 item_name = $('#mobile_lob').val(); 4198 } 4199 4200 if (item_id === "null") { 4201 item_id = "undefined"; 4202 } 4203 4204 if ((tab_name == 'pay_bill') || (tab_name == 'reload')) { 4205 var staticValue = "id_"; // Replace "id_" with your actual static value 4206 var item_id = staticValue + parseInt(jQuery("#nav-tabContent .tab-pane.active .ga360-price").val()); 4207 } 4208 4209 4210 4211 var item_category = jQuery("#nav-tab .active").text() || $('#mobile_lob').val(); 4212 var payment_type = jQuery(".card-payment-method.active-card .ga360-method-name").text(); 4213 4214 sessionStorage.setItem("quick_pay_item_id", item_id); 4215 sessionStorage.setItem("quick_pay_item_name", item_name); 4216 sessionStorage.setItem("quick_pay_index", index); 4217 sessionStorage.setItem("quick_pay_item_category", item_category); 4218 sessionStorage.setItem("quick_pay_price", price); 4219 sessionStorage.setItem("quick_pay_payment_type", payment_type); 4220 4221 Drupal.behaviors.ga360.addpaymentInfo(item_id, item_name, index, item_category, price, payment_type); 4222 4223 }); 4224 4225 // DOR-60149 Quick Pay view card 4226 jQuery(document).on("click", ".paybill-reload-page .ga360-view-card", function () { 4227 4228 var package_type = jQuery("#nav-tab .active").text(); 4229 var event_action = jQuery("#nav-tabContent .active.show .ga360-view-card").text(); 4230 4231 var element = $(".card-payment-method"); 4232 4233 if (element.hasClass("active-card")) { 4234 var payment_type = jQuery(".card-payment-method.active .ga360-method-name").text(); 4235 } else { 4236 var payment_type = "N/A"; 4237 } 4238
4239 Drupal.behaviors.ga360.quickpayviewCard(event_action, payment_type, package_type); 4240 4241 }); 4242 4243 //Self Activation ID verification - error 4244 // $('#id-verify-btn').on('click', function () { 4245 4246 // let event_category = "Self Activation"; 4247 // let event_action = "id verification"; 4248 // let event_label = "Error screen"; 4249 // var user_type = sessionStorage.getItem("clicked_ga360_user_type"); 4250 // let package_type = drupalSettings.self_activation_row["paid_mode"]; 4251 // let plan_selected = JSON.parse(drupalSettings.self_activation_row["more_data"]).packageName; 4252 // let plan_name = sessionStorage.getItem('packageList'); 4253 // let plan_cost = Number(sessionStorage.getItem('price_ga360')) 4254 // let add_on = sessionStorage.getItem('packageList'); 4255 // let verification_method = document.querySelector('label[for="standardInput"]').textContent.trim().split(' ')[0]; 4256 4257 // Drupal.behaviors.ga360.IDverification(event_category, event_action, event_label, user_type, package_type, plan_selected, plan_name, plan_cost, add_on, verification_method); 4258 // }); 4259 4260// Self Activation Verify Address 4261$('#nextButton2').on('click', function () { 4262 4263 let event_category = "Self Activation"; 4264 let event_action = "verify address"; 4265 var selectedRadioButton = $("input[type='radio'][id='selfactlocal']:checked, input[type='radio'][id='selfactlocal1']:checked"); 4266 var event_label = selectedRadioButton.siblings('label.custom-control-label').first().text(); 4267 var user_type = sessionStorage.getItem("clicked_ga360_user_type"); 4268 let package_type = drupalSettings.self_activation_row["paid_mode"]; 4269 let plan_selected = JSON.parse(drupalSettings.self_activation_row["more_data"]).packageName; 4270 let plan_name = sessionStorage.getItem('packageList'); 4271 let plan_cost = Number(sessionStorage.getItem('price_ga360')); 4272 let add_on = sessionStorage.getItem('packageList'); 4273 var selectedRadioButton = $("input[type='radio'][id='selfactlocal']:checked, input[type='radio'][id='selfactlocal1']:checked"); 4274 var address_type = selectedRadioButton.siblings('label.custom-control-label').first().text(); 4275 4276 Drupal.behaviors.ga360.VerifyAddress(event_category, event_action, event_label, user_type, package_type, plan_selected, plan_name, plan_cost, add_on, address_type); 4277 4278}); 4279 4280// Self Activation Confirm and Pay 4281jQuery(document).on('click', '#submit-confirm-pay', function () { 4282 4283 let event_category = "Self Activation"; 4284 let event_action = "confirm and pay"; 4285 let event_label = "payment selection"; 4286 var user_type = sessionStorage.getItem("clicked_ga360_user_type"); 4287 let package_type = drupalSettings.self_activation_row["paid_mode"]; 4288 let plan_selected = JSON.parse(drupalSettings.self_activation_row["more_data"]).packageName; 4289 let plan_name = sessionStorage.getItem('packageList'); 4290 let plan_cost = Number(sessionStorage.getItem('price_ga360')); 4291 let add_on = sessionStorage.getItem('packageList'); 4292 let payment_method = drupalSettings.self_activation_row["payment_type"]; 4293 4294 Drupal.behaviors.ga360.ConfirmPay(event_category,event_action,event_label,user_type, package_type, plan_selected, plan_name, plan_cost, add_on, payment_method); 4295 4296}); 4297 4298// Self Activation Confirm and Pay - Faild 4299jQuery(document).ready(function () { 4300 if (drupalSettings.self_activation_row["payment_status"] == "0" ) { 4301 4302 let event_category = "Self Activation"; 4303 let event_action = "confirm and pay"; 4304 let event_label = "payment failed"; 4305 var user_type = sessionStorage.getItem("clicked_ga360_user_type"); 4306 let package_type = drupalSettings.self_activation_row["paid_mode"]; 4307 let plan_selected = JSON.parse(drupalSettings.self_activation_row["more_data"]).packageName; 4308 let plan_name = sessionStorage.getItem('packageList'); 4309 let plan_cost = Number(sessionStorage.getItem('price_ga360')); 4310 let add_on = sessionStorage.getItem('packageList'); 4311 let payment_method = drupalSettings.self_activation_row["payment_type"]; 4312 let order_id = undefined; 4313 let order_date = jQuery(".ga360-date").text().split('|')[0].trim(); 4314 4315 Drupal.behaviors.ga360.ConfirmPayFaild(event_category,event_action,event_label,user_type, package_type, plan_selected, plan_name, plan_cost, add_on, payment_method, order_id, order_date); 4316 } 4317}); 4318 4319 4320})(jQuery, Drupal); 4321 4322// Self Activation Global Page Scripting 4323 4324try {
4325 document.getElementById("self-act-start").addEventListener("click", () => { 4326 4327 // Self Activation CustomEvents triggers 4328 Drupal.behaviors.ga360.selfActivationStartPage() 4329 }); 4330} catch { } 4331 4332try { 4333 document.getElementById("browser-error-ok-button").addEventListener("click", () => { 4334 4335 // Self Activation CustomEvents triggers 4336 Drupal.behaviors.ga360.selfActivationStartPageCompatabilityError() 4337 }); 4338} catch { } 4339 4340try { 4341 document.getElementById("how-to-video").addEventListener("click", () => { 4342 4343 // Self Activation CustomEvents triggers 4344 Drupal.behaviors.ga360.selfActivationVideo() 4345 }); 4346} catch {} 4347 4348try { 4349 document.getElementById("next-pack-selection").addEventListener("click", () => { 4350 4351 // Self Activation Ecommerce triggers 4352 eventParameters = Drupal.behaviors.ga360.SAItems("view_item_list") 4353 4354 // Self Activation CustomEvents triggers 4355 Drupal.behaviors.ga360.selfActivationSelectPackage(eventParameters) 4356 }); 4357} catch {} 4358 4359try { 4360 document.getElementById("next-sim-details").addEventListener("click", () => { 4361 4362 // Self Activation Ecommerce triggers 4363 eventParameters = Drupal.behaviors.ga360.SAItems("select_item") 4364 4365 // Self Activation CustomEvents triggers 4366 Drupal.behaviors.ga360.selfActivationSimDetails(eventParameters) 4367 }); 4368 4369} catch {} 4370 4371try { 4372 document.getElementById("next-contact-details").addEventListener("click", () => { 4373 4374 // Self Activation CustomEvents triggers 4375 Drupal.behaviors.ga360.selfActivationContactDetails() 4376 }); 4377 4378 document.getElementById("change-contact-details").addEventListener("click", () => { 4379 4380 // Self Activation CustomEvents triggers 4381 Drupal.behaviors.ga360.selfActivationContactDetails() 4382 }); 4383} catch { } 4384 4385try { 4386 document.getElementById("next-select-number").addEventListener("click", () => { 4387 4388 // Self Activation Ecommerce triggers 4389 eventParameters = Drupal.behaviors.ga360.SAItems("add_to_cart") 4390 4391 4392 // Self Activation CustomEvents triggers 4393 Drupal.behaviors.ga360.selfActivationSelectNumber(eventParameters) 4394 }); 4395} catch { } 4396 4397try { 4398 document.getElementById("self-activation-verify-otp").addEventListener("click", () => { 4399 4400 // Self Activation Ecommerce triggers 4401 eventParameters = Drupal.behaviors.ga360.SAItems("view_item") 4402 }); 4403} catch { } 4404 4405try { 4406 document.getElementById("id-verification-next").addEventListener("click", () => { 4407 4408 // Self Activation Ecommerce triggers 4409 Drupal.behaviors.ga360.SAIdVerification() 4410 4411 }); 4412} catch { } 4413 4414try { 4415 document.getElementById("nextButton2").addEventListener("click", () => { 4416 4417 // Self Activation Ecommerce triggers 4418 Drupal.behaviors.ga360.SABeginCheckout() 4419 }); 4420} catch { } 4421 4422try { 4423 document.getElementById("verify-yourself-next").addEventListener("click", () => { 4424 4425 // Self Activation Ecommerce triggers 4426 Drupal.behaviors.ga360.SAAddShippingInfo() 4427 }); 4428}catch{} 4429 4430try { 4431 4432 // Self Activation Ecommerce triggers 4433 document.getElementById("submit-confirm-pay").addEventListener("click", Drupal.behaviors.ga360.SAAddPaymentInfo); 4434} catch { } 4435 4436if (document.getElementById("success_icon") != null) { 4437 4438 // Self Activation Ecommerce triggers 4439 Drupal.behaviors.ga360.SAPurchase(); 4440} 4441
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.