window.Codex = function() { let overrides = JSON.parse(localStorage.getItem('codex-overrides')) || {} let init = function() { if(!window.codex) { window.codex = { api: 'https://fuelhouse.codexfit.com', translations: 'https://fuelhouse.codexfit.com/api/v1/customer/translations', stripe_key: 'pk_live_51Ntz1lExPZVpVIHW6m7qsinMwT4Zz0fYXvxwPvYab51oQ1rCHCyPBRtZtSGK3grllebKTSDwpFV8xAWqylLS98WQ00yDDeMfsf', timezone: 'Asia/Nicosia', components: {}, stageIds: ['codex-app'], locale: 'el-CY', currency: 'EUR', currencyDecimals: 2, app_id: 'fuelhouse', delimiters: ['{{','}}'], routerConfig: { mode: 'hash' }, scriptUrl: 'https://api-v3-rc6.codexfit.com/app.js', styleUrl: 'https://api-v3-rc6.codexfit.com/styles/all.css', auto_configure: { modals: { 'codex-login-register': { props: { ':show-login-default': true } }, 'codex-checkout': { modalProps: { 'x-position': 'right', 'y-position': 'top' }, props: { ':show-login-default': true } }} }, registration_fields: {"first_name":{"type":"text","group":"","handle":"first_name","title":"","required":false,"placeholder":"First Name","validation":"","label_translation":"register_fields.first_name","placeholder_translation":"register_fields.first_name_placeholder"},"last_name":{"type":"text","group":"","handle":"last_name","title":"","required":false,"placeholder":"Last Name","validation":"","label_translation":"register_fields.last_name","placeholder_translation":"register_fields.last_name_placeholder"},"email":{"type":"email","group":"","handle":"email","title":"","required":false,"placeholder":"Email","validation":"","label_translation":"register_fields.email","placeholder_translation":"register_fields.email_placeholder"},"password":{"type":"password","group":"","handle":"password","title":"","required":false,"placeholder":"Password","validation":"","label_translation":"register_fields.password","placeholder_translation":"register_fields.password_placeholder"},"password_confirmation":{"type":"password","group":"","handle":"password_confirmation","title":"","required":false,"placeholder":"Confirm password Placeholder","validation":"","label_translation":"register_fields.password_confirmation","placeholder_translation":"register_fields.password_confirmation_placeholder"},"dob":{"type":"date","group":"metafields","handle":"dob","title":"","required":false,"placeholder":"Enter your date of birth","validation":"","label_translation":"register_fields.dob","placeholder_translation":"register_fields.dob_placeholder"},"telephone":{"type":"telephone","group":"","handle":"telephone","title":"","required":false,"placeholder":"Mobile number","validation":"","label_translation":"register_fields.telephone","placeholder_translation":"register_fields.telephone_placeholder"},"address1":{"type":"text","group":"metafields","handle":"address1","title":"","required":true,"placeholder":"Address line 1","validation":"","label_translation":"register_fields.address1","placeholder_translation":"register_fields.address1_placeholder"},"address2":{"type":"text","group":"metafields","handle":"address2","title":"","required":true,"placeholder":"Address line 2","validation":"","label_translation":"register_fields.address2","placeholder_translation":"register_fields.address2_placeholder"},"city":{"type":"text","group":"metafields","handle":"city","title":"","required":true,"placeholder":"City","validation":"","label_translation":"register_fields.city","placeholder_translation":"register_fields.city_placeholder"},"postalcode":{"type":"text","group":"metafields","handle":"postalcode","title":"","required":true,"placeholder":"Postal Code","validation":"","label_translation":"register_fields.postalcode","placeholder_translation":"register_fields.postalcode_placeholder"},"customertag":{"type":"select","group":"metafields","handle":"customertag","title":"","required":false,"placeholder":"Select one option","validation":"","label_translation":"register_fields.customertag","placeholder_translation":"register_fields.customertag_placeholder","options":[{"value":"student","displayValue":"register_fields.customertag_option.student"},{"value":"corporate","displayValue":"register_fields.customertag_option.corporate"},{"value":"none","displayValue":"register_fields.customertag_option.none"}]},"opt_in_email":{"type":"opt_in","group":"opt_ins","handle":"opt_in_email","title":"","required":false,"placeholder":"","validation":"","label_translation":"register_fields.opt_in_email","placeholder_translation":"register_fields.opt_in_email_placeholder","default":true,"inverted":false}}, update_fields: {"first_name":{"type":"text","group":"","handle":"first_name","title":"","required":false,"placeholder":"First Name","validation":"","label_translation":"update_fields.first_name","placeholder_translation":"update_fields.first_name_placeholder"},"last_name":{"type":"text","group":"","handle":"last_name","title":"","required":false,"placeholder":"Last Name","validation":"","label_translation":"update_fields.last_name","placeholder_translation":"update_fields.last_name_placeholder"},"email":{"type":"email","group":"","handle":"email","title":"","required":false,"placeholder":"Email","validation":"","label_translation":"update_fields.email","placeholder_translation":"update_fields.email_placeholder"},"password":{"type":"password","group":"","handle":"password","title":"","required":false,"placeholder":"Password","validation":"","label_translation":"update_fields.password","placeholder_translation":"update_fields.password_placeholder"},"password_confirmation":{"type":"password","group":"","handle":"password_confirmation","title":"","required":false,"placeholder":"Confirm password Placeholder","validation":"","label_translation":"update_fields.password_confirmation","placeholder_translation":"update_fields.password_confirmation_placeholder"},"telephone":{"type":"telephone","group":"","handle":"telephone","title":"","required":false,"placeholder":"Mobile number","validation":"","label_translation":"update_fields.telephone","placeholder_translation":"update_fields.telephone_placeholder"},"dob":{"type":"date","group":"","handle":"dob","title":"","required":false,"placeholder":"Enter your date of birth","validation":"","label_translation":"update_fields.dob","placeholder_translation":"update_fields.dob_placeholder"},"address1":{"type":"text","group":"metafields","handle":"address1","title":"","required":false,"placeholder":"Address 1","validation":"","label_translation":"update_fields.address1","placeholder_translation":"update_fields.address1_placeholder"},"address2":{"type":"text","group":"metafields","handle":"address2","title":"","required":false,"placeholder":"Address 2","validation":"","label_translation":"update_fields.address2","placeholder_translation":"update_fields.address2_placeholder"},"city":{"type":"text","group":"metafields","handle":"city","title":"","required":false,"placeholder":"City","validation":"","label_translation":"update_fields.city","placeholder_translation":"update_fields.city_placeholder"},"postalcode":{"type":"text","group":"metafields","handle":"postalcode","title":"","required":false,"placeholder":"Postal Code","validation":"","label_translation":"update_fields.postalcode","placeholder_translation":"update_fields.postalcode_placeholder"},"opt_in_email":{"type":"opt_in","group":"opt_ins","handle":"opt_in_email","title":"","required":false,"placeholder":"","validation":"","label_translation":"update_fields.opt_in_email","placeholder_translation":"update_fields.opt_in_email_placeholder","default":false,"inverted":false},"emergency_contact":{"type":"text","group":"metafields","handle":"emergency_contact","title":"","required":true,"placeholder":"Emergency Contact Name","validation":"","label_translation":"update_fields.emergency_contact","placeholder_translation":"update_fields.emergency_contact_placeholder"},"emergContactNumber":{"type":"text","group":"metafields","handle":"emergContactNumber","title":"","required":true,"placeholder":"Emergency Contact Number","validation":"","label_translation":"update_fields.emergContactNumber","placeholder_translation":"update_fields.emergContactNumber_placeholder"},"chest_pain":{"type":"radio_group","group":"metafields","handle":"chest_pain","title":"","required":true,"placeholder":"Please select an option...","validation":"","label_translation":"update_fields.chest_pain","placeholder_translation":"update_fields.chest_pain_placeholder","options":[{"value":"yes","displayValue":"update_fields.chest_pain_option.yes"},{"value":"no","displayValue":"update_fields.chest_pain_option.no"}]},"heart_condition":{"type":"radio_group","group":"metafields","handle":"heart_condition","title":"","required":true,"placeholder":"Please select an option...","validation":"","label_translation":"update_fields.heart_condition","placeholder_translation":"update_fields.heart_condition_placeholder","options":[{"value":"yes","displayValue":"update_fields.heart_condition_option.yes"},{"value":"no","displayValue":"update_fields.heart_condition_option.no"}]},"irregular_heart":{"type":"radio_group","group":"metafields","handle":"irregular_heart","title":"","required":true,"placeholder":"Please select an option...","validation":"","label_translation":"update_fields.irregular_heart","placeholder_translation":"update_fields.irregular_heart_placeholder","options":[{"value":"yes","displayValue":"update_fields.irregular_heart_option.yes"},{"value":"no","displayValue":"update_fields.irregular_heart_option.no"}]},"bone_joint_problems":{"type":"radio_group","group":"metafields","handle":"bone_joint_problems","title":"","required":true,"placeholder":"Please select an option...","validation":"","label_translation":"update_fields.bone_joint_problems","placeholder_translation":"update_fields.bone_joint_problems_placeholder","options":[{"value":"yes","displayValue":"update_fields.bone_joint_problems_option.yes"},{"value":"no","displayValue":"update_fields.bone_joint_problems_option.no"}]},"dizziness":{"type":"radio_group","group":"metafields","handle":"dizziness","title":"","required":true,"placeholder":"Please select an option...","validation":"","label_translation":"update_fields.dizziness","placeholder_translation":"update_fields.dizziness_placeholder","options":[{"value":"yes","displayValue":"update_fields.dizziness_option.yes"},{"value":"no","displayValue":"update_fields.dizziness_option.no"}]},"blood_pressure":{"type":"radio_group","group":"metafields","handle":"blood_pressure","title":"","required":true,"placeholder":"Please select an option...","validation":"","label_translation":"update_fields.blood_pressure","placeholder_translation":"update_fields.blood_pressure_placeholder","options":[{"value":"yes","displayValue":"update_fields.blood_pressure_option.yes"},{"value":"no","displayValue":"update_fields.blood_pressure_option.no"}]},"illness_or_surgery":{"type":"radio_group","group":"metafields","handle":"illness_or_surgery","title":"","required":true,"placeholder":"Please select an option...","validation":"","label_translation":"update_fields.illness_or_surgery","placeholder_translation":"update_fields.illness_or_surgery_placeholder","options":[{"value":"yes","displayValue":"update_fields.illness_or_surgery_option.yes"},{"value":"no","displayValue":"update_fields.illness_or_surgery_option.no"}]},"diabetes":{"type":"radio_group","group":"metafields","handle":"diabetes","title":"","required":true,"placeholder":"Please select an option...","validation":"","label_translation":"update_fields.diabetes","placeholder_translation":"update_fields.diabetes_placeholder","options":[{"value":"yes","displayValue":"update_fields.diabetes_option.yes"},{"value":"no","displayValue":"update_fields.diabetes_option.no"}]},"epilepsy":{"type":"radio_group","group":"metafields","handle":"epilepsy","title":"","required":true,"placeholder":"Please select an option...","validation":"","label_translation":"update_fields.epilepsy","placeholder_translation":"update_fields.epilepsy_placeholder","options":[{"value":"yes","displayValue":"update_fields.epilepsy_option.yes"},{"value":"no","displayValue":"update_fields.epilepsy_option.no"}]},"asthma":{"type":"radio_group","group":"metafields","handle":"asthma","title":"","required":true,"placeholder":"Please select an option...","validation":"","label_translation":"update_fields.asthma","placeholder_translation":"update_fields.asthma_placeholder","options":[{"value":"yes","displayValue":"update_fields.asthma_option.yes"},{"value":"no","displayValue":"update_fields.asthma_option.no"}]},"other_problems":{"type":"radio_group","group":"metafields","handle":"other_problems","title":"","required":true,"placeholder":"Please select an option...","validation":"","label_translation":"update_fields.other_problems","placeholder_translation":"update_fields.other_problems_placeholder","options":[{"value":"yes","displayValue":"update_fields.other_problems_option.yes"},{"value":"no","displayValue":"update_fields.other_problems_option.no"}]},"over_65":{"type":"radio_group","group":"metafields","handle":"over_65","title":"","required":true,"placeholder":"Please select an option...","validation":"","label_translation":"update_fields.over_65","placeholder_translation":"update_fields.over_65_placeholder","options":[{"value":"yes","displayValue":"update_fields.over_65_option.yes"},{"value":"no","displayValue":"update_fields.over_65_option.no"}]},"pregnant":{"type":"radio_group","group":"metafields","handle":"pregnant","title":"","required":true,"placeholder":"Please select an option...","validation":"","label_translation":"update_fields.pregnant","placeholder_translation":"update_fields.pregnant_placeholder","options":[{"value":"yes","displayValue":"update_fields.pregnant_option.yes"},{"value":"no","displayValue":"update_fields.pregnant_option.no"}]},"had_a_baby":{"type":"radio_group","group":"metafields","handle":"had_a_baby","title":"","required":true,"placeholder":"Please select an option...","validation":"","label_translation":"update_fields.had_a_baby","placeholder_translation":"update_fields.had_a_baby_placeholder","options":[{"value":"yes","displayValue":"update_fields.had_a_baby_option.yes"},{"value":"no","displayValue":"update_fields.had_a_baby_option.no"}]},"consent":{"type":"checkbox","group":"metafields","handle":"consent","title":"","required":true,"placeholder":"","validation":"","label_translation":"update_fields.consent","placeholder_translation":"update_fields.consent_placeholder","default":false},"services":{"type":"checkbox_group","group":"metafields","handle":"services","title":"","required":true,"placeholder":"Please select all services that apply to you","validation":"","label_translation":"update_fields.services","placeholder_translation":"update_fields.services_placeholder","options":[{"value":"Bootcamp","displayValue":"update_fields.services_option.Bootcamp"},{"value":"Boxing","displayValue":"update_fields.services_option.Boxing"},{"value":"Just_lift","displayValue":"update_fields.services_option.Just_lift"},{"value":"Just_PWR","displayValue":"update_fields.services_option.Just_PWR"},{"value":"abs_stretch","displayValue":"update_fields.services_option.abs_stretch"}]},"goals":{"type":"checkbox_group","group":"metafields","handle":"goals","title":"","required":true,"placeholder":"Please select all goals that apply to you","validation":"","label_translation":"update_fields.goals","placeholder_translation":"update_fields.goals_placeholder","options":[{"value":"muscle","displayValue":"update_fields.goals_option.muscle"},{"value":"strength","displayValue":"update_fields.goals_option.strength"},{"value":"fat_loss","displayValue":"update_fields.goals_option.fat_loss"},{"value":"injury_management","displayValue":"update_fields.goals_option.injury_management"}]},"filming":{"type":"select","group":"metafields","handle":"filming","title":"","required":true,"placeholder":"Please select one","validation":"","label_translation":"update_fields.filming","placeholder_translation":"update_fields.filming_placeholder","options":[{"value":"Yes","displayValue":"update_fields.filming_option.Yes"},{"value":"No","displayValue":"update_fields.filming_option.No"}]}} } Object.keys(overrides).map(x => { window.codex[x] = overrides[x] }) var observer = new MutationObserver(function() { if (document.body) { if(window.codex.translations) { let translations = document.createElement("script") translations.type = "text/javascript" translations.src = window.codex.translations translations.addEventListener('load', function() { console.log('%cCodex |%c Translations loaded', 'font-weight: bold', 'font-weight: normal') document.dispatchEvent(new Event('codex-initialise')) }) document.head.appendChild(translations) console.log('%cCodex |%c Added translations', 'font-weight: bold', 'font-weight: normal') } if(window.codex.scriptUrl) { document.addEventListener("DOMContentLoaded", function() { let cs = document.createElement("script") cs.type = "text/javascript" cs.src = window.codex.scriptUrl cs.defer = true if(window.codex.momentLocaleUrl) { cs.addEventListener("load", function() { let mls = document.createElement("script") mls.type = "text/javascript" mls.src = window.codex.momentLocaleUrl mls.defer = true document.body.appendChild(mls) console.log('%cCodex |%c Added moment locale script', 'font-weight: bold', 'font-weight: normal') }) } document.body.appendChild(cs) console.log('%cCodex |%c Added app script', 'font-weight: bold', 'font-weight: normal') }) } if(window.codex.styleUrl) { let css = document.createElement("link") css.media = "all" css.type = "text/css" css.rel = "stylesheet" css.href = window.codex.styleUrl document.head.appendChild(css) console.log('%cCodex |%c Added default styles', 'font-weight: bold', 'font-weight: normal') } if(window.codex?.auto_configure?.modals) { Object.entries(window.codex.auto_configure.modals).forEach(([component, attrs]) => { div = document.createElement("div") div.id = component div.dataset.codex = "" modal = document.createElement("codex-modal") modal.setAttribute('modal-name', component) Object.entries(attrs.modalProps ?? {}).forEach(([key, value]) => { modal.setAttribute(key, value) }) vueComponent = document.createElement(component) Object.entries(attrs.props ?? {}).forEach(([key, value]) => { vueComponent.setAttribute(key, value) }) modal.appendChild(vueComponent) div.appendChild(modal) document.head.appendChild(div) }) document.addEventListener("click", (event) => { if(event.target?.dataset.codexModalOpen) { event.stopPropagation() document.dispatchEvent(new Event('codex.modal.open.' + event.target.dataset.codexModalOpen)) } if(event.target?.dataset.codexModalClose) { event.stopPropagation() document.dispatchEvent(new Event('codex.modal.close.' + event.target.dataset.codexModalClose)) } if(event.target?.dataset.codexModalToggle) { event.stopPropagation() document.dispatchEvent(new Event('codex.modal.toggle.' + event.target.dataset.codexModalToggle)) } }) console.log('%cCodex |%c Added default modals', 'font-weight: bold', 'font-weight: normal') } observer.disconnect(); } }) observer.observe(document.documentElement, {childList: true}); console.log(`%cCodex | %cConfiguring...`, 'font-weight: bold', 'font-weight: normal' ) if(localStorage.getItem('codex-overrides')) { console.log('%cCodex | %cWarning! Using custom overrides %o', 'font-weight: bold', 'color: rgb(217,31,38)', overrides) // Object.keys(overrides).map(x => { // console.log('%c ' + x + ': ' + overrides[x], 'display: block; color: red') // }) } // if(localStorage.getItem('codex-script-url')) { // console.log(`%cWarning: Using custom script URL: ` + localStorage.getItem('codex-script-url'), 'display: block; font-size: 16px;color: red);') // } } } let addStage = function(id) { window.codex.stageIds.push(id) } let store = function(key, value) { window.codex[key] = value overrides[key] = value localStorage.setItem('codex-overrides', JSON.stringify(overrides)) } let set = function(key, value) { window.codex[key] = value } let unset = function(key) { delete window.codex[key] delete overrides[key] localStorage.setItem('codex-overrides', JSON.stringify(overrides)) } return { addStage, store, set, unset, init, } } Codex().init();