﻿function HandleHXButton(e){var t,n=$afe.jq(e),a=n.parents(".subsquestion").find(".subques"),r="1"===n.safeAttr("data-affirmative"),i=$afe.select("#INP_"+n.prop("name")+"_other");n.parents("form").first().change(),r?n.prop("checked")?a.show(500):a.hide(500):a.length>0&&n.parents(".hxButtonList").find("[data-affirmative=1]").length>0&&a.hide(500),i.length>0&&(t=$afe.select("#TXT_"+n.prop("name")+"_other"),i.prop("checked")?t.prop("disabled",!1).focus():t.prop("disabled",!0).val(""))}function HandleHXRow(e,t){var n,a=$afe.jq(e);null!==e&&null!==t&&(0===t.clientX&&0===t.clientY?"key":"mouse",n=a.parents("tr, div").first().find("input[type='text']"),a.prop("checked")&&("1"===a.val()||a.hasClass("buttoncheck"))?n.prop("disabled",!1).removeClass("disabled"):n.prop("disabled",!0).addClass("disabled"))}function ChangeHXValue(e){var t=$afe.jq(e);t.prop("checked")?t.val(1):t.val(2)}function nextRowSameProblem(e){return 0===e.next().find(".buttoncheck").length}function buttonclickfam(e){var t,n,a,r;n=(t=$afe.select("#INP_"+e)).parents("tr").first(),r=t.prop("checked");do{r?(n.removeClass("notadded"),(a=n.find("select")).prop("disabled",!1),a.val().length>0&&n.find("input[type='text']").prop("disabled",!1)):(n.addClass("notadded"),n.find("select, input[type='text']").prop("disabled",!0))}while(nextRowSameProblem(n)&&(n=n.next()).length>0)}function addRow(e,t){var n,a,r,i,s,l,d=e.clone();i=e.find(".famrel select").prop("id"),r=parseInt(i.slice(i.indexOf("rel")+3),10)+1,i=i.slice(0,i.indexOf("rel")),d.removeClass("problem extramember").addClass("addmember"),dangerou$.setHtml(d.find(".prob").removeClass("prob").addClass("empty").empty(),"&nbsp;"),(n=d.find(".famrel")).length>0&&dangerou$.setHtml(n,n.html().replace(new RegExp(i+"rel"+(r-1),"g"),i+"rel"+r)),(n=d.find(".famname")).length>0&&dangerou$.setHtml(n,n.html().replace(new RegExp(i+"name"+(r-1),"g"),i+"name"+r)),(n=d.find(".famcomment")).length>0&&dangerou$.setHtml(n,n.html().replace(new RegExp(i+"comments"+(r-1),"g"),i+"comments"+r)),(n=d.find(".famremove")).length>0&&dangerou$.setHtml(n,n.html().replace(new RegExp(i+"delrel"+(r-1),"g"),i+"delrel"+r)),d.find(".famname input[type='text'], .famcomment input[type='text']").val("").prop("disabled",!0),d.find(".famremove .button").addClass("hidden"),d.safeInsertAfter(e);var o=e.find(".famrel > select");1==o.length&&""!=(l=o.safeAttr("csp-guid-change"))&&($afe.select('[csp-guid-change="'+l+'"]').off(),$afe.select('[csp-guid-change="'+l+'"]').on("change",(function(e){setFamName(this,t)})));var f=e.find(".famname input");1==f.length&&""!=(l=f.safeAttr("csp-guid-blur"))&&($afe.select('[csp-guid-blur="'+l+'"]').off(),$afe.select('[csp-guid-blur="'+l+'"]').on("blur",(function(e){updateFamName(this)})));var c=e.find(".famremove input");1==c.length&&""!=(l=c.safeAttr("csp-guid-click"))&&($afe.select('[csp-guid-click="'+l+'"]').off(),$afe.select('[csp-guid-click="'+l+'"]').on("click",(function(e){return removeRow(this),!1}))),(a=d.closest("form")).hasClass("liveValidation")&&validateQuestionnaire(a,!1,!1),s=(s=(s=window.location.href).slice(s.indexOf("inside.asp")))+"&addrow=true&ctrlname="+i+"rel"+r+"&stepnum="+t+"&co=true",s=makeLink(s),$.ajax({url:s,method:"GET"})}function removeRow(e){var t=$afe.jq(e).parents("tr").first(),n=t.next(),a=t.closest("form");if(n.hasClass("problem"))return t.find("input[type='text'], select").val(""),void t.find(".famremove .button").addClass("hidden");t.hasClass("problem")&&(n.hasClass("addmember")&&(t.find(".prob .buttoncheck").removeClass("checked").find("input.buttoncheck").prop("checked",!1),n.find(".famrel select").prop("disabled",!0),n.addClass("notadded")),n.removeClass("addmember extramember").addClass("problem"),n.find(".empty").safeReplaceWith(t.find(".prob"))),n.find(".famrel select").focus(),t.remove(),a.hasClass("liveValidation")&&validateQuestionnaire(a,!1,!1)}function setFamName(e,t){var n,a,r=$afe.jq(e),i=r.parents("tr").first(),s=i.find("input[type='text']");r.val().length>0?(s.prop("disabled",!1),i.find(".famremove .button").removeClass("hidden"),(0===(n=i.next()).length||n.hasClass("problem"))&&(i.hasClass("addmember")&&i.addClass("extramember").removeClass("addmember"),addRow(i,t)),r.find("option[value='']").prop("disabled",!0),(a=r[0].options[r[0].selectedIndex].getAttribute("updatedName")||r.val().split("^")[1]).length>0&&"#single#"!==a&&"#other#"!==a?i.find(".famname input").val(a).parent().addClass("ghosted"):i.find(".famname input").val("").parent().removeClass("ghosted"),i.find(".famcomment input").val("")):(s.prop("disabled",!0).val(""),i.find(".famremove .button").addClass("hidden")),updateFamName(i.find(".famname input"))}function updateFamName(e){var t=$afe.jq(e),n=t.parents("tr").first(),a=n.children("td.famrel").find("select");if(0!==a.length){var r=t.val();if(r&&validateInputName(n)&&validateDuplicateNameForRelation(n)){var i=a[0].options[a[0].selectedIndex],s=i.text,l=i.value.split("^"),d=l[2],o=i.getAttribute("displayFormat");if(o&&(o=o.replace("@HXQNR@FAMNAME@",r)),s!==o){var f=t.parents("table").first();if(cleanUpHighlights(f),n.addClass("highlighteditborder"),d)for(var c,u,p,m,h,v,g,C,b=f.find(".famrel select"),$=b.length,A=0;A<$;A++)for(h=(p=(c=b[A]).options).length,v=0;v<h;v++)d===(m=p[v]).value.split("^")[2]&&(m.text=o,$afe.jq(m).safeAttr("updatedName",r),m.selected&&(u=$afe.jq(c),a[0].id!==u[0].id&&((g=u.parents("tr").first()).addClass("highlighteditborder").addClass("highlighteditbg"),g.find(".famname input[type='text']").val(r),g.find("div.ghostInput").addClass("ghosted"),clearErrorInCell(C=g.children("td.famname")),showNameUpdatedInCell(C))));else{var Q=i.value+"^JS-"+l[0]+"-"+(a[0].options.length+1);if("#single#"===l[1]){var x=f.find("option[value='"+i.value+"']");x.val(Q),x.text(o),x.safeAttr("updatedName",r)}else{var I=$afe.jq(i).clone();I.val(Q),I.text(o),I.safeAttr("updatedName",r),I.clone().safeInsertBefore(f.find("option[value='"+i.value+"']")),n.find("option[value='"+Q+"']").prop("selected",!0)}}}}}}function cleanUpHighlights(e){e.find(".highlighteditbg").removeClass("highlighteditbg"),e.find(".highlighteditborder").removeClass("highlighteditborder"),e.find("td.field-updated").each((function(){var e=$afe.jq(this);e.removeClass("field-updated"),e.find("div.message").empty().addClass("jqHidden").safeAttr("aria-hidden",!0)}))}function showErrorInCell(e,t){var n=e.find("div.alert");0===n.length&&(n=$afe.jq(document.createElement("div")).addClass("alert"),e.safeAppend(n)),e.addClass("field-invalid"),n.empty().safeAppend(t).removeClass("jqHidden").safeAttr("aria-hidden",!1)}function showNameUpdatedInCell(e){clearErrorInCell(e);var t=e.find("div.message");0===t.length&&(t=$afe.jq(document.createElement("div")).addClass("message"),e.safeAppend(t)),e.addClass("field-updated"),t.empty().safeAppend("This family member's name has been updated.").removeClass("jqHidden").safeAttr("aria-hidden",!1)}function clearErrorInCell(e){e.removeClass("field-invalid"),e.find("div.alert").empty().addClass("jqHidden").safeAttr("aria-hidden",!0)}function validateFamilyHistoryQnr(e){for(var t,n,a,r,i,s=e.find("table.famhist").find("tr"),l="",d="",o="",f={},c=null,u=0;u<s.length;u++)n=(t=$afe.jq(s.get(u))).children("td.famrel"),a=t.children("td.famname"),i=n.find("select"),l=(r=t.children("td.famname").find("input")).val().trim(),d=i.val().trim(),t.children("td.prob").find("input:checked").length>0&&(f={},0===l.length&&0===d.length)?(null===c&&(c=i),showErrorInCell(n,"Please add a family member.")):t.hasClass("notadded")||t.hasClass("addmember")||t.hasClass("extramember")&&r.prop("disabled")?(clearErrorInCell(a),clearErrorInCell(n)):0!==d.length?(clearErrorInCell(n),0!==l.length?(clearErrorInCell(a),l.includes("^")?(null===c&&(c=r),showErrorInCell(a,"Name cannot contain \"^\".")):(clearErrorInCell(a),f[o=d.toLocaleLowerCase().indexOf("#single#")>-1?d.toLocaleLowerCase():l.toLocaleLowerCase()+" - "+d.toLocaleLowerCase()]?(null===c&&(c=i),showErrorInCell(n,"Please remove this duplicate family member."),clearErrorInCell(a)):(f[o]=!0,clearErrorInCell(a),clearErrorInCell(n)),validateDuplicateNameForRelation(t)||null===c&&(c=a))):(null===c&&(c=r),showErrorInCell(a,"Please enter a unique name or identifier for this family member."))):(null===c&&(c=i),showErrorInCell(n,"Please add a family member."));return c}function validateInputName(e){var t=e.children("td.famname"),n=t.find("input").val();return n?n.includes("^")?(showErrorInCell(t,"Name cannot contain \"^\"."),0):(t.hasClass("field-invalid")&&clearErrorInCell(t),1):1}function validateDuplicateNameForRelation(e){var t=e.children("td.famname"),n=t.find("input"),a=e.children("td.famrel").find("select");if(0===n.length||0===a.length)return 1;var r=n.val();if(!r)return 1;var i,s,l,d,o=a[0].options[a[0].selectedIndex],f=o.getAttribute("displayFormat");if(!f)return 1;f=(f=f.replace("@HXQNR@FAMNAME@",r)).toLocaleLowerCase();var c={},u=o.getAttribute("rel");for(s=(l=a[0].options).length,i=0;i<s;i++)if((d=l[i]).getAttribute("rel")===u&!d.selected){var p=d.text.toLocaleLowerCase();c[p]||(c[p]=!0)}return c[f]?(showErrorInCell(t,"Please enter a unique name or identifier for this family member or select a family member from the list."),0):(t.hasClass("field-invalid")&&clearErrorInCell(t),1)}function validateQuestionnaire(e,t,n){var a,r=null;return e.find("table.famhist").length>0&&(r=validateFamilyHistoryQnr(e)),null!==r&&t&&!e.hasClass("liveValidation")&&e.addClass("liveValidation").on("change","input, select",(function(){validateQuestionnaire(e,!1,!1)})),n&&null!==r&&((a=r.closest("tr").get(0))&&"function"==typeof a.scrollIntoView&&a.scrollIntoView(!1),r.focus()),null===r}function notifyQnrAction(e){var t=null;if("buttonsave"===e)t="QuestionnaireSaved";else{if("confirm"!==e)return;t="QuestionnaireSubmitted"}"undefined"!=typeof Android&&Android.displayToast?Android.displayToast($$WP.Strings.get(t,"Questionnaire.MyChart")):"undefined"!=typeof webkit&&webkit.messageHandlers&&webkit.messageHandlers.displayToast.postMessage($$WP.Strings.get(t,"Questionnaire.MyChart"))}function preventDefaultOnEnterForTextInput(e){e.on("keypress","input",(function(e){if(13===(e.keyCode||e.which))return e.preventDefault(),!1}))}function previewRowClick(e){var t,n,a,r;(r=$afe.jq(e.target).parents("tr").first().find("input.button")).length>0&&((n=(t=(a=r.parents("form").first()).safeAttr("action")).indexOf("#"))>-1&&(t=t.substr(0,n)),a.safeAttr("action",t+"#q"+r.safeAttr("data-lql")),e.preventDefault(),r.clone().safeAttr("type","hidden").safeAttr("value",r.safeAttr("value")).safeAppendTo(a),a.submit())}function ProcessQnrConfirmation(e,t){var n,a;switch(t=t.substr($$WPComp.TOOLBARIDENTIFIER.length)){case"continue":return!0;case"cancel":default:return!1;case"saveandcontinue":return n=document.getElementById("buttonsave"),validateQuestionnaire($afe.jq(n).closest("form"),!0,!0)?(a=n.onclick,n.onclick=null,n.click(),n.onclick=a,notifyQnrAction("buttonsave"),!1):!1}}document.Epic$Host$onbeforesecure=function Epic$Host$onbeforesecure(){var e;return document.getElementById("buttonsave")&&(document.getElementById("questionnaireForm")&&((e=$afe.jq(document.createElement("input"))).safeAttr("id","securehyperspace"),e.safeAttr("type","hidden"),e.safeAttr("name","securehyperspace"),e.safeAttr("value","1"),e.safeAppendTo(document.getElementById("questionnaireForm"))),document.getElementById("buttonsave").click()),!0},document.Epic$PatientAccess$preventQuestionnaireRefresh=function Epic$PatientAccess$preventQuestionnaireRefresh(){return!(window.location.href.indexOf("mode=questionnairelist")>0)},$$WP.Questionnaires=$$WP.Questionnaires||{},$$WP.Questionnaires.processQuestions=function WP$Questionnaires$processQuestions(e){return $$WP.Questionnaires.checkForMSPQAddress(),isImageSaved(e)},$$WP.Questionnaires.checkForMSPQAddress=function WP$Questionnaires$checkForMSPQAddress(){var e,t,n,a;for(e=$afe.select("div#questionnaireform").find(".question.MSPQADDRESS, .questiongroupitem.MSPQADDRESS, questiongroupitem.altcolor.MSPQADDRESS"),t=0;t<e.length;t++){var r,i;for(r="",i=e[t].querySelectorAll("input,select"),n=1;n<i.length;n++)a=(a="select"===i[n].tagName.toLowerCase()?i[n].options[i[n].selectedIndex].text:i[n].value).trim(),r=1===n?a:r+String.fromCharCode(10)+a;r=-1===r.search(/[^\r\n]/)?"":r+String.fromCharCode(10)+String.fromCharCode(10)+"USA",i[0].value=r}},$$WP.Questionnaires.setState=function WP$Questionnaires$setState(e,t){e=e.replace(".","\\."),$afe.select("#"+e+" option").filter((function(){return $afe.jq(this).text()===t})).prop("selected",!0)},$$WP.Questionnaires.QuestionConditions={checkQuestionConditionsOnclick:function WP$Questionnaires$checkQuestionConditionsOnclick(e,t,n,a){var r,i,s;if(!a)return!1;a=a.split("!"),i=$afe.select("fieldset");var l={};for(r=0;r<i.length;r++)(s=$afe.select("#"+i[r].id)).safeAttr("data-lql")&&(l[s.safeAttr("data-lql").split("_")[3]]=s);for(var d in l)l.hasOwnProperty(d)&&$$WP.Questionnaires.QuestionConditions.checkConditionForQuestion(d,l,a)},checkConditionForQuestion:function WP$Questionnaires$checkConditionForQuestion(e,t,n){var a,r,i,s,l,d,o,f,c,u,p,m;for(a=t[e],u=!1,p=1;p<n.length;p++)if(i=(r=n[p].split("_"))[0].split(";")[0],s=r[1],l=r[3].split(";")[0],d=r[4].split(";"),t[i]&&l===e&&!u){for(o=t[i].find("input"),c="",m=0;m<o.length;m++)if((f=o.eq(m)).prop("checked")){c=f.safeAttr("value");break}u=$$WP.Questionnaires.QuestionConditions.checkMatchForCondition(s,r[2],c,a,d[0])}},checkMatchForCondition:function WP$Questionnaires$checkMatchForCondition(e,t,n,a,r){var i,s,l,d,o;if(d=!1,o=!1,"1"===e&&n===t)d=!0;else if("2"===e&&n!==t)d=!0;else if("7"===e||"8"===e){for(s=t.split(";"),i=0;i<s.length;i++)s[i]===n&&(d=!0);"8"===e&&(d=!d)}return d&&(d=!1,l=a.parent(),"1"===r?(a.removeClass("hidden"),a.safeAttr("aria-hidden",!1),l.hasClass("questiongroup")&&l.removeClass("hidden")):(a.addClass("hidden"),a.safeAttr("aria-hidden",!0),l.hasClass("questiongroup")&&0===l.children(".questiongroupitem:visible").length&&l.addClass("hidden"),o=!0)),o}};