var cb_logged,cb_center_id,center_cb_exist,cb_prov_active,cb_provider_id,
cb_temp_cid,cb_temp_ecn;
cb_chat_session = getCookie('chat_session');
// CHECK IF LOOGED
$(function(){$.post('/widget/ajax/check_if_logged.php', {cb_session: cb_chat_session}, function(data, textStatus, xhr) {cb_logged=$.trim(data);});});
// CHAT WITH US BUTTON CLICK
$(document).on('click', '.chat-with-us', function(event) {
cb_center_id = $(this).attr('data-center-id'),
cb_get_provider_status_and_id(cb_center_id);
});
// OPEN CHAT WINDOW
$(document).on('click', '.3_way_conv', function(event) {
var ch_id = $(this).attr('data-id');
var ch_thumb = $(this).attr('data-cb_3w_thumb');
var ch_slug = $(this).attr('data-c-slug');
var ch_center = $(this).attr('data-centername');
open_chat_window(ch_id,ch_thumb,ch_slug,ch_center);
});
// TOGGLE CHAT SIDEBAR
$(document).on('click', ':not(input)', function(event) {
if($(event.target).closest("#chat-dropup-btn").length > 0){
$('#chat_channels_ul').show();
$('#chat_channels_ul').closest('.slimScrollDiv').show();
}
else {
if ($('#chat_channels_ul').closest('.slimScrollDiv').css('display')=='block') {
$('#chat_channels_ul').hide();
$('#chat_channels_ul').closest('.slimScrollDiv').hide();
}
}
});
// CHECK IF PROVIDER ACTIVE / Returns true/false
function cb_get_provider_status_and_id(cb_center_id) {
$.ajax({
type: 'POST',
url: '/widget/ajax/check_provider_status.php',
data: {center_id:cb_center_id},
async:false
}).done(function(data) {
var response = JSON.parse(data);
cb_prov_active = response.status;
cb_provider_id = response.corporate_id;
start_cb();
});
}
function start_cb() {
// PATIENT LOGGED IN, PROVIDER ACTIVE
if (cb_logged=='true' && cb_prov_active=='true') {cb_logged_active();}
// PATIENT LOGGED IN, PROVIDER NOT ACTIVE
if (cb_logged=='true' && cb_prov_active=='false') {cb_logged_notactive();}
// PATIENT NOT LOGGED IN, PROVIDER NOT ACTIVE
if (cb_logged=='false' && cb_prov_active=='false') {cb_notlogged_notactive();}
// PATIENT NOT LOGGED IN, PROVIDER ACTIVE
if (cb_logged=='false' && cb_prov_active=='true') {cb_notlogged_active();}
};
// PATIENT LOGGED IN, PROVIDER NOT ACTIVE ********************************DONE
function cb_logged_notactive() {
// Opens PlacidWay chatbot
$('.chatbot-widget').hide();
$('.help_chat_pw.3_way_conv').trigger('click');
};
// PATIENT NOT LOGGED IN, PROVIDER NOT ACTIVE ********************************DONE
function cb_notlogged_notactive() {
// Opens PlacidWay chatbot
$('.placidway-chatbot').trigger('click');
};
// SAVE CENTER CB MESSAGE / OFFLINE
function save_center_cb_msg(stateWrapper, ready) {
var cb_session = getCookie('chat_session');
var question_title = Object.keys(stateWrapper.answers)[Object.keys(stateWrapper.answers).length-1];
var question_id = question_title.substring(12);
var answer = stateWrapper.answers[question_title]['text'];
$.ajax({
url: '/widget/ajax/save_center_cb_offline_msg.php',
type: 'POST',
data: {chat_session: cb_session, center_id: cb_center_id, answer:answer, question_id:question_id},
})
.done(function(response) {
ready();
});
}
// PATIENT LOGGED IN, PROVIDER ACTIVE
function cb_logged_active() {
// chatbot already started
if ($('#chat_channels_ul li[data-cb_3w_mid="' + cb_center_id + '" ]').length > 0){
$('#chat_channels_ul li[data-cb_3w_mid="' + cb_center_id + '" ]').trigger('click');
}
// starting chatbot - check if chatbot active, get questions, create rfi
else {
$.ajax({
url: '/widget/ajax/get_provider_questions.php',
type: 'POST',
data: {center_id: cb_center_id, chat_session: cb_chat_session, current_page:current_page},
})
.done(function(response) {
$('.card.chatbot-widget.center_cb_window').remove();
var json = $.parseJSON(response);
$('.main-footer').append(json[0]);
$('#chat_channels_ul').append('
'+json[2]+'')
$('#center_cb_window').remove();
convForm = $('#center_cb').convform({
selectInputStyle: 'disable',
typeInputUi: 'input',
inputIdName:'center_cb_input',
eventList: {
onSubmitForm: function(convState) {
// console.log('live chat started');
$('#center_cb_input').remove();
$('.center_cb_window').find('#convForm .submit').remove();
$('.center_cb_window[data-cmnc-id="'+json[3]+'"]').find('#convForm').remove();
$('.center_cb_window[data-cmnc-id="'+json[3]+'"]').find('.wrapper-messages').after('');
start_live_center_chat(cb_provider_id);
$('.center_cb_window[data-cmnc-id="'+json[3]+'"]').find('.userInputDynamic.center_cb_input').focus();
}
}
});
$(function() {
$('#center_cb_input').selectize({
maxItems: 1,
valueField: 'id',
labelField: 'title',
searchField: 'title',
options: [ ],
load: function(query, callback) {
if (!query.length) return callback();
$.ajax({
url: '/widget/ajax/get_center_treatments_json.php',
type: 'GET',
dataType: 'json',
data: {
country: query,center_id:cb_center_id
},
error: function() {
callback();
},
success: function(res) {
callback(res);
}
});
},
create: true,
});
});
center_cb_exist=true;
});
}
};
// PATIENT NOT LOGGED IN, PROVIDER ACTIVE
function cb_notlogged_active() {
$('#center_cb_window').remove();
// chatbot already started
if ($('#chat_channels_ul li[data-cb_3w_mid="' + cb_center_id + '" ]').length > 0){
$('#chat_channels_ul li[data-cb_3w_mid="' + cb_center_id + '" ]').trigger('click');
}
// starting chatbot - check if chatbot active, get questions, create rfi
else {
$.ajax({
url: '/widget/ajax/cb_center_active_user_notlogged.php',
type: 'POST',
data: {center_id: cb_center_id, current_page:current_page},
})
.done(function(response) {
var json = $.parseJSON(response);
$('.main-footer').append(json[0]);
convForm = $('#center_cb').convform({
selectInputStyle: 'disable',
typeInputUi: 'input',
inputIdName:'center_cb_input',
eventList: {
onSubmitForm: function(convState) {
// console.log('live chat started');
$('.center_cb_window[data-cmnc-id="'+cb_temp_cid+'"]').find('#convForm').remove();
$('.center_cb_window[data-cmnc-id="'+cb_temp_cid+'"]').find('.wrapper-messages').after('');
start_live_center_chat(cb_provider_id);
$('#chatbot-btn').remove();
create_chat_sidebar();
$('.center_cb_window[data-cmnc-id="'+cb_temp_cid+'"]').find('.userInputDynamic.center_cb_input').focus();
}
}
});
center_cb_exist=true;
});
}
};
// CREATE PHONE VALIDATION ON PHONE INPUT, IN CENTER CHATBOT POPUP
function center_cb_email_input(stateWrapper, ready) {
var input = document.querySelector("#center_cb_input"),
errorMsg = document.querySelector("#error-msg"),
validMsg = document.querySelector("#valid-msg");
var errorMap = ["Invalid number", "Invalid country code", "Too short", "Too long", "Invalid number"];
var iti = window.intlTelInput(input, {
nationalMode: !1,
hiddenInput: "full_number",
utilsScript: "/sales_process/includes/utils.js",
});
$("#center_cb_input").focus();
var reset = function() {
input.classList.remove("error");
};
input.addEventListener('keyup', function(e) {
reset();
if (input.value.trim()) {
if(e.which == 13){
$(this).closest('form').submit();
}
}
});
ready();
}
// REGISTER PATIENT AND CONTINUE WITH CENTER POPUP
function center_cb_phone_input(stateWrapper, ready) {
var name = $('#center_cb_name_input').val(),
email = $('#center_cb_email_input').val(),
phone = $('#center_cb_phone_input').val();
$.ajax({
url: '/widget/ajax/center_cb_register_patient.php',
type: 'POST',
data: {name: name, email:email, phone:phone, center_id:cb_center_id, current_page:current_page},
})
.done(function(response) {
var json = $.parseJSON(response);
cb_temp_cid=json[0];
cb_temp_ecn=json[1];
$('.iti').remove();
$('#center_cb_window').attr('data-cmnc-id',cb_temp_cid);
$('#center_cb_window').attr('data-cmnc-slug',cb_temp_ecn);
$('#center_cb_window').find(".options.dragscroll").after('');
$(function() {
$('#center_cb_input').selectize({
maxItems: 1,
valueField: 'id',
labelField: 'title',
searchField: 'title',
options: [ ],
load: function(query, callback) {
if (!query.length) return callback();
$.ajax({
url: '/widget/ajax/get_center_treatments_json.php',
type: 'GET',
dataType: 'json',
data: {
country: query,center_id:cb_center_id
},
error: function() {
callback();
},
success: function(res) {
callback(res);
}
});
},
create: true,
});
});
ga('send', 'event', 'Chat', 'Submit', '3 Way Chat Created', '1');
ready();
});
}
// OPEN 3-WAY CHAT WINDOW (EXISTING CONVERSATION)
function open_chat_window(ch_id,ch_thumb,ch_slug,ch_center) {
if (!$('.center_cb_window[data-cmnc-id="' + ch_id + '" ]').length > 0){
$.ajax({
url: '/widget/ajax/get_cm_messages.php',
type: 'POST',
data: {channel_id: ch_id,chat_session:cb_chat_session},
})
.done(function(response) {
$('.dropup').after('');
$('.center_cb_window[data-cmnc-id="' + ch_id + '" ]').show();
setTimeout(function() {$('.center_cb_window[data-cmnc-id="' + ch_id + '" ] #messages').scrollTop($('.center_cb_window[data-cmnc-id="' + ch_id + '" ] #messages')[0].scrollHeight + 500);
}, 300);
});
} else {
$('.center_cb_window[data-cmnc-id="' + ch_id + '" ]').show();
}
read_mesages('1',Base64.decode(ch_slug).substring(10));
}
// SLIMSCROLL ON CHANNEL LIST
$(function(){$('#chat_channels_ul').slimscroll({height:'100%'}).parent().css({'display':'none','position':'fixed','top':'0','right':'0','bottom':'0','width':'100%'});});
// CCB TREATMENT SAVE FUNCTION
function center_cb_treatment(stateWrapper, ready) {
var channel = $('#ccb_treatment').closest('.chatbot-widget.center_cb_window').attr('data-cmnc-id');
var cb_session = getCookie('chat_session');
var chatbot_treatment = $('#ccb_treatment').val();
$.post('/widget/ajax/get_user_email.php', {cb_session:cb_session}, function(data, textStatus, xhr) {
var chatbot_email = $.trim(data);
$.ajax({
url: '/widget/ajax/ccb_enter_treatment.php',
type: 'POST',
data: {email: chatbot_email, treatment:chatbot_treatment,channel:channel},
})
.done(function() {
$('.selectize-control').remove();
$('#ccb_treatment').closest('.chatbot-widget.center_cb_window').find('#center_cb_input').remove();
$('#ccb_treatment').closest('.chatbot-widget.center_cb_window').find(".options.dragscroll").after('');
ready();
});
});
}
// CCB TREATMENT TIME SAVE FUNCTION
function ccb_enter_treatment_time(stateWrapper, ready) {
var channel = $('#ccb_treatment_time').closest('.chatbot-widget.center_cb_window').attr('data-cmnc-id');
var cb_session = getCookie('chat_session');
var chatbot_treatment_time = $('#ccb_treatment_time option:selected').val();
$.post('/widget/ajax/get_user_email.php', {cb_session:cb_session}, function(data, textStatus, xhr) {
var chatbot_email = $.trim(data);
$.ajax({
url: '/widget/ajax/ccb_enter_treatment_time.php',
type: 'POST',
data: {email: chatbot_email, treatment_time:chatbot_treatment_time,channel:channel},
})
.done(function(response) {
ready();
});
});
}
// CCB TREATMENT TIME SAVE FUNCTION
function ccb_upload_file(stateWrapper, ready) {
$( "#chatbot_attachment" ).trigger( "click" );
var channel = $('#ccb_treatment_time').closest('.chatbot-widget.center_cb_window').attr('data-cmnc-id');
var cb_session = getCookie('chat_session');
var select = $('#ccb_upload_file');
$.post('/widget/ajax/get_user_email.php', {cb_session:cb_session}, function(data, textStatus, xhr) {
var chatbot_email = $.trim(data);
$(document). ready(function(){
$('#chatbot_attachment'). change(function(){
var formData = new FormData();
formData.append('file', $('#chatbot_attachment')[0].files[0]);
formData.append('email', chatbot_email);
formData.append('channel', channel);
$.ajax({
url : '/widget/ajax/cb_upload_file.php',
type : 'POST',
data : formData,
processData: false, // tell jQuery not to process the data
contentType: false, // tell jQuery not to set contentType
success : function(data) {
ready();
}
});
});
});
});
}