var site=site||{};site.endeca=site.endeca||{catalog:{},result:{},results:{},resultsgroup:{},mixins:{},instances:{},rb:generic.rb("endeca"),helpers:{array:{toInt:function(b){for(var a=0;a<b.length;a++){b[a]=parseInt(b[a])}return b},unique:function(e){var d={},b,a=e.length,c=[];for(b=0;b<a;b+=1){d[e[b]]=e[b]}for(b in d){c.push(d[b])}return c},remove:function(c,b){var a;var b=jQuery.isArray(b)?b:[b];return jQuery.grep(c,function(d){return jQuery.inArray(d,b)==-1})}},func:{bind:function(){var b=arguments[0]||null;var c=arguments[1]||this;var a=jQuery.grep(arguments,function(d,e){return e>1});return function(){return b.apply(c,a)}}},obj:{first:function(b){for(var a in b){return b[a]}}}}};site.endeca.catalog=generic.Class.create({initialize:function(a){this.jsonResult=null;this.resultList=[];jQuery.extend(this,a||{});if(this.jsonResult){this.parseData()}},parseData:function(){if(this.jsonResult.AggrRecords){for(var b=0;b<this.jsonResult.AggrRecords.length;b++){for(var a=0;a<this.jsonResult.AggrRecords[b].Records.length;a++){this._parseRecord(this.jsonResult.AggrRecords[b].Records[a])}}}else{if(this.jsonResult.Records){for(var b=0;b<this.jsonResult.Records.length;b++){this._parseRecord(this.jsonResult.Records[b])}}}}});site.endeca.catalog.content=generic.Class.create(site.endeca.catalog,{_parseRecord:function(a){this.resultList.push({Properties:{image:site.endeca.rb.get("content.image_url"),title:a.Properties.p_PROD_RGN_NAME,description:a.Properties.p_DESCRIPTION,link:a.Properties.p_url,link_text:site.endeca.rb.get("content.link_text"),Zone:"crawlData"}})}});site.endeca.catalog.product=generic.Class.create(site.endeca.catalog,{initialize:function(a){this.categoryList={};this.productList={};this.skuList={};this.parseOrderHi=0;this.parseOrderLo=0;this._super(a);this.resultList=this.getProducts()},_parseRecord:function(a){if(a.Properties.rec_type=="product"){var b={};for(var d in a.Properties){var c=a.Properties[d];if(!isNaN(c)){if(c.match(/\./)){c=parseFloat(c)}else{c=parseInt(c)}}if(d.match(/_json/)){d=d.replace(/_json/,"");c=jQuery.parseJSON(c)}if(d.match(/^([a-z])_/)){b[RegExp.$1]=b[RegExp.$1]?b[RegExp.$1]:[];b[RegExp.$1][d.substr(2)]=c}}this.addProps(b.c,b.p,b.s)}},addProps:function(a,c,h,k){var f=a.CATEGORY_ID;var e=c.PRODUCT_ID;var g=h.SKU_ID;if(!f||!e||!g){return}var l=this.skuList[g]||{};this.skuList[g]=jQuery.extend(l,h);var d=this.productList[e]||{parseOrder:++this.parseOrderHi};if(k&&d.parseOrder>0){d.parseOrder=--this.parseOrderLo}d=jQuery.extend(d,c);if(!d.skus){d.skus=[]}if(!d.skuList){d.skuList={}}if(!d.skuList[g]){d.skus.push(l)}d.skuList[g]=l;this.productList[e]=d;var b=this.categoryList[f]||{};b=jQuery.extend(b,a);if(!b.prods){b.prods=[]}b.prods.push(d);this.categoryList[f]=b},getProducts:function(){function d(f,e){if(f.parseOrder>e.parseOrder){return 1}else{if(f.parseOrder<e.parseOrder){return -1}}return 0}function b(f,e){if(f.DISPLAY_ORDER>e.DISPLAY_ORDER){return 1}else{if(f.DISPLAY_ORDER<e.DISPLAY_ORDER){return -1}}return 0}var a=[];for(var c in this.productList){this.productList[c].skus.sort(b);a.push(this.productList[c])}a.sort(d);return a},getSkus:function(){var a=[];for(var b in this.skuList){a.push(this.skuList[b])}return a},getCategory:function(a){var b=(this.categoryList?this.categoryList[a]:null);return b},getProduct:function(b){var a=(this.productList?this.productList[b]:null);return a},getSku:function(b){var a=(this.skuList?this.skuList[b]:null);return a}});site.endeca.control=generic.Class.create({initialize:function(a){this.configuration=a||site.endeca.configuration;this.queryString=generic.env.query("qs")||"";this.searchTerm=generic.env.query("search")||"";this.hasResults=false;this.hasSearched=false;this.customClasses={};this.results={};this.queries={};this.catalogs={};this.nodes={};if(this.configuration.queries){this.generateQueries()}if(this.configuration.results){this.generateResults()}if(this.configuration.nodes){this.generateNodes()}if(this.configuration.coremetricsEnabled){site.endeca.coremetrics.initialize({enabled:true})}},generateQueries:function(){for(var a in this.configuration.queries){this.queries[a]=new site.endeca.query(jQuery.extend({callbackCompleted:site.endeca.helpers.func.bind(this.searchCompleted,this)},this.configuration.query,this.configuration.queries[a]||{}))}},generateResults:function(){for(var resultsName in this.configuration.results){this.configuration.results[resultsName].childClass=this.configuration.results[resultsName].childClass||"";var mixins=this.configuration.mixins[this.configuration.results[resultsName].mixinKey]||this.configuration.mixins[this.configuration.results[resultsName].childClass.replace(/site\.endeca\./,"")]||this.configuration.mixins[this.configuration.results[resultsName].baseClass.replace(/site\.endeca\./,"")+"."+resultsName]||this.configuration.mixins[this.configuration.results[resultsName].baseClass.replace(/site\.endeca\./,"")];var baseClass=eval(this.configuration.results[resultsName].baseClass);var childClass=eval(this.configuration.results[resultsName].childClass)||baseClass[resultsName]||{};this.customClasses[resultsName]=generic.Class.create(generic.Class.mixin(baseClass,mixins),childClass);this.results[resultsName]=new this.customClasses[resultsName](jQuery.extend({},{mixins:this.configuration.mixins,configuration:this.configuration.results[resultsName].configuration||{}},this.configuration.results[resultsName].instanceArgs||{}))}},generateNodes:function(){for(var a in this.configuration.nodes){this.nodes[a]=this.configuration.nodes[a]}},search:function(b){var b=b||{searchTerm:null,queryString:null};this.hasSearched=true;this.showLoading();this.resetQueries();var d=b.queryString||this.queryString;var a=d?jQuery.string(d).toQueryParams()["Ntt"]:b.searchTerm||this.searchTerm;for(var c in this.queries){this.queries[c].searchTerm=a;this.queries[c].queryString=this.queries[c].noQueryString?"":d;this.queries[c].prepare();this.queries[c].execute()}},searchCompleted:function(a){if(this.queriesCompleted()){this.resetResults();for(var b in this.queries){this.catalogs[b]=new site.endeca.catalog[b]({jsonResult:this.queries[b].jsonResult})}this.meta=new site.endeca.meta({query:this.queries.product,jsonResult:this.queries.product.jsonResult,searchKey:this.queries.product.searchKey,configuration:{followRedirects:this.configuration.followRedirects,contentzones:this.configuration.contentzones}});if(this.meta.redirecting){return false}this.hideLoading();return true}return false},queriesCompleted:function(){for(var a in this.queries){if(!this.queries[a].completed){return false}}return true},processCoremetrics:function(){if(this.configuration.coremetricsEnabled){site.endeca.coremetrics.reset();site.endeca.coremetrics.productCount=this.meta.searchInfo.totalProductRecords;site.endeca.coremetrics.contentCount=this.meta.searchInfo.totalContentRecords;site.endeca.coremetrics.searchTerm=this.meta.searchInfo.correctedTerms.length?this.meta.searchInfo.correctedTerms[0]:this.queries.product.parsedSearchTerm();site.endeca.coremetrics.numberOfPages=this.meta.pagination?this.meta.pagination.numberOfPages:1;site.endeca.coremetrics.currentPage=this.meta.pagination?this.meta.pagination.numberOfCurrentPage:1;if(this.meta.dimensions.breadcrumbs){for(var b in this.meta.dimensions.breadcrumbs){for(var a in this.meta.dimensions.breadcrumbs[b]["Dimension Values"]){site.endeca.coremetrics.addRefinement({dimensionName:this.meta.dimensions.breadcrumbs[b]["Dimension Name"],refinement:this.meta.dimensions.breadcrumbs[b]["Dimension Values"][a]["Dim Value Name"]})}}}site.endeca.coremetrics.setPageView()}},showLoading:function(){if(this.nodes.loading){this.nodes.loading.show()}},hideLoading:function(){if(this.nodes.loading){this.nodes.loading.hide()}},displayResults:function(){if(this.nodes.resultsContainer){if(this.hasResults){this.nodes.resultsContainer.show();if(this.results.bestsellers){this.results.bestsellers.hide()}}else{this.nodes.resultsContainer.hide();if(this.results.bestsellers){this.results.bestsellers.displayResults();this.results.bestsellers.show()}}}},resetQueries:function(){for(var a in this.queries){this.queries[a].reset()}},resetResults:function(){this.hasResults=false;for(var a in this.results){this.results[a].reset()}}});site.endeca.coremetrics={enabled:false,category_id:"2200",page_id:"Search Results",productCount:0,contentCount:0,searchTerm:null,refinementsList:[],numberOfPages:1,currentPage:1,dimensionNameMap:{"Skin Type":"Typ","Skin Tone":"Ton"},initialize:function(a){jQuery.extend(this,a)},addRefinement:function(c){var c=c||{};if(c.dimensionName&&c.refinement){var a;if(this.dimensionNameMap[c.dimensionName]){a=this.dimensionNameMap[c.dimensionName]}else{var b=c.dimensionName.split(" ");a=b.shift().substr(0,3);for(var d in b){a+=b[d].charAt(0)}}this.refinementsList.push(a+":"+c.refinement)}},setPageView:function(){var b=this.page_id+" "+this.currentPage;var d=this.category_id;var a=this.searchTerm;var e=this.contentCount+this.productCount;var c=this.refinementsList.join(" > ");if(c){b="Search Results Filtered "+this.currentPage}if(this.contentCount>0&&this.productCount==0){a="*"+a}cmCreatePageviewTag(b,a,d,e.toString(),c)},contentClick:function(){cmCreatePageElementTag("CONTENT","SEARCH DROPDOWN")},productClick:function(){cmCreatePageElementTag("PRODUCTS","SEARCH DROPDOWN")},seeAllClick:function(){cmCreatePageElementTag("SEE ALL","SEARCH DROPDOWN")},reset:function(){this.refinementsList=[]}};site.endeca.meta=generic.Class.create({initialize:function(a){this.jsonResult=null;this.searchKey="all";this.redirecting=false;this.pagination=null;this.dimensions={};this.metaInfo={};this.searchInfo={};this.supplementalObjects=[];this.supplementalContent={};jQuery.extend(this,a);if(this.jsonResult){this.parseData()}},parseData:function(a){this.processSupplemental();this.processMetaInfo();this.processSearchInfo();this.processPagination();this.processDimensions()},processMetaInfo:function(){this.metaInfo=this.jsonResult.MetaInfo||this.metaInfo;this.numberOfPages=this.getMetaProp("Number of Pages",1);this.recordsReturned=this.getMetaProp("Number of Records Returned",0);this.recordsPerPage=this.getMetaProp("Number of Records per Page",0);this.totalMatchRecords=this.getMetaProp("Total Number of Matching Records",0);this.totalAggrRecords=this.getMetaProp("Total Number of Matching Aggregate Records",0)},processSearchInfo:function(a){var a=a||{totalContentRecords:0};var c=this.jsonResult["Search Info"]?this.jsonResult["Search Info"][this.searchKey]:{};this.searchInfo.searchTerm=c["Search Term"]||"";this.searchInfo.totalContentRecords=a.totalContentRecords||0;this.searchInfo.totalProductRecords=this.totalAggrRecords||this.totalMatchRecords;this.searchInfo.contentResultText=this.searchInfo.totalContentRecords==1?site.endeca.rb.get("result"):site.endeca.rb.get("results");this.searchInfo.productResultText=this.searchInfo.totalProductRecords==1?site.endeca.rb.get("result"):site.endeca.rb.get("results");this.searchInfo.totalRecords=parseInt(this.searchInfo.totalContentRecords)+parseInt(this.searchInfo.totalProductRecords);this.searchInfo.resultText=this.searchInfo.totalRecords==1?site.endeca.rb.get("result"):site.endeca.rb.get("results");this.searchInfo.startingRecord=this.searchInfo.totalProductRecords?this.getMetaProp("Starting Record Number",1):0;this.searchInfo.endingRecord=this.getMetaProp("Ending Record Number",1);this.searchInfo.originalRecords=this.searchInfo.totalRecords;this.searchInfo.originalResultText=this.searchInfo.resultText;this.searchInfo.correctedTerms=[];for(var b in c["Spell Correction"]){if(c["Spell Correction"][b]["New Term"].indexOf(this.searchInfo.searchTerm)<0&&c["Spell Correction"][b]["AutoPhrasing"]=="false"){this.searchInfo.correctedTerms.push(c["Spell Correction"][b]["New Term"])}}if(this.searchInfo.correctedTerms.length){this.searchInfo.originalRecords=0;this.searchInfo.originalResultText=this.searchInfo.originalRecords==1?site.endeca.rb.get("result"):site.endeca.rb.get("results")}this.searchInfo.didYouMean=[];for(var b in c["DYM Information"]){if(c["DYM Information"][b]["New Term"].indexOf(this.searchInfo.searchTerm)<0&&c["DYM Information"][b]["AutoPhrasing"]=="false"){this.searchInfo.didYouMean.push({"Selection Link":c["DYM Information"][b]["Pivot Link"],Term:c["DYM Information"][b]["New Term"]})}}},processPagination:function(){if(this.numberOfPages>1){this.pagination={numberOfPages:this.numberOfPages,numberOfCurrentPage:this.getMetaProp("Page Number",1),previousPageLink:this.getMetaProp("Previous Page Link"),nextPageLink:this.getMetaProp("Next Page Link"),directPageLinks:this.getMetaProp("Direct Page Links","")}}},processDimensions:function(){var a=[];var f=[];for(var c in this.jsonResult.Breadcrumbs){var e=this.jsonResult.Breadcrumbs[c];if(e&&e.Type=="Navigation"){for(var b in e["Dimension Values"]){e["Dimension Values"][b]["Removal Link"]=this.query.getMergedQueryString(e["Dimension Values"][b]["Removal Link"],parseInt(e["Dimension Values"][b]["Dim Value ID"]))}a.push(e)}}for(var c in this.jsonResult.Refinements){var d=this.jsonResult.Refinements[c];if(d&&d.Dimensions&&d.Dimensions[0]){for(var b in d.Dimensions[0]["Dimension Values"]){d.Dimensions[0]["Dimension Values"][b]["Selection Link"]=this.query.getMergedQueryString(d.Dimensions[0]["Dimension Values"][b]["Selection Link"])}f.push(d.Dimensions[0])}}if(a.length){this.dimensions.breadcrumbs=a}if(f.length){this.dimensions.refinements=f}},processSupplemental:function(){this.supplementalObjects=this.jsonResult["Supplemental Objects"]||this.supplementalObjects;for(var c in this.supplementalObjects){var a=this.supplementalObjects[c];if(a.Properties){if(a.Properties["DGraph.KeywordRedirectUrl"]&&this.configuration.followRedirects){this.redirecting=true;document.location.href=a.Properties["DGraph.KeywordRedirectUrl"];return false}if(a.Properties["DGraph.SeeAlsoMerchId"]){var b=a.Properties.Zone;var d=this.supplementalContent[b]||{records:[]};d.style=a.Properties.Style;d.records.push(a);this.supplementalContent[b]=d}}}},getMetaProp:function(b,a){var c=(this.metaInfo[b]||a);if(!isNaN(c)){c=parseInt(c)}return c}});site.endeca.query=generic.Class.create({initialize:function(a){this.configuration=a||{};this.sessionId=Math.floor(Math.random()*999999)+1;this.url="/enrpc/JSONControllerServlet.do";this.urlParams=$H({});this.queryString=null;this.searchTerm="";this.searchKey="all";this.searchMode="matchallpartial";this.searchDimensions=true;this.computePhrasings=true;this.didYouMean=true;this.recordsPerPage=10;this.pageNumber=1;this.sortKey=null;this.rollup=true;this.rollupId="p_PRODUCT_ID";this.rollupDetail=true;this.defaultRangeFilters=$H({skuShoppable:"s_shoppable|GT+0",skuPromotional:"s_promotional|GT+0",skuSearchable:"s_searchable|GT+0",productTrFlag:"p_TR_FLAG|LT+1",productDisplayable:"p_displayable|GT+0",productShoppable:"p_shoppable|GT+0"});this.rangeFilters=["skuShoppable","skuSearchable"];this.additionalRangeFilters=[];this.defaultRecordFilters=$H({products:"rec_type:product",content:"rec_type:content",locale:"locale:"+generic.cookie("LOCALE"),activeSkus:"NOT(s_INVENTORY_STATUS:5)",discontinued:"NOT(s_discontinued:1)"});this.recordFilters=[];this.additionalRecordFilters=[];this.recordId=null;jQuery.extend(this,this.configuration);this.completed=0;this.exportUrlParams=["N","Ne","Nao","Ntt","D","M"];this.setupServer()},reset:function(){this.urlParams=$H();this.queryString=null;this.jsonResult=null;this.completed=0},prepare:function(){this.setupServer();if(this.recordId){this.setupRecordId()}else{if(this.searchTerm){this.searchTerm=jQuery.trim(this.searchTerm);if(this.computePhrasings){this.setupPhraseComputation()}if(this.didYouMean){this.setupDidYouMean()}if(this.searchDimensions){this.setupDimensionSearch()}if(this.pageNumber){this.setupPage()}if(this.sortKey){this.setupSort()}if(this.rollup){this.setupRollUp()}this.setupNavigation();this.setupRangeFilters();this.setupRecordFilters();this.setupSearch()}}if(this.queryString){this.queryString=decodeURIComponent(this.queryString);this.processQueryString()}else{this.setupDimensionIds()}},execute:function(){var a=this.url+"?"+this.toQueryString();jQuery.ajax({url:a,type:"get",context:this,complete:this.onComplete})},onComplete:function(a){this.completed=1;this.rawResult=a.responseText;this.jsonResult=jQuery.parseJSON(this.rawResult);this.callbackCompleted()},toQueryString:function(a){var a=a||{};var b=a.urlParams?a.urlParams.toQueryString():this.urlParams.toQueryString();b=b.replace(/%2B/gi,"+");return b},processQueryString:function(){this.urlParams=$H(jQuery.extend(true,this.urlParams.obj(),$.string(this.queryString).toQueryParams()));this.searchTerm=this.urlParams.get("Ntt");this.setupDimensionIds();this.setupRangeFilters();this.setupRecordFilters()},getMergedQueryString:function(e,b){var c=$H($.string(e).toQueryParams());if(!c.get("Nao")){c.set("Nao",0)}var a=$H(jQuery.extend(true,{},this.urlParams.obj(),c.obj()));var d=this._getDimensionIds({urlParams:c,oldDimensionIds:this.urlParams.get("Ne")});d=site.endeca.helpers.array.remove(d,this.defaultDimensionIds);d=b?site.endeca.helpers.array.remove(d,b):d;a.set("Ne",d.join("+"));return this.toQueryString({urlParams:a.slice(this.exportUrlParams)})},setupServer:function(){this.urlParams.set("M","host:"+this.MDEXHost+"|port:"+this.MDEXPort+"|recs_per_page:"+this.recordsPerPage);this.urlParams.set("L","SESSION_ID:"+this.sessionId+"|host:"+this.logHost+"|port:"+this.logPort)},setupRecordId:function(){this.urlParams.set("R",this.recordId)},setupNavigation:function(){this.urlParams.set("N","")},setupDimensionIds:function(){var a=this._getDimensionIds({urlParams:this.urlParams});if(a.length){this.urlParams.set("Ne",a.join("+"))}},setupSearch:function(a){var a=a||{};this.urlParams.set("Ntt",a.searchTerm||this.searchTerm);this.urlParams.set("Ntk",this.searchKey);this.urlParams.set("Ntx",this.searchMode.match(/mode\+/)?this.searchMode:("mode+"+this.searchMode))},setupDimensionSearch:function(a){var a=a||{};this.urlParams.set("D",a.searchTerm||this.searchTerm);this.urlParams.set("Dx",this.searchMode.match(/mode\+/)?this.searchMode:("mode+"+this.searchMode))},setupPhraseComputation:function(){this.urlParams.set("Ntpc",1);this.urlParams.set("Ntpr",1)},setupDidYouMean:function(){this.urlParams.set("Nty",1)},setupSort:function(){this.urlParams.set("Ns",this.sortKey)},setupRollUp:function(){this.urlParams.set("Nu",this.rollupId);this.urlParams.set("Np",this.rollupDetail?2:1)},setupPage:function(){this.urlParams.set("Nao",(this.pageNumber-1)*this.recordsPerPage)},setupRangeFilters:function(){var a=this._getFilters(this.rangeFilters,this.additionalRangeFilters,this.defaultRangeFilters);if(a.length){this.urlParams.set("Nf",a.join("|"))}},setupRecordFilters:function(){var a=this._getFilters(this.recordFilters,this.additionalRecordFilters,this.defaultRecordFilters);if(a.length){this.urlParams.set("Nr","AND("+a.join(",")+")")}},_getFilters:function(c,d,b){var a=[];jQuery.each(c,function(e,f){a.push(b.get(f))});jQuery.each(d,function(e,f){a.push(f)});return a},_getDimensionIds:function(a){var b=[];if(a.oldDimensionIds){b=b.concat(a.oldDimensionIds.split("+"))}if(a.addDefaultDimensionIds){b=b.concat((a.oldDimensionIds).split("+"))}b=b.concat(a.urlParams&&a.urlParams.get("Ne")?(a.urlParams.get("Ne")).split("+"):[]);b=b.concat(this.defaultDimensionIds);b=site.endeca.helpers.array.toInt(b);b=site.endeca.helpers.array.unique(b);return b},parsedSearchTerm:function(){return decodeURIComponent(this.searchTerm).replace(/\+/g," ")}});site.endeca.result=generic.Class.create({initialize:function(a){this.parentNode=null;this.node=null;this.resultData=null;this.templatePath=null;jQuery.extend(this,a||{})},displayResult:function(b){var b=b||{};var a=b.parentNode||this.parentNode;var c=this;generic.template.get({path:c.templatePath,object:b.resultData||c.resultData,callback:function(d){d=jQuery.trim(d);if(d){c.node=$(d);if(a&&c.node){a.append(c.node)}c.displayResultCallback(b)}}})},displayResultCallback:function(a){},reset:function(){if(this.node&&this.node.parentNode&&this.node!=this.parentNode){this.node.remove()}else{this.parentNode.empty()}}});site.endeca.results=generic.Class.create({initialize:function(a){this.parentNode=null;this.node=null;this.headerNode=null;this.contentNode=null;this.resultData=[];this.resultNodes=[];this.resultClass=null;this.configuration={};this.mixins={};jQuery.extend(this,a)},setupNodes:function(a){var a=a||{};this.node=this.parentNode||a.node;if(this.node){if(this.containerTemplatePath){this.loadContainer()}this.headerNode=this.node.find(".results-header:first").length?this.node.find(".results-header:first"):null;this.contentNode=this.node.find(".results:first").length?this.node.find(".results:first"):this.node}},displayResults:function(b){var b=b||{};b.childClass=b.childClass||this.childClass;this.setupNodes(b);var a=b.resultData||this.resultData;var c=this;jQuery.each(a,function(e,d){c.createResult(jQuery.extend(b,{result:d,index:e}))})},loadContainer:function(a){var a=a||{};var c=a.containerTemplatePath||this.containerTemplatePath;var b=this;generic.template.get({path:c,object:a.resultData||b.resultData,callback:function(d){d=jQuery.trim(d);if(d){b.node=$(d);if(b.parentNode&&b.node){b.parentNode.append(b.node)}}}})},createResult:function(b){var b=b||{};this.setResultClass(b);var a=new this.resultClass({templatePath:b.templatePath||this.templatePath,resultData:b.result,parentNode:b.contentNode||this.contentNode,configuration:b.configuration||this.configuration,mixins:b.mixins||this.mixins});this.resultNodes.push(a)},setResultClass:function(b){var b=b||{};var c=b.baseClass||this.baseClass||site.endeca.result;if(!this.resultClass){b.childClass=b.childClass||this.childClass||"";var a=b.mixins||this.mixins["result."+b.childClass]||this.mixins.result||{};this.resultClass=b.childClass&&c[b.childClass]?generic.Class.create(generic.Class.mixin(c,a),c[b.childClass]):generic.Class.mixin(c,a)}},displayResultNodes:function(){for(var a in this.resultNodes){this.resultNodes[a].displayResult()}if(this.resultNodes.length){if(this.resultNodes[0].node){this.resultNodes[0].node.addClass("first")}if(this.resultNodes[this.resultNodes.length-1].node){this.resultNodes[this.resultNodes.length-1].node.addClass("last")}}},hide:function(){this.parentNode.hide()},show:function(){this.parentNode.show()},reset:function(){if(this.containerTemplatePath){if(this.node){this.node.remove()}}else{if(this.contentNode){this.contentNode.empty()}else{if(this.node){this.node.empty()}}}this.resultData=[];this.resultNodes=[]}});site.endeca.resultsgroup=generic.Class.create(site.endeca.results,{initialize:function(a){this.baseClass=site.endeca.results;this._super(a)},createResult:function(b){var b=b||{};b.mixins=b.mixins||this.mixins["results."+b.childClass]||this.mixins.results;this.setResultClass(b);var a=new this.resultClass(jQuery.extend({resultData:b.result,parentNode:this.contentNode||this.node||this.parentNode,summaryResultData:this.summaryResultData,mixins:this.mixins,configuration:b.configuration||this.configuration},b.resultsArgs||this.resultsArgs||{}));this.resultNodes.push(a)},reset:function(){for(var a in this.resultNodes){this.resultNodes[a].reset()}this._super()}});site.endeca.mixins.accordion={displayResults:function(a){this._super(a);this.setupAccordion()},setupAccordion:function(){this.accordionHeaderNode=this.node.find(".accordion-header:first");this.accordionContentNode=this.node.find(".accordion-content:first");if(this.accordionHeaderNode.length&&this.accordionContentNode.length){var a=this;this.accordionHeaderNode.unbind("click");this.accordionHeaderNode.bind("click",a,a.toggleAccordion)}},toggleAccordion:function(a){a.preventDefault();a.data.accordionHeaderNode.toggleClass("collapsed");a.data.accordionContentNode.toggle()},openAccordion:function(){if(this.accordionHeaderNode.length&&this.accordionContentNode.length){this.accordionHeaderNode.removeClass("collapsed");this.accordionContentNode.show()}},closeAccordion:function(){if(this.accordionHeaderNode.length&&this.accordionContentNode.length){this.accordionHeaderNode.addClass("collapsed");this.accordionContentNode.hide()}}};site.endeca.mixins.links={displayResultCallback:function(b){var b=b||{};b.resultData=b.resultData||this.resultData;var e=b["Selection Link"]||b.resultData["Selection Link"]||b.resultData["Removal Link"];var d=b.node||b.parentNode||this.node||this.parentNode;d=d.find(".link-mixin").length?d.find(".link-mixin"):d.find("a").length?d.find("a"):d;if(e&&d){var c=this;d.bind("click",{that:c,link:e},c.onClick);d.bind("simulate:click",{that:c,link:e},c.onClick);if(d.href){var f=generic.env.parsedQuery();f.qs=encodeURIComponent(e);var a=document.location.pathname+"?"+$H(f).toQueryString();d.href=a}}}};site.endeca.mixins.links.address=jQuery.extend({onClick:function(a){jQuery.address.value("?"+a.data.link);scroll(0,0);a.preventDefault();return false}},site.endeca.mixins.links);site.endeca.mixins.summary={initialize:function(a){this._super(a);this.summaryResultData={totalRecords:this.resultData.length};this.summaryResultData.resultText=this.summaryResultData.totalRecords==1?site.endeca.rb.get("result"):site.endeca.rb.get("results")},setupNodes:function(a){var a=a||{};this._super(a);if(this.node){this.summaryNode=this.node.find(".results-summary").length?this.node.find(".results-summary"):null}},displayResults:function(a){this._super(a);this.setupSummary()},setupSummary:function(){if(this.summaryNode&&this.configuration.summaryTemplatePath&&this.summaryResultData){this.summary=new site.endeca.result({parentNode:this.summaryNode,templatePath:this.configuration.summaryTemplatePath,resultData:this.summaryResultData});this.summary.displayResult()}},reset:function(a){this._super(a);if(this.summaryNode){this.summaryNode.empty()}}};site.endeca.result.product={initialize:function(a){this.shadeResults=null;this.addButton=null;this._super(a)},displayResult:function(a){this.setupReviewData();this.setupBrandData();this._super(a)},displayResultCallback:function(a){this.setupQuickShop();this.setupAddToBag();if(this.resultData.shaded){this.setupShades()}},setupReviewData:function(){this.resultData.ratingDisplay=this.resultData.TOTAL_REVIEW_COUNT?"block":"none";this.resultData.ratingReviewWord=this.resultData.TOTAL_REVIEW_COUNT>1?generic.rb("language").get("reviews"):generic.rb("language").get("review");this.resultData.ratingRounded=Math.round((this.resultData.AVERAGE_RATING||0)*10)/10},setupBrandData:function(){this.resultData.price=this.resultData.skus[0].formattedPrice;this.resultData.shadesDisplayed=this.configuration.maxmimumShades;this.resultData.totalSkus=this.resultData.skus.length},setupQuickShop:function(){var b=this.node.find("a.quickshop-link");if(b){var a=this;b.bind("click",function(d){d.preventDefault();var c=brx.productView.quickshop({productData:a.resultData})});b.bind("mouseover",function(c){$(this).find(".quickshop-btn").addClass("qs-active")});b.bind("mouseout",function(c){$(this).find(".quickshop-btn").removeClass("qs-active")})}},setupAddToBag:function(){var c=this.node.find("a.btn-add-to-bag");var b=this.node.find("span.add-progress");var a=brx.productView.single({productData:this.resultData});a.initAddButton({addButtonNode:c,progressNode:b,productData:this.resultData})},setupNote:function(){},setupGiftSetComponents:function(){},setupShades:function(){var c=this.node.find(".shades");if(c.length){var b;if(typeof this.configuration.maxmimumShades!="undefined"&&this.resultData.skus.length>this.configuration.maxmimumShades){this.node.find(".more-shades").show();b=this.resultData.skus.slice(0,this.configuration.maxmimumShades)}else{b=this.resultData.skus.slice(0)}for(var a in b){b[a].PRODUCT_ID=this.resultData.PRODUCT_ID;b[a].url=this.resultData.url}this.shadeResults=new site.endeca.results({resultData:b,parentNode:c,childClass:"shade",configuration:this.configuration,mixins:this.mixins});this.shadeResults.displayResults();this.shadeResults.show();this.shadeResults.resultNodes[0].node.click()}}};site.endeca.result.shade={initialize:function(a){this._super(a);this.templatePath="/templates/endeca/products/shade.tmpl";this.displayResult()},displayResultCallback:function(a){this.drawSwatch();this.initListeners()},drawSwatch:function(a){if(!this.resultData.HEX_VALUE_STRING||this.resultData.HEX_VALUE_STRING.length<1){return}var e=this.node.find(".search-swatch-container");var c=this.resultData.HEX_VALUE_STRING.split(",");for(var b=0;b<c.length;b++){var f=$("<div/>");f.css({"background-color":c[b]});if(b==0){f.addClass("first")}if(b==c.length-1){f.addClass("last")}if(c.length==1){f.addClass("single")}e.append(f)}e.css("width","auto")},initListeners:function(a){var b=this;this.node.bind("click",b,function(d){var c=d.data;c.node.siblings(".shade").find(".search-swatch-container").removeClass("active");c.node.find(".search-swatch-container").addClass("active");$(document).trigger("select.sku",c.resultData)})}};site.endeca.result.summary={displayResult:function(c){var c=c||{};if(this.resultData.searchTerm==""){this.templatePath="/templates/endeca/summary/no-term.tmpl"}else{if(this.hasResults){this.templatePath="/templates/endeca/summary/results.tmpl"}else{this.templatePath="/templates/endeca/summary/no-results.tmpl"}}this._super(c);var e=this.node.find(".searchTerms");if(this.resultData.breadcrumbs&&e.length){for(var d in this.resultData.breadcrumbs){for(var b in this.resultData.breadcrumbs[d]["Dimension Values"]){e.append(', "'+this.resultData.breadcrumbs[d]["Dimension Values"][b]["Dim Value Name"]+'"')}}}var f=this.node.find("#auto-correct");if(this.resultData.correctedTerms.length&&f.length){this.templatePath="/templates/endeca/summary/auto-correct.tmpl";c.resultData=this.resultData;c.resultData.correctedTerm=this.resultData.correctedTerms.join(",");c.parentNode=f;this._super(c)}var a=this.node.find("#did-you-mean");if(this.resultData.didYouMean.length&&a.length){this.templatePath="/templates/endeca/summary/did-you-mean.tmpl";c.resultData=this.resultData.didYouMean[0];c.parentNode=a;this._super(c)}},reset:function(){this.parentNode.empty()}};site.endeca.results.breadcrumbs={initialize:function(a){this.childClass="breadcrumb";this._super(a);var c=this;var b=jQuery.map(this.resultData["Dimension Values"],function(d){return jQuery.extend(d,{"Dimension Name":c.resultData["Dimension Name"]})});this.displayResults({resultData:this.resultData["Dimension Values"]});this.displayResultNodes()}};site.endeca.results.bestsellers={initialize:function(a){this.childClass="product";this._super(a)},displayResults:function(){var a=this;this.query=new site.endeca.query(jQuery.extend({callbackCompleted:function(){var b=new site.endeca.catalog.product({jsonResult:a.query.jsonResult});a.resultData=b.getProducts();a._super();a.displayResultNodes()}},site.endeca.configuration.query,this.configuration.queryArgs||{}));this.query.prepare();this.query.execute()},createResult:function(a){a.result.context="bestseller-product";this._super(a)}};site.endeca.results.contentzone=generic.Class.create(site.endeca.results,{displayResults:function(a){this.zoneName=this.resultData[0].Properties.Zone;this._super(a)},createResult:function(a){var a=a||{};a.templatePath=this.configuration.templatePath;this._super(a)}});site.endeca.results.contentzone.content={initialize:function(a){this._super(a);this.configuration.summaryTemplatePath=this.configuration.summaryTemplatePath||"/templates/endeca/content/summary.tmpl";if(this.resultData.length){this.displayResults()}},displayResults:function(a){this._super(a);this.displayResultNodes()},createResult:function(a){if(this.configuration.limit&&this.resultNodes.length>=parseInt(this.configuration.limit)){return}a.result=a.result.Properties;this._super(a)}};site.endeca.results.contentzone.products={initialize:function(a){this.childClass="product";this._super(a);this.query=null;var b=[];for(i in this.resultData){for(j in this.resultData[i]["Records"]){b.push(this.resultData[i]["Records"][j]["Record Spec"])}}this.query=new site.endeca.query(jQuery.extend({callbackCompleted:site.endeca.helpers.func.bind(this.searchCompleted,this),searchMode:"matchany",searchTerm:b.join(" "),searchKey:"rec_id"},site.endeca.configuration.query,this.configuration.queryArgs||{}));this.query.prepare();this.query.execute()},searchCompleted:function(){var a=new site.endeca.catalog.product({jsonResult:this.query.jsonResult});this.displayResults({resultData:a.getProducts()});this.displayResultNodes()},createResult:function(a){a.result.context="featured-product";a.result.callout=site.endeca.rb.get("callout.featured-product");this._super(a)}};site.endeca.results.pagination={initialize:function(a){this._super(a);this.displayResults()},displayResults:function(){if(this.resultData){this.setupNodes();if(this.configuration.viewAllLink){var c=new site.endeca.query(jQuery.extend(true,{},site.endeca.configuration.query,{recordsPerPage:10000}));this.createResult({templatePath:"/templates/endeca/pagination/viewall.tmpl",result:{"Selection Link":c.toQueryString()}})}if(this.resultData.previousPageLink&&this.configuration.previousPageLink){this.createResult({templatePath:"/templates/endeca/pagination/previous.tmpl",result:{"Selection Link":this.resultData.previousPageLink}})}var a=this.contentNode;if(this.configuration.containerTemplatePath){this.containerTemplatePath=this.configuration.containerTemplatePath;this.setupNodes()}for(var b=0;b<this.resultData.directPageLinks.length;b++){this.createResult({templatePath:this.resultData.numberOfCurrentPage==b+1?"/templates/endeca/pagination/current.tmpl":"/templates/endeca/pagination/link.tmpl",result:{"Selection Link":this.resultData.directPageLinks[b],Content:b+1}})}this.contentNode=a;if(this.resultData.nextPageLink&&this.configuration.nextPageLink){this.createResult({templatePath:"/templates/endeca/pagination/next.tmpl",result:{"Selection Link":this.resultData.nextPageLink}})}this.displayResultNodes()}},setupSummary:function(){return;if(this.paginationSummaryNode){if(this.summaryResultData&&this.summaryResultData.totalProductRecords>1){var a="endeca.templates.pagination.summary.shown";if(this.resultData&&this.resultData.numberOfCurrentPage==1){a="endeca.templates.pagination.summary.topShown"}this.createResult({templatePath:a,result:this.summaryResultData,contentNode:this.paginationSummaryNode})}if(this.resultData&&this.resultData.nextPageLink){this.createResult({templatePath:"endeca.templates.pagination.summary.next",result:{"Selection Link":this.resultData.nextPageLink},contentNode:this.paginationSummaryNode})}if(this.summaryResultData){var c=null;var d=null;if(this.summaryResultData.startingRecord==1&&this.summaryResultData.endingRecord>10){c="endeca.templates.pagination.summary.viewLess";d={}}else{if(this.summaryResultData.totalProductRecords>10){c="endeca.templates.pagination.summary.viewAll";d={recordsPerPage:10000}}}if(c){var b=new site.endeca.base.query(d);this.createResult({templatePath:c,result:{"Selection Link":b.toQueryString()},contentNode:this.paginationSummaryNode})}}}}};site.endeca.results.products={initialize:function(a){this.childClass="product";this._super(a)},displayResults:function(a){this._super(a);this.displayResultNodes()},createResult:function(a){a.templatePath=this.childTemplatePath||"/templates/endeca/products/result.tmpl";a.result.context="product";this._super(a)}};site.endeca.results.recentsearches={initialize:function(a){this.searchTerm=null;this._super(a)},displayResults:function(a){this.setupRecentSearches();this._super({templatePath:"/templates/endeca/recent-search.tmpl"});this.displayResultNodes()},setupRecentSearches:function(){var b=encodeURIComponent(this.searchTerm);var a=typeof generic.cookie("researches")!="undefined"?String(generic.cookie("researches")).split(":::"):[];if(this.searchTerm){a.unshift(b)}a=site.endeca.helpers.array.unique(a).splice(0,this.configuration.maximumRecentSearches);if(a.length){generic.cookie("researches",a.join(":::"))}for(var c in a){this.resultData.push({searchTerm:decodeURIComponent(a[c]).replace(/\+/," "),"Selection Link":"Ntt="+a[c],"Display Link":"?search="+a[c]})}}};site.endeca.results.refinements={initialize:function(a){this.containerTemplatePath="/templates/endeca/refinements/container.tmpl";this.childClass="refinement";this.moreRefinement=null;this._super(a);this.displayResults({resultData:this.resultData["Dimension Values"]});this.displayResultNodes()},createResult:function(a){a.templatePath="/templates/endeca/refinements/link.tmpl";if(this.configuration.refinementTemplates&&this.configuration.refinementTemplates[this.resultData["Dimension ID"]]){a.templatePath=this.configuration.refinementTemplates[this.resultData["Dimension ID"]]}if(this.resultData["Dim Value Properties"]&&this.resultData["Dim Value Properties"]["DGraph.More"]&&a.result["Dim Value Name"]=="More..."){a.templatePath="/templates/endeca/refinements/show-all.tmpl";this.moreRefinement=a.result["Dim Value ID"]}this._super(a)}};site.endeca.resultsgroup.breadcrumbs={displayResults:function(a){var a=a||{};a.childClass="breadcrumbs";this._super(a)}};site.endeca.resultsgroup.contentzones={initialize:function(a){this.resultData={};this.zones={};this.crawlData=[];this.hasSoloResults=false;this.totalResults=0;this.contentzones={};this._super(a)},setCrawlData:function(a){var a=a||{};if(a.crawlData&&a.crawlData.length){this.resultData.crawlData={style:"content",records:a.crawlData}}},setupNodes:function(a){var a=a||{};this.node=this.parentNode||a.node},displayResults:function(b){var b=b||{};b.baseClass=site.endeca.results.contentzone;for(var a in this.contentzones){this.resultClass=null;var d=b;var c=this.resultData[a];if(c&&c.records&&c.records.length){d.resultData=[this.resultData[a].records];d.childClass=site.endeca.results.contentzone[this.resultData[a].style]?this.resultData[a].style:"content";d.node=this.contentzones[a].node;if(this.contentzones[a].solo){this.hasSoloResults=true}if(this.contentzones[a].counted){this.totalResults+=this.resultData[a].records.length}d.configuration=this.contentzones[a];d.mixins=this.mixins["results.contentzone"];this._super(d);d.node.show()}else{this.contentzones[a].node.hide()}}},hide:function(){for(var a in this.resultNodes){this.resultNodes[a].hide()}},show:function(){for(var a in this.resultNodes){this.resultNodes[a].show()}},reset:function(){for(var a in this.resultNodes){this.resultNodes[a].reset()}this.totalResults=0;this.hasSoloResults=false}};site.endeca.resultsgroup.pagination={displayResults:function(a){var a=a||{};a.childClass="pagination";var b=this;$(".pagination").each(function(){b.parentNode=$(this);a.resultData=[b.resultData];b._super(a)})}};site.endeca.resultsgroup.refinements={initialize:function(a){this.moreRefinements=[];this._super(a)},displayResults:function(a){var a=a||{};a.childClass="refinements";this._super(a);var b=this;$(".expand-all").each(function(d,c){if(b.moreRefinements.length){if(b.displayResultCallback){b.displayResultCallback({"Selection Link":"Ne="+b.moreRefinements.join("+"),node:d})}d.show()}else{d.hide()}})},createResult:function(b){var b=b||{};this._super(b);var a=this.resultNodes[this.resultNodes.length-1];if(a&&a.moreRefinement){this.moreRefinements.push(a.moreRefinement)}},reset:function(a){this.moreRefinements=[];this._super(a)}};site.endeca.configuration={query:{MDEXHost:"localhost",MDEXPort:16700,logHost:generic.env.domain.match(/www/)?"njlndca01":"localhost",logPort:16704,defaultDimensionIds:[8127,8062,9025,9026,9027]},coremetricsEnabled:true,contentzones:{},mixins:{}};var site=site||{};site.endeca=site.endeca||{};site.endeca.instances=site.endeca.instances||{};site.endeca.instances.typeahead=site.endeca.instances.typeahead||{};site.endeca.instances.typeahead.control=generic.Class.create(site.endeca.control,{initialize:function(a){this._super(a);if(this.nodes.wrapper.length&&this.nodes.inputElement.length){var b=this;this.nodes.inputElement.bind("keyup",b,b.onKeyUp);this._watchToClose()}},onKeyUp:function(c){var b=c.data;var a=jQuery.trim(b.nodes.inputElement[0].value);if(a!=b.searchTerm&&a.length>=b.configuration.minSearchLength){b.searchTerm=a;c.data.search({searchTerm:a})}},_watchToClose:function(){var a=this;$(document).bind("click",a,function(c){var d=c.target;var b=c.data;b.nodes.closeLinks.each(function(){if(this==d){b.nodes.wrapper.hide();return false}});if(!$(d).parents(b.nodes.wrapper.selector).length&&d!=b.nodes.inputElement[0]&&d!=b.nodes.wrapper[0]){b.nodes.wrapper.hide();return}})},searchCompleted:function(){if(!this._super()){return}this.results.products.resultData=this.catalogs.product.resultList;this.results.products.summaryResultData=this.meta.searchInfo;this.results.products.displayResults();this.results.products.show();if(this.results.products.resultData.length){this.hasResults=true}this.results.content.contentzones=this.configuration.contentzones;this.results.content.resultData=this.meta.supplementalContent;this.results.content.setCrawlData({crawlData:this.catalogs.content.resultList});this.results.content.displayResults();if(!jQuery.isEmptyObject(this.results.content.resultData)){if(this.results.content.hasSoloResults){this.hasResults=true}}else{this.results.content.hide()}var a=this.nodes.wrapper.find("a.see-all-results");a.attr("href",this.configuration.fullSearchBaseUrl+this.queries.product.parsedSearchTerm());this.nodes.wrapper.show();if(this.hasResults){if(this.nodes.noResults){this.nodes.noResults.hide()}a.show()}else{if(this.nodes.noResults){this.nodes.noResults.show()}a.hide()}this.hideLoading()}});var site=site||{};site.endeca=site.endeca||{};site.endeca.instances=site.endeca.instances||{};site.endeca.instances.typeahead=site.endeca.instances.typeahead||{};$(document).ready(function(){site.endeca.instances.typeahead.configuration=jQuery.extend(true,{},site.endeca.configuration,{followRedirects:false,minSearchLength:3,fullSearchBaseUrl:"/products/search/esearch.tmpl?search=",contentzones:{crawlData:{node:$(".content-results","#typeahead-wrapper"),templatePath:"/templates/endeca/typeahead/content-result.tmpl",summaryTemplatePath:"/templates/endeca/typeahead/content-summary.tmpl",counted:true,solo:true,limit:1}},nodes:{inputElement:$("#search"),wrapper:$("#typeahead-wrapper"),loading:$(".loading","#typeahead-wrapper"),closeLinks:$(".close-link","#typeahead-wrapper"),noResults:$(".no-results","#typeahead-wrapper")},mixins:{"results.products":site.endeca.mixins.summary,"results.contentzone":site.endeca.mixins.summary},queries:{product:{recordFilters:["discontinued","activeSkus","products"],recordsPerPage:2,defaultDimensionIds:[]},content:{recordsPerPage:2,recordFilters:["content"],defaultDimensionIds:[],noQueryString:true}},results:{products:{baseClass:"site.endeca.results",childClass:"site.endeca.results.products",instanceArgs:{parentNode:$(".product-results","#typeahead-wrapper"),childTemplatePath:"/templates/endeca/typeahead/product-result.tmpl"},configuration:{summaryTemplatePath:"/templates/endeca/typeahead/product-summary.tmpl"}},content:{baseClass:"site.endeca.resultsgroup",childClass:"site.endeca.resultsgroup.contentzones"}}});new site.endeca.instances.typeahead.control(site.endeca.instances.typeahead.configuration)});
