/** * @object: jsPriceVOList * @desc: list of price ranges */ var jsPriceVOList = { "priceList": [ {"title":'Budget $249 - $360', "isSelected":false, "productCount":7 } , {"title":'Mid-range $500 - $769', "isSelected":false, "productCount":9 } , {"title":'High-end $999 - $1299', "isSelected":false, "productCount":3 } ], /** * @method: getList * @desc: get all the data in the list */ getList: function() { return this.priceList; }, // end method: getList /** * @method: getListElement * @desc: get a data element in the list * @param: index - the index of the element to return */ getListElement: function(index) { return this.priceList[index]; }, // end method: getListElement /** * @method: getListElementSelectState * @desc: get the selection state for a data element in the list * @param: index - the index of the element to return selection state for */ getListElementSelectState: function(index) { return this.priceList[index].isSelected; }, // end method: getListElementSelectState /** * @method: getListElementLabel * @desc: get the label for a data element in the list * @param: index - the index of the element to return label for */ getListElementLabel: function(index) { return this.priceList[index].title; }, // end method: getListElementLabel /** * @method: getCount * @desc: get the number of list items * @params: */ getCount: function() { return this.priceList.length; }, // end method: getCount /** * @method: selectElement * @desc: set the element as selected * @param: index - the index of the element * @param: underlyingEvent - the underlying event */ selectElement: function(index, underlyingEvent) { //if (typeof gNewPA != 'undefined') { // new PA page pa.Filters.indexToInsertProductRangeFeature = gSelectedFeatures.length; // remember current index to insert product range filter in summary var feature = {'id':'9999','title':'Product Range','option':''}; gSelectedFeatures.push(feature); // add feature to the end of list scroll(0,0); // bring page to top so user can see selected filter //} this.priceList[index].isSelected = true; this.modelChangeEvent(new ModelEvent('select',this, index, underlyingEvent)); }, // end method: selectElement /** * @method: deselectElement * @desc: set the element as selected * @param: index - the index of the element * @param: underlyingEvent - the underlying event */ deselectElement: function(index, underlyingEvent) { this.priceList[index].isSelected = false; this.modelChangeEvent(new ModelEvent('deselect',this, index, underlyingEvent)); } // end method: deselectElement }; Model.attach(jsPriceVOList); // add the base model functionality // initialize the price model listenter jsPriceVOList.addChangeListener(processPriceCheckboxChange); var jsPopVOList = { "popularityList":[ {"title":'Value+Community', "isSelected":true } , {"title":'Value', "isSelected":false } , {"title":'Community', "isSelected":false } , {"title":'Price ($ to $$$)', "isSelected":false } , {"title":'Price ($$$ to $)', "isSelected":false } , {"title":'New', "isSelected":false } , {"title":'Last Added', "isSelected":false } ] }; var jsBrandVOList = { "brandList": [ { "vendorID":2771449, "brandName":'Klipsch', "isSelected":false, "isTopBrand":false, "productCount":6, "bId":"b"+0 } , { "vendorID":482889, "brandName":'Bose', "isSelected":false, "isTopBrand":false, "productCount":4, "bId":"b"+1 } , { "vendorID":200892, "brandName":'Sony', "isSelected":false, "isTopBrand":false, "productCount":2, "bId":"b"+2 } , { "vendorID":307242, "brandName":'Onkyo', "isSelected":false, "isTopBrand":false, "productCount":2, "bId":"b"+3 } , { "vendorID":2526732, "brandName":'Polk Audio', "isSelected":false, "isTopBrand":false, "productCount":1, "bId":"b"+4 } , { "vendorID":11164239, "brandName":'Definitive Technology', "isSelected":false, "isTopBrand":false, "productCount":1, "bId":"b"+5 } , { "vendorID":557822, "brandName":'JBL', "isSelected":false, "isTopBrand":false, "productCount":1, "bId":"b"+6 } , { "vendorID":341738, "brandName":'Denon', "isSelected":false, "isTopBrand":false, "productCount":1, "bId":"b"+7 } , { "vendorID":2771451, "brandName":'Mirage', "isSelected":false, "isTopBrand":false, "productCount":1, "bId":"b"+8 } ], "topBrandsList": [], // this will keep a list of indexes into brandList for the top brand checkboxes /** * @method: getList * @desc: get all the data in the list */ getList: function() { var list = []; for (var i=0; i 0 && document.location.hash.match('#_h_') == null ){ // Bug 3590: PA page should honor the filters selection from 'overview' page // this means the hash does have filters intead of history marks, usually this comes from the filters from 'overview' page optionPath = document.location.hash; }else if(getCookieData(pa.Filters.paFilters+jsFeatureCategoryID) != null ){ //Bug 3398: Remember the last known filter for the last category in cookie optionPath = getCookieData(pa.Filters.paFilters+jsFeatureCategoryID); } */ // this is when the page is first loaded with some pass in hash else{ optionPath = document.location.hash; } // add a '+' ahead to differentiate f= and qf= optionPath = '+' + optionPath.replace(/^#/, ''); //DebugLog.error('optionPath: '+optionPath); // need to call reset of Filters to clean up the slate before loading from cache. pa.Filters.reset(); //var start = optionPath.indexOf('#'); var preSelectedVendors = getVendorList(); rurl = ''; if ( optionPath.length ==0 && (preSelectedVendors==null || preSelectedVendors.length==0) ) { setInitQuickLinkDefault(); return 'none'; } if (pa.DiscoveryStartup.inStartup) { DelayExecutor.getDefaultExecutor().setIsModal(false); pa.DiscoveryStartup.inStartup = false; gSendAdAndTracking = false; // initialize as false, Bug 3487 } //DebugLog.error('in initPage: '+optionPath); var i, changed = false, serverCall = false; var ranges = parseInitOption(optionPath, "r="); if(ranges && ranges.length > 0){ for (i = 0 ; i < ranges.length ; i++) { jsPriceVOList.priceList[ranges[i]].isSelected = true; serverCall = true; } }else{ // need to reset isSelected to false to make 'back' button work for(i = 0 ; i < jsPriceVOList.priceList.length ; i++) { jsPriceVOList.priceList[i].isSelected = false; } } ranges = parseInitOption(optionPath, "v="); // these are the brands from the url search, should only apply it on the very initial load of the page if( preSelectedVendors != null && preSelectedVendors.length>0 && HistoryManager.isInitLoad() ){ ranges.push(preSelectedVendors); ranges = ranges.flatten().uniq(); } if(ranges && ranges.length > 0){ for (i = 0 ; i < ranges.length ; i++) { for(var b=0; b < jsBrandVOList.brandList.length; b++) { if(jsBrandVOList.brandList[b].vendorID == ranges[i]){ jsBrandVOList.brandList[b].isSelected = true; serverCall = true; } } } // Bug 3938, need to add the selection to tracking too gVendorSurveyTracking(); }else{ // need to reset isSelected to false to make 'back' button work for(i = 0 ; i < jsBrandVOList.brandList.length ; i++) { jsBrandVOList.brandList[i].isSelected = false; } } ranges = parseInitOption(optionPath, "+s="); if (ranges.length > 0) { // do something here to set the sorting criteria. var popList = jsPopVOList.popularityList; for (i = 0 ; i < popList.length ; i++ ) { popList[i].isSelected = false; } popList[ranges[0]].isSelected = true; gSortIndex = ranges[0]; changed = true; } ranges = parseInitOption(optionPath, gProductRangeIndexParam+"="); if (ranges.length > 0) { pa.Filters.indexToInsertProductRangeFeature = parseInt(ranges[0]); } ranges = parseInitOption(optionPath, gBrandFilterIndexParam+"="); if (ranges.length > 0) { pa.Filters.indexToInsertBrandFeature = parseInt(ranges[0]); } /* ranges = parseInitOption(optionPath, gPriceFilterIndexParam+"="); if (ranges.length > 0) { pa.Filters.customPriceFilterIndex = parseInt(ranges[0]); }*/ ranges = parseInitOption(optionPath, gKeywordFilterIndexParam+"="); if (ranges.length > 0) { pa.Filters.indexToInsertKeywordFeature = parseInt(ranges[0]); } // this is the case of the logical 'back' action called by the HistoryManager, we need to reset // all the quick links to false first. Don't do that with initial load because there might be some // quick link preseted by the SEO html if (newFilter != undefined){ for(var i=0; i< jsQuickLinksList.length; i++){ jsQuickLinksList[i].isSelected = false; } } ranges = parseInitOption(optionPath, "qf="); if (ranges.length > 0) { for(var i=0; i< jsQuickLinksList.length; i++){ if(jsQuickLinksList[i].linkTxt.toLowerCase() == decodeURIComponent(ranges[0].toLowerCase()) ){ jsQuickLinksList[i].isSelected = true; QuickLinkPA.current = i; if(ranges[0].toLowerCase() != 'all') serverCall = true; break; } } } for(var i=0; i< jsQuickLinksList.length; i++){ if( jsQuickLinksList[i].isSelected ){ QuickLinkPA.current = i; if( jsQuickLinksList[i].linkTxt.toLowerCase() != 'all') serverCall = true; break; }else{ if( jsQuickLinksList[i].linkTxt.toLowerCase() == 'all'){ QuickLinkPA.current = i; } } } // keywords query ranges = parseInitOption(optionPath, "kq="); if (ranges.length > 0) { var feature = {'id':7777, 'title': pa.Filters.KeywordsStr ,'option': decodeURIComponent(ranges[0]) }; gSelectedFeatures.push(feature); // add feature to the end of list serverCall = true; } /*ranges = parseInitOption(optionPath, "selectedFeatures="); if (ranges.length > 0) { StickyCache.put('selectedFeatures', ranges.join(',')); } */ // Bug 3145: Quick filter links don't work properly... ranges = parseInitOption(optionPath, "+f="); if (ranges.length > 0) { pa.Filters.loadSelectedFeaturesFromCache(ranges); serverCall = true; } if (serverCall) { rurl = gComposeRurl(); if( HistoryManager.isInitLoad() ){ // only set the _history[0] on the initial load of the page HistoryManager.replace(0, rurl); } return rurl; } else { return changed ? 'basic' : 'none'; } } // quick link defaults to the last one ( 'All' ), which doesn't need to talk to the server for filtering function setInitQuickLinkDefault( ){ jsQuickLinksList[jsQuickLinksList.length - 1].isSelected = true; QuickLinkPA.current = jsQuickLinksList.length - 1; } function getWhatToExpectStr() { var expect = "5 speakers, subwoofer + 150 Watt Max (RMS) Output Power (Total) + 250 Watt Nominal Output Power (Total) + 33 - 20000 Hz Max. Response Bandwidth + 70 Watt Power Consumption + Magnetic Shield+?5 speakers, subwoofer + 1000 Watt Watt Max (RMS) Output Power (Total) + 270 Watt Nominal Output Power (Total) + 33 - 20000 Hz Hz Max. Response Bandwidth + 270 Watt Power Consumption + Magnetic Shield +?5 speakers, subwoofer + Overload protection circuitry + 755 Watt Max (RMS) Output Power + Direct/Reflecting Output + 400 Watt Power Consumption + 28 - 22000 Hz Max. Response Bandwidth+?"; return expect; } function getWhatToExpect() { topContentDisplay = 'a'; StickyCache.put('ui', 'a'); var myobj = document.getElementById('whatsImportantToMe'); if (myobj != null) { myobj.style.display = "none"; } var myobj1 = document.getElementById('outerExpectDiv'); if (myobj1== null) { var expect = "
We have analyzed " + gProductVOArr.length + " speaker systems and have grouped them into the following ranges based on price and features. Click Select Preferences to proceed.
Budget

$249 - $360
• 5 speakers, subwoofer
• 150 Watt Max (RMS) Output Power (Total)
• 250 Watt Nominal Output Power (Total)
• 33 - 20000 Hz Max. Response Bandwidth
• 70 Watt Power Consumption
• Magnetic Shield
Mid-range

$500 - $769
• 5 speakers, subwoofer
• 1000 Watt Watt Max (RMS) Output Power (Total)
• 270 Watt Nominal Output Power (Total)
• 33 - 20000 Hz Hz Max. Response Bandwidth
• 270 Watt Power Consumption
• Magnetic Shield
High-end

$999 - $1299
• 5 speakers, subwoofer
• Overload protection circuitry
• 755 Watt Max (RMS) Output Power
• Direct/Reflecting Output
• 400 Watt Power Consumption
• 28 - 22000 Hz Max. Response Bandwidth
"; expect += '
'; expect += '
'; expect += 'Select Preferences'; expect +='
'; expect +='
'; $("contentarea").update(expect); var buttonSelectPreferencesModel = { processClick: function(theEvent) { getWhatsImpTimeout.processEvent(theEvent); return false; } // end method: processClick }; Model.attach(buttonSelectPreferencesModel); // add the base model functionality new Button("buttonSelectPreferences",buttonSelectPreferencesModel,Button.RED_PUSH); } else { myobj1.style.display = ""; } if (gUseAnimation) { var expectNextStepElement = $("expectNextStep"); var outerExpectDivElement = $("outerExpectDiv"); if (expectNextStepElement) { expectNextStepElement.hide(); } if (outerExpectDivElement) { outerExpectDivElement.hide(); } if (outerExpectDivElement) { new Effect.Appear('outerExpectDiv',{duration:1.5}); } if (expectNextStepElement) { new Effect.Appear('expectNextStep',{duration:1.5}); } } } function get411Text() { return "
We have analyzed all the speaker systems and have grouped them into the following ranges based on price and features.
Budget

$249 - $360
• 5 speakers, subwoofer
• 150 Watt Max (RMS) Output Power (Total)
• 250 Watt Nominal Output Power (Total)
• 33 - 20000 Hz Max. Response Bandwidth
• 70 Watt Power Consumption
• Magnetic Shield
Mid-range

$500 - $769
• 5 speakers, subwoofer
• 1000 Watt Watt Max (RMS) Output Power (Total)
• 270 Watt Nominal Output Power (Total)
• 33 - 20000 Hz Hz Max. Response Bandwidth
• 270 Watt Power Consumption
• Magnetic Shield
High-end

$999 - $1299
• 5 speakers, subwoofer
• Overload protection circuitry
• 755 Watt Max (RMS) Output Power
• Direct/Reflecting Output
• 400 Watt Power Consumption
• 28 - 22000 Hz Max. Response Bandwidth
"; } function getVendorList() { return [2771449]; } var gInitialRawProductsArr = [{"data":[482889,"Bose Acoustimass 16 Series II","/d/prodimg?mediatype=0&id=BF010AFC-7426-4F76-A31A-615E4E75FE4E","85x64","/d/prodimg?mediatype=1&id=D4B07019-50B7-4A68-A8B9-9FA7A5F477FC","200x150","1148.00","1299.00",274,117,[2,2,1,3141],"1299.00",524985,0,"High-end speaker system","Better than average features","/s/Bose-Acoustimass-16-Series-II-Speaker-Systems-review-manual/id/524dj985/t/1-2/",null,"4.15","6.1-channel home theater speaker system • 400 Watt Power Consumption • Overload protection circuitry • 6 speakers, subwoofer","1994373212","",true,null,6,24,81,"speaker system","Others","Bose",3,900501,true,4,0,1035792000000,0]},{"data":[482889,"Bose Acoustimass 10 Series IV","/d/prodimg?mediatype=0&id=26720C82-5ED9-4AA5-9FB9-E997A383F133","85x64","/d/prodimg?mediatype=1&id=26720C82-5ED9-4AA5-9FB9-E997A383F133","200x150","999.00","999.00",224,166,[2,0,2,3087],"999.00",524986,1,"High-end speaker system","Below average feature set","/s/Bose-Acoustimass-10-Series-IV-Speaker-Systems-review-manual/id/524dj986/t/1-2/",null,"3.9","5.1-channel home theater speaker system • 270 Watt Power Consumption • Overload protection circuitry • 5 speakers, subwoofer","1994373210","",true,null,0,74,81,"speaker system","Others","Bose",3,900501,true,4,0,1147762800000,0]},{"data":[482889,"Bose Acoustimass 6 Series III","/d/prodimg?mediatype=0&id=2FBF0E3B-29B6-495B-81F5-5A7C910B357C","85x64","/d/prodimg?mediatype=1&id=179112D5-0580-4E26-9359-7411CAFF962F","200x150","699.00","699.00",174,68,[1,2,1,3166],"699.00",524987,3,"Mid-range speaker system","Better than average features","/s/Bose-Acoustimass-6-Series-III-Speaker-Systems-review-manual/id/524dj987/t/1-2/",null,"5.0","5.1-channel home theater speaker system • 135 Watt Power Consumption • Overload protection circuitry • 5 speakers, subwoofer","1990955660","",true,null,0,3,81,"speaker system","Others","Bose",3,900501,true,4,0,973843200000,0]},{"data":[482889,"Bose Acoustimass 10 Series III","/d/prodimg?mediatype=0&id=07F7A6CC-3137-453A-904E-B4E45E1CA661","85x64","/d/prodimg?mediatype=1&id=A3E5667C-D6E4-41BC-922A-F7C73E2DE88F","200x150","check price","check price",167,53,[1,2,0,3183],"649.88",525051,1,"Mid-range speaker system","Better than average features","/s/Bose-Acoustimass-10-Series-III-Speaker-Systems-review-manual/id/525bh051/t/1-2/",null,"3.45","5.1-channel home theater speaker system • 270 Watt Power Consumption • Overload protection circuitry • 5 speakers, subwoofer","1990955659","",true,null,0,11,81,"speaker system","Others","Bose",1,900501,true,4,0,1035792000000,0]},{"data":[2771449,"Klipsch Quintet","/d/prodimg?mediatype=0&id=9759E4DF-9287-42DC-91C7-18D8531F66F9","85x64","/d/prodimg?mediatype=1&id=87B2E901-316D-4643-939B-4B4100DA5C39","200x150","249.88","549.00",150,140,[1,0,1,3130],"549.00",2791275,0,"Mid-range speaker system","Below average feature set","/s/Klipsch-Quintet-Speaker-Systems-review-manual/id/2791ci275/t/1-2/",null,"4.75","5.0-channel home theater speaker system • 5 speakers","1990982303","",true,null,0,37,81,"speaker system","Others","Klipsch",0,900501,true,4,0,973843200000,0]},{"data":[307242,"Onkyo SKS-HT540","/d/prodimg?mediatype=0&id=C1A5B664-00D2-4740-9747-3C522E9DBA1A","85x64","/d/prodimg?mediatype=1&id=2F07317B-13B4-4978-B2E9-806208C1A80C","200x150","294.00","295.00",74,68,[0,2,1,3166],"294.00",3379457,0,"Budget speaker system","Better than average features","/s/Onkyo-SKS-HT540-Speaker-Systems-review-manual/id/3379ci457/t/1-2/",null,"4.4","7.1-channel home theater speaker system • 7 speakers, subwoofer","1995703238","",true,null,1,134,81,"speaker system","Others","Onkyo",2,900501,true,4,0,1150268400000,0]},{"data":[557822,"JBL Cinema Sound CS480","/d/prodimg?mediatype=0&id=371DD429-668E-4DDF-81FC-224270D3E18D","85x64","/d/prodimg?mediatype=1&id=609DB2AE-1C8A-4F22-8257-6D1CD3131036","200x150","299.99","399.97",101,27,[0,2,0,3225],"349.98",7098335,0,"Budget speaker system","Better than average features","/s/JBL-CS480-Speaker-Systems-review-manual/id/7098bh335/t/1-2/",null,"4.65","5.1-channel speaker system • 5 speakers, subwoofer","R475911","",true,null,0,23,81,"speaker system","Others","JBL",1,900501,true,3,0,1191999600000,0]},{"data":[2771449,"Klipsch Quintet III","/d/prodimg?mediatype=0&id=9759E4DF-9287-42DC-91C7-18D8531F66F9","85x64","/d/prodimg?mediatype=1&id=87B2E901-316D-4643-939B-4B4100DA5C39","200x150","249.88","249.99",48,111,[0,0,1,3144],"249.94",11157023,0,"Budget speaker system","Below average feature set","/s/Klipsch-Quintet-III-Speaker-Systems-review-manual/id/11157ag023/t/1-2/",null,"4.7","5.0-channel home theater speaker system • 5 speakers","1994342008","",true,null,2,159,81,"speaker system","Others","Klipsch",2,900501,true,4,0,1155193200000,0]},{"data":[11164239,"Definitive Technology ProCinema 600","/d/prodimg?mediatype=0&id=BEE3D08F-C3FF-4BEB-9E1D-08C20D6DA806","85x64","/d/prodimg?mediatype=1&id=A634CE04-02CA-4312-9354-586E07FD0C69","200x150","799.00","799.00",187,147,[1,0,2,3118],"799.00",15013257,0,"Mid-range speaker system","Below average feature set","/s/Definitive-Technology-ProCinema-600-Speaker-Systems-review-manual/id/15013ci257/t/1-2/",null,"4.55","5.1-channel home theater speaker system • 5 speakers, subwoofer","R475941","",true,null,0,27,81,"speaker system","Others","Definitive Technology",3,900501,true,3,0,1206082800000,0]},{"data":[2526732,"Polk Audio RM705","/d/prodimg?mediatype=0&id=78ADE56B-AB16-4858-8B97-9E3049D0B173","85x64","/d/prodimg?mediatype=1&id=B72EC834-0F98-4784-9179-2EC30B32BF4A","200x150","345.83","398.00",100,58,[0,2,0,3175],"349.50",18680252,0,"Budget speaker system","Better than average features","/s/Polk-Audio-RM705-Speaker-Systems-review-manual/id/18680ci252/t/1-2/",null,"4.3","5.1-channel home theater speaker system • 5 speakers, subwoofer","1995616640","",true,null,0,10,81,"speaker system","Others","Polk Audio",4,900501,true,3,0,1209106800000,0]},{"data":[2771449,"Klipsch 1007770","/d/prodimg?mediatype=0&id=841A40FA-8D63-47FB-90FA-AAAB3D6B607E","85x64","/d/prodimg?mediatype=1&id=1CFBF228-79A8-4BF7-8E4D-2AD03EF1CFD8","200x150","399.88","799.98",159,165,[1,0,2,3090],"599.93",19960004,3,"Mid-range speaker system","Below average feature set","/s/Klipsch-1007770-Speaker-Systems-review-manual/id/19960ag004/t/1-2/",null,"2.9","5.0-channel home theater speaker system • 5 speakers","1995668922","",true,null,0,0,81,"speaker system","Others","Klipsch",2,900501,true,4,0,1056697200000,0]},{"data":[307242,"Onkyo SKS-HT750","/d/prodimg?mediatype=0&id=C3C8029C-F81A-4B46-B9DA-090FA895A831","85x64","/d/prodimg?mediatype=1&id=CC5F48F5-A5CA-4962-939F-5C30ADC1D7A3","200x150","284.00","394.00",101,29,[0,2,0,3222],"349.99",19960005,0,"Budget speaker system","Better than average features","/s/Onkyo-SKS-HT750-Speaker-Systems-review-manual/id/19960ag005/t/1-2/",null,"4.4","7.1-channel home theater speaker system • 7 speakers, subwoofer","1995703237","",true,null,0,26,81,"speaker system","Others","Onkyo",3,900501,true,3,0,1209452400000,0]},{"data":[341738,"Denon DHT-FS5","/d/prodimg?mediatype=0&id=CEFE282E-CD89-4DA3-84DD-A2F8451144DC","85x64","/d/prodimg?mediatype=1&id=250AE127-92DA-4B0C-9A24-D43BC2EAA526","200x150","499.00","499.00",141,166,[1,0,2,3087],"499.00",22016949,3,"Mid-range speaker system","Below average feature set","/s/Denon-DHT-FS5-Speaker-Systems-review-manual/id/22016bh949/t/1-2/",null,"4.0","Home theater speaker system","1995855629","",true,null,4,4,81,"speaker system","Others","Denon",2,900501,true,3,0,1208156400000,0]},{"data":[2771451,"Mirage Nanosat Prestige 5","/d/prodimg?mediatype=0&id=E803ED49-2DF3-4FB6-BA44-91BCB8ACAB85","85x64","/d/prodimg?mediatype=1&id=8C49F01E-AC45-4782-AADD-77C4E8A243DF","200x150","499.00","949.00",178,159,[1,0,2,3099],"724.00",23026443,3,"Mid-range speaker system","Below average feature set","/s/Mirage-Nanosat-Prestige-5-Speaker-Systems-review-manual/id/23026bh443/t/1-2/",null,"5.0","5.0-channel home theater speaker system • 5 speakers","R475931","",true,null,0,1,81,"speaker system","Others","Mirage",1,900501,true,3,0,1203321600000,0]},{"data":[2771449,"Klipsch HDT1000","/d/prodimg?mediatype=0&id=52B5416A-1C23-413F-8C5F-6B2179BF7406","85x64","/d/prodimg?mediatype=1&id=B1BC7202-159B-4577-98BB-861F374DC078","200x150","999.00","999.00",224,180,[2,0,2,3064],"999.00",23399189,3,"High-end speaker system","Below average feature set","/s/Klipsch-HDT1000-Speaker-Systems-review-manual/id/23399dj189/t/1-2/",null,"5.0","5.1-channel home theater speaker system • 5 speakers, subwoofer","R476060","",true,null,0,1,81,"speaker system","Others","Klipsch",4,900501,true,3,0,1236668400000,0]},{"data":[2771449,"Klipsch HD Theater 300","/d/prodimg?mediatype=0&id=FC446485-1641-4EFB-9AD6-93D05330AE0F","85x64","/d/prodimg?mediatype=1&id=927A3E8B-AF13-4F3B-8C08-CF74B28EAB97","200x150","249.00","279.00",48,38,[0,2,0,3206],"249.99",23399190,3,"Budget speaker system","Better than average features","/s/Klipsch-HD-Theater-300-Speaker-Systems-review-manual/id/23399dj190/t/1-2/",null,"3.5","5.1-channel home theater speaker system • 5 speakers, subwoofer","R476061","",true,null,0,2,81,"speaker system","Others","Klipsch",3,900501,true,3,1,1236668400000,0]},{"data":[2771449,"Klipsch HD Theater 500","/d/prodimg?mediatype=0&id=83C12F2F-FF05-47C8-ABF8-FE9665C4C546","85x64","/d/prodimg?mediatype=1&id=33B7EDEA-64B4-4B62-8B8D-802159639C67","200x150","599.00","599.99",159,65,[1,2,1,3167],"599.00",23399191,3,"Mid-range speaker system","Better than average features","/s/Klipsch-HD-Theater-500-Speaker-Systems-review-manual/id/23399dj191/t/1-2/",null,"2.9","5.1-channel home theater speaker system • 5 speakers, subwoofer","R476059","",true,null,0,0,81,"speaker system","Others","Klipsch",3,900501,true,3,0,1236668400000,0]},{"data":[200892,"Sony SA-VS350H","/d/prodimg?mediatype=0&id=BD0A174F-BA89-4F9E-8C7B-E82CDDE4D352","85x64","/d/prodimg?mediatype=1&id=BD0A174F-BA89-4F9E-8C7B-E82CDDE4D352","200x150","467.00","565.41",142,156,[1,0,2,3103],"503.48",23478823,3,"Mid-range speaker system","Below average feature set","/s/Sony-SA-VS350H-Speaker-Systems-review-manual/id/23478ag823/t/1-2/",null,"2.9","5.1-channel home theater speaker system","1996280625","",true,null,0,0,81,"speaker system","Others","Sony",2,900501,true,1,0,1239951600000,0]},{"data":[200892,"Sony SA-VS150H","/d/prodimg?mediatype=0&id=7FEF548F-493B-490C-AF3C-2327E936994C","85x64","/d/prodimg?mediatype=1&id=7FEF548F-493B-490C-AF3C-2327E936994C","200x150","362.35","393.73",111,141,[0,0,2,3129],"375.58",23538903,3,"Budget speaker system","Below average feature set","/s/Sony-SA-VS150H-Speaker-Systems-review-manual/id/23538ag903/t/1-2/",null,"2.9","5.1-channel home theater speaker system","R475212","",true,null,0,0,81,"speaker system","Others","Sony",2,900501,true,1,1,1239951600000,0]}] var jsPriceMarkers = []; // [Bug 3932] Support price zooming in PA map var gGreyDivWidth = 8; // dimension of the grey dot var gGreyDivHeight = 8; // the following are moved from navCat.js to here to use the dimensions in CategoryDataAccess.VALUEMAP_PA_COORDS // the offset of the absolute position to the value map grid's ancestor positioning element var gMapLeftOffset = parseInt('47'); var gMapTopOffset = parseInt('23'); var gMapGridWidth = parseInt('238'); var gMapGridHeight = parseInt('238'); var gRedDivWidth = parseInt('22'); // dimension of the bubble var gMarkerHeightOffset = parseInt('82'); // the marker height for the back end to calculate the shifting to center the bubble var gRedDivHeight = Math.ceil( gMarkerHeightOffset/2 ); // the height of the red bubble // the return coordinate of the point is adjusted based on the bubble's dimension, so the grey dot needs adjust back to show in the correct location var gGreyDivLeftOffset = Math.ceil( (gRedDivWidth - gGreyDivWidth)/2 ); // Math.floor((gRedDivWidth - gGreyDivWidth)/2 ); var gGreyDivTopOffset = (gRedDivHeight - gGreyDivHeight ); // (gRedDivHeight - Math.ceil(gGreyDivHeight/2 )) var gShadowHeight = 12; var gShadowLeftOffset = Math.ceil( gRedDivWidth/2 ); var gShadowTopOffset = gRedDivHeight - gShadowHeight;