"undefined"===typeof DQ&&(DQ={});DQ.questionnaire=null;DQ.questions={};DQ.answers={};DQ.replacers={};DQ.on_update_hook=null;DQ.on_save_hook=null;DQ.init=function(a){DQ.questionnaire=a;DA.load_questionnaire(DA.quest_endpoint+"/"+DA.project+"/"+DQ.questionnaire+".html",function(c){DQ.create(c);DQ.replace()})};DQ.change_handler=function(a,c){DQ.store(a);DQ.replace();DQ.update(a);DQ.reveal_next(a,c)};DQ.store=function(a){var c=$(a).attr("name");a=DQ.get_element_value(a);DQ.answers[c]=a};
DQ.get_element_value=function(a){var c=$(a).attr("name"),b=$(a).val();a=$(a).attr("type");if("radio"===a||"checkbox"===a)sep=b="",$("input[name='"+c+"']:checked").each(function(){b+=sep+$(this).val();sep=","});""===b&&(b=null);return b};DQ.replace=function(){$.each(DQ.replacers,function(a,c){var b=c();$("[data-dq-rep='"+a+"']").each(function(){$(this).html(b)})})};
DQ.update=function(a){clearTimeout($(a).data("DQ.timer"));$(a).data("DQ.timer",setTimeout(function(){if(DU.is_defined(DQ.on_update_hook))DQ.on_update_hook(a);var c=0;DU.is_defined(DA.subscription)&&(c=DA.subscription.time);DB.questionnaire.update(DA.code,DQ.questionnaire,c,DQ.answers,!1,function(){})},1E3))};
DQ.reveal_next=function(a,c){$(a).closest(".dq-group").removeClass("dq-current");var b=$(a).attr("data-dq-hide");void 0!==b&&null!==b&&$(b.split(",")).each(function(d,g){d=$("div[data-form-name='"+g+"']");$(d).addClass("d-none")});b=null;b=$(a).attr("data-dq-next");b=void 0!==b&&null!==b?$("div[data-form-name='"+b+"']"):$(a).closest(".dq-group").next(".dq-group");$(b).removeClass("d-none");c&&$("html, body").animate({scrollTop:$(b).offset().top},500)};
DQ.save=function(){DA.show_container("loader");if(DU.is_defined(DQ.on_save_hook))DQ.on_save_hook();var a=0;DU.is_defined(DA.subscription)&&(a=DA.subscription.time);DC.util.is_defined(DA.code)?DB.questionnaire.update(DA.code,DQ.questionnaire,a,DQ.answers,!0,function(){DC.util.is_defined(DA.subscription)?DU.reload():DA.load_questionnaire(DA.quest_endpoint+"/"+DA.project+"/"+DQ.questionnaire+"_done.html")}):DA.load_questionnaire(DA.quest_endpoint+"/"+DA.project+"/"+DQ.questionnaire+"_done.html")};
DQ.store_all=function(){$("select, input[type=radio], input[type=checkbox], textarea").each(function(){DQ.store(this)})};
DQ.create=function(a){var c=$("<form>");$(c).addClass("dq-container");$(a).append(c);$.each(DQ.questions,function(b,d){"select"===d.type?DQ.parse_select(c,b,d):"radio"===d.type?DQ.parse_radio_and_checkbox(c,b,d,"radio",!1):"radio-comment"===d.type?DQ.parse_radio_and_checkbox(c,b,d,"radio",!0):"checkbox-comment"===d.type?DQ.parse_radio_and_checkbox(c,b,d,"checkbox",!0):"textarea"===d.type&&DQ.parse_textarea(c,b,d)});$(c).children("div").first().removeClass("d-none");a=DC.comp.create("div",{classes:"dq-group dq-group-button d-none"},
c);a=DC.comp.create("button",{text:"Spara",classes:"btn"},a);$(a).click(function(){DQ.store_all();DQ.save();return!1});$(c).on("change","select",function(){DQ.change_handler(this,!0)});$(c).on("change","input[type=radio]",function(){DQ.change_handler(this,!0)});$(c).on("change","input[type=checkbox]",function(){DQ.change_handler(this,!1)});$(c).on("change","textarea",function(){DQ.change_handler(this,!0)});$(c).on("keyup","textarea",function(){DQ.change_handler(this,!1)});DQ.load_images()};
DQ.load_images=function(){$("[data-dq-img]").each(function(){var a=DA.quest_endpoint+"/"+DA.project+"/img/"+$(this).attr("data-dq-img");$(this).attr("src",a);$(this).addClass("img-fluid")})};DQ.create_group=function(a,c,b){a=DC.comp.create("div",{classes:"dq-group dq-current d-none",attr:{"data-form-name":c}},a);DC.util.is_defined(b.info)&&DC.comp.create("div",{html:b.info,classes:"dq-info"},a);DC.util.is_defined(b.label)&&DC.comp.create("label",{classes:"dq-label",html:b.label},a);return a};
DQ.parse_select=function(a,c,b){a=DQ.create_group(a,c,b);var d={name:c};$.each(b.attr,function(h,e){d[h]=e});var g=DC.comp.create("select",{classes:"form-control",attr:d},a);DC.util.is_defined(b.next)&&$(g).attr("data-next",b.next);DC.util.is_defined(b.default)&&DC.comp.create("option",{html:b.default,attr:{value:"",disabled:"true",selected:"true"}},g);$.each(b.options,function(h,e){DU.is_defined(e.label)||console.error("Option does not have label "+e);DU.is_defined(e.value)||console.error("Option does not have value "+
e);DC.comp.create("option",{html:e.label,attr:{value:e.value}},g)})};
DQ.parse_radio_and_checkbox=function(a,c,b,d,g){var h=DQ.create_group(a,c,b);$.each(b.options,function(e,f){DU.is_defined(f.label)||console.error("Option does not have label "+f);DU.is_defined(f.value)||console.error("Option does not have value "+f);e=c+"-"+f.value;var k=DC.comp.create("div",{classes:"dq-option-container form-check"},h),l={id:e,type:d,name:c,value:f.value,"data-dq-hide":f.hide,"data-dq-next":f.next};$.each(b.attr,function(m,n){l[m]=n});DC.comp.create("input",{classes:"dq-option-input form-check-input",
attr:l},k);DC.comp.create("label",{classes:"dq-option-label form-check-label",html:f.label,attr:{"for":e}},k)});DC.util.is_defined(b.suffix)&&DC.comp.create("div",{classes:"dq-suffix",html:b.suffix},h);g&&(DC.comp.create("label",{html:"Kommentar:",classes:"mt-1"},h),DC.comp.create("textarea",{classes:"form-control",attr:{name:c+"_comment"}},h))};DQ.parse_textarea=function(a,c,b){a=DQ.create_group(a,c,b);DC.comp.create("textarea",{classes:"form-control",attr:{name:c}},a)};
