var DCP3634Fn = { aid: 'DCP-3634', cartSessionInfo: {}, cartItemQty: 0, bundleSavePlanCount: 0, bundleSavePercentage: 0, init: function() { //hijack cart link in megamenu // DCP3634Fn.cartLinkHandler(); DCP3634Fn.cartSessionInfo = DCP3634Fn.getCartSessionInfo(); if(DCP3634Fn.cartSessionInfo){ DCP3634Fn.cartItemQty = DCP3634Fn.cartSessionInfo.bundledItems.length; //TODO: enable below DCP3634Fn.bundleSavePlanCount = DCP3634Fn.cartSessionInfo.bundleSavePlanCount; DCP3634Fn.bundleSavePercentage = DCP3634Fn.cartSessionInfo.bundleSavePercentage; // draw badge on cart icon $('.spl-i-cart').append('<i>' + DCP3634Fn.cartItemQty + '</i>') } }, getCartSessionInfo: function(){ return DCP3634Fn.getCookie('__cartSessionInfo')? JSON.parse(DCP3634Fn.getCookie('__cartSessionInfo')) : null; }, cartLinkHandler: function(){ $('.site.right.with-divider > a:not(.search-toggle-desktop)').on('click', function(e){ if(DCP3634Fn.cartSessionInfo.bundledItems){ e.preventDefault(); DCP3634Fn.drawPopUp(); } }); $('.cart-btn.spl-nav-only-mobile-visible').parent('a').on('click', function(e){ if(DCP3634Fn.cartSessionInfo.bundledItems){ e.preventDefault(); DCP3634Fn.drawPopUp(); } }); if($('#cartSessionInfo').is(':visible')){ $(document).on('click', function(){ $('#cartSessionInfo').hide(); }) } }, drawPopUp: function(){ if($('#cartSessionInfo').length > 0){ //toggle popup $('#cartSessionInfo').toggle(); } else{ //draw popup var cartSessionInfoHTML = ''; if(DCP3634Fn.bundleSavePercentage > 0){ cartSessionInfoHTML += '<div id=\'cartInfo\' class=\'session bs\'>'; //B&S banner cartSessionInfoHTML += '<div class=\'bundleSavePercentage\'>'; cartSessionInfoHTML += '<div class=\'plan-offer-eq-left\'>'; cartSessionInfoHTML += '<div class=\'plan-offer-label\'>You bundled</div>'; if(DCP3634Fn.bundleSavePlanCount < 2){ cartSessionInfoHTML += '<div class=\'plan-offer-value\'>'+ DCP3634Fn.bundleSavePlanCount +' plan</div>'; } else{ cartSessionInfoHTML += '<div class=\'plan-offer-value\'>'+ DCP3634Fn.bundleSavePlanCount +' plans</div>'; } cartSessionInfoHTML += '</div>'; cartSessionInfoHTML += '<div class=\'plan-offer-eq\'>=</div>'; cartSessionInfoHTML += '<div class=\'plan-offer-eq-right\'>'; cartSessionInfoHTML += '<div class=\'plan-offer-label\'>You save on plan fees</div>'; cartSessionInfoHTML += '<div class=\'plan-offer-value\'>'+ DCP3634Fn.bundleSavePercentage +'% off each</div>'; cartSessionInfoHTML += '</div>'; cartSessionInfoHTML += '</div>'; } else{ cartSessionInfoHTML += '<div id=\'cartInfo\' class=\'session\'>'; } // loop through cart items DCP3634Fn.cartSessionInfo.bundledItems.forEach(function(item, index){ cartSessionInfoHTML += '<div class=\'item-row\'>'; cartSessionInfoHTML += '<div class=\'device\'>'; cartSessionInfoHTML += '<div class=\'device-image\'>'; cartSessionInfoHTML += '<img src=\'https://shop.vodafone.com.au/'+ item.device.smallImageUrl +'\' />'; cartSessionInfoHTML += '</div>'; cartSessionInfoHTML += '<div class=\'device-info\'>'; if(item.device.capacity){ cartSessionInfoHTML += '<h6>'+ item.device.displayName +' <span> - '+ item.device.capacity +'</span></h6>'; } else{ cartSessionInfoHTML += '<h6>'+ item.device.displayName +'</h6>'; } cartSessionInfoHTML += '<h7>'+ item.device.color +' - '+ item.device.deviceTerm +'mths</h7>'; cartSessionInfoHTML += '</div>'; cartSessionInfoHTML += '<div class=\'device-price\'>'; cartSessionInfoHTML += '<p>'+ item.device.monthlyAmountInclGst +'</p>'; cartSessionInfoHTML += '</div>'; cartSessionInfoHTML += '</div>'; cartSessionInfoHTML += '<div class=\'plan\'>'; cartSessionInfoHTML += '<div class=\'plan-image\'>'; cartSessionInfoHTML += '<i class="icon__icon icon__icon--v_voda"></i>'; cartSessionInfoHTML += '</div>'; cartSessionInfoHTML += '<div class=\'plan-info\'>'; if(item.plan.bundleSaveEligible){ cartSessionInfoHTML += '<h6>'+ item.plan.displayName +'<br/><span>BUNDLE & SAVE</span></h6>'; } else{ cartSessionInfoHTML += '<h6>'+ item.plan.displayName +'</h6>'; } cartSessionInfoHTML += '</div>'; cartSessionInfoHTML += '<div class=\'plan-price\'>'; cartSessionInfoHTML += '<p>'+ item.plan.planMonthlyPrice +'</p>'; cartSessionInfoHTML += '</div>'; cartSessionInfoHTML += '</div>'; cartSessionInfoHTML += '</div>'; }); cartSessionInfoHTML += '<div class=\'totalAmount\'>Total amount: <strong>$' + DCP3634Fn.cartSessionInfo.totalMonthlyPrice + '<span>/mth</span></strong></div>'; cartSessionInfoHTML += '<div class=\'cartCTA\'><a class=\'Button__small Button__primary Button__basic Button__primary \' href=\'//shop.vodafone.com.au/cart/?cartSavedReenter\'>Re-enter to cart</a></div>'; cartSessionInfoHTML += '</div>'; $('#spl-topnav-new').append(cartSessionInfoHTML); } }, getCookie: function(name) { var value = '; ' + document.cookie; var parts = value.split('; ' + name + '='); if (parts.length == 2) return parts.pop().split(';').shift(); } } setTimeout(function(){ DCP3634Fn.init(); },1000)