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(); } }, }; })();