/* spux-1.0.1.js Copyright (c) 2016 Rakuten.Inc Date: 2016-08-09 16:37:05 */ Rmodules&&"function"==typeof Rmodules.define&&Rmodules.define(["jQuery","R^1","R.api^1"],function(a,b){function c(c,d){function e(a,c){return d?b.getPointsFromRate(a,d.totalRate+(c||0)):void 0}function f(c){var d,f,g,h,i,j,k,l=a.extend({},y.display,c),m=a(l.parent).find(l.sDisplayElements).not("."+l.cDisplayedElements);for(j=0,k=m.length;k>j;j++)d=m.eq(j),g=d.data(l.dataPrice),h=d.data(l.dataExtraRate),i=d.data(l.dataCalculationType),f={"#ITEM_POINTS_AS_PRICE#":e(g,h,i)},d.html(b.applyTemplate(l.template,f)).addClass(l.cDisplayedElements); return m}var g={data:d,Cases:v,type:c,getPoints:e,displayPoints:f};return c===v.ERROR?z.def.reject():z.def.resolve(g),a(y.css.sEventElem).trigger(y.global.componentEvent,g),g}function d(){return z.def.promise()}function e(a){var c=b.find(v,function(b){return b===a});return b.isString(c)?c.toLowerCase():""}function f(a,b,c){function d(){var b,c,d,e=[];for(c=0,d=a.sections.length;d>c;c++)(b.totalRate>0||y.sc.includeUnusedSections)&&e.push(y.sc.formatSection.replace(/#SECTION_ID#/g,b.id).replace(/#SECTION_NAME#/g,b.name).replace(/#SECTION_TOTALRATE#/g,b.totalRate)); return e.join(y.sc.formatSectionSeparator)}function f(){var b,c,d,e,f,g,h=[];for(d=0,e=a.sections.length;e>d;d++)for(b=a.sections[d],f=0,g=b.services.length;g>f;f++)c=b.services[f],(c.isQualified||y.sc.includeUnusedServices)&&h.push(y.sc.formatService.replace(/#SERVICE_ID#/g,c.id).replace(/#SERVICE_NAME#/g,c.name).replace(/#SERVICE_RATE#/g,c.rate).replace(/#SERVICE_QUALIFIES#/g,c.isQualified?1:0));return h.join(y.sc.formatServiceSeparator)}var g="",h="";return a&&(-1!==b.indexOf("#SERVICES#")&&(h=f()), -1!==b.indexOf("#SECTIONS#")&&(g=d())),b.replace(/#TOTALRATE#/g,a?a.totalRate:0).replace(/#USERRANK#/g,a?a.getUserRankString():"na").replace(/#SOURCE#/g,y.spu.source.toLowerCase()).replace(/#VIEWTYPE#/g,y.spu.viewType.toLowerCase()).replace(/#CASE#/g,e(c)).replace(/#SECTIONS#/g,g).replace(/#SERVICES#/g,h)}function g(a,b,c,d){var e={};return e[a]=f(b,c,d),e}function h(b,c){y.sc.enabled&&(a(document).ready(function(){window.SC&&"function"==typeof window.SC.sendScDataOnLoad&&(window.SC.sendScDataOnLoad(b), c&&(window.location=c))}),c&&window.setTimeout(function(){window.location=c},y.catalyst.send_link_timeout))}function i(a,b,c,d){function e(){return y.spu.itemId?[y.spu.shopId||"",y.spu.itemId].join("/"):""}var g,h,i,j,k,l,m={accountId:y.rat.accountId,serviceId:y.rat.serviceId,options:["url","ua"],pData:{itemId:e(),pgn:y.spu.viewType,pgl:y.spu.source,abtest:f(a,c,b)},cpData:{}};if(d&&(m.eventType=d),a)for(m.cpData.total=a.totalRate,g=0,h=a.sections.length;h>g;g++)if(i=a.sections[g],i.totalRate>0||y.rat.includeUnusedSections)for(m.cpData["sec_"+i.id]=i.totalRate, j=0,k=i.services.length;k>j;j++)l=i.services[j],(l.isQualified||y.rat.includeUnusedServices)&&(m.cpData["srv_"+l.id]=l.rate);return m}function j(c){y.rat.enabled&&a(document).ready(function(){window.RAT&&b.isFunction(window.RAT.addCustomEvent)&&window.RAT.addCustomEvent(c)})}function k(a,c){function d(){e&&(e=!1,y.sc.sendShowEnabled&&h(g(y.sc.sendShowProp,c,y.sc.sendShowFormat,a)),y.rat.sendShowEnabled&&j(i(c,a,y.rat.sendShowCaseName,"hover"===y.popup.displayOn?"mouseover":void 0)))}var e=!0,f=y.popup.enableOn.split(","),k=-1!==b.find(f,function(c){ return v[b.trim(c).toUpperCase()]===a}),l={onShow:d,showDelay:y.popup.showDelay,hideDelay:y.popup.hideDelay,checkDelay:y.popup.checkDelay};k&&("click"===y.popup.displayOn?b.enableOnClick(x.iconContainer,x.popupContainer,x.popupCloseButton,l):"hover"===y.popup.displayOn&&b.enableOnHover(x.iconContainer,x.popupContainer,l))}function l(a){var b,c,d=y.css,e={};e[v.NOT_LOGGED]=d.sCaseNologin,e[v.NONE]=d.sCase1,e[v.NORMAL]=d.sCaseN,e[v.ERROR]=d.sCaseError,e[v.SUPER_DEAL]=d.sCaseSuperdeal,e[v.DISABLED]=d.sCaseDisabled, c="."+e[a].substring(1);for(b in x.templates)x.templates[b].not(c).remove()}function m(a,c){var d,e,f,g,h,i,j,k,l,m,o,p;if(c){for(o=y.global.disabledSections.split(","),j=0,k=o.length;k>j;j++)o[j]=b.trim(o[j]);for(p=y.global.disabledServices.split(","),j=0,k=p.length;k>j;j++)p[j]=b.trim(p[j]);for(d=x.templates[a],j=0,k=d.length;k>j;j++)if(e=d.eq(j),f=e.find("."+y.css.cTemplateSection),f.length>0){for(g=f[0].outerHTML,l=0,m=c.sections.length;m>l;l++)i=c.sections[l],-1===o.indexOf(i.id)&&(y.global.showEmptySections||i.services.length>0)&&(h=n(g,i,p), (y.global.showEmptySections||h.nServices>0)&&f.before(h.$section));f.remove()}x.totalRate.html(c.totalRate)}}function n(c,d,e){var f,g,h,i,j,k,l={"#SECTION_ID#":d.id,"#SECTION_NAME#":b.truncate(d.name,y.global.sectionNameMaxLength),"#SECTION_FULLNAME#":d.name,"#SECTION_TOTALRATE#":d.totalRate},m={$section:a(b.applyTemplate(c,l,!1)).removeClass(y.css.cTemplateSection),nServices:0};if(h=m.$section.find("."+y.css.cTemplateService),h.length>0){for(i=h[0].outerHTML,j=0,k=d.services.length;k>j;j++)g=d.services[j], -1===e.indexOf(g.id)&&(y.global.showEmptyServices||g.rate>0)&&(f=o(i,g),h.before(f),m.nServices++);h.remove()}return m}function o(c,d){var e,f={"#SERVICE_ID#":d.id,"#SERVICE_NAME#":b.truncate(d.name,y.global.serviceNameMaxLength),"#SERVICE_FULLNAME#":d.name,"#SERVICE_RATE#":d.rate,"#SERVICE_LINK#":b.getTrackingLinks(d.link,y.sc)};"shopPoint"===d.id&&y.global.showShopDisclaimer&&(f["#SERVICE_NAME#"]+=y.global.shopDisclaimer),e=a(b.applyTemplate(c,f,!1)).removeClass(y.css.cTemplateService);var g,h,i,j,k,l=e.find("a"); for(g=0,h=l.length;h>g;g++)j=a(l[g]),i=j.attr("href"),k=i.indexOf("http://",4),-1!==k&&j.attr("href",i.substring(k));return d.isQualified&&e.addClass(y.css.cServiceQualifies),d.link||e.find(y.css.sServiceLink).remove(),e}function p(a,b){var c,d,e,f,g,h;for(a.addClass(y.css.cTotalRate.replace(/#TOTAL_RATE#/g,b.totalRate)).addClass(y.css.cUserRank.replace(/#USER_RANK#/g,b.getUserRankString())),c=0,e=b.sections.length;e>c;c++)for(d=b.sections[c],f=0,h=d.services.length;h>f;f++)g=d.services[f],g.isQualified&&a.addClass(y.css.cQualifiesService.replace(/#SERVICE_ID#/g,g.id)); }function q(c){function d(a,b){var c,d;if(b.hasClass(y.css.cTogglerHidden)){for(c=0,d=o.length;d>c;c++)o.eq(c).addClass(y.css.cTogglerHidden);n.addClass(y.css.cTogglerHidden),a.removeClass(y.css.cTogglerHidden),b.removeClass(y.css.cTogglerHidden)}else a.addClass(y.css.cTogglerHidden),b.addClass(y.css.cTogglerHidden)}function e(a,b){return function(){a.toggleClass(y.css.cTogglerHidden),b.toggleClass(y.css.cTogglerHidden)}}function f(a,b){return function(){d(a,b)}}var g,h,i,j,k,l,m,n=c.find(y.css.sSectionToggler),o=a(); for(k=0,l=n.length;l>k;k++)g=n.eq(k),j=g.data("toggle"),j&&(h=c.find(j),o=o.add(h),"toggle"===y.popup.toggleType?g.click(e(g,h)):"accordion"===y.popup.toggleType&&g.click(f(g,h)));if("ALL"!==y.popup.toggleShow.toUpperCase())for(n.addClass(y.css.cTogglerHidden),o.addClass(y.css.cTogglerHidden),i=y.popup.toggleShow.split(","),k=0,l=i.length;l>k;k++)b.isNumeric(i[k])?(m=parseInt(i[k],10)-1,n.eq(m).removeClass(y.css.cTogglerHidden),o.eq(m).removeClass(y.css.cTogglerHidden)):(o.filter('[data-toggle="'+i[k]+'"]').removeClass(y.css.cTogglerHidden), o.filter(i[k]).removeClass(y.css.cTogglerHidden))}function r(a){function b(a,b,c){var d=c.indexOf(a.id),e=c.indexOf(b.id);return-1===d&&(d=99999),-1===e&&(e=99999),d-e}function c(a,c){return b(a,c,g)}function d(a,c){return b(a,c,h)}var e,f,g=y.global.orderSections,h=y.global.orderServices;if(g&&a.sections.sort(c),h)for(e=0,f=a.sections.length;f>e;e++)a.sections[e].services.sort(d)}function s(a,b){var e,f=x.iconContainer.add(x.popupContainer);return l(a),r(b),m(a,b),x.icon.children().appendTo(x.iconContainer), x.popup.children().appendTo(x.popupContainer),b&&p(f,b),k(a,b),q(x.popupContainer),e=c(a,b),f.data(y.global.componentData,{getData:d}),f.addClass(y.css.cReady),y.sc.sendDataEnabled&&h(g(y.sc.sendDataProp,b,y.sc.sendDataFormat,a)),y.rat.sendDataEnabled&&j(i(b,a,y.rat.sendDataCaseName)),e}function t(){function b(a,b){var c,d;if(a){for(c in b)d=y.global.globalReplacement.replace("%",c.toUpperCase()),a=a.replace(new RegExp(d,"g"),b[c]);return a}}function c(b){var c,d,e;for(d=0,e=b.length;e>d;d++)c=a.extend(c,b.eq(d).data()); return c||{}}var d,e,f,g=y.css,h={NOT_LOGGED:g.sCaseNologin,NONE:g.sCase1,NORMAL:g.sCaseN,ERROR:g.sCaseError,SUPER_DEAL:g.sCaseSuperdeal,DISABLED:g.sCaseDisabled},i=a(g.sIcon).last(),j=a(g.sPopup).last(),k=i.find('script[type="text/template"]'),l=j.find('script[type="text/template"]'),m=k.last().html(),n=l.last().html();m=b(m,c(x.settings.find(w.config.templateIconData))),n=b(n,c(x.settings.find(w.config.templatePopupData))),d=a("