/*--------------------------------------------------------------------------------------------------------| www.vdm.io |------/ __ __ _ _____ _ _ __ __ _ _ _ \ \ / / | | | __ \ | | | | | \/ | | | | | | | \ \ / /_ _ ___| |_ | | | | _____ _____| | ___ _ __ _ __ ___ ___ _ __ | |_ | \ / | ___| |_| |__ ___ __| | \ \/ / _` / __| __| | | | |/ _ \ \ / / _ \ |/ _ \| '_ \| '_ ` _ \ / _ \ '_ \| __| | |\/| |/ _ \ __| '_ \ / _ \ / _` | \ / (_| \__ \ |_ | |__| | __/\ V / __/ | (_) | |_) | | | | | | __/ | | | |_ | | | | __/ |_| | | | (_) | (_| | \/ \__,_|___/\__| |_____/ \___| \_/ \___|_|\___/| .__/|_| |_| |_|\___|_| |_|\__| |_| |_|\___|\__|_| |_|\___/ \__,_| | | |_| /-------------------------------------------------------------------------------------------------------------------------------/ @version 3.0.0 @build 19th January, 2024 @created 19th January, 2024 @package eHealth Portal @subpackage vmmc.js @author Llewellyn van der Merwe @copyright Copyright (C) 2020 Vast Development Method. All rights reserved. @license GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html Portal for mobile health clinics /-----------------------------------------------------------------------------------------------------------------------------*/ // Some Global Values jform_vvvvvvxvvv_required = false; jform_vvvvvvyvvw_required = false; jform_vvvvvvyvvx_required = false; // Initial Script document.addEventListener('DOMContentLoaded', function() { var vmmc_gender_vvvvvvx = jQuery("#jform_vmmc_gender").val(); vvvvvvx(vmmc_gender_vvvvvvx); var vmmc_gender_vvvvvvy = jQuery("#jform_vmmc_gender").val(); vvvvvvy(vmmc_gender_vvvvvvy); }); // the vvvvvvx function function vvvvvvx(vmmc_gender_vvvvvvx) { if (isSet(vmmc_gender_vvvvvvx) && vmmc_gender_vvvvvvx.constructor !== Array) { var temp_vvvvvvx = vmmc_gender_vvvvvvx; var vmmc_gender_vvvvvvx = []; vmmc_gender_vvvvvvx.push(temp_vvvvvvx); } else if (!isSet(vmmc_gender_vvvvvvx)) { var vmmc_gender_vvvvvvx = []; } var vmmc_gender = vmmc_gender_vvvvvvx.some(vmmc_gender_vvvvvvx_SomeFunc); // set this function logic if (vmmc_gender) { jQuery('#jform_partner_circumcised').closest('.control-group').show(); // add required attribute to partner_circumcised field if (jform_vvvvvvxvvv_required) { updateFieldRequired('partner_circumcised',0); jQuery('#jform_partner_circumcised').prop('required','required'); jQuery('#jform_partner_circumcised').attr('aria-required',true); jQuery('#jform_partner_circumcised').addClass('required'); jform_vvvvvvxvvv_required = false; } } else { jQuery('#jform_partner_circumcised').closest('.control-group').hide(); // remove required attribute from partner_circumcised field if (!jform_vvvvvvxvvv_required) { updateFieldRequired('partner_circumcised',1); jQuery('#jform_partner_circumcised').removeAttr('required'); jQuery('#jform_partner_circumcised').removeAttr('aria-required'); jQuery('#jform_partner_circumcised').removeClass('required'); jform_vvvvvvxvvv_required = true; } } } // the vvvvvvx Some function function vmmc_gender_vvvvvvx_SomeFunc(vmmc_gender_vvvvvvx) { // set the function logic if (vmmc_gender_vvvvvvx == 1) { return true; } return false; } // the vvvvvvy function function vvvvvvy(vmmc_gender_vvvvvvy) { if (isSet(vmmc_gender_vvvvvvy) && vmmc_gender_vvvvvvy.constructor !== Array) { var temp_vvvvvvy = vmmc_gender_vvvvvvy; var vmmc_gender_vvvvvvy = []; vmmc_gender_vvvvvvy.push(temp_vvvvvvy); } else if (!isSet(vmmc_gender_vvvvvvy)) { var vmmc_gender_vvvvvvy = []; } var vmmc_gender = vmmc_gender_vvvvvvy.some(vmmc_gender_vvvvvvy_SomeFunc); // set this function logic if (vmmc_gender) { jQuery('#jform_are_you_circumcised').closest('.control-group').show(); // add required attribute to are_you_circumcised field if (jform_vvvvvvyvvw_required) { updateFieldRequired('are_you_circumcised',0); jQuery('#jform_are_you_circumcised').prop('required','required'); jQuery('#jform_are_you_circumcised').attr('aria-required',true); jQuery('#jform_are_you_circumcised').addClass('required'); jform_vvvvvvyvvw_required = false; } jQuery('#jform_interested_in_vmmc').closest('.control-group').show(); // add required attribute to interested_in_vmmc field if (jform_vvvvvvyvvx_required) { updateFieldRequired('interested_in_vmmc',0); jQuery('#jform_interested_in_vmmc').prop('required','required'); jQuery('#jform_interested_in_vmmc').attr('aria-required',true); jQuery('#jform_interested_in_vmmc').addClass('required'); jform_vvvvvvyvvx_required = false; } } else { jQuery('#jform_are_you_circumcised').closest('.control-group').hide(); // remove required attribute from are_you_circumcised field if (!jform_vvvvvvyvvw_required) { updateFieldRequired('are_you_circumcised',1); jQuery('#jform_are_you_circumcised').removeAttr('required'); jQuery('#jform_are_you_circumcised').removeAttr('aria-required'); jQuery('#jform_are_you_circumcised').removeClass('required'); jform_vvvvvvyvvw_required = true; } jQuery('#jform_interested_in_vmmc').closest('.control-group').hide(); // remove required attribute from interested_in_vmmc field if (!jform_vvvvvvyvvx_required) { updateFieldRequired('interested_in_vmmc',1); jQuery('#jform_interested_in_vmmc').removeAttr('required'); jQuery('#jform_interested_in_vmmc').removeAttr('aria-required'); jQuery('#jform_interested_in_vmmc').removeClass('required'); jform_vvvvvvyvvx_required = true; } } } // the vvvvvvy Some function function vmmc_gender_vvvvvvy_SomeFunc(vmmc_gender_vvvvvvy) { // set the function logic if (vmmc_gender_vvvvvvy == 0) { return true; } return false; } // update fields required function updateFieldRequired(name, status) { // check if not_required exist if (document.getElementById('jform_not_required')) { var not_required = jQuery('#jform_not_required').val().split(","); if(status == 1) { not_required.push(name); } else { not_required = removeFieldFromNotRequired(not_required, name); } jQuery('#jform_not_required').val(fixNotRequiredArray(not_required).toString()); } } // remove field from not_required function removeFieldFromNotRequired(array, what) { return array.filter(function(element){ return element !== what; }); } // fix not required array function fixNotRequiredArray(array) { var seen = {}; return removeEmptyFromNotRequiredArray(array).filter(function(item) { return seen.hasOwnProperty(item) ? false : (seen[item] = true); }); } // remove empty from not_required array function removeEmptyFromNotRequiredArray(array) { return array.filter(function (el) { // remove ( 一_一) as well - lol return (el.length > 0 && '一_一' !== el); }); } // the isSet function function isSet(val) { if ((val != undefined) && (val != null) && 0 !== val.length){ return true; } return false; }