var InsurancesGroup=function(){var e,f,c,l,g={Selected:"selected",Unselected:"unselected",Changed:"changed",Loaded:"loaded"},h={select:Granite.I18n.get("vf_insurances.btn.add"),selected:Granite.I18n.get("vf_insurances.btn.added")},n=Granite.I18n.get("vf_insurances.EM_17_001"),m=function(b){if(b){var d=[];b.forEach(function(a){if(a){var b="";a&&(a.samplePhones&&(b+="Sample phones: "+a.samplePhones+"\x3cbr\x3e"),a.excessChargeForFirstClaim&&(b+="Excess charge for first claim: "+a.excessChargeForFirstClaim+
"\x3cbr\x3e"),a.claimsPerYear&&(b+="Claims per year: "+a.claimsPerYear+"\x3cbr\x3e"));var c=[];a&&(a.loss&&"1"===a.loss&&c.push("Loss"),a.theft&&"1"===a.theft&&c.push("Theft"),a.maliciousDamage&&"1"===a.maliciousDamage&&c.push("Malicious Damage"),a.accidentalDamage&&"1"===a.accidentalDamage&&c.push("Accidental Damage"),a.coverAbroad&&"1"===a.coverAbroad&&c.push("Cover Abroad"));d.push({id:a.id,title:a.title,subtitle:a.subtitle,description:b,info:a.currency?"":a.price,currency:a.currency,price:a.price,
secundaryPrice:a.priceExVat,descriptionItems:c,termsAndConditions:a.termsAndConditions,selected:a.selected,unselectedButtonText:h.select,selectedButtonText:h.selected,isBusiness:Util.isEBUContext(),showButton:!0})}});return d}return[]},w=function(b){var d=[];b&&b.forEach(function(a){var b;a&&(b={id:a.identifier,title:a.title,coverageLevel:a.coverageLevel,subtitle:a.shortDescription,priceId:"",price:a.price,oneOffPrice:a.oneOffPrice,recurringPrice:a.recurringPrice,priceExVat:a.priceExVat,oneOffPriceExVat:a.oneOffPriceExVat,
recurringPriceExVat:a.recurringPriceExVat,currency:a.currency,claimsPerYear:a.claimsPerYear,excessChargeForFirstClaim:a.excessChargeForFirstClaim,termsAndConditions:a.termsAndConditions,loss:a.loss,theft:a.theft,maliciousDamage:a.maliciousDamage,accidentalDamage:a.accidentalDamage,coverAbroad:a.coverAbroad,samplePhones:a.samplePhones,selected:!1});d.push(b)});return d},p=function(b){b?(f=w(b),b={cardItems:m(f)},c.updateCardItems(b),e.trigger(g.Loaded,b)):genericFunctions.showPortalMessage(n)},q=function(b){"abort"!=
b.statusText&&genericFunctions.showPortalMessage(n)},r=function(){ajaxRequest.getSpinnerController().stop("#insurancesGroup")},t=function(){return c.getSelectedCardItems()},u=function(b,d){f.forEach(function(a){a.id&&a.id===b&&(a.selected=d)})},v=function(b){if(f&&b)for(var d=0;d<f.length;d++){var a=f[d];if(a.id===b)return a}},k=function(b){b=v(b);return{id:b.id,price:b.price,oneOffPrice:b.oneOffPrice,recurringPrice:b.recurringPrice}},x=function(b){b.on(c.Events.Selected,function(b,a){b.stopPropagation();
a&&(u(a,!0),b=k(a),e.trigger(g.Selected,b),a=k(a),e.trigger(g.Changed,a))});b.on(c.Events.Unselected,function(b,a){b.stopPropagation();a&&(u(a,!1),b=k(a),e.trigger(g.Unselected,b),a=k(a),e.trigger(g.Changed,a))});b.on(c.Events.Changed,function(b,a){b.stopPropagation()})};return{init:function(b){b&&b.view&&(e=b.view,l=e.find("#selectableCardItems"),c=new SelectableCardItems,c.init({view:l,selectionMode:c.SelectionModes.OnlyOne,buttonText:{select:h.select,selected:h.selected}}),x(l))},getInsurances:function(b){c.reset();
c.hide();ajaxRequest.getSpinnerController().start("#insurancesGroup");ajaxRequest.abortAndPostAlways("/productcatalog/products/insurances",b,p,q,r,6E4,null,"#insurancesGroup")},getInsurancesForExistingDevice:function(){c.reset();c.hide();ajaxRequest.getSpinnerController().start("#insurancesGroup");ajaxRequest.getAlways("/productcatalog/products/product/device/insurances",p,q,r,6E4)},getSelectedInsurances:t,getSelectedInsuranceInformation:function(){var b=t(),c;b&&(b=b[0])&&(c=v(b));return c},selectInsurance:function(b){if(b){var d=
{cardItems:m(f)};d.cardItems.forEach(function(a){a.id===b&&(a.selected=!0)});c.reset();c.updateCardItems(d)}},getInsuranceInformationById:function(b){var c=null;b&&f.forEach(function(a){a.id===b&&(c=a)});return c},unselectInsurance:function(){var b={cardItems:m(f)};b.cardItems.forEach(function(b){b.selected=!1});c.reset();c.updateCardItems(b)},show:function(){e.show()},hide:function(){e.hide()},Events:g,ButtonText:h}};