jQuery.createNs("adobe.ecomm.view.store.product");adobe.ecomm.view.store.product.Product=(function(){var s={configurator:null,productData:null,configParams:{},dmOids:[],localizedLabels:"",init:function(x){this.productData=x;this.dmOids=x.dmOid.split(",");this.termType=x.termType;this.addToCartButton=jQuery(".ItemEditSaveButton");this.configParams.categoryOid=this.productData.categoryOid;this.configParams.categoryPath=this.productData.categoryPath;this.configSegmentA=jQuery("#config-segment-A");this.configSegmentB=jQuery("#config-segment-B");this.productConfigForm=jQuery(".EcommProductConfigForm");this.cartHasActivePromos=x.cartHasActivePromos;this.localizedLabels=x.localizedLabels;var w=adobe.ecomm.store.Store;this.defaultDistMethod=(jQuery.isValue(x.defaultDistMethod)&&x.defaultDistMethod!=="")?x.defaultDistMethod:"FULL";this.configParams.defaultVals={DISTRIBUTION_METHOD:this.defaultDistMethod,TERM_TYPE:x.termType,LANGUAGE_CODE:w.defaultLanguage,FULFILLMENT_METHOD_TYPE:w.defaultFulfillmentMethodType};this.configParams.localizedLabels=this.localizedLabels.STORE_CONFIGURATOR;this.configParams.configContainer=jQuery("#config-target");this.configSegmentB.find(".price").text("");p();this.addToCartButton.click(g);for(i=0;i<this.dmOids.length;i++){this.ProductTabControl.addTab(this.dmOids[i])}var y=adobe.ecomm.view.store.analytics.AnalyticsListener;y.init(this)}};var p=function(){var w=adobe.ecomm.browse.BrowseFacade;w.getProductData(s.configParams.categoryPath,function(x){e(x)},this,s.cartHasActivePromos)};var e=function(y){var w=s.configParams;var x=null;w.productData=y;w.truncateControlLabels=false;x=new adobe.ecomm.configurator.ComponentProductConfigurator(w);s.addToCartButton.toggleClass("EcommHidden",false);b(false);s.configurator=x;s.ProductTabControl.setConfigurator(x);x.subscribe("controlValueChanged",function(z){if(z.fieldName=="DISTRIBUTION_METHOD_OID"){s.ProductTabControl.activateTab(z.fieldValue)}});x.setOnLoad=true;j(x);x.setOnLoad=false;x.subscribe("modelChanged",j,this);x.subscribe("configPromptSelected",f,this);s.subscribe("downloadInfoSet",function(z){l(z,z.setOnLoad);d(true)},s)};var a="";var j=function(w){var y=(w.getLength()==1);var x=(y&&a!==w.getSelectedProduct().SKU)?true:false;a=y?w.getSelectedProduct().SKU:a;if(y){if(k(w)=="HARDGOOD"){l(null,w.setOnLoad);m(h(w));c(t(w));d(true);b(true)}if(k(w).indexOf("SOFTGOOD")>-1){if(x){u(w,w.setOnLoad)}m(h(w));c(t(w));b(true)}if(o(w)){m(h(w));c(t(w));b(true)}s.filteredSkuData=w}else{m("");c("");d(false);b(false)}};var h=function(w){var x=w.getFilteredSkuData();return x[w.getColumnIndex("FORMATTED_PRICE")]};var t=function(w){var x=w.getFilteredSkuData();return x[w.getColumnIndex("TERM_TYPE")]};var k=function(w){var x=w.getFilteredSkuData();return x[w.getColumnIndex("FULFILLMENT_METHOD_TYPE")]};var u=function(x,y){var w=x.getSelectedProduct();w.downloadinfo=null;if(w.FULFILLMENT_METHOD.indexOf("ESD")!=-1||w.FULFILLMENT_METHOD.indexOf("DSP")!=-1){var z=w.SKU;adobe.ecomm.browse.BrowseFacade.getDownloadInfo(z,function(A){A.setOnLoad=y;this.downloadInfo=A;s.fire("downloadInfoSet",[A])},this);return this.downloadInfo}};var o=function(w){return w.isServiceSubscription};var m=function(w){s.configSegmentB.find(".price").text(w)};var q=function(w){s.configSegmentB.find(".price").text("")};var c=function(y){var x=adobe.ecomm.view.store.product.Product.localizedLabels;var w="";if(jQuery.isValue(y)&&y==="MONTH"){w=x.STORE_CONFIGURATOR.TERM_TYPE_PER_MONTH}else{if(jQuery.isValue(y)&&y==="YEAR"){w=x.STORE_CONFIGURATOR.TERM_TYPE_PER_YEAR}else{w=""}}s.configSegmentB.find(".termTypeNote").text(w)};var n=function(){s.configSegmentB.find(".termTypeNote").text("")};var d=function(w){s.configSegmentA.toggleClass("EcommHidden",!w)};var b=function(w){jQuery.UI.setControlEnabled(s.addToCartButton,w);var x=w?"black":"#666666";s.addToCartButton.css("color",x)};var v=function(){b(false)};var f=function(){q();n();b(false)};var l=function(x,C){var B=adobe.ecomm.store.Store;var E=adobe.ecomm.view.store.product.Product;var w=s.configSegmentA.find(".EcommDeliveryInfo");var D="'width=600,height=400,toolbar=no,location=no,menubar=no,scrollbars=yes,resizable=yes'";var z="";if(x!=null){var y="'/cfusion/store/html/index.cfm?event=displayDownloadInfo&store="+B.storeName+"&sku="+x.productSku+"'";z+='<span><a id="link" href="javascript:showInfoWindow('+y+","+D+');">'+E.localizedLabels.STORE_CONFIGURATOR.INSTRUCTIONS+"</a></span></br>";z+='<p class="byline">';z+="<strong>"+E.localizedLabels.STORE_CONFIGURATOR.FILE_SIZE+" "+x.downloadSize+"</strong>";z+="<br><span>"+E.localizedLabels.STORE_CONFIGURATOR.CONNECTION_REQUIREMENTS+"</span>";z+="</p>";z+='<table class="data-bordered byline" style="margin-left: 1px;" summary="Estimated download times.">';var F='<thead class="data-sectionHead"><tr>';var A="<tbody><tr>";for(i=0;i<x.downloadTimes.length;i++){F+="<th>"+x.downloadTimes[i].LABEL+"</th>";A+="<td>"+x.downloadTimes[i].DATA+"</td>"}F+="</tr></thead>";A+="</tr></tbody>";z+=F;z+=A;z+="</table>";w.html(z)}else{var y="'"+E.localizedLabels.STORE_CONFIGURATOR.STORE_SHIPPING_INFO_URL+"'";z+='<span><a id="link" href="javascript:showInfoWindow('+y+","+D+');">'+E.localizedLabels.STORE_CONFIGURATOR.SHIP_BOX_DESCRIPTION+"</a></span></br>";w.html(z)}};var g=function(B){var x=s.filteredSkuData.getFilteredSkuData();var y=adobe.ecomm.store.Store;s.productConfigForm.attr("action","/cfusion/store/html/index.cfm");s.productConfigForm.attr("method","post");var A=jQuery(".EcommProductConfigForm > input:hidden"),w=jQuery("#ecomm-update-btn2"),C=jQuery("#ecomm-addtocartbtn-label"),z=C.html();w.attr("disabled","disabled");A.remove();s.productConfigForm.append(r("event","addToCart"));s.productConfigForm.append(r("store",y.storeName));s.productConfigForm.append(r("productOid",x[s.filteredSkuData.getColumnIndex("OID")]));s.productConfigForm.append(r("sku",x[s.filteredSkuData.getColumnIndex("SKU")]));s.productConfigForm.append(r("isDefaultConfig",false));s.productConfigForm.append(r("categoryOid",s.productData.categoryOid));if(s.filteredSkuData.upgradeFromCategory==null){s.productConfigForm.append(r("upgradeFromCategoryPath",""))}else{s.productConfigForm.append(r("upgradeFromCategoryPath",s.filteredSkuData.upgradeFromCategory))}if(y.storeName=="OLS-US"||y.storeName=="OLS-EDU"){adobe.ecomm.view.store.product.Product.fire(adobe.ecomm.view.store.analytics.AnalyticsListener.ADD_TO_CART_CLICK,[s.configurator.getSelectedProduct()])}s.productConfigForm.submit();setTimeout(function(){w.removeAttr("disabled")},2000)};var r=function(w,x){return'<input type="hidden" name="'+w+'" value="'+x+'"/>'};return s}());adobe.ecomm.view.store.product.Product.ProductTabControl={setConfigurator:function(a){this.configurator=a},addTab:function(a){if(this.tabs==null){this.tabs=[]}var b=new Object();b.oid=a;b.anchor=jQuery("#purchaseOptionTabs").find("#tab_"+a);b.tabItem=b.anchor.parent();b.distInfoList=jQuery("#distInfoList_"+a);b.distInfoMenu=jQuery("#distInfoList_"+a).find("#distInfoMenu_"+a);b.distInfo=jQuery("#distInfo_"+a);b.distInfoMenuLinks=b.distInfoMenu.find("a");b.distInfoContent=b.distInfo.find("div");b.dmInfoSoftGood=jQuery("#deliveryMethodInfo_SOFTGOOD");b.dmInfoHardGood=jQuery("#deliveryMethodInfo_HARDGOOD");b.enable=this.enable;b.toggleClass=this.toggleClass;b.disable=this.disable;b.parent=this;b.anchor.bind("click",b,this.doOnClick);b.distInfoMenuLinks.bind("click",b,this.onClickOfInfoLinks);this.tabs.push(b)},enable:function(){this.toggleClass(true)},toggleClass:function(a){var b=(a)?"navTarget show":"navTarget hide";var c=(a)?"on":"";this.tabItem.removeClass();this.tabItem.addClass(c);this.distInfoList.removeClass();this.distInfoList.addClass(b);this.distInfo.removeClass();this.distInfo.addClass(b)},disable:function(){this.toggleClass(false)},onClickOfInfoLinks:function(c){var b=this;var a=c.data;jQuery.Array.each(a.distInfoMenuLinks,function(e){var d;if(e.id==b.id){d=a.distInfo.find("#"+e.id);d.className="navTarget show";d.show();e.parentNode.className="on"}else{d=a.distInfo.find("#"+e.id);d.className="navTarget hide";d.hide();e.parentNode.className="off"}});return false},doOnClick:function(c){var b=c.data;var a=b.parent;b.enable();jQuery.Array.each(a.tabs,function(d){if(b.oid!=d.oid){d.disable()}});a.configurator.forceOnChange("DISTRIBUTION_METHOD_OID",b.oid)},activateTab:function(a){jQuery.Array.each(this.tabs,function(b){if(a==b.oid){b.enable()}else{b.disable()}})}};jQuery.extend(adobe.ecomm.view.store.product.Product,adobe.event.EventDispatcher);
