// Validation rules
(window.KenticoClientValidation = window.KenticoClientValidation || {})['innerForm'] = [{
FieldID: 'nameFieldContainer',
FieldName: 'NameOfReporter',
ValidationRules: {
required: {
message: 'Please enter your name'
},
maxlength: {
max: 80
}
}
}, {
FieldID: 'phoneFieldContainer',
FieldName: 'ContactNumber',
ValidationRules: {
required: {
message: 'Please enter contact number'
},
maxlength: {
max: 40
}
}
}, {
FieldID: 'emailFieldContainer',
FieldName: 'Email',
ValidationRules: {
required: {
message: 'Please enter a valid email address'
},
pattern: {
message: 'Please enter a valid email address',
pattern: "^[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[A-Za-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?\.)+[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?$"
},
maxlength: {
max: 255
}
}
}, {
FieldID: 'dateFieldContainer',
FieldName: 'DateEventOccurred',
ValidationRules: {
required: {
message: 'Please select the date the event occurred'
},
maxlength: {
max: 20
}
}
}, {
FieldID: 'locationFieldContainer',
FieldName: 'LocationEventOccurred',
ValidationRules: {
required: {
message: 'Please enter the location the event occurred'
},
maxlength: {
max: 5000
}
}
}, {
FieldID: 'reportingFieldContainer',
FieldName: 'WhatAreYouReporting',
ValidationRules: {
required: {
message: 'Please select what you are reporting'
}
}
}, {
FieldID: 'detailsFieldContainer',
FieldName: 'ProvideDetailsOfRiskIncident',
ValidationRules: {
required: {
message: 'Please enter details of risk/incident'
},
maxlength: {
max: 5000
}
}
}];
// Visibility condition
var triggerEl = document.getElementById('00NOl000001k7Vl');
var dependentField = document.getElementById('applicableFieldContainer');
if (triggerEl && dependentField) {
triggerEl.addEventListener('change', function () {
if (triggerEl.value === 'Injury') {
dependentField.style.display = '';
} else {
dependentField.querySelectorAll('input,select,textarea').forEach(el => el.value = '');
dependentField.style.display = 'none';
}
});
}
// Submit handler
var formSubmitBtn = document.querySelector('#innerForm [type=submit]');
if (formSubmitBtn) {
formSubmitBtn.addEventListener('click', function (e) {
e.preventDefault();
e.stopPropagation();
let isValid = true;
let fields = document.getElementById('innerForm')?.querySelectorAll('input,select,textarea');
for (let i = 0; i < fields.length; i++) {
$(fields[i]).trigger('change');
isValid = $(fields[i]).valid() && isValid;
}
if (!isValid) {
return;
}
var form = document.createElement('form');
form.method = 'POST';
form.action = 'https://webto.salesforce.com/servlet/servlet.WebToCase?encoding=UTF-8&orgId=00D7F000007DMnK';
var inputs = [
{ name: 'orgid', value: '00D7F000007DMnK' },
{ name: 'retURL', value: 'https://www.racingqueensland.com.au/about/whs-insurance/report-an-incident-form/submission' },
{ name: 'subject', value: document.getElementById('subject').value },
{ name: 'name', value: document.getElementById('name').value },
{ name: 'phone', value: document.getElementById('phone').value },
{ name: 'email', value: document.getElementById('email').value },
{ name: '00NOl000001k7Vm', value: document.getElementById('00NOl000001k7Vm').value }, // Date event occurred
{ name: '00NOl000001k7Vn', value: document.getElementById('00NOl000001k7Vn').value }, // Location event occurred
{ name: '00NOl000001k7Vl', value: document.getElementById('00NOl000001k7Vl').value }, // What are you reporting?
{ name: '00NOl000001k7Vp', value: document.getElementById('00NOl000001k7Vp').value }, // Any of the following applicable?
{ name: '00NOl000001k7Vo', value: document.getElementById('00NOl000001k7Vo').value }, // Details of risk/incident
{ name: 'external', value: '1' }
];
inputs.forEach(function (inputData) {
var input = document.createElement('input');
input.type = 'hidden';
input.name = inputData.name;
input.value = inputData.value;
form.appendChild(input);
});
document.body.appendChild(form);
form.submit();
});
}