Sport Manitoba - MB Games Parent Information Session (2024)

'; } } if (isLocalStorageAvailable()) { personChoices.innerHTML += '

Clear my data

'; } } var addBtn = detailsEl.querySelector('.add-youth a'); addBtn.onclick = function(e) { e.preventDefault(); togglePersonChoices(e, addBtn.dataset.slug); }; var personChoices = detailsEl.querySelector('.class-persons'); personChoices.innerHTML = ''; for (per in persons) { if (persons[per].first_name) { personChoices.innerHTML += '

' + persons[per].first_name + '

'; } } } } function clearLocalStorage(e) { e.preventDefault(); persons = {}; localStorage.removeItem("persons"); } function checkRegClick(e) { var inputEl = e.currentTarget; if (inputEl.getAttribute('data-slug')) { var els = document.querySelectorAll('.register[data-slug="' + inputEl.getAttribute('data-slug') + '"]'); Array.prototype.forEach.call(els, function(el, index) { if (inputEl.checked) { if (!el.checked) { el.click(); } } }); } } function formOnInput(e) { var inputEl = e.currentTarget; var label = e.currentTarget.parentNode.querySelectorAll('label'); if (label[0]) { var accept = document.querySelectorAll('.acceptance .body'); Array.prototype.forEach.call(accept, function(el, index) { if (!el.classList.contains('placeholders')) { var placeholders = el.querySelectorAll('.placeholder'); Array.prototype.forEach.call(placeholders, function(el, index) { el.classList.add(el.innerText.replace('{', '').replace('}', '')); }); el.classList.add('placeholders'); } var toRep = el.querySelectorAll('.' + label[0].innerText); Array.prototype.forEach.call(toRep, function(ele, index) { ele.innerHTML = inputEl.value; }); }); } } function togglePersonChoices(e, slug) { if (e) { e.preventDefault(); } var toggle_el = e.currentTarget.closest('.form-question').querySelector('.toggle-choice-button[data-slug="' + slug + '"]'); var choices_el = e.currentTarget.closest('.form-question').querySelector('.person-choices[data-slug="' + slug + '"]'); if (choices_el && choices_el.style.display == 'none') { if (toggle_el) toggle_el.innerText = toggle_el.dataset.hideLabel; choices_el.style.display = 'block'; } else { if (toggle_el) toggle_el.innerText = toggle_el.dataset.showLabel; choices_el.style.display = 'none'; } } function onChoosePersonChoice(e, slug) { e.preventDefault(); var choice_el = e.currentTarget; var question_el = choice_el.closest('.form-question'); var toggle_el = question_el.querySelector('.toggle-choice-button[data-slug="' + slug + '"]'); var choices_el = question_el.querySelector('.person-choices[data-slug="' + slug + '"]'); if (!!choice_el.dataset.person) { var person = JSON.parse(choice_el.dataset.person); var attributes = [ 'first_name', 'last_name', 'email', 'mobile', 'gender', 'date_of_birth', 'medical', 'relationship', 'jersey_number', 'pickup_password', 'can_pickup', 'address1', 'city', 'state_province', 'zip_postal_code', 'other_phone', ]; Array.prototype.forEach.call(attributes, function(attr) { var value = person[attr] || null; var name = slug + '[' + attr + ']'; var input_el = question_el.querySelector('input[name="' + name + '"]'); if (input_el) { input_el.value = value; if (attr == 'date_of_birth') { var parts = input_el.value && input_el.value.length > 0 ? input_el.value.split('-') : []; var dob_year_el = input_el.parentNode.querySelector('select.dob_year'); if (dob_year_el) dob_year_el.value = parts[0] !== undefined ? parseInt(parts[0], 10) : ''; var dob_month_el = input_el.parentNode.querySelector('select.dob_month'); if (dob_month_el) dob_month_el.value = parts[1] !== undefined ? parseInt(parts[1], 10) : ''; var dob_day_el = input_el.parentNode.querySelector('select.dob_day'); if (dob_day_el) dob_day_el.value = parts[2] !== undefined ? parseInt(parts[2], 10) : ''; } } else { var select_el = question_el.querySelector('select[name="' + name + '"]'); if (select_el) { //console.log('select', name, value); select_el.value = value; } else { var textarea_el = question_el.querySelector('textarea[name="' + name + '"]'); if (textarea_el) { //console.log('textarea', name, value); textarea_el.value = value; } } } }); } if (toggle_el) toggle_el.innerText = toggle_el.dataset.showLabel; if (choices_el) choices_el.style.display = 'none'; } function onClosePersonChoice(e, slug) { e.preventDefault() var toggle_el = document.querySelector('.toggle-choice-button[data-slug="' + slug + '"]'); var choices_el = document.querySelector('.person-choices[data-slug="' + slug + '"]'); if (toggle_el) toggle_el.innerText = toggle_el.dataset.showLabel; choices_el.style.display = 'none'; } function onAddYouthWithChosenPerson(e, slug) { e.preventDefault(); var person_el = addYouthRow(e, slug); var index = person_el.dataset.index; onChoosePersonChoice(e, slug+'['+index+']'); var choices_el = document.querySelector('.person-choices[data-slug="' + slug + '"]'); choices_el.style.display = 'none'; } function addYouthRow(e, slug, doNotDeleteValues) { e.preventDefault(); var els = e.currentTarget.closest('.form-question').querySelectorAll('.person[data-slug="' + slug + '"]'); var el = els[els.length-1]; if (el.style.display == 'none') { var inputs = el.querySelectorAll('input,select'); Array.prototype.forEach.call(inputs, function(el) { el.name = el.dataset.name; if (el.dataset.clientRequired !== undefined) el.required = true; }); el.style.display = 'block'; return el; } var clone = el.cloneNode(true); clone.querySelector('a.remove-youth').style.display = 'inline-block'; Array.prototype.forEach.call(clone.querySelectorAll('input,select'), function(el) { if ((el.type == 'radio' || el.type == 'checkbox') && !el.classList.contains('not-delete-value')) el.checked = false; else if (!doNotDeleteValues && !el.classList.contains('not-delete-value')) { el.value = ''; } }); var media_question_el = clone.querySelector('div.media-question'); if (!!media_question_el) { var file_pond_el = media_question_el.querySelector('.filepond--root'); if (!!file_pond_el) { media_question_el.removeChild(file_pond_el); var input_image_el = document.createElement("input"); input_image_el.type = 'file'; input_image_el.name = 'upload_image'; media_question_el.appendChild(input_image_el) } } el.parentNode.insertBefore(clone, el.nextSibling); adjustYouthIndices(slug, e.currentTarget.closest('.form-question')); if (clone.className.indexOf('date-question') >= 0) bindDate(clone); if (clone.className.indexOf('date-range-question') >= 0) bindDateRange(clone); if (clone.className.indexOf('week-availablity-question') >= 0) bindWeekAvailability(clone); if (!!media_question_el) { var photo_key = (slug+'['+clone.dataset.index+'][photo]').replace(/[[]/g,'\\[').replace(/]/g,'\\]'); initUpload(photo_key, 'image', ["image\/jpeg","image\/png","image\/gif","image\/webp","application\/pdf"], []); } return clone; }; function removeYouthRow(e, slug, index) { e.preventDefault(); var element = e.currentTarget.closest('.form-question'); var el = e.currentTarget.parentNode; if (el.className.indexOf('person') === -1) el = el.parentNode var els = document.querySelectorAll('.person[data-slug="' + slug + '"]'); if (els.length > 1) { el.parentNode.removeChild(el); } else { // When only one left, simply hide var inputs = el.querySelectorAll('input,select'); Array.prototype.forEach.call(inputs, function(el) { el.dataset.name = el.name; if (el.classList.contains('not-delete-value')) { return true; } el.value = null; el.name = null; if (el.dataset.clientRequired !== undefined) el.required = false; }); el.style.display = 'none'; } adjustYouthIndices(slug, element); sumHours(slug); } function adjustYouthIndices(slug, element) { var els = element.querySelectorAll('.person[data-slug="' + slug + '"]'); Array.prototype.forEach.call(els, function(el, index) { el.dataset.index = index; var re = new RegExp(slug.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&')+'\[[0-9]+\]'); var inputs = el.querySelectorAll('input,select'); Array.prototype.forEach.call(inputs, function(el) { el.name = el.name.replace(re, slug+'['+index+']'); }); var media_question_el = el.querySelector('div.form-group.media-question'); if (!!media_question_el) { var photo_key = (slug+'['+index+'][photo]').replace(/[[]/g,'\[').replace(/]/g,'\]'); media_question_el.className = 'form-group media-question ' + photo_key; } var remove_el = el.querySelector('a.remove-youth'); if (!!remove_el) remove_el.style.display = ''; }); // When the question is required and there is only 1 person left, // do not show the X to remove! if (els.length == 1 && els[0].dataset.required == 'true') { var remove_el = els[0].querySelector('a.remove-youth'); if (!!remove_el) remove_el.style.display = 'none'; } } function updateDateOfBirth(e, slug) { var parent = e.currentTarget.parentNode; var el = parent.querySelector("input.date_of_birth"); var year = parent.querySelector("select.dob_year").value; var month = parent.querySelector("select.dob_month").value; if (month && month < 10) month = '0' + month; var day = parent.querySelector("select.dob_day").value; if (day && day < 10) day = '0' + day; if (year && month && day) el.value = year + '-' + month + '-' + day; else el.value = null; if (el.onMyChangeEvent) el.onMyChangeEvent(); if (el.onchange) el.onchange(); var constraint = parent.parentNode.querySelector('#age-constraint'); if (constraint && year && month && day) { var settings = JSON.parse(constraint.getAttribute('data-age')); dobValidator(new Date(el.value.replace(/-/g, '\/').replace(/T.+/, '')), settings, constraint); } } function sumHours(slug) { var sum_el = document.querySelector('.sum-of-hours[data-slug="' + slug + '"]'); if (!sum_el) return; var els = document.querySelectorAll('.sum-these-hours[data-slug="' + slug + '"]'); var hours = 0; var prefix = (new Date()).toISOString().split('T')[0] + 'T'; Array.prototype.forEach.call(els, function(el, index) { var hidden_start_el = el.querySelector('input[type=hidden].start'); var hidden_end_el = el.querySelector('input[type=hidden].end'); if (hidden_start_el && hidden_end_el) { var diff = (new Date(hidden_end_el.value)).getTime() - (new Date(hidden_start_el.value)).getTime(); var minutes = Math.floor((diff/1000)/60); if (minutes < 0) minutes += 60*24; hours += minutes/60; } else { var time_el = el.querySelector('select.time-control'); var time2_el = el.querySelector('select.time-control2'); if (time_el && time2_el.value) { var diff = (new Date(prefix + time2_el.value)).getTime() - (new Date(prefix + time_el.value)).getTime(); var minutes = Math.floor((diff/1000)/60); if (minutes < 0) minutes += 60*24; hours += minutes/60; } } }); sum_el.innerText = Math.round(hours*100)/100 } function applyTimeTrackShortcut(slug, start, end) { var el = document.querySelector('.time-track[data-slug="' + slug + '"]'); var date_els = el.querySelectorAll('input.date-control'); var date_el = date_els[date_els.length-1]; var datepicker = date_el.datepicker; if (!datepicker.getDate()) datepicker.setDate(new Date()); var start_els = el.querySelectorAll('select.time-control'); var start_el = start_els[start_els.length-1]; var start_option = start_el.querySelector('option[value="' + start + '"]'); if (start_option) start_option.selected = true; start_el.dispatchEvent(new Event('change')); var end_els = el.querySelectorAll('select.time-control2'); var end_el = end_els[end_els.length-1]; var end_option = end_el.querySelector('option[value="' + end + '"]'); if (end_option) end_option.selected = true; end_el.dispatchEvent(new Event('change')); } function bindDate(el) { var input_el = el.querySelector('input[type=hidden]'); var date_el = el.querySelector('input.date-control'); var time_el = el.querySelector('select.time-control'); var readonly_date_el = el.querySelector('input.readonly-date-control') var readonly_time_el = el.querySelector('input.readonly-time-control') var time2_el = el.querySelector('select.time-control2'); var input2_el = el.querySelector('input[type=hidden].hidden2'); var sum_el = el.parentNode.querySelector('span.sum-of-hours'); function updateHiddenInput() { var value = ''; if (date_el) value = date_el.value; else value = (new Date()).toISOString().substring(0, 10); if (value && time_el && time_el.value) value += ' '; if (time_el && time_el.value) value += time_el.value; input_el.value = value; if (time2_el && input2_el) { // time track var end = ''; if (date_el) end = date_el.value; else end = (new Date()).toISOString().substring(0, 10); if (end && time2_el.value) end += ' '; if (time2_el.value) end += time2_el.value; if (value && end && (new Date(end)) - (new Date(value)) < 0) { // day after var d = new Date(end); d.setDate(d.getDate() + 1); end = d.toISOString().substring(0, 10); if (end && time2_el.value) end += ' '; if (time2_el.value) end += time2_el.value; } input2_el.value = end; } if (sum_el) sumHours(sum_el.dataset.slug) // Store in UTC? Not that easy... coment for now. //input_el.value = time_el && time_el.value ? (new Date(value)).toISOString() : value; if (date_el && readonly_date_el) { readonly_date_el.value = date_el.value; } if (time_el && readonly_time_el) { var option_el = time_el.querySelector('option[value="' + time_el.value + '"]'); readonly_time_el.value = option_el ? option_el.text || null : null; } } if (date_el) { var datepicker = new Datepicker(date_el, { format: 'yyyy-mm-dd', language: 'en', showOnFocus: false, enableOnReadonly: false, autohide: true, clearBtn: !el.required }); date_el.addEventListener('focus', function() { if (datepicker.active) return; date_el.blur(); datepicker.show(); }); date_el.addEventListener('changeDate', function() { updateHiddenInput() }); } if (time_el) { time_el.addEventListener('change', function() { updateHiddenInput() }); } if (time2_el) { time2_el.addEventListener('change', function() { updateHiddenInput() }); } } function bindDateRange(el) { var start_el = el.querySelector('input.start[type=hidden]'); var end_el = el.querySelector('input.end[type=hidden]'); var start_date_el = el.querySelector('input.date-control.start'); var start_time_el = el.querySelector('select.time-control.start'); var end_date_el = el.querySelector('input.date-control.end'); var end_time_el = el.querySelector('select.time-control.end'); var readonly_start_date_el = el.querySelector('input.readonly-date-control.start') var readonly_start_time_el = el.querySelector('input.readonly-time-control.start') var readonly_end_date_el = el.querySelector('input.readonly-date-control.end') var readonly_end_time_el = el.querySelector('input.readonly-time-control.end') function updateHiddenInput(input_el, date_el, time_el, readonly_date_el, readonly_time_el) { var value = ''; if (date_el) value = date_el.value; else value = (new Date()).toISOString().substring(0, 10); if (value && time_el && time_el.value) value += ' '; if (time_el && time_el.value) value += time_el.value; input_el.value = value; if (date_el && readonly_date_el) { readonly_date_el.value = date_el.value; } if (time_el && readonly_time_el) { var option_el = time_el.querySelector('option[value="' + time_el.value + '"]'); readonly_time_el.value = option_el ? option_el.text || null : null; } } if (start_date_el) { var start_datepicker = new Datepicker(start_date_el, { format: 'yyyy-mm-dd', language: 'en', showOnFocus: false, enableOnReadonly: false, autohide: true, clearBtn: !el.required }); start_date_el.addEventListener('focus', function() { if (start_datepicker.active) return; start_date_el.blur(); start_datepicker.show(); }); start_date_el.addEventListener('changeDate', function() { updateHiddenInput(start_el, start_date_el, start_time_el, readonly_start_date_el, readonly_start_time_el) }); } if (end_date_el) { var end_datepicker = new Datepicker(end_date_el, { format: 'yyyy-mm-dd', language: 'en', showOnFocus: false, enableOnReadonly: false, autohide: true, clearBtn: !el.required }); end_date_el.addEventListener('focus', function() { if (end_datepicker.active) return; end_date_el.blur(); end_datepicker.show(); }); end_date_el.addEventListener('changeDate', function() { updateHiddenInput(end_el, end_date_el, end_time_el, readonly_end_date_el, readonly_end_time_el) }); } if (start_time_el) { start_time_el.addEventListener('change', function() { updateHiddenInput(start_el, start_date_el, start_time_el, readonly_start_date_el, readonly_start_time_el) }); } if (end_time_el) { end_time_el.addEventListener('change', function() { updateHiddenInput(end_el, end_date_el, end_time_el, readonly_end_date_el, readonly_end_time_el) }); } } function bindWeekAvailability(el) { var weekday_el = el.querySelector('select.weekday-control'); var time_el = el.querySelector('select.time-control'); var time2_el = el.querySelector('select.time-control2'); var slug = el.dataset.slug; weekday_el.addEventListener('change', function() { sumHours(slug) }); time_el.addEventListener('change', function() { sumHours(slug) }); time2_el.addEventListener('change', function() { sumHours(slug) }); } function onToggleEditLockedDate(e) { var el = e.currentTarget; var parentEl = el.parentNode.parentNode.parentNode.parentNode; var activeEls = parentEl.querySelectorAll('input.date-control,select.time-control,div.add-youth'); var removeEls = parentEl.querySelectorAll('a.remove-youth'); var readonlyEls = parentEl.querySelectorAll('input.readonly-date-control,input.readonly-time-control'); var editEl = parentEl.querySelector('button.edit'); var saveEl = parentEl.querySelector('button.save'); if (saveEl.style.display == 'none') { saveEl.style.display = 'inline'; editEl.style.display = 'none'; Array.prototype.forEach.call(activeEls, function(el) { el.style.display = 'inline'; }); if (removeEls.length > 1) { Array.prototype.forEach.call(removeEls, function(el) { el.style.display = 'inline'; }); } Array.prototype.forEach.call(readonlyEls, function(el) { el.style.display = 'none'; }); } else { saveEl.style.display = 'none'; editEl.style.display = 'inline'; Array.prototype.forEach.call(activeEls, function(el) { el.style.display = 'none'; }); Array.prototype.forEach.call(removeEls, function(el) { el.style.display = 'none'; }); Array.prototype.forEach.call(readonlyEls, function(el) { el.style.display = 'inline'; }); } } function onClickCheckInOut(e, action) { var group_el = e.currentTarget.parentNode.parentNode.parentNode.parentNode.parentNode; var input_el = group_el.querySelector('input'); var check_in_el = group_el.querySelector('button.check-in'); var check_in_date_el = group_el.querySelector('p.check-in-date-time'); var check_out_el = group_el.querySelector('button.check-out'); var check_out_date_el = group_el.querySelector('p.check-out-date-time'); var d = new Date(); var date = d.toLocaleTimeString([], {year: 'numeric', month: 'numeric', day: 'numeric', hour: '2-digit', minute: '2-digit'}); if (action == 'in') { if (input_el.value != 'in') { check_out_el.className = 'button block check-out outline'; check_out_date_el.innerText = ''; check_in_el.className = 'button block check-in'; check_in_date_el.innerText = date; input_el.value = 'in'; } else { check_in_el.className = 'button block check-in outline'; check_in_date_el.innerText = ''; input_el.value = ''; } } if (action == 'out') { if (input_el.value != 'out') { check_in_el.className = 'button block check-in outline'; check_in_date_el.innerText = ''; check_out_el.className = 'button block check-out'; check_out_date_el.innerText = date; input_el.value = 'out'; } else { check_out_el.className = 'button block check-out outline'; check_out_date_el.innerText = ''; input_el.value = ''; } } } function onCheckboxChanged(e) { var parentEl = e.currentTarget.parentNode.parentNode; var values = []; var slug = e.currentTarget.dataset.slug; if (window && window.hasMembershipChoices && !window.nb_choices) { e.currentTarget.checked = false; e.preventDefault(); return; } Array.prototype.forEach.call(parentEl.querySelectorAll('input[type=checkbox]'), function(el) { if (el.checked) values.push(el.value); }); if (window && window.nb_choices && values.length > window.nb_choices) { e.currentTarget.checked = false; e.preventDefault(); alert('Only allowed ' + window.nb_choices + ' choices!'); } var otherEl = parentEl.querySelector('input.other') if (!!otherEl && !!otherEl.value && !!(otherEl.value+'').trim()) values.push(otherEl.value) parentEl.querySelector('input[type=text]').value = values.join(','); maybeShowHideEventDetails(slug); if (e.currentTarget.dataset.showQuestionIds) { checkForQuestionsToShow(parentEl); } if (!!window.eventsFiltersCheckWhatToShow) { eventsFiltersCheckWhatToShow(e.currentTarget); } var show_el = document.getElementById('checkgroup-show-'+slug); if (!!show_el) show_el.disabled = values.length > 0 } function onCheckboxShowChanged(e) { var show_el = e.currentTarget; var slug = show_el.dataset.slug; var description_el = document.getElementById('checkgroup-description-'+slug); var checkgroup_el = document.getElementById('checkgroup-'+slug); if (!!description_el) description_el.style.display = show_el.checked ? 'block' : 'none'; checkgroup_el.style.display = show_el.checked ? 'block' : 'none'; } function checkForQuestionsToShow(el) { var toShowIds = []; Array.prototype.forEach.call(el.querySelectorAll('input[type=checkbox], input[type=radio]'), function(ell) { if (ell.dataset.showQuestionIds) { // double triple check var ids = JSON.parse(ell.dataset.showQuestionIds); if (ids) { for (var i = 0; i < ids.length; i++) { var q_el = document.getElementById('form-question-'+ids[i]); if (q_el) { if (ell.checked) { toShowIds.push(ids[i]); } q_el.style.display = toShowIds.indexOf(ids[i]) >= 0 ? 'block' : 'none'; } } } } }); } function onSelectOrClearAllCheckboxes(e, check) { e.preventDefault(); var parentEl = e.currentTarget.parentNode.parentNode; var slug = e.currentTarget.dataset.slug; var first_el = null; Array.prototype.forEach.call(parentEl.querySelectorAll('input[type=checkbox]'), function(el) { el.checked = check; if (!first_el) first_el = el; }); if (!!first_el) onCheckboxChanged({ currentTarget: first_el, preventDefault: function(){}, }); } function onAcceptanceChanged(e) { var el = e.currentTarget var hiddenEl = el.parentNode.querySelector('input[type=hidden]') hiddenEl.value = el.checked ? 1 : '' } function onClickEditLockedNumber(e) { var el = e.currentTarget; var parentEl = el.parentNode.parentNode; var editingEl = parentEl.querySelector('.editing'); var displayEl = parentEl.querySelector('.display'); displayEl.style.display = 'none'; editingEl.style.display = 'block'; } function onClickSaveLockedNumber(e) { var el = e.currentTarget; var parentEl = el.parentNode.parentNode.parentNode; var editingEl = parentEl.querySelector('.editing'); var displayEl = parentEl.querySelector('.display'); var inputEl = editingEl.querySelector('input'); var hiddenEl = displayEl.querySelector('input'); var valueEl = displayEl.querySelector('.value'); hiddenEl.value = inputEl.value; valueEl.innerText = inputEl.value; displayEl.style.display = 'block'; editingEl.style.display = 'none'; } function onToggleEditLockedInput(e) { var el = e.currentTarget; var parentEl = el.parentNode.parentNode.parentNode.parentNode; var inputEl = parentEl.querySelector('input'); var textareaEl = parentEl.querySelector('textarea'); var editEl = parentEl.querySelector('button.edit'); var saveEl = parentEl.querySelector('button.save'); if (saveEl.style.display == 'none') { saveEl.style.display = 'inline'; editEl.style.display = 'none'; if (inputEl) inputEl.readOnly = false; if (textareaEl) textareaEl.readOnly = false; } else { saveEl.style.display = 'none'; editEl.style.display = 'inline'; if (inputEl) inputEl.readOnly = true; if (textareaEl) textareaEl.readOnly = true; } } function onToggleEditLockedCheckbox(e, selector) { var el = e.currentTarget; var parentEl = el.parentNode.parentNode.parentNode; var inputEls = document.getElementById(selector).querySelectorAll('input[type=checkbox]'); var editEl = parentEl.querySelector('button.edit'); var saveEl = parentEl.querySelector('button.save'); if (saveEl.style.display == 'none') { saveEl.style.display = 'inline'; editEl.style.display = 'none'; Array.prototype.forEach.call(inputEls, function(el){ el.disabled = false; }); } else { saveEl.style.display = 'none'; editEl.style.display = 'inline'; Array.prototype.forEach.call(inputEls, function(el){ el.disabled = true; }); } } function onExpenseItemChange(event, slug) { var question_el = document.querySelector('div[data-slug="' + slug + '"]'); var subtotal_el = question_el.querySelector('span.subtotal'); var subtotal = 0; Array.prototype.forEach.call(question_el.querySelectorAll('tr.item'), function(tr_el) { var quantity_el = tr_el.querySelector('input.qty'); var price_el = tr_el.querySelector('input.price'); var amount_el = tr_el.querySelector('div.amount'); var quantity = parseFloat(quantity_el.value); var price = parseFloat(price_el.value); if (!isNaN(quantity) && !isNaN(price)) { amount_el.innerText = printCurrency(price * quantity); subtotal += price * quantity; } else { amount_el.innerText = ''; } }); subtotal_el.innerHTML = printCurrency(subtotal); subtotal_el.dataset.value = subtotal; var taxes_el = question_el.querySelector('input.taxes'); var total_el = question_el.querySelector('span.total'); if (taxes_el && total_el) { var total = subtotal; var taxes = parseFloat(taxes_el.value); if (!isNaN(taxes)) total += taxes; total_el.innerHTML = printCurrency(total); total_el.dataset.value = total } this.maybeUpdateExpenseAmountSum(event); } function maybeUpdateExpenseAmountSum() { var subtotal = 0; Array.prototype.forEach.call(document.querySelectorAll('span.subtotal.summable'), function(el) { var amount = parseFloat(el.dataset.value); if (!isNaN(amount)) subtotal += amount; }); Array.prototype.forEach.call(document.querySelectorAll('input.subtotal.summable'), function(el) { var amount = parseFloat(el.value); if (!isNaN(amount)) subtotal += amount; }); var subtotal_el = document.querySelector('input[type=hidden].expense-amount-subtotal'); if (subtotal_el) { subtotal_el.value = subtotal; var sum_el = subtotal_el.parentNode.querySelector('input[type=text]'); if (sum_el) sum_el.value = printCurrency(subtotal, 2); } var taxes = 0; Array.prototype.forEach.call(document.querySelectorAll('input.taxes.summable'), function(el) { var amount = parseFloat(el.value); if (!isNaN(amount)) taxes += amount; }); var taxes_el = document.querySelector('input[type=hidden].expense-amount-taxes'); if (taxes_el) { taxes_el.value = taxes; var sum_el = taxes_el.parentNode.querySelector('input[type=text]'); if (sum_el) sum_el.value = printCurrency(taxes, 2); } var total_el = document.querySelector('input[type=hidden].expense-amount-total'); if (total_el) { total_el.value = subtotal + taxes; var sum_el = total_el.parentNode.querySelector('input[type=text]'); sum_el.value = printCurrency(subtotal + taxes, 2); } } function maybeUpdateAgeCategoryAmountSum(el) { var total_el = document.querySelector('input[type=hidden].age-category-amount-total'); if (!total_el) return; var total = 0; Array.prototype.forEach.call(document.querySelectorAll('input.age-summable'), function(el) { if (el.checked) { var amount = parseFloat(el.dataset.priceValue); if (!isNaN(amount)) total += amount; } }); var total_el = document.querySelector('input[type=hidden].age-category-amount-total'); if (total_el) { var sum_el = total_el.parentNode.querySelector('input[type=text]'); total_el.value = total; sum_el.value = printCurrency(total, 2); } } function onToggleEditGlInvoiceItems(e, slug) { var editEl = document.querySelector('.gl_name.edit[data-slug="' + slug + '"]'); var saveEl = document.querySelector('.gl_name.save[data-slug="' + slug + '"]'); if (saveEl.style.display == 'none') { saveEl.style.display = 'block'; editEl.style.display = 'none'; } else { saveEl.style.display = 'none'; editEl.style.display = 'block'; } } function onChangeGlInvoiceItems(e, slug) { var selectEl = document.querySelector('.gl_name.save[data-slug="' + slug + '"] select.gl_name'); var glEl = document.querySelector('input[name="' + slug + '"]'); var nameEl = document.querySelector('.gl_name.edit[data-slug="' + slug + '"] span.gl_name'); glEl.value = selectEl.value; nameEl.innerText = selectEl.options[selectEl.selectedIndex].text } function onToggleEditLockedInvoiceItems(e, slug) { var el = e.currentTarget; var parentEl = document.querySelector('.form-group[data-slug="' + slug + '"]'); var qtyEls = parentEl.querySelectorAll('input.qty'); var editEl = parentEl.querySelector('button.edit'); var saveEl = parentEl.querySelector('button.save'); if (saveEl.style.display == 'none') { saveEl.style.display = 'inline'; editEl.style.display = 'none'; Array.prototype.forEach.call(qtyEls, function(el) { el.readOnly = false; }); } else { saveEl.style.display = 'none'; editEl.style.display = 'inline'; Array.prototype.forEach.call(qtyEls, function(el) { el.readOnly = true; }); } } function onInvoiceItemQuantityChange(event, slug) { var qty_el = event.currentTarget; var amount_el = qty_el.parentNode.parentNode.parentNode.querySelector('td.amount>div'); amount_el.innerText = printCurrency(qty_el.dataset.price * qty_el.value); var question_el = document.querySelector('div[data-slug="' + slug + '"]'); var subtotal = parseFloat(question_el.dataset.initialSubtotal); var subtotal_el = question_el.querySelector('span.subtotal'); var additional_fee_rules = JSON.parse(question_el.dataset.additionalFeeRules); Array.prototype.forEach.call(question_el.querySelectorAll('input[type=number]'), function(el) { var quantity = parseInt(el.value, 10); if (isNaN(quantity)) quantity = 0; if (el.dataset.isAdditionalFee == 'true') { var amount = 0 for (var i = 0; i < additional_fee_rules.length; i++) { var rule = additional_fee_rules[i]; if (subtotal > rule.min_amount && subtotal <= rule.max_amount) { amount = rule.amount; } } var price_el = el.parentNode.parentNode.parentNode.querySelector('td.price>div') price_el.innerText = printCurrency(amount); var amount_el = el.parentNode.parentNode.parentNode.querySelector('td.amount>div'); amount_el.innerText = printCurrency(quantity*amount); el.dataset.price = amount; } var price = parseFloat(el.dataset.price); subtotal += price * quantity; }); question_el.querySelector('span.subtotal').innerHTML = printCurrency(subtotal); } function onToggleCheckboxOfInvoiceItem(event, slug, index) { var el = document.querySelector('.form-group[data-slug="' + slug + '"]'); var checkbox_el = event.currentTarget; var quantity_el = el.querySelector('input[name="' + slug + '[' + index + '][quantity]"]'); var quantity = checkbox_el.checked ? 1 : 0; quantity_el.value = quantity; var items = JSON.parse(el.dataset.items); var item = items[index]; for (var ai = 0; ai < item.addons.length; ai++) { var addon = item.addons[ai]; var addon_quantity_el = el.querySelector('input[name="' + slug + '[' + index + '][addons][' + ai +'][quantity]"]'); var addon_checkbox_el = addon_quantity_el.parentNode.querySelector('input[type=checkbox]'); if (quantity == 0) { addon_quantity_el.value = 0; addon_checkbox_el.checked = false; } addon_checkbox_el.disabled = quantity == 0 } recalculateCheckboxInvoiceItemSubtotal(slug); } function onToggleCheckboxOfInvoiceItemAddon(event, slug, index, ai) { var el = document.querySelector('.form-group[data-slug="' + slug + '"]'); var checkbox_el = event.currentTarget; var quantity_el = el.querySelector('input[name="' + slug + '[' + index + '][addons][' + ai +'][quantity]"]'); quantity_el.value = checkbox_el.checked ? 1 : 0; recalculateCheckboxInvoiceItemSubtotal(slug); } function recalculateCheckboxInvoiceItemSubtotal(slug) { var el = document.querySelector('.form-group[data-slug="' + slug + '"]'); var items = JSON.parse(el.dataset.items); var subtotal = parseFloat(el.dataset.initialSubtotal); var highest_index = -1; for (var index = 0; index < items.length; index++) { var item = items[index]; item.quantity = parseInt(el.querySelector('input[name="' + slug + '[' + index + '][quantity]"]').value, 10); if (item.quantity == 1) subtotal += item.price; if (item.quantity == 1 && (highest_index == -1 || item.price > items[highest_index].price)) highest_index = index; for (var ai = 0; ai < item.addons.length; ai++) { var addon = item.addons[ai]; addon.quantity = parseInt(el.querySelector('input[name="' + slug + '[' + index + '][addons][' + ai +'][quantity]"]').value, 10); if (addon.quantity == 1) subtotal += addon.price; } } var charge_highest_item = el.dataset.chargeHighestItem == 'true'; if (charge_highest_item) { subtotal = 0 if (highest_index >= 0) { subtotal = items[highest_index].price; for (var ai = 0; ai < items[highest_index].addons.length; ai++) { var addon = items[highest_index].addons[ai]; if (addon.quantity == 1) subtotal += addon.price; } } } el.querySelector('span.subtotal').innerHTML = printCurrency(subtotal); } function onToggleCheckboxOfEventAddon(event) { var checkbox_el = event.currentTarget; var quantity_el = checkbox_el.parentNode.querySelector('input[type=hidden].quantity'); var quantity = checkbox_el.checked ? 1 : 0; quantity_el.value = quantity; } function onToggleRadioOfInvoiceItem(event, slug, index) { var el = document.querySelector('.form-group[data-slug="' + slug + '"]'); var radios_el = el.querySelectorAll('input[type=radio][name="' + slug + '[addon]"]'); Array.prototype.forEach.call(radios_el, function(radio_el) { radio_el.parentNode.style.display = radio_el.dataset.itemIndex == index ? 'block' : 'none'; }); recalculateRadioInvoiceItemSubtotal(slug); } function recalculateRadioInvoiceItemSubtotal(slug) { var el = document.querySelector('.form-group[data-slug="' + slug + '"]'); var item_el = el.querySelector('input[type=radio][name="' + slug + '[item]"]:checked'); var addon_el = el.querySelector('input[type=radio][name="' + slug + '[addon]"]:checked'); var items = JSON.parse(el.dataset.items); var subtotal = 0; for (var index = 0; index < items.length; index++) { var item = items[index]; item.quantity = !!item_el && item_el.value == item.name ? 1 : 0; if (item.quantity == 0) continue; subtotal += item.price; for (var ai = 0; ai < item.addons.length; ai++) { var addon = item.addons[ai]; addon.quantity = !!addon_el && addon_el.value == addon.name ? 1 : 0; if (addon.quantity == 1) subtotal += addon.price; } } el.querySelector('span.subtotal').innerHTML = printCurrency(subtotal); } function onBookingAddonAdd(e) { e.preventDefault(); var btn_el = e.currentTarget; var add_el = btn_el.parentNode; checkAndHandleLocationAvailability(add_el); } function checkAndHandleLocationAvailability(add_addon_button){ var location_ids = add_addon_button.parentNode.querySelector('input[type=hidden].location-ids').value; var class_events = add_addon_button.parentNode.querySelector('input[type=hidden].class-events').value; var organization_id = add_addon_button.parentNode.querySelector('input[type=hidden].organization-id').value; events = JSON.parse(class_events); location_ids = JSON.parse(location_ids); let url = "/organization/"+organization_id+"/location/is_booking_addons_available"; var data = { events: events, location_ids: location_ids } var loader_el = add_addon_button.parentNode.querySelector('.loader'); var add_el = add_addon_button.parentNode.querySelector('.add'); add_el.style.display = 'none'; loader_el.style.display = 'block'; axios.post(url, data) .then(function(response) { loader_el.style.display = 'none'; var available_location_ids = response.data; if(available_location_ids) { addBookingAddon(add_addon_button, available_location_ids); } else { var unavailable_el = add_addon_button.parentNode.querySelector('.unavailable'); unavailable_el.style.display = 'block'; } }) .catch(function(error) { console.error(error); loader_el.style.display = 'none'; add_el.style.display = 'block'; }); } function addBookingAddon(add_addon_button, available_location_ids){ var quantity_el = add_addon_button.parentNode.querySelector('input[type=hidden].quantity'); var available_location_ids_el = add_addon_button.parentNode.querySelector('input[type=hidden].available-location-ids'); var added_button = add_addon_button.parentNode.querySelector('.added'); quantity_el.value = 1; available_location_ids_el.value = JSON.stringify(Object.values(available_location_ids)); add_addon_button.style.display = 'none'; added_button.style.display = 'block'; } function onBookingAddonRemove(event) { event.preventDefault(); var btn_el = event.currentTarget; var add_el = btn_el.parentNode; var hidden_quantity_el = add_el.parentNode.querySelector('input[type=hidden].quantity'); hidden_quantity_el.value = 0; var added_el = btn_el.parentNode; var add_el = added_el.parentNode.querySelector('.add'); add_el.style.display = 'block'; added_el.style.display = 'none'; } function onMembershipAdd(event, slug) { event.preventDefault(); var btn_el = event.currentTarget; var add_el = btn_el.parentNode; var hidden_quantity_el = add_el.parentNode.querySelector('input[type=hidden].quantity'); hidden_quantity_el.value = 1; var added_el = add_el.parentNode.querySelector('.added'); var member_el = document.querySelector('.membership-member[data-slug="' + slug + '"]'); var promo_code_el = add_el.parentNode.querySelector('.promo-coupon'); add_el.style.display = 'none'; added_el.style.display = 'block'; if (promo_code_el) promo_code_el.style.display = 'block'; if (member_el) { member_el.style.display = 'block'; toggleRequiredForDataClientRequired(member_el, true); checkForPersons(member_el, true); } if (btn_el.getAttribute('data-choices')) { Array.prototype.forEach.call(document.querySelectorAll('.membership_block .form-group'), function(el) { if (el.getAttribute('data-slug') && el.getAttribute('data-slug') != slug && el.querySelectorAll('.remove')) { el.querySelectorAll('.remove')[0].click(); } }); window.nb_choices = btn_el.getAttribute('data-choices'); Array.prototype.forEach.call(document.querySelectorAll('[data-type="event_block"] input[type=checkbox]'), function(el) { el.checked = false; }); } Array.prototype.forEach.call(document.querySelectorAll('.am-class-' + slug), function(el) { el.style.display = 'block'; Array.prototype.forEach.call(el.querySelectorAll('.top-class-info'), function(topEl) { topEl.style.display = 'none'; }); }); if (window['calendar' + slug]) { window['calendar' + slug].render(); } } function onMembershipRemove(event, slug) { event.preventDefault(); var btn_el = event.currentTarget; var hidden_quantity_el = btn_el.parentNode.parentNode.querySelector('input[type=hidden].quantity'); hidden_quantity_el.value = 0; var added_el = btn_el.parentNode; var add_el = added_el.parentNode.querySelector('.add'); var member_el = document.querySelector('.membership-member[data-slug="' + slug + '"]'); var promo_code_el = add_el.parentNode.querySelector('.promo-coupon'); add_el.style.display = 'block'; added_el.style.display = 'none'; if (promo_code_el) promo_code_el.style.display = 'none'; if (member_el) { member_el.style.display = 'none'; toggleRequiredForDataClientRequired(member_el, true); } Array.prototype.forEach.call(document.querySelectorAll('.am-class-' + slug), function(el) { el.style.display = 'none'; }); if (window && window.nb_choices) { window.nb_choices = null; Array.prototype.forEach.call(document.querySelectorAll('[data-type="event_block"] input[type=checkbox]'), function(el) { el.checked = false; }); } } function onProductsQuantityChange(event, delta, slug) { event.preventDefault(); var btn_el = event.currentTarget; var quantity_el = btn_el.parentNode.querySelector('input[type=number]'); var quantity = parseInt(quantity_el.value, 10) + delta; var min = parseInt(quantity_el.min, 10); var max = parseInt(quantity_el.max, 10); if (quantity < min) quantity = min; if (quantity > max) quantity = max; quantity_el.value = quantity; //var add_btn_el = btn_el.parentNode.querySelector('button.add'); //add_btn_el.disabled = quantity == 0; onProductsAddNew(event, slug); } function onProductsAddNew(event, slug) { event.preventDefault(); var btn_el = event.currentTarget; var quantity_el = btn_el.parentNode.querySelector('input[type=number]'); var quantity = parseInt(quantity_el.value, 10); //if (quantity == 0) return; var add_el = btn_el.parentNode.parentNode; var hidden_quantity_el = add_el.parentNode.querySelector('input[type=hidden].quantity'); hidden_quantity_el.value = quantity; var hidden_price_el = hidden_quantity_el.parentNode.querySelector('input[type=hidden].price'); var price = parseFloat(hidden_price_el.value); /*var added_el = add_el.parentNode.querySelector('.added'); var promo_code_el = add_el.parentNode.querySelector('.promo-coupon'); var quantity_text_el = added_el.querySelector('span.quantity'); quantity_text_el.innerText = quantity; var amount_text_el = added_el.querySelector('span.amount'); amount_text_el.innerText = printCurrency(quantity * price); add_el.style.display = 'none'; added_el.style.display = 'block'; if (promo_code_el) promo_code_el.style.display = 'block';*/ recalculateProductsSubtotal(slug); } function onProductsAdd(event, slug) { event.preventDefault(); var btn_el = event.currentTarget; var quantity_el = btn_el.parentNode.querySelector('input[type=number]'); var quantity = parseInt(quantity_el.value, 10); if (quantity == 0) return; var add_el = btn_el.parentNode.parentNode; var hidden_quantity_el = add_el.parentNode.querySelector('input[type=hidden].quantity'); hidden_quantity_el.value = quantity; var hidden_price_el = hidden_quantity_el.parentNode.querySelector('input[type=hidden].price'); var price = parseFloat(hidden_price_el.value); var added_el = add_el.parentNode.querySelector('.added'); var promo_code_el = add_el.parentNode.querySelector('.promo-coupon'); var quantity_text_el = added_el.querySelector('span.quantity'); quantity_text_el.innerText = quantity; var amount_text_el = added_el.querySelector('span.amount'); amount_text_el.innerText = printCurrency(quantity * price); add_el.style.display = 'none'; added_el.style.display = 'block'; if (promo_code_el) promo_code_el.style.display = 'block'; recalculateProductsSubtotal(slug); } function onProductsRemove(event, slug) { event.preventDefault(); var btn_el = event.currentTarget; var hidden_quantity_el = btn_el.parentNode.parentNode.querySelector('input[type=hidden].quantity'); hidden_quantity_el.value = 0; var added_el = btn_el.parentNode; var add_el = added_el.parentNode.querySelector('.spinbutton'); var promo_code_el = add_el.parentNode.querySelector('.promo-coupon'); var quantity_el = added_el.parentNode.querySelector('input[type=number]'); quantity_el.value = quantity_el.getAttribute('min'); var hidden_quantity_el = add_el.parentNode.querySelector('input[type=hidden].quantity'); hidden_quantity_el.value = 0; add_el.style.display = 'block'; added_el.style.display = 'none'; //if (promo_code_el) promo_code_el.style.display = 'none'; recalculateProductsSubtotal(slug); } function onProductsClickShowSettingAmount(event, product_id, slug) { event.preventDefault(); var product_el = document.querySelector('tr[data-product-id="' + product_id + '"]'); var show_set_amount_el = product_el.querySelector('.show-set-amount'); var amount_group_el = product_el.querySelector('.amount-group'); var input_el = product_el.querySelector('.amount-group input[type=number]'); var hidden_quantity_el = product_el.querySelector('input[type=hidden].quantity'); show_set_amount_el.style.display = 'none'; amount_group_el.style.display = 'block'; input_el.disabled = false; } function onProductsSetAmountKeyDown(event, product_id, slug) { if (event.keyCode != 13) return; return onProductsSetAmountApply(event, product_id, slug); } function onProductsSetAmountApply(event, product_id, slug) { event.preventDefault(); var product_el = document.querySelector('tr[data-product-id="' + product_id + '"]'); var input_el = product_el.querySelector('.amount-group input[type=number]'); var amount = parseFloat(input_el.value); if (isNaN(amount)) { } var displayed_price_el = product_el.querySelector('.displayed-price'); var spinbutton_input_el = product_el.querySelector('.spinbutton input[type=number]'); var added_amount_el = product_el.querySelector('.added .amount'); var hidden_price_el = product_el.querySelector('input[type=hidden].price'); var hidden_quantity_el = product_el.querySelector('input[type=hidden].quantity'); displayed_price_el.innerText = printCurrency(amount); spinbutton_input_el.dataset.price = amount; added_amount_el.innerText = printCurrency(amount * hidden_quantity_el.value); hidden_price_el.value = amount; recalculateProductsSubtotal(slug); var show_set_amount_el = product_el.querySelector('.show-set-amount'); var amount_group_el = product_el.querySelector('.amount-group'); show_set_amount_el.style.display = 'block'; amount_group_el.style.display = 'none'; input_el.disabled = true; } function onProductsApplyNewAmount(event, product_id, slug) { var product_el = document.querySelector('tr[data-product-id="' + product_id + '"]'); var displayed_price_el = product_el.querySelector('.displayed-price'); var hidden_price_el = product_el.querySelector('input[type=hidden].price'); } function recalculateProductsSubtotal(slug) { var question_el = document.querySelector('div[data-slug="' + slug + '"]'); var price_els = question_el.querySelectorAll('input[type=hidden].price'); var subtotal = 0; Array.prototype.forEach.call(price_els, function(price_el) { var quantity_el = price_el.parentNode.querySelector('input[type=hidden].quantity'); var price = parseFloat(price_el.value); var quantity = parseInt(quantity_el.value, 10); if (!isNaN(quantity) && quantity > 0 && !isNaN(price) && price > 0) subtotal += quantity * price; }); var subtotal_el = question_el.querySelector('span.subtotal'); subtotal_el.innerText = printCurrency(subtotal); } function onInvoiceContributionSelect(event, slug) { var el = document.querySelector('div.invoice-contribution[data-slug="' + slug + '"]'); var select_el = el.querySelector('select[name="' + slug + '[invoice_id]"]'); var invoice_el = el.querySelector('.invoice'); var label_el = el.querySelector('input[name="' + slug + '[label]"]'); var answer_id_el = el.querySelector('input[name="' + slug + '[answer_id]"]'); var answer2_id_el = el.querySelector('input[name="' + slug + '[answer2_id]"]'); var recipient_id_el = el.querySelector('input[name="' + slug + '[recipient_id]"]'); var answer_label_el = el.querySelector('.answer_label'); var answer2_label_el = el.querySelector('.answer2_label'); var recipient_label_el = el.querySelector('.recipient_label'); var answer_text_el = el.querySelector('.answer_text'); var answer2_text_el = el.querySelector('.answer2_text'); var recipient_name_el = el.querySelector('.recipient_name'); var amount_section_el = el.querySelector('.form-group.amount'); var amount_el = amount_section_el.querySelector('input'); var invoice_no_el = el.querySelector('.invoice_no'); var total_el = el.querySelector('.total'); var balance_group_el = el.querySelector('tr.balance-group'); var balance_el = el.querySelector('.balance'); var no_payment_el = el.querySelector('tr.no-payment'); var payment_header_el = el.querySelector('tr.payment-header'); var payment_template_el = el.querySelector('tr.payment-template'); var values = JSON.parse(el.dataset.values); var invoice_id = select_el.value ? parseInt(select_el.value, 10) : null; var value = null; if (!!invoice_id) { for (var i = 0; i < values.length; i++) { if (values[i].invoice_id == invoice_id) value = values[i]; } } amount_section_el.style.display = !!value && value.balance > 0 ? 'block' : 'none'; amount_el.max = !!value ? value.balance : null; label_el.value = !!value ? value.label : null; answer_id_el.value = !!value ? value.answer_id : null; answer2_id_el.value = !!value ? value.answer2_id : null; recipient_id_el.value = !!value ? value.recipient_id : null; invoice_el.style.display = !!value ? 'block' : 'none'; answer_label_el.innerText = !!value ? value.answer_label : null; answer2_label_el.innerText = !!value ? value.answer2_label : null; recipient_label_el.innerText = !!value ? value.recipient_label : null; answer_text_el.innerText = !!value ? value.answer_text : null; answer2_text_el.innerText = !!value ? value.answer2_text : null; recipient_name_el.innerText = !!value ? value.recipient_name : null; invoice_no_el.innerText = !!value ? value.invoice_no : null; total_el.innerText = !!value ? printCurrency(value.total) : null; balance_group_el.style.display = !!value && value.total > 0 ? 'table-row' : 'none'; balance_el.innerText = !!value ? printCurrency(value.balance) : null; no_payment_el.style.display = !!value && (value.payments.length > 0 || value.balance == 0) ? 'none' : 'table-row'; payment_header_el.style.display = !!value && value.payments.length > 0 ? 'table-row' : 'none'; Array.prototype.forEach.call(el.querySelectorAll('tr.payment'), function(payment_el) { payment_el.remove(); }); if (!!value && value.payments.length > 0) { for (var i = 0; i < value.payments.length; i++) { var payment = value.payments[i]; var payment_el = payment_template_el.cloneNode(true); payment_el.querySelector('.name').innerText = payment.recipient_name; payment_el.querySelector('.paid_at').innerText = payment.paid_at; payment_el.querySelector('.amount').innerText = printCurrency(payment.amount); payment_el.style.display = 'table-row'; payment_el.className = 'payment'; balance_group_el.parentNode.insertBefore(payment_el, balance_group_el); } } } function bindTickets(el) { var slug = el.dataset.slug; var qty_el = el.querySelector('input[type=number][name="' + slug + '[tickets][quantity]"]'); var price_el = qty_el.parentNode.parentNode.parentNode.querySelector('td.price>div'); var subtotal_el = qty_el.parentNode.parentNode.parentNode.querySelector('td.subtotal>div'); var register_el = document.querySelector('input.register[data-slug="' + slug + '"]'); var multiple_date_els = document.querySelectorAll('input[name="' + slug + '[dates][]"]'); var select_all_el = document.querySelector('a.select-all[data-slug="' + slug + '[dates]"]'); var unselect_all_el = document.querySelector('a.unselect-all[data-slug="' + slug + '[dates]"]'); var single_date_els = document.querySelectorAll('input[name="' + slug + '[dates]"]'); var single_select_date_el = document.querySelector('select[name="' + slug + '[dates]"]'); var morning_afternoon_els = document.querySelectorAll('input[name="' + slug + '[morning_afternoon]"]'); var calendar_el = document.querySelector('.calendar[data-slug="' + slug + '[dates]"]'); var clear_el = null; if (!qty_el.dataset.purchase_rule && register_el && multiple_date_els.length > 0) { Array.prototype.forEach.call(multiple_date_els, function(hidden_el) { register_el.addEventListener('change', function() { var count = 0; Array.prototype.forEach.call(multiple_date_els, function(hidden_el) { if (!hidden_el.disabled) count += 1; }); qty_el.dataset.price = count > 0 ? qty_el.dataset.price_start : 0; if (price_el) { price_el.innerText = printCurrency(qty_el.dataset.price); subtotal_el.innerText = printCurrency(qty_el.dataset.price * qty_el.value); } el.style.display = count > 0 ? 'block' : 'none'; }) }); } else if (calendar_el && multiple_date_els.length > 0) { // Could be multiple or single calendar_el.addEventListener('click', function(event) { if (event.target.className.indexOf('slot') >= 0 && event.target.tagName.toLowerCase() == 'a') { var count = 0; Array.prototype.forEach.call(multiple_date_els, function(hidden_el) { if (!hidden_el.disabled) count += 1; }); if (qty_el.dataset.price_rule == 'price_for_class') count = 1; if (price_el) { qty_el.dataset.price = qty_el.dataset.price_start * count; price_el.innerText = printCurrency(qty_el.dataset.price); subtotal_el.innerText = printCurrency(qty_el.dataset.price * qty_el.value); } el.style.display = count > 0 ? 'block' : 'none'; } }); } else if (qty_el.dataset.purchase_rule.indexOf('multiple') >= 0 && multiple_date_els.length > 0) { function onCheckboxChange() { var count = 0; Array.prototype.forEach.call(multiple_date_els, function(checkbox_el) { if (checkbox_el.checked) count += 1; }); if (qty_el.dataset.price_rule == 'price_for_class') count = 1; if (price_el) { qty_el.dataset.price = qty_el.dataset.price_start * count; price_el.innerText = printCurrency(qty_el.dataset.price); subtotal_el.innerText = printCurrency(qty_el.dataset.price * qty_el.value); } el.style.display = count > 0 ? 'block' : 'none'; } Array.prototype.forEach.call(multiple_date_els, function(checkbox_el) { checkbox_el.addEventListener('change', onCheckboxChange) }); if (select_all_el) select_all_el.addEventListener('click', function() { setTimeout(onCheckboxChange, 250) }); if (unselect_all_el) unselect_all_el.addEventListener('click', function() { setTimeout(onCheckboxChange, 250) }); } else if (qty_el.dataset.purchase_rule.indexOf('single') >= 0 && single_date_els.length > 0) { Array.prototype.forEach.call(single_date_els, function(checkbox_el) { checkbox_el.addEventListener('change', function() { var count = 0; Array.prototype.forEach.call(single_date_els, function(radio_el) { if (radio_el.checked) count += 1; }); if (price_el) { qty_el.dataset.price = count > 0 ? qty_el.dataset.price_start : 0; price_el.innerText = printCurrency(qty_el.dataset.price); subtotal_el.innerText = printCurrency(qty_el.dataset.price * qty_el.value); } el.style.display = count > 0 ? 'block' : 'none'; }) }); clear_el = document.querySelector('a.clear[data-slug="' + slug + '[dates]"]'); } else if (qty_el.dataset.purchase_rule.indexOf('single') >= 0 && !!single_select_date_el) { single_select_date_el.addEventListener('change', function() { var count = !!single_select_date_el.value ? 1 : 0 if (price_el) { qty_el.dataset.price = count > 0 ? qty_el.dataset.price_start : 0; price_el.innerText = printCurrency(qty_el.dataset.price); subtotal_el.innerText = printCurrency(qty_el.dataset.price * qty_el.value); } el.style.display = count > 0 ? 'block' : 'none'; }) } else if (qty_el.dataset.purchase_rule == 'morning_afternoon' && morning_afternoon_els.length > 0) { Array.prototype.forEach.call(morning_afternoon_els, function(radio_el) { radio_el.addEventListener('change', function() { if (price_el) { qty_el.dataset.price = qty_el.dataset['price_'+this.value]; price_el.innerText = printCurrency(qty_el.dataset.price); subtotal_el.innerText = printCurrency(qty_el.dataset.price * qty_el.value); } el.style.display = 'block'; }); }); clear_el = document.querySelector('a.clear[data-slug="' + slug + '[morning_afternoon]"]'); } if (clear_el) { clear_el.addEventListener('click', function() { qty_el.dataset.price = 0; if (price_el) { price_el.innerText = printCurrency(qty_el.dataset.price); subtotal_el.innerText = printCurrency(qty_el.dataset.price * qty_el.value); } el.style.display = 'none'; }) } } function onTicketsQuantityChange(event) { var qty_el = event.currentTarget; var subtotal_el = qty_el.parentNode.parentNode.parentNode.querySelector('td.subtotal>div'); subtotal_el.innerText = printCurrency(qty_el.dataset.price * qty_el.value); addTicketNamesInput(event); } function addTicketNamesInput(input) { var questionSlug = input.srcElement.closest('.tickets-question').getAttribute('data-slug'); var nameRequired = input.srcElement.closest('.tickets-question').getAttribute('data-name-required'); var labelText = input.srcElement.closest('.tickets-question').getAttribute('data-label'); var quantity = input.srcElement.value; var ticketNameContainer = input.srcElement.closest('.tickets-question').querySelector('.ticket-name-container'); ticketNameContainer.innerHTML = ''; for (var i = 1; i <= (quantity - 1); i++) { //first ticket is for Account owner var ticketNameInput = document.createElement('input'); ticketNameInput.type = 'text'; ticketNameInput.classList.add('width-245'); ticketNameInput.name = questionSlug + '[tickets][extra_ticket_names][' + i + ']'; ticketNameInput.style = 'display: inline-block; margin-bottom:5px;'; var label = document.createElement('label'); label.innerHTML = (labelText ? labelText : 'Name of Accompanying Guest') + ' ' + i; label.style = 'display: block; margin-bottom: 5px;'; if (!!nameRequired) { label.innerHTML += ' *'; ticketNameInput.required = true; } ticketNameContainer.appendChild(label); ticketNameContainer.appendChild(ticketNameInput); } } function isValueWithinMinMax(el) { var value = parseInt(el.value); if (isNaN(value)) return false; var min = parseInt(el.min); if (!isNaN(min) && value < min) return false; var max = parseInt(el.max); if (!isNaN(max) && value > max) return false; return true; } function onVariablePriceToggle(event, slug) { var el = document.querySelector('.form-group.variable-price[data-slug=' + slug + ']'); var toggle_el = el.querySelector('button.toggle'); var edit_label = toggle_el.dataset.editlabel; var save_label = toggle_el.dataset.savelabel; var error_el = el.querySelector('p.error'); var is_editing = toggle_el.innerText == save_label; if (is_editing) { var input_name_el = el.querySelector('textarea.name'); var input_quantity_el = el.querySelector('input.quantity'); var input_price_el = el.querySelector('input.price'); var quantity = parseInt(input_quantity_el.value, 10); var price = parseFloat(input_price_el.value); if (isValueWithinMinMax(input_quantity_el) && isValueWithinMinMax(input_price_el)) { error_el.style.display = 'none'; var name_el = el.querySelector('td.name'); var quantity_el = el.querySelector('td.quantity'); var price_el = el.querySelector('td.price'); var amount_el = el.querySelector('td.amount'); name_el.innerText = input_name_el.value; quantity_el.innerText = 'x ' + quantity; price_el.innerText = printCurrency(price); amount_el.innerText = printCurrency(price * quantity); } else { error_el.style.display = 'block'; return; // An error - do not allow to save until fixed } } var editable_el = el.querySelector('div.editable'); editable_el.style.opacity = is_editing ? 0 : 1; editable_el.style.height = is_editing ? '1px' : null; Array.prototype.forEach.call(el.querySelectorAll('tr.preview'), function(el) { el.style.opacity = !is_editing ? 0.5 : 1; }); toggle_el.innerText = is_editing ? edit_label : save_label; if (!is_editing && error_el.style.display == 'block') { error_el.style.display = 'none'; } } function onSin(event) { var input_el = event.currentTarget; if (input_el) { var value = input_el.value.replace(/\D/g,'').substring(0,10); input_el.value = value.replace(/(\d{3})(\d{3})(\d{3})/, '$1 $2 $3'); } } function onSsn(event) { var input_el = event.currentTarget; if (input_el) { var value = input_el.value.replace(/\D/g,'').substring(0,10); input_el.value = value.replace(/(\d{3})(\d{2})(\d{4})/, '$1 $2 $3'); } } function onBankAccount(event) { var input_el = event.currentTarget; if (input_el) { var value = input_el.value.replace(/\D/g,''); input_el.value = value.replace(/(\d{5})(\d{3})(\d{7,12})/, '$1 $2 $3'); } } function onBankAccountToggleHelp(event) { event.preventDefault(); var help_el = event.currentTarget.parentNode.parentNode.querySelector('div.img-wrapper'); help_el.style.display = help_el.style.display == 'none' ? 'block' : 'none'; return false; } function onApplyCoupon(event) { event.preventDefault(); var el = event.currentTarget.parentNode; var coupon_el = el.parentNode.querySelector('div.form-group.coupon'); el.style.display = 'none'; coupon_el.style.display = 'block'; coupon_el.style.visibility = 'visible'; coupon_el.classList.remove("super-hide"); } function applyCoupon(event) { event.preventDefault(); var el = event.currentTarget.parentNode.parentNode; var coupon_el = el.parentNode.querySelector('input.coupon-input'); var code = event.currentTarget.getAttribute('data-code'); coupon_el.value = code; } function capitalizeValue(event) { var el = event.currentTarget; if (el.value) el.value = el.value.toUpperCase() } function areAllTermsAccepted() { var allAreFilled = true; Array.prototype.forEach.call(document.querySelectorAll("input[type=checkbox][required]"), function(el) { if (!allAreFilled) return; if (!el.checked) allAreFilled = false; }); return allAreFilled; } HTMLElement.prototype.serialize = function(){ var obj = {}; var elements = this.querySelectorAll( "input, select, textarea" ); for( var i = 0; i < elements.length; ++i ) { var element = elements[i]; var name = element.name; var value = element.value; if( name ) { obj[ name ] = value; } } return JSON.stringify( obj ); } // Called on click on the submit button of the form to remove // hidden questions so they do not get serialized. // The browser will then serialize but abort if required fields // are not all filled. // After 1s, we restore the questions if an abort did not occur. function removeHiddenQuestionsFromDOM(form_el) { window.removedHiddenQuestions = [] Array.prototype.forEach.call(form_el.querySelectorAll('.form-question.branch-can-hide'), function(el) { if (el.style.display == 'none') { var div = document.createElement('div'); el.parentNode.replaceChild(div, el) window.removedHiddenQuestions.push({ div: div, el: el }); } }); setTimeout(function() { restoreHiddenQuestionsFromDOM() }, 500) } function isInViewport(element) { var rect = element.getBoundingClientRect(); return ( rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && rect.right <= (window.innerWidth || document.documentElement.clientWidth) ); } function restoreHiddenQuestionsFromDOM() { if (window.removedHiddenQuestions.length > 0) { for (var i = 0; i < (window.removedHiddenQuestions).length; i++) { var pair = window.removedHiddenQuestions[i] pair.div.parentNode.replaceChild(pair.el, pair.div) } window.removedHiddenQuestions = []; } // If we had a required field missing, scroll to it var focus_el = document.querySelector(':focus'); if (focus_el && focus_el.tagName.toLowerCase() != 'button' && !isInViewport(focus_el)) { focus_el.scrollIntoView(); } } function onSubmit(e) { e.preventDefault(); window.removedHiddenQuestions = []; if (window.location.href.indexOf('?sample') !== -1) { alert('This is a sample. It must first be copied to be used.'); return; } var pass = areAllTermsAccepted(); document.getElementById('accept-error').style.display = pass ? 'none' : 'block'; if (!pass) return false; grecaptcha.ready(function() { grecaptcha.execute('6LfYsMYZAAAAAOI6BKaH0Iu-kuEr1z9sbnGdTkYO', {action: 'submit'}).then(function(token) { document.querySelector('input[name=captcha_token]').value = token; submitTheForm(); }); }); Array.prototype.forEach.call(document.querySelectorAll('button[type=submit]'), function(el) { el.disabled = true; }); return false; } function submitTheForm() { var upload_video_file = document.querySelector('input[name=upload_video]'); if (upload_video_file) upload_video_file.disabled = true; var upload_images_file = document.querySelector('input[name=upload_image]'); if (upload_images_file) upload_images_file.disabled = true var upload_documents_file = document.querySelector('input[name=upload_document]'); if (upload_documents_file) upload_documents_file.disabled = true document.getElementById('form').submit(); } function logErrors(message, url, lineNumber) { } function maybeShowRequiredFieldMissing() { var error_el = document.querySelector('.required-field-missing'); if (!error_el) return var pass = document.getElementById('form').checkValidity(); error_el.style.display = pass ? 'none' : 'block'; } function hideRequiredFieldMissing() { var error_el = document.querySelector('.required-field-missing'); if (!!error_el) error_el.style.display = 'none'; } function toggleRequiredForDataClientRequired(parentNode, required) { Array.prototype.forEach.call(parentNode.querySelectorAll('input[data-client-required],select[data-client-required],textarea[data-client-required]'), function(el) { el.required = required; //console.log(el, el.required); }); } function onClickSave(e, save_url) { toggleRequiredForDataClientRequired(document, false); removeHiddenQuestionsFromDOM(e.currentTarget.form); e.currentTarget.form.action = save_url; } function phoneMask(e) { var x = e.target.value.replace(/\D/g, '').match(/(\d{0,3})(\d{0,3})(\d{0,4})/); if(x && x[0].length <= 9){ e.target.value = !x[2] ? x[1] : '' + x[1] + '-' + x[2] + (x[3] ? '-' + x[3] : ''); } } function onChange() { Array.prototype.forEach.call(document.querySelectorAll('p.error'), function(el) { el.style.display = 'none'; }); } function onChangeCustomCheckbox() { var values = []; Array.prototype.forEach.call(document.querySelectorAll('.form-group.custom input[type=checkbox]:checked'), function(el) { values.push(el.parentElement.textContent.trim()); }); document.querySelector('input[name=custom]').value = JSON.stringify(values); } function bindEventBlockPassword(password_protected_el) { var slug = password_protected_el.dataset.slug; var blur_el = document.querySelector('.event-password-protected-blur[data-slug="' + slug + '"]'); var modal_el = document.getElementById('event-password-protected-modal-'+slug); var password_el = modal_el.querySelector('input[name="' + slug + '[password]"]'); // Show var show_password_button_el = password_protected_el.querySelector('a.enter-password-button'); function show() { MicroModal.show(modal_el.id); password_el.type = 'text'; password_el.required = true; error_el.style.display = 'none'; } if (show_password_button_el) { show_password_button_el.onclick = function(e) { e.preventDefault(); show(); }; } // Close var cancel_el = modal_el.querySelector('a.cancel'); var close_el = modal_el.querySelector('a.modal__close'); function close() { password_el.type = 'hidden'; password_el.required = false; MicroModal.close(modal_el.id); } cancel_el.onclick = function(e) { e.preventDefault(); close(); }; close_el.onclick = function(e) { e.preventDefault(); close(); }; // Save var save_el = modal_el.querySelector('a.save.button'); var please_wait_el = modal_el.querySelector('p.please-wait'); var error_el = modal_el.querySelector('p.error'); function save() { if (save_el.className.indexOf('disabled') >= 0) return; save_el.className = 'save button thin disabled'; error_el.style.display = 'none'; error_el.innerText = ''; please_wait_el.style.display = 'block'; // checking if has events slug var classId = null; var multi = show_password_button_el.closest('.multi-class'); if (multi) { slug = multi.dataset.multi; classId = multi.dataset.id; } var url = "https:\/\/activitymessenger.com\/p\/hOnZuPd\/verify_class_password"; var data = { slug: slug, password: password_el.value, am_class_id: classId, }; axios.post(url, data) .then(function(response) { please_wait_el.style.display = 'none'; password_protected_el.style.display = 'none'; blur_el.style.display = 'none'; close(); }) .catch(function(error) { if (error && error.response && error.response.data) { error_el.innerText = error.response.data; } else { error_el.innerText = "Unexpected error. Please contact us at support@activitymessenger.com for assistance."; } error_el.style.display = 'block'; please_wait_el.style.display = 'none'; save_el.className = 'save button thin'; }) } password_el.onkeydown = function(e) { if (e.keyCode == 13) { e.preventDefault(); save(); } }; save_el.onclick = function(e) { e.preventDefault(); save(); }; } function isVisible(e) { return !!( e.offsetWidth || e.offsetHeight || e.getClientRects().length ); } function bindCalendar(el) { var date = null; var now = new Date(); Array.prototype.forEach.call(el.querySelectorAll('input[type=hidden]'), function(el) { var d = new Date(el.value); el.dataset.date = d.toISOString(); el.dataset.ymd = getYmd(d); if (d.getTime() >= now.getTime() && (date == null || d.getTime() < date.getTime())) date = d; }); renderCalendar(el, date || now); } function bindEventsBlockFilters() { Array.prototype.forEach.call(document.querySelectorAll('.form-question-filter'), function(el) { eventsFiltersCheckWhatToShow(el); }); } function bindQuestionEventsAfterLoadedAndRendered(dom) { //console.log('bindQuestionEventsAfterLoadedAndRendered', dom); Array.prototype.forEach.call(dom.querySelectorAll('div.description-more'), function(el) { mountDescriptionMore(el); }); Array.prototype.forEach.call(dom.querySelectorAll('input:not(.ignore-change)'), function(el) { el.addEventListener('change', onChange); }); /*Array.prototype.forEach.call(dom.querySelectorAll('input.register'), function(el) { if (el.checked) { maybeCheckForMultiPersons(el.dataset.slug, true); } });*/ Array.prototype.forEach.call(dom.querySelectorAll('div.body.calendar'), function(el) { bindCalendar(el); }); Array.prototype.forEach.call(dom.querySelectorAll('.person'), function(el) { if (el.dataset.multiple == 'true' && !!el.dataset.slug) { adjustYouthIndices(el.dataset.slug, el.closest('.form-question')); } }); Array.prototype.forEach.call(dom.querySelectorAll('.event-password-protected'), bindEventBlockPassword); toggleRequiredForDataClientRequired(dom, false); } function eventsFiltersCheckWhatToShow(el) { var qel = el; while (!!qel && typeof qel.className == 'string' && qel.className.indexOf('form-question-filter') === -1) { qel = qel.parentNode; } if (!qel) { //console.log("eventsFiltersCheckWhatToShow cannot find qel", el); return; } if (!qel.dataset || !qel.dataset.question_id) { //console.log("eventsFiltersCheckWhatToShow qel dataset is empty", qel); return; } //console.log('eventsFiltersCheckWhatToShow', qel); var question_id = qel.dataset.question_id; var question_slug = qel.dataset.question_slug; var filters = JSON.parse(qel.dataset.filters); // check all checked elements var element = document.getElementById('form-question-'+question_id); var radios = element.getElementsByTagName('input'); var checked = []; for (i = 0; i < radios.length; i++) { if ((radios[i].type == 'radio' || radios[i].type == 'checkbox') && radios[i].checked) { checked.push(radios[i]); } } // getting what to show for each question var show = []; for (var i = 0; i < checked.length; i++) { var index = checked[i].getAttribute('name').replace(question_slug+'[filters][', '').replace(']', '').replace('[]', ''); var filter = filters[index]; for (var b = 0; b < filter.options.length; b++) { if (filter.options[b].value == checked[i].value) { if (!show[index]) { show[index] = []; } show[index] = show[index].concat(filter.options[b].show_question_ids); } } } function checkIfShow(show, id) { var has = false; for (var i = 0; i < show.length; i++) { if (show[i]) { if (show[i].indexOf(id) != -1) { has = true; } else { has = false; return has; } } } return has; } // showing questions with a AND logic var class_ids = []; for (var i = 0; i < show.length; i++) { if (!show[i]) { continue; } var elements = show[i]; for (var b = 0; b < elements.length; b++) { if (checkIfShow(show, elements[b])) { class_ids.push(elements[b]); } } } if (class_ids.length == 0 && (!el.getAttribute('data-show-filters') || el.getAttribute('data-show-all')) && !!el.getAttribute('data-class_ids')) { class_ids = JSON.parse(el.getAttribute('data-class_ids')); if (!class_ids || !class_ids.length) class_ids = []; } loadClassesForEventsBlockAfterFilter(qel.parentNode, class_ids); } function loadClassesForEventsBlockAfterFilter(dom, class_ids) { var organization_id = JSON.parse(dom.dataset.organization_id); var data = { slug: dom.dataset.slug, form_id: JSON.parse(dom.dataset.form_id), recipient_id: JSON.parse(dom.dataset.recipient_id), client_id: JSON.parse(dom.dataset.client_id), _token: 'x0GN1kc4eCmCXAyEajahNXDWDUH2Ts6mbgvnUUuV' }; // Do not load classes already loaded var class_ids_not_to_load = []; Array.prototype.forEach.call(dom.querySelectorAll('.multi-class'), function(el) { var class_id = JSON.parse(el.dataset.id); var index = class_ids.indexOf(class_id); if (index >= 0) class_ids_not_to_load.push(class_id); }); var class_ids_to_load = []; Array.prototype.forEach.call(class_ids, function(class_id) { if (class_ids_not_to_load.indexOf(class_id) === -1) class_ids_to_load.push(class_id); }); data.class_ids = class_ids_to_load; /*console.log('load classes', { class_ids: class_ids, class_ids_to_load: class_ids_to_load, });*/ function onAfterLoaded() { // Hide classes we aren't suppose to show Array.prototype.forEach.call(dom.querySelectorAll('.multi-class'), function(class_el) { var class_id = JSON.parse(class_el.dataset.id); if (class_ids.indexOf(class_id) === -1) { class_el.style.display = 'none'; } }); // Show and reorder classes var cursor_el = null; Array.prototype.forEach.call(class_ids, function(class_id) { var class_el = dom.querySelector('.multi-class[data-id="'+class_id+'"]'); if (!class_el) return; class_el.style.display = 'block'; //console.log('found', class_el.id); if (!!cursor_el && cursor_el.id != class_el.id && (!cursor_el.nextSibling || cursor_el.nextSibling.id != class_el.id)) { cursor_el.after(class_el); //console.log('moved', class_el.id, 'after', cursor_el.id); } cursor_el = class_el; }); // check if classes has register on var inputs = document.querySelectorAll('input.register'); Array.prototype.forEach.call(inputs, function(el) { if (el.checked) { maybeCheckForMultiPersons(el.dataset.slug, true, el.parentNode.parentNode.parentNode); } }); // Fix for error validator Array.prototype.forEach.call(dom.querySelectorAll('.multi-class'), function(el) { toggleRequiredForDataClientRequired(el, false); }); } if (data.class_ids.length == 0) { onAfterLoaded(); if (window.checkForCalendar) { window.checkForCalendar(dom); } return; } var loader_el = dom.querySelector('.loader'); loader_el.style.display = 'block'; axios.post('/org/'+organization_id+'/get_form_question_events_by_class_ids', data) .then(function(response) { loader_el.style.display = 'none'; // Inject new classes var divs = []; Array.prototype.forEach.call(response.data.classes, function(html) { var div = document.createElement('div'); dom.append(div); div.outerHTML = html; divs.push(div); }); onAfterLoaded(); requestAnimationFrame(function() { Array.prototype.forEach.call(data.class_ids, function(class_id) { var class_el = dom.querySelector('.multi-class[data-id="'+class_id+'"]'); if (!!class_el) { bindQuestionEventsAfterLoadedAndRendered(class_el); } }); }); if (window.checkForCalendar) { window.checkForCalendar(dom); } }) .catch(function(error) { console.error(error); loader_el.style.display = 'none'; }); } function onDOMContentLoaded(event) { var submit_button = document.querySelector('button[type=submit]'); var fido = document.querySelector('input[name=fido]'); setTimeout(function() { if (fido) fido.value = fido.dataset.fido; }, 2000); Array.prototype.forEach.call(document.querySelectorAll('div.description-more'), function(el) { mountDescriptionMore(el); }); Array.prototype.forEach.call(document.querySelectorAll('.form-question.radios_branch'), function(el) { checkForQuestionsToShow(el); }); Array.prototype.forEach.call(document.querySelectorAll('.form-group.age-category'), bindAgeCategory); Array.prototype.forEach.call(document.querySelectorAll('input:not(.ignore-change)'), function(el) { el.addEventListener('change', onChange); }); Array.prototype.forEach.call(document.querySelectorAll('.form-group.custom input[type=checkbox]'), function(el) { el.addEventListener('change', onChangeCustomCheckbox); }); Array.prototype.forEach.call(document.querySelectorAll('.toggle-client-required-off'), function(el) { toggleRequiredForDataClientRequired(el, false); }); Array.prototype.forEach.call(document.querySelectorAll('.event-details'), function(el) { var personDom = el.querySelectorAll('.persons'); if (!isVisible(el) && personDom && personDom.length > 0) { toggleRequiredForDataClientRequired(el, false); } var personDom = el.querySelectorAll('.person'); if (!isVisible(el) && personDom && personDom.length > 0) { toggleRequiredForDataClientRequired(el, false); } }); Array.prototype.forEach.call(document.querySelectorAll('.scroll-wrapper .scroll-button'), bindScrollWrapperButton); Array.prototype.forEach.call(document.querySelectorAll('div.body.calendar'), function(el) { bindCalendar(el); }); maybeUpdateExpenseAmountSum(); maybeUpdateAgeCategoryAmountSum(); Array.prototype.forEach.call(document.querySelectorAll('.person'), function(el) { if (el.dataset.multiple == 'true' && !!el.dataset.slug) { adjustYouthIndices(el.dataset.slug, el.closest('.form-question')); } }); Array.prototype.forEach.call(document.querySelectorAll('select.use-vanilla-select-box'), function(el) { if (!!window.vanillaSelectBox) { Array.prototype.forEach.call(el.parentNode.querySelectorAll('.vanilla-select-box-hide-if-works'), function(el) { el.style.display = 'none'; }); el.onchange = undefined; el.vanillaSelectBox = new vanillaSelectBox('select.use-vanilla-select-box[name="'+el.name+'"]', { search: true, maxSelect: !el.dataset.maxSelect ? undefined : parseInt(el.dataset.maxSelect, 10), translations: { all: window.lang == 'fr' ? 'Tous' : 'All', item: window.lang == 'fr' ? 'élément' : 'item', items: window.lang == 'fr' ? 'éléments' : 'items', selectAll: window.lang == 'fr' ? 'Tout sélectionner' : 'Select all', clearAll: window.lang == 'fr' ? 'Effacer' : 'Clear', }, }); el.parentNode.querySelector('.vsb-main button').style = undefined; } var import_button_el = el.parentNode.parentNode.querySelector('a.import-button'); if (!!import_button_el) { import_button_el.onclick = function(e) { e.preventDefault(); showRecipientsSelectImportModal({ title: import_button_el.parentNode.querySelector('h3').innerText, select_el: el, on_save_fn: function(selected_ids) { if (!!el.vanillaSelectBox) { el.vanillaSelectBox.setValue(selected_ids); } else { Array.prototype.forEach.call(el.querySelectorAll('option'), function(el) { el.selected = selected_ids.indexOf(el.value) >= 0 }); var clear_el = el.parentNode.parentNode.querySelector('a.clear'); if (clear_el.dataset.keepHidden != 'true') { clear_el.parentNode.style.display = 'block'; } } } }); }; } }); Array.prototype.forEach.call(document.querySelectorAll('.event-password-protected'), bindEventBlockPassword); bindEventsBlockFilters(); window.am_logged_errors = []; window.addEventListener('error', function(event) { if (window.am_logged_errors.length > 5) return; window.am_logged_errors.push(event); var error_input_el = document.querySelector('input#am-logged-errors'); if (error_input_el) error_input_el.value = JSON.stringify(window.am_logged_errors); }); } window.addEventListener('DOMContentLoaded', onDOMContentLoaded); function continueOnClick(event) { event.preventDefault(); var btn = document.querySelector('.next-btn'); btn.click(); }
Sport Manitoba - MB Games Parent Information Session (2024)
Top Articles
Latest Posts
Article information

Author: Domingo Moore

Last Updated:

Views: 6261

Rating: 4.2 / 5 (53 voted)

Reviews: 84% of readers found this page helpful

Author information

Name: Domingo Moore

Birthday: 1997-05-20

Address: 6485 Kohler Route, Antonioton, VT 77375-0299

Phone: +3213869077934

Job: Sales Analyst

Hobby: Kayaking, Roller skating, Cabaret, Rugby, Homebrewing, Creative writing, amateur radio

Introduction: My name is Domingo Moore, I am a attractive, gorgeous, funny, jolly, spotless, nice, fantastic person who loves writing and wants to share my knowledge and understanding with you.