jQuery(function() {
//placeholder text fix for IE
jQuery('#wp-live-chat [placeholder]').focus(function() {
var input = jQuery(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
input.removeClass('placeholder');
}
}).blur(function() {
var input = jQuery(this);
if (input.val() == '' || input.val() == input.attr('placeholder')) {
input.addClass('placeholder');
input.val(input.attr('placeholder'));
}
}).blur();
/* minimize chat window */
jQuery("body").on("click", "#wp-live-chat-minimize", function() {
jQuery.event.trigger({type: "wplc_minimize_chat"});
});
/* close chat window */
jQuery("body").on("click", "#wp-live-chat-close", function() {
jQuery("#wp-live-chat").hide();
jQuery("#wp-live-chat-1").hide();
jQuery("#wp-live-chat-2").hide();
jQuery("#wp-live-chat-3").hide();
jQuery("#wp-live-chat-4").hide();
jQuery("#wplc_social_holder").hide();
jQuery("#nifty_ratings_holder").hide();
jQuery("#wp-live-chat-react").hide();
jQuery("#wp-live-chat-minimize").hide();
if (typeof wplc_hide_chat !== "undefined" && wplc_hide_chat !== "" && wplc_hide_chat !== null) { Cookies.set('wplc_hide', wplc_hide_chat , { expires: 1, path: '/' }); } else {
var wplc_expire_date = new Date();
var minutes = 2;
wplc_expire_date.setTime(wplc_expire_date.getTime() + (minutes * 60 * 1000));
Cookies.set('wplc_hide', "yes" , { expires: wplc_expire_date , path: '/' });
}
var data = {
action: 'wplc_user_close_chat',
security: wplc_nonce,
cid: wplc_cid,
status: wplc_chat_status
};
jQuery.post(wplc_ajaxurl, data, function(response) {
});
});
//allows for a class to open chat window now
jQuery("body").on("click", ".wp-live-chat-now", function() {
open_chat(0);
});
jQuery(document).on("wplc_minimize_chat", function() {
wplc_is_minimized = true;
Cookies.set('wplc_minimize', "yes", { expires: 1, path: '/' });
wplc_chat_status = Cookies.get('wplc_chat_status');
if(typeof wplc_start_chat_pro_custom_fields_filter !== "undefined" && typeof wplc_start_chat_pro_custom_fields_filter === "function"){
wplc_extra_data = wplc_start_chat_pro_custom_fields_filter(wplc_extra_data);
}
if(wplc_chat_status != 5 && wplc_chat_status != 10 && wplc_chat_status != 9 && wplc_chat_status != 8){
if (wplc_online) {
var data = {
action: 'wplc_user_minimize_chat',
security: wplc_nonce,
cid: wplc_cid,
wplc_extra_data:wplc_extra_data
};
jQuery.post(wplc_ajaxurl, data, function(response) {
});
}
}
if (typeof wplc_enable_ga !== "undefined" && wplc_enable_ga === '1' && wplc_online) {
if (typeof ga !== "undefined") {
ga('send', {
hitType: 'event',
eventCategory: 'WP_Live_Chat_Support',
eventAction: 'Event',
eventLabel: 'Minimize Chat'
});
}
}
});
jQuery(document).on("wplc_start_chat", function() {
if (typeof wplc_enable_ga !== "undefined" && wplc_enable_ga === '1') {
if (typeof ga !== "undefined") {
ga('send', {
hitType: 'event',
eventCategory: 'WP_Live_Chat_Support',
eventAction: 'Event',
eventLabel: 'Start Chat'
});
}
}
});
jQuery(document).on("wplc_open_chat_1", function() {
if (typeof wplc_enable_ga !== "undefined" && wplc_enable_ga === '1') {
if (typeof ga !== "undefined") {
ga('send', {
hitType: 'event',
eventCategory: 'WP_Live_Chat_Support',
eventAction: 'Event',
eventLabel: 'Start Chat - Step 1'
});
}
}
});
jQuery(document).on("wplc_open_chat_2", function() {
if (typeof wplc_enable_ga !== "undefined" && wplc_enable_ga === '1') {
if (typeof ga !== "undefined") {
ga('send', {
hitType: 'event',
eventCategory: 'WP_Live_Chat_Support',
eventAction: 'Event',
eventLabel: 'Start Chat - Step 2'
});
}
}
});
jQuery(document).on("wplc_agent_joined", function(e) {
var temail = '';
var tname = '';
var taid = '';
var ta_tagline = '';
var ta_bio = '';
var ta_social_links = '';
if (typeof e.ndata.other.email !== "undefined") { temail = e.ndata.other.email; }
if (typeof e.ndata.other.name !== "undefined") { tname = e.ndata.other.name; }
if (typeof e.ndata.other.aid !== "undefined") { taid = e.ndata.other.aid; }
if (typeof e.ndata.other.agent_tagline !== "undefined") { ta_tagline = e.ndata.other.agent_tagline; }
if (typeof e.ndata.other.agent_bio !== "undefined") { ta_bio = e.ndata.other.agent_bio; }
if (typeof e.ndata.other.social_links !== "undefined") { ta_social_links = e.ndata.other.social_links; }
wplc_current_agent = e.ndata.other;
jQuery(".wplc_no_answer").remove();
jQuery(".admin_chat_name").html(tname);
wplc_node_pair_name = tname;
wplc_agent_name = tname;
});
jQuery("body").on("click", "#wplc_start_chat_btn", function() {
var wplc_is_gdpr_enabled = jQuery(this).attr('data-wplc-gdpr-enabled');
if(typeof wplc_is_gdpr_enabled !== "undefined" && (wplc_is_gdpr_enabled === 'true' )){
var wplc_gdpr_opt_in_checked = jQuery("#wplc_chat_gdpr_opt_in").is(':checked');
if(typeof wplc_gdpr_opt_in_checked === "undefined" || wplc_gdpr_opt_in_checked === false){
/* GDPR requirements not met */
jQuery("#wplc_chat_gdpr_opt_in").addClass('incomplete');
return false;
}
jQuery("#wplc_chat_gdpr_opt_in").removeClass('incomplete');
}
var wplc_name = jQuery("#wplc_name").val();
var wplc_email = jQuery("#wplc_email").val();
if (wplc_name.length <= 0) { alert(wplc_error_messages.valid_name); return false; }
if (wplc_email.length <= 0) { alert(wplc_error_messages.valid_email); return false; }
if(jQuery("#wplc_email").attr('wplc_hide') !== "1"){
var testEmail = /^[A-Z0-9._%+-]+@([A-Z0-9-]+\.)+[A-Z]{2,12}$/i;
//var testEmail = /^[A-Z0-9._%+-]+@([A-Z0-9-]+\.)+[A-Z]{2,4}$/i;
if (!testEmail.test(wplc_email)){
alert(wplc_error_messages.valid_email); return false;
}
}
document.getElementById('wplc_chatmsg').disabled = false;
/* start the long polling */
wplc_run = true;
wplc_send_welcome_message();
wplc_scroll_to_bottom();
jQuery.event.trigger({type: "wplc_start_chat"});
var date = new Date();
date.setTime(date.getTime() + (2 * 60 * 1000));
wplc_cid = Cookies.get('wplc_cid');
if(typeof wplc_start_chat_pro_custom_fields_filter !== "undefined" && typeof wplc_start_chat_pro_custom_fields_filter === "function"){
wplc_extra_data = wplc_start_chat_pro_custom_fields_filter(wplc_extra_data);
}
if (typeof wplc_cid !== "undefined" && wplc_cid !== null) {
/* we've already recorded a cookie for this person */
var data = {
action: 'wplc_start_chat',
security: wplc_nonce,
name: wplc_name,
email: wplc_email,
cid: wplc_cid,
wplcsession: wplc_session_variable,
wplc_extra_data:wplc_extra_data
};
if(typeof wplc_start_chat_pro_data !== "undefined" && typeof wplc_start_chat_pro_data === "function"){
data = wplc_start_chat_pro_data(data);
}
} else { // no cookie recorded yet for this visitor
var data = {
action: 'wplc_start_chat',
security: wplc_nonce,
name: wplc_name,
email: wplc_email,
wplcsession: wplc_session_variable,
wplc_extra_data:wplc_extra_data
};
if(typeof wplc_start_chat_pro_data !== "undefined" && typeof wplc_start_chat_pro_data === "function"){
data = wplc_start_chat_pro_data(data);
}
}
Cookies.set('wplc_name', wplc_name, { path: '/' } );
Cookies.set('wplc_email', wplc_email, { path: '/' } );
wplc_server.send(wplc_ajaxurl, data, "POST", 120000,
function(response){
wplc_chat_status = 2;
Cookies.set('wplc_chat_status', 2, { expires: date, path: '/' });
wplc_cid = jQuery.trim(response);
//All sorted, let's check for message transport mode
wplc_server.prepareTransport(function(){
//Transport ready...
wplc_server_last_loop_data.status = 2; //Set to waiting
if (wplc_filter_run_override === "1" || wplc_online === false) { } else {
wplc_call_to_server_chat(wplc_server_last_loop_data);
}
}, wplc_user_message_receiver, wplc_user_retry_handler, wplc_log_connection_error);
},
function(){
//Fails
},
function(response, wplc_send_data){
//Complete
if (typeof wplc_send_data !== "undefined" && typeof wplc_send_data['action'] !== "undefined" && wplc_send_data['action'] == 'wplc_start_chat') {
/* we got here because the short poll (when disabling the initiate chat feature) comes back on the "complete" callback. This check makes sure we restart the longpoll */
wplc_chat_status = 2;
Cookies.set('wplc_chat_status', 2, { expires: date, path: '/' });
wplc_cid = jQuery.trim(response);
//All sorted, let's check for message transport mode
wplc_server.prepareTransport(function(){
//Transport ready...
wplc_server_last_loop_data.status = 2; //Set to waiting
if (wplc_filter_run_override === "1" || wplc_online === false) { } else {
wplc_call_to_server_chat(wplc_server_last_loop_data);
}
}, wplc_user_message_receiver, wplc_user_retry_handler, wplc_log_connection_error);
}
}
);
});
jQuery("body").on("keyup","#wplc_chatmsg", function(event){
if(event.keyCode === 13){
jQuery("#wplc_send_msg").trigger("click");
}
});
jQuery("body").on("click", "#wplc_send_msg", function() {
var wplc_cid = jQuery("#wplc_cid").val();
if (wplc_cid.length < 1) {
/* failover for wplc_cid */
var wplc_cid = Cookies.get('wplc_cid');
}
var wplc_chat = wplc_strip(document.getElementById('wplc_chatmsg').value);
if(wplc_chat !== ""){
var wplc_name = jQuery("#wplc_name").val();
if (typeof wplc_name == "undefined" || wplc_name == null || wplc_name == "") {
wplc_name = Cookies.get('wplc_name');
}
if (typeof wplc_name == "undefined") {
wplc_name = 'Guest';
}
var wplc_email = jQuery("#wplc_email").val();
if (typeof wplc_email == "undefined" || wplc_email == null || wplc_email == "") {
wplc_email = Cookies.get('wplc_email');
}
if (typeof wplc_email == "undefined") {
wplc_email = '';
}
/*Nifty format Parse*/
var wplc_chat_parsed = wplc_chat;
if( typeof wplc_display_name !== 'undefined' ){
/**
* We're still using the old options
*/
if(wplc_display_name == 'display'){
if (wplc_gravatar_image.length > 1) {
jQuery("#wplc_chatbox").append("