(function(){"use strict";function n(n,t,i,r){return n=n||"GET",$.ajax({method:n,url:t,contentType:"application/json",data:n!=="GET"?JSON.stringify(i):i}).done(function(n){typeof r=="function"&&r(JSON.parse(n),null)}).error(function(n){typeof r=="function"&&r(null,n.responseJSON)})}function t(t){return n("GET","/api/sitecore/MOO_Global_FlavorMakerUser_1/getUserPrefences",null,t)}function i(t,i){return n("POST","/api/sitecore/MOO_Global_FlavorMakerUser_1/postUserPrefences",t,i)}function r(t,i,r){var u={start_date:t,end_date:i};return n("GET","/api/sitecore/MOO_Global_FlavorMakerUser_1/getUserMealsByDate",u,r)}function u(t,i){return n("POST","/api/sitecore/MOO_Global_FlavorMakerUser_1/postMeal",t,i)}function f(t,i){var r={meals:Array.isArray(t)?t:[t]};return n("DELETE","/api/sitecore/MOO_Global_FlavorMakerUser_1/deleteMeal",r,i)}function e(t,i){return n("PUT","/api/sitecore/MOO_Global_FlavorMakerUser_1/updateMeal",t,i)}function o(t,i){return n("POST","/api/sitecore/MOO_Global_FlavorMakerUser_1/generateMeals",t,i)}function s(n){var t=n.reduce(function(n,t){var i=t.date;return n[i]=t,n},{});return Object.keys(t).map(function(n){return t[n]})}window.MealPlanAPI={getPreferences:t,postPreferences:i,getMeals:r,postMeal:u,deleteMeal:f,updateMeal:e,autofill:o,removeDuplicatedMeals:s}})();window.ErrorHandler=function(n,t){function i(n){return/recipes saved per day/gi.test(n)?mealplan_js_dictionary.MP_Error_Max_Limit:/already exists/gi.test(n)?mealplan_js_dictionary.MP_Error_Dupe_Recipe:mealplan_js_dictionary.MP_Error_Could_Not_Complete}function r(n,t){return!t||typeof t!="object"?n:Object.keys(t).reduce(function(n,i){return t[i]?n.replace(new RegExp("{{"+i+"}}","gi"),t[i]):n},n)}return n&&typeof n=="string"&&n!==" "||(n=""),r(i(n),t)};window.PreferencesForm=function(n,t,i){"use strict";function h(n){var t={},i=n.serializeArray();return $.each(i,function(){t[this.name]?(t[this.name].push||(t[this.name]=[t[this.name]]),t[this.name].push(this.value||"")):t[this.name]=this.value||""}),t}function c(n){var t=Object.keys(n).reduce(function(t,i){var u=r[i],f=[];return u?(f=f.concat(n[i]),t[u]=t[u]?t[u].concat(f):f,t):t},{"4F6A0D45-3F1D-4C44-A634-E1F511043774":[],"C2DB8CB6-73C9-4B01-B60C-C3DA935A13B0":[],"A20C0347-C0F2-49A0-A6E0-9E843B93C816":[]});return{cookPreferences:{cookingTimeMin:parseInt(n.cookingTimeMin,10),cookingTimeMax:parseInt(n.cookingTimeMax,10),questions:Object.keys(t).map(function(n){return{selected:t[n],questionId:n}})}}}function l(n,t){n.preventDefault();var u=h($(n.target)),r=c(u),f=typeof t=="boolean"?!t:!0;r.cookPreferences.questionsAnswered=f;window.MealPlanAPI.postPreferences(r,function(n,t){console.log(n);i(r,t)})}function a(n,t){return!!n.filter(function(n){return n===t})[0]}function v(t){Object.keys(r).forEach(function(i){var u=t.filter(function(n){return n.questionId===r[i]})[0],f=n.find("[data-slot='"+i+"']"),s=u.options.filter(function(n){return n.itemId.split(":")[0]===i}),e=n.find("[data-title='"+i+"']"),o=n.find("[data-subtitle='"+i+"']");(e.length&&e.html(u.title),o.length&&o.html(u.subtitle),f.length)&&s.forEach(function(n){f.append(y(n,a(u.selected,n.itemId)))})})}function y(n,t){var r=document.createElement("div"),i=document.createElement("input"),u,e,f;return i.type="checkbox",i.id=n.itemId,i.name=n.itemId.split(":")[0],i.value=n.itemId,i.checked=t||!1,u=document.createElement("label"),u.htmlFor=n.itemId,u.textContent=n.title,n.image.length&&n.image!==""?(i.classList.add("ck-image__checkbox"),e=document.createElement("img"),e.src=n.image,e.alt="",f=document.createElement("div"),f.classList.add("ck-image__checkbox-wrapper"),f.appendChild(i),f.appendChild(u),r.classList.add("ck-image"),r.appendChild(e),r.appendChild(f)):(r.classList.add("ck-button"),r.appendChild(i),r.appendChild(u)),r}function o(t){if(!t)return[parseInt(n.find("input[name='cookingTimeMin']").val()),parseInt(n.find("input[name='cookingTimeMax']").val()),];var i=[15,30,45,60,120],r=i[t[0]-1],u=i[t[1]-1];return[r,u]}function p(n,t,i){var u=t.handleIndex===0?1:-1,r=t.values[t.handleIndex],f=t.values[t.handleIndex+u];r===f&&(i.preventDefault(),t.handle.slider("values",t.handleIndex,r-1),t.values[t.handleIndex]+=-1)}function s(t){n.find("input[name='cookingTimeMin']").val(t[0]);n.find("input[name='cookingTimeMax']").val(t[1])}function w(t,i){function u(n,t){var i=[15,30,45,60,120];return t||(t=0),i[i.indexOf(n)+t]}function f(n){var t=r.find(".ui-slider-handle")[0],i=r.find(".ui-slider-handle")[1];$([t,i]).attr("role","slider");$(t).attr("aria-label",mealplan_js_dictionary.MP_Cooking_Time_Min);$(i).attr("aria-label",mealplan_js_dictionary.MP_Cooking_Time_Max);$(t).attr("aria-valuemin",15);$(t).attr("aria-valuemax",u(n[1],-1));$(t).attr("aria-valuenow",n[0]);$(t).attr("aria-valuetext",n[0]+mealplan_js_dictionary.MP_Min);$(i).attr("aria-valuemin",u(n[0],1));$(i).attr("aria-valuemax",120);$(i).attr("aria-valuenow",n[1]);$(i).attr("aria-valuetext",n[1]+mealplan_js_dictionary.MP_Min)}var r=n.find(".cooking-time-slider .slider-range");r.slider({range:!0,min:1,max:5,values:[t||1,i||5],create:function(){var n=o();f(n);s(n)},slide:function(n,t){var i=o(t.values);p(r,t,n);s(i);f(i)}})}var r,u,f,e;if(!n)throw new Error("PreferencesForm: Form Element is mandatory.");r=Object.freeze({cuisine:"4F6A0D45-3F1D-4C44-A634-E1F511043774",ingredient:"C2DB8CB6-73C9-4B01-B60C-C3DA935A13B0",diet:"A20C0347-C0F2-49A0-A6E0-9E843B93C816",nutrition:"A20C0347-C0F2-49A0-A6E0-9E843B93C816"});$(n).on("submit",l);t&&Array.isArray(t.questions)&&(u=t.cookingTimeMin||15,f=t.cookingTimeMax||120,n.find("input[name='cookingTimeMin']").val(u),n.find("input[name='cookingTimeMax']").val(f),e=Object.freeze({15:1,30:2,45:3,60:4,120:5}),w(e[u],e[f]),v(t.questions))},function(){"use strict";function t(n){n.preventDefault();var t=$(this).parent().find(".grid"),i=t.find(".ck-image:hidden"),r=i.eq(0);$(this).hide();t.attr("aria-expanded",!0);setTimeout(function(){$(r).find("input").trigger("focus")},10)}function i(t){if(t&&t.content){var i=t.content.cookPreferences;window.PreferencesForm(n,i,function(t,i){i||(n.find(".form-message").show().attr("aria-hidden",!1),setTimeout(function(){n.find(".form-message").hide().attr("aria-hidden",!0)},5e3))})}}var n=$(".cooking-preferences-form");window.addEventListener("DOMContentLoaded",function(){if(n.length){window.MealPlanAPI.getPreferences(i);n.find(".toggle").on("click",t)}})}()