function ProductSelectorViewModel(n,t){var i=this;i.dataTier0=ko.observableArray(n);i.dataTier1=ko.observableArray();i.dataTier2=ko.observableArray();i.tier0Selection=ko.observable();i.tier1Selection=ko.observable();i.tier2Selection=ko.observable();i.serviceTagInput=ko.observable(t!==null&&t!==undefined&&t.ServiceTag!==undefined?t.ServiceTag:"");i.closeButtonVisible=ko.observable(!0);i.familyVisible=ko.observable(!1);i.productVisible=ko.observable(!1);i.productName=ko.observable(getProductName(t));i.scanButtonClick=function(){var n="http://www.dell.com/support/home/"+profile.Country+"/"+profile.Language+"/"+profile.CustomerSet+"/Eula/scan";window.open(n,"_self")};i.serviceTagButtonClick=function(){var n=i.serviceTagInput(),r,t;if(n===null||n===undefined||n===""){alert("Service tag is required.");return}if(r=/(^[a-zA-Z0-9]{5}$)|(^[a-zA-Z0-9]{7,8}$)|(^[0-9]{8,11}$)/,r.test(n))t=mastheadViewModel.Term(),t.toLowerCase().indexOf(n.toLowerCase())===-1&&mastheadViewModel.Term(t+" "+n),updateOrAddSelectedProductCookie(n,"","serviceTag","false"),closeProductSelector(),$("#search-next-search-form,#unified-search-masthead").submit();else{alert("Enter a valid service tag or express service code.");return}};i.servicTagInputKeyPress=function(n,t){return(t.which===10||t.which===13)&&(i.serviceTagInput($("#search-service-tag-input").val()),$("#search-service-tag-button").trigger("click")),!0};i.productChange=function(n,r){var u=$("#product").val(),f;u!==""&&(t.ProductCode=u,f=$("#product option:selected").text(),updateOrAddSelectedProductCookie(u,f,"productCode","false"),i.removeProductNameFromQuery(),i.removeServiceTagFromQuery(),closeProductSelector(),r.target.textContent=u,trackClick(r),$("#search-next-search-form,#unified-search-masthead").submit())};i.tier0Selection.subscribe(function(){if(i.tier0Selection()===null||i.tier0Selection()===undefined){i.familyVisible(!1);i.productVisible(!1);return}t.CategoryCode=i.tier0Selection();$.getJSON(productSelectorBaseUrl+"GetProductFamilies?languageCode="+profile.Language+"&categoryCode="+i.tier0Selection(),function(n){var r,u;i.familyVisible(!0);i.productVisible(!1);i.dataTier1(n);i.dataTier2([]);r=t!==null&&t!==undefined&&t.FamilyCode!==undefined?t.FamilyCode:"";r!==""&&(u=n.find(function(n){return n.Code===r}),u!==undefined&&i.tier1Selection(r))})});i.tier1Selection.subscribe(function(){if(i.familyVisible(!0),i.tier1Selection()===undefined){i.dataTier2([]);i.productVisible(!1);return}t.FamilyCode=i.tier1Selection();$.getJSON(productSelectorBaseUrl+"GetProducts?languageCode="+profile.Language+"&categoryCode="+i.tier0Selection()+"&familyCode="+i.tier1Selection(),function(n){i.dataTier2(n);var r=t!==null&&t!==undefined&&t.ProductCode!==undefined?t.ProductCode:"";r!==""&&i.tier2Selection(r);i.productVisible(!0)})});i.popoverSelectClick=function(){var n,r;if(i.closeButtonVisible(!0),n=t!==null&&t!==undefined&&t.CategoryCode!==undefined?t.CategoryCode:"",n!==""&&n===i.tier0Selection()){$("#productSelector").show();$("#supportOLRProductSection").hide();i.familyVisible(!0);r=t!==null&&t!==undefined&&t.FamilyCode!==undefined?t.FamilyCode:"";i.tier1Selection()!==null&&i.tier1Selection()!==undefined&&i.tier1Selection()!==""&&i.tier1Selection()===r&&i.dataTier1().length>1&&i.productVisible(!0);return}i.familyVisible(!1);i.productVisible(!1);$.getJSON(productSelectorBaseUrl+"GetProductCategories?languageCode="+profile.Language,function(t){i.dataTier0(t);$("#productSelector").css("display")==="none"&&$("#productSelector").show();$("#supportOLRProductSection").hide();n!==""&&i.tier0Selection(n)}).error(function(n){console.log(n)})};i.removeSelection=function(){updateOrAddSelectedProductCookie("","","productCode","true");i.removeServiceTagFromQuery();i.removeProductNameFromQuery();closeProductSelector();$("#search-next-search-form,#unified-search-masthead").submit()};i.removeProductNameFromQuery=function(){if(i.productName()!==null&&i.productName()!==undefined&&i.productName()!==""){var n=mastheadViewModel.Term(),t=new RegExp("("+i.productName()+")","gi");n=n.replace(t,"");mastheadViewModel.Term(n)}i.productName("")};i.replaceProductName=function(n,t){var i=mastheadViewModel.Term(),r;i.search(new RegExp("("+n+")","gi"))==-1&&(r=new RegExp("("+t+")","gi"),i=i.replace(r,n),mastheadViewModel.Term(i))};i.removeServiceTagFromQuery=function(){if(i.serviceTagInput()!==null&&i.serviceTagInput()!==undefined&&i.serviceTagInput()!==""){var n=mastheadViewModel.Term(),t=new RegExp("("+i.serviceTagInput()+")","gi");n=n.replace(t,"");mastheadViewModel.Term(n);i.serviceTagInput("")}i.serviceTagInput("")};i.getWhereCanIFindUrl=function(n){return n===null||n===undefined?"#":(n=n.replace("{0}",profile.Country),n.replace("{1}",profile.Language))};t!==null&&t!==undefined&&t.IsExpanded===!0&&(i.popoverSelectClick(),i.closeButtonVisible(!1));t!==null&&t!==undefined&&t.MatchedTerm!==undefined&&t.ProductName!==undefined&&t.MatchedTerm!==""&&t.MatchedTerm!==t.ProductName&&(i.replaceProductName(t.ProductName,t.MatchedTerm),t.MatchedTerm=t.ProductName)}function productSelectorCloseClick(){$("#productSelector").hide();$("#supportOLRProductSection").show()}function updateOrAddSelectedProductCookie(n,t,i,r){$.removeCookie("SelectedProduct",{path:"/"});var u="productCode="+n+"&productName="+t+"&productType="+i+"&isCleared="+r;$.cookie("SelectedProduct",u,{expires:14,path:"/"})}function getSelectedProductCoookie(){var n=getCookie("SelectedProduct"),u,t,i,r;if(n===null||n===undefined||n===""){if(u=getCookie("OLRProduct")||"",u==="")return"";t=getValueFromCookie(u,"OLRProduct")||"";t!==""&&(i="",r="",t.indexOf("|")>0&&(i=t.split("|")[0],r=t.split("|")[1]),r===""&&i!==""?(updateOrAddSelectedProductCookie(i,"","serviceTag","false"),n=getCookie("SelectedProduct")):r!==""&&(updateOrAddSelectedProductCookie(i,"","productCode","false"),n=getCookie("SelectedProduct")))}return n}function getSelectProductProductCode(){var n=getSelectedProductCoookie("SelectedProduct")||"",t;return n!==""&&(n=decodeURIComponent(n),t=getValueFromCookie(n,"isCleared")||"true",t!=="true")?getValueFromCookie(n,"productCode")||"":""}function updateProduct(n,t){return productSelectorData===null||productSelectorData===undefined?!0:(t.familyVisible(!0),t.productVisible(!0),$.each(productSelectorData,function(i,r){$.each(r.Children,function(i,u){$.each(u.Children,function(i,f){return f.Code===n?(t.tier0Selection(r),t.tier1Selection(u),t.tier2Selection(n),!1):!0})})}),!0)}function getProductName(n){if(n!==null&&n!==undefined&&n.ProductName!==null&&n.ProductName!==undefined&&n.ProductName!=="")return n.ProductName;var t=getCookie("SelectedProduct")||"";return t!==""?getValueFromCookie(decodeURIComponent(t),"productName")||"":""}function getProductCode(n){if(n!==null&&n!==undefined&&n.ProductCode!==null&&n.ProductCode!==undefined&&n.ProductCode!=="")return n.ProductCode;var t=getCookie("SelectedProduct")||"";return t!==""?getValueFromCookie(decodeURIComponent(t),"productCode")||"":""}function closeProductSelector(){$("#productSelector").hide("slide",{duration:150,direction:"up"},null)}