tcRequire.define("tc/lib/text!tc/languages/countries.html",[],function(){return'
'}),tcRequire.define("tc/lib/text!tc/languages/languages.html",[],function(){return' '}),tcRequire.define("tc/languages",["tc/lib/jquery","tc/lib/lodash","tc/switch-locale","tc/store","tc/cms-analytics","tc/lib/text!tc/languages/countries.html","tc/lib/text!tc/languages/languages.html"],function(e,a,t,n,i,c,r){function u(e){var t=a(e).chain().map(function(e){return e.languages=a.uniq(e.languages,"languageCountryCode"),e._more=1!==e.languages.length,e}).sortBy(function(e){return e.countryName}).value(),n=[],i=[],c=[];return t.forEach(function(e,a){var t=!1;!0===e.exactCountryCodeMatch&&(n.push(a),c.push(e),t=!0),e.relevancyScore>0&&!0!==t&&(n.push(a),i.push(e))}),i.reverse(),i=a.sortBy(i,"relevancyScore"),i.reverse(),a.pullAt(t,n),t=c.concat(i,t)}function g(a,t){a.preventDefault();var n=e(a.target),c=n.closest("li");c.toggleClass(C);var r=n.data(),u=e(window).innerWidth()<=768?"sideBarMenu":"navBarMenu",g=r.trackname,o=c.hasClass(C)?"show":"hide",l={"context":u,"country":r.trackto,"state":o,"useSearch":t.isFilter};/geo/g.test(r.trackname)&&(l.context=r.trackname,g="geoSelector",y&&(l.ipLocale=y)),i.publishEvent(g,"toggle",l)}function o(n,c){n.preventDefault();var r=e(n.target).closest("a").attr("data-item"),u=c.languageCode.slice(-2),g=a.find(c.data,function(e){return e.languageCountryCode===r});t(c.canSwitch,g,u),i.publishEvent(c.trackingName,"selectLanguage",{"context":"navBarMenu","currentLocale":c.languageCode,"changedLocale":g.languageCountryCode,"useSearch":c.isFilter})}function l(n,c){n.preventDefault();var r=e(n.target).closest("a").attr("data-item"),u=r.slice(-2),g=a.find(c.data,function(e){return e.countryCode===u}),o=a.find(g.languages,function(e){return e.languageCountryCode===r});t(c.canSwitch,o,g.countryCode,g.countryName,c.currentLanguageCode,c.onSelect);var l=e(window).innerWidth()<=768?"sideBarMenu":"navBarMenu",s={"context":l,"currentLocale":c.currentLanguageCode,"changedLocale":o.languageCountryCode,"toggle":e(n.currentTarget).data("multiLanguage")||!1,"useSearch":c.isFilter};/geo/g.test(c.trackingName)&&(s.context=c.trackingName,c.trackingName="geoSelector",y&&(s.ipLocale=y)),i.publishEvent(c.trackingName,"selectLanguage",s)}function s(a){var t=h({"renderLanguages":v,"countries":u(a.data),"languageCode":a.currentLanguageCode,"trackingName":a.trackingName,"style":a.style}),n=e(t);return n.on("click",".js-countrylist-select",function(e){l(e,a)}),n.on("click",".js-countrylist-languages",function(e){g(e,a)}),n}function m(a){var t=v({"data":a.data,"languageCode":a.languageCode,"trackingName":a.trackingName}),n=e(t);return n.on("click",".js-countrylist-select",function(e){o(e,a)}),n}function d(e){return new s(e)}function f(e){return new m(e)}var h=a.template(c),v=a.template(r),C="is-active",_=n.createStorage({"storageType":"localStorage"}),y=_.getItem("cms-geo-ip");return{"list":d,"languages":f}});