var emailLink = 'healthcare.home-uk@boc.com';
var alertMsg = 0;
function validateDropDown(evt, dropDown) {
if (evt != 0) {
var dropDownValue = document.getElementById(dropDown).value;
var display = document.getElementById(dropDown).getAttribute('display');
//console.log(evt.type + " " + dropDown);
if (
document.getElementById(dropDown).value === '' &&
evt.type !== 'blur' &&
evt.type !== 'change' &&
((dropDown != 'cx_webchat_form_subject1' && display != null) || dropDown == 'cx_webchat_form_subject1')
) {
if (alertMsg == 0) {
window._genesys.widgets.common.showAlert(document.querySelectorAll('.cx-widget.cx-webchat')[0], { text: 'Please fill all required fields *', buttonText: 'Ok' });
alertMsg = 1;
}
return false;
} else {
switch (dropDown) {
case 'cx_webchat_form_subject1':
if (dropDownValue === 'newAccount') {
document.getElementById('cx_webchat_form_subject2').parentNode.parentNode.style.display = '';
} else if (dropDownValue === '' || dropDownValue !== 'newAccount') {
document.getElementById('cx_webchat_form_subject2').value = '';
document.getElementById('cx_webchat_form_subject2').parentNode.parentNode.style.display = 'none';
document.getElementById('cx_webchat_form_subject3').value = '';
document.getElementById('cx_webchat_form_subject3').parentNode.parentNode.style.display = 'none';
}
break;
case 'cx_webchat_form_subject2':
if (dropDownValue === 'healthcare') {
document.getElementById('cx_webchat_form_subject3').parentNode.parentNode.style.display = '';
} else if (dropDownValue === '' || dropDownValue !== 'healthcare') {
document.getElementById('cx_webchat_form_subject3').value = '';
document.getElementById('cx_webchat_form_subject3').parentNode.parentNode.style.display = 'none';
}
break;
case 'cx_webchat_form_subject3':
if (dropDownValue === 'patient') {
document.querySelectorAll('.cx-form-inputs')[0].innerHTML =
"
Sorry, we can't chat right now. For concerns and inquiries please send a message to this email
" +
emailLink +
' ';
document.querySelectorAll('.cx-btn-default.cx-btn')[2].style.float = 'none';
document.querySelectorAll('.cx-btn-default.cx-btn')[2].innerHTML = 'Close';
document.querySelectorAll('.cx-btn-primary.cx-submit')[0].style.display = 'none';
document.querySelectorAll('.cx-form.cx-form-horizontal')[0].style.textAlign = 'center';
document.querySelectorAll('.cx-button-group')[0].style.display = 'inline-block';
}
break;
}
}
var s1 = document.getElementById('cx_webchat_form_subject1');
var s1_value = s1.options[s1.selectedIndex].value;
var s1_text = s1.options[s1.selectedIndex].text;
if (s1_value != '') {
document.getElementById('cx_webchat_form_subjectText1').value = s1_text;
} else {
document.getElementById('cx_webchat_form_subjectText1').value = '';
}
var s2 = document.getElementById('cx_webchat_form_subject2');
var s2_value = s2.options[s2.selectedIndex].value;
var s2_text = s2.options[s2.selectedIndex].text;
if (s2_value != '') {
document.getElementById('cx_webchat_form_subjectText2').value = s2_text;
} else {
document.getElementById('cx_webchat_form_subjectText2').value = '';
}
var s3 = document.getElementById('cx_webchat_form_subject3');
var s3_value = s3.options[s3.selectedIndex].value;
var s3_text = s3.options[s3.selectedIndex].text;
if (s3_value != '') {
document.getElementById('cx_webchat_form_subjectText3').value = s3_text;
} else {
document.getElementById('cx_webchat_form_subjectText3').value = '';
}
}
return true;
}
function validateTextField(event, form, input, label, $, CXBus, Common) {
if (event.type != 'blur' && event.type != 'keyup') {
if (input != undefined) {
if (input[0].value === '' || input[0].value === undefined) {
if (alertMsg == 0) {
window._genesys.widgets.common.showAlert(document.querySelectorAll('.cx-widget.cx-webchat')[0], { text: 'Please fill all required fields *.', buttonText: 'Ok' });
alertMsg = 1;
}
return false;
}
}
}
return true;
}
window._genesys = {
widgets: {
main: {
theme: 'light',
},
webchat: {
transport: {
type: 'purecloud-v2-sockets',
dataURL: 'https://api.euw2.pure.cloud',
deploymentKey: '7f2220c9-b029-43c5-ab87-e3f2d817e6e8', //5e918081-067e-46db-ad3e-243ef964731a",
orgGuid: 'd1c2211b-1dcd-4303-8c05-658dd2e90d73',
},
userData: {
firstName: '',
},
form: getAdvancedConfig(),
},
},
};
function getAdvancedConfig() {
return {
wrapper: '',
inputs: [
{
id: 'cx_webchat_form_name',
name: 'firstName',
maxlength: '100',
placeholder: 'Required',
label: 'Name *',
validate: function (event, form, input, label, $, CXBus, Common) {
return validateTextField(event, form, input, label, $, CXBus, Common);
},
},
{
id: 'cx_webchat_form_email',
name: 'email',
maxlength: '100',
placeholder: 'Optional',
label: 'Email',
},
{
id: 'cx_webchat_form_boc_account_number',
name: 'bocAccountNo',
maxlength: '100',
placeholder: 'Optional',
label: 'BOC Acct No',
},
{
id: 'cx_webchat_form_subject1',
name: 'subject1',
maxlength: '100',
placeholder: 'Required',
label: false,
colspan: '2',
type: 'select',
options: [
{
text: 'Please select: *',
value: '',
},
{
text: 'New account or gas product enquiry',
value: 'newAccount',
},
{
text: 'Query about an existing account',
value: 'query',
},
{
text: 'I need help with the website',
value: 'needHelp',
},
{
text: 'Support with Speciality gas & related equipment',
value: 'support',
},
{
text: 'Welding, gas equipment or consumable enquiry',
value: 'welding',
},
],
validate: function (evt) {
return validateDropDown(evt, 'cx_webchat_form_subject1');
},
},
{
id: 'cx_webchat_form_subject2',
name: 'subject2',
maxlength: '100',
placeholder: 'Required',
label: false,
colspan: '2',
type: 'select',
options: [
{
text: 'Please select type: *',
value: '',
},
{
text: 'Industrial',
value: 'industrial',
},
{
text: 'Balloon gas & Drinks dispense gases',
value: 'balloonGas',
},
{
text: 'Speciality gases',
value: 'specialtyGases',
},
{
text: 'Healthcare',
value: 'healthcare',
},
],
validate: function (evt) {
return validateDropDown(evt, 'cx_webchat_form_subject2');
},
},
{
id: 'cx_webchat_form_subject3',
name: 'subject3',
maxlength: '100',
placeholder: 'Required',
label: false,
colspan: '2',
type: 'select',
options: [
{
text: 'Please select, are you a ... ?',
value: '',
},
{
text: 'Healthcare Professional',
value: 'healthcareProfessional',
},
{
text: 'Patient',
value: 'patient',
},
],
validate: function (evt) {
return validateDropDown(evt, 'cx_webchat_form_subject3');
},
},
{
id: 'cx_sendmessage_form_messagebody',
type: 'textarea',
name: 'messagebody',
rows: '2',
placeholder: 'Please provide us with a summary of your query',
label: false,
},
{
id: 'cx_webchat_form_firstname',
name: 'firstname',
type: 'hidden',
maxlength: '100',
},
{
id: 'cx_webchat_form_subjectText1',
name: 'subjectText1',
type: 'hidden',
maxlength: '100',
value: '',
},
{
id: 'cx_webchat_form_subjectText2',
name: 'subjectText2',
type: 'hidden',
maxlength: '100',
value: '',
},
{
id: 'cx_webchat_form_subjectText3',
name: 'subjectText3',
type: 'hidden',
maxlength: '100',
value: '',
},
],
};
}
function loadWidgets() {
CXBus.subscribe('WebChat.opened', function (e) {
document.getElementById('cx_webchat_form_subject1').parentNode.setAttribute('colspan', '2');
document.querySelectorAll("label[for='cx_webchat_form_subject1']")[0].parentNode.style.display = 'none';
document.getElementById('cx_webchat_form_subject2').parentNode.setAttribute('colspan', '2');
document.querySelectorAll("label[for='cx_webchat_form_subject2']")[0].parentNode.style.display = 'none';
document.getElementById('cx_webchat_form_subject3').parentNode.setAttribute('colspan', '2');
document.querySelectorAll("label[for='cx_webchat_form_subject3']")[0].parentNode.style.display = 'none';
document.querySelectorAll("label[for='cx_webchat_form_subject2']")[0].parentNode.parentNode.style.display = 'none';
document.querySelectorAll("label[for='cx_webchat_form_subject3']")[0].parentNode.parentNode.style.display = 'none';
document.getElementById('live_chat').style.display = 'none';
document.querySelectorAll('.cx-submit.cx-btn.cx-btn-primary.i18n')[0].setAttribute('id', 'cx-start-chat');
document.addEventListener('click', function (e) {
if (e.target && e.target.id == 'cx-start-chat') {
alertMsg = 0;
}
});
});
CXBus.subscribe('WebChatService.ended', function (e) {
CXBus.command('WebChat.close');
});
CXBus.subscribe('WebChat.closed', function (e) {
document.getElementById('live_chat').style.display = '';
});
}
if (document.querySelectorAll('.cx-widget.cx-common-container')[0] != undefined) {
document.querySelectorAll('.cx-widget.cx-common-container')[0].addEventListener('click change blur', displayDate());
}
function displayDate() {
var name = document.getElementById('cx_webchat_form_name').value;
document.getElementById('cx_webchat_form_firstname').value = name;
}
var genesysCobrowse = (function () {
function getCookie(name) {
var nameEQ = name + '=';
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return null;
}
function startChatCoBrowse() {
window.PureCloud.cobrowse.startSharing(
{
locale: 'en',
participant: {
displayName: 'Customer',
},
},
function (err, sharerSession) {
if (err) {
console.error('Unable to share page', err.stack || err);
}
console.log('Co-browse initiated. Page is being shared.');
if (window._genesys.widgets !== 'undefined') {
var message = '**The customer has requested a Co-browse session:** Please copy the session ID into the Co-browse Script Window: ' + sharerSession.getCobrowseSession().data.code;
CXBus.command('WebChatService.sendFilteredMessage', { message: message, regex: /\*\*The customer has requested a Co-browse session:\*\*.*/ });
}
}
);
}
function startVoiceCobrowse() {
let cobrowseContainer = document.querySelector('#cobrowse-voice-security-form');
if (!cobrowseContainer) {
const el = document.querySelector('#cobrowse');
const newEl = document.createElement('div');
newEl.id = 'cobrowse-voice-security-form';
el.after(newEl);
}
let iframeExists = document.querySelector('#cobrowse-voice-security-form').children.length > 0;
if (iframeExists) {
cobrowseContainer.style.display = '';
return;
}
document.addEventListener('click', function (event) {
let cobrowseContainer = document.querySelector('#cobrowse-voice-security-form');
let cobrowseButton = document.querySelector('#cobrowse');
let iframeExists = document.querySelector('#cobrowse-voice-security-form').children.length > 0;
if (!cobrowseButton.contains(event.target) && !cobrowseContainer.contains(event.target) && iframeExists) {
cobrowseContainer.style.display = 'none';
}
});
let config = {
webchatAppUrl: 'https://apps.euw2.pure.cloud/webchat',
webchatServiceUrl: 'https://realtime.euw2.pure.cloud:443',
orgId: 228,
orgGuid: 'd1c2211b-1dcd-4303-8c05-658dd2e90d73',
orgName: 'boc-mpg-healthcare',
locale: 'en',
cssClass: 'cobrowse-frame',
css: {
'text-align': 'center',
width: '100%',
height: '120px',
border: '0',
},
contentCssUrl: 'https://www.boconline.co.uk/en/images/genesys_cobrowse_voice_custom_tcm410-670613.css',
containerEl: 'cobrowse-voice-security-form',
promptForSecurityKey: true,
};
// Can also use callback
ININ.cobrowse
.create(config)
.then(function (result) {
// Handle success
})
.catch(function (err) {
// Handle failure
});
}
return {
startCobrowse: function () {
let chatActive = getCookie('_genesys.widgets.webchat.state.purecloud-v2-sockets.ConversationID');
if (chatActive) {
startChatCoBrowse();
} else {
startVoiceCobrowse();
}
},
};
})();