shopApp.service("compareService",function(){var n=this,t="";n.dropDownOptions=[];n.getDropDownOptions=function(t,i){return n.getNonTechSpecOptions(i),n.getTechSpecOptions(t),n.dropDownOptions};n.getNonTechSpecOptions=function(t){$.each(t,function(t,i){n.dropDownOptions.push(i)})};n.getTechSpecOptions=function(t){t.length>0&&angular.forEach(t[0].Specs.TechSpecs,function(t){var i=t.Label.split("<");t.Label=i[0];n.dropDownOptions.push(t)})};n.changeAddToCartLabel=function(n){$(".device-xs").is(":visible")?$(".ups-cta .btn-success").each(function(){$(this).html('<\/i>')}):$(".ups-cta .btn-success").each(function(t){$(this).html(n[t].Stack.Links.AddToCartLink.Caption)})};n.getScrollLocation=function(){var t=Math.ceil($("#ProductStackContainer").scrollLeft()/($(".ups-mobile-techSpecs").width()*.97));return t=t===0||t===1?0:t<5?t-1:t-2,n.dropDownOptions[t]};n.updateCompareLayout=function(){$(".tech-spec-combined").css("width",$(".ups-mobile-techSpecs").width());$(".compare-product-stacks").css("height",$("#ProductStackContainer").height()+20)};n.addProductTitle=function(n){$(".product-stack-row").each(function(t){$(this).append('
'+n[t].Stack.Title.Value+"<\/a><\/div")})};n.addDividerLines=function(){$(".product-stack-row").each(function(){$(this).append('
<\/div><\/div>')})};n.addShowMore=function(){$(".device-xs").is(":visible")&&(n.showMoreTechSpecs(),n.showMoreTitle(),n.showMoreDescription(),n.showMorePricing())};n.loadLabels=function(n){t=n};n.showMoreTechSpecs=function(){$(".mobile-tech-spec-row ul").each(function(){var n=$(this),i;n.height()>98&&(i=n.parent().width()-20,n.parent().parent().prepend('
'+t+'<\/i><\/a><\/div>'),n.parent().addClass("top-offset-negative-20"))})};n.showMoreTitle=function(){$(".uProductInfo").each(function(){var n=$(this),r=n.find(".compare-title-row").height()+n.find(".compare-ratings-row").height()+n.find(".compare-price-row").height(),i;r>98&&(i=n.parent().width()-20,n.prepend('
'+t+'<\/i><\/a><\/div>'))})};n.showMoreDescription=function(){$(".uDescription").each(function(){var n=$(this),i;n.find(".ups-description p").height()>98&&(i=n.parent().width()-20,n.find(".ups-description").prepend('
'+t+'<\/i><\/a><\/div>'))})};n.showMorePricing=function(){$(".uDetailedPrice").each(function(){var n=$(this),i;n.find(".dell-pricing-section").height()>98&&(i=n.parent().width()-20,n.prepend('
'+t+'<\/i><\/a><\/div>'),n.addClass("top-offset-negative-15"))})};n.findTargetTitle=function(n){var t;return n.closest(".uProductInfo").length>0?t="Product Info":n.closest(".uDescription").length>0?t="Description":n.closest(".uDetailedPrice").length>0?t="Detailed Price":(t=n.parent().parent().find(".mobile-tech-spec-label").html(),t=t.split("<")[0]),t};n.findTargetBody=function(n){return n.closest(".uProductInfo").length>0?n.parent().parent().find(".compare-title-row h4 span")[0].outerHTML+"<\/br>"+n.parent().parent().find(".compare-price-row h4 span")[0].outerHTML:n.closest(".uDescription").length>0?n.parent().parent().find("p")[0].outerHTML:n.closest(".uDetailedPrice").length>0?n.parent().parent().find(".dell-pricing-section")[0].outerHTML:n.parent().parent().find("ul")[0].outerHTML}});shopApp.config(["$locationProvider",function(n){n.html5Mode({enable:!0})}]);shopApp.controller("compareController",["$scope","$rootScope","$location","initService","createDataModelService","httpGetService","compareService","addToCompareService","ProductStackService","$timeout",function(n,t,i,r,u,f,e,o){"use strict";var s=function(i){u.InitScope(n,t,i)};n.init=function(){t.psCount=0;var r="",f="",u="";angular.forEach(n.DataModel.CompareCategories,function(n,t){t===0?(f+=n.Id,angular.forEach(n.Containers,function(n,t){n.Stack.ItemIdentifier!=""&&(r+=n.Stack.Type==2?t===0?n.Stack.Sku.Value:","+n.Stack.Sku.Value:t===0?n.Stack.ItemIdentifier:","+n.Stack.ItemIdentifier,u+=n.Stack.ProductCode.Value==""?t===0?n.Stack.Sku.Value:";"+n.Stack.Sku.Value:t===0?n.Stack.ProductCode.Value:";"+n.Stack.ProductCode.Value)})):(f+=";"+n.Id,angular.forEach(n.Containers,function(n){n.Stack.ItemIdentifier!=""&&(r+=n.Stack.Type==2?","+n.Stack.Sku.Value:","+n.Stack.ItemIdentifier,u+=n.Stack.ProductCode.Value==""?";"+n.Stack.Sku.Value:";"+n.Stack.ProductCode.Value)}))});Dell.Metrics.sc.productid=r.replace(/\,/g,";");Dell.Metrics.sc.categoryid=f;Dell.Metrics.sc.productvariant=u;i.search("ocs",r);n.syncToAmplify()};$(document).ready(function(){function u(n,i){var r=0,u=i.indexOf(t)>-1,e,f;n.closest("ul").find("li").each(function(n,i){$(i).find("a").attr("data-value")===t&&(e=$(i).find("input"));r++});f=(u?r:r-1)===i.length;f?u||i.push(t):u&&i.splice(i.indexOf(t),1);setTimeout(function(){e.prop("checked",f)},0)}var t,r,i;n.scrollNavSize();t="ALLSPECS";$(".category-group a").click(function(n){n.preventDefault();var t=$(this).attr("href");return $("body").scrollTo(t,1e3),!1});r=$("ul.dropdown-menu[data-category]");i={};r.toArray().forEach(function(n){var t=$(n),r=t.data("category");i[r]=t.find("a[data-value]").toArray().map(function(n){return $(n).data("value").toString()})});$(".compare-spec-controls-section .dropdown-menu a").on("click",function(n){var s=$(n.currentTarget),f=s.attr("data-value"),h=s.find("input"),c,e=$(this).closest("ul").attr("data-category"),r=i[e],o=r.indexOf(f)>-1,l;return f===t?(o=!o,$(this).closest("ul").find("li").each(function(n,t){var s=$(t).find("input"),i=$(t).find("a").attr("data-value"),u=$(".ts-"+e).find("[data-spec-code='"+i+"']"),f=r.indexOf(i)>-1;o?(f||r.push(i),u.show()):(f&&r.splice(r.indexOf(i),1),u.hide());setTimeout(function(){s.prop("checked",o)},0)})):(c=r.indexOf(f))>-1?(r.splice(c,1),setTimeout(function(){h.prop("checked",!1)},0),$(".ts-"+e).find("[data-spec-code='"+f+"']").hide(),u($(this),r)):(r.push(f),setTimeout(function(){h.prop("checked",!0)},0),$(".ts-"+e).find("[data-spec-code='"+f+"']").show(),u($(this),r)),l=r.indexOf(t)>-1?r.length-1:r.length,$("#category-"+e+" span.spec-total").html(l),!1});$(".compare-page-carousel").on("click",".remove-product span",function(){var n=$(this).attr("data-identifier");SHOP.Transactional.Compare.removeProduct(n)})});$(window).resize(function(){n.scrollNavSize()});$(window).on("orientationchange",function(){n.scrollNavSize()});n.getProductStackIndex=function(){var n=t.psCount;return t.psCount=t.psCount+1,n};n.scrollNavSize=function(){var n=$("#ProductStackContainer").width()};n.disableNextButton=function(n,t){return $(".ca-next-"+t).prop("disabled",!0),n.length};n.swippingLeft=function(t){var i=t.currentTarget.childElementCount===0?t.currentTarget.getAttribute("data-count"):t.currentTarget.childElementCount,r=t.currentTarget.getAttribute("data-id");n.moveCandyCarouselRight(r,i)};n.swippingRight=function(t){var i=t.currentTarget.childElementCount===0?t.currentTarget.getAttribute("data-count"):t.currentTarget.childElementCount,r=t.currentTarget.getAttribute("data-id");n.moveCandyCarouselLeft(r,i)};n.moveCandyCarouselRight=function(t,i){var r=$(".ts-"+t),u=$(".ts-"+t+" .compare-scrolling-nav"),f;r.animate({scrollLeft:r.scrollLeft()+r.width()},500);u.animate({scrollLeft:u.scrollLeft()+u.width()},500);$(".ca-prev-"+t).prop("disabled",!1);r.width()*2+r.scrollLeft()>=r[0].scrollWidth?($(".ca-next-"+t).prop("disabled",!0),f=$(".device-sm").is(":visible")?parseInt(i)-2:parseInt(i)-3,$(".last-visible-item-"+t).html(i),$(".first-visible-item-"+t).html(f)):n.determinePosition(t,i)};n.moveCandyCarouselLeft=function(t,i){var r=$(".ts-"+t),u=$(".ts-"+t+" .compare-scrolling-nav");r.animate({scrollLeft:r.scrollLeft()-r.width()},500);u.animate({scrollLeft:u.scrollLeft()-u.width()},500);$(".ca-next-"+t).prop("disabled",!1);r.scrollLeft()-r.width()<=0?($(".ca-prev-"+t).prop("disabled",!0),$(".first-visible-item-"+t).html(1),$(".last-visible-item-"+t).html($(".device-sm").is(":visible")?3:4)):n.determinePosition(t,i)};n.determinePosition=function(n,t){var i=$(".ts-"+n),f=Math.abs(i.scrollLeft()-i.width()),e=f===i.width()?0:Math.round(f/i.width()),u=e+1,r=$(".device-sm").is(":visible")?u+2:u+3;r=r>t?t:r;$(".first-visible-item-"+n).html(u);$(".last-visible-item-"+n).html(r)};n.syncToAmplify=function(){if(window.location.search===""||window.location.search==="?ocs=")amplify.store("productOC:size")>0&&n.loadAmplifyOrderCodes();else if(n.DataModel.CompareCategories.length===0){var t=window.location.search,i=t.split("?ocs="),r=i[1].split(",");angular.forEach(amplify.store("productOC"),function(n){var t=!1;angular.forEach(r,function(i){n===i&&(t=!0)});t&&SHOP.Transactional.Compare.removeProduct(n,"ups")});amplify.store("productOC:size")>0&&n.loadAmplifyOrderCodes()}else angular.forEach(amplify.store("productOC"),function(t){var i=!0;angular.forEach(n.DataModel.CompareCategories,function(n){angular.forEach(n.Containers,function(n){var r=n.Stack.Type!==2?n.Stack.ItemIdentifier:n.Stack.Sku.Value;t===r&&(i=!1)})});i&&SHOP.Transactional.Compare.removeProduct(t,"ups")})};n.loadAmplifyOrderCodes=function(){var t=[],r="",n;for(angular.forEach(amplify.store("productOC"),function(n){t.push(n)}),n=0;n