PageSourceSearch

https://bikingman.com/contenu/plugins/wpbot-pro-master/js/qcld-wp-chatbot-plugin.js?ver=15.6.7

js bikingman.com collected 2026-09-24 22:40:48 UTC 815,792 bytes, 19,641 lines download raw bytes

1/*
2 * Project:      wpwBot jQuery Plugin
3 * Description:  wpwBot AI based Chatting functionality are handled .
4 * Author:       QuantumCloud
5 * Version:      1.0
6 */
7var globalwpw;
8var wpwTree;
9var wpwAction;
10var wpwKits;
11var wpwWelcome;
12var wpwMsg;
13var botaudiolist = [];
14var botaudioisplay = false;
15var response_type = 0;
16
17function qcldPushAiContext(role, content) {
18    if (typeof globalwpw === 'undefined') return;
19    if (typeof globalwpw.aiContext === 'undefined') {
20        globalwpw.aiContext = [];
21    }
22    if (!content) return;
23    
24    var cleanContent = content;
25    if (role === 'assistant') {
26        cleanContent = cleanContent.replace(/<[^>]*>?/gm, '').trim();
27    } else if (role === 'user') {
28        var lower = content.toLowerCase().trim();
29        var titles = (typeof wp_chatbot_obj !== 'undefined' && wp_chatbot_obj.ai_form_titles) ? wp_chatbot_obj.ai_form_titles : ((typeof qcld_chatbot_obj !== 'undefined' && qcld_chatbot_obj.ai_form_titles) ? qcld_chatbot_obj.ai_form_titles : []);
30        if (titles && titles.length) {
31            for (var t = 0; t < titles.length; t++) {
32                var title = titles[t];
33                if (lower === title || lower.indexOf(title) !== -1 || title.indexOf(lower) !== -1) {
34                    globalwpw.active_ai_action = title;
35                    globalwpw.qcld_ai_form_persisted_state = true;
36                    break;
37                }
38            }
39        }
40    }
41    
42    globalwpw.aiContext.push({role: role, content: cleanContent});
43    if (globalwpw.aiContext.length > 30) {
44        globalwpw.aiContext.shift();
45    }
46}
47
48function qcldIsAiFormInProgress() {
49    if (typeof globalwpw !== 'undefined' && globalwpw.active_ai_action) {
50        return true;
51    }
52    var titles = (typeof wp_chatbot_obj !== 'undefined' && wp_chatbot_obj.ai_form_titles) ? wp_chatbot_obj.ai_form_titles : ((typeof qcld_chatbot_obj !== 'undefined' && qcld_chatbot_obj.ai_form_titles) ? qcld_chatbot_obj.ai_form_titles : []);
53    if (!titles || !titles.length || typeof globalwpw === 'undefined' || !globalwpw.aiContext) {
54        return false;
55    }
56    
57    var hasFormTrigger = false;
58    for (var i = 0; i < globalwpw.aiContext.length; i++) {
59        var msg = globalwpw.aiContext[i];
60        if (msg.role === 'user') {
61            var content = (msg.content || '').toLowerCase().trim();
62            for (var t = 0; t < titles.length; t++) {
63                var title = titles[t];
64                if (content === title || content.indexOf(title) !== -1 || title.indexOf(content) !== -1) {
65                    hasFormTrigger = true;
66                    globalwpw.active_ai_action = title;
67                }
68            }
69        }
70        if (msg.role === 'assistant') {
71            if (msg.content && (msg.content.indexOf('__AI_FORM_DATA__') !== -1 || msg.content.indexOf('ai-form-summary-card') !== -1 || msg.content.indexOf('Thank you! Your information has been successfully submitted.') !== -1)) {
72                hasFormTrigger = false;
73                globalwpw.active_ai_action = '';
74            }
75        }
76    }
77    
78    return hasFormTrigger || !!(globalwpw.active_ai_action);
79}
80
81function qcldWpbotGetAiConfig() {
82    if (typeof wp_chatbot_obj !== 'undefined') {
83        return wp_chatbot_obj;
84    }
85    if (typeof globalwpw !== 'undefined' && globalwpw.settings && globalwpw.settings.obj) {
86        return globalwpw.settings.obj;
87    }
88    return null;
89}
90
91function qcldWpbotIsAnyAiEnabled() {
92    var cfg = qcldWpbotGetAiConfig();
93    if (!cfg) {
94        return false;
95    }
96    return cfg.ai_any_enabled == "1" ||
97        cfg.open_ai_enable == "1" ||
98        cfg.gemini_enabled == "1" ||
99        cfg.grok_enabled == "1" ||
100        cfg.claude_enabled == "1" ||
101        cfg.openrouter_enabled == "1" ||
102        cfg.mistral_enabled == "1" ||
103        cfg.ollama_enabled == "1" ||
104        (cfg.ai_df_enable == "1" && typeof globalwpw !== "undefined" && globalwpw.df_status_lock == 0);
105}
106
107function qcldWpbotIsAiFileUploadFeatureEnabled() {
108    var cfg = qcldWpbotGetAiConfig();
109    return !!(cfg && (cfg.ai_file_upload_enabled == "1" || cfg.ai_file_upload_enabled === 1 || cfg.ai_file_upload_enabled === true));
110}
111
112function qcldWpbotIsAiFileUploadAllowed() {
113    if (!qcldWpbotIsAiFileUploadFeatureEnabled() || !qcldWpbotIsAnyAiEnabled() || typeof global
113wpw === "undefined") {
114        return false;
115    }
116    if (parseInt(globalwpw.wildCard, 10) === 7 || parseInt(globalwpw.wildCard, 10) === 95) {
117        return false;
118    }
119    if (jQuery("#wp-chatbot-editor").attr("type") === "file") {
120        return false;
121    }
122    if (globalwpw.formid && String(globalwpw.formid).length > 0) {
123        return false;
124    }
125    var blockedWildcards = [3, 6, 9, 21, 22];
126    if (blockedWildcards.indexOf(parseInt(globalwpw.wildCard, 10)) !== -1) {
127        return false;
128    }
129    return true;
130}
131
132function qcldFormatAndHandleAiForm(msg) {
133    if (!msg || typeof msg !== 'string') return msg;
134    msg = msg.replace(/__AI_FORM_IN_PROGRESS__/g, '');
135    
136    var formRegex = /(?:<[^>]+>)*\s*(?:_|<[^>]+>)*AI_FORM_DATA(?:_|<[^>]+>)*[\s\S]*?(?:_|<[^>]+>)*AI_FORM_DATA_END(?:_|<[^>]+>)*\s*(?:<\/[^>]+>)*/gi;
137    
138    msg = msg.replace(formRegex, function(match) {
139        try {
140            var jsonMatch = match.match(/\{[\s\S]*\}/);
141            if (jsonMatch) {
142                var jsonStr = jsonMatch[0];
143                var data = JSON.parse(jsonStr.trim());
144                
145                var postData = {
146                    action: 'qcld_save_ai_form',
147                    data: jsonStr,
148                    nonce: (typeof wp_chatbot_obj !== 'undefined' ? wp_chatbot_obj.ajax_nonce : (typeof qcld_chatbot_obj !== 'undefined' ? qcld_chatbot_obj.nonce : ''))
149                };
150                if (typeof wpwKits !== 'undefined' && wpwKits.ajax) {
151                    wpwKits.ajax(postData);
152                } else {
153                    var ajaxUrl = (typeof wpbot_ajax !== 'undefined' && wpbot_ajax.ajaxurl) ? wpbot_ajax.ajaxurl : (typeof ajaxurl !== 'undefined' ? ajaxurl : '');
154                    if (ajaxUrl) jQuery.post(ajaxUrl, postData);
155                }
156                
157                if (typeof globalwpw !== 'undefined') {
158                    globalwpw.aiContext = [];
159                    globalwpw.active_ai_action = '';
160                    globalwpw.qcld_ai_form_persisted_state = false;
161                    globalwpw.is_in_ai_form = false;
162                }
163                
164                var html = '<div class="ai-form-summary-card" style="background: #f4f6f9; border-left: 4px solid #0073aa; padding: 12px 14px; margin: 10px 0; border-radius: 4px; font-size: 13px; line-height: 1.5; color: #333;">';
165                var title = data.form_title || 'Form Summary';
166                html += '<div style="font-weight: 600; color: #0073aa; margin-bottom: 8px; text-transform: capitalize; font-size: 14px;">' + title + '</div>';
167                
168                var fieldsObj = (data.data && typeof data.data === 'object') ? data.data : data;
169                
170                html += '<table style="width: 100%; border-collapse: collapse; margin-top: 4px;">';
171                for (var key in fieldsObj) {
172                    if (fieldsObj.hasOwnProperty(key) && key !== 'form_title' && key !== 'action') {
173                        var val = fieldsObj[key];
174                        if (typeof val !== 'object') {
175                            var cleanKey = key.replace(/[-_]/g, ' ');
176                            html += '<tr><td style="padding: 3px 6px 3px 0; color: #555; font-weight: 600; width: 42%; vertical-align: top; text-transform: capitalize;">' + cleanKey + ':</td><td style="padding: 3px 0; color: #222; vertical-align: top;">' + val + '</td></tr>';
177                        }
178                    }
179                }
180                html += '</table>';
181                html += '</div>';
182                return html;
183            }
184        } catch(e) {
185            console.error('AI Form parse error:', e);
186        }
187        return '';
188    });
189    return msg;
190}
191
192(function ($) {
193  ("use strict");
194  /*
195   * Global variable as object will beused to handle
196   * wpwbot chatting initialize, tree change transfer,
197   * changing tree steps and cookies etc.
198   */
199  globalwpw = {
200    initialize: 1,
201    settings: {},
202    wildCard: 0,
203    wildcards: "",
204    wildcardsHelp: [
205      "start",
206      "support",
207      "reset",
208      "email subscription",
209      "unsubscribe",
210      "livechat",
211    ],
212    productStep: "asking",
213    orderStep: "welcome",
214    supportStep: "welcome",
215    formStep: "welcome",
216    strStep: "search",
217    strObject: {},
218    strEntities: {},
219    strMatchfailed: 0,
220    formfieldid: "",
221    formid: "",
222    formentry: 0,
223    paymentFieldActive: false,
224    aiPendingFile: null,
225    bargainStep: "welcome", // bargin welcome message
226    bargainId: 0, // bargin product id
227    bargainVId: 0, // bargin product variation id
228    bargainPrice: 0, // bargin price
229    bargainLoop: 0, // bargin price
230    hasNameCookie: $.cookie("shopper"),
231    shopperUserName: "",
232    shopperEmail: "",
233    shopperMessage: "",
234    emptymsghandler: 0,
235    repeatQueryEmpty: "",
236    wpwIsWorking: 0,
237    ai_step: 0,
238    df_status_lock: 0,
239    counter: 0,
240    emailContent: [],
241    resetStep: "welcome",
242    askEmail: 0,
243    session_mailed: "",
244  };
245  /*
246   * wpwbot welcome section coverd
247   * greeting for new and already visited shopper
248   * based the memory after asking thier name.
249   */
250
251  wpwWelcome = {
252    greeting: function () {
253      //Very begining greeting.
254      //generating unique session id.
255      if (!localStorage.getItem("botsessionid")) {
256        var number = Math.random(); // 0.9394456857981651
257        number.toString(36); // '0.xtis06h6'
258        var id = number.toString(36).substr(2); // 'xtis06h6'
259
260        localStorage.setItem("botsessionid", id);
261      }
262      globalwpw.initialize = 1;
263      if (globalwpw.wildCard == 9) {
264        wpwTree.bargain();
265      } else if (
266        typeof globalwpw.settings.obj.clickintent !== "undefined" &&
267        (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase() ==
268        "faq"
269      ) {
270        if (!localStorage.getItem("shopper")) {
271          $.cookie(
272            "shopper",
273            wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
274            { expires: 365 }
275          );
276          localStorage.setItem(
277            "shopper",
278            wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
279          );
280          globalwpw.hasNameCookie = wpwKits.render(
281            globalwpw.settings.obj.shopper_demo_name
282          );
283        }
284
285        globalwpw.wildCard = 1;
286        globalwpw.supportStep = "welcome";
287        wpwAction.bot("from wildcard support");
288        //keeping value in localstorage
289        localStorage.setItem("wildCard", globalwpw.wildCard);
290        localStorage.setItem("supportStep", globalwpw.supportStep);
291        globalwpw.initialize = 0;
292        globalwpw.ai_step = 1;
293      } else if (
294        typeof globalwpw.settings.obj.clickintent !== "undefined" &&
295        (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase() ==
296        "email subscription"
297      ) {
298        if (!localStorage.getItem("shopper")) {
299          $.cookie(
300            "shopper",
301            wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
302            { expires: 365 }
303          );
304          localStorage.setItem(
305            "shopper",
306            wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
307          );
308          globalwpw.hasNameCookie = wpwKits.render(
309            globalwpw.settings.obj.shopper_demo_name
310          );
311        }
312
313        globalwpw.wildCard = 3;
314        globalwpw.subscriptionStep = "welcome";
315        wpwTree.subscription();
316        localStorage.setItem("wildCard", globalwpw.wildCard);
317        localStorage.setItem("supportStep", globalwpw.supportStep);
318        globalwpw.initialize = 0;
319        globalwpw.ai_step = 1;
320      } else if (
321        typeof globalwpw.settings.obj.clickintent !== "undefined" &&
322        (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase() ==
323        "product search"
324      ) {
325        if (!localStorage.getItem("shopper")) {
326          $.cookie(
327            "shopper",
328            wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
329            { expires: 365 }
330          );
331          localStorage.setItem(
332            "shopper",
333            wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
334          );
335          globalwpw.hasNameCookie = wpwKits.render(
336            globalwpw.settings.obj.shopper_demo_name
337          );
338        }
339        globalwpw.wildCard = 20;
340        globalwpw.productStep = "asking";
341        wpwAction.bot("from wildcard product");
342        //keeping value in localstorage
343        localStorage.setItem("wildCard", globalwpw.wildCard);
344        localStorage.setItem("productStep", globalwpw.productStep);
345        globalwpw.initialize = 0;
346        globalwpw.ai_step = 1;
347      } else if (
348        typeof globalwpw.settings.obj.clickintent !== "undefined" &&
349        (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase() ==
350        "catalog"
351      ) {
352        if (!localStorage.getItem("shopper")) {
353          $.cookie(
354            "shopper",
355            wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
356            { expires: 365 }
357          );
358          localStorage.setItem(
359            "shopper",
360            wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
361          );
362          globalwpw.hasNameCookie = wpwKits.render(
363            globalwpw.settings.obj.shopper_demo_name
364          );
365        }
366        wpwAction.bot(
367          (wpwKits.render(globalwpw.settings.obj.sys_key_catalog) || '').toLowerCase()
368        );
369        globalwpw.initialize = 0;
370        globalwpw.ai_step = 1;
371      } else if (
372        typeof globalwpw.settings.obj.clickintent !== "undefined" &&
373        (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase() ==
374        "featured products"
375      ) {
376        if (!localStorage.getItem("shopper")) {
377          $.cookie(
378            "shopper",
379            wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
380            { expires: 365 }
381          );
382          localStorage.setItem(
383            "shopper",
384            wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
385          );
386          globalwpw.hasNameCookie = wpwKits.render(
387            globalwpw.settings.obj.shopper_demo_name
388          );
389        }
390        globalwpw.wildCard = 20;
391        globalwpw.productStep = "featured";
392        wpwAction.bot("from wildcard product");
393        //keeping value in localstorage
394        localStorage.setItem("wildCard", globalwpw.wildCard);
395        localStorage.setItem("productStep", globalwpw.productStep);
396
397        globalwpw.initialize = 0;
398        globalwpw.ai_step = 1;
399      } else if (
400        typeof globalwpw.settings.obj.clickintent !== "undefined" &&
401        (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase() ==
402        "products on sale"
403      ) {
404        if (!localStorage.getItem("shopper")) {
405          $.cookie(
406            "shopper",
407            wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
408            { expires: 365 }
409          );
410          localStorage.setItem(
411            "shopper",
412            wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
413          );
414          globalwpw.hasNameCookie = wpwKits.render(
415            globalwpw.settings.obj.shopper_demo_name
416          );
417        }
418        globalwpw.wildCard = 20;
419        globalwpw.productStep = "sale";
420        wpwAction.bot("from wildcard product");
421        //keeping value in localstorage
422        localStorage.setItem("wildCard", globalwpw.wildCard);
423        localStorage.setItem("productStep", globalwpw.productStep);
424
425        globalwpw.initialize = 0;
426        globalwpw.ai_step = 1;
427      } else if (
428        typeof globalwpw.settings.obj.clickintent !== "undefined" &&
429        (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase() ==
430        "order status"
431      ) {
432        if (!localStorage.getItem("shopper")) {
433          $.cookie(
434            "shopper",
435            wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
436            { expires: 365 }
437          );
438          localStorage.setItem(
439            "shopper",
440            wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
441          );
442          globalwpw.hasNameCookie = wpwKits.render(
443            globalwpw.settings.obj.shopper_demo_name
444          );
445        }
446        globalwpw.wildCard = 21;
447        globalwpw.orderStep = "welcome";
448        wpwAction.bot("from wildcard order");
449        //keeping value in localstorage
450        localStorage.setItem("wildCard", globalwpw.wildCard);
451        localStorage.setItem("orderStep", globalwpw.orderStep);
452
453        globalwpw.initialize = 0;
454        globalwpw.ai_step = 1;
455      } else if (
456        typeof globalwpw.settings.obj.clickintent !== "undefined" &&
457        (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase() ==
458        wpwKits.render(globalwpw.settings.obj.site_search)
459      ) {
460        if (!localStorage.getItem("shopper")) {
461          $.cookie(
462            "shopper",
463            wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
464            { expires: 365 }
465          );
466          localStorage.setItem(
467            "shopper",
468            wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
469          );
470          globalwpw.hasNameCookie = wpwKits.render(
471            globalwpw.settings.obj.shopper_demo_name
472          );
473        }
474
475        if (
476          typeof globalwpw.hasNameCookie == "undefined" ||
477          globalwpw.hasNameCookie == ""
478        ) {
479          var shopperName = wpwKits.render(
480            globalwpw.settings.obj.shopper_demo_name
481          );
482        } else {
483          var shopperName = globalwpw.hasNameCookie;
484        }
485        var askEmail = wpwKits.randomMsg(wp_chatbot_obj.asking_search_keyword);
486
487        wpwMsg.single(askEmail.replace("#name", shopperName));
488        //Now updating the support part as .
489        globalwpw.supportStep = "search";
490        globalwpw.wildCard = 1;
491        globalwpw.ai_step = 1;
492        globalwpw.initialize = 0;
493        //keeping value in localstorage
494        localStorage.setItem("wildCard", globalwpw.wildCard);
495        localStorage.setItem("supportStep", globalwpw.supportStep);
496      } else if (
497        typeof globalwpw.settings.obj.clickintent !== "undefined" &&
498        (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase() ==
499        "send us email"
500      ) {
501        if (!localStorage.getItem("shopper")) {
502          $.cookie(
503            "shopper",
504            wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
505            { expires: 365 }
506          );
507          localStorage.setItem(
508            "shopper",
509            wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
510          );
511          globalwpw.hasNameCookie = wpwKits.render(
512            globalwpw.settings.obj.shopper_demo_name
513          );
514        }
515
516        if (
517          typeof globalwpw.hasNameCookie == "undefined" ||
518          globalwpw.hasNameCookie == ""
519        ) {
520          var shopperName = wpwKits.render(
521            globalwpw.settings.obj.shopper_demo_name
522          );
523        } else {
524          var shopperName = globalwpw.hasNameCookie;
525        }
526        var askEmail = wpwKits.randomMsg(wp_chatbot_obj.asking_email);
527        wpwMsg.single(askEmail);
528        //Now updating the support part as .
529        globalwpw.supportStep = "email";
530        globalwpw.wildCard = 1;
531        globalwpw.ai_step = 1;
532        globalwpw.initialize = 0;
533        //keeping value in localstorage
534        localStorage.setItem("wildCard", globalwpw.wildCard);
535        localStorage.setItem("supportStep", globalwpw.supportStep);
536      } else if (
537        typeof globalwpw.settings.obj.clickintent !== "undefined" &&
538        (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase() ==
539        "leave a feedback"
540      ) {
541        if (!localStorage.getItem("shopper")) {
542          $.cookie(
543            "shopper",
544            wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
545            { expires: 365 }
546          );
547          localStorage.setItem(
548            "shopper",
549            wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
550          );
551          globalwpw.hasNameCookie = wpwKits.render(
552            globalwpw.settings.obj.shopper_demo_name
553          );
554        }
555
556        if (
557          typeof globalwpw.hasNameCookie == "undefined" ||
558          globalwpw.hasNameCookie == ""
559        ) {
560          var shopperName = wpwKits.render(
561            globalwpw.settings.obj.shopper_demo_name
562          );
563        } else {
564          var shopperName = globalwpw.hasNameCookie;
565        }
566
567        var askEmail = wpwKits.randomMsg(wp_chatbot_obj.asking_email);
568        wpwMsg.single(askEmail);
569        //Now updating the support part as .
570        globalwpw.supportStep = "email";
571        globalwpw.wildCard = 1;
572        globalwpw.ai_step = 1;
573        globalwpw.initialize = 0;
574
575        //keeping value in localstorage
576        localStorage.setItem("wildCard", globalwpw.wildCard);
577        localStorage.setItem("supportStep", globalwpw.supportStep);
578      } else if (
579        typeof globalwpw.settings.obj.clickintent !== "undefined" &&
580        (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase() ==
581        "request callback"
582      ) {
583        if (!localStorage.getItem("shopper")) {
584          $.cookie(
585            "shopper",
586            wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
587            { expires: 365 }
588          );
589          localStorage.setItem(
590            "shopper",
591            wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
592          );
593          globalwpw.hasNameCookie = wpwKits.render(
594            globalwpw.settings.obj.shopper_demo_name
595          );
596        }
597
598        if (
599          typeof globalwpw.hasNameCookie == "undefined" ||
600          globalwpw.hasNameCookie == ""
601        ) {
602          var shopperName = wpwKits.render(
603            globalwpw.settings.obj.shopper_demo_name
604          );
605        } else {
606          var shopperName = globalwpw.hasNameCookie;
607        }
608        var askEmail = wpwKits.randomMsg(wp_chatbot_obj.asking_phone);
609        setTimeout(function () {
610          wpwMsg.single(askEmail);
611          //Now updating the support part as .
612          globalwpw.supportStep = "phone";
613          globalwpw.wildCard = 1;
614          globalwpw.ai_step = 1;
615          globalwpw.initialize = 0;
616          //keeping value in localstorage
617          localStorage.setItem("wildCard", globalwpw.wildCard);
618          localStorage.setItem("supportStep", globalwpw.supportStep);
619        }, 1000);
620      } else if (
621        typeof globalwpw.settings.obj.clickintent !== "undefined" &&
622        (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase() != ""
623      ) {
624        // Helper: detect if the clickintent matches a saved AI action title.
625        // If so, pre-set is_in_ai_form and active_ai_action so that
626        // qcld_render_dynamic_or_start_menu's guard fires correctly for all
627        // subsequent responses — not just ones triggered by a wildcard click.
628        var qcldSetAiActionStateFromIntent = function (intentStr) {
629          var titles = (typeof wp_chatbot_obj !== 'undefined' && wp_chatbot_obj.ai_form_titles)
630            ? wp_chatbot_obj.ai_form_titles
631            : ((typeof qcld_chatbot_obj !== 'undefined' && qcld_chatbot_obj.ai_form_titles)
632              ? qcld_chatbot_obj.ai_form_titles : []);
633          if (!titles || !titles.length) return false;
634          var lower = (intentStr || '').toLowerCase().trim();
635          for (var t = 0; t < titles.length; t++) {
636            var title = titles[t];
637            if (lower === title || lower.indexOf(title) !== -1 || title.indexOf(lower) !== -1) {
638              globalwpw.is_in_ai_form = true;
639              globalwpw.active_ai_action = title;
640              globalwpw.qcld_ai_form_persisted_state = true;
641              return true;
642            }
643          }
644          return false;
645        };
646
647        if (
648          globalwpw.settings.obj.skip_wp_greetings == 1 ||
649          globalwpw.settings.obj.skip_wp_greetings_trigger_intent == 1
650        ) {
651          if (!localStorage.getItem("shopper")) {
652            $.cookie(
653              "shopper",
654              wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
655              { expires: 365 }
656            );
657            localStorage.setItem(
658              "shopper",
659              wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
660            );
661            globalwpw.hasNameCookie = wpwKits.render(
662              globalwpw.settings.obj.shopper_demo_name
663            );
664          }
665          globalwpw.initialize = 0;
666          globalwpw.ai_step = 1;
667          globalwpw.wildCard = 0;
668          // Before firing the bot, check if clickintent is an AI action so that
669          // the greeting / start-menu is suppressed for the entire AI action session.
670          qcldSetAiActionStateFromIntent(
671            (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase()
672          );
673          //   wpwKits.trigger_intent((wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase())
674          wpwAction.bot(
675            (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase()
676          );
677        } else {
678          // Also guard the non-skip path — in case the setting changes mid-session.
679          qcldSetAiActionStateFromIntent(
680            (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase()
681          );
682          wpwAction.bot(
683            (wpwKits.render(globalwpw.settings.obj.clickintent) || '').toLowerCase()
684          );
685        }
686      } else if (typeof ldsuggestionObject !== "undefined") {
687        globalwpw.wildCard = 30;
688        wpwAction.bot("from wildcard ldsesson");
689      } else {
690        // re targeting part .
691        if (
692          globalwpw.settings.obj.skip_wp_greetings == 1 ||
693          globalwpw.settings.obj.skip_wp_greetings_trigger_intent == 1
694        ) {
695          if (
696            globalwpw.settings.obj.re_target_handler == 0 &&
697            globalwpw.settings.obj.disable_first_msg != 1
698          ) {
699            var botJoinMsg =
700              "<strong>" +
701              wpwKits.render(globalwpw.settings.obj.agent) +
702              " </strong> " +
703              wpwKits.randomMsg(globalwpw.settings.obj.agent_join);
704            wpwMsg.single(botJoinMsg);
705          }
706          if (globalwpw.settings.obj.disable_first_msg != 1) {
707            $.cookie(
708              "shopper",
709              wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
710              { expires: 365 }
711            );
712            localStorage.setItem(
713              "shopper",
714              wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
715            );
716            globalwpw.hasNameCookie = wpwKits.render(
717              globalwpw.settings.obj.shopper_demo_name
718            );
719            globalwpw.ai_step = 1;
720            globalwpw.wildCard = 0;
721            localStorage.setItem("wildCard", globalwpw.wildCard);
722            localStorage.setItem("aiStep", globalwpw.ai_step);
723            setTimeout(function () {
724              if (
725                globalwpw.settings.obj.re_target_handler == 0 &&
726                globalwpw.settings.obj.disable_first_msg != 1
727              ) {
728                var firstMsg =
729                  wpwKits.randomMsg(globalwpw.settings.obj.hi_there) +
730                  " " +
731                  wpwKits.randomMsg(globalwpw.settings.obj.welcome) +
732                  " <strong>" +
733                  wpwKits.render(globalwpw.settings.obj.host) +
734                  "</strong> ";
735                wpwMsg.single(firstMsg);
736              }
737              var serviceOffer = wpwKits.randomMsg(
738                globalwpw.settings.obj.wildcard_msg
739              );
740              setTimeout(function () {
741                if (
742                  globalwpw.settings.obj.qcld_disable_start_menu != "1" &&
743                  globalwpw.settings.obj.qcld_disable_beginning_startmenu != "1"
744                ) {
745                  if (
746                    typeof globalwpw.wildcards != "undefined" &&
747                    globalwpw.wildcards != ""
748                  ) {
749                    wpwMsg.double_nobg(serviceOffer, globalwpw.wildcards);
750                  } else {
751                    wpwMsg.single(serviceOffer);
752                  }
753                } else {
754                  if (
755                    globalwpw.settings.obj.skip_wp_greetings_trigger_intent ==
756                    1 ||
757                    typeof globalwpw.settings.obj.clickintent !== "undefined"
758                  ) {
759                    if (globalwpw.settings.obj.clickintent != "") {
760                      globalwpw.settings.obj.clickintent =
761                        globalwpw.settings.obj.init_trigger_intent;
762                      wpwAction.bot(
763                        wpwKits.render(globalwpw.settings.obj.clickintent)
764                      );
765                    }
766                  } else {
767                    globalwpw.initialize = 0;
768                    globalwpw.ai_step = 1;
769                    globalwpw.wildCard = 0;
770                    if (
771                      typeof globalwpw.settings.obj.clickintent != "undefined"
772                    ) {
773                      wpwAction.bot(
774                        wpwKits.render(globalwpw.settings.obj.clickintent)
775                      );
776                    } else {
777                      wpwMsg.single(serviceOffer);
778                    }
779                  }
780                }
781              }, globalwpw.settings.preLoadingTime);
782            }, globalwpw.settings.preLoadingTime);
783          } else {
784            $.cookie(
785              "shopper",
786              wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
787              { expires: 365 }
788            );
789            localStorage.setItem(
790              "shopper",
791              wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
792            );
793            globalwpw.hasNameCookie = wpwKits.render(
794              globalwpw.settings.obj.shopper_demo_name
795            );
796            globalwpw.ai_step = 1;
797            globalwpw.wildCard = 0;
798            localStorage.setItem("wildCard", globalwpw.wildCard);
799            localStorage.setItem("aiStep", globalwpw.ai_step);
800            setTimeout(function () {
801              var serviceOffer = wpwKits.randomMsg(
802                globalwpw.settings.obj.wildcard_msg
803              );
804              setTimeout(function () {
805                if (
806                  globalwpw.settings.obj.qcld_disable_start_menu != "1" &&
807                  globalwpw.settings.obj.qcld_disable_beginning_startmenu != "1"
808                ) {
809                  if (
810                    typeof globalwpw.wildcards != "undefined" &&
811                    globalwpw.wildcards != ""
812                  ) {
813                    wpwMsg.double_nobg(serviceOffer, globalwpw.wildcards);
814                  } 
815                } else {
816                  if (
817                    globalwpw.settings.obj.skip_wp_greetings_trigger_intent ==
818                    1 ||
819                    typeof globalwpw.settings.obj.clickintent !== "undefined"
820                  ) {
821                    if (globalwpw.settings.obj.clickintent != "") {
822                      globalwpw.settings.obj.clickintent =
823                        globalwpw.settings.obj.init_trigger_intent;
824                      wpwAction.bot(
825                        wpwKits.render(globalwpw.settings.obj.clickintent)
826                      );
827                    }
828                  } else {
829                    globalwpw.initialize = 0;
830                    globalwpw.ai_step = 1;
831                    globalwpw.wildCard = 0;
832                    if (
833                      typeof globalwpw.settings.obj.clickintent != "undefined"
834                    ) {
835                      wpwAction.bot(
836                        wpwKits.render(globalwpw.settings.obj.clickintent)
837                      );
838                    }
839                  }
840                }
841              }, globalwpw.settings.preLoadingTime);
842            }, globalwpw.settings.preLoadingTime);
843          }
844        } else if (globalwpw.settings.obj.order_login) {
845          if (
846            globalwpw.settings.obj.re_target_handler == 0 &&
847            globalwpw.settings.obj.disable_first_msg != 1
848          ) {
849            var botJoinMsg =
850              "<strong>" +
851              wpwKits.render(globalwpw.settings.obj.agent) +
852              " </strong> " +
853              wpwKits.randomMsg(globalwpw.settings.obj.agent_join);
854            wpwMsg.single(botJoinMsg);
855          }
856
857          $.cookie("shopper", globalwpw.settings.obj.order_user, {
858            expires: 365,
859          });
860          localStorage.setItem("shopper", globalwpw.settings.obj.order_user);
861          globalwpw.hasNameCookie = globalwpw.settings.obj.order_user;
862          globalwpw.ai_step = 1;
863          globalwpw.wildCard = 0;
864          localStorage.setItem("wildCard", globalwpw.wildCard);
865          localStorage.setItem("aiStep", globalwpw.ai_step);
866          setTimeout(function () {
867            if (
868              globalwpw.settings.obj.re_target_handler == 0 &&
869              globalwpw.settings.obj.disable_first_msg != 1
870            ) {
871              var firstMsg =
872                wpwKits.randomMsg(globalwpw.settings.obj.hi_there) +
873                " " +
874                wpwKits.randomMsg(globalwpw.settings.obj.welcome) +
875                " <strong>" +
876                wpwKits.render(globalwpw.settings.obj.host) +
877                "</strong> ";
878              wpwMsg.single(firstMsg);
879            }
880            setTimeout(function () {
881              //Greeting with name and suggesting the wildcard.
882              var NameGreeting =
883                wpwKits.randomMsg(globalwpw.settings.obj.i_am) +
884                " <strong>" +
885                wpwKits.render(globalwpw.settings.obj.agent) +
886                "</strong>! " +
887                wpwKits.randomMsg(globalwpw.settings.obj.name_greeting);
888
889              //this data should be conditional
890              var serviceOffer = wpwKits.randomMsg(
891                globalwpw.settings.obj.wildcard_msg
892              );
893              //After completing two steps messaging showing wildcards.
894              //After completing two steps messaging showing wildcards.
895              if (
896                globalwpw.settings.obj.show_menu_after_greetings == 1 &&
897                globalwpw.settings.obj.qcld_disable_start_menu != "1" &&
898                globalwpw.settings.obj.qcld_disable_beginning_startmenu != "1"
899              ) {
900                //wpwMsg.triple_nobg(NameGreeting,serviceOffer, globalwpw.wildcards);
901                if (
902                  typeof globalwpw.wildcards != "undefined" &&
903                  globalwpw.wildcards != ""
904                ) {
905                  wpwMsg.triple_nobg(
906                    NameGreeting,
907                    serviceOffer,
908                    globalwpw.wildcards
909                  );
910                } else {
911                  wpwMsg.double(NameGreeting, serviceOffer);
912                }
913              } else {
914                wpwMsg.single(NameGreeting);
915              }
916              globalwpw.ai_step = 1;
917              globalwpw.wildCard = 0;
918              localStorage.setItem("wildCard", globalwpw.wildCard);
919              localStorage.setItem("aiStep", globalwpw.ai_step);
920            }, globalwpw.settings.preLoadingTime);
921          }, globalwpw.settings.preLoadingTime);
922        } else {
923          if (
924            wp_chatbot_obj.re_target_handler == 0 &&
925            globalwpw.settings.obj.disable_first_msg != 1
926          ) {
927            var botJoinMsg =
928              "<strong>" +
929              wpwKits.render(globalwpw.settings.obj.agent) +
930              " </strong> " +
931              wpwKits.randomMsg(globalwpw.settings.obj.agent_join);
932            wpwMsg.single(botJoinMsg);
933          }
934          //Showing greeting for name in cookie or fresh shopper.
935          setTimeout(function () {
936            var secondMsg = wpwKits.randomMsg(
937              globalwpw.settings.obj.asking_name
938            );
939            var firstMsg =
940              wpwKits.randomMsg(globalwpw.settings.obj.hi_there) +
941              " " +
942              wpwKits.randomMsg(globalwpw.settings.obj.welcome) +
943              " <strong>" +
944              wpwKits.render(globalwpw.settings.obj.host) +
945              "</strong> ";
946            wpwMsg.double(firstMsg, secondMsg);
947          }, globalwpw.settings.preLoadingTime);
948        }
949      }
950    },
951  };
952  //Append the message to the message container based on the requirement.
953  wpwMsg = {
954    replace_variable: function (msg) {
955      if (globalwpw.hasNameCookie) {
956        var shopper = globalwpw.hasNameCookie;
957      } else {
958        var shopper = wpwKits.render(globalwpw.settings.obj.shopper_demo_name);
959      }
960
961      if (msg != "" && typeof msg !== "undefined") {
962        if (Object.keys(globalwpw.strEntities).length > 0) {
963          $.each(Object.keys(globalwpw.strEntities), function (index, entity) {
964            msg = msg.toString().replace(entity, globalwpw.strEntities[entity]);
965          });
966        }
967        return msg
968          .toString()
969          .replace("%%username%%", "<strong>" + shopper + "</strong>");
970      }
971    },
972    single: function (msg) {
973
974      wpwKits.playsound();
975      // msg = msg.replace(/\n/g, "<br />");
976      //tts code
977      var tts_text = wpwKits.removeTags(msg);
978      wpwKits.playAudio(tts_text);
979
980      globalwpw.wpwIsWorking = 1;
981      if (
982        $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
983          .length == 0
984      ) {
985
986        $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
987      }
988      //Scroll to the last message
989      wpwKits.scrollTo();
990      setTimeout(function () {
991        var matches = msg.match(/(https?:\/\/.*\.(?:png|jpg|gif|jpeg|tiff))/i);
992        matches = wpwKits.removeDups(matches);
993        if (Array.isArray(matches)) {
994          jQuery.each(matches, function (i, match) {
995            if (
996              /\.(gif|jpg|jpeg|tiff|png)$/i.test(match) &&
997              !msg.match(/<img/)
998            ) {
999              msg = msg.replace(
1000                match,
1001                "<img src='" + match + "' class='wpbot_auto_image' />"
1002              );
1003            }
1004          });
1005        }
1006        msg = wpwMsg.replace_variable(msg);
1007        msg = qcldFormatAndHandleAiForm(msg);
1008        $(globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph").html(
1009          msg
1010        );
1011        //If has youtube link then show video
1012        wpwKits.videohandler();
1013        //scroll to the last message
1014        wpwKits.scrollTo();
1015        //Enable the editor
1016        wpwKits.enableEditor(
1017          wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg)
1018        );
1019        //keeping in history
1020        wpwKits.wpwHistorySave();
1021      }, globalwpw.settings.preLoadingTime);
1022    },
1023    single_nobg: function (msg) {
1024      wpwKits.playsound();
1025      //tts code
1026
1027      if (msg.indexOf("qcld_back_to_start") == -1) {
1028        var tts_text = wpwKits.removeTags(msg);
1029        wpwKits.playAudio(tts_text);
1030      } else if (qcldIsAiFormInProgress()) {
1031        return;
1032      }
1033
1034      globalwpw.wpwIsWorking = 1;
1035      if (
1036        $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
1037          .length == 0
1038      ) {
1039        $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
1040      }
1041      //Scroll to the last message
1042      wpwKits.scrollTo();
1043      setTimeout(function () {
1044        var matches = msg.match(/(https?:\/\/.*\.(?:png|jpg|gif|jpeg|tiff))/i);
1045        matches = wpwKits.removeDups(matches);
1046        if (Array.isArray(matches)) {
1047          jQuery.each(matches, function (i, match) {
1048            if (
1049              /\.(gif|jpg|jpeg|tiff|png)$/i.test(match) &&
1050              !msg.match(/<img/)
1051            ) {
1052              msg = msg.replace(
1053                match,
1054                "<img src='" + match + "' class='wpbot_auto_image' />"
1055              );
1056            }
1057          });
1058        }
1059
1060        msg = wpwMsg.replace_variable(msg);
1061
1062        $(globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph")
1063          .parent()
1064          .addClass("wp-chatbot-msg-flat");
1065        $(globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph")
1066          .parent()
1067          .append(msg);
1068        $(
1069          globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph"
1070        ).remove();
1071        //scroll to the last message
1072        wpwKits.scrollTo();
1073        wpwKits.videohandler();
1074        //Enable the editor
1075        wpwKits.enableEditor(
1076          wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg)
1077        );
1078        //Keeping the chat history in localStorage
1079        wpwKits.wpwHistorySave();
1080        // disabled editor
1081        // wpwKits.disableEditor('Please choose an option.');
1082      }, globalwpw.settings.preLoadingTime);
1083    },
1084    double: function (fristMsg, secondMsg) {
1085      wpwKits.playsound();
1086      //tts code
1087      var tts_text =
1088        wpwKits.removeTags(fristMsg) + " " + wpwKits.removeTags(secondMsg);
1089      wpwKits.playAudio(tts_text);
1090
1091      globalwpw.wpwIsWorking = 1;
1092      if (
1093        $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
1094          .length == 0
1095      ) {
1096        $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
1097      }
1098      //Scroll to the last message
1099      wpwKits.scrollTo();
1100      wpwKits.enableEditor(
1101        wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg)
1102      );
1103      setTimeout(function () {
1104        var matches = fristMsg.match(
1105          /(https?:\/\/.*\.(?:png|jpg|gif|jpeg|tiff))/i
1106        );
1107        matches = wpwKits.removeDups(matches);
1108        if (Array.isArray(matches)) {
1109          jQuery.each(matches, function (i, match) {
1110            if (
1111              /\.(gif|jpg|jpeg|tiff|png)$/i.test(match) &&
1112              !fristMsg.match(/<img/)
1113            ) {
1114              fristMsg = fristMsg.replace(
1115                match,
1116                "<img src='" + match + "' class='wpbot_auto_image' />"
1117              );
1118            }
1119          });
1120        }
1121        fristMsg = wpwMsg.replace_variable(fristMsg);
1122        $(globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph").html(
1123          fristMsg
1124        );
1125        wpwKits.videohandler();
1126        //Second Message with interval
1127        if (
1128          $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
1129            .length == 0
1130        ) {
1131          $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
1132        }
1133        //Scroll to the last message
1134        wpwKits.scrollTo();
1135        setTimeout(function () {
1136          var matches = secondMsg.match(
1137            /(https?:\/\/.*\.(?:png|jpg|gif|jpeg|tiff))/i
1138          );
1139          matches = wpwKits.removeDups(matches);
1140          if (Array.isArray(matches)) {
1141            jQuery.each(matches, function (i, match) {
1142              if (
1143                /\.(gif|jpg|jpeg|tiff|png)$/i.test(match) &&
1144                !secondMsg.match(/<img/)
1145              ) {
1146                secondMsg = secondMsg.replace(
1147                  match,
1148                  "<img src='" + match + "' class='wpbot_auto_image' />"
1149                );
1150              }
1151            });
1152          }
1153          secondMsg = wpwMsg.replace_variable(secondMsg);
1154          $(
1155            globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph"
1156          ).html(secondMsg);
1157          //Scroll to the last message
1158          wpwKits.scrollTo();
1159          wpwKits.videohandler();
1160          //Enable the editor
1161          wpwKits.enableEditor(
1162            wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg)
1163          );
1164          //keeping in history
1165          wpwKits.wpwHistorySave();
1166        }, globalwpw.settings.preLoadingTime);
1167      }, globalwpw.settings.preLoadingTime);
1168
1169    },
1170    triple: function (fristMsg, secondMsg, thirdMsg) {
1171      wpwKits.playsound();
1172      //tts code
1173      var tts_text =
1174        wpwKits.removeTags(fristMsg) + " " + wpwKits.removeTags(secondMsg);
1175      wpwKits.playAudio(tts_text);
1176      globalwpw.wpwIsWorking = 1;
1177      if (
1178        $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
1179          .length == 0
1180      ) {
1181
1182        $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
1183      }
1184      //Scroll to the last message
1185      wpwKits.scrollTo();
1186      wpwKits.enableEditor(
1187        wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg)
1188      );
1189      setTimeout(function () {
1190        var matches = fristMsg.match(
1191          /(https?:\/\/.*\.(?:png|jpg|gif|jpeg|tiff))/i
1192        );
1193        matches = wpwKits.removeDups(matches);
1194        if (Array.isArray(matches)) {
1195          jQuery.each(matches, function (i, match) {
1196            if (
1197              /\.(gif|jpg|jpeg|tiff|png)$/i.test(match) &&
1198              !fristMsg.match(/<img/)
1199            ) {
1200              fristMsg = fristMsg.replace(
1201                match,
1202                "<img src='" + match + "' class='wpbot_auto_image' />"
1203              );
1204            }
1205          });
1206        }
1207        fristMsg = wpwMsg.replace_variable(fristMsg);
1208        $(globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph").html(
1209          fristMsg
1210        );
1211        wpwKits.videohandler();
1212        //Second Message with interval
1213        if (
1214          $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
1215            .length == 0
1216        ) {
1217          $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
1218        }
1219        //Scroll to the last message
1220        wpwKits.scrollTo();
1221        setTimeout(function () {
1222          var matches = secondMsg.match(
1223            /(https?:\/\/.*\.(?:png|jpg|gif|jpeg|tiff))/i
1224          );
1225          matches = wpwKits.removeDups(matches);
1226          jQuery.each(matches, function (i, match) {
1227            if (
1228              /\.(gif|jpg|jpeg|tiff|png)$/i.test(match) &&
1229              !secondMsg.match(/<img/)
1230            ) {
1231              secondMsg = secondMsg.replace(
1232                match,
1233                "<img src='" + match + "' class='wpbot_auto_image' />"
1234              );
1235            }
1236          });
1237          secondMsg = wpwMsg.replace_variable(secondMsg);
1238          $(
1239            globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph"
1240          ).html(secondMsg);
1241          wpwKits.videohandler();
1242
1243          if (
1244            $(
1245              globalwpw.settings.messageLastChild +
1246              " .wp-chatbot-comment-loader"
1247            ).length == 0
1248          ) {
1249
1250            $(globalwpw.settings.messageContainer).append(
1251              wpwKits.botPreloader()
1252            );
1253          }
1254          //Scroll to the last message
1255          wpwKits.scrollTo();
1256
1257          //Enable the editor
1258          wpwKits.enableEditor(
1259            wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg)
1260          );
1261          //keeping in history
1262          wpwKits.wpwHistorySave();
1263
1264          setTimeout(function () {
1265            var matches = thirdMsg.match(
1266              /(https?:\/\/.*\.(?:png|jpg|gif|jpeg|tiff))/i
1267            );
1268            matches = wpwKits.removeDups(matches);
1269            if (Array.isArray(matches)) {
1270              jQuery.each(matches, function (i, match) {
1271                if (
1272                  /\.(gif|jpg|jpeg|tiff|png)$/i.test(match) &&
1273                  !thirdMsg.match(/<img/)
1274                ) {
1275                  thirdMsg = thirdMsg.replace(
1276                    match,
1277                    "<img src='" + match + "' class='wpbot_auto_image' />"
1278                  );
1279                }
1280              });
1281            }
1282            thirdMsg = wpwMsg.replace_variable(thirdMsg);
1283            $(
1284              globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph"
1285            ).html(thirdMsg);
1286            //Scroll to the last message
1287            wpwKits.scrollTo();
1288            wpwKits.videohandler();
1289            //Enable the editor
1290            wpwKits.enableEditor(
1291              wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg)
1292            );
1293
1294            wpwKits.wpwHistorySave();
1295          }, globalwpw.settings.preLoadingTime);
1296        }, globalwpw.settings.preLoadingTime);
1297      }, globalwpw.settings.preLoadingTime);
1298    },
1299    double_nobg: function (fristMsg, secondMsg) {
1300      wpwKits.playsound();
1301      //tts code
1302      var tts_text =
1303        wpwKits.removeTags(fristMsg) + " " + wpwKits.removeTags(secondMsg);
1304      wpwKits.playAudio(tts_text);
1305      globalwpw.wpwIsWorking = 1;
1306
1307      // Define the icon HTML string
1308
1309      if (
1310        $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
1311          .length == 0
1312      ) {
1313        $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
1314
1315      }
1316      //Scroll to the last message
1317      wpwKits.scrollTo();
1318      setTimeout(function () {
1319        if (typeof fristMsg === "string") {
1320          var matches = fristMsg.match(
1321            /(https?:\/\/.*\.(?:png|jpg|gif|jpeg|tiff))/i
1322          );
1323          matches = wpwKits.removeDups(matches);
1324          if (Array.isArray(matches)) {
1325            jQuery.each(matches, function (i, match) {
1326              if (
1327                /\.(gif|jpg|jpeg|tiff|png)$/i.test(match) &&
1328                !fristMsg.match(/<img/)
1329              ) {
1330                fristMsg = fristMsg.replace(
1331                  match,
1332                  "<img src='" + match + "' class='wpbot_auto_image' />"
1333                );
1334              }
1335            });
1336          }
1337        }
1338        fristMsg = wpwMsg.replace_variable(fristMsg);
1339        $(globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph").html(
1340          fristMsg
1341        );
1342        wpwKits.videohandler();
1343        //Second Message with interval
1344        if (
1345          $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
1346            .length == 0
1347        ) {
1348
1349          $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
1350        }
1351        //Scroll to the last message
1352        wpwKits.scrollTo();
1353        setTimeout(function () {
1354          var matches = secondMsg.match(
1355            /(https?:\/\/.*\.(?:png|jpg|gif|jpeg|tiff))/i
1356          );
1357          matches = wpwKits.removeDups(matches);
1358          if (Array.isArray(matches)) {
1359            jQuery.each(matches, function (i, match) {
1360              if (
1361                /\.(gif|jpg|jpeg|tiff|png)$/i.test(match) &&
1362                !secondMsg.match(/<img/)
1363              ) {
1364                secondMsg = secondMsg.replace(
1365                  match,
1366                  "<img src='" + match + "' class='wpbot_auto_image' />"
1367                );
1368              }
1369            });
1370          }
1371          secondMsg = wpwMsg.replace_variable(secondMsg);
1372          if (globalwpw.wildCard > 0) {
1373            $(globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph")
1374              .parent()
1375              .addClass("wp-chatbot-msg-flat")
1376              .html(secondMsg);
1377          } else {
1378            $(globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph")
1379              .parent()
1380              .addClass("wp-chatbot-msg-flat")
1381              .html(secondMsg);
1382          }
1383          //scroll to the last message
1384          wpwKits.scrollTo();
1385          wpwKits.videohandler();
1386
1387          // Remove any existing icon block to prevent duplication
1388          //$(globalwpw.settings.messageLastChild + " .qcld-like-dislike-icon").remove();
1389          // Append the desired icon block to the message container
1390
1391
1392          //Enable the editor
1393          if (globalwpw.wildCard == 1 && globalwpw.supportStep == "welcome") {
1394            //wpwKits.disableEditor('Support');
1395          } else {
1396            wpwKits.enableEditor(
1397              wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg)
1398            );
1399          }
1400          //keeping in history
1401
1402          wpwKits.wpwHistorySave();
1403          // disabled editor
1404          // wpwKits.disableEditor('Please choose an option.');
1405        }
1405, globalwpw.settings.preLoadingTime);
1406      }, globalwpw.settings.preLoadingTime);
1407
1408    },
1409    triple_nobg: function (fristMsg, secondMsg, thirdMsg) {
1410      wpwKits.playsound();
1411      //tts code
1412      var tts_text =
1413        wpwKits.removeTags(fristMsg) + " " + wpwKits.removeTags(secondMsg);
1414      wpwKits.playAudio(tts_text);
1415      globalwpw.wpwIsWorking = 1;
1416      if (
1417        $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
1418          .length == 0
1419      ) {
1420
1421        $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
1422      }
1423
1424      //Scroll to the last message
1425      wpwKits.scrollTo();
1426      setTimeout(function () {
1427        var matches = fristMsg.match(
1428          /(https?:\/\/.*\.(?:png|jpg|gif|jpeg|tiff))/i
1429        );
1430        matches = wpwKits.removeDups(matches);
1431        if (Array.isArray(matches)) {
1432          jQuery.each(matches, function (i, match) {
1433            if (
1434              /\.(gif|jpg|jpeg|tiff|png)$/i.test(match) &&
1435              !fristMsg.match(/<img/)
1436            ) {
1437              fristMsg = fristMsg.replace(
1438                match,
1439                "<img src='" + match + "' class='wpbot_auto_image' />"
1440              );
1441            }
1442          });
1443        }
1444        fristMsg = wpwMsg.replace_variable(fristMsg);
1445        $(globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph").html(
1446          fristMsg
1447        );
1448        wpwKits.videohandler();
1449        //Second Message with interval
1450        if (
1451          $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
1452            .length == 0
1453        ) {
1454
1455          $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
1456        }
1457        //Scroll to the last message
1458        wpwKits.scrollTo();
1459
1460        setTimeout(function () {
1461          var matches = secondMsg.match(
1462            /(https?:\/\/.*\.(?:png|jpg|gif|jpeg|tiff))/i
1463          );
1464          matches = wpwKits.removeDups(matches);
1465          if (Array.isArray(matches)) {
1466            jQuery.each(matches, function (i, match) {
1467              if (
1468                /\.(gif|jpg|jpeg|tiff|png)$/i.test(match) &&
1469                !secondMsg.match(/<img/)
1470              ) {
1471                secondMsg = secondMsg.replace(
1472                  match,
1473                  "<img src='" + match + "' class='wpbot_auto_image' />"
1474                );
1475              }
1476            });
1477          }
1478          secondMsg = wpwMsg.replace_variable(secondMsg);
1479          $(
1480            globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph"
1481          ).html(secondMsg);
1482          wpwKits.videohandler();
1483          if (
1484            $(
1485              globalwpw.settings.messageLastChild +
1486              " .wp-chatbot-comment-loader"
1487            ).length == 0
1488          ) {
1489
1490            $(globalwpw.settings.messageContainer).append(
1491              wpwKits.botPreloader()
1492            );
1493          }
1494          //Scroll to the last message
1495          wpwKits.scrollTo();
1496
1497          setTimeout(function () {
1498            if (thirdMsg !== undefined) {
1499              var matches = thirdMsg.match(
1500                /(https?:\/\/.*\.(?:png|jpg|gif|jpeg|tiff))/i
1501              );
1502              matches = wpwKits.removeDups(matches);
1503              if (Array.isArray(matches)) {
1504                jQuery.each(matches, function (i, match) {
1505                  if (
1506                    /\.(gif|jpg|jpeg|tiff|png)$/i.test(match) &&
1507                    !thirdMsg.match(/<img/)
1508                  ) {
1509                    thirdMsg = thirdMsg.replace(
1510                      match,
1511                      "<img src='" + match + "' class='wpbot_auto_image' />"
1512                    );
1513                  }
1514                });
1515              }
1516            }
1517            thirdMsg = wpwMsg.replace_variable(thirdMsg);
1518            if (globalwpw.wildCard > 0) {
1519              $(globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph")
1520                .parent()
1521                .addClass("wp-chatbot-msg-flat")
1522                .html(thirdMsg);
1523            } else {
1524              $(globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph")
1525                .parent()
1526                .addClass("wp-chatbot-msg-flat")
1527                .html(thirdMsg);
1528            }
1529            //scroll to the last message
1530            wpwKits.scrollTo();
1531            wpwKits.videohandler();
1532            //Enable the editor
1533            if (globalwpw.wildCard == 1 && globalwpw.supportStep == "welcome") {
1534              //wpwKits.disableEditor('Support');
1535            } else {
1536              wpwKits.enableEditor(
1537                wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg)
1538              );
1539            }
1540            //keeping in history
1541            wpwKits.wpwHistorySave();
1542            // disabled editor
1543            // wpwKits.disableEditor('Please choose an option.');
1544          }, globalwpw.settings.preLoadingTime);
1545        }, globalwpw.settings.preLoadingTime);
1546      }, globalwpw.settings.preLoadingTime);
1547    },
1548    shopper: function (shopperMsg) {
1549      $(globalwpw.settings.messageContainer).append(
1550        wpwKits.shopperMsgDom(shopperMsg)
1551      );
1552      //scroll to the last message
1553      wpwKits.scrollTo();
1554      //keeping in history
1555      wpwKits.wpwHistorySave();
1556    },
1557    shopper_choice: function (shopperChoice) {
1558      $(globalwpw.settings.messageLastChild).fadeOut(
1559        globalwpw.settings.preLoadingTime
1560      );
1561      //   $(globalwpw.settings.messageContainer).append(wpwKits.shopperMsgDom(shopperChoice));
1562      //scroll to the last message
1563      wpwKits.scrollTo();
1564      //keeping in history
1565
1566      // wpwKits.wpwHistorySave();
1567    },
1568    open_ai_message_callback: function (msg) {
1569      let msgtxt = new DOMParser().parseFromString(msg, "text/html");
1570      // Store user message for Dynamic AI Menu
1571      globalwpw.lastUserMsg = msgtxt.documentElement.textContent;
1572      if ($("#wp-chatbot-chat-container").attr("data-assistant")) {
1573        var asstant_id = $("#wp-chatbot-chat-container").attr("data-assistant");
1574      }
1575      if (
1576        $("#wp-chatbot-shortcode-template-container").attr("data-assistant")
1577      ) {
1578        var asstant_id = $("#wp-chatbot-shortcode-template-container").attr(
1579          "data-assistant"
1580        );
1581      }
1582      if (wp_chatbot_obj.open_ai_enable == "1") {
1583        var msg = msgtxt.documentElement.textContent;
1584        var customAappend = globalwpw.settings.obj.qcld_openai_append_content;
1585        var customMessage = customAappend ? msg + " " + customAappend : msg;
1586
1587        qcldPushAiContext('user', customMessage);
1588
1589        var streamEnable = wp_chatbot_obj.is_stream_enabled;
1590        if (streamEnable == "1") {
1591
1592          if (
1593            $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
1594              .length == 0
1595          ) {
1596
1597            $(globalwpw.settings.messageContainer).append(wpwKits.botPreloaderWithicon());
1598          }
1599
1600          const data = {
1601            action: "qcld_stream_openai",
1602            name: globalwpw.hasNameCookie,
1603            keyword: customMessage,
1604            message: customMessage,
1605            active_ai_action: globalwpw.active_ai_action || "",
1606            nonce: wpbot_ajax.nonce,
1607          };
1608          var openaiConversationId = wpwKits.getOpenaiConversationId();
1609          if (openaiConversationId) {
1610            data.openai_conversation_id = openaiConversationId;
1611          }
1612          if (globalwpw.active_ai_action) {
1613            data.ai_history = JSON.stringify(globalwpw.aiContext);
1614          }
1615
1616          if (wp_chatbot_obj.is_asst_enabled == "1") {
1617            streamOpenAIwithAssit(customMessage, asstant_id);
1618          } else {
1619            streamOpenAI(wpwKits.appendAiFileToData(data));
1620          }
1621
1622          wpwKits.wpwHistorySave();
1623        } else {
1624
1625          var data = {
1626            action: "openai_response",
1627            name: globalwpw.hasNameCookie,
1628            asstant_id: asstant_id,
1629            keyword: customMessage,
1630            active_ai_action: globalwpw.active_ai_action || "",
1631            ai_history: JSON.stringify(globalwpw.aiContext),
1632            nonce: wp_chatbot_obj.ajax_nonce,
1633          };
1634          var openaiConversationId = wpwKits.getOpenaiConversationId();
1635          if (openaiConversationId) {
1636            data.openai_conversation_id = openaiConversationId;
1637          }
1638          // Pass current menu items so PHP can filter them server-side (avoids a 2nd AJAX call)
1639          if ( globalwpw.settings.obj.qcld_dynamic_ai_menu == "1" ) {
1640            var _dmAllItems = [];
1641            $(globalwpw.wildcards).each(function(){ var l=$(this).text().trim(); if(l) _dmAllItems.push(l); });
1642            data.dynamic_menu_items = JSON.stringify(_dmAllItems);
1643          }
1644          if (
1645            $(
1646              globalwpw.settings.messageLastChild +
1647              " .wp-chatbot-comment-loader"
1648            ).length == 0
1649          ) {
1650
1651            $(globalwpw.settings.messageContainer).append(
1652              wpwKits.botPreloader()
1653            );
1654          }
1655          wpwKits.ajax(data).done(function (res) {
1656            console.log((Number(globalwpw.settings.preLoadingTime) + Number(100)))
1657            var json = $.parseJSON(res);
1658            if (json.conversation_id) {
1659              wpwKits.setOpenaiConversationId(json.conversation_id);
1660            }
1661            if (json.status == "success") {
1662              qcldPushAiContext('assistant', json.message);
1663              
1664              var formRegex = /(?:<[^>]+>)*\s*(?:__|<strong>|<b>)?AI_FORM_DATA(?:__|<\/strong>|<\/b>)?[\s\S]*?(?:__|<strong>|<b>)?AI_FORM_DATA_END(?:__|<\/strong>|<\/b>)?\s*(?:<\/[^>]+>)*/gi;
1665              if (json.message && formRegex.test(json.message)) {
1666                json.message = json.message.replace(formRegex, function(match) {
1667                  try {
1668                    var jsonMatch = match.match(/\{[\s\S]*\}/);
1669                    if (jsonMatch) {
1670                      var jsonStr = jsonMatch[0];
1671                      var data = JSON.parse(jsonStr.trim());
1672                      
1673                      var postData = {
1674                        action: 'qcld_save_ai_form',
1675                        data: jsonStr,
1676                        nonce: (typeof wp_chatbot_obj !== 'undefined' ? wp_chatbot_obj.ajax_nonce : '')
1677                      };
1678                      wpwKits.ajax(postData).done(function(r){});
1679                      
1680                      globalwpw.aiContext = [];
1681                      globalwpw.qcld_ai_form_persisted_state = false;
1682                      
1683                      var html = '<div class="ai-form-summary-card" style="background: #f4f6f9; border-left: 4px solid #0073aa; padding: 12px 14px; margin: 10px 0; border-radius: 4px; font-size: 13px; line-height: 1.5; color: #333;">';
1684                      if (data.form_title) {
1685                        html += '<div style="font-weight: 600; color: #0073aa; margin-bottom: 8px; text-transform: capitalize; font-size: 14px;">' + data.form_title + '</div>';
1686                      }
1687                      if (data.data && typeof data.data === 'object') {
1688                        html += '<table style="width: 100%; border-collapse: collapse; margin-top: 4px;">';
1689                        for (var key in data.data) {
1690                          if (data.data.hasOwnProperty(key)) {
1691                            var cleanKey = key.replace(/[-_]/g, ' ');
1692                            html += '<tr><td style="padding: 3px 6px 3px 0; color: #555; font-weight: 600; width: 42%; vertical-align: top;">' + cleanKey + ':</td><td style="padding: 3px 0; color: #222; vertical-align: top;">' + data.data[key] + '</td></tr>';
1693                          }
1694                        }
1695                        html += '</table>';
1696                      }
1697                      html += '</div>';
1698                      return html;
1699                    }
1700                  } catch(e) {
1701                    console.error('AI Form parse error:', e);
1702                  }
1703                  return '';
1704                });
1705                
1706                setTimeout(function () {
1707                  wpwMsg.single(json.message);
1708                }, globalwpw.settings.preLoadingTime);
1709              } else {
1710                setTimeout(function () {
1711                  wpwMsg.single(json.message);
1712                }, globalwpw.settings.preLoadingTime);
1713              }
1714              
1715              setTimeout(function () {
1716                wpwTree.qcld_render_dynamic_or_start_menu(json);
1717              }, (Number(globalwpw.settings.preLoadingTime) + Number(200)) );
1718            }
1719            if (!qcldIsAiFormInProgress()) { $(globalwpw.settings.messageContainer).find('.wp-chatbot-msg:last .qcld-like-dislike-icon').css('display', 'block'); }
1720          });
1721          wpwKits.wpwHistorySave();
1722        }
1723
1724        wpwKits.scrollTo();
1725        //Enable the editor
1726        wpwKits.enableEditor(
1727          wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg)
1728        );
1729        //keeping in history
1730        wpwKits.wpwHistorySave();
1731      }
1732      else if (wp_chatbot_obj.gemini_enabled == "1") {
1733        var msg = msgtxt.documentElement.textContent;
1734        var customAappend = globalwpw.settings.obj.qcld_gemini_append_content;
1735        var customprepend = globalwpw.settings.obj.qcld_gemini_prepend_content;
1736        var customMessage = customprepend ? customprepend + " " + msg : msg;
1737        customMessage = customAappend
1738          ? customMessage + " " + customAappend
1739          : customMessage;
1740
1741        qcldPushAiContext('user', customMessage);
1742
1743        var geminiStreamEnabled = wp_chatbot_obj.gemini_stream_enabled;
1744
1745        if (geminiStreamEnabled == "1") {
1746          if (
1747            $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
1748              .length == 0
1749          ) {
1750            $(globalwpw.settings.messageContainer).append(wpwKits.botPreloaderWithicon());
1751          }
1752
1753          const geminiStreamData = {
1754            action: "qcld_stream_gemini",
1755            name: globalwpw.hasNameCookie,
1756            keyword: customMessage,
1757            message: customMessage,
1758            active_ai_action: globalwpw.active_ai_action || "",
1759            wpwHistory: localStorage.getItem("wpwHitory") || "",
1760            ai_history: JSON.stringify(globalwpw.aiContext),
1761            page_title: wp_chatbot_obj.page_title || "",
1762            nonce: wpbot_ajax.nonce,
1763          };
1764
1765          streamGemini(wpwKits.appendAiFileToData(geminiStreamData));
1766          wpwKits.wpwHistorySave();
1767        } else {
1768          var data = {
1769            action: "gemini_response",
1770            name: globalwpw.hasNameCookie,
1771            keyword: customMessage,
1772            active_ai_action: globalwpw.active_ai_action || "",
1773            wpwHistory: localStorage.getItem("wpwHitory") || "",
1774            ai_history: JSON.stringify(globalwpw.aiContext),
1775            page_title: wp_chatbot_obj.page_title || "",
1776            nonce: wp_chatbot_obj.ajax_nonce,
1777          };
1778          if ( globalwpw.settings.obj.qcld_dynamic_ai_menu == "1" ) {
1779            var _dmAllItems = [];
1780            $(globalwpw.wildcards).each(function(){ var l=$(this).text().trim(); if(l) _dmAllItems.push(l); });
1781            data.dynamic_menu_items = JSON.stringify(_dmAllItems);
1782          }
1783          if (
1784            $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
1785              .length == 0
1786          ) {
1787            $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
1788          }
1789          wpwKits.ajax(data).done(function (res) {
1790            var json = $.parseJSON(res);
1791
1792            if (json.status == "success") {
1793              qcldPushAiContext('assistant', json.message);
1794              json.message = qcldFormatAndHandleAiForm(json.message);
1795              setTimeout(function () {
1796                wpwMsg.single(json.message);
1797                wpwTree.qcld_render_dynamic_or_start_menu(json);
1798              }, globalwpw.settings.preLoadingTime);
1799            } else {
1800              // Handle error status
1801              setTimeout(function () {
1802                  $(globalwpw.settings.messageContainer).find('.wp-chatbot-comment-loader').parent().parent().remove();
1803                  wpwMsg.single(json.message);
1804                  globalwpw.wpwIsWorking = 0;
1805              }, globalwpw.settings.preLoadingTime);
1806            }
1807          });
1808          wpwKits.wpwHistorySave();
1809        }
1810
1811        wpwKits.scrollTo();
1812        wpwKits.enableEditor(
1813          wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg)
1814        );
1815        wpwKits.wpwHistorySave();
1816      }
1817      else if(wp_chatbot_obj.grok_enabled == "1"){
1818        var msg = msgtxt.documentElement.textContent;
1819        var customAappend = globalwpw.settings.obj.qcld_openai_append_content;
1820        var customMessage = customAappend ? msg + " " + customAappend : msg;
1821
1822        qcldPushAiContext('user', customMessage);
1823
1824        var is_grok_stream_enabled = wp_chatbot_obj.is_grok_stream_enabled;
1825        if (is_grok_stream_enabled == "1") {
1826          if (
1827            $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
1828              .length == 0
1829          ) {
1830            $(globalwpw.settings.messageContainer).append(wpwKits.botPreloaderWithicon());
1831          }
1832          const data = {
1833            action: "qcld_stream_grokai",
1834            name: globalwpw.hasNameCookie,
1835            keyword: customMessage,
1836            message: customMessage,
1837            active_ai_action: globalwpw.active_ai_action || "",
1838            ai_history: JSON.stringify(globalwpw.aiContext),
1839            nonce: wpbot_ajax.nonce,
1840          };
1841          streamGrokAI(wpwKits.appendAiFileToData(data));
1842          wpwKits.wpwHistorySave();
1843        } else {
1844          var data = {
1845            action: "qcld_grok_response",
1846            name: globalwpw.hasNameCookie,
1847            asstant_id: asstant_id,
1848            keyword: customMessage,
1849            active_ai_action: globalwpw.active_ai_action || "",
1850            ai_history: JSON.stringify(globalwpw.aiContext),
1851            nonce: wp_chatbot_obj.ajax_nonce,
1852          };
1853          if ( globalwpw.settings.obj.qcld_dynamic_ai_menu == "1" ) {
1854            var _dmAllItems = [];
1855            $(globalwpw.wildcards).each(function(){ var l=$(this).text().trim(); if(l) _dmAllItems.push(l); });
1856            data.dynamic_menu_items = JSON.stringify(_dmAllItems);
1857          }
1858          if (
1859            $(
1860              globalwpw.settings.messageLastChild +
1861              " .wp-chatbot-comment-loader"
1862            ).length == 0
1863          ) {
1864
1865            $(globalwpw.settings.messageContainer).append(
1866              wpwKits.botPreloader()
1867            );
1868          }
1869          wpwKits.ajax(data).done(function (res) {
1870            var json = $.parseJSON(res);
1871            if (json.status == "success") {
1872              qcldPushAiContext('assistant', json.message);
1873              json.message = qcldFormatAndHandleAiForm(json.message);
1874              setTimeout(function () {
1875                wpwMsg.single(json.message);
1876                wpwTree.qcld_render_dynamic_or_start_menu(json);
1877              }, globalwpw.settings.preLoadingTime);
1878            }
1879            if (!qcldIsAiFormInProgress()) { $(globalwpw.settings.messageContainer).find('.wp-chatbot-msg:last .qcld-like-dislike-icon').css('display', 'block'); }
1880          });
1881          wpwKits.wpwHistorySave();
1882        }
1883          wpwKits.scrollTo();
1884          //Enable the editor
1885          wpwKits.enableEditor(
1886            wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg)
1887          );
1888          //keeping in history
1889          wpwKits.wpwHistorySave();
1890      }
1891      else if (wp_chatbot_obj.claude_enabled == "1") {
1892        var msg = msgtxt.documentElement.textContent;
1893        var customAappend = globalwpw.settings.obj.qcld_claude_append_content;
1894        var customprepend = globalwpw.settings.obj.qcld_claude_prepend_content;
1895        var customMessage = customprepend ? customprepend + " " + msg : msg;
1896        customMessage = customAappend
1897          ? customMessage + " " + customAappend
1898          : customMessage;
1899
1900        qcldPushAiContext('user', customMessage);
1901
1902        var claudeStreamEnabled = wp_chatbot_obj.claude_stream_enabled;
1903
1904        if (claudeStreamEnabled == "1") {
1905          if (
1906            $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
1907              .length == 0
1908          ) {
1909            $(globalwpw.settings.messageContainer).append(wpwKits.botPreloaderWithicon());
1910          }
1911
1912          const claudeStreamData = {
1913            action: "qcld_stream_claude",
1914            name: globalwpw.hasNameCookie,
1915            keyword: customMessage,
1916            message: customMessage,
1917            active_ai_action: globalwpw.active_ai_action || "",
1918            wpwHistory: localStorage.getItem("wpwHitory") || "",
1919            ai_history: JSON.stringify(globalwpw.aiContext),
1920            page_title: wp_chatbot_obj.page_title || "",
1921            nonce: wpbot_ajax.nonce,
1922          };
1923
1924          streamClaude(wpwKits.appendAiFileToData(claudeStreamData));
1925          wpwKits.wpwHistorySave();
1926        } else {
1927          var data = {
1928            action: "claude_response",
1929            name: globalwpw.hasNameCookie,
1930            keyword: customMessage,
1931            active_ai_action: globalwpw.active_ai_action || "",
1932            wpwHistory: localStorage.getItem("wpwHitory") || "",
1933            ai_history: JSON.stringify(globalwpw.aiContext),
1934            page_title: wp_chatbot_obj.page_title || "",
1935            nonce: wp_chatbot_obj.ajax_nonce,
1936          };
1937
1938          if (
1939            $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
1940              .length == 0
1941          ) {
1942            $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
1943          }
1944          wpwKits.ajax(data).done(function (res) {
1945            var json = $.parseJSON(res);
1946
1947            if (json.status == "success") {
1948              qcldPushAiContext('assistant', json.message);
1949              json.message = qcldFormatAndHandleAiForm(json.message);
1950              setTimeout(function () {
1951                wpwMsg.single(json.message);
1952                wpwTree.start_menu_settings();
1953              }, globalwpw.settings.preLoadingTime);
1954            } else {
1955              // Handle error status
1956              setTimeout(function () {
1957                  $(globalwpw.settings.messageContainer).find('.wp-chatbot-comment-loader').parent().parent().remove();
1958                  wpwMsg.single(json.message);
1959                  globalwpw.wpwIsWorking = 0;
1960              }, globalwpw.settings.preLoadingTime);
1961            }
1962          });
1963          wpwKits.wpwHistorySave();
1964        }
1965
1966        wpwKits.scrollTo();
1967        wpwKits.enableEditor(
1968          wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg)
1969        );
1970        wpwKits.wpwHistorySave();
1971      }
1972      else if (wp_chatbot_obj.openrouter_enabled == "1") {
1973        var msg = msgtxt.documentElement.textContent;
1974        var customAappend =
1975          globalwpw.settings.obj.qcld_openrouter_append_content;
1976        var customprepend =
1977          globalwpw.settings.obj.qcld_openrouter_prepend_content;
1978        var customMessage = customprepend ? customprepend + " " + msg : msg;
1979        customMessage = customAappend
1980          ? customMessage + " " + customAappend
1981          : customMessage;
1982
1983        qcldPushAiContext('user', customMessage);
1984
1985        var data = {
1986          action: "openrouter_response",
1987          name: globalwpw.hasNameCookie,
1988          keyword: customMessage,
1989          active_ai_action: globalwpw.active_ai_action || "",
1990          ai_history: JSON.stringify(globalwpw.aiContext),
1991          nonce: wp_chatbot_obj.ajax_nonce,
1992        };
1993
1994        if (
1995          $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
1996            .length == 0
1997        ) {
1998          $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
1999        }
2000        wpwKits.ajax(data).done(function (res) {
2001          var json = $.parseJSON(res);
2002
2003          if (json.status == "success") {
2004            qcldPushAiContext('assistant', json.message);
2005            json.message = qcldFormatAndHandleAiForm(json.message);
2006            setTimeout(function () {
2007              wpwMsg.single(json.message);
2008              wpwTree.start_menu_settings();
2009            }, globalwpw.settings.preLoadingTime);
2010          } else {
2011            // Handle error status
2012            setTimeout(function () {
2013              // Remove preloader
2014              $(globalwpw.settings.messageLastChild).remove();
2015              // Display error message
2016              wpwMsg.single(json.message);
2017              globalwpw.wpwIsWorking = 0;
2018            }, globalwpw.settings.preLoadingTime);
2019          }
2020        });
2021      }
2022      else if (wp_chatbot_obj.mistral_enabled == "1") {
2023        var msg = msgtxt.documentElement.textContent;
2024        var customAappend = globalwpw.settings.obj.qcld_mistral_append_content;
2025        var customprepend = globalwpw.settings.obj.qcld_mistral_prepend_content;
2026        var customMessage = customprepend ? customprepend + " " + msg : msg;
2027        customMessage = customAappend
2028          ? customMessage + " " + customAappend
2029          : customMessage;
2030
2031        qcldPushAiContext('user', customMessage);
2032
2033        var data = {
2034          action: "mistral_response",
2035          name: globalwpw.hasNameCookie,
2036          keyword: customMessage,
2037          active_ai_action: globalwpw.active_ai_action || "",
2038          ai_history: JSON.stringify(globalwpw.aiContext),
2039          nonce: wp_chatbot_obj.ajax_nonce,
2040        };
2041
2042        if (
2043          $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
2044            .length == 0
2045        ) {
2046          $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
2047        }
2048        wpwKits.ajax(data).done(function (res) {
2049          var json = $.parseJSON(res);
2050
2051          if (json.status == "success") {
2052            qcldPushAiContext('assistant', json.message);
2053            json.message = qcldFormatAndHandleAiForm(json.message);
2054            setTimeout(function () {
2055              wpwMsg.single(json.message);
2056              wpwTree.start_menu_settings();
2057            }, globalwpw.settings.preLoadingTime);
2058          } else {
2059            // Handle error status
2060            setTimeout(function () {
2061                $(globalwpw.settings.messageContainer).find('.wp-chatbot-comment-loader').parent().parent().remove();
2062                wpwMsg.single(json.message);
2063                globalwpw.wpwIsWorking = 0;
2064            }, globalwpw.settings.preLoadingTime);
2065          }
2066        });
2067      }
2068      else if (wp_chatbot_obj.ollama_enabled == "1") {
2069        var msg = msgtxt.documentElement.textContent;
2070        var customMessage = msg;
2071
2072        qcldPushAiContext('user', customMessage);
2073
2074        var data = {
2075          action: "ollama_response",
2076          name: globalwpw.hasNameCookie,
2077          keyword: customMessage,
2078          active_ai_action: globalwpw.active_ai_action || "",
2079          ai_history: JSON.stringify(globalwpw.aiContext),
2080          nonce: wp_chatbot_obj.ajax_nonce,
2081        };
2082        if ( globalwpw.settings.obj.qcld_dynamic_ai_menu == "1" ) {
2083          var _dmAllItems = [];
2084          $(globalwpw.wildcards).each(function(){ var l=$(this).text().trim(); if(l) _dmAllItems.push(l); });
2085          data.dynamic_menu_items = JSON.stringify(_dmAllItems);
2086        }
2087        if (
2088          $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
2089            .length == 0
2090        ) {
2091          $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
2092        }
2093        wpwKits.ajax(data).done(function (res) {
2094          var json = $.parseJSON(res);
2095          if (json.status == "success") {
2096            qcldPushAiContext('assistant', json.message);
2097            json.message = qcldFormatAndHandleAiForm(json.message);
2098            setTimeout(function () {
2099              wpwMsg.single(json.message);
2100              wpwTree.qcld_render_dynamic_or_start_menu(json);
2101            }, globalwpw.settings.preLoadingTime);
2102          } else {
2103            // Handle error status
2104            setTimeout(function () {
2105              $(globalwpw.settings.messageContainer).find('.wp-chatbot-comment-loader').parent().parent().remove();
2106              wpwMsg.single(json.message);
2107              globalwpw.wpwIsWorking = 0;
2108            }, globalwpw.settings.preLoadingTime);
2109          }
2110        });
2111      }
2112      else if (globalwpw.settings.obj.tvlyai_enabled == "1") {
2113        var data = {
2114          action: "qcld_tvly_respose",
2115          name: globalwpw.hasNameCookie,
2116          keyword: msgtxt.documentElement.textContent,
2117          nonce: wp_chatbot_obj.ajax_nonce,
2118        };
2119        if (
2120          $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
2121            .length == 0
2122        ) {
2123          $(globalwpw.settings.messageContainer).append(wpwKits.botPreloaderWithicon());
2124        }
2125        wpwKits.ajax(data).done(function (res) {
2126          
2127          var json = $.parseJSON(res);
2128          if (json.status == "success") {
2129            var serviceOffer = wpwKits.randomMsg(
2130              globalwpw.settings.obj.support_option_again
2131            );
2132            setTimeout(function () {
2133              wpwMsg.single(json.message);
2134              wpwTree.start_menu_settings(); 
2135            }, globalwpw.settings.preLoadingTime);
2136          }
2137        });
2138      }
2139      if (globalwpw.aiPendingFile) {
2140        wpwKits.clearAiPendingFile();
2141      }
2142    },
2143  };
2144  //Every tiny tools are implemented  in wpwKits as object literal.
2145  wpwKits = {
2146    isTtsEnabled: function () {
2147      var iconClass = $(".qcld_voice_audio_control").find(".fa").attr("class");
2148      return iconClass === "fa fa-volume-up";
2149    },
2150    getOpenaiConversationId: function () {
2151      var id = "";
2152      try {
2153        id = localStorage.getItem("qcld_openai_conversation_id") || "";
2154      } catch (e) {}
2155      if (!id) {
2156        var match = document.cookie.match(/(?:^|; )qcld_openai_conversation_id=([^;]*)/);
2157        if (match && match[1]) {
2158          try {
2159            id = decodeURIComponent(match[1]);
2160          } catch (e) {
2161            id = match[1];
2162          }
2163        }
2164      }
2165      return id && id.indexOf("resp_") === 0 ? id : "";
2166    },
2167    setOpenaiConversationId: function (id) {
2168      if (!id || String(id).indexOf("resp_") !== 0) {
2169        return;
2170      }
2171      try {
2172        localStorage.setItem("qcld_openai_conversation_id", id);
2173      } catch (e) {}
2174      document.cookie =
2175        "qcld_openai_conversation_id=" +
2176        encodeURIComponent(id) +
2177        "; path=/; max-age=60000";
2178    },
2179    stopBotAudio: function () {
2180      botaudiolist = [];
2181      botaudioisplay = false;
2182      var audioEl = document.getElementById("bot_audio_voice");
2183      if (audioEl) {
2184        audioEl.pause();
2185        audioEl.currentTime = 0;
2186      }
2187      jQuery(".wpbot_tts_wrapper").empty();
2188    },
2189    playAudio: function (tts_text) {
2190      if (!wpwKits.isTtsEnabled()) {
2191        return;
2192      }
2193      if (
2194        globalwpw.settings.obj.voice_addon &&
2195        globalwpw.settings.obj.bot_read &&
2196        ( globalwpw.settings.obj.stt_service == "google" || globalwpw.settings.obj.stt_service == "openai" )
2197      ) {
2198        if(globalwpw.settings.obj.stt_service == "google"){
2199          var data = {
2200            action: "qcld_wp_tts_api_call",
2201            tts_active: true,
2202            tts_text: tts_text,
2203            security: globalwpw.settings.obj.ajax_nonce,
2204          };
2205
2206        }else{
2207          var data = {
2208            action: "qcld_wp_openai_tts_api_call",
2209            tts_active: true,
2210            tts_text: tts_text,
2211            security: globalwpw.settings.obj.ajax_nonce,
2212          };
2213        }
2214        wpwKits.ajax(data).done(function (response) {
2215          if (response && response.trim() !== "") {
2216            botaudiolist.push(response);
2217            wpwKits.handleAudio();
2218          }
2219        });
2220      }
2221    },
2222    language_switcher: function (langu) {
2223      if (langu) {
2224        var language = langu;
2225      } else {
2226        var language = globalwpw.settings.obj.language;
2227      }
2228      var data = {
2229        action: "qcld_wpbot_current_language",
2230        language: language,
2231        security: globalwpw.settings.obj.ajax_nonce,
2232      };
2233      wpwKits.ajax(data).done();
2234    },
2235    handleAudio: function () {
2236      if (botaudiolist.length === 0 || botaudioisplay) {
2237        return;
2238      }
2239      if (!wpwKits.isTtsEnabled()) {
2240        botaudiolist = [];
2241        return;
2242      }
2243
2244      var audioHtml = botaudiolist.shift();
2245      jQuery(".wpbot_tts_wrapper").html(audioHtml);
2246
2247      var audioEl = document.getElementById("bot_audio_voice");
2248      if (!audioEl) {
2249        botaudioisplay = false;
2250        wpwKits.handleAudio();
2251        return;
2252      }
2253
2254      var releasePlaybackLock = function () {
2255        botaudioisplay = false;
2256      };
2257
2258      jQuery(audioEl)
2259        .off("ended.bottts error.bottts")
2260        .one("ended.bottts", function () {
2261          releasePlaybackLock();
2262          wpwKits.handleAudio();
2263        })
2264        .one("error.bottts", function () {
2265          releasePlaybackLock();
2266          wpwKits.handleAudio();
2267        });
2268
2269      botaudioisplay = true;
2270      var playPromise = audioEl.play();
2271      if (playPromise && typeof playPromise.then === "function") {
2272        playPromise.catch(function () {
2273          botaudiolist.unshift(audioHtml);
2274          releasePlaybackLock();
2275        });
2276      }
2277    },
2278    removeTags: function (str) {
2279      if (str === null || str === "" || str === undefined) return false;
2280      else str = str.toString();
2281      return str.replace(/(<([^>]+)>)/gi, "");
2282    },
2283    render: function (obj) {
2284      if (
2285        typeof obj == "object" &&
2286        obj.hasOwnProperty(globalwpw.settings.obj.language)
2287      ) {
2288        return obj[globalwpw.settings.obj.language];
2289      }
2290      if (
2291        typeof obj == "object" &&
2292        !obj.hasOwnProperty(globalwpw.settings.obj.language)
2293      ) {
2294        return obj[globalwpw.settings.obj.default_language];
2295      }
2296      return obj;
2297    },
2298    formatTimestamp: function (date) {
2299      var hours = date.getHours();
2300      var minutes = date.getMinutes();
2301      var ampm = hours >= 12 ? "PM" : "AM";
2302
2303      hours = hours % 12;
2304      hours = hours ? hours : 12;
2305      minutes = minutes < 10 ? "0" + minutes : minutes;
2306
2307      return hours + ":" + minutes + " " + ampm;
2308    },
2309    addMessageTimestamps: function (context) {
2310      var $context = context ? $(context) : $(globalwpw.settings.messageWrapper);
2311
2312      $context.find(".wp-chatbot-paragraph").each(function () {
2313        var $paragraph = $(this);
2314
2315        if (
2316          $paragraph.find(".wp-chatbot-comment-loader").length > 0 ||
2317          $paragraph.next(".wp-chatbot-timestamp").length > 0
2318        ) {
2319          return;
2320        }
2321
2322        var $message = $paragraph.closest(".wp-chatbot-msg, .wp-chat-user-msg");
2323        var isUserMessage = $message.hasClass("wp-chat-user-msg");
2324        var textAlign = isUserMessage ? "right" : "left";
2325        var timestampStyle =
2326          "display:none;clear:both;width:100%;flex-basis:100%;font-size:11px;line-height:1.3;color:#8a8f98;margin-top:4px;text-align:" +
2327          textAlign +
2328          ";";
2329
2330        if (isUserMessage && $message.css("display") == "flex") {
2331          $message.css("flex-wrap", "wrap");
2332        }
2333
2334        $paragraph.after(
2335          '<span class="wp-chatbot-timestamp" style="' +
2336          timestampStyle +
2337          '">' +
2338          wpwKits.formatTimestamp(new Date()) +
2339          "</span>"
2340        );
2341      });
2342    },
2343    playsound: function (e) {
2344      if (globalwpw.settings.obj.sound_bot_message == 1) {
2345        var audio = document.querySelector("#wp-chatbot-proactive-audio");
2346        if (audio) {
2347          var promise = audio.play();
2348        }
2349        if (promise !== undefined) {
2350          promise
2351            .then(function (success) {
2352              //success to play
2353            })
2354            .catch(function (error) {
2355              //some error
2356            });
2357        }
2358      }
2359    },
2360    doReset: function () {
2361      $("#wp-chatbot-messages-container").html("");
2362      if (typeof globalwpw.settings.obj !== "undefined") {
2363        if (globalwpw.settings.obj.skip_wp_greetings_trigger_intent != "1") {
2364          globalwpw.settings.obj.clickintent = "";
2365        } else {
2366          globalwpw.settings.obj.clickintent =
2367            globalwpw.settings.obj.init_trigger_intent;
2368        }
2369      }
2370      $("#wp-chatbot-editor").attr("type", "text");
2371      localStorage.removeItem("wpwHitory");
2372      localStorage.removeItem("shopper");
2373      localStorage.removeItem("productStep");
2374      localStorage.removeItem("orderStep");
2375      localStorage.removeItem("shopperphone");
2376      localStorage.removeItem("default_asking_phone");
2377      localStorage.removeItem("shopperemail");
2378      localStorage.removeItem("default_asking_email");
2379      localStorage.removeItem("cx-name");
2380      localStorage.removeItem("cx-diaplayname");
2381      localStorage.removeItem("cx-languagecode");
2382      localStorage.removeItem("cx-timezone");
2383      localStorage.removeItem("botsessionid");
2384      globalwpw.askEmail = 0;
2385      globalwpw.ai_step = 0;
2386      localStorage.setItem("wildCard", globalwpw.wildCard);
2387      localStorage.setItem("aiStep", globalwpw.ai_step);
2388      globalwpw.formfieldid = "";
2389      localStorage.setItem("formfieldid", globalwpw.formfieldid);
2390      globalwpw.formStep = "welcome";
2391      localStorage.setItem("formStep", globalwpw.formStep);
2392      globalwpw.formid = "";
2393      localStorage.setItem("formid", globalwpw.formid);
2394      globalwpw.formentry = 0;
2395      localStorage.setItem("formentry", globalwpw.formentry);
2396      localStorage.removeItem("strEntities");
2397      localStorage.removeItem("strObject");
2398      localStorage.removeItem("strStep");
2399      localStorage.removeItem("strMatchfailed");
2400      localStorage.setItem("wpwHitory", "");
2401      globalwpw.supportStep = "search";
2402      globalwpw.wildCard = "";
2403      $(globalwpw.settings.messageWrapper).html(
2404        '<ul id="wp-chatbot-messages-container" class="wp-chatbot-messages-container"></ul>'
2405      );
2406      localStorage.removeItem("qcld_openai_conversation_id");
2407      wpwKits.resetcookies("qcld_openai_conversation_id");
2408    },
2409    closeWindow: function () {
2410      if (
2411        jQuery("#wp-chatbot-mobile-close").length > 0 &&
2412        jQuery("#wp-chatbot-mobile-close").is(":visible")
2413      ) {
2414        jQuery("#wp-chatbot-mobile-close").trigger("click");
2415      } else if (
2416        jQuery("#wp-chatbot-desktop-close").length > 0 &&
2417        jQuery("#wp-chatbot-desktop-close").is(":visible")
2418      ) {
2419        jQuery("#wp-chatbot-desktop-close").trigger("click");
2420      } else if (
2421        jQuery("#wp-chatbot-desktop-close1").length > 0 &&
2422        jQuery("#wp-chatbot-desktop-close1").is(":visible")
2423      ) {
2424        jQuery("#wp-chatbot-desktop-close1").trigger("click");
2425      } else if (
2426        jQuery(".wp-chatbot-start-close").length > 0 &&
2427        jQuery(".wp-chatbot-start-close").is(":visible")
2428      ) {
2429        jQuery(".wp-chatbot-start-close").trigger("click");
2430      }
2431    },
2432    resetcookies: function (name) {
2433      document.cookie =
2434        name + "=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;";
2435    },
2436    showtooltip: function (obj) {
2437      var dir = obj.attr("data-tooltip"),
2438        left = obj.offset().left,
2439        top = obj.offset().top,
2440        spanStr = "",
2441        ttObj = {},
2442        ttdiv = $("#bottooltip > div"),
2443        //Getting info of data-title if not title
2444        info =
2445          obj.attr("title") != undefined
2446            ? obj.attr("title")
2447            : obj.attr("data-title");
2448      dir = "bottom";
2449      //Checking which side to put tooltip
2450      //and giving css properties accordingly
2451      switch (dir) {
2452        case "left":
2453          spanStr = "right: -4px; top: 8px;";
2454          ttObj.top = top;
2455          ttObj.left = left - 60;
2456          break;
2457        case "right":
2458          spanStr = "left: -4px; top: 8px;";
2459          ttObj.top = top;
2460          ttObj.left = left + 35;
2461          break;
2462        case "top":
2463          spanStr = "left: 43%; bottom: -4px;";
2464          ttObj.top = top - 50;
2465          ttObj.left = left - 10;
2466          break;
2467        case "bottom":
2468          spanStr = "left: 43%; top: -4px;";
2469          ttObj.top = top + 50;
2470          ttObj.left = left - obj.width() / 2 - 32;
2471          break;
2472        default:
2473          break;
2474      }
2475      $("#bottooltip").css({ top: ttObj.top, left: ttObj.left });
2476      $("#bottooltip > span").css("cssText", spanStr);
2477
2478      ttdiv.text(info);
2479
2480      $("#bottooltip").show();
2481    },
2482
2483    formatPhoneNumberUS: function (phoneNumberString) {
2484      var cleaned = ("" + phoneNumberString).replace(/\D/g, "");
2485      if (cleaned.length > 10) {
2486        cleaned = cleaned.substring(0, 10);
2487      }
2488      var match = cleaned.match(/^(\d{3})(\d{3})(\d{4})$/);
2489
2490      if (match) {
2491        return "(" + match[1] + ") " + match[2] + "-" + match[3];
2492      } else {
2493        return phoneNumberString;
2494      }
2495    },
2496    removeDups: function (names) {
2497      let unique = {};
2498
2499      if (Array.isArray(names)) {
2500        names.forEach(function (i) {
2501          if (!unique[i]) {
2502            unique[i] = true;
2503          }
2504        });
2505        return Object.keys(unique);
2506      } else {
2507        return names;
2508      }
2509    },
2510
2511    enableEditor: function (placeHolder) {
2512      if (globalwpw.settings.editor_handler == 0) {
2513        if (
2514          globalwpw.settings.obj.disable_auto_focus != 1 &&
2515          !globalwpw.settings.obj.is_mobile
2516        ) {
2517          $("#wp-chatbot-editor").attr("disabled", false).focus();
2518        }
2519
2520        $("#wp-chatbot-editor").attr("disabled", false);
2521        $("#wp-chatbot-editor").attr("placeholder", placeHolder);
2522        $("#wp-chatbot-send-message").attr("disabled", false);
2523      }
2524      wpwKits.toggleAiFileUploadButton();
2525      wpwKits.initAiFileUpload();
2526    },
2527    disableEditor: function (placeHolder) {
2528      if (globalwpw.settings.editor_handler == 0) {
2529        $("#wp-chatbot-editor").attr("placeholder", placeHolder);
2530        $("#wp-chatbot-editor").attr("disabled", true);
2531        $("#wp-chatbot-send-message").attr("disabled", true);
2532      }
2533      wpwKits.toggleAiFileUploadButton();
2534      //Remove extra pre loader.
2535      if (
2536        $(".wp-chatbot-messages-container").find(".wp-chatbot-comment-loader")
2537          .length > 0
2538      ) {
2539        $(".wp-chatbot-messages-container")
2540          .find(".wp-chatbot-comment-loader")
2541          .parent()
2542          .parent()
2543          .hide();
2544      }
2545    },
2546
2547    initAiFileUpload: function () {
2548      if (!qcldWpbotIsAiFileUploadFeatureEnabled() || !qcldWpbotIsAnyAiEnabled()) {
2549        $("#wpbot-ai-file-upload").remove();
2550        $("#wpbot-ai-file-input").remove();
2551        $(".wpbot-ai-file-preview").remove();
2552        return;
2553      }
2554
2555      var $area = $("#wp-chatbot-editor-area");
2556      if ($area.length === 0) {
2557        $area = $("#wp-chatbot-editor-container");
2558      }
2559      if ($area.length === 0) {
2560        return;
2561      }
2562
2563      if ($("#wpbot-ai-file-input").length === 0) {
2564        $("body").append(
2565          '<input type="file" id="wpbot-ai-file-input" class="wpbot-ai-file-input" accept=".jpg,.jpeg,.png,.gif,.webp,.pdf,.txt,.csv,.doc,.docx" tabindex="-1" aria-hidden="true" />'
2566        );
2567      }
2568
2569      if ($(".wpbot-ai-file-preview").length === 0) {
2570        var $editor = $("#wp-chatbot-editor");
2571        if ($editor.length > 0) {
2572          $editor.before('<div class="wpbot-ai-file-preview" style="display:none;"></div>');
2573        } else {
2574          $area.prepend('<div class="wpbot-ai-file-preview" style="display:none;"></div>');
2575        }
2576      }
2577
2578      if ($("#wpbot-ai-file-upload").length === 0) {
2579        var uploadBtn =
2580          '<button type="button" id="wpbot-ai-file-upload" class="wpbot-ai-file-upload-btn" title="Attach file" aria-label="Attach file">' +
2581          '<span class="wpbot-ai-file-upload-icon" aria-hidden="true">' +
2582          '<svg viewBox="0 0 24 24" width="18" height="18" focusable="false" role="img"><path fill="currentColor" d="M16.5 6v11.5a4 4 0 0 1-8 0V5a2.5 2.5 0 0 1 5 0v10.5a1 1 0 0 1-2 0V6h-1.5v9.5a2.5 2.5 0 0 0 5 0V5a4 4 0 0 0-8 0v12.5a5.5 5.5 0 0 0 11 0V6H16.5z"/></svg>' +
2583          '</span></button>';
2584
2585        var $sendBtn = $("#wp-chatbot-send-message");
2586        if ($sendBtn.length > 0) {
2587          $sendBtn.before(uploadBtn);
2588        } else {
2589          $area.append(uploadBtn);
2590        }
2591      }
2592
2593      wpwKits.toggleAiFileUploadButton();
2594    },
2595
2596    toggleAiFileUploadButton: function () {
2597      var $btn = $("#wpbot-ai-file-upload");
2598      if ($btn.length === 0) {
2599        return;
2600      }
2601      if (!qcldWpbotIsAiFileUploadFeatureEnabled() || !qcldWpbotIsAnyAiEnabled()) {
2602        $btn.hide();
2603        wpwKits.clearAiPendingFile(false);
2604        return;
2605      }
2606      if (parseInt(globalwpw.wildCard, 10) === 7 || parseInt(globalwpw.wildCard, 10) === 95) {
2607        $btn.hide();
2608        wpwKits.clearAiPendingFile(false);
2609        return;
2610      }
2611      if (jQuery("#wp-chatbot-editor").attr("type") === "file") {
2612        $btn.hide();
2613        wpwKits.clearAiPendingFile(false);
2614        return;
2615      }
2616      $btn.css({
2617        display: "inline-flex",
2618        visibility: "visible",
2619        opacity: "1",
2620      });
2621    },
2622
2623    renderAiFilePreview: function () {
2624      var $preview = $(".wpbot-ai-file-preview");
2625      var $container = $("#wp-chatbot-editor-container, #wp-chatbot-editor-area");
2626      if ($preview.length === 0) {
2627        return;
2628      }
2629      if (!globalwpw.aiPendingFile) {
2630        $preview.hide().empty();
2631        $container.removeClass("wpbot-has-ai-file");
2632        return;
2633      }
2634
2635      var file = globalwpw.aiPendingFile;
2636      var html = '<span class="wpbot-ai-file-chip">' + file.name;
2637      html += ' <button type="button" class="wpbot-ai-file-remove" aria-label="Remove file">&times;</button></span>';
2638      $preview.html(html).css("display", "block").show();
2639      $container.addClass("wpbot-has-ai-file");
2640    },
2641
2642    clearAiPendingFile: function (clearInput) {
2643      globalwpw.aiPendingFile = null;
2644      wpwKits.renderAiFilePreview();
2645      if (clearInput !== false) {
2646        $("#wpbot-ai-file-input").val("");
2647      }
2648    },
2649
2650    appendAiFileToData: function (data) {
2651      if (!globalwpw.aiPendingFile) {
2652        return data;
2653      }
2654      data.ai_file_url = globalwpw.aiPendingFile.url;
2655      data.ai_file_name = globalwpw.aiPendingFile.name;
2656      data.ai_file_type = globalwpw.aiPendingFile.type || "";
2657      data.ai_file_is_image = globalwpw.aiPendingFile.is_image ? 1 : 0;
2658      return data;
2659    },
2660
2661    wpwLoadStripeJs: function (callback) {
2662      if (window.Stripe) {
2663        callback();
2664        return;
2665      }
2666      if (window._wpbotStripeLoading) {
2667        window._wpbotStripeLoading.push(callback);
2668        return;
2669      }
2670      window._wpbotStripeLoading = [callback];
2671      var script = document.createElement("script");
2672      script.src = "https://js.stripe.com/v3/";
2673      script.async = true;
2674      script.onload = function () {
2675        var queue = window._wpbotStripeLoading || [];
2676        window._wpbotStripeLoading = null;
2677        for (var i = 0; i < queue.length; i++) {
2678          queue[i]();
2679        }
2680      };
2681      script.onerror = function () {
2682        window._wpbotStripeLoading = null;
2683        wpwMsg.single("Unable to load Stripe checkout. Please try again.");
2684      };
2685      document.head.appendChild(script);
2686    },
2687    wpwMountStripeInlineCheckout: function ($card, onReady) {
2688      var pk = $card.attr("data-publishable-key");
2689      var clientSecret = $card.attr("data-client-secret");
2690      if (!pk || !clientSecret || !window.Stripe) {
2691        return;
2692      }
2693      var stripe = window.Stripe(pk);
2694      var elements = stripe.elements();
2695      var style = {
2696        base: {
2697          fontSize: "14px",
2698          color: "#1d2327",
2699          "::placeholder": { color: "#8c8f94" },
2700        },
2701        invalid: {
2702          color: "#d63638",
2703        },
2704      };
2705      var cardNumber = elements.create("cardNumber", {
2706        style: style,
2707        showIcon: true,
2708      });
2709      var cardExpiry = elements.create("cardExpiry", { style: style });
2710      var cardCvc = elements.create("cardCvc", { style: style });
2711
2712      var numberId = $card.find(".wpbot-stripe-card-number").attr("id");
2713      var expiryId = $card.find(".wpbot-stripe-card-expiry").attr("id");
2714      var cvcId = $card.find(".wpbot-stripe-card-cvc").attr("id");
2715      if (!numberId || !expiryId || !cvcId) {
2716        return;
2717      }
2718
2719      var readyCount = 0;
2720      var totalElements = 3;
2721      var didReady = false;
2722      function markReady() {
2723        if (didReady) {
2724          return;
2725        }
2726        didReady = true;
2727        if (typeof onReady === "function") {
2728          onReady();
2729        }
2730      }
2731      function checkReady() {
2732        readyCount++;
2733        if (readyCount >= totalElements) {
2734          markReady();
2735        }
2736      }
2737
2738      cardNumber.on("ready", checkReady);
2739      cardExpiry.on("ready", checkReady);
2740      cardCvc.on("ready", checkReady);
2741
2742      cardNumber.mount("#" + numberId);
2743      cardExpiry.mount("#" + expiryId);
2744      cardCvc.mount("#" + cvcId);
2745
2746      $card.data("stripe", stripe);
2747      $card.data("cardNumber", cardNumber);
2748      $card.data("cardExpiry", cardExpiry);
2749      $card.data("cardCvc", cardCvc);
2750      $card.data("clientSecret", clientSecret);
2751
2752      setTimeout(function () {
2753        if (!didReady) {
2754          markReady();
2755        }
2756      }, 8000);
2757    },
2758    wpwMarkInlinePaymentSuccess: function ($card) {
2759      $card.find("button").prop("disabled", true);
2760      $card
2761        .find(".wpbot-inline-checkout-actions")
2762        .html(
2763          '<div class="wpbot-inline-checkout-success">Payment completed successfully.</div>'
2764        );
2765      wpwKits.wpwHistorySave();
2766      if (
2767        globalwpw.paymentFieldActive &&
2768        globalwpw.wildCard == 7 &&
2769        globalwpw.formStep == "field"
2770      ) {
2771        globalwpw.paymentFieldActive = false;
2772        jQuery("#wp-chatbot-editor").prop("disabled", false);
2773        setTimeout(function () {
2774          wpwTree.formbuilder("payment_completed");
2775        }
2775, globalwpw.settings.preLoadingTime + 50);
2776      }
2777    },
2778    wpwHandlePaymentFieldStep: function (json) {
2779      globalwpw.paymentFieldActive = true;
2780      globalwpw.formfieldid = json.ID;
2781      localStorage.setItem("formfieldid", globalwpw.formfieldid);
2782      if (json.entry) {
2783        globalwpw.formentry = json.entry;
2784        localStorage.setItem("formentry", globalwpw.formentry);
2785      }
2786      var label = json.label || "";
2787      if (label.length > 1 && typeof label === "string") {
2788        label = label.replace("#name", localStorage.getItem("shopper") || "");
2789      }
2790      if (json.payment_error) {
2791        if (label) {
2792          wpwMsg.single(label);
2793        }
2794        wpwMsg.single(json.payment_error);
2795        globalwpw.paymentFieldActive = false;
2796        wpwKits.enableEditor(
2797          wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg)
2798        );
2799        return;
2800      }
2801      if (label) {
2802        wpwMsg.single(label);
2803      }
2804      if (json.payment) {
2805        wpwKits.wpwShowInlinePaymentCheckout(json.url || "", {
2806          gateway: "stripe",
2807          amount: json.amount || "",
2808          currency: json.currency || "",
2809          item: json.item || "",
2810          client_secret: json.client_secret || "",
2811          publishable_key: json.publishable_key || "",
2812          inline_checkout: json.inline_checkout || 0,
2813        });
2814      }
2815      jQuery("#wp-chatbot-editor").prop("disabled", true);
2816    },
2817    wpwShowInlinePaymentCheckout: function (url, meta) {
2818      meta = meta || {};
2819      var stripePk = meta.publishable_key || "";
2820      var stripeSecret = meta.client_secret || "";
2821      var isInlineStripe = !!stripeSecret && !!stripePk;
2822      var item = meta.item || "Payment";
2823      var amount = meta.amount || "";
2824      var currency = meta.currency || "";
2825      var amountLabel =
2826        currency && amount ? currency + " " + amount : amount || "";
2827      var uid = "wpbot_stripe_" + Date.now();
2828
2829      function esc(text) {
2830        return String(text == null ? "" : text)
2831          .replace(/&/g, "&amp;")
2832          .replace(/</g, "&lt;")
2833          .replace(/>/g, "&gt;")
2834          .replace(/"/g, "&quot;");
2835      }
2836
2837      var html = '<div class="wpbot-inline-checkout"';
2838      if (isInlineStripe) {
2839        html +=
2840          ' data-publishable-key="' +
2841          esc(stripePk) +
2842          '" data-client-secret="' +
2843          esc(stripeSecret) +
2844          '"';
2845      }
2846      html += ">";
2847
2848      html += "<h4>Stripe Checkout</h4>";
2849      html +=
2850        '<p class="wpbot-inline-checkout-note">' +
2851        (isInlineStripe
2852          ? "Enter your card details below to complete payment."
2853          : "Complete your payment securely with Stripe.") +
2854        "</p>";
2855      html +=
2856        '<div class="wpbot-inline-checkout-row"><span>Item</span><strong>' +
2857        esc(item) +
2858        "</strong></div>";
2859      html +=
2860        '<div class="wpbot-inline-checkout-row"><span>Amount</span><strong>' +
2861        esc(amountLabel) +
2862        "</strong></div>";
2863      html +=
2864        '<div class="wpbot-inline-checkout-row"><span>Gateway</span><strong>Stripe</strong></div>';
2865
2866      if (isInlineStripe) {
2867        html += '<div class="wpbot-stripe-fields wpbot-stripe-fields-loading">';
2868        html +=
2869          '<div class="wpbot-stripe-fields-loader">Loading secure card form...</div>';
2870        html += '<div class="wpbot-stripe-fields-inner">';
2871        html +=
2872          '<label class="wpbot-stripe-field"><span>Cardholder name</span><input type="text" class="wpbot-stripe-name" name="wpbot_stripe_name" autocomplete="cc-name" placeholder="Name on card" /></label>';
2873        html +=
2874          '<label class="wpbot-stripe-field"><span>Card number</span><div id="' +
2875          uid +
2876          '_number" class="wpbot-stripe-input wpbot-stripe-card-number"></div></label>';
2877        html += '<div class="wpbot-stripe-field-row">';
2878        html +=
2879          '<label class="wpbot-stripe-field"><span>Expiry date</span><div id="' +
2880          uid +
2881          '_expiry" class="wpbot-stripe-input wpbot-stripe-card-expiry"></div></label>';
2882        html +=
2883          '<label class="wpbot-stripe-field"><span>CVC</span><div id="' +
2884          uid +
2885          '_cvc" class="wpbot-stripe-input wpbot-stripe-card-cvc"></div></label>';
2886        html += "</div>";
2887        html +=
2888          '<label class="wpbot-stripe-field"><span>
2888ZIP / Postal code</span><input type="text" class="wpbot-stripe-zip" name="wpbot_stripe_zip" autocomplete="postal-code" placeholder="12345" maxlength="12" /></label>';
2889        html += "</div></div>";
2890        html +=
2891          '<div class="wpbot-stripe-card-error" style="display:none;"></div>';
2892      }
2893
2894      html += '<div class="wpbot-inline-checkout-actions">';
2895      if (isInlineStripe) {
2896        html +=
2897          '<button type="button" class="wpbot-inline-pay-btn wpbot-inline-stripe-pay" disabled data-label="Pay ' +
2898          esc(amountLabel) +
2899          '">Pay ' +
2900          esc(amountLabel) +
2901          "</button>";
2902        html +=
2903          '<button type="button" class="wpbot-inline-cancel-btn">Cancel</button>';
2904      } else if (url) {
2905        html +=
2906          '<p class="wpbot-stripe-card-error" style="display:block;">Stripe publishable key is required for in-chat card checkout.</p>';
2907      }
2908      html += "</div></div>";
2909
2910      if (isInlineStripe) {
2911        wpwKits.wpwLoadStripeJs(function () {});
2912      }
2913
2914      wpwMsg.single(html);
2915
2916      if (isInlineStripe) {
2917        var mountDelay = (globalwpw.settings.preLoadingTime || 0) + 30;
2918        setTimeout(function () {
2919          wpwKits.wpwLoadStripeJs(function () {
2920            var $card = jQuery(
2921              ".wpbot-inline-checkout[data-client-secret]"
2922            ).last();
2923            wpwKits.wpwMountStripeInlineCheckout($card, function () {
2924              $card
2925                .find(".wpbot-stripe-fields")
2926                .removeClass("wpbot-stripe-fields-loading")
2927                .addClass("is-ready");
2928              $card.find(".wpbot-inline-stripe-pay").prop("disabled", false);
2929            });
2930          });
2931        }, mountDelay);
2932      }
2933    },
2934    wpwOpenPaymentPopup: function (url, meta) {
2935      // Keep for compatibility; prefer inline checkout in chat.
2936      wpwKits.wpwShowInlinePaymentCheckout(url, meta);
2937    },
2938    wpwClosePaymentPopup: function () {
2939      var $modal = jQuery("#wpbot-payment-modal");
2940      if (!$modal.length) {
2941        return;
2942      }
2943      $modal.removeClass("is-open").attr("aria-hidden", "true").hide();
2944      $modal.find(".wpbot-payment-modal-frame").attr("src", "about:blank").show();
2945      $modal.find(".wpbot-payment-modal-notice").hide().empty();
2946    },
2947    wpwOpenWindow: function (url, title, w, h) {
2948      // Fixes dual-screen position                         Most browsers      Firefox
2949      var dualScreenLeft =
2950        window.screenLeft != undefined ? window.screenLeft : window.screenX;
2951      var dualScreenTop =
2952        window.screenTop != undefined ? window.screenTop : window.screenY;
2953
2954      var width = window.innerWidth
2955        ? window.innerWidth
2956        : document.documentElement.clientWidth
2957          ? document.documentElement.clientWidth
2958          : screen.width;
2959      var height = window.innerHeight
2960        ? window.innerHeight
2961        : document.documentElement.clientHeight
2962          ? document.documentElement.clientHeight
2963          : screen.height;
2964
2965      var left = width / 2 - w / 2 + dualScreenLeft;
2966      var top = height / 2 - h / 2 + dualScreenTop;
2967      var newWindow = window.open(
2968        url,
2969        title,
2970        "scrollbars=yes, width=" +
2971        w +
2972        ", height=" +
2973        h +
2974        ", top=" +
2975        top +
2976        ", left=" +
2977        left
2978      );
2979
2980      // Puts focus on the newWindow
2981      if (window.focus) {
2982        newWindow.focus();
2983      }
2984    },
2985    htmlEntities: function (str) {
2986      return String(str)
2987        .replace(/&/g, "&amp;")
2988        .replace(/</g, "&lt;")
2989        .replace(/>/g, "&gt;")
2990        .replace(/"/g, "&quot;");
2991    },
2992    wpwHistorySave: function () {
2993      globalwpw.wpwIsWorking = 0;
2994      wpwKits.addMessageTimestamps();
2995      var wpwHistory = $(globalwpw.settings.messageWrapper).html();
2996      // var chatbot_editor_minlength = document.getElementById("wp-chatbot-editor").getAttribute("minlength");
2997      // var chatbot_editor_maxlength =  document.getElementById("wp-chatbot-editor").getAttribute("maxlength");
2998      // var chatbot_editor_class =  document.getElementById("wp-chatbot-editor").getAttribute("class");
2999      // var editor_input = '<input id="wp-chatbot-editor"' + ' class="' + chatbot_editor_class +'" minlength="' + chatbot_editor_minlength +'" maxlength="' + chatbot_editor_maxlength+'" />';
3000
3001      localStorage.setItem("wpwHitory", wpwHistory);
3002
3003      //  localStorage.setItem("editorHitory", editor_input);
3004      if (localStorage.getItem("botsessionid")) {
3005        if (!localStorage.getItem("shopperemail")) {
3006          var useremail = "";
3007        } else {
3008          var useremail = localStorage.getItem("shopperemail");
3009        }
3010
3011        if (globalwpw.hasNameCookie) {
3012          var shopper = globalwpw.hasNameCookie;
3013        } else {
3014          var shopper = wpwKits.render(
3015            globalwpw.settings.obj.shopper_demo_name
3016          );
3017        }
3018
3019        if (localStorage.getItem("shopperphone")) {
3020          var shopperphone = localStorage.getItem("shopperphone");
3021        } else {
3022          var shopperphone = "";
3023        }
3024        var data = {
3025          action: "qcld_wb_chatbot_conversation_save",
3026          session_id: localStorage.getItem("botsessionid"),
3027          name: shopper,
3028          email: useremail,
3029          phone: shopperphone,
3030          source_url: window.location.href,
3031          conversation: wpwKits.htmlEntities(wpwHistory),
3032          security: globalwpw.settings.obj.ajax_nonce,
3033          session_mailed: globalwpw.session_mailed,
3034          user_id: globalwpw.settings.obj.current_user_id,
3035        };
3036        if (globalwpw.settings.obj.is_chat_session_active) {
3037          wpwKits.ajax(data).done(function (response) {
3038            try {
3039              var parsedResponse = JSON.parse(response);
3040              if (parsedResponse.status == "success") {
3041                globalwpw.session_mailed = "1";
3042              }
3043            } catch (e) {
3044              console.error("Failed to parse JSON response:", e);
3045              console.error("Received response:", response);
3046            }
3047          });
3048        }
3049      }
3050    },
3051
3052    randomMsg: function (arrMsg) {
3053      let processedMessages = arrMsg;
3054
3055      // Step 1: Handle potential string input (e.g., JSON string).
3056      // The error message suggests `arrMsg` might sometimes be a string that needs parsing.
3057      if (typeof arrMsg === 'string') {
3058        try {
3059          const parsed = JSON.parse(arrMsg);
3060          // If parsing yields an object or array, use it for further processing.
3061          if (typeof parsed === 'object' && parsed !== null) {
3062            processedMessages = parsed;
3063          } else {
3064            // If parsed is a primitive (number, boolean, etc.), treat the original string as a single message.
3065            processedMessages = [arrMsg];
3066          }
3067        } catch (e) {
3068          // If JSON parsing fails, treat the original string as a single message.
3069          processedMessages = [arrMsg];
3070        }
3071      }
3072
3073      // Step 2: If 'processedMessages' is an object (and not an array),
3074      // attempt to extract language-specific messages.
3075      // This handles structures like { "en_US": ["msg1", "msg2"] } or { "en_US": "single message string" }.
3076      if (typeof processedMessages === 'object' && processedMessages !== null && !Array.isArray(processedMessages)) {
3077        if (globalwpw.settings.obj.language in processedMessages) {
3078          const langSpecificValue = processedMessages[globalwpw.settings.obj.language];
3079          // If the language-specific value is an array, use it directly.
3080          if (Array.isArray(langSpecificValue)) {
3081            processedMessages = langSpecificValue;
3082          } else if (typeof langSpecificValue === 'string' && langSpecificValue !== '') {
3083            // If it's a non-empty string, wrap it in an array.
3084            processedMessages = [langSpecificValue];
3085          } else {
3086            // If it's not an array or a string, it's an invalid format for messages.
3087            processedMessages = []; // Set to empty array to trigger warning below.
3088          }
3089        } else {
3090          // If the object doesn't contain the current language,
3091          // and it's not an array itself, it's an unexpected format for message selection.
3092          processedMessages = []; // Set to empty array.
3093        }
3094      }
3095
3096      // Step 3: Ensure 'processedMessages' is a valid, non-empty array of messages.
3097      if (!Array.isArray(processedMessages) || processedMessages.length === 0) {
3098        console.warn("randomMsg: No valid messages found after processing.", arrMsg, processedMessages);
3099        return ''; // Return empty string if no valid messages
3100      }
3101
3102      // Step 4: Select a random message from the processed array.
3103      var index = Math.floor(Math.random() * processedMessages.length);
3104      const selectedMessage = processedMessages[index];
3105
3106      // Step 5: Determine the shopper's name.
3107      var shopper;
3108      if (globalwpw.hasNameCookie) {
3109        shopper = globalwpw.hasNameCookie;
3110      } else {
3111        shopper = wpwKits.render(globalwpw.settings.obj.shopper_demo_name);
3112      }
3113
3114      // Step 6: Filter shopper name and replace the placeholder in the selected message.
3115      // Ensure the selected message is a non-empty string before attempting replacement.
3116      if (typeof selectedMessage === 'string' && selectedMessage !== "") {
3117        var filtershopper = wpwKits.filterStopWords(shopper);
3118        return selectedMessage.replace(
3119          "%%username%%",
3120          "<strong>" + filtershopper + "</strong>"
3121        );
3122      }
3123
3124      return ''; // Return empty string if the specific message is invalid or not a string.
3125    },
3126    ajax: function (data) {
3127      if (data && data.action && globalwpw.aiPendingFile) {
3128        var aiFileActions = [
3129          "openai_response",
3130          "gemini_response",
3131          "qcld_grok_response",
3132          "claude_response",
3133          "openrouter_response",
3134          "mistral_response",
3135          "ollama_response",
3136          "qcld_stream_openai",
3137          "qcld_stream_gemini",
3138          "qcld_stream_grokai",
3139          "qcld_stream_claude",
3140          "qcld_tvly_respose",
3141        ];
3142        if (aiFileActions.indexOf(data.action) !== -1) {
3143          data = wpwKits.appendAiFileToData(data);
3144        }
3145      }
3146      return jQuery.post(globalwpw.settings.obj.ajax_url, data);
3147    },
3148    dailogCXAction: function (text, name, timezone = "", languagecode = "") {
3149      if (!localStorage.getItem("botsessionid")) {
3150        var number = Math.random(); // 0.9394456857981651
3151        number.toString(36); // '0.xtis06h6'
3152        var id = number.toString(36).substr(2); // 'xtis06h6'
3153        localStorage.setItem("botsessionid", id);
3154      }
3155      return jQuery.post(globalwpw.settings.obj.ajax_url, {
3156        action: "qcld_wp_df_api_cx",
3157        dfquery: text,
3158        sessionid: localStorage.getItem("botsessionid")
3159          ? localStorage.getItem("botsessionid")
3160          : "wpwBot_df_2018071",
3161        language: globalwpw.settings.obj.language,
3162        name: name,
3163        timezone: timezone,
3164        defaultlanguageCode: languagecode,
3165      });
3166    },
3167    dailogAIOAction: function (text) {
3168      if (!localStorage.getItem("botsessionid")) {
3169        var number = Math.random(); // 0.9394456857981651
3170        number.toString(36); // '0.xtis06h6'
3171        var id = number.toString(36).substr(2); // 'xtis06h6'
3172
3173        localStorage.setItem("botsessionid", id);
3174      }
3175
3176      if (globalwpw.settings.obj.df_api_version == "v1") {
3177        return jQuery.ajax({
3178          type: "POST",
3179          url: "https://api.dialogflow.com/v1/query?v=20170712",
3180          contentType: "application/json; charset=utf-8",
3181          dataType: "json",
3182          headers: {
3183            Authorization: "Bearer " + globalwpw.settings.obj.ai_df_token,
3184          },
3185
3186          data: JSON.stringify({
3187            query: text,
3188
3189            lang: globalwpw.settings.obj.df_agent_lan,
3190            sessionId: localStorage.getItem("botsessionid")
3191              ? localStorage.getItem("botsessionid")
3192              : "wpwBot_df_2018071",
3193          }),
3194        });
3195      } else {
3196        return jQuery.post(globalwpw.settings.obj.ajax_url, {
3197          action: "qcld_wp_df_api_call",
3198          dfquery: text,
3199          sessionid: localStorage.getItem("botsessionid")
3200            ? localStorage.getItem("botsessionid")
3201            : "wpwBot_df_2018071",
3202          language: globalwpw.settings.obj.language,
3203        });
3204      }
3205    },
3206    responseIsOk: function (response) {
3207      if (globalwpw.settings.obj.df_api_version == "v1") {
3208        if (response.status.code == 200 || response.status.code == 206) {
3209          return true;
3210        } else {
3211          return false;
3212        }
3213      } else {
3214        if (typeof response.responseId !== "undefined") {
3215          return true;
3216        } else {
3217          return false;
3218        }
3219      }
3220    },
3221    getIntentName: function (response) {
3222      if (globalwpw.settings.obj.df_api_version == "v1") {
3223        return response.result.metadata.intentName;
3224      } else {
3225        if (
3226          typeof response.queryResult.intent !== "undefined" &&
3227          typeof response.queryResult.intent.displayName !== "undefined"
3228        ) {
3229          return response.queryResult.intent.displayName;
3230        } else {
3231          return "";
3232        }
3233      }
3234    },
3235    getParameters: function (response) {
3236      if (globalwpw.settings.obj.df_api_version == "v1") {
3237        return response.result.parameters;
3238      } else {
3239        return response.queryResult.parameters;
3240      }
3241    },
3242    getFulfillmentText: function (response) {
3243      if (globalwpw.settings.obj.df_api_version == "v1") {
3244        return response.result.fulfillment.messages;
3245      } else {
3246        if (typeof response.queryResult.fulfillmentText === "undefined") {
3247          return "";
3248        } else {
3249          return response.queryResult.fulfillmentText;
3250        }
3251      }
3252    },
3253    getFulfillmentSpeech: function (response) {
3254      if (globalwpw.settings.obj.df_api_version == "v1") {
3255        return response.result.fulfillment.speech;
3256      } else {
3257        if (typeof response.queryResult.fulfillmentText === "undefined") {
3258          return "";
3259        } else {
3260          return response.queryResult.fulfillmentText;
3261        }
3262      }
3263    },
3264    getScore: function (response) {
3265      if (globalwpw.settings.obj.df_api_version == "v1") {
3266        return response.result.score;
3267      } else {
3268        return response.queryResult.intentDetectionConfidence;
3269      }
3270    },
3271    getAction: function (response) {
3272      if (globalwpw.settings.obj.df_api_version == "v1") {
3273        return response.result.action;
3274      } else {
3275        if (typeof response.queryResult.action !== "undefined") {
3276          return response.queryResult.action;
3277        } else {
3278          return "";
3279        }
3280      }
3281    },
3282    queryText: function (response) {
3283      if (globalwpw.settings.obj.df_api_version == "v1") {
3284        return response.result.resolvedQuery;
3285      } else {
3286        return response.queryResult.queryText;
3287      }
3288    },
3289
3290    isActionComplete: function (response) {
3291      if (globalwpw.settings.obj.df_api_version == "v1") {
3292        if (!response.result.actionIncomplete) {
3293          return true;
3294        } else {
3295          return false;
3296        }
3297      } else {
3298        return response.queryResult.allRequiredParamsPresent;
3299      }
3300    },
3301    isConversationEnd: function (response) {
3302      if (globalwpw.settings.obj.df_api_version == "v1") {
3303        if (
3304          typeof response.result.metadata.endConversation !== "undefined" &&
3305          response.result.metadata.endConversation
3306        ) {
3307          return true;
3308        } else {
3309          return false;
3310        }
3311      } else {
3312        if (typeof response.queryResult.diagnosticInfo !== "undefined") {
3313          if (
3314            typeof response.queryResult.diagnosticInfo.end_conversation !==
3315            "undefined"
3316          ) {
3317            return response.queryResult.diagnosticInfo.end_conversation;
3318          } else {
3319            return false;
3320          }
3321        } else {
3322          return false;
3323        }
3324      }
3325    },
3326    sugestCat: function () {
3327      var productSuggest = wpwKits.randomMsg(
3328        globalwpw.settings.obj.product_suggest
3329      );
3330      var data = { action: "qcld_wb_chatbot_category" };
3331      var result = wpwKits.ajax(data);
3332      if (
3333        $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
3334          .length == 0
3335      ) {
3336        $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
3337      }
3338      result.done(function (response) {
3339        wpwMsg.double_nobg(productSuggest, response);
3340        // if (
3341        //   globalwpw.settings.obj.ai_df_enable == 1 &&
3342        //   globalwpw.df_status_lock == 0
3343        // ) {
3344          globalwpw.wildCard = 0;
3345          globalwpw.ai_step = 1;
3346          localStorage.setItem("wildCard", globalwpw.wildCard);
3347          localStorage.setItem("aiStep", globalwpw.ai_step);
3348       // }
3349      });
3350    },
3351    subCats: function (parentId) {
3352      var subCatMsg = wpwKits.randomMsg(globalwpw.settings.obj.product_suggest);
3353      var data = {
3354        action: "qcld_wb_chatbot_sub_category",
3355        parent_id: parentId,
3356      };
3357      var result = wpwKits.ajax(data);
3358      if (
3359        $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
3360          .length == 0
3361      ) {
3362        $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
3363      }
3364      result.done(function (response) {
3365        wpwMsg.double_nobg(subCatMsg, response);
3366      });
3367    },
3368    suggestEmail: function (emailFor) {
3369      var sugMsg = wpwKits.randomMsg(
3370        globalwpw.settings.obj.support_option_again
3371      );
3372      var sugOptions = globalwpw.wildcards;
3373      wpwMsg.double_nobg(sugMsg, sugOptions);
3374    },
3375    videohandler: function () {
3376      $(globalwpw.settings.messageLastChild + " .wp-chatbot-paragraph").html(
3377        function (i, html) {
3378          if (globalwpw.settings.obj.disable_youtube_parse == 1) {
3379            return html;
3380          } else {
3381            if (html.indexOf("iframe") < 0) {
3382              return html.replace(
3383                /(?:https:\/\/)?(?:www\.)?(?:youtube\.com|youtu\.be)\/(?:watch\?v=)?(.+)/g,
3384                '<iframe width="250" height="180" src="https://www.youtube.com/embed/$1" frameborder="0" allowfullscreen></iframe>'
3385              );
3386            } else {
3387              return html;
3388            }
3389          }
3390        }
3391      );
3392    },
3393    scrollTo: function () {
3394      var totalheight = 0;
3395      var umh = [];
3396      $("ul#wp-chatbot-messages-container li:visible").each(function () {
3397        totalheight += $(this).outerHeight(true);
3398        if ($(this).hasClass("wp-chat-user-msg")) {
3399          umh.push(totalheight);
3400        }
3401      });
3402      if (umh.length > 0) {
3403        var scrollto = parseFloat(umh[umh.length - 1]);
3404      } else {
3405        var scrollto = $(globalwpw.settings.messageWrapper).prop(
3406          "scrollHeight"
3407        );
3408      }
3409      if (globalwpw.settings.obj.always_scroll_to_bottom == 1) {
3410        $(globalwpw.settings.botContainer)
3411          .animate(
3412            {
3413              scrollTop: $(globalwpw.settings.messageWrapper).prop(
3414                "scrollHeight"
3415              ),
3416            },
3417            "slow"
3418          )
3419          .parent()
3420          .find(".slimScrollBar")
3421          .css({ top: $(globalwpw.settings.botContainer).height() + "px" });
3422      } else {
3423        var $botContainer = $(globalwpw.settings.botContainer);
3424        $botContainer.animate({ scrollTop: scrollto }, "slow");
3425        setTimeout(function () {
3426          // Only sync slimScroll when it is already active. Re-init without a
3427          // height defaults to 250px and breaks mobile layout/editor/footer.
3428          if ($botContainer.parent().hasClass("slimScrollDiv")) {
3429            $botContainer.slimScroll({
3430              scrollTo: scrollto + "px",
3431            });
3432          } else {
3433            $botContainer.scrollTop(scrollto);
3434          }
3435        }, 1000);
3436      }
3437    },
3438    botPreloader: function () {
3439
3440      var typing_animation = globalwpw.settings.obj.image_path + "comment.gif";
3441
3442      if (
3443        globalwpw.settings.obj.template == "template-06" ||
3444        globalwpw.settings.obj.template == "template-07"
3445      ) {
3446        typing_animation = globalwpw.settings.obj.image_path + "loader.gif";
3447      }
3448
3449      if (globalwpw.settings.obj.typing_animation != "") {
3450        typing_animation = globalwpw.settings.obj.typing_animation;
3451      }
3452
3453      var msgContent =
3454        '<li class="wp-chatbot-msg" role="alert">' +
3455        '<div class="wp-chatbot-avatar">' +
3456        '<img src="' + globalwpw.settings.obj.agent_image_path + '" alt="">' +
3457        '</div>' +
3458        '<div class="wp-chatbot-agent">' +
3459        wpwKits.render(globalwpw.settings.obj.agent) +
3460        '</div>' +
3461        '<div class="wp-chatbot-paragraph"><img class="wp-chatbot-comment-loader" src="' + typing_animation + '" alt="Typing..." /></div>' +
3462
3463        '</div>' +
3464        '</li>';
3465
3466      return msgContent;
3467    },
3468    botPreloaderWithicon: function () {
3469      var typing_animation = globalwpw.settings.obj.image_path + "comment.gif";
3470
3471      if (
3472        globalwpw.settings.obj.template == "template-06" ||
3473        globalwpw.settings.obj.template == "template-07"
3474      ) {
3475        typing_animation = globalwpw.settings.obj.image_path + "loader.gif";
3476      }
3477
3478      if (globalwpw.settings.obj.typing_animation != "") {
3479        typing_animation = globalwpw.settings.obj.typing_animation;
3480      }
3481      var enableleReactions = globalwpw.settings.obj.skip_chat_reactions_menu;
3482      var eanleeReport = globalwpw.settings.obj.enable_chat_report_menu;
3483      var enableshare = globalwpw.settings.obj.enable_chat_share_menu;
3484      var likeTxt = globalwpw.settings.obj.qlcd_wp_chatbot_like_text;
3485      var disLikeTxt = globalwpw.settings.obj.qlcd_wp_chatbot_dislike_text;
3486      var reportTxt = globalwpw.settings.obj.qlcd_wp_chatbot_report_text;
3487      var sharetTxt = globalwpw.settings.obj.qlcd_wp_chatbot_share_text;
3488
3489      var msgContent =
3490        '<li class="wp-chatbot-msg" role="alert">' +
3491        '<div class="wp-chatbot-avatar">' +
3492        '<img src="' + globalwpw.settings.obj.agent_image_path + '" alt="">' +
3493        '</div>' +
3494        '<div class="wp-chatbot-agent">' +
3495        wpwKits.render(globalwpw.settings.obj.agent) +
3496        '</div>' +
3497        '<div class="chat-container"><div class="wp-chatbot-paragraph"><img class="wp-chatbot-comment-loader" src="' + typing_animation + '" alt="Typing..." /></div>' +
3498
3499        '<div class="qcld-like-dislike-icon">' +
3500        (enableleReactions == 1
3501          ? '<a href="#" title="' + (likeTxt?.en_US || 'Like') + '"><i class="fa fa-thumbs-o-up" aria-hidden="true"></i></a>' +
3502          '<a href="#" title="' + (disLikeTxt?.en_US || 'Dislike') + '"><i class="fa fa-thumbs-o-down" aria-hidden="true"></i></a>'
3503          : '') +
3504
3505        (eanleeReport == 1
3506          ? '<a href="#" title="' + (reportTxt?.en_US || 'Report') + '"><i class="fa fa-commenting-o" aria-hidden="true"></i></a>'
3507          : '') +
3508
3509        (enableshare == 1
3510          ? '<div class="qcld-share">' +
3511          '<a href="#" class="share-toggle" title="' + (sharetTxt?.en_US || 'Share') + '"><i class="fa fa-share-alt" aria-hidden="true"></i></a>' +
3512          '<div class="share-menu" style="display:none;">' +
3513          '<a href="#" class="share-fb"><i class="fa fa-facebook"></i></a>' +
3514          '<a href="#" class="share-wa"><i class="fa fa-whatsapp"></i></a>' +
3515          '<a href="#" class="share-x"><i class="fa fa-twitter"></i></a>' +
3516          '<a href="#" class="share-email"><i class="fa fa-envelope"></i></a>' +
3517          '</div>' +
3518          '</div>'
3519          : '') +
3520        '</div>' +
3521        '</div>' +
3522        '</div>' +
3523        '</li>';
3524
3525      return msgContent;
3526    },
3527    shopperMsgDom: function (msg) {
3528      if (globalwpw.hasNameCookie) {
3529        var shopper = globalwpw.hasNameCookie;
3530      } else {
3531        var shopper = wpwKits.render(globalwpw.settings.obj.shopper_demo_name);
3532      }
3533
3534      var client_image = globalwpw.settings.obj.client_image;
3535      if (client_image == "" || typeof client_image == undefined) {
3536        client_image = globalwpw.settings.obj.image_path + "client.png";
3537      }
3538
3539      var msgContent =
3540        '<li class="wp-chat-user-msg">' +
3541        '<div class="wp-chatbot-avatar">' +
3542        '<img src="' +
3543        client_image +
3544        '" alt="">' +
3545        "</div>" +
3546        '<div class="wp-chatbot-agent">' +
3547        shopper +
3548        "</div>" +
3549        '<div class="wp-chatbot-paragraph">' +
3550        msg +
3551        "</div></li>";
3552      return msgContent;
3553    },
3554    showCart: function () {
3555      var data = { action: "qcld_wb_chatbot_show_cart" };
3556      this.ajax(data).done(function (response) {
3557        //if cart show on message board
3558        if ($("#wp-chatbot-shortcode-template-container").length == 0) {
3559          $(globalwpw.settings.messageWrapper).html(response.html);
3560          $("#wp-chatbot-cart-numbers").html(response.items);
3561          $(".wp-chatbot-ball-cart-items").html(response.items);
3562          wpwKits.disableEditor(
3563            wpwKits.randomMsg(globalwpw.settings.obj.shopping_cart)
3564          );
3565        } else {
3566          //Cart show on shortcode
3567          $(".wp-chatbot-cart-shortcode-container").html(response.html);
3568        }
3569        //Add scroll to the cart shortcode
3570        if (
3571          $("#wp-chatbot-shortcode-template-container").length > 0 &&
3572          $(".chatbot-shortcode-template-02").length == 0
3573        ) {
3574          $(".wp-chatbot-cart-body").slimScroll({
3575            height: "200px",
3576            start: "bottom",
3577          });
3578        }
3579      });
3580    },
3581    toTitlecase: function (msg) {
3582      return msg.replace(/\w\S*/g, function (txt) {
3583        return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
3584      });
3585    },
3586    filterStopWords: function (msg) {
3587      var spcialStopWords = ",;,/,\\,[,],{,},(,),&,*,.,+ ,?,^,$,=,!,<,>,|,:,-";
3588      var userMsg = "";
3589      //Removing Special Characts from last position.
3590      var msgLastChar = msg.slice(-1);
3591      if (spcialStopWords.indexOf(msgLastChar) >= 0) {
3592        userMsg = msg.slice(0, -1);
3593      } else {
3594        userMsg = msg;
3595      }
3596      var stopWords = globalwpw.settings.obj.stop_words + spcialStopWords;
3597      var stopWordsArr = stopWords.split(",");
3598      var msgArr = userMsg.split(" ");
3599      var filtermsgArr = msgArr.filter(function myCallBack(el) {
3600        return stopWordsArr.indexOf(el.toLowerCase()) < 0;
3601      });
3602      var filterMsg = filtermsgArr.join(" ");
3603      return filterMsg;
3604    },
3605    htmlTagsScape: function (userString) {
3606      var tagsToReplace = {
3607        "&": "&amp;",
3608        "<": "&lt;",
3609        ">": "&gt;",
3610      };
3611      return userString.replace(/[&<>]/g, function (tag) {
3612        return tagsToReplace[tag] || tag;
3613      });
3614    },
3615    string_match: function (string, keyword) {
3616      keyword = wpwKits.iosCharModify(keyword.toLowerCase());
3617      var large_strings = string.split("#");
3618      var object = globalwpw.strObject.data[0].users_answer;
3619      var result = false;
3620      // Check if any required entities
3621      if (object.entity_is_required == 1 || object.entity_name != "") {
3622        // check if it is default
3623        if (
3624          typeof globalwpw.settings.obj.entities.default[object.entity_name] !==
3625          "undefined"
3626        ) {
3627          result = wpwKits.handleDefaultEntities(
3628            globalwpw.settings.obj.entities.default[object.entity_name],
3629            keyword
3630          );
3631          if (result) {
3632            // Assing the entity value to temp object for later use.
3633            globalwpw.strEntities[
3634              object.entity_name + globalwpw.strObject.data[0].id
3635            ] = result;
3636            localStorage.setItem(
3637              "strEntities",
3638              JSON.stringify(globalwpw.strEntities)
3639            );
3640          }
3641        } else if (
3642          typeof globalwpw.settings.obj.entities.custom[object.entity_name] !==
3643          "undefined"
3644        ) {
3645          // Custom Entity
3646          result = wpwKits.handleCustomEntities(
3647            globalwpw.settings.obj.entities.custom[object.entity_name],
3648            keyword
3649          );
3650          if (result) {
3651            // Assing the entity value to temp object for later use.
3652            globalwpw.strEntities[
3653              object.entity_name + globalwpw.strObject.data[0].id
3654            ] = result;
3655            localStorage.setItem(
3656              "strEntities",
3657              JSON.stringify(globalwpw.strEntities)
3658            );
3659          }
3660        }
3661      }
3662
3663      large_strings = large_strings.map((element) => {
3664        return element.trim().toLowerCase();
3665      });
3666      if (result) {
3667        return large_strings.includes(
3668          keyword.replace(
3669            globalwpw.strEntities[
3670              object.entity_name + globalwpw.strObject.data[0].id
3671            ].toLowerCase(),
3672            object.entity_name
3673          )
3674        );
3675      } else {
3676        return large_strings.includes(keyword);
3677      }
3678    },
3679    iosCharModify: function (str) {
3680      str = str
3681        .replace("”", '"')
3682        .replace("“", '"')
3683        .replace("’", "'")
3684        .replace("‘", "'")
3685        .replace(/[\u2018\u2019]/g, "'")
3686        .replace(/[\u201C\u201D]/g, '"')
3687        .replace(/[\u2013\u2014]/g, "-")
3688        .replace(/[\u2026]/g, "...");
3689      return str;
3690    },
3691    handleDefaultEntities: function (entity, text) {
3692      var entity_value = false;
3693
3694      // Extract entity value
3695      switch (entity.entity) {
3696        case "@name":
3697          entity_value = wpwKits.entityName(text);
3698          break;
3699        case "@age":
3700          entity_value = wpwKits.entityAge(text);
3701          break;
3702        case "@color":
3703          entity_value = wpwKits.entityColor(text);
3704          break;
3705        case "@date":
3706          entity_value = wpwKits.entityDate(text);
3707          break;
3708        case "@date-of-birth":
3709          entity_value = wpwKits.entityDateOfBirth(text);
3710          break;
3711        case "@day":
3712          entity_value = wpwKits.entityDay(text);
3713          break;
3714        case "@email":
3715          entity_value = wpwKits.entityEmail(text);
3716          break;
3717        case "@number":
3718          entity_value = wpwKits.entityNumber(text);
3719          break;
3720        case "@place":
3721          var filteredText = wpwKits.filterStopWords(text);
3722          var url =
3723            "https://nominatim.openstreetmap.org/search/" +
3724            filteredText +
3725            "?format=json&polygon=1&polygon_geojson=1&limit=9999";
3726          $.ajax({
3727            type: "GET",
3728            url: url,
3729            dataType: "json",
3730            contentType: false,
3731            processData: false, //this is a must
3732            async: false,
3733            success: function (response) {
3734              if (response.length > 0) {
3735                entity_value = filteredText;
3736              }
3737            },
3738          });
3739          break;
3740      }
3741
3742      return entity_value;
3743    },
3744    handleCustomEntities: function (entity, text) {
3745      var synonyms = entity.synonyms.split(",");
3746      synonyms = synonyms.map(function (keyword) {
3747        return keyword.trim();
3748      });
3749      var matched_value = false;
3750      $.each(synonyms, function (index, item) {
3751        var result = text.match(item.toLowerCase());
3752        if (result) {
3753          matched_value = result[0];
3754        }
3755      });
3756      return matched_value;
3757    },
3758    entityName: function (text) {
3759      // Find the name from given text.
3760      var filteredText = wpwKits.filterStopWords(text);
3761      if (filteredText && filteredText != "") {
3762        filteredText =
3763          filteredText.charAt(0).toUpperCase() + filteredText.slice(1);
3764        return filteredText;
3765      }
3766      return false;
3767    },
3768    entityAge: function (text) {
3769      var filteredText = wpwKits.filterStopWords(text);
3770      var matches = filteredText.match(/(\d+)/);
3771
3772      if (matches) {
3773        return matches[0];
3774      }
3775      return false;
3776    },
3777    entityEmail: function (text) {
3778      var result = text.match(
3779        /([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9_-]+)/gi
3780      );
3781      if (result) {
3782        return result[0];
3783      }
3784      return false;
3785    },
3786    entityNumber: function (text) {
3787      return wpwKits.entityAge(text);
3788    },
3789    entityDate: function (d) {
3790      var result;
3791
3792      result = d.match("[0-9]{2}([-/ .])[0-9]{2}[-/ .][0-9]{4}");
3793      if (null != result) {
3794        return result[0];
3795      }
3796      result = d.match("[0-9]{4}([-/ .])[0-9]{2}[-/ .][0-9]{2}");
3797      if (null != result) {
3798        return result[0];
3799      }
3800
3801      return false;
3802    },
3803    entityDateOfBirth: function (text) {
3804      return wpwKits.entityDate(text);
3805    },
3806    entityDay: function (text) {
3807      var days = [
3808        "Sunday",
3809        "Monday",
3810        "Tuesday",
3811        "Wednesday",
3812        "Thursday",
3813        "Friday",
3814        "Saturday",
3815      ];
3816      var match_day = false;
3817      $.each(days, function (index, day) {
3818        var result = text.match(day.toLowerCase());
3819        if (result) {
3820          match_day = result[0];
3821        }
3822      });
3823      return match_day;
3824    },
3825    isValidColor: function (strColor) {
3826      var s = new Option().style;
3827      s.color = strColor;
3828
3829      // return 'false' if color wasn't assigned
3830      return s.color == strColor.toLowerCase();
3831    },
3832    entityColor: function (text) {
3833      // Find the color from given text.
3834      var filteredText = wpwKits.filterStopWords(text);
3835      if (filteredText && filteredText != "") {
3836        if (wpwKits.isValidColor(filteredText)) {
3837          return filteredText;
3838        }
3839      }
3840      return false;
3841    },
3842    trigger_intent: function (intent) {
3843      if (typeof intent !== "undefined" && wpwKits.render(intent) == "Faq") {
3844        if (!localStorage.getItem("shopper")) {
3845          $.cookie(
3846            "shopper",
3847            wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
3848            { expires: 365 }
3849          );
3850          localStorage.setItem(
3851            "shopper",
3852            wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
3853          );
3854          globalwpw.hasNameCookie = wpwKits.render(
3855            globalwpw.settings.obj.shopper_demo_name
3856          );
3857        }
3858
3859        globalwpw.wildCard = 1;
3860        globalwpw.supportStep = "welcome";
3861        wpwAction.bot("from wildcard support");
3862        //keeping value in localstorage
3863        localStorage.setItem("wildCard", globalwpw.wildCard);
3864        localStorage.setItem("supportStep", globalwpw.supportStep);
3865        globalwpw.initialize = 0;
3866        globalwpw.ai_step = 1;
3867      } else if (
3868        typeof intent !== "undefined" &&
3869        wpwKits.render(intent) == "Email Subscription"
3870      ) {
3871        if (!localStorage.getItem("shopper")) {
3872          $.cookie(
3873            "shopper",
3874            wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
3875            { expires: 365 }
3876          );
3877          localStorage.setItem(
3878            "shopper",
3879            wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
3880          );
3881          globalwpw.hasNameCookie = wpwKits.render(
3882            globalwpw.settings.obj.shopper_demo_name
3883          );
3884        }
3885
3886        globalwpw.wildCard = 3;
3887        globalwpw.subscriptionStep = "welcome";
3888        wpwTree.subscription();
3889        localStorage.setItem("wildCard", globalwpw.wildCard);
3890        localStorage.setItem("supportStep", globalwpw.supportStep);
3891        globalwpw.initialize = 0;
3892        globalwpw.ai_step = 1;
3893      } else if (
3894        typeof intent !== "undefined" &&
3895        wpwKits.render(intent) == "Product Search"
3896      ) {
3897        if (!localStorage.getItem("shopper")) {
3898          $.cookie(
3899            "shopper",
3900            wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
3901            { expires: 365 }
3902          );
3903          localStorage.setItem(
3904            "shopper",
3905            wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
3906          );
3907          globalwpw.hasNameCookie = wpwKits.render(
3908            globalwpw.settings.obj.shopper_demo_name
3909          );
3910        }
3911
3912        globalwpw.wildCard = 20;
3913        globalwpw.productStep = "asking";
3914        wpwAction.bot("from wildcard product");
3915        //keeping value in localstorage
3916        localStorage.setItem("wildCard", globalwpw.wildCard);
3917        localStorage.setItem("productStep", globalwpw.productStep);
3918        globalwpw.initialize = 0;
3919        globalwpw.ai_step = 1;
3920      } else if (
3921        typeof intent !== "undefined" &&
3922        wpwKits.render(intent) == "Catalog"
3923      ) {
3924        if (!localStorage.getItem("shopper")) {
3925          $.cookie(
3926            "shopper",
3927            wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
3928            { expires: 365 }
3929          );
3930          localStorage.setItem(
3931            "shopper",
3932            wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
3933          );
3934          globalwpw.hasNameCookie = wpwKits.render(
3935            globalwpw.settings.obj.shopper_demo_name
3936          );
3937        }
3938        wpwAction.bot(
3939          (wpwKits.render(globalwpw.settings.obj.sys_key_catalog) || '').toLowerCase()
3940        );
3941        globalwpw.initialize = 0;
3942        globalwpw.ai_step = 1;
3943      } else if (
3944        typeof intent !== "undefined" &&
3945        wpwKits.render(intent) == "Featured Products"
3946      ) {
3947        if (!localStorage.getItem("shopper")) {
3948          $.cookie(
3949            "shopper",
3950            wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
3951            { expires: 365 }
3952          );
3953          localStorage.setItem(
3954            "shopper",
3955            wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
3956          );
3957          globalwpw.hasNameCookie = wpwKits.render(
3958            globalwpw.settings.obj.shopper_demo_name
3959          );
3960        }
3961        globalwpw.wildCard = 20;
3962        globalwpw.productStep = "featured";
3963        wpwAction.bot("from wildcard product");
3964        //keeping value in localstorage
3965        localStorage.setItem("wildCard", globalwpw.wildCard);
3966        localStorage.setItem("productStep", globalwpw.productStep);
3967
3968        globalwpw.initialize = 0;
3969        globalwpw.ai_step = 1;
3970      } else if (
3971        typeof intent !== "undefined" &&
3972        wpwKits.render(intent) == "Products on Sale"
3973      ) {
3974        if (!localStorage.getItem("shopper")) {
3975          $.cookie(
3976            "shopper",
3977            wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
3978            { expires: 365 }
3979          );
3980          localStorage.setItem(
3981            "shopper",
3982            wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
3983          );
3984          globalwpw.hasNameCookie = wpwKits.render(
3985            globalwpw.settings.obj.shopper_demo_name
3986          );
3987        }
3988        globalwpw.wildCard = 20;
3989        globalwpw.productStep = "sale";
3990        wpwAction.bot("from wildcard product");
3991        //keeping value in localstorage
3992        localStorage.setItem("wildCard", globalwpw.wildCard);
3993        localStorage.setItem("productStep", globalwpw.productStep);
3994
3995        globalwpw.initialize = 0;
3996        globalwpw.ai_step = 1;
3997      } else if (
3998        typeof intent !== "undefined" &&
3999        wpwKits.render(intent) == "Order Status"
4000      ) {
4001        if (!localStorage.getItem("shopper")) {
4002          $.cookie(
4003            "shopper",
4004            wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
4005            { expires: 365 }
4006          );
4007          localStorage.setItem(
4008            "shopper",
4009            wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
4010          );
4011          globalwpw.hasNameCookie = wpwKits.render(
4012            globalwpw.settings.obj.shopper_demo_name
4013          );
4014        }
4015        globalwpw.wildCard = 21;
4016        globalwpw.orderStep = "welcome";
4017        wpwAction.bot("from wildcard order");
4018        //keeping value in localstorage
4019        localStorage.setItem("wildCard", globalwpw.wildCard);
4020        localStorage.setItem("orderStep", globalwpw.orderStep);
4021
4022        globalwpw.initialize = 0;
4023        globalwpw.ai_step = 1;
4024      } else if (
4025        typeof intent !== "undefined" &&
4026        wpwKits.render(intent) ==
4027        wpwKits.render(globalwpw.settings.obj.site_search)
4028      ) {
4029        if (!localStorage.getItem("shopper")) {
4030          $.cookie(
4031            "shopper",
4032            wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
4033            { expires: 365 }
4034          );
4035          localStorage.setItem(
4036            "shopper",
4037            wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
4038          );
4039          globalwpw.hasNameCookie = wpwKits.render(
4040            globalwpw.settings.obj.shopper_demo_name
4041          );
4042        }
4043
4044        if (
4045          typeof globalwpw.hasNameCookie == "undefined" ||
4046          globalwpw.hasNameCookie == ""
4047        ) {
4048          var shopperName = wpwKits.render(
4049            globalwpw.settings.obj.shopper_demo_name
4050          );
4051        } else {
4052          var shopperName = globalwpw.hasNameCookie;
4053        }
4054        var askEmail = wpwKits.randomMsg(wp_chatbot_obj.asking_search_keyword);
4055
4056        wpwMsg.single(askEmail.replace("#name", shopperName));
4057        //Now updating the support part as .
4058        globalwpw.supportStep = "search";
4059        globalwpw.wildCard = 1;
4060        globalwpw.ai_step = 1;
4061        globalwpw.initialize = 0;
4062        //keeping value in localstorage
4063        localStorage.setItem("wildCard", globalwpw.wildCard);
4064        localStorage.setItem("supportStep", globalwpw.supportStep);
4065      } else if (
4066        typeof intent !== "undefined" &&
4067        wpwKits.render(intent) == "Send Us Email"
4068      ) {
4069        if (!localStorage.getItem("shopper")) {
4070          $.cookie(
4071            "shopper",
4072            wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
4073            { expires: 365 }
4074          );
4075          localStorage.setItem(
4076            "shopper",
4077            wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
4078          );
4079          globalwpw.hasNameCookie = wpwKits.render(
4080            globalwpw.settings.obj.shopper_demo_name
4081          );
4082        }
4083
4084        if (
4085          typeof globalwpw.hasNameCookie == "undefined" ||
4086          globalwpw.hasNameCookie == ""
4087        ) {
4088          var shopperName = wpwKits.render(
4089            globalwpw.settings.obj.shopper_demo_name
4090          );
4091        } else {
4092          var shopperName = globalwpw.hasNameCookie;
4093        }
4094        var askEmail = wpwKits.randomMsg(wp_chatbot_obj.asking_email);
4095        wpwMsg.single(askEmail);
4096        //Now updating the support part as .
4097        globalwpw.supportStep = "email";
4098        globalwpw.wildCard = 1;
4099        globalwpw.ai_step = 1;
4100        globalwpw.initialize = 1;
4101        //keeping value in localstorage
4102        localStorage.setItem("wildCard", globalwpw.wildCard);
4103        localStorage.setItem("supportStep", globalwpw.supportStep);
4104      } else if (
4105        typeof intent !== "undefined" &&
4106        wpwKits.render(intent) == "Leave A Feedback"
4107      ) {
4108        if (!localStorage.getItem("shopper")) {
4109          $.cookie(
4110            "shopper",
4111            wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
4112            { expires: 365 }
4113          );
4114          localStorage.setItem(
4115            "shopper",
4116            wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
4117          );
4118          globalwpw.hasNameCookie = wpwKits.render(
4119            globalwpw.settings.obj.shopper_demo_name
4120          );
4121        }
4122
4123        if (
4124          typeof globalwpw.hasNameCookie == "undefined" ||
4125          globalwpw.hasNameCookie == ""
4126        ) {
4127          var shopperName = wpwKits.render(
4128            globalwpw.settings.obj.shopper_demo_name
4129          );
4130        } else {
4131          var shopperName = globalwpw.hasNameCookie;
4132        }
4133
4134        var askEmail = wpwKits.randomMsg(wp_chatbot_obj.asking_email);
4135        wpwMsg.single(askEmail);
4136        //Now updating the support part as .
4137        globalwpw.supportStep = "email";
4138        globalwpw.wildCard = 1;
4139        globalwpw.ai_step = 1;
4140        globalwpw.initialize = 0;
4141
4142        //keeping value in localstorage
4143        localStorage.setItem("wildCard", globalwpw.wildCard);
4144        localStorage.setItem("supportStep", globalwpw.supportStep);
4145      } else if (
4146        typeof intent !== "undefined" &&
4147        wpwKits.render(intent) == "Request Callback"
4148      ) {
4149        if (!localStorage.getItem("shopper")) {
4150          $.cookie(
4151            "shopper",
4152            wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
4153            { expires: 365 }
4154          );
4155          localStorage.setItem(
4156            "shopper",
4157            wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
4158          );
4159          globalwpw.hasNameCookie = wpwKits.render(
4160            globalwpw.settings.obj.shopper_demo_name
4161          );
4162        }
4163
4164        if (
4165          typeof globalwpw.hasNameCookie == "undefined" ||
4166          globalwpw.hasNameCookie == ""
4167        ) {
4168          var shopperName = wpwKits.render(
4169            globalwpw.settings.obj.shopper_demo_name
4170          );
4171        } else {
4172          var shopperName = globalwpw.hasNameCookie;
4173        }
4174        var askEmail = wpwKits.randomMsg(wp_chatbot_obj.asking_phone);
4175        setTimeout(function () {
4176          wpwMsg.single(askEmail);
4177          //Now updating the support part as .
4178          globalwpw.supportStep = "phone";
4179          globalwpw.wildCard = 1;
4180          globalwpw.ai_step = 1;
4181          globalwpw.initialize = 0;
4182          //keeping value in localstorage
4183          localStorage.setItem("wildCard", globalwpw.wildCard);
4184          localStorage.setItem("supportStep", globalwpw.supportStep);
4185        }, 1000);
4186      } else if (
4187        typeof intent !== "undefined" &&
4188        wpwKits.render(intent) != ""
4189      ) {
4190        if (!localStorage.getItem("shopper")) {
4191          $.cookie(
4192            "shopper",
4193            wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
4194            { expires: 365 }
4195          );
4196          localStorage.setItem(
4197            "shopper",
4198            wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
4199          );
4200          globalwpw.hasNameCookie = wpwKits.render(
4201            globalwpw.settings.obj.shopper_demo_name
4202          );
4203        }
4204        globalwpw.initialize = 0;
4205        globalwpw.ai_step = 1;
4206        globalwpw.wildCard = 0;
4207        wpwAction.bot(wpwKits.render(intent));
4208      }
4209    },
4210    updateGlobalMenu: function () {
4211      if (globalwpw.settings.obj.woocommerce) {
4212        globalwpw.wildcardsHelp = [
4213          (wpwKits.render(globalwpw.settings.obj.sys_key_help) || '').toLowerCase(),
4214          (wpwKits.render(globalwpw.settings.obj.sys_key_support) || '').toLowerCase(),
4215          (wpwKits.render(globalwpw.settings.obj.sys_key_reset) || '').toLowerCase(),
4216          (wpwKits
4217            .render(globalwpw.settings.obj.email_subscription) || '')
4218            .toLowerCase(),
4219          (wpwKits.render(globalwpw.settings.obj.unsubscribe) || '').toLowerCase(),
4220          (wpwKits.render(globalwpw.settings.obj.sys_key_livechat) || '').toLowerCase(),
4221          (wpwKits.render(globalwpw.settings.obj.sys_key_product) || '').toLowerCase(),
4222          (wpwKits.render(globalwpw.settings.obj.sys_key_catalog) || '').toLowerCase(),
4223          (wpwKits.render(globalwpw.settings.obj.sys_key_order) || '').toLowerCase(),
4224        ];
4225        if (
4226          globalwpw.settings.obj.ticket_url != "" &&
4227          globalwpw.settings.obj.disable_open_ticket == ""
4228        ) {
4229          globalwpw.wildcardsHelp.push(
4230            (wpwKits.render(globalwpw.settings.obj.open_a_ticket) || '').toLowerCase()
4231          );
4232        }
4233        if (
4234          typeof globalwpw.settings.obj.good_bye !== "undefined" &&
4235          globalwpw.settings.obj.good_bye !== "" &&
4236          globalwpw.settings.obj.disable_good_bye === ""
4237        ) {
4238          var goodByeRendered = wpwKits.render(globalwpw.settings.obj.good_bye);
4239          if (typeof goodByeRendered === "string") {
4240            globalwpw.wildcardsHelp.push(goodByeRendered.toLowerCase());
4241          }
4242        }
4243      } else {
4244        globalwpw.wildcardsHelp = [
4245          (
4246            wpwKits.render(globalwpw.settings.obj.sys_key_help) || ""
4247          ).toLowerCase(),
4248          (
4249            wpwKits.render(globalwpw.settings.obj.sys_key_support) || ""
4250          ).toLowerCase(),
4251          (
4252            wpwKits.render(globalwpw.settings.obj.sys_key_reset) || ""
4253          ).toLowerCase(),
4254          (
4255            wpwKits.render(globalwpw.settings.obj.email_subscription) || ""
4256          ).toLowerCase(),
4257          (
4258            wpwKits.render(globalwpw.settings.obj.unsubscribe) || ""
4259          ).toLowerCase(),
4260          (
4261            wpwKits.render(globalwpw.settings.obj.sys_key_livechat) || ""
4262          ).toLowerCase(),
4263        ];
4264        if (
4265          globalwpw.settings.obj.ticket_url != "" &&
4266          globalwpw.settings.obj.disable_open_ticket == ""
4267        ) {
4268          globalwpw.wildcardsHelp.push(
4269            (wpwKits.render(globalwpw.settings.obj.open_a_ticket) || '').toLowerCase()
4270          );
4271        }
4272        if (
4273          typeof globalwpw.settings.obj.good_bye !== "undefined" &&
4274          globalwpw.settings.obj.good_bye !== "" &&
4275          globalwpw.settings.obj.disable_good_bye === ""
4276        ) {
4277          var goodByeRendered = wpwKits.render(globalwpw.settings.obj.good_bye);
4278          if (typeof goodByeRendered === "string") {
4279            globalwpw.wildcardsHelp.push(goodByeRendered.toLowerCase());
4280          }
4281        }
4282      }
4283      //updating wildcards
4284      //      globalwpw.wildcards='';
4285
4286      //Adding custom Intents
4287
4288      if (globalwpw.settings.obj.start_menu != "") {
4289        var menu_html = "";
4290        var menu_items = $.parseHTML(
4291          $.trim(wpwKits.render(globalwpw.settings.obj.start_menu))
4292        );
4293        var tempData = [];
4294        if (
4295          globalwpw.settings.obj.disable_livechat_operator_offline == "1" ||
4296          globalwpw.settings.obj.disable_livechat == 1
4297        ) {
4298          if (
4299            globalwpw.settings.obj.is_operator_online != "1" &&
4300            globalwpw.settings.obj.livechatlink == ""
4301          ) {
4302            $.each(menu_items, function (index, value) {
4303              var htmlObject = jQuery(value);
4304              if (
4305                !htmlObject.hasClass("wpbo_live_chat") &&
4306                !htmlObject.hasClass("qcld-chatbot-custom-intent")
4307              ) {
4308                tempData.push(value);
4309              }
4310            });
4311          }
4312        }
4313        if (tempData.length != 0) {
4314          menu_items = tempData;
4315        }
4316        $(menu_items).each(function () {
4317          if ($(this).prop("tagName") == "SPAN") {
4318            menu_html += $(this).prop("outerHTML");
4319          }
4320        });
4321        if (globalwpw.settings.obj.qcld_disable_start_menu != "1") {
4322          if (menu_html != "") {
4323            globalwpw.wildcards = menu_html;
4324          } else {
4325            globalwpw.wildcards = wpwKits.render(menu_items);
4326          }
4327        }
4328      } else {
4329        if (
4330          globalwpw.settings.obj.disable_livechat == "" &&
4331          globalwpw.settings.obj.is_livechat_active
4332        ) {
4333          if (globalwpw.settings.obj.disable_livechat_operator_offline == "1") {
4334            if (globalwpw.settings.obj.is_operator_online == 1) {
4335              globalwpw.wildcards +=
4336                '<span class="qcld-chatbot-custom-intent" data-text="' +
4337                wpwKits.render(globalwpw.settings.obj.sys_key_livechat) +
4338                '" >' +
4339                wpwKits.render(globalwpw.settings.obj.livechat_label) +
4340                "</span>";
4341            }
4342          } else {
4343            globalwpw.wildcards +=
4344              '<span class="qcld-chatbot-custom-intent" data-text="' +
4345              wpwKits.render(globalwpw.settings.obj.sys_key_livechat) +
4346              '" >' +
4347              wpwKits.render(globalwpw.settings.obj.livechat_label) +
4348              "</span>";
4349          }
4350        }
4351        if (globalwpw.settings.obj.livechatlink != "") {
4352          globalwpw.wildcards +=
4353            '<span class="qcld-chatbot-custom-intent" data-text="' +
4354            wpwKits.render(globalwpw.settings.obj.sys_key_livechat) +
4355            '" >' +
4356            wpwKits.render(globalwpw.settings.obj.livechat_label) +
4357            "</span>";
4358        }
4359        if (globalwpw.settings.obj.disable_email_subscription == "") {
4360          globalwpw.wildcards +=
4361            '<span class="qcld-chatbot-default wpbd_subscription">' +
4362            wpwKits.render(globalwpw.settings.obj.email_subscription) +
4363            "</span>";
4364        }
4365
4366        if (globalwpw.settings.obj.disable_str_categories == "") {
4367          globalwpw.wildcards +=
4368            '<span class="qcld-chatbot-wildcard wpbd_str_categories">' +
4369            wpwKits.render(globalwpw.settings.obj.str_categories) +
4370            "</span>";
4371        }
4372
4373        if (
4374          globalwpw.settings.obj.custom_intent[0] != "" &&
4375          globalwpw.settings.obj.ai_df_enable == 1
4376        ) {
4377          for (
4378            var i = 0;
4379            i < globalwpw.settings.obj.custom_intent.length;
4380            i++
4381          ) {
4382            if (
4383              globalwpw.settings.obj.custom_intent[i] != "" &&
4384              globalwpw.settings.obj.custom_intent_label[i] != ""
4385            ) {
4386              globalwpw.wildcards +=
4387                '<span class="qcld-chatbot-custom-intent" data-text="' +
4388                globalwpw.settings.obj.custom_intent_label[i] +
4389                '" >' +
4390                globalwpw.settings.obj.custom_intent_label[i] +
4391                "</span>";
4392            }
4393          }
4394        }
4395
4396        if (globalwpw.settings.obj.custom_menu[0] != "") {
4397          for (var i = 0; i < globalwpw.settings.obj.custom_menu.length; i++) {
4398            if (
4399              globalwpw.settings.obj.custom_menu[i] != "" &&
4400              globalwpw.settings.obj.custom_menu_link[i] != ""
4401            ) {
4402              globalwpw.wildcards +=
4403                '<span class="qcld-chatbot-wildcard qcld-chatbot-buttonlink" data-link="' +
4404                globalwpw.settings.obj.custom_menu_link[i] +
4405                '" data-target="' +
4406                globalwpw.settings.obj.custom_menu_target[i] +
4407                '" data-type="' +
4408                globalwpw.settings.obj.custom_menu_type[i] +
4409                '" >' +
4410                globalwpw.settings.obj.custom_menu[i] +
4411                "</span>";
4412            }
4413          }
4414        }
4415
4416        if (
4417          globalwpw.settings.obj.livechat == "1" &&
4418          !globalwpw.settings.obj.is_livechat_active
4419        ) {
4420          globalwpw.wildcards +=
4421            '<span class="qcld-chatbot-default wpbo_live_chat" >' +
4422            wpwKits.render(globalwpw.settings.obj.livechat_button_label) +
4423            "</span>";
4424        }
4425        if (globalwpw.settings.obj.livechatlink != "") {
4426          globalwpw.wildcards +=
4427            '<span class="qcld-chatbot-custom-intent" data-text="' +
4428            wpwKits.render(globalwpw.settings.obj.sys_key_livechat) +
4429            '" >' +
4430            wpwKits.render(globalwpw.settings.obj.livechat_label) +
4431            "</span>";
4432        }
4433        if (globalwpw.settings.obj.woocommerce) {
4434          if (globalwpw.settings.obj.disable_product_search != 1) {
4435            globalwpw.wildcards +=
4436              '<span class="qcld-chatbot-wildcard"  data-wildcart="product">' +
4437              wpwKits.randomMsg(globalwpw.settings.obj.wildcard_product) +
4438              "</span>";
4439          }
4440          if (globalwpw.settings.obj.disable_catalog != 1) {
4441            globalwpw.wildcards +=
4442              '<span class="qcld-chatbot-wildcard"  data-wildcart="catalog">' +
4443              wpwKits.randomMsg(globalwpw.settings.obj.wildcard_catalog) +
4444              "</span>";
4445          }
4446          if (globalwpw.settings.obj.disable_featured_product != 1) {
4447            globalwpw.wildcards +=
4448              '<span class="qcld-chatbot-wildcard"  data-wildcart="featured">' +
4449              wpwKits.randomMsg(globalwpw.settings.obj.featured_products) +
4450              "</span>";
4451          }
4452
4453          if (globalwpw.settings.obj.disable_sale_product != 1) {
4454            globalwpw.wildcards +=
4455              '<span class="qcld-chatbot-wildcard"  data-wildcart="sale">' +
4456              wpwKits.randomMsg(globalwpw.settings.obj.sale_products) +
4457              " </span>";
4458          }
4459
4460          if (globalwpw.settings.obj.disable_order_status != 1) {
4461            globalwpw.wildcards +=
4462              '<span class="qcld-chatbot-wildcard"  data-wildcart="order">' +
4463              wpwKits.randomMsg(globalwpw.settings.obj.wildcard_order) +
4464              "</span>";
4465          }
4466        }
4467
4468        if (globalwpw.settings.obj.disable_sitesearch == "") {
4469          globalwpw.wildcards +=
4470            '<span class="qcld-chatbot-site-search" >' +
4471            wpwKits.render(globalwpw.settings.obj.site_search) +
4472            "</span>";
4473        }
4474
4475        if (globalwpw.settings.obj.disable_faq == "") {
4476          globalwpw.wildcards +=
4477            '<span class="qcld-chatbot-wildcard"  data-wildcart="support">' +
4478            wpwKits.render(globalwpw.settings.obj.wildcard_support) +
4479            "</span>";
4480        }
4481
4482        if (globalwpw.settings.obj.enable_messenger == 1) {
4483          globalwpw.wildcards +=
4484            '<span class="qcld-chatbot-wildcard"  data-wildcart="messenger">' +
4485            wpwKits.randomMsg(globalwpw.settings.obj.messenger_label) +
4486            "</span>";
4487        }
4488        if (globalwpw.settings.obj.enable_whats == 1) {
4489          globalwpw.wildcards +=
4490            '<span class="qcld-chatbot-wildcard"  data-wildcart="whatsapp">' +
4491            wpwKits.randomMsg(globalwpw.settings.obj.whats_label) +
4492            "</span>";
4493        }
4494
4495        if (globalwpw.settings.obj.disable_feedback == "") {
4496          globalwpw.wildcards +=
4497            '<span class="qcld-chatbot-suggest-email">' +
4498            wpwKits.render(globalwpw.settings.obj.send_us_email) +
4499            "</span>";
4500        }
4501        if (globalwpw.settings.obj.disable_leave_feedback == "") {
4502          globalwpw.wildcards +=
4503            '<span class="qcld-chatbot-suggest-email wpbd_feedback">' +
4504            wpwKits.render(globalwpw.settings.obj.leave_feedback) +
4505            "</span>";
4506        }
4507
4508        if (globalwpw.settings.obj.call_gen == "") {
4509          globalwpw.wildcards +=
4510            '<span class="qcld-chatbot-suggest-phone" >' +
4511            wpwKits.render(globalwpw.settings.obj.support_phone) +
4512            "</span>";
4513        }
4514
4515        if (globalwpw.settings.obj.form_ids[0] != "") {
4516          for (var i = 0; i < globalwpw.settings.obj.form_ids.length; i++) {
4517            if (
4518              globalwpw.settings.obj.form_ids[i] != "" &&
4519              globalwpw.settings.obj.forms[i] != ""
4520            ) {
4521              globalwpw.wildcards +=
4522                '<span class="qcld-chatbot-wildcard qcld-chatbot-form" data-form="' +
4523                globalwpw.settings.obj.form_ids[i] +
4524                '" >' +
4525                globalwpw.settings.obj.forms[i] +
4526                "</span>";
4527            }
4528          }
4529        }
4530      }
4531    },
4532  };
4533  let typingQueue = [];
4534  let isTyping = false;
4535  let typingInterval = null;
4536  function fetchRelevantPages(message) {
4537    jQuery.ajax({
4538      url: wpbot_ajax.ajaxurl, // Make sure `ajaxurl` is defined in frontend using wp_localize_script
4539      method: "POST",
4540      data: {
4541        action: "get_relevant_pages",
4542        keyword: message, // or extract key phrase from message if needed
4543      },
4544      success: function (response) {
4545        if (response.success && response.data) {
4546          const $last = jQuery(".qcld_streaming_content").last();
4547          $last.append(
4548            '<div class="relevant-links">' + response.data + "</div>"
4549          );
4550          wpwKits.scrollTo();
4551          wpwKits.wpwHistorySave();
4552        }
4553      },
4554      error: function () {
4555        console.error("Failed to fetch relevant pages.");
4556      },
4557    });
4558  }
4559  function parseLinks(text) {
4560    return text.replace(
4561      /\[([^\]]+)\]\((https?:\/\/[^\s)]+)\)/g,
4562      '<a href="$2" target="_blank" rel="noopener noreferrer">$1</a>'
4563    );
4564  }
4565  let messageBuffer = "";
4566  let typingSpeed = 30; // ms per character
4567  function typeWriterEffect($target, text, callback) {
4568    let i = 0;
4569    function typing() {
4570      if (i < text.length) {
4571        $target.append(text.charAt(i));
4572        i++;
4573        setTimeout(typing, typingSpeed);
4574      } else if (callback) {
4575        callback();
4576      }
4577    }
4578    typing();
4579  }
4580  function typeCharacterByCharacter(
4581    $target,
4582    text,
4583    speed = 10,
4584    onComplete = () => { }
4585  ) {
4586    // Convert Markdown links → real <a> tags
4587    text = text.replace(
4588      /\[([^\]]+)\]\((https?:\/\/[^\s]+)\)/g,
4589      `<a href="$2" target="_blank" rel="noopener noreferrer">$1</a>`
4590    );
4591
4592    // Create a hidden container to parse HTML safely
4593    const parser = jQuery("<div>").html(text);
4594    const nodes = parser.contents().toArray();
4595
4596    let nodeIndex = 0;
4597    let charIndex = 0;
4598
4599    function type() {
4600      if (nodeIndex < nodes.length) {
4601        const node = nodes[nodeIndex];
4602        if (node.nodeType === Node.TEXT_NODE) {
4603          // Normal text → type char by char
4604          if (charIndex < node.nodeValue.length) {
4605            $target.append(
4606              document.createTextNode(node.nodeValue.charAt(charIndex))
4607            );
4608            charIndex++;
4609            setTimeout(type, speed);
4610          } else {
4611            nodeIndex++;
4612            charIndex = 0;
4613            setTimeout(type, speed);
4614          }
4615        } else if (node.nodeType === Node.ELEMENT_NODE) {
4616          // Element node (e.g. <a>) → append the element itself
4617          $target.append(node);
4618          nodeIndex++;
4619          charIndex = 0;
4620          setTimeout(type, speed);
4621        } else {
4622          nodeIndex++;
4623          setTimeout(type, speed);
4624        }
4625      } else {
4626        // Typing completed
4627        onComplete();
4628      }
4629    }
4630
4631    type();
4632  }
4633  let userScrolling = false;
4634  let scrollLockTimer = null;
4635  // Detect user scroll manually
4636  jQuery(globalwpw.settings.botContainer).on("wheel touchmove", function () {
4637    userScrolling = true;
4638    if (scrollLockTimer) clearTimeout(scrollLockTimer);
4639    scrollLockTimer = setTimeout(() => {
4640      userScrolling = false;
4641    }, 2500);
4642  });
4643
4644  // Clean citation text
4645  const cleanAssistantText = (text) => {
4646    return text.replace(/【[\d:†a-z0-9_\-\s().]+】$/gi, "");
4647  };
4648  function parseMarkdown(text) {
4649    if (typeof marked !== "undefined") {
4650      return marked.parse(text); // converts markdown → HTML
4651    }
4652    return text; // fallback
4653  }
4654  function streamOpenAIwithAssit(customMessage, asstant_id) {
4655    const controller = new AbortController();
4656
4657    // Show preloader
4658    if (
4659      jQuery(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
4660        .length === 0
4661    ) {
4662      jQuery(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
4663      setTimeout(() => {
4664        if (!userScrolling) {
4665          jQuery(globalwpw.settings.botContainer)
4666            .stop(true)
4667            .animate(
4668              { scrollTop: jQuery(globalwpw.settings.botContainer)[0].scrollHeight },
4669              300
4670            );
4671        }
4672      }, 50);
4673    }
4674
4675    const assistantStreamBody = {
4676        action: "qcld_stream_openai",
4677        asstant_id: asstant_id,
4678        message: customMessage,
4679        nonce: wpbot_ajax.nonce,
4680      };
4681      var assistantConversationId = wpwKits.getOpenaiConversationId();
4682      if (assistantConversationId) {
4683        assistantStreamBody.openai_conversation_id = assistantConversationId;
4684      }
4685
4686    fetch(wpbot_ajax.stream_endpoint, {
4687      method: "POST",
4688      headers: { "Content-Type": "application/x-www-form-urlencoded" },
4689      body: new URLSearchParams(assistantStreamBody),
4690      signal: controller.signal,
4691    })
4692      .then(async (response) => {
4693        const contentType = response.headers.get("content-type") || "";
4694
4695        // If API sends JSON (rate limit / error)
4696        if (contentType.includes("application/json")) {
4697          const data = await response.json();
4698          if (data.status === "error") {
4699            wpwMsg.single("<strong>" + data.message + "</strong>");
4700            return;
4701          }
4702        }
4703
4704        if (!response.ok || !response.body) throw new Error("Stream error");
4705
4706        const reader = response.body.getReader();
4707        const decoder = new TextDecoder("utf-8");
4708        let buffer = "";
4709        let queue = [];
4710        let isTyping = false;
4711        let streamEnded = false;
4712        let messageBuffer = "";
4713
4714        function processQueue() {
4715
4716          if (isTyping || queue.length === 0) {
4717            if (streamEnded && !isTyping && queue.length === 0) {
4718
4719              if (messageBuffer.trim()) {
4720                const $last = jQuery(".wp-chatbot-msg")
4721                  .last()
4722                  .find(".wp-chatbot-paragraph");
4723
4724                let finalMsg = messageBuffer;
4725                qcldPushAiContext('assistant', finalMsg);
4726                
4727                var isFormCompleted = (finalMsg.indexOf('AI_FORM_DATA') !== -1);
4728                finalMsg = qcldFormatAndHandleAiForm(finalMsg);
4729                
4730                const finalHTML = parseMarkdown(finalMsg);
4731                $last.html(finalHTML);
4732                messageBuffer = "";
4733              }
4734
4735              // Smooth scroll to bottom
4736              setTimeout(() => {
4737                jQuery(globalwpw.settings.botContainer)
4738                  .stop(true)
4739                  .animate(
4740                    { scrollTop: jQuery(globalwpw.settings.botContainer)[0].scrollHeight },
4741                    400
4742                  );
4743              }, 150);
4744              if (!qcldIsAiFormInProgress()) { $(globalwpw.settings.messageContainer).find('.wp-chatbot-msg:last .qcld-like-dislike-icon').css('display', 'block'); }
4745              if (!isFormCompleted && !qcldIsAiFormInProgress()) {
4746                fetchRelevantPages(customMessage);
4747              }
4748              wpwTree.start_menu_settings();
4749              wpwKits.scrollTo();
4750              wpwKits.wpwHistorySave();
4751
4752
4753            }
4754            return;
4755          }
4756
4757          // --- Continue streaming/typing ---
4758          isTyping = true;
4759          let nextChunk = queue.shift();
4760          messageBuffer += nextChunk;
4761          if (messageBuffer.indexOf("__AI") !== -1 || messageBuffer.indexOf("AI_FORM_DATA") !== -1) {
4762            isTyping = false;
4763            processQueue();
4764            return;
4765          }
4766
4767          const $last = jQuery(".wp-chatbot-msg")
4768            .last()
4769            .find(".wp-chatbot-paragraph");
4770
4771          if ($last.length) {
4772            $last.find(".wp-chatbot-comment-loader").remove();
4773            const $span = jQuery("<span>");
4774            $last.append($span);
4775
4776            typeCharacterByCharacter($span, nextChunk, 10, () => {
4777              isTyping = false;
4778              processQueue();
4779              wpwKits.scrollTo();
4780            });
4781          } else {
4782            isTyping = false;
4783            processQueue();
4784          }
4785        }
4786
4787        function read() {
4788          reader
4789            .read()
4790            .then(({ done, value }) => {
4791              if (done) {
4792                streamEnded = true;
4793                processQueue();
4794                return;
4795              }
4796
4797              buffer += decoder.decode(value, { stream: true });
4798              const lines = buffer.split("\n");
4799              buffer = lines.pop();
4800
4801              for (let line of lines) {
4802                line = line.trim();
4803                if (!line.startsWith("data:")) continue;
4804
4805                let jsonStr = line.replace("data:", "").trim();
4806                if (!jsonStr) continue;
4807
4808                if (jsonStr.startsWith("[ERROR]")) {
4809                  wpwMsg.single("<strong>" + jsonStr + "</strong>");
4810                  return;
4811                }
4812
4813                try {
4814                  const parsed = JSON.parse(jsonStr);
4815                  if (parsed.conversation_id) {
4816                    wpwKits.setOpenaiConversationId(parsed.conversation_id);
4817                    continue;
4818                  }
4819                  if (parsed.choices?.[0]?.delta?.content) {
4820                    const cleaned = cleanAssistantText(parsed.choices[0].delta.content);
4821                    if (cleaned) {
4822                      queue.push(cleaned);
4823                      processQueue();
4824                    }
4825                    continue;
4826                  }
4827                  if (parsed.object === "thread.message.delta") {
4828                    const contentArray = parsed.delta?.content;
4829                    if (Array.isArray(contentArray)) {
4830                      for (const item of contentArray) {
4831                        const text = item?.text?.value;
4832                        if (typeof text === "string") {
4833                          const cleaned = cleanAssistantText(text);
4834                          if (cleaned) {
4835                            queue.push(cleaned);
4836                            processQueue();
4837                          }
4838                        }
4839                      }
4840                    }
4841                  }
4842                } catch (e) {
4843                  if (jsonStr !== "[DONE]") {
4844                    let displayJson =
4845                      jsonStr.length > 500
4846                        ? jsonStr.substring(0, 500) + "... [truncated]"
4847                        : jsonStr;
4848                  }
4849                }
4850              }
4851
4852              read();
4853            })
4854            .catch((err) => {
4855              console.error("Stream read error:", err);
4856              wpwMsg.single("<strong>Stream failed</strong>");
4857            });
4858        }
4859        read();
4860      })
4861      .catch((err) => {
4862        console.error("Stream fetch error:", err);
4863        wpwMsg.single("<strong>Assistant unavailable</strong>");
4864      });
4865  }
4866  /**
4867   * streamGemini – streams responses from the Gemini streamGenerateContent
4868   * endpoint using the same SSE fetch + typewriter-queue pattern as streamOpenAI.
4869   */
4870  function streamGemini(dataObj) {
4871    fetch(wpbot_ajax.ajaxurl, {
4872      method: "POST",
4873      headers: {
4874        "Content-Type": "application/x-www-form-urlencoded",
4875      },
4876      body: new URLSearchParams(dataObj),
4877    })
4878      .then((response) => {
4879        if (
4880          jQuery(
4881            globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader"
4882          ).length === 0
4883        ) {
4884          jQuery(globalwpw.settings.messageContainer).append(
4885            wpwKits.botPreloader()
4886          );
4887        }
4888        if (!response.ok || !response.body) {
4889          throw new Error("Network response was not OK or empty body");
4890        }
4891
4892        const reader = response.body.getReader();
4893        const decoder = new TextDecoder("utf-8");
4894        let buffer = "";
4895        let queue = [];
4896        let isTyping = false;
4897        let streamEnded = false;
4898        let messageBuffer = "";
4899
4900        function processQueue() {
4901          if (isTyping || queue.length === 0) {
4902            if (streamEnded && !isTyping && queue.length === 0) {
4903              if (messageBuffer.trim()) {
4904                const $last = jQuery(".wp-chatbot-msg")
4905                  .last()
4906                  .find(".wp-chatbot-paragraph");
4907                const finalHTML = parseMarkdown(messageBuffer);
4908                $last.html('<div class="qcld_streaming_content">' + finalHTML + '</div>');
4909                messageBuffer = "";
4910              }
4911
4912              if (!qcldIsAiFormInProgress()) { $(globalwpw.settings.messageContainer).find('.wp-chatbot-msg:last .qcld-like-dislike-icon').css('display', 'block'); }
4913              fetchRelevantPages(dataObj.keyword);
4914
4915              setTimeout(() => {
4916                jQuery(globalwpw.settings.botContainer)
4917                  .stop(true)
4918                  .animate(
4919                    { scrollTop: jQuery(globalwpw.settings.botContainer)[0].scrollHeight },
4920                    400
4921                  );
4922              }, 150);
4923
4924              setTimeout(() => {
4925                wpwTree.start_menu_settings();
4926              }, 500);
4927
4928              wpwKits.scrollTo();
4929              wpwKits.wpwHistorySave();
4930            }
4931            return;
4932          }
4933
4934          isTyping = true;
4935          let nextChunk = queue.shift();
4936          messageBuffer += nextChunk;
4937          if (messageBuffer.indexOf("__AI") !== -1 || messageBuffer.indexOf("AI_FORM_DATA") !== -1) {
4938            isTyping = false;
4939            processQueue();
4940            return;
4941          }
4942
4943          const $last = jQuery(".wp-chatbot-msg")
4944            .last()
4945            .find(".wp-chatbot-paragraph");
4946
4947          if ($last.length) {
4948            $last.find(".wp-chatbot-comment-loader").remove();
4949            const $span = jQuery("<span>");
4950            $last.append($span);
4951
4952            typeCharacterByCharacter($span, nextChunk, 10, () => {
4953              isTyping = false;
4954              processQueue();
4955              wpwKits.scrollTo();
4956            });
4957          } else {
4958            isTyping = false;
4959            processQueue();
4960          }
4961        }
4962
4963        function read() {
4964          reader.read().then(({ done, value }) => {
4965            if (done) {
4966              streamEnded = true;
4967              processQueue();
4968              return;
4969            }
4970
4971            buffer += decoder.decode(value, { stream: true });
4972            const lines = buffer.split("\n");
4973            buffer = lines.pop(); // keep incomplete line in buffer
4974
4975            for (const line of lines) {
4976              const trimmed = line.trim();
4977              if (!trimmed.startsWith("data:")) continue;
4978              const jsonStr = trimmed.slice(5).trim();
4979              if (jsonStr === "[DONE]") {
4980                streamEnded = true;
4981                // If nothing is still typing/queued, trigger relevant pages immediately
4982                if (!isTyping && queue.length === 0) {
4983                  fetchRelevantPages(dataObj.keyword);
4984                  wpwKits.wpwHistorySave();
4985                }
4986                processQueue();
4987                return;
4988              }
4989              if (jsonStr.startsWith("[ERROR]")) {
4990                const errMsg = jsonStr.slice(7).trim();
4991                queue.push("<strong>Error: " + errMsg + "</strong>");
4992                streamEnded = true;
4993                processQueue();
4994                return;
4995              }
4996              try {
4997                const parsed = JSON.parse(jsonStr);
4998                const text = parsed?.choices?.[0]?.delta?.content;
4999                if (typeof text === "string" && text) {
5000                  queue.push(text);
5001                  processQueue();
5002                }
5003              } catch (e) {
5004                // ignore parse errors for non-JSON lines
5005              }
5006            }
5007            read();
5008          }).catch((err) => {
5009            console.error("Gemini stream read error:", err);
5010            wpwMsg.single("<strong>Gemini stream failed</strong>");
5011          });
5012        }
5013        read();
5014      })
5015      .catch((err) => {
5016        console.error("Gemini stream fetch error:", err);
5017        wpwMsg.single("<strong>Gemini assistant unavailable</strong>");
5018      });
5019  }
5020  /**
5021   * streamClaude – streams responses from the Claude streamGenerateContent
5022   * endpoint using the same SSE fetch + typewriter-queue pattern as streamOpenAI.
5023   */
5024  function streamClaude(dataObj) {
5025    fetch(wpbot_ajax.ajaxurl, {
5026      method: "POST",
5027      headers: {
5028        "Content-Type": "application/x-www-form-urlencoded",
5029      },
5030      body: new URLSearchParams(dataObj),
5031    })
5032      .then((response) => {
5033        if (
5034          jQuery(
5035            globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader"
5036          ).length === 0
5037        ) {
5038          jQuery(globalwpw.settings.messageContainer).append(
5039            wpwKits.botPreloader()
5040          );
5041        }
5042        if (!response.ok || !response.body) {
5043          throw new Error("Network response was not OK or empty body");
5044        }
5045
5046        const reader = response.body.getReader();
5047        const decoder = new TextDecoder("utf-8");
5048        let buffer = "";
5049        let queue = [];
5050        let isTyping = false;
5051        let streamEnded = false;
5052        let messageBuffer = "";
5053
5054        function processQueue() {
5055          if (isTyping || queue.length === 0) {
5056            if (streamEnded && !isTyping && queue.length === 0) {
5057              if (messageBuffer.trim()) {
5058                const $last = jQuery(".wp-chatbot-msg")
5059                  .last()
5060                  .find(".wp-chatbot-paragraph");
5061                const finalHTML = parseMarkdown(messageBuffer);
5062                $last.html('<div class="qcld_streaming_content">' + finalHTML + '</div>');
5063                messageBuffer = "";
5064              }
5065
5066              if (!qcldIsAiFormInProgress()) { $(globalwpw.settings.messageContainer).find('.wp-chatbot-msg:last .qcld-like-dislike-icon').css('display', 'block'); }
5067              fetchRelevantPages(dataObj.keyword);
5068
5069              setTimeout(() => {
5070                jQuery(globalwpw.settings.botContainer)
5071                  .stop(true)
5072                  .animate(
5073                    { scrollTop: jQuery(globalwpw.settings.botContainer)[0].scrollHeight },
5074                    400
5075                  );
5076              }, 150);
5077
5078              setTimeout(() => {
5079                wpwTree.start_menu_settings();
5080              }, 500);
5081
5082              wpwKits.scrollTo();
5083              wpwKits.wpwHistorySave();
5084            }
5085            return;
5086          }
5087
5088          isTyping = true;
5089          let nextChunk = queue.shift();
5090          messageBuffer += nextChunk;
5091          if (messageBuffer.indexOf("__AI") !== -1 || messageBuffer.indexOf("AI_FORM_DATA") !== -1) {
5092            isTyping = false;
5093            processQueue();
5094            return;
5095          }
5096
5097          const $last = jQuery(".wp-chatbot-msg")
5098            .last()
5099            .find(".wp-chatbot-paragraph");
5100
5101          if ($last.length) {
5102            $last.find(".wp-chatbot-comment-loader").remove();
5103            const $span = jQuery("<span>");
5104            $last.append($span);
5105
5106            typeCharacterByCharacter($span, nextChunk, 10, () => {
5107              isTyping = false;
5108              processQueue();
5109              wpwKits.scrollTo();
5110            });
5111          } else {
5112            isTyping = false;
5113            processQueue();
5114          }
5115        }
5116
5117        function read() {
5118          reader.read().then(({ done, value }) => {
5119            if (done) {
5120              streamEnded = true;
5121              processQueue();
5122              return;
5123            }
5124
5125            buffer += decoder.decode(value, { stream: true });
5126            const lines = buffer.split("\n");
5127            buffer = lines.pop(); // keep incomplete line in buffer
5128
5129            for (const line of lines) {
5130              const trimmed = line.trim();
5131              if (!trimmed.startsWith("data:")) continue;
5132              const jsonStr = trimmed.slice(5).trim();
5133              if (jsonStr === "[DONE]") {
5134                streamEnded = true;
5135                // If nothing is still typing/queued, trigger relevant pages immediately
5136                if (!isTyping && queue.length === 0) {
5137                  fetchRelevantPages(dataObj.keyword);
5138                  wpwKits.wpwHistorySave();
5139                }
5140                processQueue();
5141                return;
5142              }
5143              try {
5144                const parsed = JSON.parse(jsonStr);
5145                const text = parsed?.choices?.[0]?.delta?.content;
5146                if (typeof text === "string" && text) {
5147                  queue.push(text);
5148                  processQueue();
5149                }
5150              } catch (e) {
5151                // ignore parse errors for non-JSON lines
5152              }
5153            }
5154            read();
5155          }).catch((err) => {
5156            console.error("Claude stream read error:", err);
5157            wpwMsg.single("<strong>Claude stream failed</strong>");
5158          });
5159        }
5160        read();
5161      })
5162      .catch((err) => {
5163        console.error("Claude stream fetch error:", err);
5164        wpwMsg.single("<strong>Claude assistant unavailable</strong>");
5165      });
5166  }
5167
5168  function streamOpenAI(dataObj) {
5169    const controller = new AbortController();
5170   
5171    fetch(wpbot_ajax.ajaxurl, {
5172      method: "POST",
5173      headers: {
5174        "Content-Type": "application/x-www-form-urlencoded",
5175      },
5176      body: new URLSearchParams(dataObj),
5177      signal: controller.signal,
5178    })
5179      .then((response) => {
5180        if (
5181          jQuery(
5182            globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader"
5183          ).length === 0
5184        ) {
5185
5186          jQuery(globalwpw.settings.messageContainer).append(
5187            wpwKits.botPreloader()
5188          );
5189        }
5190        if (!response.ok || !response.body) {
5191          throw new Error("Network response was not OK or empty body");
5192        }
5193
5194        const reader = response.body.getReader();
5195        const decoder = new TextDecoder("utf-8");
5196        let buffer = "";
5197        let queue = [];
5198        let isTyping = false;
5199        let streamEnded = false;
5200        let messageBuffer = "";
5201
5202        function processQueue() {
5203          if (isTyping || queue.length === 0) {
5204            if (streamEnded && !isTyping && queue.length === 0) {
5205              // If stream has ended and nothing left to type, finalize message and trigger page suggestion
5206              if (messageBuffer.trim()) {
5207                const $last = jQuery(".wp-chatbot-msg")
5208                  .last()
5209                  .find(".wp-chatbot-paragraph");
5210
5211                let finalMsg = messageBuffer;
5212                qcldPushAiContext('assistant', finalMsg);
5213                
5214                var isFormCompleted = (finalMsg.indexOf('AI_FORM_DATA') !== -1);
5215                finalMsg = qcldFormatAndHandleAiForm(finalMsg);
5216                
5217                const finalHTML = parseMarkdown(finalMsg);
5218                $last.html('<div class="qcld_streaming_content">' + finalHTML + '</div>');
5219                messageBuffer = ""; // Clear buffer after finalization
5220              }
5221
5222              // Smooth scroll to bottom
5223              setTimeout(() => {
5224                jQuery(globalwpw.settings.botContainer)
5225                  .stop(true)
5226                  .animate(
5227                    { scrollTop: jQuery(globalwpw.settings.botContainer)[0].scrollHeight },
5228                    400
5229                  );
5230              }, 150);
5231
5232              if (!qcldIsAiFormInProgress()) { $(globalwpw.settings.messageContainer).find('.wp-chatbot-msg:last .qcld-like-dislike-icon').css('display', 'block'); }
5233              if (!isFormCompleted && !qcldIsAiFormInProgress()) {
5234                fetchRelevantPages(dataObj.keyword);
5235              }
5236              setTimeout(() => {
5237                wpwTree.start_menu_settings();
5238              }, 500);
5239              wpwKits.scrollTo();
5240              wpwKits.wpwHistorySave();
5241            }
5242            return;
5243          }
5244
5245          // --- Continue streaming/typing ---
5246          isTyping = true;
5247          let nextChunk = queue.shift();
5248          messageBuffer += nextChunk;
5249          if (messageBuffer.indexOf("__AI") !== -1 || messageBuffer.indexOf("AI_FORM_DATA") !== -1) {
5250            isTyping = false;
5251            processQueue();
5252            return;
5253          } // Accumulate message buffer
5254
5255          const $last = jQuery(".wp-chatbot-msg")
5256            .last()
5257            .find(".wp-chatbot-paragraph");
5258
5259          if ($last.length) {
5260            $last.find(".wp-chatbot-comment-loader").remove(); // Remove loader when typing starts
5261            const $span = jQuery("<span>");
5262            $last.append($span);
5263
5264            typeCharacterByCharacter($span, nextChunk, 10, () => {
5265              isTyping = false;
5266              processQueue(); // Continue with next chunk
5267              wpwKits.scrollTo(); // Scroll after each chunk is typed
5268            });
5269          } else {
5270            // Fallback if $last is not found (should ideally not happen if preloader is correctly added)
5271            isTyping = false;
5272            processQueue();
5273          }
5274        }
5275
5276        function handleStreamDataLine(line) {
5277          line = (line || "").trim();
5278          if (!line || !line.startsWith("data:")) {
5279            return;
5280          }
5281          const json = line.replace(/^data:\s*/, "").trim();
5282          if (!json) {
5283            return;
5284          }
5285
5286          if (json === "[DONE]") {
5287            streamEnded = true;
5288            if (!isTyping && queue.length === 0) {
5289              fetchRelevantPages(dataObj.keyword);
5290              wpwKits.wpwHistorySave();
5291            }
5292            processQueue();
5293            return;
5294          }
5295
5296          if (json.startsWith("[ERROR]")) {
5297            const errMsg = json.slice(7).trim();
5298            queue.push("<strong>Error: " + errMsg + "</strong>");
5299            streamEnded = true;
5300            if (!isTyping && queue.length === 0) {
5301              wpwKits.wpwHistorySave();
5302            }
5303            processQueue();
5304            return;
5305          }
5306
5307          try {
5308            const parsed = JSON.parse(json);
5309            if (parsed.conversation_id) {
5310              wpwKits.setOpenaiConversationId(parsed.conversation_id);
5311              return;
5312            }
5313            let content = "";
5314
5315            if (parsed.choices?.[0]?.delta?.content) {
5316              content = parsed.choices[0].delta.content;
5317            } else if (parsed.message?.content) {
5318              content = parsed.message.content;
5319            } else if (parsed.delta?.content) {
5320              content = parsed.delta.content;
5321            }
5322
5323            if (content) {
5324              queue.push(content);
5325              processQueue();
5326              wpwKits.scrollTo();
5327            }
5328          } catch (e) {
5329            console.warn("Streaming parse error:", e, json);
5330          }
5331        }
5332
5333        function read() {
5334          reader
5335            .read()
5336            .then(({ done, value }) => {
5337              if (done) {
5338                if (buffer.trim()) {
5339                  handleStreamDataLine(buffer);
5340                }
5341                streamEnded = true;
5342                processQueue();
5343                return;
5344              }
5345
5346              buffer += decoder.decode(value, { stream: true });
5347
5348              const lines = buffer.split("\n");
5349              buffer = lines.pop();
5350
5351              for (let line of lines) {
5352                handleStreamDataLine(line);
5353              }
5354
5355              if (!streamEnded) {
5356                read();
5357              } else {
5358                processQueue();
5359              }
5360            })
5361            .catch((err) => console.error("Read error:", err));
5362        }
5363
5364        read();
5365      })
5366      .catch((err) => console.error("Fetch error:", err));
5367  }
5368  function streamGrokAI(dataObj) {
5369    const controller = new AbortController();
5370
5371    fetch(wpbot_ajax.ajaxurl, {
5372      method: "POST",
5373      headers: {
5374        "Content-Type": "application/x-www-form-urlencoded",
5375      },
5376      body: new URLSearchParams(dataObj),
5377      signal: controller.signal,
5378    })
5379    .then((response) => {
5380      if (
5381          jQuery(
5382            globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader"
5383          ).length === 0
5384        ) {
5385
5386          jQuery(globalwpw.settings.messageContainer).append(
5387            wpwKits.botPreloader()
5388          );
5389        }
5390        if (!response.ok || !response.body) {
5391          throw new Error("Network response was not OK or empty body");
5392        }
5393
5394        const reader = response.body.getReader();
5395        const decoder = new TextDecoder("utf-8");
5396        let buffer = "";
5397        let queue = [];
5398        let isTyping = false;
5399        let streamEnded = false;
5400        let messageBuffer = "";
5401
5402        function processQueue() {
5403          if (isTyping || queue.length === 0) {
5404            if (streamEnded && !isTyping && queue.length === 0) {
5405              // If stream has ended and nothing left to type, finalize message and trigger page suggestion
5406              if (messageBuffer.trim()) {
5407                const $last = jQuery(".wp-chatbot-msg")
5408                  .last()
5409                  .find(".wp-chatbot-paragraph");
5410
5411                let finalMsg = messageBuffer;
5412                qcldPushAiContext('assistant', finalMsg);
5413                
5414                var isFormCompleted = (finalMsg.indexOf('AI_FORM_DATA') !== -1);
5415                finalMsg = qcldFormatAndHandleAiForm(finalMsg);
5416                
5417                const finalHTML = parseMarkdown(finalMsg);
5418                $last.html(finalHTML);
5419                messageBuffer = ""; // Clear buffer after finalization
5420              }
5421
5422              // Smooth scroll to bottom
5423              setTimeout(() => {
5424                jQuery(globalwpw.settings.botContainer)
5425                  .stop(true)
5426                  .animate(
5427                    { scrollTop: jQuery(globalwpw.settings.botContainer)[0].scrollHeight },
5428                    400
5429                  );
5430              }, 150);
5431
5432              if (!qcldIsAiFormInProgress()) { $(globalwpw.settings.messageContainer).find('.wp-chatbot-msg:last .qcld-like-dislike-icon').css('display', 'block'); }
5433              if (!isFormCompleted && !qcldIsAiFormInProgress()) {
5434                fetchRelevantPages(dataObj.keyword);
5435              }
5436              setTimeout(() => {
5437                wpwTree.start_menu_settings();
5438              }, 500);
5439              wpwKits.scrollTo();
5440              wpwKits.wpwHistorySave();
5441            }
5442            return;
5443          }
5444
5445          // --- Continue streaming/typing ---
5446          isTyping = true;
5447          let nextChunk = queue.shift();
5448          messageBuffer += nextChunk;
5449          if (messageBuffer.indexOf("__AI") !== -1 || messageBuffer.indexOf("AI_FORM_DATA") !== -1) {
5450            isTyping = false;
5451            processQueue();
5452            return;
5453          } // Accumulate message buffer
5454
5455          const $last = jQuery(".wp-chatbot-msg")
5456            .last()
5457            .find(".wp-chatbot-paragraph");
5458
5459          if ($last.length) {
5460            $last.find(".wp-chatbot-comment-loader").remove(); // Remove loader when typing starts
5461            const $span = jQuery("<span>");
5462            $last.append($span);
5463
5464            typeCharacterByCharacter($span, nextChunk, 10, () => {
5465              isTyping = false;
5466              processQueue(); // Continue with next chunk
5467              wpwKits.scrollTo(); // Scroll after each chunk is typed
5468            });
5469          } else {
5470            // Fallback if $last is not found (should ideally not happen if preloader is correctly added)
5471            isTyping = false;
5472            processQueue();
5473          }
5474        }
5475
5476        function read() {
5477          reader
5478            .read()
5479            .then(({ done, value }) => {
5480              if (done) {
5481                return;
5482              }
5483
5484              buffer += decoder.decode(value, { stream: true });
5485
5486              const lines = buffer.split("\n");
5487              buffer = lines.pop(); // Save incomplete line
5488
5489              for (let line of lines) {
5490                line = line.trim();
5491                if (!line) continue;
5492
5493                if (line.startsWith("data:")) {
5494                  const json = line.replace("data:", "").trim();
5495
5496                  if (json === "[DONE]") {
5497                    streamEnded = true;
5498                    // Only call processQueue if nothing is typing
5499                    if (!isTyping && queue.length === 0) {
5500                      fetchRelevantPages(dataObj.keyword);
5501                      wpwKits.wpwHistorySave();
5502                    }
5503                    processQueue();
5504                    return;
5505                  }
5506
5507                  try {
5508                    const parsed = JSON.parse(json);
5509                    let content = "";
5510
5511                    if (parsed.choices?.[0]?.delta?.content) {
5512                      content = parsed.choices[0].delta.content;
5513                    } else if (parsed.message?.content) {
5514                      content = parsed.message.content;
5515                    } else if (parsed.delta?.content) {
5516                      content = parsed.delta.content;
5517                    }
5518
5519                    if (content) {
5520                      queue.push(content);
5521                      processQueue();
5522                      wpwKits.scrollTo();
5523
5524                    }
5525                  } catch (e) {
5526                    console.warn("Streaming parse error:", e, json);
5527                  }
5528                }
5529              }
5530
5531              read();
5532
5533            })
5534            .catch((err) => console.error("Read error:", err));
5535        }
5536
5537        read();
5538    }).catch((err) => console.error("Fetch error:", err));
5539 
5540  }
5541  /*
5542   * wpwbot Trees are basically product,order and support
5543   * product tree : asking,showing & shopping part will be covered.
5544   * order tree : showing order list and email to admin option.
5545   * support tree : List of support query-answer including text & video and email to admin option.
5546   */
5547  wpwTree = {
5548    greeting: function (msg) {
5549      console.log(msg)
5550      /**
5551       * When Enable DialogFlow then  or else
5552       */
5553      if (
5554        globalwpw.settings.obj.ai_df_enable == 1 &&
5555        globalwpw.df_status_lock == 0
5556      ) {
5557        //When intialize 1 and don't have cookies then keep  the name of shooper in in cookie
5558        if (
5559          globalwpw.initialize == 1 &&
5560          !localStorage.getItem("shopper") &&
5561          globalwpw.wildCard == 0 &&
5562          globalwpw.ai_step == 0
5563        ) {
5564          var main_text = msg;
5565          msg = wpwKits.toTitlecase(msg);
5566          if (
5567            globalwpw.settings.obj.ask_name_confirmation != "" &&
5568            localStorage.getItem("shoppername_recognized")
5569          ) {
5570            if (main_text == "yes") {
5571              var fullname = localStorage.getItem("shoppername_recognized");
5572              globalwpw.settings.obj.ask_name_confirmation = "";
5573              localStorage.removeItem("shoppername_recognized");
5574
5575              $.cookie("shopper", fullname, { expires: 365 });
5576              localStorage.setItem("shopper", fullname);
5577              globalwpw.hasNameCookie = fullname;
5578              //Greeting with name and suggesting the wildcard.
5579              var NameGreeting =
5580                wpwKits.randomMsg(globalwpw.settings.obj.i_am) +
5581                " <strong>" +
5582                wpwKits.render(globalwpw.settings.obj.agent) +
5583                "</strong>! " +
5584                wpwKits.randomMsg(globalwpw.settings.obj.name_greeting);
5585              if (globalwpw.settings.obj.ask_email_wp_greetings == 1) {
5586                var emailsharetext = wpwKits.randomMsg(
5587                  globalwpw.settings.obj.asking_emailaddress
5588                );
5589                if (globalwpw.settings.obj.enable_gdpr) {
5590                  wpwMsg.triple_nobg(
5591                    NameGreeting,
5592                    emailsharetext,
5593                    wpwKits.render(globalwpw.settings.obj.gdpr_text)
5594                  );
5595                } else {
5596                  wpwMsg.double(NameGreeting, emailsharetext);
5597                }
5598              } else if (globalwpw.settings.obj.ask_phone_wp_greetings == 1) {
5599                var phonesharetext = wpwKits.randomMsg(
5600                  globalwpw.settings.obj.asking_phone_gt
5601                );
5602                if (globalwpw.settings.obj.enable_gdpr) {
5603                  wpwMsg.triple_nobg(
5604                    NameGreeting,
5605                    phonesharetext,
5606                    wpwKits.render(globalwpw.settings.obj.gdpr_text)
5607                  );
5608                } else {
5609                  wpwMsg.double(NameGreeting, phonesharetext);
5610                }
5611              } else {
5612                //this data should be conditional
5613                var serviceOffer = wpwKits.randomMsg(
5614                  globalwpw.settings.obj.wildcard_msg
5615                );
5616                //After completing two steps messaging showing wildcards.
5617                if (
5618                  globalwpw.settings.obj.show_menu_after_greetings == 1 &&
5619                  globalwpw.settings.obj.qcld_disable_start_menu != "1" &&
5620                  typeof globalwpw.wildcards != "undefined" &&
5621                  globalwpw.wildcards != "" &&
5622                  globalwpw.settings.obj.qcld_disable_beginning_startmenu != "1"
5623                ) {
5624                  wpwMsg.triple_nobg(
5625                    NameGreeting,
5626                    serviceOffer,
5627                    globalwpw.wildcards
5628                  );
5629                } else {
5630                  wpwMsg.single(NameGreeting);
5631                }
5632                globalwpw.ai_step = 1;
5633                globalwpw.wildCard = 0;
5634                localStorage.setItem("wildCard", globalwpw.wildCard);
5635                localStorage.setItem("aiStep", globalwpw.ai_step);
5636              }
5637            } else {
5638              localStorage.removeItem("shoppername_recognized");
5639              wpwMsg.single(
5640                wpwKits.randomMsg(globalwpw.settings.obj.asking_name)
5641              );
5642            }
5643          } else if (
5644            globalwpw.settings.obj.ask_name_confirmation != "" ||
5645            globalwpw.settings.obj.ask_name_confirmation == ""
5646          ) {
5647            var dfReturns = wpwKits.dailogAIOAction(msg);
5648            if (
5649              $(
5650                globalwpw.settings.messageLastChild +
5651                " .wp-chatbot-comment-loader"
5652              ).length == 0
5653            ) {
5654              $(globalwpw.settings.messageContainer).append(
5655                wpwKits.botPreloader()
5656              );
5657            }
5658            dfReturns.done(function (response) {
5659              if (globalwpw.settings.obj.df_api_version == "v2") {
5660                response = $.parseJSON(response);
5661              }
5662              if (wpwKits.responseIsOk(response)) {
5663                var intent = wpwKits.getIntentName(response);
5664                if (intent == "get name") {
5665                  var given_name = wpwKits.getParameters(response).given_name;
5666                  var last_name = wpwKits.getParameters(response).last_name;
5667                  var fullname = given_name + " " + last_name;
5668                  if (fullname.length < 2) {
5669                    fullname = msg;
5670                  }
5671
5672                  //if(globalwpw.settings.obj.ask_name_confirmation==''){
5673
5674                  $.cookie("shopper", fullname, { expires: 365 });
5675                  localStorage.setItem("shopper", fullname);
5676                  globalwpw.hasNameCookie = fullname;
5677                  //Greeting with name and suggesting the wildcard.
5678                  var NameGreeting =
5679                    wpwKits.randomMsg(globalwpw.settings.obj.i_am) +
5680                    " <strong>" +
5681                    wpwKits.render(globalwpw.settings.obj.agent) +
5682                    "</strong>! " +
5683                    wpwKits.randomMsg(globalwpw.settings.obj.name_greeting);
5684                  if (globalwpw.settings.obj.ask_email_wp_greetings == 1) {
5685                    var emailsharetext = wpwKits.randomMsg(
5686                      globalwpw.settings.obj.asking_emailaddress
5687                    );
5688                    if (globalwpw.settings.obj.enable_gdpr) {
5689                      wpwMsg.triple_nobg(
5690                        NameGreeting,
5691                        emailsharetext,
5692                        wpwKits.render(globalwpw.settings.obj.gdpr_text)
5693                      );
5694                    } else {
5695                      wpwMsg.double(NameGreeting, emailsharetext);
5696                    }
5697                  } else if (
5698                    globalwpw.settings.obj.ask_phone_wp_greetings == 1
5699                  ) {
5700                    var phonesharetext = wpwKits.randomMsg(
5701                      globalwpw.settings.obj.asking_phone_gt
5702                    );
5703                    if (globalwpw.settings.obj.enable_gdpr) {
5704                      wpwMsg.triple_nobg(
5705                        NameGreeting,
5706                        phonesharetext,
5707                        wpwKits.render(globalwpw.settings.obj.gdpr_text)
5708                      );
5709                    } else {
5710                      wpwMsg.double(NameGreeting, phonesharetext);
5711                    }
5712                  } else {
5713                    //this data should be conditional
5714                    var serviceOffer = wpwKits.randomMsg(
5715                      globalwpw.settings.obj.wildcard_msg
5716                    );
5717                    //After completing two steps messaging showing wildcards.
5718                    if (
5719                      globalwpw.settings.obj.show_menu_after_greetings == 1 &&
5720                      globalwpw.settings.obj.qcld_disable_start_menu != "1" &&
5721                      typeof globalwpw.wildcards != "undefined" &&
5722                      globalwpw.wildcards != ""
5723                    ) {
5724                      wpwMsg.triple_nobg(
5725                        NameGreeting,
5726                        serviceOffer,
5727                        globalwpw.wildcards
5728                      );
5729                    } else {
5730                      wpwMsg.single(NameGreeting);
5731                    }
5732                    globalwpw.ai_step = 1;
5733                    globalwpw.wildCard = 0;
5734                    localStorage.setItem("wildCard", globalwpw.wildCard);
5735                    localStorage.setItem("aiStep", globalwpw.ai_step);
5736                  }
5737                } else if (intent == "Default Fallback Intent") {
5738                  var filterMsg = wpwKits.filterStopWords(msg);
5739
5740                  if (filterMsg != "") {
5741                    // if(globalwpw.settings.obj.ask_name_confirmation==''){
5742
5743                    $.cookie("shopper", filterMsg, { expires: 365 });
5744                    localStorage.setItem("shopper", filterMsg);
5745                    globalwpw.hasNameCookie = filterMsg;
5746                    var NameGreeting =
5747                      wpwKits.randomMsg(globalwpw.settings.obj.i_am) +
5748                      " <strong>" +
5749                      wpwKits.render(globalwpw.settings.obj.agent) +
5750                      "</strong>! " +
5751                      wpwKits.randomMsg(globalwpw.settings.obj.name_greeting);
5752                    if (globalwpw.settings.obj.ask_email_wp_greetings == 1) {
5753                      var emailsharetext = wpwKits.randomMsg(
5754                        globalwpw.settings.obj.asking_emailaddress
5755                      );
5756                      if (globalwpw.settings.obj.enable_gdpr) {
5757                        wpwMsg.triple(
5758                          NameGreeting,
5759                          emailsharetext,
5760                          wpwKits.render(globalwpw.settings.obj.gdpr_text)
5761                        );
5762                      } else {
5763                        wpwMsg.double(NameGreeting, emailsharetext);
5764                      }
5765                    } else if (
5766                      globalwpw.settings.obj.ask_phone_wp_greetings == 1
5767                    ) {
5768                      var phonesharetext = wpwKits.randomMsg(
5769                        globalwpw.settings.obj.asking_phone_gt
5770                      );
5771                      if (globalwpw.settings.obj.enable_gdpr) {
5772                        wpwMsg.triple_nobg(
5773                          NameGreeting,
5774                          phonesharetext,
5775                          wpwKits.render(globalwpw.settings.obj.gdpr_text)
5776                        );
5777                      } else {
5778                        wpwMsg.double(NameGreeting, phonesharetext);
5779                      }
5780                    } else {
5781                      //this data should be conditional
5782                      var serviceOffer = wpwKits.randomMsg(
5783                        globalwpw.settings.obj.wildcard_msg
5784                      );
5785                      //After completing two steps messaging showing wildcards.
5786                      if (
5787                        globalwpw.settings.obj.show_menu_after_greetings == 1 &&
5788                        globalwpw.settings.obj.qcld_disable_start_menu != "1" &&
5789                        typeof globalwpw.wildcards != "undefined" &&
5790                        globalwpw.wildcards != "" &&
5791                        globalwpw.settings.obj
5792                          .qcld_disable_beginning_startmenu != "1"
5793                      ) {
5794                        wpwMsg.triple_nobg(
5795                          NameGreeting,
5796                          serviceOffer,
5797                          globalwpw.wildcards
5798                        );
5799                      } else {
5800                        wpwMsg.single(NameGreeting);
5801                      }
5802
5803                      globalwpw.ai_step = 1;
5804                      globalwpw.wildCard = 0;
5805                      localStorage.setItem("wildCard", globalwpw.wildCard);
5806                      localStorage.setItem("aiStep", globalwpw.ai_step);
5807                    }
5808                  } else {
5809                    $.cookie(
5810                      "shopper",
5811                      wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
5812                      { expires: 365 }
5813                    );
5814                    localStorage.setItem(
5815                      "shopper",
5816                      wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
5817                    );
5818                    globalwpw.hasNameCookie = wpwKits.render(
5819                      globalwpw.settings.obj.shopper_demo_name
5820                    );
5821                    globalwpw.ai_step = 1;
5822                    globalwpw.wildCard = 0;
5823                    localStorage.setItem("wildCard", globalwpw.wildCard);
5824                    localStorage.setItem("aiStep", globalwpw.ai_step);
5825                    var NameGreeting =
5826                      wpwKits.render(globalwpw.settings.obj.shopper_call_you) +
5827                      " " +
5828                      wpwKits.render(globalwpw.settings.obj.shopper_demo_name);
5829                    if (globalwpw.settings.obj.ask_email_wp_greetings == 1) {
5830                      var emailsharetext = wpwKits.randomMsg(
5831                        globalwpw.settings.obj.asking_emailaddress
5832                      );
5833                      if (globalwpw.settings.obj.enable_gdpr) {
5834                        wpwMsg.triple(
5835                          NameGreeting,
5836                          emailsharetext,
5837                          wpwKits.render(globalwpw.settings.obj.gdpr_text)
5838                        );
5839                      } else {
5840                        wpwMsg.double(NameGreeting, emailsharetext);
5841                      }
5842                    } else if (
5843                      globalwpw.settings.obj.ask_phone_wp_greetings == 1
5844                    ) {
5845                      var phonesharetext = wpwKits.randomMsg(
5846                        globalwpw.settings.obj.asking_phone_gt
5847                      );
5848                      if (globalwpw.settings.obj.enable_gdpr) {
5849                        wpwMsg.triple_nobg(
5850                          NameGreeting,
5851                          phonesharetext,
5852                          wpwKits.render(globalwpw.settings.obj.gdpr_text)
5853                        );
5854                      } else {
5855                        wpwMsg.double(NameGreeting, phonesharetext);
5856                      }
5857                    } else {
5858                      //this data should be conditional
5859                      var serviceOffer = wpwKits.randomMsg(
5860                        globalwpw.settings.obj.wildcard_msg
5861                      );
5862                      //After completing two steps messaging showing wildcards.
5863                      if (
5864                        globalwpw.settings.obj.show_menu_after_greetings == 1 &&
5865                        globalwpw.settings.obj.qcld_disable_start_menu != "1" &&
5866                        typeof globalwpw.wildcards != "undefined" &&
5867                        globalwpw.wildcards != ""
5868                      ) {
5869                        wpwMsg.triple_nobg(
5870                          NameGreeting,
5871                          serviceOffer,
5872                          globalwpw.wildcards
5873                        );
5874                      } else {
5875                        wpwMsg.single(NameGreeting);
5876                      }
5877
5878                      globalwpw.ai_step = 1;
5879                      globalwpw.wildCard = 0;
5880                      localStorage.setItem("wildCard", globalwpw.wildCard);
5881                      localStorage.setItem("aiStep", globalwpw.ai_step);
5882                    }
5883                  }
5884                } else {
5885                  var filterMsg = wpwKits.filterStopWords(msg);
5886                  if (msg.length === 1) {
5887                    var filterMsg = msg;
5888                  }
5889                  if (filterMsg != "") {
5890                    $.cookie("shopper", filterMsg, { expires: 365 });
5891                    localStorage.setItem("shopper", filterMsg);
5892                    globalwpw.hasNameCookie = filterMsg;
5893                    var NameGreeting =
5894                      wpwKits.randomMsg(globalwpw.settings.obj.i_am) +
5895                      " <strong>" +
5896                      wpwKits.render(globalwpw.settings.obj.agent) +
5897                      "</strong>! " +
5898                      wpwKits.randomMsg(globalwpw.settings.obj.name_greeting);
5899                    if (globalwpw.settings.obj.ask_email_wp_greetings == 1) {
5900                      var emailsharetext = wpwKits.randomMsg(
5901                        globalwpw.settings.obj.asking_emailaddress
5902                      );
5903                      if (globalwpw.settings.obj.enable_gdpr) {
5904                        wpwMsg.triple(
5905                          NameGreeting,
5906                          emailsharetext,
5907                          wpwKits.render(globalwpw.settings.obj.gdpr_text)
5908                        );
5909                      } else {
5910                        wpwMsg.double(NameGreeting, emailsharetext);
5911                      }
5912                    } else if (
5913                      globalwpw.settings.obj.ask_phone_wp_greetings == 1
5914                    ) {
5915                      var phonesharetext = wpwKits.randomMsg(
5916                        globalwpw.settings.obj.asking_phone_gt
5917                      );
5918                      if (globalwpw.settings.obj.enable_gdpr) {
5919                        wpwMsg.triple_nobg(
5920                          NameGreeting,
5921                          phonesharetext,
5922                          wpwKits.render(globalwpw.settings.obj.gdpr_text)
5923                        );
5924                      } else {
5925                        wpwMsg.double(NameGreeting, phonesharetext);
5926                      }
5927                    } else {
5928                      //this data should be conditional
5929                      var serviceOffer = wpwKits.randomMsg(
5930                        globalwpw.settings.obj.wildcard_msg
5931                      );
5932                      //After completing two steps messaging showing wildcards.
5933                      if (
5934                        globalwpw.settings.obj.show_menu_after_greetings == 1 &&
5935                        globalwpw.settings.obj.qcld_disable_start_menu != "1" &&
5936                        typeof globalwpw.wildcards != "undefined" &&
5937                        globalwpw.wildcards != ""
5938                      ) {
5939                        wpwMsg.triple_nobg(
5940                          NameGreeting,
5941                          serviceOffer,
5942                          globalwpw.wildcards
5943                        );
5944                      } else {
5945                        wpwMsg.single(NameGreeting);
5946                      }
5947
5948                      globalwpw.ai_step = 1;
5949                      globalwpw.wildCard = 0;
5950                      localStorage.setItem("wildCard", globalwpw.wildCard);
5951                      localStorage.setItem("aiStep", globalwpw.ai_step);
5952                    }
5953                  } else {
5954                    $.cookie(
5955                      "shopper",
5956                      wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
5957                      { expires: 365 }
5958                    );
5959                    localStorage.setItem(
5960                      "shopper",
5961                      wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
5962                    );
5963                    globalwpw.hasNameCookie = wpwKits.render(
5964                      globalwpw.settings.obj.shopper_demo_name
5965                    );
5966                    globalwpw.ai_step = 1;
5967                    globalwpw.wildCard = 0;
5968                    localStorage.setItem("wildCard", globalwpw.wildCard);
5969                    localStorage.setItem("aiStep", globalwpw.ai_step);
5970                    var NameGreeting =
5971                      wpwKits.render(globalwpw.settings.obj.shopper_call_you) +
5972                      " " +
5973                      wpwKits.render(globalwpw.settings.obj.shopper_demo_name);
5974                    if (globalwpw.settings.obj.ask_email_wp_greetings == 1) {
5975                      var emailsharetext = wpwKits.randomMsg(
5976                        globalwpw.settings.obj.asking_emailaddress
5977                      );
5978                      if (globalwpw.settings.obj.enable_gdpr) {
5979                        wpwMsg.triple(
5980                          NameGreeting,
5981                          emailsharetext,
5982                          wpwKits.render(globalwpw.settings.obj.gdpr_text)
5983                        );
5984                      } else {
5985                        wpwMsg.double(NameGreeting, emailsharetext);
5986                      }
5987                    } else if (
5988                      globalwpw.settings.obj.ask_phone_wp_greetings == 1
5989                    ) {
5990                      var phonesharetext = wpwKits.randomMsg(
5991                        globalwpw.settings.obj.asking_phone_gt
5992                      );
5993                      if (globalwpw.settings.obj.enable_gdpr) {
5994                        wpwMsg.triple_nobg(
5995                          NameGreeting,
5996                          phonesharetext,
5997                          wpwKits.render(globalwpw.settings.obj.gdpr_text)
5998                        );
5999                      } else {
6000                        wpwMsg.double(NameGreeting, phonesharetext);
6001                      }
6002                    } else {
6003                      //this data should be conditional
6004                      var serviceOffer = wpwKits.randomMsg(
6005                        globalwpw.settings.obj.wildcard_msg
6006                      );
6007                      //After completing two steps messaging showing wildcards.
6008                      if (
6009                        globalwpw.settings.obj.show_menu_after_greetings == 1 &&
6010                        globalwpw.settings.obj.qcld_disable_start_menu != "1" &&
6011                        typeof globalwpw.wildcards != "undefined" &&
6012                        globalwpw.wildcards != "" &&
6013                        globalwpw.settings.obj
6014                          .qcld_disable_beginning_startmenu != "1"
6015                      ) {
6016                        wpwMsg.triple_nobg(
6017                          NameGreeting,
6018                          serviceOffer,
6019                          globalwpw.wildcards
6020                        );
6021                      } else {
6022                        wpwMsg.single(NameGreeting);
6023                      }
6024
6025                      globalwpw.ai_step = 1;
6026                      globalwpw.wildCard = 0;
6027                      localStorage.setItem("wildCard", globalwpw.wildCard);
6028                      localStorage.setItem("aiStep", globalwpw.ai_step);
6029                    }
6030                  }
6031                }
6032              } else {
6033                //if bad request or limit cross then
6034                //globalwpw.df_status_lock=0;
6035                var filterMsg = wpwKits.filterStopWords(msg);
6036                if (msg.length === 1) {
6037                  var filterMsg = msg;
6038                }
6039                if (filterMsg != "") {
6040                  if (globalwpw.settings.obj.ask_name_confirmation == "") {
6041                    $.cookie("shopper", filterMsg, { expires: 365 });
6042                    localStorage.setItem("shopper", filterMsg);
6043                    globalwpw.hasNameCookie = filterMsg;
6044                    var NameGreeting =
6045                      wpwKits.randomMsg(globalwpw.settings.obj.i_am) +
6046                      " <strong>" +
6047                      wpwKits.render(globalwpw.settings.obj.agent) +
6048                      "</strong>! " +
6049                      wpwKits.randomMsg(globalwpw.settings.obj.name_greeting);
6050                    if (globalwpw.settings.obj.ask_email_wp_greetings == 1) {
6051                      var emailsharetext = wpwKits.randomMsg(
6052                        globalwpw.settings.obj.asking_emailaddress
6053                      );
6054                      if (globalwpw.settings.obj.enable_gdpr) {
6055                        wpwMsg.triple(
6056                          NameGreeting,
6057                          emailsharetext,
6058                          wpwKits.render(globalwpw.settings.obj.gdpr_text)
6059                        );
6060                      } else {
6061                        wpwMsg.double(NameGreeting, emailsharetext);
6062                      }
6063                    } else if (
6064                      globalwpw.settings.obj.ask_phone_wp_greetings == 1
6065                    ) {
6066                      var phonesharetext = wpwKits.randomMsg(
6067                        globalwpw.settings.obj.asking_phone_gt
6068                      );
6069                      if (globalwpw.settings.obj.enable_gdpr) {
6070                        wpwMsg.triple_nobg(
6071                          NameGreeting,
6072                          phonesharetext,
6073                          wpwKits.render(globalwpw.settings.obj.gdpr_text)
6074                        );
6075                      } else {
6076                        wpwMsg.double(NameGreeting, phonesharetext);
6077                      }
6078                    } else {
6079                      //this data should be conditional
6080                      var serviceOffer = wpwKits.randomMsg(
6081                        globalwpw.settings.obj.wildcard_msg
6082                      );
6083                      //After completing two steps messaging showing wildcards.
6084                      if (
6085                        globalwpw.settings.obj.show_menu_after_greetings == 1 &&
6086                        globalwpw.settings.obj.qcld_disable_start_menu != "1" &&
6087                        typeof globalwpw.wildcards != "undefined" &&
6088                        globalwpw.wildcards != "" &&
6089                        globalwpw.settings.obj
6090                          .qcld_disable_beginning_startmenu != "1"
6091                      ) {
6092                        wpwMsg.triple_nobg(
6093                          NameGreeting,
6094                          serviceOffer,
6095                          globalwpw.wildcards
6096                        );
6097                      } else {
6098                        wpwMsg.single(NameGreeting);
6099                      }
6100
6101                      globalwpw.ai_step = 1;
6102                      globalwpw.wildCard = 0;
6103                      localStorage.setItem("wildCard", globalwpw.wildCard);
6104                      localStorage.setItem("aiStep", globalwpw.ai_step);
6105                    }
6106                  } else {
6107                    var arrMsg =
6108                      globalwpw.settings.obj.i_understand[
6109                      globalwpw.settings.obj.language
6110                      ];
6111                    var i_understand = "";
6112                    var index = Math.floor(Math.random() * arrMsg.length);
6113                    if (
6114                      arrMsg[index] != "" &&
6115                      typeof arrMsg[index] !== "undefined"
6116                    ) {
6117                      i_understand = arrMsg[index].replace(
6118                        "%%username%%",
6119                        "<strong>" + filterMsg + "</strong>"
6120                      );
6121                    }
6122                    localStorage.setItem("shoppername_recognized", filterMsg);
6123                    var confirmBtn =
6124                      '<span class="qcld-chat-common qcld-name-confirm" data-res="' +
6125                      wpwKits.render(globalwpw.settings.obj.yes) +
6126                      '" >' +
6127                      wpwKits.render(globalwpw.settings.obj.yes) +
6128                      "</span> <span> " +
6129                      wpwKits.render(globalwpw.settings.obj.or) +
6130                      ' </span><span class="qcld-chat-common qcld-name-confirm"  data-res="' +
6131                      wpwKits.render(globalwpw.settings.obj.no) +
6132                      '">' +
6133                      wpwKits.render(globalwpw.settings.obj.no) +
6134                      "</span>";
6135                    wpwMsg.double_nobg(i_understand, confirmBtn);
6136                  }
6137                } else {
6138                  $.cookie(
6139                    "shopper",
6140                    wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
6141                    { expires: 365 }
6142                  );
6143                  localStorage.setItem(
6144                    "shopper",
6145                    wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
6146                  );
6147                  globalwpw.hasNameCookie = wpwKits.render(
6148                    globalwpw.settings.obj.shopper_demo_name
6149                  );
6150                  globalwpw.ai_step = 1;
6151                  globalwpw.wildCard = 0;
6152                  localStorage.setItem("wildCard", globalwpw.wildCard);
6153                  localStorage.setItem("aiStep", globalwpw.ai_step);
6154                  var NameGreeting =
6155                    wpwKits.render(globalwpw.settings.obj.shopper_call_you) +
6156                    " " +
6157                    wpwKits.render(globalwpw.settings.obj.shopper_demo_name);
6158                  if (globalwpw.settings.obj.ask_email_wp_greetings == 1) {
6159                    var emailsharetext = wpwKits.randomMsg(
6160                      globalwpw.settings.obj.asking_emailaddress
6161                    );
6162                    if (globalwpw.settings.obj.enable_gdpr) {
6163                      wpwMsg.triple(
6164                        NameGreeting,
6165                        emailsharetext,
6166                        wpwKits.render(globalwpw.settings.obj.gdpr_text)
6167                      );
6168                    } else {
6169                      wpwMsg.double(NameGreeting, emailsharetext);
6170                    }
6171                  } else if (
6172                    globalwpw.settings.obj.ask_phone_wp_greetings == 1
6173                  ) {
6174                    var phonesharetext = wpwKits.randomMsg(
6175                      globalwpw.settings.obj.asking_phone_gt
6176                    );
6177                    if (globalwpw.settings.obj.enable_gdpr) {
6178                      wpwMsg.triple_nobg(
6179                        NameGreeting,
6180                        phonesharetext,
6181                        wpwKits.render(globalwpw.settings.obj.gdpr_text)
6182                      );
6183                    } else {
6184                      wpwMsg.double(NameGreeting, phonesharetext);
6185                    }
6186                  } else {
6187                    //this data should be conditional
6188                    var serviceOffer = wpwKits.randomMsg(
6189                      globalwpw.settings.obj.wildcard_msg
6190                    );
6191                    //After completing two steps messaging showing wildcards.
6192                    if (
6193                      globalwpw.settings.obj.show_menu_after_greetings == 1 &&
6194                      globalwpw.settings.obj.qcld_disable_start_menu != "1" &&
6195                      typeof globalwpw.wildcards != "undefined" &&
6196                      globalwpw.wildcards != "" &&
6197                      globalwpw.settings.obj.qcld_disable_beginning_startmenu !=
6198                      "1"
6199                    ) {
6200                      wpwMsg.triple_nobg(
6201                        NameGreeting,
6202                        serviceOffer,
6203                        globalwpw.wildcards
6204                      );
6205                    } else {
6206                      wpwMsg.single(NameGreeting);
6207                    }
6208
6209                    globalwpw.ai_step = 1;
6210                    globalwpw.wildCard = 0;
6211                    localStorage.setItem("wildCard", globalwpw.wildCard);
6212                    localStorage.setItem("aiStep", globalwpw.ai_step);
6213                  }
6214                }
6215              }
6216            });
6217          }
6218        }
6219        //When returning shopper then greeting with name and wildcards.
6220        else if (
6221          localStorage.getItem("shopper") &&
6222          globalwpw.wildCard == 0 &&
6223          globalwpw.ai_step == 0
6224        ) {
6225          if (
6226            globalwpw.settings.obj.ask_email_wp_greetings == 1 &&
6227            !localStorage.getItem("shopperemail")
6228          ) {
6229            var dfReturns = wpwKits.dailogAIOAction(msg);
6230            if (
6231              $(
6232                globalwpw.settings.messageLastChild +
6233                " .wp-chatbot-comment-loader"
6234              ).length == 0
6235            ) {
6236              $(globalwpw.settings.messageContainer).append(
6237                wpwKits.botPreloader()
6238              );
6239            }
6240            dfReturns.done(function (response) {
6241
6242              if (globalwpw.settings.obj.df_api_version == "v2") {
6243                response = $.parseJSON(response);
6244              }
6245              if (wpwKits.responseIsOk(response)) {
6246                var intent = wpwKits.getIntentName(response);
6247                if (intent == "get email") {
6248                  var email = wpwKits.getParameters(response).email;
6249                  $.cookie("shopperemail", email, { expires: 365 });
6250                  localStorage.setItem("shopperemail", email);
6251                  if (email != "") {
6252                    var data = {
6253                      action: "qcld_wb_chatbot_email_subscription",
6254                      name: localStorage.getItem("shopper"),
6255                      email: email,
6256                      url: window.location.href,
6257                    };
6258
6259                    wpwKits.ajax(data).done(function (response) {
6260                      //response.
6261                    });
6262                  }
6263                  var emailgreetings = wpwKits.randomMsg(
6264                    globalwpw.settings.obj.got_email
6265                  );
6266                  var serviceOffer = wpwKits.randomMsg(
6267                    globalwpw.settings.obj.wildcard_msg
6268                  );
6269                  //After completing two steps messaging showing wildcards.
6270
6271                  if (globalwpw.settings.obj.ask_phone_wp_greetings == 1) {
6272                    var phonesharetext = wpwKits.randomMsg(
6273                      globalwpw.settings.obj.asking_phone_gt
6274                    );
6275                    if (globalwpw.settings.obj.enable_gdpr) {
6276                      wpwMsg.triple_nobg(
6277                        emailgreetings,
6278                        phonesharetext,
6279                        wpwKits.render(globalwpw.settings.obj.gdpr_text)
6280                      );
6281                    } else {
6282                      wpwMsg.double(emailgreetings, phonesharetext);
6283                    }
6284                  } else {
6285                    if (
6286                      (globalwpw.settings.obj.show_menu_after_greetings == 1 ||
6287                        globalwpw.settings.obj.qcld_disable_start_menu !=
6288                        "1") &&
6289                      typeof globalwpw.wildcards != "undefined" &&
6290                      globalwpw.wildcards != "" &&
6291                      globalwpw.settings.obj.qcld_disable_beginning_startmenu !=
6292                      "1"
6293                    ) {
6294                      wpwMsg.triple_nobg(
6295                        emailgreetings,
6296                        serviceOffer,
6297                        globalwpw.wildcards
6298                      );
6299                    } else {
6300                      wpwMsg.single(emailgreetings);
6301                    }
6302
6303                    globalwpw.ai_step = 1;
6304                    globalwpw.wildCard = 0;
6305                    localStorage.setItem("wildCard", globalwpw.wildCard);
6306                    localStorage.setItem("aiStep", globalwpw.ai_step);
6307                  }
6308                } else {
6309                  var re =
6310                    /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
6311                  if (re.test(msg) != true) {
6312                    //After asking service show the wildcards.
6313                    var noemailtext = wpwKits.randomMsg(
6314                      globalwpw.settings.obj.email_ignore
6315                    );
6316                    var serviceOffer = wpwKits.randomMsg(
6317                      globalwpw.settings.obj.wildcard_msg
6318                    );
6319                    localStorage.setItem("shopperemail", "no");
6320                    if (globalwpw.settings.obj.ask_phone_wp_greetings == 1) {
6321                      var phonesharetext = wpwKits.randomMsg(
6322                        globalwpw.settings.obj.asking_phone_gt
6323                      );
6324                      if (globalwpw.settings.obj.enable_gdpr) {
6325                        wpwMsg.triple_nobg(
6326                          noemailtext,
6327                          phonesharetext,
6328                          wpwKits.render(globalwpw.settings.obj.gdpr_text)
6329                        );
6330                      } else {
6331                        wpwMsg.double(noemailtext, phonesharetext);
6332                      }
6333                    } else {
6334                      globalwpw.ai_step = 1;
6335                      globalwpw.wildCard = 0;
6336                      localStorage.setItem("wildCard", globalwpw.wildCard);
6337                      localStorage.setItem("aiStep", globalwpw.ai_step);
6338
6339                      if (
6340                        globalwpw.settings.obj.show_menu_after_greetings == 1 &&
6341                        globalwpw.settings.obj.qcld_disable_start_menu != "1" &&
6342                        typeof globalwpw.wildcards != "undefined" &&
6343                        globalwpw.wildcards != "" &&
6344                        globalwpw.settings.obj
6345                          .qcld_disable_beginning_startmenu != "1"
6346                      ) {
6347                        wpwMsg.triple_nobg(
6348                          noemailtext,
6349                          serviceOffer,
6350                          globalwpw.wildcards
6351                        );
6352                      } else {
6353                        wpwMsg.single(noemailtext);
6354                      }
6355                    }
6356                  } else {
6357                    var email = msg;
6358                    $.cookie("shopperemail", email, { expires: 365 });
6359                    localStorage.setItem("shopperemail", email);
6360                    if (email != "") {
6361                      var data = {
6362                        action: "qcld_wb_chatbot_email_subscription",
6363                        name: localStorage.getItem("shopper"),
6364                        email: email,
6365                        url: window.location.href,
6366                      };
6367
6368                      wpwKits.ajax(data).done(function (response) {
6369                        //response.
6370                      });
6371                    }
6372                    var emailgreetings = wpwKits.randomMsg(
6373                      globalwpw.settings.obj.got_email
6374                    );
6375                    var serviceOffer = wpwKits.randomMsg(
6376                      globalwpw.settings.obj.wildcard_msg
6377                    );
6378                    //After completing two steps messaging showing wildcards.
6379
6380                    if (globalwpw.settings.obj.ask_phone_wp_greetings == 1) {
6381                      var phonesharetext = wpwKits.randomMsg(
6382                        globalwpw.settings.obj.asking_phone_gt
6383                      );
6384                      if (globalwpw.settings.obj.enable_gdpr) {
6385                        wpwMsg.triple_nobg(
6386                          emailgreetings,
6387                          phonesharetext,
6388                          wpwKits.render(globalwpw.settings.obj.gdpr_text)
6389                        );
6390                      } else {
6391                        wpwMsg.double(emailgreetings, phonesharetext);
6392                      }
6393                    } else {
6394                      if (
6395                        globalwpw.settings.obj.show_menu_after_greetings == 1 &&
6396                        globalwpw.settings.obj.qcld_disable_start_menu != "1" &&
6397                        typeof globalwpw.wildcards != "undefined" &&
6398                        globalwpw.wildcards != "" &&
6399                        globalwpw.settings.obj
6400                          .qcld_disable_beginning_startmenu != "1"
6401                      ) {
6402                        wpwMsg.triple_nobg(
6403                          emailgreetings,
6404                          serviceOffer,
6405                          globalwpw.wildcards
6406                        );
6407                      } else {
6408                        wpwMsg.single(emailgreetings);
6409                      }
6410
6411                      globalwpw.ai_step = 1;
6412                      globalwpw.wildCard = 0;
6413                      localStorage.setItem("wildCard", globalwpw.wildCard);
6414                      localStorage.setItem("aiStep", globalwpw.ai_step);
6415                    }
6416                  }
6417                }
6418              } else {
6419                var re =
6420                  /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
6421                if (re.test(msg) != true) {
6422                  //After asking service show the wildcards.
6423                  var noemailtext = wpwKits.randomMsg(
6424                    globalwpw.settings.obj.email_ignore
6425                  );
6426                  var serviceOffer = wpwKits.randomMsg(
6427                    globalwpw.settings.obj.wildcard_msg
6428                  );
6429                  localStorage.setItem("shopperemail", "no");
6430                  if (globalwpw.settings.obj.ask_phone_wp_greetings == 1) {
6431                    var phonesharetext = wpwKits.randomMsg(
6432                      globalwpw.settings.obj.asking_phone_gt
6433                    );
6434                    if (globalwpw.settings.obj.enable_gdpr) {
6435                      wpwMsg.triple_nobg(
6436                        noemailtext,
6437                        phonesharetext,
6438                        wpwKits.render(globalwpw.settings.obj.gdpr_text)
6439                      );
6440                    } else {
6441                      wpwMsg.double(noemailtext, phonesharetext);
6442                    }
6443                  } else {
6444                    globalwpw.ai_step = 1;
6445                    globalwpw.wildCard = 0;
6446                    localStorage.setItem("wildCard", globalwpw.wildCard);
6447                    localStorage.setItem("aiStep", globalwpw.ai_step);
6448
6449                    if (
6450                      globalwpw.settings.obj.show_menu_after_greetings == 1 &&
6451                      globalwpw.settings.obj.qcld_disable_start_menu != "1" &&
6452                      typeof globalwpw.wildcards != "undefined" &&
6453                      globalwpw.wildcards != "" &&
6454                      globalwpw.settings.obj.qcld_disable_beginning_startmenu !=
6455                      "1"
6456                    ) {
6457                      wpwMsg.triple_nobg(
6458                        noemailtext,
6459                        serviceOffer,
6460                        globalwpw.wildcards
6461                      );
6462                    } else {
6463                      wpwMsg.single(noemailtext);
6464                    }
6465                  }
6466                } else {
6467                  var email = msg;
6468                  $.cookie("shopperemail", email, { expires: 365 });
6469                  localStorage.setItem("shopperemail", email);
6470                  if (email != "") {
6471                    var data = {
6472                      action: "qcld_wb_chatbot_email_subscription",
6473                      name: localStorage.getItem("shopper"),
6474                      email: email,
6475                      url: window.location.href,
6476                    };
6477
6478                    wpwKits.ajax(data).done(function (response) {
6479                      //response.
6480                    });
6481                  }
6482                  var emailgreetings = wpwKits.randomMsg(
6483                    globalwpw.settings.obj.got_email
6484                  );
6485                  var serviceOffer = wpwKits.randomMsg(
6486                    globalwpw.settings.obj.wildcard_msg
6487                  );
6488                  //After completing two steps messaging showing wildcards.
6489
6490                  if (globalwpw.settings.obj.ask_phone_wp_greetings == 1) {
6491                    var phonesharetext = wpwKits.randomMsg(
6492                      globalwpw.settings.obj.asking_phone_gt
6493                    );
6494                    if (globalwpw.settings.obj.enable_gdpr) {
6495                      wpwMsg.triple_nobg(
6496                        emailgreetings,
6497                        phonesharetext,
6498                        wpwKits.render(globalwpw.settings.obj.gdpr_text)
6499                      );
6500                    } else {
6501                      wpwMsg.double(emailgreetings, phonesharetext);
6502                    }
6503                  } else {
6504                    if (
6505                      globalwpw.settings.obj.show_menu_after_greetings == 1 &&
6506                      globalwpw.settings.obj.qcld_disable_start_menu != "1" &&
6507                      typeof globalwpw.wildcards != "undefined" &&
6508                      globalwpw.wildcards != "" &&
6509                      globalwpw.settings.obj.qcld_disable_beginning_startmenu !=
6510                      "1"
6511                    ) {
6512                      wpwMsg.triple_nobg(
6513                        emailgreetings,
6514                        serviceOffer,
6515                        globalwpw.wildcards
6516                      );
6517                    } else {
6518                      wpwMsg.single(emailgreetings);
6519                    }
6520
6521                    globalwpw.ai_step = 1;
6522                    globalwpw.wildCard = 0;
6523                    localStorage.setItem("wildCard", globalwpw.wildCard);
6524                    localStorage.setItem("aiStep", globalwpw.ai_step);
6525                  }
6526                }
6527              }
6528            });
6529          } else if (
6530            globalwpw.settings.obj.ask_phone_wp_greetings == 1 &&
6531            !localStorage.getItem("shopperphone")
6532          ) {
6533            var phonegreetings = wpwKits.randomMsg(
6534              globalwpw.settings.obj.got_phone
6535            );
6536            var serviceOffer = wpwKits.randomMsg(
6537              globalwpw.settings.obj.wildcard_msg
6538            );
6539            var nophonetext = wpwKits.randomMsg(
6540              globalwpw.settings.obj.phone_ignore
6541            );
6542
6543            var data = {
6544              action: "qcld_wb_chatbot_phone_validate",
6545              name: globalwpw.hasNameCookie,
6546              phone: msg,
6547            };
6548            wpwKits.ajax(data).done(function (response) {
6549              var json = $.parseJSON(response);
6550              if (json.status == "success") {
6551                localStorage.setItem("shopperphone", msg);
6552                if (
6553                  globalwpw.settings.obj.show_menu_after_greetings == 1 &&
6554                  globalwpw.settings.obj.qcld_disable_start_menu != "1" &&
6555                  typeof globalwpw.wildcards != "undefined" &&
6556                  globalwpw.wildcards != "" &&
6557                  globalwpw.settings.obj.qcld_disable_beginning_startmenu != "1"
6558                ) {
6559                  wpwMsg.triple_nobg(
6560                    phonegreetings,
6561                    serviceOffer,
6562                    globalwpw.wildcards
6563                  );
6564                } else {
6565                  wpwMsg.single(phonegreetings);
6566                }
6567                globalwpw.ai_step = 1;
6568                globalwpw.wildCard = 0;
6569                localStorage.setItem("wildCard", globalwpw.wildCard);
6570                localStorage.setItem("aiStep", globalwpw.ai_step);
6571
6572                if (localStorage.getItem("shopperemail")) {
6573                  var email = localStorage.getItem("shopperemail");
6574                } else {
6575                  var email = "";
6576                }
6577
6578                var data = {
6579                  action: "qcld_wb_chatbot_email_subscription",
6580                  name: localStorage.getItem("shopper"),
6581                  email: email,
6582                  phone: msg,
6583                  url: window.location.href,
6584                };
6585
6586                wpwKits.ajax(data).done(function (response) {
6587                  //response.
6588                });
6589              } else if (json.status == "invalid") {
6590                if (
6591                  (globalwpw.settings.obj.show_menu_after_greetings == 1 ||
6592                    globalwpw.settings.obj.qcld_disable_start_menu != "1") &&
6593                  typeof globalwpw.wildcards != "undefined" &&
6594                  globalwpw.wildcards != ""
6595                ) {
6596                  wpwMsg.triple_nobg(
6597                    nophonetext,
6598                    serviceOffer,
6599                    globalwpw.wildcards
6600                  );
6601                } else {
6602                  wpwMsg.single(nophonetext);
6603                }
6604                globalwpw.ai_step = 1;
6605                globalwpw.wildCard = 0;
6606                localStorage.setItem("wildCard", globalwpw.wildCard);
6607                localStorage.setItem("aiStep", globalwpw.ai_step);
6608              }
6609            });
6610          } else {
6611            //After asking service show the wildcards.
6612            var serviceOffer = wpwKits.randomMsg(
6613              globalwpw.settings.obj.wildcard_msg
6614            );
6615            globalwpw.ai_step = 1;
6616            globalwpw.wildCard = 0;
6617            localStorage.setItem("wildCard", globalwpw.wildCard);
6618            localStorage.setItem("aiStep", globalwpw.ai_step);
6619            wpwMsg.single(serviceOffer);
6620          }
6621        }
6622        //When user asking needs then DialogFlow will given intent after NLP steps.
6623        else if (globalwpw.ai_step == 1) {
6624          //first do site search
6625          if (globalwpw.settings.obj.qc_site_search_priority == "1") {
6626            if (msg != "" && globalwpw.settings.obj.disable_sitesearch == "") {
6627              var data = {
6628                action: "wpbo_search_site",
6629                name: globalwpw.hasNameCookie,
6630                keyword: msg,
6631                language: globalwpw.settings.obj.language,
6632              };
6633              if (
6634                $(
6635                  globalwpw.settings.messageLastChild +
6636                  " .wp-chatbot-comment-loader"
6637                ).length == 0
6638              ) {
6639                $(globalwpw.settings.messageContainer).append(
6640                  wpwKits.botPreloader()
6641                );
6642              }
6643              wpwKits.ajax(data).done(function (response) {
6644                var json = $.parseJSON(response);
6645                var res_element = new DOMParser().parseFromString(
6646                  json.html,
6647                  "text/xml"
6648                );
6649                var reselement = res_element.getElementsByTagName("a");
6650                if (json.status == "success" && reselement.length == 1) {
6651                  $(
6652                    "#wp-chatbot-messages-container li .wp-chatbot-comment-loader"
6653                  )
6654                    .parent(".wp-chatbot-paragraph")
6655                    .hide();
6656                  $('span[data-wildcart="back"]').remove();
6657                  wpwMsg.single_nobg(
6658                    json.html +
6659                    '<span class="qcld-chatbot-wildcard"  data-wildcart="back">' +
6660                    wpwKits.randomMsg(globalwpw.settings.obj.back_to_start) +
6661                    "</span>"
6662                  );
6663                  setTimeout(() => {
6664                    $(".wpb-search-result a").first()[0].scrollIntoView();
6665                  }, 600);
6666                } else if (
6667                  globalwpw.settings.obj.ai_df_enable == 1 &&
6668                  globalwpw.df_status_lock == 0
6669                ) {
6670                  var dfReturns = wpwKits.dailogAIOAction(msg);
6671                  if (
6672                    $(
6673                      globalwpw.settings.messageLastChild +
6674                      " .wp-chatbot-comment-loader"
6675                    ).length == 0
6676                  ) {
6677                    $(globalwpw.settings.messageContainer).append(
6678                      wpwKits.botPreloader()
6679                    );
6680                  }
6681                  dfReturns
6682                    .done(function (response) {
6683
6684                      if (globalwpw.settings.obj.df_api_version == "v2") {
6685                        response = $.parseJSON(response);
6686                      }
6687                      if (wpwKits.responseIsOk(response)) {
6688                        var userIntent = wpwKits.getIntentName(response);
6689                        if (userIntent == "start") {
6690                          globalwpw.wildCard = 0;
6691                          var serviceOffer = wpwKits.randomMsg(
6692                            globalwpw.settings.obj.wildcard_msg
6693                          );
6694                          if (
6695                            globalwpw.settings.obj.qcld_disable_start_menu !=
6696                            "1"
6697                          ) {
6698                            wpwMsg.double_nobg(
6699                              serviceOffer,
6700                              globalwpw.wildcards
6701                            );
6702                          }
6703                        } else if (userIntent == "welcome") {
6704                          var messages = wpwKits.getFulfillmentText(response);
6705                          wpwTree.df_reply(response);
6706                        } else if (userIntent == "help") {
6707                          $(globalwpw.settings.messageWrapper).html(
6708                            localStorage.getItem("wpwHitory")
6709                          );
6710                          //Showing help message
6711                          setTimeout(function () {
6712                            wpwKits.scrollTo();
6713                            var helpWelcome = wpwKits.randomMsg(
6714                              globalwpw.settings.obj.help_welcome
6715                            );
6716                            var helpMsg = wpwKits.randomMsg(
6717                              globalwpw.settings.obj.help_msg
6718                            );
6719                            wpwMsg.double(helpWelcome, helpMsg);
6720                            //dialogflow
6721                            if (
6722                              globalwpw.settings.obj.ai_df_enable == 1 &&
6723                              globalwpw.df_status_lock == 0
6724                            ) {
6725                              globalwpw.wildCard = 0;
6726                              globalwpw.ai_step = 1;
6727                              localStorage.setItem(
6728                                "wildCard",
6729                                globalwpw.wildCard
6730                              );
6731                              localStorage.setItem("aiStep", globalwpw.ai_step);
6732                            }
6733                          }, globalwpw.settings.preLoadingTime);
6734                        } else if (userIntent == "reset") {
6735                          var restWarning = wpwKits.render(
6736                            globalwpw.settings.obj.reset
6737                          );
6738                          var confirmBtn =
6739                            '<span class="qcld-chatbot-reset-btn" reset-data="yes" >' +
6740                            wpwKits.render(globalwpw.settings.obj.yes) +
6741                            "</span> <span> " +
6742                            wpwKits.render(globalwpw.settings.obj.or) +
6743                            ' </span><span class="qcld-chatbot-reset-btn"  reset-data="no">' +
6744                            wpwKits.render(globalwpw.settings.obj.no) +
6745                            "</span>";
6746                          wpwMsg.double_nobg(restWarning, confirmBtn);
6747                        } else if (userIntent == "phone") {
6748                          if (
6749                            typeof globalwpw.hasNameCookie == "undefined" ||
6750                            globalwpw.hasNameCookie == ""
6751                          ) {
6752                            var shopperName = wpwKits.render(
6753                              globalwpw.settings.obj.shopper_demo_name
6754                            );
6755                          } else {
6756                            var shopperName = globalwpw.hasNameCookie;
6757                          }
6758                          var askEmail = wpwKits.randomMsg(
6759                            globalwpw.settings.obj.asking_phone
6760                          );
6761                          wpwMsg.single(askEmail);
6762                          //Now updating the support part as .
6763                          globalwpw.supportStep = "phone";
6764                          globalwpw.wildCard = 1;
6765                          //keeping value in localstorage
6766                          localStorage.setItem("wildCard", globalwpw.wildCard);
6767                          localStorage.setItem(
6768                            "supportStep",
6769                            globalwpw.supportStep
6770                          );
6771                        } else if (userIntent == "email") {
6772                          if (
6773                            typeof globalwpw.hasNameCookie == "undefined" ||
6774                            globalwpw.hasNameCookie == ""
6775                          ) {
6776                            var shopperName = wpwKits.render(
6777                              globalwpw.settings.obj.shopper_demo_name
6778                            );
6779                          } else {
6780                            var shopperName = globalwpw.hasNameCookie;
6781                          }
6782                          var askEmail = wpwKits.randomMsg(
6783                            globalwpw.settings.obj.asking_email
6784                          );
6785                          wpwMsg.single(askEmail);
6786                          //Now updating the support part as .
6787                          globalwpw.supportStep = "email";
6788                          globalwpw.wildCard = 1;
6789                          //keeping value in localstorage
6790                          localStorage.setItem("wildCard", globalwpw.wildCard);
6791                          localStorage.setItem(
6792                            "supportStep",
6793                            globalwpw.supportStep
6794                          );
6795                        } else if (
6796                          userIntent ==
6797                          wpwKits.render(globalwpw.settings.obj.site_search)
6798                        ) {
6799                          var parameters = wpwKits.getParameters(response);
6800
6801                          if (
6802                            typeof parameters.products !== "undefined" &&
6803                            parameters.products != ""
6804                          ) {
6805                            var searchQuery = parameters.products;
6806                            globalwpw.wildCard = 1;
6807                            globalwpw.productStep = "search";
6808                            wpwAction.bot(searchQuery);
6809                            //keeping value in localstorage
6810                            localStorage.setItem(
6811                              "wildCard",
6812                              globalwpw.wildCard
6813                            );
6814                            localStorage.setItem(
6815                              "productStep",
6816                              globalwpw.productStep
6817                            );
6818
6819                            //Now updating the support part as .
6820                          } else {
6821                            if (
6822                              typeof globalwpw.hasNameCookie == "undefined" ||
6823                              globalwpw.hasNameCookie == ""
6824                            ) {
6825                              var shopperName = wpwKits.render(
6826                                globalwpw.settings.obj.shopper_demo_name
6827                              );
6828                            } else {
6829                              var shopperName = globalwpw.hasNameCookie;
6830                            }
6831                            var askEmail =
6832                              "Pleae enter your keyword for searching";
6833                            wpwMsg.single(askEmail);
6834                            //Now updating the support part as .
6835                            globalwpw.supportStep = "search";
6836                            globalwpw.wildCard = 1;
6837                            //keeping value in localstorage
6838                            localStorage.setItem(
6839                              "wildCard",
6840                              globalwpw.wildCard
6841                            );
6842                            localStorage.setItem(
6843                              "supportStep",
6844                              globalwpw.supportStep
6845                            );
6846                          }
6847                        } else if (userIntent == "get name") {
6848                          var given_name =
6849                            wpwKits.getParameters(response).given_name;
6850                          var last_name =
6851                            wpwKits.getParameters(response).last_name;
6852                          var fullname = given_name + " " + last_name;
6853
6854                          $.cookie("shopper", fullname, { expires: 365 });
6855                          localStorage.setItem("shopper", fullname);
6856                          globalwpw.hasNameCookie = fullname;
6857                          //Greeting with name and suggesting the wildcard.
6858                          var NameGreeting =
6859                            wpwKits.randomMsg(globalwpw.settings.obj.i_am) +
6860                            " <strong>" +
6861                            wpwKits.render(globalwpw.settings.obj.agent) +
6862                            "</strong>! " +
6863                            wpwKits.randomMsg(
6864                              globalwpw.settings.obj.name_greeting
6865                            );
6866                          var serviceOffer = wpwKits.randomMsg(
6867                            globalwpw.settings.obj.wildcard_msg
6868                          );
6869                          //After completing two steps messaging showing wildcards.
6870
6871                          if (
6872                            globalwpw.settings.obj.qcld_disable_start_menu !=
6873                            "1" &&
6874                            typeof globalwpw.wildcards != "undefined" &&
6875                            globalwpw.wildcards != "" &&
6876                            globalwpw.settings.obj
6877                              .qcld_disable_beginning_startmenu != "1"
6878                          ) {
6879                            wpwMsg.triple_nobg(
6880                              NameGreeting,
6881                              serviceOffer,
6882                              globalwpw.wildcards
6883                            );
6884                          } else {
6885                            wpwMsg.single(NameGreeting);
6886                          }
6887                          globalwpw.ai_step = 1;
6888                          globalwpw.wildCard = 0;
6889                          localStorage.setItem("wildCard", globalwpw.wildCard);
6890                          localStorage.setItem("aiStep", globalwpw.ai_step);
6891                        } else if (userIntent == "faq") {
6892                          globalwpw.wildCard = 1;
6893                          globalwpw.supportStep = "welcome";
6894                          wpwAction.bot("from wildcard support");
6895                          //keeping value in localstorage
6896                        } else if (userIntent == "email subscription") {
6897                          globalwpw.wildCard = 3;
6898                          globalwpw.subscriptionStep = "welcome";
6899                          wpwTree.subscription(msg);
6900                        } else if (
6901                          userIntent == "product" &&
6902                          globalwpw.settings.obj.disable_product_search != 1
6903                        ) {
6904                          var parameters = wpwKits.getParameters(response);
6905
6906                          if (
6907                            typeof parameters.products !== "undefined" &&
6908                            parameters.products != ""
6909                          ) {
6910                            var searchQuery = parameters.products;
6911                            globalwpw.wildCard = 20;
6912                            globalwpw.productStep = "search";
6913                            wpwAction.bot(searchQuery);
6914                            //keeping value in localstorage
6915                            localStorage.setItem(
6916                              "wildCard",
6917                              globalwpw.wildCard
6918                            );
6919                            localStorage.setItem(
6920                              "productStep",
6921                              globalwpw.productStep
6922                            );
6923                          } else {
6924                            var searchQuery = wpwKits.queryText(response);
6925                            globalwpw.wildCard = 20;
6926                            globalwpw.productStep = "search";
6927                            wpwAction.bot(searchQuery);
6928                            //keeping value in localstorage
6929                            localStorage.setItem(
6930                              "wildCard",
6931                              globalwpw.wildCard
6932                            );
6933                            localStorage.setItem(
6934                              "productStep",
6935                              globalwpw.productStep
6936                            );
6937                          }
6938                        } else if (
6939                          userIntent == "catalog" &&
6940                          globalwpw.settings.obj.disable_catalog != 1
6941                        ) {
6942                          wpwAction.bot(
6943                            (wpwKits
6944                              .render(globalwpw.settings.obj.sys_key_catalog) || '')
6945                              .toLowerCase()
6946                          );
6947                        } else if (
6948                          userIntent == "featured" &&
6949                          globalwpw.settings.obj.disable_featured_product != 1
6950                        ) {
6951                          globalwpw.wildCard = 20;
6952                          globalwpw.productStep = "featured";
6953                          wpwAction.bot("from wildcard product");
6954                          //keeping value in localstorage
6955                          localStorage.setItem("wildCard", globalwpw.wildCard);
6956                          localStorage.setItem(
6957                            "productStep",
6958                            globalwpw.productStep
6959                          );
6960                        } else if (
6961                          userIntent == "sale" &&
6962                          globalwpw.settings.obj.disable_sale_product !== 1
6963                        ) {
6964                          globalwpw.wildCard = 20;
6965                          globalwpw.productStep = "sale";
6966                          wpwAction.bot("from wildcard product");
6967                          //keeping value in localstorage
6968                          localStorage.setItem("wildCard", globalwpw.wildCard);
6969                          localStorage.setItem(
6970                            "productStep",
6971                            globalwpw.productStep
6972                          );
6973                        } else if (
6974                          userIntent == "order" &&
6975                          globalwpw.settings.obj.disable_order_status != 1
6976                        ) {
6977                          globalwpw.wildCard = 21;
6978                          globalwpw.orderStep = "welcome";
6979                          wpwAction.bot("from wildcard order");
6980                          //keeping value in localstorage
6981                          localStorage.setItem("wildCard", globalwpw.wildCard);
6982                          localStorage.setItem(
6983                            "orderStep",
6984                            globalwpw.orderStep
6985                          );
6986                        } else if (userIntent == "Default Fallback Intent") {
6987                          if (globalwpw.settings.obj.qcbot_enable_str == "1") {
6988                            var data = {
6989                              action: "wpbo_search_response",
6990                              name: globalwpw.hasNameCookie,
6991                              keyword: msg,
6992                              language: globalwpw.settings.obj.language,
6993                            };
6994                            if (
6995                              $(
6996                                globalwpw.settings.messageLastChild +
6997                                " .wp-chatbot-comment-loader"
6998                              ).length == 0
6999                            ) {
7000
7001                              $(globalwpw.settings.messageContainer).append(
7002                                wpwKits.botPreloader()
7003                              );
7004                            }
7005                            wpwKits.ajax(data).done(function (respond) {
7006                              var json = $.parseJSON(respond);
7007                              if (json.status == "success") {
7008                                wpwTree.strHandler(msg, json);
7009                              } else {
7010                                if (
7011                                  msg != "" &&
7012                                  globalwpw.settings.obj.disable_sitesearch ==
7013                                  "" &&
7014                                  globalwpw.settings.obj
7015                                    .qc_site_search_priority != "1"
7016                                ) {
7017                                  var openai_msg = msg;
7018                                  msg = wpwKits.filterStopWords(msg);
7019                                  var data = {
7020                                    action: "wpbo_search_site",
7021                                    name: globalwpw.hasNameCookie,
7022                                    keyword: msg,
7023                                    language: globalwpw.settings.obj.language,
7024                                  };
7025
7026                                  if (
7027                                    $(
7028                                      globalwpw.settings.messageLastChild +
7029                                      " .wp-chatbot-comment-loader"
7030                                    ).length == 0
7031                                  ) {
7032                                    $(
7033                                      globalwpw.settings.messageContainer
7034                                    ).append(wpwKits.botPreloader());
7035                                  }
7036
7037                                  wpwKits.ajax(data).done(function (res) {
7038                                    var json = $.parseJSON(res);
7039                                    if (json.status == "success") {
7040                                      $(
7041                                        "#wp-chatbot-messages-container li .wp-chatbot-comment-loader"
7042                                      )
7043                                        .parent(".wp-chatbot-paragraph")
7044                                        .hide();
7045                                      $('span[data-wildcart="back"]').remove();
7046
7047                                      wpwMsg.single_nobg(json.html);
7048                                      wpwTree.start_menu_settings();
7049                                      setTimeout(() => {
7050                                        $(".wpb-search-result a")
7051                                          .first()[0]
7052                                          .scrollIntoView();
7053                                      }, 600);
7054                                    } else if (
7055                                      wp_chatbot_obj.ollama_enabled == "1" ||
7056                                      wp_chatbot_obj.openrouter_enabled ==
7057                                      "1" ||
7058                                      wp_chatbot_obj.open_ai_enable == "1" ||
7059                                      wp_chatbot_obj.mistral_enabled == "1" ||
7060                                      wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
7061                                      wp_chatbot_obj.grok_enabled == "1" ||
7062                                      globalwpw.settings.obj.tvlyai_enabled ==
7063                                      "1"
7064                                    ) {
7065                                      wpwMsg.open_ai_message_callback(
7066                                        openai_msg
7067                                      );
7068                                    } else {
7069                                      var data = {
7070                                        action: "wpbo_failed_response",
7071                                        name: globalwpw.hasNameCookie,
7072                                        keyword: msg,
7073                                      };
7074
7075                                      wpwKits.ajax(data).done(function (res) {
7076                                        //
7077                                        if (
7078                                          globalwpw.counter ==
7079                                          globalwpw.settings.obj
7080                                            .no_result_attempt_count ||
7081                                          globalwpw.settings.obj
7082                                            .no_result_attempt_count == 0
7083                                        ) {
7084                                          wpwMsg.single(
7085                                            wpwKits.randomMsg(json.html)
7086                                          );
7087                                          wpwTree.start_menu_settings();
7088                                          globalwpw.counter = 0;
7089                                        } else {
7090                                          globalwpw.counter++;
7091                                          wpwTree.df_reply(response);
7092                                        }
7093                                      });
7094                                    }
7095
7096                                    globalwpw.wildCard = 0;
7097                                  });
7098                                } else if (
7099                                  wp_chatbot_obj.ollama_enabled == "1" ||
7100                                  wp_chatbot_obj.openrouter_enabled == "1" ||
7101                                  wp_chatbot_obj.open_ai_enable == "1" ||
7102                                  wp_chatbot_obj.grok_enabled == "1" ||
7103                                  wp_chatbot_obj.mistral_enabled == "1" ||
7104                                  wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
7105                                  globalwpw.settings.obj.tvlyai_enabled == "1"
7106                                ) {
7107                                  wpwMsg.open_ai_message_callback(openai_msg);
7108                                } else if (
7109                                  msg != "" &&
7110                                  globalwpw.settings.obj.is_woowbot == 1
7111                                ) {
7112                                  globalwpw.wildCard = 20;
7113                                  globalwpw.productStep = "search";
7114                                  wpwAction.bot(msg);
7115                                  //keeping value in localstorage
7116                                  localStorage.setItem(
7117                                    "wildCard",
7118                                    globalwpw.wildCard
7119                                  );
7120                                  localStorage.setItem(
7121                                    "productStep",
7122                                    globalwpw.productStep
7123                                  );
7124                                } else {
7125                                  if (
7126                                    globalwpw.counter ==
7127                                    globalwpw.settings.obj
7128                                      .no_result_attempt_count ||
7129                                    globalwpw.settings.obj
7130                                      .no_result_attempt_count == 0
7131                                  ) {
7132                                    wpwTree.df_reply(response);
7133                                    if (
7134                                      globalwpw.settings.obj
7135                                        .disable_repeatative != 1
7136                                    ) {
7137                                      if (
7138                                        wpwKits.render(
7139                                          globalwpw.settings.obj
7140                                            .no_result_attempt_message
7141                                        ) != ""
7142                                      ) {
7143                                        setTimeout(function () {
7144                                          wpwMsg.single(
7145                                            wpwKits.render(
7146                                              globalwpw.settings.obj
7147                                                .no_result_attempt_message
7148                                            )
7149                                          );
7150                                        }, globalwpw.settings.preLoadingTime);
7151                                      } else {
7152                                        
7153                                      }
7154                                    } else {
7155                                      setTimeout(function () {
7156                                        if (
7157                                          globalwpw.settings.obj
7158                                            .qcld_disable_repited_startmenu !=
7159                                          "1"
7160                                        ) {
7161                                          wpwMsg.single_nobg(
7162                                            '<span class="qcld-chatbot-wildcard qcld_back_to_start"  data-wildcart="back">' +
7163                                            wpwKits.randomMsg(
7164                                              globalwpw.settings.obj
7165                                                .back_to_start
7166                                            ) +
7167                                            "</span>"
7168                                          );
7169                                        }
7170                                      }, globalwpw.settings.preLoadingTime * 2);
7171                                    }
7172                                    globalwpw.counter = 0;
7173                                  } else {
7174                                    globalwpw.counter++;
7175                                    wpwTree.df_reply(response);
7176                                  }
7177                                }
7178                              }
7179                            });
7180                          } else {
7181                            if (
7182                              msg != "" &&
7183                              globalwpw.settings.obj.disable_sitesearch == "" &&
7184                              globalwpw.settings.obj.qc_site_search_priority !=
7185                              "1"
7186                            ) {
7187                              var openai_msg = msg;
7188                              msg = wpwKits.filterStopWords(msg);
7189                              var data = {
7190                                action: "wpbo_search_site",
7191                                name: globalwpw.hasNameCookie,
7192                                keyword: msg,
7193                                language: globalwpw.settings.obj.language,
7194                              };
7195
7196                              if (
7197                                $(
7198                                  globalwpw.settings.messageLastChild +
7199                                  " .wp-chatbot-comment-loader"
7200                                ).length == 0
7201                              ) {
7202                                $(globalwpw.settings.messageContainer).append(
7203                                  wpwKits.botPreloader()
7204                                );
7205                              }
7206
7207                              wpwKits.ajax(data).done(function (res) {
7208                                var json = $.parseJSON(res);
7209                                if (json.status == "success") {
7210                                  $(
7211                                    "#wp-chatbot-messages-container li .wp-chatbot-comment-loader"
7212                                  )
7213                                    .parent(".wp-chatbot-paragraph")
7214                                    .hide();
7215                                  $('span[data-wildcart="back"]').remove();
7216
7217                                  wpwMsg.single_nobg(json.html);
7218                                  setTimeout(function () {
7219                                    if (
7220                                      globalwpw.settings.obj
7221                                        .qcld_disable_repited_startmenu != "1"
7222                                    ) {
7223                                      wpwMsg.single_nobg(
7224                                        '<span class="qcld-chatbot-wildcard qcld_back_to_start"  data-wildcart="back">' +
7225                                        wpwKits.randomMsg(
7226                                          globalwpw.settings.obj.back_to_start
7227                                        ) +
7228                                        "</span>"
7229                                      );
7230                                    }
7231                                  }, globalwpw.settings.preLoadingTime);
7232                                  setTimeout(() => {
7233                                    $(".wpb-search-result a")
7234                                      .first()[0]
7235                                      .scrollIntoView();
7236                                  }, 600);
7237                                } else if (
7238                                  wp_chatbot_obj.ollama_enabled == "1" ||
7239                                  wp_chatbot_obj.openrouter_enabled == "1" ||
7240                                  wp_chatbot_obj.open_ai_enable == "1" ||
7241                                  wp_chatbot_obj.grok_enabled == "1" ||
7242                                  wp_chatbot_obj.mistral_enabled == "1" ||
7243                                  wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
7244                                  globalwpw.settings.obj.tvlyai_enabled == "1"
7245                                ) {
7246                                  wpwMsg.open_ai_message_callback(openai_msg);
7247                                } else {
7248                                  var data = {
7249                                    action: "wpbo_failed_response",
7250                                    name: globalwpw.hasNameCookie,
7251                                    keyword: msg,
7252                                  };
7253                                  wpwKits.ajax(data).done(function (res) {
7254                                    //
7255                                    if (
7256                                      globalwpw.counter ==
7257                                      globalwpw.settings.obj
7258                                        .no_result_attempt_count ||
7259                                      globalwpw.settings.obj
7260                                        .no_result_attempt_count == 0
7261                                    ) {
7262                                      wpwMsg.single(
7263                                        wpwKits.randomMsg(json.html)
7264                                      );
7265                                      if (
7266                                        globalwpw.settings.obj
7267                                          .disable_repeatative != 1
7268                                      ) {
7269                                        if (
7270                                          wpwKits.render(
7271                                            globalwpw.settings.obj
7272                                              .no_result_attempt_message
7273                                          ) != ""
7274                                        ) {
7275                                          setTimeout(function () {
7276                                            wpwMsg.single(
7277                                              wpwKits.render(
7278                                                globalwpw.settings.obj
7279                                                  .no_result_attempt_message
7280                                              )
7281                                            );
7282                                          }, globalwpw.settings.preLoadingTime);
7283                                        } else {
7284                                          setTimeout(function () {
7285                                            var serviceOffer =
7286                                              wpwKits.randomMsg(
7287                                                globalwpw.settings.obj
7288                                                  .support_option_again
7289                                              );
7290                                            if (
7291                                              globalwpw.settings.obj
7292                                                .qcld_disable_start_menu != "1"
7293                                            ) {
7294                                              if (
7295                                                globalwpw.settings.obj
7296                                                  .qcld_disable_repited_startmenu !=
7297                                                "1"
7298                                              ) {
7299                                                if (
7300                                                  typeof globalwpw.wildcards !=
7301                                                  "undefined" &&
7302                                                  globalwpw.wildcards != ""
7303                                                ) {
7304                                                  wpwMsg.double_nobg(
7305                                                    serviceOffer,
7306                                                    globalwpw.wildcards
7307                                                  );
7308                                                } else {
7309                                                  wpwMsg.single(serviceOffer);
7310                                                }
7311                                              } else if (
7312                                                globalwpw.settings.obj
7313                                                  .qcld_disable_repited_startmenu !=
7314                                                "1"
7315                                              ) {
7316                                                wpwMsg.single_nobg(
7317                                                  '<span class="qcld-chatbot-wildcard qcld_back_to_start"  data-wildcart="back">' +
7318                                                  wpwKits.randomMsg(
7319                                                    globalwpw.settings.obj
7320                                                      .back_to_start
7321                                                  ) +
7322                                                  "</span>"
7323                                                );
7324                                              }
7325                                            }
7326                                          }, globalwpw.settings.preLoadingTime);
7327                                        }
7328                                      } else {
7329                                        setTimeout(function () {
7330                                          if (
7331                                            globalwpw.settings.obj
7332                                              .qcld_disable_repited_startmenu !=
7333                                            "1"
7334                                          ) {
7335                                            wpwMsg.single_nobg(
7336                                              '<span class="qcld-chatbot-wildcard qcld_back_to_start"  data-wildcart="back">' +
7337                                              wpwKits.randomMsg(
7338                                                globalwpw.settings.obj
7339                                                  .back_to_start
7340                                              ) +
7341                                              "</span>"
7342                                            );
7343                                          }
7344                                        }, globalwpw.settings.preLoadingTime *
7345                                        2);
7346                                      }
7347                                      globalwpw.counter = 0;
7348                                    } else {
7349                                      globalwpw.counter++;
7350                                      wpwTree.df_reply(response);
7351                                    }
7352                                  });
7353                                }
7354
7355                                globalwpw.wildCard = 0;
7356                              });
7357                            } else if (
7358                              wp_chatbot_obj.ollama_enabled == "1" ||
7359                              wp_chatbot_obj.openrouter_enabled == "1" ||
7360                              wp_chatbot_obj.open_ai_enable == "1" ||
7361                              wp_chatbot_obj.grok_enabled == "1" ||
7362                              wp_chatbot_obj.mistral_enabled == "1" ||
7363                              wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
7364                              globalwpw.settings.obj.tvlyai_enabled == "1"
7365                            ) {
7366                              wpwMsg.open_ai_message_callback(openai_msg);
7367                            } else if (
7368                              msg != "" &&
7369                              globalwpw.settings.obj.is_woowbot == 1
7370                            ) {
7371                              globalwpw.wildCard = 20;
7372                              globalwpw.productStep = "search";
7373                              wpwAction.bot(msg);
7374                              //keeping value in localstorage
7375                              localStorage.setItem(
7376                                "wildCard",
7377                                globalwpw.wildCard
7378                              );
7379                              localStorage.setItem(
7380                                "productStep",
7381                                globalwpw.productStep
7382                              );
7383                            } else {
7384                              if (
7385                                globalwpw.counter ==
7386                                globalwpw.settings.obj
7387                                  .no_result_attempt_count ||
7388                                globalwpw.settings.obj
7389                                  .no_result_attempt_count == 0
7390                              ) {
7391                                wpwTree.df_reply(response);
7392                                wpwTree.start_menu_settings();
7393                                globalwpw.counter = 0;
7394                              } else {
7395                                globalwpw.counter++;
7396                                wpwTree.df_reply(response);
7397                              }
7398                            }
7399                          }
7400                        } else if (wpwKits.getScore(response) != 0) {
7401                          // checking is reponsing from dialogflow.
7402
7403                          var sTalkAction = wpwKits.getAction(response);
7404
7405                          if (
7406                            sTalkAction != "" &&
7407                            sTalkAction.indexOf("smalltalk") != -1
7408                          ) {
7409                            var sMgs = wpwKits.getFulfillmentText(response);
7410                            wpwMsg.single(sMgs);
7411                          } else {
7412                            var messages = wpwKits.getFulfillmentText(response);
7413
7414                            if (
7415                              userIntent.indexOf(
7416                                globalwpw.settings.obj.tag_search_intent
7417                              ) > -1 &&
7418                              wpwKits.isActionComplete(response) &&
7419                              wpwKits.isConversationEnd(response)
7420                            ) {
7421                              var tags = [];
7422                              $.each(
7423                                response.queryResult.parameters,
7424                                function (index, value) {
7425                                  if (value != "") {
7426                                    tags.push(value);
7427                                  }
7428                                }
7429                              );
7430
7431                              if (tags.length > 0) {
7432                                var data = {
7433                                  action:
7434                                    "qcld_wb_chatbot_search_product_by_tag",
7435                                  name: globalwpw.hasNameCookie,
7436                                  tags: tags.join(","),
7437                                };
7438
7439                                if (
7440                                  $(
7441                                    globalwpw.settings.messageLastChild +
7442                                    " .wp-chatbot-comment-loader"
7443                                  ).length == 0
7444                                ) {
7445                                  $(globalwpw.settings.messageContainer).append(
7446                                    wpwKits.botPreloader()
7447                                  );
7448                                }
7449                                wpwKits.ajax(data).done(function (presdata) {
7450                                  if (presdata.product_num == 0) {
7451                                    var productFail =
7452                                      wpwKits.randomMsg(
7453                                        globalwpw.settings.obj.product_fail
7454                                      ) +
7455                                      " <strong>" +
7456                                      tags.join(",") +
7457                                      "</strong>!";
7458
7459                                    wpwMsg.single(productFail);
7460                                  } else {
7461                                    var productSucces =
7462                                      wpwKits.randomMsg(
7463                                        globalwpw.settings.obj.product_success
7464                                      ) +
7465                                      " <strong>" +
7466                                      tags.join(",") +
7467                                      "</strong>!";
7468                                    wpwMsg.double_nobg(
7469                                      productSucces,
7470                                      presdata.html
7471                                    );
7472                                  }
7473                                });
7474                              } else {
7475                                wpwTree.df_reply(response);
7476                              }
7477                            } else {
7478                              wpwTree.df_reply(response);
7479                            }
7480
7481                            var emailSent = false;
7482                            var emailIntent = "";
7483                            $.each(
7484                              globalwpw.settings.obj.custom_intent,
7485                              function (index, value) {
7486                                if (userIntent.indexOf(value) > -1) {
7487                                  emailIntent = value;
7488                                }
7489                              }
7490                            );
7491
7492                            if (
7493                              emailIntent != "" &&
7494                              globalwpw.settings.obj.custom_intent_email[
7495                              globalwpw.settings.obj.custom_intent.indexOf(
7496                                emailIntent
7497                              )
7498                              ] == "1"
7499                            ) {
7500                              emailSent = true;
7501                            }
7502
7503                            if (emailSent == true) {
7504                              globalwpw.emailContent.push({
7505                                user: wpwKits.queryText(response),
7506                                bot: wpwTree.df_reply2(response),
7507                              });
7508                            }
7509
7510                            if (
7511                              wpwKits.isActionComplete(response) &&
7512                              wpwKits.isConversationEnd(response) &&
7513                              emailSent == true
7514                            ) {
7515                              var email = "";
7516                              if (
7517                                localStorage.getItem("shopperemail") !== null
7518                              ) {
7519                                email = localStorage.getItem("shopperemail");
7520                              }
7521                              var data = {
7522                                action: "qcld_wb_chatbot_send_query",
7523                                name: globalwpw.hasNameCookie,
7524                                email: email,
7525                                data: globalwpw.emailContent,
7526                              };
7527
7528                              wpwKits.ajax(data).done(function (resdata) {
7529                                var json = $.parseJSON(resdata);
7530                                if (json.status == "success") {
7531                                  var sucMsg = json.message;
7532
7533                                  setTimeout(function () {
7534                                    wpwMsg.single(sucMsg);
7535                                    globalwpw.wildCard = 0;
7536                                    var orPhoneSuggest = "";
7537                                    setTimeout(function () {
7538                                      if (
7539                                        globalwpw.settings.obj.call_sup != 1
7540                                      ) {
7541                                        orPhoneSuggest =
7542                                          '<span class="qcld-chatbot-suggest-phone" >' +
7543                                          wpwKits.render(
7544                                            globalwpw.settings.obj.support_phone
7545                                          ) +
7546                                          "</span>";
7547                                      }
7548                                      var orEmailSuggest =
7549                                        '<span class="qcld-chatbot-suggest-email">' +
7550                                        wpwKits.randomMsg(
7551                                          globalwpw.settings.obj.support_email
7552                                        ) +
7553                                        "</span>";
7554                                      if (
7555                                        globalwpw.settings.obj
7556                                          .disable_repeatative != 1
7557                                      ) {
7558                                        wpwKits.suggestEmail(
7559                                          orPhoneSuggest + orEmailSuggest
7560                                        );
7561                                      } else {
7562                                        setTimeout(function () {
7563                                          if (
7564                                            globalwpw.settings.obj
7565                                              .qcld_disable_repited_startmenu !=
7566                                            "1"
7567                                          ) {
7568                                            wpwMsg.single_nobg(
7569                                              '<span class="qcld-chatbot-wildcard qcld_back_to_start"  data-wildcart="back">' +
7570                                              wpwKits.randomMsg(
7571                                                globalwpw.settings.obj
7572                                                  .back_to_start
7573                                              ) +
7574                                              "</span>"
7575                                            );
7576                                          }
7577                                        }
7577, globalwpw.settings.preLoadingTime *
7578                                        2);
7579                                      }
7580                                    }, globalwpw.settings.wildcardsShowTime);
7581                                  }, parseInt(
7582                                    globalwpw.settings.preLoadingTime
7583                                  ) * 2);
7584                                } else {
7585                                  var failMsg = json.message;
7586                                  setTimeout(function () {
7587                                    wpwMsg.single(failMsg);
7588                                    globalwpw.wildCard = 0;
7589                                    var orPhoneSuggest = "";
7590                                    setTimeout(function () {
7591                                      if (
7592                                        globalwpw.settings.obj.call_sup != 1
7593                                      ) {
7594                                        orPhoneSuggest =
7595                                          '<span class="qcld-chatbot-suggest-phone" >' +
7596                                          wpwKits.render(
7597                                            globalwpw.settings.obj.support_phone
7598                                          ) +
7599                                          "</span>";
7600                                      }
7601                                      var orEmailSuggest =
7602                                        '<span class="qcld-chatbot-suggest-email">' +
7603                                        wpwKits.randomMsg(
7604                                          globalwpw.settings.obj.support_email
7605                                        ) +
7606                                        "</span>";
7607                                      if (
7608                                        globalwpw.settings.obj
7609                                          .disable_repeatative != 1
7610                                      ) {
7611                                        wpwKits.suggestEmail(
7612                                          orPhoneSuggest + orEmailSuggest
7613                                        );
7614                                      } else {
7615                                        setTimeout(function () {
7616                                          if (
7617                                            globalwpw.settings.obj
7618                                              .qcld_disable_repited_startmenu !=
7619                                            "1"
7620                                          ) {
7621                                            wpwMsg.single_nobg(
7622                                              '<span class="qcld-chatbot-wildcard qcld_back_to_start"  data-wildcart="back">' +
7623                                              wpwKits.randomMsg(
7624                                                globalwpw.settings.obj
7625                                                  .back_to_start
7626                                              ) +
7627                                              "</span>"
7628                                            );
7629                                          }
7630                                        }, globalwpw.settings.preLoadingTime *
7631                                        2);
7632                                      }
7633                                    }, globalwpw.settings.preLoadingTime);
7634                                  }, parseInt(
7635                                    globalwpw.settings.preLoadingTime
7636                                  ) * 2);
7637                                }
7638                              });
7639                              globalwpw.emailContent = [];
7640                            }
7641                          }
7642                          setTimeout(function () {
7643                            wpwTree.start_menu_settings();
7644                          }, globalwpw.settings.preLoadingTime);
7645                        } else {
7646                          var dfDefaultMsg = wpwKits.render(
7647                            globalwpw.settings.obj.df_defualt_reply
7648                          );
7649                          wpwMsg.double_nobg(dfDefaultMsg, globalwpw.wildcards);
7650                        }
7651                      } else {
7652                        //if bad request or limit cross then
7653                        //globalwpw.df_status_lock=0;
7654                        var dfDefaultMsg = wpwKits.render(
7655                          globalwpw.settings.obj.df_defualt_reply
7656                        );
7657                        wpwMsg.double_nobg(dfDefaultMsg, globalwpw.wildcards);
7658                      }
7659                    })
7660                    .fail(function (error) {
7661                      var data = {
7662                        action: "wpbo_search_response",
7663                        name: globalwpw.hasNameCookie,
7664                        keyword: msg,
7665                        language: globalwpw.settings.obj.language,
7666                      };
7667                      if (
7668                        $(
7669                          globalwpw.settings.messageLastChild +
7670                          " .wp-chatbot-comment-loader"
7671                        ).length == 0
7672                      ) {
7673
7674                        $(globalwpw.settings.messageContainer).append(
7675                          wpwKits.botPreloader()
7676                        );
7677                      }
7678                      wpwKits.ajax(data).done(function (response) {
7679                        var json = $.parseJSON(response);
7680                        if (json.status == "success") {
7681                          wpwTree.strHandler(msg, json);
7682                        } else {
7683                          var dfDefaultMsg = wpwKits.render(
7684                            globalwpw.settings.obj.df_defualt_reply
7685                          );
7686                          wpwMsg.double_nobg(dfDefaultMsg, globalwpw.wildcards);
7687                        }
7688                      });
7689                    });
7690                } else {
7691                  if (globalwpw.settings.obj.qcbot_enable_str == "1") {
7692                    var data = {
7693                      action: "wpbo_search_response",
7694                      name: globalwpw.hasNameCookie,
7695                      keyword: msg,
7696                      language: globalwpw.settings.obj.language,
7697                    };
7698                    if (
7699                      $(
7700                        globalwpw.settings.messageLastChild +
7701                        " .wp-chatbot-comment-loader"
7702                      ).length == 0
7703                    ) {
7704
7705                      $(globalwpw.settings.messageContainer).append(
7706                        wpwKits.botPreloader()
7707                      );
7708                    }
7709                    wpwKits.ajax(data).done(function (response) {
7710                      var json = $.parseJSON(response);
7711                      if (json.status == "success") {
7712                        wpwTree.strHandler(msg, json);
7713                      }
7714                    });
7715                  }
7716                }
7717                globalwpw.wildCard = 0;
7718              });
7719            } else {
7720              if (
7721                wp_chatbot_obj.ollama_enabled == "1" ||
7722                wp_chatbot_obj.openrouter_enabled == "1" ||
7723                wp_chatbot_obj.open_ai_enable == "1" ||
7724                wp_chatbot_obj.grok_enabled == "1" ||
7725                wp_chatbot_obj.mistral_enabled == "1" ||
7726                wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
7727                globalwpw.settings.obj.tvlyai_enabled == "1"
7728              ) {
7729                wpwMsg.open_ai_message_callback(openai_msg);
7730              }
7731              globalwpw.wildCard = 0;
7732              wpwMsg.single(
7733                wpwKits.randomMsg(globalwpw.settings.obj.empty_filter_msg)
7734              );
7735
7736              wpwTree.start_menu_settings();
7737            }
7738          }
7739          if (globalwpw.settings.obj.qc_site_search_priority != "1") {
7740            if (
7741              globalwpw.settings.obj.ai_df_enable == 1 &&
7742              globalwpw.df_status_lock == 0
7743            ) {
7744              var dfReturns = wpwKits.dailogAIOAction(msg);
7745              if (
7746                $(
7747                  globalwpw.settings.messageLastChild +
7748                  " .wp-chatbot-comment-loader"
7749                ).length == 0
7750              ) {
7751
7752                $(globalwpw.settings.messageContainer).append(
7753                  wpwKits.botPreloader()
7754                );
7755              }
7756              dfReturns.done(function (response) {
7757
7758                if (globalwpw.settings.obj.df_api_version == "v2") {
7759                  response = $.parseJSON(response);
7760                }
7761                if (wpwKits.responseIsOk(response)) {
7762                  var userIntent = wpwKits.getIntentName(response);
7763
7764                  if (userIntent == "start") {
7765                    globalwpw.wildCard = 0;
7766                    var serviceOffer = wpwKits.randomMsg(
7767                      globalwpw.settings.obj.wildcard_msg
7768                    );
7769                    if (globalwpw.settings.obj.qcld_disable_start_menu != "1") {
7770                      wpwMsg.double_nobg(serviceOffer, globalwpw.wildcards);
7771                    }
7772                  } else if (userIntent == "welcome") {
7773                    var messages = wpwKits.getFulfillmentText(response);
7774
7775                    wpwTree.df_reply(response);
7776                  } else if (userIntent == "help") {
7777                    $(globalwpw.settings.messageWrapper).html(
7778                      localStorage.getItem("wpwHitory")
7779                    );
7780
7781                    //Showing help message
7782                    setTimeout(function () {
7783                      wpwKits.scrollTo();
7784                      var helpWelcome = wpwKits.randomMsg(
7785                        globalwpw.settings.obj.help_welcome
7786                      );
7787                      var helpMsg = wpwKits.randomMsg(
7788                        globalwpw.settings.obj.help_msg
7789                      );
7790                      wpwMsg.double(helpWelcome, helpMsg);
7791                      //dialogflow
7792                      if (
7793                        globalwpw.settings.obj.ai_df_enable == 1 &&
7794                        globalwpw.df_status_lock == 0
7795                      ) {
7796                        globalwpw.wildCard = 0;
7797                        globalwpw.ai_step = 1;
7798                        localStorage.setItem("wildCard", globalwpw.wildCard);
7799                        localStorage.setItem("aiStep", globalwpw.ai_step);
7800                      }
7801                    }, globalwpw.settings.preLoadingTime);
7802                  } else if (userIntent == "reset") {
7803                    var restWarning = wpwKits.render(
7804                      globalwpw.settings.obj.reset
7805                    );
7806                    var confirmBtn =
7807                      '<span class="qcld-chatbot-reset-btn" reset-data="yes" >' +
7808                      wpwKits.render(globalwpw.settings.obj.yes) +
7809                      "</span> <span> " +
7810                      wpwKits.render(globalwpw.settings.obj.or) +
7811                      ' </span><span class="qcld-chatbot-reset-btn"  reset-data="no">' +
7812                      wpwKits.render(globalwpw.settings.obj.no) +
7813                      "</span>";
7814                    wpwMsg.double_nobg(restWarning, confirmBtn);
7815                  } else if (userIntent == "phone") {
7816                    if (
7817                      typeof globalwpw.hasNameCookie == "undefined" ||
7818                      globalwpw.hasNameCookie == ""
7819                    ) {
7820                      var shopperName = wpwKits.render(
7821                        globalwpw.settings.obj.shopper_demo_name
7822                      );
7823                    } else {
7824                      var shopperName = globalwpw.hasNameCookie;
7825                    }
7826                    var askEmail = wpwKits.randomMsg(
7827                      globalwpw.settings.obj.asking_phone
7828                    );
7829                    wpwMsg.single(askEmail);
7830                    //Now updating the support part as .
7831                    globalwpw.supportStep = "phone";
7832                    globalwpw.wildCard = 1;
7833                    //keeping value in localstorage
7834                    localStorage.setItem("wildCard", globalwpw.wildCard);
7835                    localStorage.setItem("supportStep", globalwpw.supportStep);
7836                  } else if (userIntent == "email") {
7837                    if (
7838                      typeof globalwpw.hasNameCookie == "undefined" ||
7839                      globalwpw.hasNameCookie == ""
7840                    ) {
7841                      var shopperName = wpwKits.render(
7842                        globalwpw.settings.obj.shopper_demo_name
7843                      );
7844                    } else {
7845                      var shopperName = globalwpw.hasNameCookie;
7846                    }
7847                    var askEmail = wpwKits.randomMsg(
7848                      globalwpw.settings.obj.asking_email
7849                    );
7850                    wpwMsg.single(askEmail);
7851                    //Now updating the support part as .
7852                    globalwpw.supportStep = "email";
7853                    globalwpw.wildCard = 1;
7854                    //keeping value in localstorage
7855                    localStorage.setItem("wildCard", globalwpw.wildCard);
7856                    localStorage.setItem("supportStep", globalwpw.supportStep);
7857                  } else if (
7858                    userIntent ==
7859                    wpwKits.render(globalwpw.settings.obj.site_search)
7860                  ) {
7861                    var parameters = wpwKits.getParameters(response);
7862
7863                    if (
7864                      typeof parameters.products !== "undefined" &&
7865                      parameters.products != ""
7866                    ) {
7867                      var searchQuery = parameters.products;
7868                      globalwpw.wildCard = 1;
7869                      globalwpw.productStep = "search";
7870                      wpwAction.bot(searchQuery);
7871                      //keeping value in localstorage
7872                      localStorage.setItem("wildCard", globalwpw.wildCard);
7873                      localStorage.setItem(
7874                        "productStep",
7875                        globalwpw.productStep
7876                      );
7877
7878                      //Now updating the support part as .
7879                    } else {
7880                      if (
7881                        typeof globalwpw.hasNameCookie == "undefined" ||
7882                        globalwpw.hasNameCookie == ""
7883                      ) {
7884                        var shopperName = wpwKits.render(
7885                          globalwpw.settings.obj.shopper_demo_name
7886                        );
7887                      } else {
7888                        var shopperName = globalwpw.hasNameCookie;
7889                      }
7890                      var askEmail = "Pleae enter your keyword for searching";
7891                      wpwMsg.single(askEmail);
7892                      //Now updating the support part as .
7893                      globalwpw.supportStep = "search";
7894                      globalwpw.wildCard = 1;
7895                      //keeping value in localstorage
7896                      localStorage.setItem("wildCard", globalwpw.wildCard);
7897                      localStorage.setItem(
7898                        "supportStep",
7899                        globalwpw.supportStep
7900                      );
7901                    }
7902                  } else if (userIntent == "get name") {
7903                    var given_name = wpwKits.getParameters(response).given_name;
7904                    var last_name = wpwKits.getParameters(response).last_name;
7905                    var fullname = given_name + " " + last_name;
7906                    $.cookie("shopper", fullname, { expires: 365 });
7907                    localStorage.setItem("shopper", fullname);
7908                    globalwpw.hasNameCookie = fullname;
7909                    //Greeting with name and suggesting the wildcard.
7910
7911                    var NameGreeting =
7912                      wpwKits.randomMsg(globalwpw.settings.obj.i_am) +
7913                      " <strong>" +
7914                      wpwKits.render(globalwpw.settings.obj.agent) +
7915                      "</strong>! " +
7916                      wpwKits.randomMsg(globalwpw.settings.obj.name_greeting);
7917                    var serviceOffer = wpwKits.randomMsg(
7918                      globalwpw.settings.obj.wildcard_msg
7919                    );
7920                    //After completing two steps messaging showing wildcards.
7921                    if (
7922                      globalwpw.settings.obj.qcld_disable_start_menu != "1" &&
7923                      typeof globalwpw.wildcards != "undefined" &&
7924                      globalwpw.wildcards != ""
7925                    ) {
7926                      wpwMsg.triple_nobg(
7927                        NameGreeting,
7928                        serviceOffer,
7929                        globalwpw.wildcards
7930                      );
7931                    } else {
7932                      wpwMsg.single(NameGreeting);
7933                    }
7934
7935                    globalwpw.ai_step = 1;
7936                    globalwpw.wildCard = 0;
7937                    localStorage.setItem("wildCard", globalwpw.wildCard);
7938                    localStorage.setItem("aiStep", globalwpw.ai_step);
7939                  } else if (userIntent == "faq") {
7940                    globalwpw.wildCard = 1;
7941                    globalwpw.supportStep = "welcome";
7942                    wpwAction.bot("from wildcard support");
7943                    //keeping value in localstorage
7944                  } else if (userIntent == "email subscription") {
7945                    globalwpw.wildCard = 3;
7946                    globalwpw.subscriptionStep = "welcome";
7947                    wpwTree.subscription(msg);
7948                  } else if (
7949                    userIntent == "product" &&
7950                    globalwpw.settings.obj.disable_product_search != 1
7951                  ) {
7952                    var parameters = wpwKits.getParameters(response);
7953
7954                    if (
7955                      typeof parameters.products !== "undefined" &&
7956                      parameters.products != ""
7957                    ) {
7958                      var searchQuery = parameters.products;
7959                      globalwpw.wildCard = 20;
7960                      globalwpw.productStep = "search";
7961                      wpwAction.bot(searchQuery);
7962                      //keeping value in localstorage
7963                      localStorage.setItem("wildCard", globalwpw.wildCard);
7964                      localStorage.setItem(
7965                        "productStep",
7966                        globalwpw.productStep
7967                      );
7968                    } else {
7969                      var searchQuery = wpwKits.queryText(response);
7970                      globalwpw.wildCard = 20;
7971                      globalwpw.productStep = "search";
7972                      wpwAction.bot(searchQuery);
7973                      //keeping value in localstorage
7974                      localStorage.setItem("wildCard", globalwpw.wildCard);
7975                      localStorage.setItem(
7976                        "productStep",
7977                        globalwpw.productStep
7978                      );
7979                    }
7980                  } else if (
7981                    userIntent == "catalog" &&
7982                    globalwpw.settings.obj.disable_catalog != 1
7983                  ) {
7984                    wpwAction.bot(
7985                      (wpwKits
7986                        .render(globalwpw.settings.obj.sys_key_catalog) || '')
7987                        .toLowerCase()
7988                    );
7989                  } else if (
7990                    userIntent == "featured" &&
7991                    globalwpw.settings.obj.disable_featured_product != 1
7992                  ) {
7993                    globalwpw.wildCard = 20;
7994                    globalwpw.productStep = "featured";
7995                    wpwAction.bot("from wildcard product");
7996                    //keeping value in localstorage
7997                    localStorage.setItem("wildCard", globalwpw.wildCard);
7998                    localStorage.setItem("productStep", globalwpw.productStep);
7999                  } else if (
8000                    userIntent == "sale" &&
8001                    globalwpw.settings.obj.disable_sale_product !== 1
8002                  ) {
8003                    globalwpw.wildCard = 20;
8004                    globalwpw.productStep = "sale";
8005                    wpwAction.bot("from wildcard product");
8006                    //keeping value in localstorage
8007                    localStorage.setItem("wildCard", globalwpw.wildCard);
8008                    localStorage.setItem("productStep", globalwpw.productStep);
8009                  } else if (
8010                    userIntent == "order" &&
8011                    globalwpw.settings.obj.disable_order_status != 1
8012                  ) {
8013                    globalwpw.wildCard = 21;
8014                    globalwpw.orderStep = "welcome";
8015                    wpwAction.bot("from wildcard order");
8016                    //keeping value in localstorage
8017                    localStorage.setItem("wildCard", globalwpw.wildCard);
8018                    localStorage.setItem("orderStep", globalwpw.orderStep);
8019                  } else if (userIntent == "Default Fallback Intent") {
8020                    if (globalwpw.settings.obj.qcbot_enable_str == "1") {
8021                      var data = {
8022                        action: "wpbo_search_response",
8023                        name: globalwpw.hasNameCookie,
8024                        keyword: msg,
8025                        language: globalwpw.settings.obj.language,
8026                      };
8027                      if (
8028                        $(
8029                          globalwpw.settings.messageLastChild +
8030                          " .wp-chatbot-comment-loader"
8031                        ).length == 0
8032                      ) {
8033
8034                        $(globalwpw.settings.messageContainer).append(
8035                          wpwKits.botPreloader()
8036                        );
8037                      }
8038                      wpwKits.ajax(data).done(function (respond) {
8039                        var json = $.parseJSON(respond);
8040                        if (json.status == "success") {
8041                          wpwTree.strHandler(msg, json);
8042                        } else {
8043
8044                          if (
8045                            msg != "" &&
8046                            globalwpw.settings.obj.disable_sitesearch == "" &&
8047                            globalwpw.settings.obj.qc_site_search_priority !=
8048                            "1"
8049                          ) {
8050                            var openai_msg = msg;
8051                            msg = wpwKits.filterStopWords(msg);
8052                            var data = {
8053                              action: "wpbo_search_site",
8054                              name: globalwpw.hasNameCookie,
8055                              keyword: msg,
8056                              language: globalwpw.settings.obj.language,
8057                            };
8058
8059                            if (
8060                              $(
8061                                globalwpw.settings.messageLastChild +
8062                                " .wp-chatbot-comment-loader"
8063                              ).length == 0
8064                            ) {
8065
8066                              $(globalwpw.settings.messageContainer).append(
8067                                wpwKits.botPreloader()
8068                              );
8069                            }
8070
8071                            wpwKits.ajax(data).done(function (res) {
8072                              var json = $.parseJSON(res);
8073                              if (json.status == "success") {
8074                                $('span[data-wildcart="back"]').remove();
8075
8076                                wpwMsg.single_nobg(json.html);
8077                                setTimeout(function () {
8078                                  if (
8079                                    globalwpw.settings.obj
8080                                      .qcld_disable_repited_startmenu != "1"
8081                                  ) {
8082                                    wpwMsg.single_nobg(
8083                                      '<span class="qcld-chatbot-wildcard qcld_back_to_start"  data-wildcart="back">' +
8084                                      wpwKits.randomMsg(
8085                                        globalwpw.settings.obj.back_to_start
8086                                      ) +
8087                                      "</span>"
8088                                    );
8089                                  }
8090                                  setTimeout(() => {
8091                                    $(".wpb-search-result a")
8092                                      .first()[0]
8093                                      .scrollIntoView();
8094                                  }, 600);
8095                                }, globalwpw.settings.preLoadingTime);
8096                              } else if (
8097                                wp_chatbot_obj.ollama_enabled == "1" ||
8098                                wp_chatbot_obj.openrouter_enabled == "1" ||
8099                                wp_chatbot_obj.open_ai_enable == "1" ||
8100                                wp_chatbot_obj.grok_enabled == "1" ||
8101                                wp_chatbot_obj.mistral_enabled == "1" ||
8102                                wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
8103                                globalwpw.settings.obj.tvlyai_enabled == "1"
8104                              ) {
8105                                wpwMsg.open_ai_message_callback(openai_msg);
8106                              } else {
8107                                var data = {
8108                                  action: "wpbo_failed_response",
8109                                  name: globalwpw.hasNameCookie,
8110                                  keyword: msg,
8111                                };
8112                                wpwKits.ajax(data).done(function (res) {
8113                                  //
8114                                  if (
8115                                    globalwpw.counter ==
8116                                    globalwpw.settings.obj
8117                                      .no_result_attempt_count ||
8118                                    globalwpw.settings.obj
8119                                      .no_result_attempt_count == 0
8120                                  ) {
8121                                    wpwMsg.single(wpwKits.randomMsg(json.html));
8122                                    if (
8123                                      globalwpw.settings.obj
8124                                        .disable_repeatative != 1
8125                                    ) {
8126                                      if (
8127                                        wpwKits.render(
8128                                          globalwpw.settings.obj
8129                                            .no_result_attempt_message
8130                                        ) != ""
8131                                      ) {
8132                                        setTimeout(function () {
8133                                          wpwMsg.single(
8134                                            wpwKits.render(
8135                                              globalwpw.settings.obj
8136                                                .no_result_attempt_message
8137                                            )
8138                                          );
8139                                        }, globalwpw.settings.preLoadingTime);
8140                                      } else {
8141                                        setTimeout(function () {
8142                                          wpwTree.start_menu_settings();
8143                                        }, globalwpw.settings.preLoadingTime);
8144                                      }
8145                                    } 
8146                                    globalwpw.counter = 0;
8147                                  } else {
8148                                    globalwpw.counter++;
8149                                    wpwTree.df_reply(response);
8150                                  }
8151                                });
8152                              }
8153
8154                              globalwpw.wildCard = 0;
8155                            });
8156                          } else if (
8157                            wp_chatbot_obj.ollama_enabled == "1" ||
8158                            wp_chatbot_obj.openrouter_enabled == "1" ||
8159                            wp_chatbot_obj.open_ai_enable == "1" ||
8160                            wp_chatbot_obj.grok_enabled == "1" ||
8161                            wp_chatbot_obj.mistral_enabled == "1" ||
8162                            wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
8163                            globalwpw.settings.obj.tvlyai_enabled == "1"
8164                          ) {
8165                            wpwMsg.open_ai_message_callback(openai_msg);
8166                          } else if (
8167                            msg != "" &&
8168                            globalwpw.settings.obj.is_woowbot == 1
8169                          ) {
8170                            globalwpw.wildCard = 20;
8171                            globalwpw.productStep = "search";
8172                            wpwAction.bot(msg);
8173                            //keeping value in localstorage
8174                            localStorage.setItem(
8175                              "wildCard",
8176                              globalwpw.wildCard
8177                            );
8178                            localStorage.setItem(
8179                              "productStep",
8180                              globalwpw.productStep
8181                            );
8182                          } else {
8183                             
8184                            if (
8185                              globalwpw.counter <
8186                              globalwpw.settings.obj
8187                                .no_result_attempt_count ||
8188                              globalwpw.settings.obj.no_result_attempt_count ==
8189                              0
8190                            ) {
8191                              wpwTree.df_reply(response);
8192                              wpwTree.start_menu_settings();
8193                              globalwpw.counter = 0;
8194                            } else {
8195                              globalwpw.counter++;
8196                              wpwTree.df_reply(response);
8197                            }
8198                          }
8199                        }
8200                      });
8201                    } else {
8202                      if (
8203                        msg != "" &&
8204                        globalwpw.settings.obj.disable_sitesearch == "" &&
8205                        globalwpw.settings.obj.qc_site_search_priority != "1"
8206                      ) {
8207                        var openai_msg = msg;
8208                        msg = wpwKits.filterStopWords(msg);
8209                        var data = {
8210                          action: "wpbo_search_site",
8211                          name: globalwpw.hasNameCookie,
8212                          keyword: msg,
8213                          language: globalwpw.settings.obj.language,
8214                        };
8215
8216                        if (
8217                          $(
8218                            globalwpw.settings.messageLastChild +
8219                            " .wp-chatbot-comment-loader"
8220                          ).length == 0
8221                        ) {
8222                          $(globalwpw.settings.messageContainer).append(
8223                            wpwKits.botPreloader()
8224                          );
8225                        }
8226
8227                        wpwKits.ajax(data).done(function (res) {
8228                          var json = $.parseJSON(res);
8229                          if (json.status == "success") {
8230                            $('span[data-wildcart="back"]').remove();
8231
8232                            wpwMsg.single_nobg(json.html);
8233                            setTimeout(function () {
8234                              if (
8235                                globalwpw.settings.obj
8236                                  .qcld_disable_repited_startmenu != "1"
8237                              ) {
8238                                wpwMsg.single_nobg(
8239                                  '<span class="qcld-chatbot-wildcard qcld_back_to_start"  data-wildcart="back">' +
8240                                  wpwKits.randomMsg(
8241                                    globalwpw.settings.obj.back_to_start
8242                                  ) +
8243                                  "</span>"
8244                                );
8245                              }
8246                              setTimeout(() => {
8247                                $(".wpb-search-result a")
8248                                  .first()[0]
8249                                  .scrollIntoView();
8250                              }, 600);
8251                            }, globalwpw.settings.preLoadingTime);
8252                          } else if (
8253                            wp_chatbot_obj.ollama_enabled == "1" ||
8254                            wp_chatbot_obj.openrouter_enabled == "1" ||
8255                            wp_chatbot_obj.open_ai_enable == "1" ||
8256                            wp_chatbot_obj.grok_enabled == "1" ||
8257                            wp_chatbot_obj.mistral_enabled == "1" ||
8258                            wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
8259                            globalwpw.settings.obj.tvlyai_enabled == "1"
8260                          ) {
8261                            wpwMsg.open_ai_message_callback(openai_msg);
8262                          } else {
8263                            var data = {
8264                              action: "wpbo_failed_response",
8265                              name: globalwpw.hasNameCookie,
8266                              keyword: msg,
8267                            };
8268                            wpwKits.ajax(data).done(function (res) {
8269                              //
8270                              if (
8271                                globalwpw.counter ==
8272                                globalwpw.settings.obj
8273                                  .no_result_attempt_count ||
8274                                globalwpw.settings.obj
8275                                  .no_result_attempt_count == 0
8276                              ) {
8277                                wpwMsg.single(wpwKits.randomMsg(json.html));
8278                                wpwTree.start_menu_settings();
8279                                globalwpw.counter = 0;
8280                              } else {
8281                                globalwpw.counter++;
8282                                wpwTree.df_reply(response);
8283                              }
8284                            });
8285                          }
8286
8287                          globalwpw.wildCard = 0;
8288                        });
8289                      } else if (
8290                        wp_chatbot_obj.ollama_enabled == "1" ||
8291                        wp_chatbot_obj.openrouter_enabled == "1" ||
8292                        wp_chatbot_obj.open_ai_enable == "1" ||
8293                        wp_chatbot_obj.grok_enabled == "1" ||
8294                        wp_chatbot_obj.mistral_enabled == "1" ||
8295                        wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
8296                        globalwpw.settings.obj.tvlyai_enabled == "1"
8297                      ) {
8298                        wpwMsg.open_ai_message_callback(openai_msg);
8299                      } else if (
8300                        msg != "" &&
8301                        globalwpw.settings.obj.is_woowbot == 1
8302                      ) {
8303                        globalwpw.wildCard = 20;
8304                        globalwpw.productStep = "search";
8305                        wpwAction.bot(msg);
8306                        //keeping value in localstorage
8307                        localStorage.setItem("wildCard", globalwpw.wildCard);
8308                        localStorage.setItem(
8309                          "productStep",
8310                          globalwpw.productStep
8311                        );
8312                      } else {
8313                        
8314                        if (
8315                          globalwpw.counter < globalwpw.settings.obj.no_result_attempt_count ||
8316                          globalwpw.settings.obj.no_result_attempt_count == 0
8317                        ) {
8318                          wpwTree.df_reply(response);
8319                          wpwTree.start_menu_settings();
8320                          globalwpw.counter = 0;
8321                        } else {
8322                          globalwpw.counter++;
8323                          wpwTree.df_reply(response);
8324                        }
8325                      }
8326                    }
8327                  } else if (wpwKits.getScore(response) != 0) {
8328                    // checking is reponsing from dialogflow.
8329
8330                    var sTalkAction = wpwKits.getAction(response);
8331
8332                    if (
8333                      sTalkAction != "" &&
8334                      sTalkAction.indexOf("smalltalk") != -1
8335                    ) {
8336                      var sMgs = wpwKits.getFulfillmentText(response);
8337                      wpwMsg.single(sMgs);
8338                      
8339                    } else {
8340                      var messages = wpwKits.getFulfillmentText(response);
8341
8342                      if (
8343                        typeof response.queryResult.knowledgeAnswers !=
8344                        "undefined" &&
8345                        response.queryResult.knowledgeAnswers.answers != ""
8346                      ) {
8347                        wpwMsg.single(
8348                          response.alternativeQueryResults[0].fulfillmentText
8349                        );
8350                      } else if (
8351                        userIntent.indexOf(
8352                          globalwpw.settings.obj.tag_search_intent
8353                        ) > -1 &&
8354                        wpwKits.isActionComplete(response) &&
8355                        wpwKits.isConversationEnd(response)
8356                      ) {
8357                        var tags = [];
8358                        $.each(
8359                          response.queryResult.parameters,
8360                          function (index, value) {
8361                            if (value != "") {
8362                              tags.push(value);
8363                            }
8364                          }
8365                        );
8366
8367                        if (tags.length > 0) {
8368                          var data = {
8369                            action: "qcld_wb_chatbot_search_product_by_tag",
8370                            name: globalwpw.hasNameCookie,
8371                            tags: tags.join(","),
8372                          };
8373
8374                          if (
8375                            $(
8376                              globalwpw.settings.messageLastChild +
8377                              " .wp-chatbot-comment-loader"
8378                            ).length == 0
8379                          ) {
8380                            $(globalwpw.settings.messageContainer).append(
8381                              wpwKits.botPreloader()
8382                            );
8383                          }
8384                          wpwKits.ajax(data).done(function (presdata) {
8385                            if (presdata.product_num == 0) {
8386                              var productFail =
8387                                wpwKits.randomMsg(
8388                                  globalwpw.settings.obj.product_fail
8389                                ) +
8390                                " <strong>" +
8391                                tags.join(",") +
8392                                "</strong>!";
8393
8394                              wpwMsg.single(productFail);
8395                            } else {
8396                              var productSucces =
8397                                wpwKits.randomMsg(
8398                                  globalwpw.settings.obj.product_success
8399                                ) +
8400                                " <strong>" +
8401                                tags.join(",") +
8402                                "</strong>!";
8403                              wpwMsg.double_nobg(productSucces, presdata.html);
8404                            }
8405                          });
8406                        } else {
8407                          wpwTree.df_reply(response);
8408                        }
8409                      } else {
8410                        wpwTree.df_reply(response);
8411                      }
8412
8413                      var emailSent = false;
8414                      var emailIntent = "";
8415                      $.each(
8416                        globalwpw.settings.obj.custom_intent,
8417                        function (index, value) {
8418                          if (userIntent.indexOf(value) > -1) {
8419                            emailIntent = value;
8420                          }
8421                        }
8422                      );
8423
8424                      if (
8425                        emailIntent != "" &&
8426                        globalwpw.settings.obj.custom_intent_email[
8427                        globalwpw.settings.obj.custom_intent.indexOf(
8428                          emailIntent
8429                        )
8430                        ] == "1"
8431                      ) {
8432                        emailSent = true;
8433                      }
8434
8435                      if (emailSent == true) {
8436                        globalwpw.emailContent.push({
8437                          user: wpwKits.queryText(response),
8438                          bot: wpwTree.df_reply2(response),
8439                        });
8440                      }
8441
8442                      if (
8443                        wpwKits.isActionComplete(response) &&
8444                        wpwKits.isConversationEnd(response) &&
8445                        emailSent == true
8446                      ) {
8447                        var email = "";
8448                        if (localStorage.getItem("shopperemail") !== null) {
8449                          email = localStorage.getItem("shopperemail");
8450                        }
8451                        var data = {
8452                          action: "qcld_wb_chatbot_send_query",
8453                          name: globalwpw.hasNameCookie,
8454                          email: email,
8455                          data: globalwpw.emailContent,
8456                        };
8457
8458                        wpwKits.ajax(data).done(function (resdata) {
8459                          var json = $.parseJSON(resdata);
8460                          if (json.status == "success") {
8461                            var sucMsg = json.message;
8462
8463                            setTimeout(function () {
8464                              wpwMsg.single(sucMsg);
8465                              globalwpw.wildCard = 0;
8466                              var orPhoneSuggest = "";
8467                              setTimeout(function () {
8468                                if (globalwpw.settings.obj.call_sup != 1) {
8469                                  orPhoneSuggest =
8470                                    '<span class="qcld-chatbot-suggest-phone" >' +
8471                                    wpwKits.render(
8472                                      globalwpw.settings.obj.support_phone
8473                                    ) +
8474                                    "</span>";
8475                                }
8476                                var orEmailSuggest =
8477                                  '<span class="qcld-chatbot-suggest-email">' +
8478                                  wpwKits.randomMsg(
8479                                    globalwpw.settings.obj.support_email
8480                                  ) +
8481                                  "</span>";
8482                                wpwTree.start_menu_settings();
8483                              }, globalwpw.settings.wildcardsShowTime);
8484                            }, parseInt(globalwpw.settings.preLoadingTime) * 2);
8485                          } else {
8486                            var failMsg = json.message;
8487                            setTimeout(function () {
8488                              wpwMsg.single(failMsg);
8489                              globalwpw.wildCard = 0;
8490                              var orPhoneSuggest = "";
8491                              setTimeout(function () {
8492                                if (globalwpw.settings.obj.call_sup != 1) {
8493                                  orPhoneSuggest =
8494                                    '<span class="qcld-chatbot-suggest-phone" >' +
8495                                    wpwKits.render(
8496                                      globalwpw.settings.obj.support_phone
8497                                    ) +
8498                                    "</span>";
8499                                }
8500                                var orEmailSuggest =
8501                                  '<span class="qcld-chatbot-suggest-email">' +
8502                                  wpwKits.randomMsg(
8503                                    globalwpw.settings.obj.support_email
8504                                  ) +
8505                                  "</span>";
8506                                wpwTree.start_menu_settings();
8507                              }, globalwpw.settings.preLoadingTime);
8508                            }, parseInt(globalwpw.settings.preLoadingTime) * 2);
8509                          }
8510                        });
8511                        globalwpw.emailContent = [];
8512                      }
8513                    }
8514                    setTimeout(function () {
8515                        wpwTree.start_menu_settings();
8516                      }, globalwpw.settings.preLoadingTime);
8517                  } else {
8518                    var dfDefaultMsg = wpwKits.render(
8519                      globalwpw.settings.obj.df_defualt_reply
8520                    );
8521                    wpwMsg.double_nobg(dfDefaultMsg, globalwpw.wildcards);
8522                  }
8523                } else {
8524                  if (globalwpw.settings.obj.qcbot_enable_str == "1") {
8525                    var data = {
8526                      action: "wpbo_search_response",
8527                      name: globalwpw.hasNameCookie,
8528                      keyword: msg,
8529                      language: globalwpw.settings.obj.language,
8530                    };
8531                    if (
8532                      $(
8533                        globalwpw.settings.messageLastChild +
8534                        " .wp-chatbot-comment-loader"
8535                      ).length == 0
8536                    ) {
8537
8538                      $(globalwpw.settings.messageContainer).append(
8539                        wpwKits.botPreloader()
8540                      );
8541                    }
8542                    wpwKits.ajax(data).done(function (response) {
8543                      var json = $.parseJSON(response);
8544                      if (json.status == "success") {
8545                        var all_html = [];
8546                        var count_result = 0;
8547                        wpwTree.strHandler(msg, json);
8548                      } else {
8549                        var all_html = [];
8550                        var count_result = 0;
8551                        //Default intents site search
8552                        var openai_msg = msg;
8553                        msg = wpwKits.filterStopWords(msg);
8554                        var wppt_post_types =
8555                          globalwpw.settings.obj.wppt_post_types;
8556                        var woo_search_active = false;
8557                        var post_types_array = (Array.isArray(wppt_post_types)) ? wppt_post_types : Object.values(wppt_post_types);
8558                        if (
8559                          globalwpw.settings.obj.woocommerce &&
8560                          typeof globalwpw.settings.obj.wppt_post_types !==
8561                          "undefined"
8562                        ) {
8563                          if (
8564                            post_types_array.indexOf(
8565                              wpwKits
8566                                .render(globalwpw.settings.obj.sys_key_product)
8567                                .toLowerCase()
8568                            ) > -1 &&
8569                            woo_search_active
8570                          ) {
8571                            woo_search_active = true;
8572                          } else {
8573                            woo_search_active = false;
8574                          }
8575                        }
8576                        if (
8577                          globalwpw.settings.obj.woocommerce &&
8578                          woo_search_active
8579                        ) {
8580                          var data = {
8581                            action: "qcld_wb_chatbot_keyword",
8582                            keyword: msg,
8583                            language: globalwpw.settings.obj.language,
8584                          };
8585                          //Products by string search ajax handler.
8586                          if (
8587                            $(
8588                              globalwpw.settings.messageLastChild +
8589                              " .wp-chatbot-comment-loader"
8590                            ).length == 0
8591                          ) {
8592
8593                            $(globalwpw.settings.messageContainer).append(
8594                              wpwKits.botPreloader()
8595                            );
8596                          }
8597                          wpwKits.ajax(data).done(function (response) {
8598                            if (response.product_num == 0) {
8599                              if (
8600                                msg != "" &&
8601                                globalwpw.settings.obj.disable_sitesearch ==
8602                                "" &&
8603                                globalwpw.settings.obj
8604                                  .qc_site_search_priority != "1"
8605                              ) {
8606                                var data = {
8607                                  action: "wpbo_search_site",
8608                                  name: globalwpw.hasNameCookie,
8609                                  keyword: msg,
8610                                  language: globalwpw.settings.obj.language,
8611                                };
8612                                if (
8613                                  $(
8614                                    globalwpw.settings.messageLastChild +
8615                                    " .wp-chatbot-comment-loader"
8616                                  ).length == 0
8617                                ) {
8618                                  $(globalwpw.settings.messageContainer).append(
8619                                    wpwKits.botPreloader()
8620                                  );
8621                                }
8622                                wpwKits.ajax(data).done(function (response) {
8623                                  var json = $.parseJSON(response);
8624                                  if (json.status == "success") {
8625                                    $(
8626                                      "#wp-chatbot-messages-container li .wp-chatbot-comment-loader"
8627                                    )
8628                                      .parent(".wp-chatbot-paragraph")
8629                                      .hide();
8630                                    $('span[data-wildcart="back"]').remove();
8631                                    wpwMsg.single_nobg(json.html);
8632                                    setTimeout(() => {
8633                                      $(".wpb-search-result a")
8634                                        .first()[0]
8635                                        .scrollIntoView();
8636                                    }, 600);
8637                                  } else if (
8638                                    wp_chatbot_obj.ollama_enabled == "1" ||
8639                                    wp_chatbot_obj.openrouter_enabled == "1" ||
8640                                    wp_chatbot_obj.open_ai_enable == "1" ||
8641                                    wp_chatbot_obj.grok_enabled == "1" ||
8642                                    wp_chatbot_obj.mistral_enabled == "1" ||
8643                                    wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
8644                                    globalwpw.settings.obj.tvlyai_enabled == "1"
8645                                  ) {
8646                                    wpwMsg.open_ai_message_callback(openai_msg);
8647                                  } else {
8648                                    var data = {
8649                                      action: "wpbo_failed_response",
8650                                      name: globalwpw.hasNameCookie,
8651                                      keyword: msg,
8652                                    };
8653                                    wpwKits.ajax(data).done(function (res) {
8654                                      //
8655                                      if (
8656                                        globalwpw.counter ==
8657                                        globalwpw.settings.obj
8658                                          .no_result_attempt_count ||
8659                                        globalwpw.settings.obj
8660                                          .no_result_attempt_count == 0
8661                                      ) {
8662                                        wpwMsg.single(
8663                                          wpwKits.randomMsg(json.html)
8664                                        );
8665
8666                                        if (
8667                                          wpwKits.render(
8668                                            globalwpw.settings.obj
8669                                              .no_result_attempt_message
8670                                          ) != ""
8671                                        ) {
8672                                          setTimeout(function () {
8673                                            wpwMsg.single(
8674                                              wpwKits.render(
8675                                                globalwpw.settings.obj
8676                                                  .no_result_attempt_message
8677                                              )
8678                                            );
8679                                          }, globalwpw.settings.preLoadingTime);
8680                                        } else {
8681                                          wpwTree.start_menu_settings();
8682                                        }
8683
8684                                        globalwpw.counter = 0;
8685                                      } else {
8686                                        globalwpw.counter++;
8687                                        wpwMsg.single(
8688                                          wpwKits.randomMsg(json.html)
8689                                        );
8690                                      }
8691                                    });
8692                                  }
8693                                  globalwpw.wildCard = 0;
8694                                });
8695                              } else if (
8696                                wp_chatbot_obj.ollama_enabled == "1" ||
8697                                wp_chatbot_obj.openrouter_enabled == "1" ||
8698                                wp_chatbot_obj.open_ai_enable == "1" ||
8699                                wp_chatbot_obj.grok_enabled == "1" ||
8700                                wp_chatbot_obj.mistral_enabled == "1" ||
8701                                wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
8702                                globalwpw.settings.obj.tvlyai_enabled == "1"
8703                              ) {
8704                                wpwMsg.open_ai_message_callback(openai_msg);
8705                              } else {
8706                                globalwpw.wildCard = 0;
8707                                wpwMsg.single(
8708                                  wpwKits.randomMsg(
8709                                    globalwpw.settings.obj.empty_filter_msg
8710                                  )
8711                                );
8712
8713                                wpwTree.start_menu_settings();
8714                              }
8715                            } else {
8716                              var productSucces =
8717                                wpwKits.randomMsg(
8718                                  globalwpw.settings.obj.product_success
8719                                ) +
8720                                " <strong>" +
8721                                msg +
8722                                "</strong>!";
8723                              wpwMsg.double_nobg(productSucces, response.html);
8724
8725                              if (response.per_page >= response.product_num) {
8726                                setTimeout(function () {
8727                                  var searchAgain = wpwKits.randomMsg(
8728                                    globalwpw.settings.obj.product_infinite
8729                                  );
8730                                  wpwMsg.double_nobg(
8731                                    searchAgain,
8732                                    '<span class="qcld-chatbot-wildcard"  data-wildcart="back">' +
8733                                    wpwKits.randomMsg(
8734                                      globalwpw.settings.obj.back_to_start
8735                                    ) +
8736                                    "</span>"
8737                                  );
8738                                  //keeping value in localstorage
8739                                  globalwpw.wildCard = 0;
8740                                  globalwpw.productStep = "search";
8741                                  localStorage.setItem(
8742                                    "productStep",
8743                                    globalwpw.productStep
8744                                  );
8745                                }, globalwpw.settings.wildcardsShowTime);
8746                              }
8747                            }
8748                          });
8749                        } else {
8750                          if (
8751                            msg != "" &&
8752                            globalwpw.settings.obj.disable_sitesearch != "1"
8753                          ) {
8754                            var data = {
8755                              action: "wpbo_search_site",
8756                              name: globalwpw.hasNameCookie,
8757                              keyword: msg,
8758                              language: globalwpw.settings.obj.language,
8759                            };
8760                            if (
8761                              $(
8762                                globalwpw.settings.messageLastChild +
8763                                " .wp-chatbot-comment-loader"
8764                              ).length == 0
8765                            ) {
8766                              $(globalwpw.settings.messageContainer).append(
8767                                wpwKits.botPreloader()
8768                              );
8769                            }
8770                            wpwKits.ajax(data).done(function (response) {
8771                              var json = $.parseJSON(response);
8772
8773                              if (json.status == "success") {
8774                                $(
8775                                  "#wp-chatbot-messages-container li .wp-chatbot-comment-loader"
8776                                )
8777                                  .parent(".wp-chatbot-paragraph")
8778                                  .hide();
8779                                $('span[data-wildcart="back"]').remove();
8780                                wpwMsg.single_nobg(json.html);
8781                                // setTimeout(() => {
8782                                //     $(".wpb-search-result a").first()[0].scrollIntoView();
8783                                // }, 600);
8784                              } else if (
8785                                globalwpw.settings.obj.open_ai_enable == "1" ||
8786                                globalwpw.settings.obj.tvlyai_enabled == "1"
8787                              ) {
8788                                wpwMsg.open_ai_message_callback(openai_msg);
8789                              } else {
8790                                var data = {
8791                                  action: "wpbo_failed_response",
8792                                  name: globalwpw.hasNameCookie,
8793                                  keyword: msg,
8794                                };
8795                                wpwKits.ajax(data).done(function (res) {
8796                                  if (
8797                                    globalwpw.counter ==
8798                                    globalwpw.settings.obj
8799                                      .no_result_attempt_count ||
8800                                    globalwpw.settings.obj
8801                                      .no_result_attempt_count == 0
8802                                  ) {
8803                                    if (
8804                                      wpwKits.render(
8805                                        globalwpw.settings.obj
8806                                          .no_result_attempt_message
8807                                      ) != ""
8808                                    ) {
8809                                      setTimeout(function () {
8810                                        wpwMsg.single(
8811                                          wpwKits.render(
8812                                            globalwpw.settings.obj
8813                                              .no_result_attempt_message
8814                                          )
8815                                        );
8816                                      }, globalwpw.settings.preLoadingTime);
8817                                      wpwTree.start_menu_settings();
8818                                    } else {
8819                                      wpwTree.start_menu_settings();
8820                                    }
8821                                    
8822                                    globalwpw.counter = 0;
8823                                  } else {
8824                                    globalwpw.counter++;
8825
8826                                    if (
8827                                      globalwpw.settings.obj
8828                                        .qcld_disable_repited_startmenu == "1"
8829                                    ) {
8830                                      wpwMsg.double_nobg(
8831                                        wpwKits.randomMsg(
8832                                          globalwpw.settings.obj.no_result
8833                                        ),
8834                                        '<span class="qcld-chatbot-wildcard qcld_back_to_start"  data-wildcart="back">' +
8835                                        wpwKits.randomMsg(
8836                                          globalwpw.settings.obj.back_to_start
8837                                        ) +
8838                                        "</span>"
8839                                      );
8840                                    } else {
8841                                      wpwMsg.double_nobg(
8842                                        wpwKits.randomMsg(
8843                                          globalwpw.settings.obj.no_result
8844                                        ),
8845                                        globalwpw.wildcards
8846                                      );
8847                                      // wpwMsg.single_nobg('<span class="qcld-chatbot-wildcard"  data-wildcart="back">' +  + '</span>');
8848                                    }
8849                                  }
8850                                });
8851                              }
8852                              globalwpw.wildCard = 0;
8853                            });
8854                          } else if (
8855                            wp_chatbot_obj.ollama_enabled == "1" ||
8856                            wp_chatbot_obj.openrouter_enabled == "1" ||
8857                            wp_chatbot_obj.open_ai_enable == "1" ||
8858                            wp_chatbot_obj.grok_enabled == "1" ||
8859                            wp_chatbot_obj.mistral_enabled == "1" ||
8860                            wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
8861                            globalwpw.settings.obj.tvlyai_enabled == "1"
8862                          ) {
8863                            wpwMsg.open_ai_message_callback(openai_msg);
8864                          } else {
8865                            wpwTree.start_menu_settings();
8866                          }
8867                        }
8868                      }
8869                    });
8870                  } else {
8871                    var all_html = [];
8872                    var count_result = 0;
8873                    //Default intents site search
8874                    var openai_msg = msg;
8875                    msg = wpwKits.filterStopWords(msg);
8876                    var wppt_post_types =
8877                      globalwpw.settings.obj.wppt_post_types;
8878                    var woo_search_active = false;
8879                    var post_types_array = (Array.isArray(wppt_post_types)) ? wppt_post_types : Object.values(wppt_post_types);
8880                    if (
8881                      globalwpw.settings.obj.woocommerce &&
8882                      typeof globalwpw.settings.obj.wppt_post_types !==
8883                      "undefined"
8884                    ) {
8885                      if (
8886                        post_types_array.indexOf(
8887                          wpwKits
8888                            .render(globalwpw.settings.obj.sys_key_product)
8889                            .toLowerCase()
8890                        ) > -1 &&
8891                        woo_search_active
8892                      ) {
8893                        woo_search_active = true;
8894                      } else {
8895                        woo_search_active = false;
8896                      }
8897                    }
8898                    if (
8899                      globalwpw.settings.obj.woocommerce &&
8900                      woo_search_active
8901                    ) {
8902                      var data = {
8903                        action: "qcld_wb_chatbot_keyword",
8904                        keyword: msg,
8905                        language: globalwpw.settings.obj.language,
8906                      };
8907                      //Products by string search ajax handler.
8908                      if (
8909                        $(
8910                          globalwpw.settings.messageLastChild +
8911                          " .wp-chatbot-comment-loader"
8912                        ).length == 0
8913                      ) {
8914                        $(globalwpw.settings.messageContainer).append(
8915                          wpwKits.botPreloader()
8916                        );
8917                      }
8918                      wpwKits.ajax(data).done(function (response) {
8919                        if (response.product_num == 0) {
8920                          if (
8921                            msg != "" &&
8922                            globalwpw.settings.obj.disable_sitesearch == "" &&
8923                            globalwpw.settings.obj.qc_site_search_priority !=
8924                            "1"
8925                          ) {
8926                            var data = {
8927                              action: "wpbo_search_site",
8928                              name: globalwpw.hasNameCookie,
8929                              keyword: msg,
8930                              language: globalwpw.settings.obj.language,
8931                            };
8932                            if (
8933                              $(
8934                                globalwpw.settings.messageLastChild +
8935                                " .wp-chatbot-comment-loader"
8936                              ).length == 0
8937                            ) {
8938                              $(globalwpw.settings.messageContainer).append(
8939                                wpwKits.botPreloader()
8940                              );
8941                            }
8942                            wpwKits.ajax(data).done(function (response) {
8943                              var json = $.parseJSON(response);
8944                              if (json.status == "success") {
8945                                $(
8946                                  "#wp-chatbot-messages-container li .wp-chatbot-comment-loader"
8947                                )
8948                                  .parent(".wp-chatbot-paragraph")
8949                                  .hide();
8950                                $('span[data-wildcart="back"]').remove();
8951                                wpwMsg.single_nobg(json.html);
8952                                setTimeout(() => {
8953                                  $(".wpb-search-result a")
8954                                    .first()[0]
8955                                    .scrollIntoView();
8956                                }, 600);
8957                              } else if (
8958                                wp_chatbot_obj.ollama_enabled == "1" ||
8959                                wp_chatbot_obj.openrouter_enabled == "1" ||
8960                                wp_chatbot_obj.open_ai_enable == "1" ||
8961                                wp_chatbot_obj.grok_enabled == "1" ||
8962                                wp_chatbot_obj.mistral_enabled == "1" ||
8963                                wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
8964                                globalwpw.settings.obj.tvlyai_enabled == "1"
8965                              ) {
8966                                wpwMsg.open_ai_message_callback(openai_msg);
8967                              } else {
8968                                var data = {
8969                                  action: "wpbo_failed_response",
8970                                  name: globalwpw.hasNameCookie,
8971                                  keyword: msg,
8972                                };
8973                                wpwKits.ajax(data).done(function (res) {
8974                                  //
8975                                  if (
8976                                    globalwpw.counter ==
8977                                    globalwpw.settings.obj
8978                                      .no_result_attempt_count ||
8979                                    globalwpw.settings.obj
8980                                      .no_result_attempt_count == 0
8981                                  ) {
8982                                    wpwMsg.single(wpwKits.randomMsg(json.html));
8983
8984                                    if (
8985                                      wpwKits.render(
8986                                        globalwpw.settings.obj
8987                                          .no_result_attempt_message
8988                                      ) != ""
8989                                    ) {
8990                                      setTimeout(function () {
8991                                        wpwMsg.single(
8992                                          wpwKits.render(
8993                                            globalwpw.settings.obj
8994                                              .no_result_attempt_message
8995                                          )
8996                                        );
8997                                      }, globalwpw.settings.preLoadingTime);
8998                                    } else {
8999                                      wpwTree.start_menu_settings();
9000                                    }
9001
9002                                    globalwpw.counter = 0;
9003                                  } else {
9004                                    globalwpw.counter++;
9005                                    wpwMsg.single(wpwKits.randomMsg(json.html));
9006                                  }
9007                                });
9008                              }
9009                              globalwpw.wildCard = 0;
9010                            });
9011                          } else if (
9012                            wp_chatbot_obj.ollama_enabled == "1" ||
9013                            wp_chatbot_obj.openrouter_enabled == "1" ||
9014                            wp_chatbot_obj.open_ai_enable == "1" ||
9015                            wp_chatbot_obj.grok_enabled == "1" ||
9016                            wp_chatbot_obj.mistral_enabled == "1" ||
9017                            wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
9018                            globalwpw.settings.obj.tvlyai_enabled == "1"
9019                          ) {
9020                            wpwMsg.open_ai_message_callback(openai_msg);
9021                          } else {
9022                            globalwpw.wildCard = 0;
9023                            wpwMsg.single(
9024                              wpwKits.randomMsg(
9025                                globalwpw.settings.obj.empty_filter_msg
9026                              )
9027                            );
9028
9029                            wpwTree.start_menu_settings();
9030                          }
9031                        } else {
9032                          var productSucces =
9033                            wpwKits.randomMsg(
9034                              globalwpw.settings.obj.product_success
9035                            ) +
9036                            " <strong>" +
9037                            msg +
9038                            "</strong>!";
9039                          wpwMsg.double_nobg(productSucces, response.html);
9040
9041                          if (response.per_page >= response.product_num) {
9042                            setTimeout(function () {
9043                              var searchAgain = wpwKits.randomMsg(
9044                                globalwpw.settings.obj.product_infinite
9045                              );
9046                              wpwMsg.double_nobg(
9047                                searchAgain,
9048                                '<span class="qcld-chatbot-wildcard"  data-wildcart="back">' +
9049                                wpwKits.randomMsg(
9050                                  globalwpw.settings.obj.back_to_start
9051                                ) +
9052                                "</span>"
9053                              );
9054                              //keeping value in localstorage
9055                              globalwpw.wildCard = 20;
9056                              globalwpw.productStep = "search";
9057                              localStorage.setItem(
9058                                "productStep",
9059                                globalwpw.productStep
9060                              );
9061                            }, globalwpw.settings.wildcardsShowTime);
9062                          }
9063                        }
9064                      });
9065                    } else {
9066                      if (
9067                        msg != "" &&
9068                        globalwpw.settings.obj.disable_sitesearch != "1"
9069                      ) {
9070                        var data = {
9071                          action: "wpbo_search_site",
9072                          name: globalwpw.hasNameCookie,
9073                          keyword: msg,
9074                          language: globalwpw.settings.obj.language,
9075                        };
9076                        if (
9077                          $(
9078                            globalwpw.settings.messageLastChild +
9079                            " .wp-chatbot-comment-loader"
9080                          ).length == 0
9081                        ) {
9082                          $(globalwpw.settings.messageContainer).append(
9083                            wpwKits.botPreloader()
9084                          );
9085                        }
9086                        wpwKits.ajax(data).done(function (response) {
9087                          var json = $.parseJSON(response);
9088
9089                          if (json.status == "success") {
9090                            $(
9091                              "#wp-chatbot-messages-container li .wp-chatbot-comment-loader"
9092                            )
9093                              .parent(".wp-chatbot-paragraph")
9094                              .hide();
9095                            $('span[data-wildcart="back"]').remove();
9096                            wpwMsg.single_nobg(json.html);
9097                            // setTimeout(() => {
9098                            //     $(".wpb-search-result a").first()[0].scrollIntoView();
9099                            // }, 600);
9100                          } else if (
9101                            globalwpw.settings.obj.open_ai_enable == "1" ||
9102                            globalwpw.settings.obj.tvlyai_enabled == "1"
9103                          ) {
9104                            wpwMsg.open_ai_message_callback(openai_msg);
9105                          } else {
9106                            var data = {
9107                              action: "wpbo_failed_response",
9108                              name: globalwpw.hasNameCookie,
9109                              keyword: msg,
9110                            };
9111                            wpwKits.ajax(data).done(function (res) {
9112                              if (
9113                                globalwpw.counter ==
9114                                globalwpw.settings.obj
9115                                  .no_result_attempt_count ||
9116                                globalwpw.settings.obj
9117                                  .no_result_attempt_count == 0
9118                              ) {
9119                                if (
9120                                  wpwKits.render(
9121                                    globalwpw.settings.obj
9122                                      .no_result_attempt_message
9123                                  ) != ""
9124                                ) {
9125                                  setTimeout(function () {
9126                                    wpwMsg.single(
9127                                      wpwKits.render(
9128                                        globalwpw.settings.obj
9129                                          .no_result_attempt_message
9130                                      )
9131                                    );
9132                                  }, globalwpw.settings.preLoadingTime);
9133                                  wpwTree.start_menu_settings();
9134                                } else {
9135                                  wpwTree.start_menu_settings();
9136                                }
9137                                setTimeout(function () {
9138                                  wpwMsg.single(
9139                                    wpwKits.randomMsg(
9140                                      '<span class="qcld-chatbot-wildcard"  data-wildcart="back">' +
9141                                      wpwKits.randomMsg(
9142                                        globalwpw.settings.obj.back_to_start
9143                                      ) +
9144                                      "</span>"
9145                                    )
9146                                  );
9147                                });
9148
9149                                globalwpw.counter = 0;
9150                              } else {
9151                                globalwpw.counter++;
9152
9153                                if (
9154                                  globalwpw.settings.obj
9155                                    .qcld_disable_repited_startmenu == "1"
9156                                ) {
9157                                  wpwMsg.double_nobg(
9158                                    wpwKits.randomMsg(
9159                                      globalwpw.settings.obj.no_result
9160                                    ),
9161                                    '<span class="qcld-chatbot-wildcard qcld_back_to_start"  data-wildcart="back">' +
9162                                    wpwKits.randomMsg(
9163                                      globalwpw.settings.obj.back_to_start
9164                                    ) +
9165                                    "</span>"
9166                                  );
9167                                } else {
9168                                  wpwMsg.double_nobg(
9169                                    wpwKits.randomMsg(
9170                                      globalwpw.settings.obj.no_result
9171                                    ),
9172                                    globalwpw.wildcards
9173                                  );
9174                                  // wpwMsg.single_nobg('<span class="qcld-chatbot-wildcard"  data-wildcart="back">' +  + '</span>');
9175                                }
9176                              }
9177                            });
9178                          }
9179                          globalwpw.wildCard = 0;
9180                        });
9181                      } else if (
9182                        wp_chatbot_obj.ollama_enabled == "1" ||
9183                        wp_chatbot_obj.openrouter_enabled == "1" ||
9184                        wp_chatbot_obj.open_ai_enable == "1" ||
9185                        wp_chatbot_obj.grok_enabled == "1" ||
9186                        wp_chatbot_obj.mistral_enabled == "1" ||
9187                        wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
9188                        globalwpw.settings.obj.tvlyai_enabled == "1"
9189                      ) {
9190                        wpwMsg.open_ai_message_callback(openai_msg);
9191                      } else {
9192                        wpwTree.start_menu_settings();
9193                      }
9194                    }
9195                  }
9196                }
9197              });
9198            } else {
9199              if (globalwpw.settings.obj.qcbot_enable_str == "1") {
9200                var data = {
9201                  action: "wpbo_search_response",
9202                  name: globalwpw.hasNameCookie,
9203                  keyword: msg,
9204                  language: globalwpw.settings.obj.language,
9205                };
9206                if (
9207                  $(
9208                    globalwpw.settings.messageLastChild +
9209                    " .wp-chatbot-comment-loader"
9210                  ).length == 0
9211                ) {
9212                  $(globalwpw.settings.messageContainer).append(
9213                    wpwKits.botPreloader()
9214                  );
9215                }
9216                wpwKits.ajax(data).done(function (response) {
9217                  var json = $.parseJSON(response);
9218                  if (json.status == "success") {
9219                    var all_html = [];
9220                    var count_result = 0;
9221                    wpwTree.strHandler(msg, json);
9222                  } else {
9223                    var all_html = [];
9224                    var count_result = 0;
9225                    //Default intents site search
9226                    var openai_msg = msg;
9227                    msg = wpwKits.filterStopWords(msg);
9228                    var wppt_post_types =
9229                      globalwpw.settings.obj.wppt_post_types;
9230                    var woo_search_active = false;
9231                    var post_types_array = (Array.isArray(wppt_post_types)) ? wppt_post_types : Object.values(wppt_post_types);
9232                    if (
9233                      globalwpw.settings.obj.woocommerce &&
9234                      typeof globalwpw.settings.obj.wppt_post_types !==
9235                      "undefined"
9236                    ) {
9237                      if (
9238                        post_types_array.indexOf(
9239                          wpwKits
9240                            .render(globalwpw.settings.obj.sys_key_product)
9241                            .toLowerCase()
9242                        ) > -1 &&
9243                        woo_search_active
9244                      ) {
9245                        woo_search_active = true;
9246                      } else {
9247                        woo_search_active = false;
9248                      }
9249                    }
9250                    if (
9251                      globalwpw.settings.obj.woocommerce &&
9252                      woo_search_active
9253                    ) {
9254                      var data = {
9255                        action: "qcld_wb_chatbot_keyword",
9256                        keyword: msg,
9257                        language: globalwpw.settings.obj.language,
9258                      };
9259                      //Products by string search ajax handler.
9260                      if (
9261                        $(
9262                          globalwpw.settings.messageLastChild +
9263                          " .wp-chatbot-comment-loader"
9264                        ).length == 0
9265                      ) {
9266                        $(globalwpw.settings.messageContainer).append(
9267                          wpwKits.botPreloader()
9268                        );
9269                      }
9270                      wpwKits.ajax(data).done(function (response) {
9271                        if (response.product_num == 0) {
9272                          if (
9273                            msg != "" &&
9274                            globalwpw.settings.obj.disable_sitesearch == "" &&
9275                            globalwpw.settings.obj.qc_site_search_priority !=
9276                            "1"
9277                          ) {
9278                            var data = {
9279                              action: "wpbo_search_site",
9280                              name: globalwpw.hasNameCookie,
9281                              keyword: msg,
9282                              language: globalwpw.settings.obj.language,
9283                            };
9284                            if (
9285                              $(
9286                                globalwpw.settings.messageLastChild +
9287                                " .wp-chatbot-comment-loader"
9288                              ).length == 0
9289                            ) {
9290                              $(globalwpw.settings.messageContainer).append(
9291                                wpwKits.botPreloader()
9292                              );
9293                            }
9294                            wpwKits.ajax(data).done(function (response) {
9295                              var json = $.parseJSON(response);
9296
9297                              if (json.status == "success") {
9298                                $(
9299                                  "#wp-chatbot-messages-container li .wp-chatbot-comment-loader"
9300                                )
9301                                  .parent(".wp-chatbot-paragraph")
9302                                  .hide();
9303                                $('span[data-wildcart="back"]').remove();
9304                                wpwMsg.single_nobg(json.html);
9305                                setTimeout(() => {
9306                                  $(".wpb-search-result a")
9307                                    .first()[0]
9308                                    .scrollIntoView();
9309                                }, 600);
9310                              } else if (
9311                                wp_chatbot_obj.ollama_enabled == "1" ||
9312                                wp_chatbot_obj.openrouter_enabled == "1" ||
9313                                wp_chatbot_obj.open_ai_enable == "1" ||
9314                                wp_chatbot_obj.grok_enabled == "1" ||
9315                                wp_chatbot_obj.mistral_enabled == "1" ||
9316                                wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
9317                                globalwpw.settings.obj.tvlyai_enabled == "1"
9318                              ) {
9319                                wpwMsg.open_ai_message_callback(openai_msg);
9320                              } else {
9321                                var data = {
9322                                  action: "wpbo_failed_response",
9323                                  name: globalwpw.hasNameCookie,
9324                                  keyword: msg,
9325                                };
9326                                wpwKits.ajax(data).done(function (res) {
9327                                  //
9328                                  if (
9329                                    globalwpw.counter ==
9330                                    globalwpw.settings.obj
9331                                      .no_result_attempt_count ||
9332                                    globalwpw.settings.obj
9333                                      .no_result_attempt_count == 0
9334                                  ) {
9335                                    wpwMsg.single(wpwKits.randomMsg(json.html));
9336
9337                                    if (
9338                                      wpwKits.render(
9339                                        globalwpw.settings.obj
9340                                          .no_result_attempt_message
9341                                      ) != ""
9342                                    ) {
9343                                      setTimeout(function () {
9344                                        wpwMsg.single(
9345                                          wpwKits.render(
9346                                            globalwpw.settings.obj
9347                                              .no_result_attempt_message
9348                                          )
9349                                        );
9350                                      }, globalwpw.settings.preLoadingTime);
9351                                    } else {
9352                                      wpwTree.start_menu_settings();
9353                                    }
9354
9355                                    globalwpw.counter = 0;
9356                                  } else {
9357                                    globalwpw.counter++;
9358                                    wpwMsg.single(wpwKits.randomMsg(json.html));
9359                                  }
9360                                });
9361                              }
9362                              globalwpw.wildCard = 0;
9363                            });
9364                          } else if (
9365                            wp_chatbot_obj.ollama_enabled == "1" ||
9366                            wp_chatbot_obj.openrouter_enabled == "1" ||
9367                            wp_chatbot_obj.open_ai_enable == "1" ||
9368                            wp_chatbot_obj.grok_enabled == "1" ||
9369                            wp_chatbot_obj.mistral_enabled == "1" ||
9370                            wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
9371                            globalwpw.settings.obj.tvlyai_enabled == "1"
9372                          ) {
9373                            wpwMsg.open_ai_message_callback(openai_msg);
9374                          } else {
9375                            globalwpw.wildCard = 0;
9376                            wpwMsg.single(
9377                              wpwKits.randomMsg(
9378                                globalwpw.settings.obj.empty_filter_msg
9379                              )
9380                            );
9381
9382                            wpwTree.start_menu_settings();
9383                          }
9384                        } else {
9385                          var productSucces =
9386                            wpwKits.randomMsg(
9387                              globalwpw.settings.obj.product_success
9388                            ) +
9389                            " <strong>" +
9390                            msg +
9391                            "</strong>!";
9392                          wpwMsg.double_nobg(productSucces, response.html);
9393
9394                          if (response.per_page >= response.product_num) {
9395                            setTimeout(function () {
9396                              var searchAgain = wpwKits.randomMsg(
9397                                globalwpw.settings.obj.product_infinite
9398                              );
9399                              wpwMsg.single(
9400                                searchAgain
9401                              );
9402                              wpwTree.start_menu_settings();
9403                              //keeping value in localstorage
9404                              globalwpw.wildCard = 20;
9405                              globalwpw.productStep = "search";
9406                              localStorage.setItem(
9407                                "productStep",
9408                                globalwpw.productStep
9409                              );
9410                            }, globalwpw.settings.wildcardsShowTime);
9411                          }
9412                        }
9413                      });
9414                    } else {
9415                      if (
9416                        msg != "" &&
9417                        globalwpw.settings.obj.disable_sitesearch != "1"
9418                      ) {
9419                        var data = {
9420                          action: "wpbo_search_site",
9421                          name: globalwpw.hasNameCookie,
9422                          keyword: msg,
9423                          language: globalwpw.settings.obj.language,
9424                        };
9425                        if (
9426                          $(
9427                            globalwpw.settings.messageLastChild +
9428                            " .wp-chatbot-comment-loader"
9429                          ).length == 0
9430                        ) {
9431                          $(globalwpw.settings.messageContainer).append(
9432                            wpwKits.botPreloader()
9433                          );
9434                        }
9435                        wpwKits.ajax(data).done(function (response) {
9436                          var json = $.parseJSON(response);
9437                          if (json.status == "success") {
9438                            $('span[data-wildcart="back"]').remove();
9439                            $(
9440                              "#wp-chatbot-messages-container li .wp-chatbot-comment-loader"
9441                            )
9442                              .parent(".wp-chatbot-paragraph")
9443                              .hide();
9444                            wpwMsg.single_nobg(json.html);
9445                            // setTimeout(() => {
9446                            //     $(".wpb-search-result a").first()[0].scrollIntoView();
9447                            // }, 600);
9448                          } else if (
9449                            globalwpw.settings.obj.open_ai_enable == "1" ||
9450                            globalwpw.settings.obj.tvlyai_enabled == "1" ||
9451                            globalwpw.settings.obj.ollama_enabled == "1" ||
9452                            globalwpw.settings.obj.openrouter_enabled == "1" ||
9453                            globalwpw.settings.obj.mistral_enabled == "1" ||
9454                            globalwpw.settings.obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1"
9455                          ) {
9456                            //new update
9457
9458                            wpwMsg.open_ai_message_callback(openai_msg);
9459                          } else {
9460                            var data = {
9461                              action: "wpbo_failed_response",
9462                              name: globalwpw.hasNameCookie,
9463                              keyword: msg,
9464                            };
9465                            wpwKits.ajax(data).done(function (res) {
9466                              if (
9467                                globalwpw.counter ==
9468                                globalwpw.settings.obj
9469                                  .no_result_attempt_count ||
9470                                globalwpw.settings.obj
9471                                  .no_result_attempt_count == 0
9472                              ) {
9473                                if (
9474                                  wpwKits.render(
9475                                    globalwpw.settings.obj
9476                                      .no_result_attempt_message
9477                                  ) != ""
9478                                ) {
9479                                  setTimeout(function () {
9480                                    wpwMsg.single(
9481                                      wpwKits.render(
9482                                        globalwpw.settings.obj
9483                                          .no_result_attempt_message
9484                                      )
9485                                    );
9486                                  }, globalwpw.settings.preLoadingTime);
9487                                  wpwTree.start_menu_settings();
9488                                } else {
9489                                  wpwTree.start_menu_settings();
9490                                }
9491                                if (
9492                                  globalwpw.settings.obj
9493                                    .qcld_disable_repited_startmenu == "1"
9494                                ) {
9495                                  setTimeout(function () {
9496                                    wpwMsg.single(
9497                                      wpwKits.randomMsg(
9498                                        '<span class="qcld-chatbot-wildcard"  data-wildcart="back">' +
9499                                        wpwKits.randomMsg(
9500                                          globalwpw.settings.obj.back_to_start
9501                                        ) +
9502                                        "</span>"
9503                                      )
9504                                    );
9505                                  });
9506                                  globalwpw.counter = 0;
9507                                }
9508                              } else {
9509                                globalwpw.counter++;
9510
9511                                if (
9512                                  globalwpw.settings.obj
9513                                    .qcld_disable_repited_startmenu == "1"
9514                                ) {
9515                                  wpwMsg.double_nobg(
9516                                    wpwKits.randomMsg(
9517                                      globalwpw.settings.obj.no_result
9518                                    ),
9519                                    '<span class="qcld-chatbot-wildcard qcld_back_to_start"  data-wildcart="back">' +
9520                                    wpwKits.randomMsg(
9521                                      globalwpw.settings.obj.back_to_start
9522                                    ) +
9523                                    "</span>"
9524                                  );
9525                                } else {
9526                                  wpwMsg.single(
9527                                    wpwKits.randomMsg(
9528                                      globalwpw.settings.obj.no_result
9529                                    )
9530                                  );
9531                                  // wpwMsg.single_nobg('<span class="qcld-chatbot-wildcard"  data-wildcart="back">' +  + '</span>');
9532                                }
9533                              }
9534                            });
9535                          }
9536                          globalwpw.wildCard = 0;
9537                        });
9538                      } else if (
9539                        wp_chatbot_obj.ollama_enabled == "1" ||
9540                        wp_chatbot_obj.openrouter_enabled == "1" ||
9541                        wp_chatbot_obj.open_ai_enable == "1" ||
9542                        wp_chatbot_obj.grok_enabled == "1" ||
9543                        wp_chatbot_obj.mistral_enabled == "1" ||
9544                        wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
9545                        globalwpw.settings.obj.tvlyai_enabled == "1"
9546                      ) {
9547                        wpwMsg.open_ai_message_callback(openai_msg);
9548                      } else {
9549                        wpwTree.start_menu_settings();
9550                      }
9551                    }
9552                  }
9553                });
9554              } else {
9555                var all_html = [];
9556                var count_result = 0;
9557                //Default intents site search
9558                var openai_msg = msg;
9559                msg = wpwKits.filterStopWords(msg);
9560                var wppt_post_types = globalwpw.settings.obj.wppt_post_types;
9561                var woo_search_active = false;
9562                var post_types_array = (Array.isArray(wppt_post_types)) ? wppt_post_types : Object.values(wppt_post_types);
9563                if (
9564                  globalwpw.settings.obj.woocommerce &&
9565                  typeof globalwpw.settings.obj.wppt_post_types !== "undefined"
9566                ) {
9567                  var sysKeyProductRendered = wpwKits.render(
9568                    globalwpw.settings.obj.sys_key_product
9569                  );
9570                  if (
9571                    typeof sysKeyProductRendered !== "undefined" &&
9572                    sysKeyProductRendered !== null &&
9573                    post_types_array.indexOf(
9574                      sysKeyProductRendered.toLowerCase()
9575                    ) > -1 &&
9576                    woo_search_active
9577                  ) {
9578                    woo_search_active = true;
9579                  } else {
9580                    woo_search_active = false;
9581                  }
9582                }
9583                if (globalwpw.settings.obj.woocommerce && woo_search_active) {
9584                  var data = {
9585                    action: "qcld_wb_chatbot_keyword",
9586                    keyword: msg,
9587                    language: globalwpw.settings.obj.language,
9588                  };
9589                  //Products by string search ajax handler.
9590                  if (
9591                    $(
9592                      globalwpw.settings.messageLastChild +
9593                      " .wp-chatbot-comment-loader"
9594                    ).length == 0
9595                  ) {
9596                    $(globalwpw.settings.messageContainer).append(
9597                      wpwKits.botPreloader()
9598                    );
9599                  }
9600                  wpwKits.ajax(data).done(function (response) {
9601                    if (response.product_num == 0) {
9602                      if (
9603                        msg != "" &&
9604                        globalwpw.settings.obj.disable_sitesearch == "" &&
9605                        globalwpw.settings.obj.qc_site_search_priority != "1"
9606                      ) {
9607                        var data = {
9608                          action: "wpbo_search_site",
9609                          name: globalwpw.hasNameCookie,
9610                          keyword: msg,
9611                          language: globalwpw.settings.obj.language,
9612                        };
9613                        if (
9614                          $(
9615                            globalwpw.settings.messageLastChild +
9616                            " .wp-chatbot-comment-loader"
9617                          ).length == 0
9618                        ) {
9619                          $(globalwpw.settings.messageContainer).append(
9620                            wpwKits.botPreloader()
9621                          );
9622                        }
9623                        wpwKits.ajax(data).done(function (response) {
9624                          var json = $.parseJSON(response);
9625
9626                          if (json.status == "success") {
9627                            $(
9628                              "#wp-chatbot-messages-container li .wp-chatbot-comment-loader"
9629                            )
9630                              .parent(".wp-chatbot-paragraph")
9631                              .hide();
9632                            $('span[data-wildcart="back"]').remove();
9633                            wpwMsg.single_nobg(json.html);
9634                            setTimeout(() => {
9635                              $(".wpb-search-result a")
9636                                .first()[0]
9637                                .scrollIntoView();
9638                            }, 600);
9639                          } else if (
9640                            wp_chatbot_obj.ollama_enabled == "1" ||
9641                            wp_chatbot_obj.openrouter_enabled == "1" ||
9642                            wp_chatbot_obj.open_ai_enable == "1" ||
9643                            wp_chatbot_obj.grok_enabled == "1" ||
9644                            wp_chatbot_obj.mistral_enabled == "1" ||
9645                            wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
9646                            globalwpw.settings.obj.tvlyai_enabled == "1"
9647                          ) {
9648                            wpwMsg.open_ai_message_callback(openai_msg);
9649                          } else {
9650                            var data = {
9651                              action: "wpbo_failed_response",
9652                              name: globalwpw.hasNameCookie,
9653                              keyword: msg,
9654                            };
9655                            wpwKits.ajax(data).done(function (res) {
9656                              //
9657                              if (
9658                                globalwpw.counter ==
9659                                globalwpw.settings.obj
9660                                  .no_result_attempt_count ||
9661                                globalwpw.settings.obj
9662                                  .no_result_attempt_count == 0
9663                              ) {
9664                                wpwMsg.single(wpwKits.randomMsg(json.html));
9665
9666                                if (
9667                                  wpwKits.render(
9668                                    globalwpw.settings.obj
9669                                      .no_result_attempt_message
9670                                  ) != ""
9671                                ) {
9672                                  setTimeout(function () {
9673                                    wpwMsg.single(
9674                                      wpwKits.render(
9675                                        globalwpw.settings.obj
9676                                          .no_result_attempt_message
9677                                      )
9678                                    );
9679                                  }, globalwpw.settings.preLoadingTime);
9680                                } else {
9681                                  wpwTree.start_menu_settings();
9682                                }
9683
9684                                globalwpw.counter = 0;
9685                              } else {
9686                                globalwpw.counter++;
9687                                wpwMsg.single(wpwKits.randomMsg(json.html));
9688                              }
9689                            });
9690                          }
9691                          globalwpw.wildCard = 0;
9692                        });
9693                      } else if (
9694                        wp_chatbot_obj.ollama_enabled == "1" ||
9695                        wp_chatbot_obj.open_ai_enable == "1" ||
9696                        wp_chatbot_obj.grok_enabled == "1" ||
9697                        wp_chatbot_obj.openrouter_enabled == "1" ||
9698                        wp_chatbot_obj.mistral_enabled == "1" ||
9699                        wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
9700                        globalwpw.settings.obj.tvlyai_enabled == "1"
9701                      ) {
9702                        wpwMsg.open_ai_message_callback(openai_msg);
9703                      } else {
9704                        globalwpw.wildCard = 0;
9705                        wpwMsg.single(
9706                          wpwKits.randomMsg(
9707                            globalwpw.settings.obj.empty_filter_msg
9708                          )
9709                        );
9710
9711                        wpwTree.start_menu_settings();
9712                      }
9713                    } else {
9714                      var productSucces =
9715                        wpwKits.randomMsg(
9716                          globalwpw.settings.obj.product_success
9717                        ) +
9718                        " <strong>" +
9719                        msg +
9720                        "</strong>!";
9721                      wpwMsg.double_nobg(productSucces, response.html);
9722
9723                      if (response.per_page >= response.product_num) {
9724                        setTimeout(function () {
9725                          var searchAgain = wpwKits.randomMsg(
9726                            globalwpw.settings.obj.product_infinite
9727                          );
9728                          if (
9729                            globalwpw.settings.obj
9730                              .qcld_disable_repited_startmenu == "1"
9731                          ) {
9732                            wpwMsg.single(
9733                              searchAgain
9734                            );
9735                            wpwTree.start_menu_settings();
9736                          } else {
9737                            wpwMsg.single(searchAgain);
9738                          }
9739                          //keeping value in localstorage
9740                          globalwpw.wildCard = 20;
9741                          globalwpw.productStep = "search";
9742                          localStorage.setItem(
9743                            "productStep",
9744                            globalwpw.productStep
9745                          );
9746                        }, globalwpw.settings.wildcardsShowTime);
9747                      }
9748                    }
9749                  });
9750                } else {
9751                  if (
9752                    msg != "" &&
9753                    globalwpw.settings.obj.disable_sitesearch != "1"
9754                  ) {
9755                    var data = {
9756                      action: "wpbo_search_site",
9757                      name: globalwpw.hasNameCookie,
9758                      keyword: msg,
9759                      language: globalwpw.settings.obj.language,
9760                    };
9761                    if (
9762                      $(
9763                        globalwpw.settings.messageLastChild +
9764                        " .wp-chatbot-comment-loader"
9765                      ).length == 0
9766                    ) {
9767                      $(globalwpw.settings.messageContainer).append(
9768                        wpwKits.botPreloader()
9769                      );
9770                    }
9771                    wpwKits.ajax(data).done(function (response) {
9772                      var json = $.parseJSON(response);
9773                      if (json.status == "success") {
9774                        $('span[data-wildcart="back"]').remove();
9775                        $(
9776                          "#wp-chatbot-messages-container li .wp-chatbot-comment-loader"
9777                        )
9778                          .parent(".wp-chatbot-paragraph")
9779                          .hide();
9780                        wpwMsg.single_nobg(json.html);
9781                        // setTimeout(() => {
9782                        //     $(".wpb-search-result a").first()[0].scrollIntoView();
9783                        // }, 600);
9784                      } else if (
9785                        globalwpw.settings.obj.open_ai_enable == "1" ||
9786                        globalwpw.settings.obj.tvlyai_enabled == "1"
9787                      ) {
9788                        wpwMsg.open_ai_message_callback(openai_msg);
9789                      } else {
9790                        var data = {
9791                          action: "wpbo_failed_response",
9792                          name: globalwpw.hasNameCookie,
9793                          keyword: msg,
9794                        };
9795                        wpwKits.ajax(data).done(function (res) {
9796                          
9797                          if (
9798                            globalwpw.counter < globalwpw.settings.obj.no_result_attempt_count ||
9799                            globalwpw.settings.obj.no_result_attempt_count == 0
9800                          ) {
9801                            if (
9802                              wpwKits.render(
9803                                globalwpw.settings.obj.no_result_attempt_message
9804                              ) != ""
9805                            ) {
9806                              setTimeout(function () {
9807                                wpwMsg.single(
9808                                  wpwKits.render(
9809                                    globalwpw.settings.obj
9810                                      .no_result_attempt_message
9811                                  )
9812                                );
9813                              }, globalwpw.settings.preLoadingTime);
9814                              wpwTree.start_menu_settings();
9815                            } else {
9816                              wpwTree.start_menu_settings();
9817                            }
9818                            setTimeout(function () {
9819                              if (
9820                                globalwpw.settings.obj
9821                                  .qcld_disable_repited_startmenu == "1"
9822                              ) {
9823                                wpwMsg.single(
9824                                  wpwKits.randomMsg(
9825                                    '<span class="qcld-chatbot-wildcard"  data-wildcart="back">' +
9826                                    wpwKits.randomMsg(
9827                                      globalwpw.settings.obj.back_to_start
9828                                    ) +
9829                                    "</span>"
9830                                  )
9831                                );
9832                              }
9833                            });
9834
9835                            globalwpw.counter = 0;
9836                          } else {
9837                            globalwpw.counter++;
9838
9839                            if (
9840                              globalwpw.settings.obj
9841                                .qcld_disable_repited_startmenu == "1"
9842                            ) {
9843                              wpwMsg.double_nobg(
9844                                wpwKits.randomMsg(
9845                                  globalwpw.settings.obj.no_result
9846                                ),
9847                                '<span class="qcld-chatbot-wildcard qcld_back_to_start"  data-wildcart="back">' +
9848                                wpwKits.randomMsg(
9849                                  globalwpw.settings.obj.back_to_start
9850                                ) +
9851                                "</span>"
9852                              );
9853                            } else {
9854                              wpwMsg.double_nobg(
9855                                wpwKits.randomMsg(
9856                                  globalwpw.settings.obj.no_result
9857                                ),
9858                                globalwpw.wildcards
9859                              );
9860                              // wpwMsg.single_nobg('<span class="qcld-chatbot-wildcard"  data-wildcart="back">' +  + '</span>');
9861                            }
9862                          }
9863                        });
9864                      }
9865                      globalwpw.wildCard = 0;
9866                    });
9867                  } else if (
9868                    wp_chatbot_obj.ollama_enabled == "1" ||
9869                    wp_chatbot_obj.openrouter_enabled == "1" ||
9870                    wp_chatbot_obj.open_ai_enable == "1" ||
9871                    wp_chatbot_obj.grok_enabled == "1" ||
9872                    wp_chatbot_obj.mistral_enabled == "1" ||
9873                    wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
9874                    globalwpw.settings.obj.tvlyai_enabled == "1"
9875                  ) {
9876                    wpwMsg.open_ai_message_callback(openai_msg);
9877                  } else {
9878                    wpwTree.start_menu_settings();
9879                  }
9880                }
9881              }
9882            }
9883
9884          }
9885        }
9886      } else {
9887        //When intialize 1 and don't have cookies then keep  the name of shooper in in cookie
9888        if (
9889          globalwpw.initialize == 1 &&
9890          !localStorage.getItem("shopper") &&
9891          globalwpw.wildCard == 0
9892        ) {
9893          var mainmsg = msg;
9894          // msg=wpwKits.toTitlecase(wpwKits.filterStopWords(msg));
9895          if (msg != "" && typeof msg != "undefined") {
9896            if (msg.length === 1) {
9897              msg = wpwKits.toTitlecase(msg);
9898            } else {
9899              msg = wpwKits.toTitlecase(msg);
9900            }
9901          }
9902          if (
9903            (globalwpw.settings.obj.ask_name_confirmation == "" ||
9904              globalwpw.settings.obj.ask_name_auto_confirmation == "") &&
9905            localStorage.getItem("shoppername_recognized")
9906          ) {
9907            if (mainmsg == wpwKits.render(globalwpw.settings.obj.yes)) {
9908              var name = localStorage.getItem("shoppername_recognized");
9909              globalwpw.settings.obj.ask_name_confirmation = "";
9910              localStorage.removeItem("shoppername_recognized");
9911              wpwTree.greeting(name);
9912            } else {
9913              localStorage.removeItem("shoppername_recognized");
9914              wpwMsg.single(
9915                wpwKits.randomMsg(globalwpw.settings.obj.asking_name)
9916              );
9917            }
9918          } else if (
9919            globalwpw.settings.obj.ask_name_confirmation == "" &&
9920            globalwpw.settings.obj.ask_name_auto_confirmation != "1" &&
9921            globalwpw.settings.obj.skip_wp_greetings != "1"
9922          ) {
9923            $.cookie("shopper", msg, { expires: 365 });
9924            localStorage.setItem("shopper", msg);
9925            globalwpw.hasNameCookie = msg;
9926            //Greeting with name and suggesting the wildcard.
9927            var NameGreeting =
9928              wpwKits.randomMsg(globalwpw.settings.obj.i_am) +
9929              " <strong>" +
9930              wpwKits.render(globalwpw.settings.obj.agent) +
9931              "</strong>! " +
9932              wpwKits.randomMsg(globalwpw.settings.obj.name_greeting);
9933            var serviceOffer = wpwKits.randomMsg(
9934              globalwpw.settings.obj.wildcard_msg
9935            );
9936            //After completing two steps messaging showing wildcards.
9937            if (globalwpw.settings.obj.ask_email_wp_greetings == 1) {
9938              localStorage.setItem("default_asking_email", 1);
9939              var emailsharetext = wpwKits.randomMsg(
9940                globalwpw.settings.obj.asking_emailaddress
9941              );
9942              if (globalwpw.settings.obj.enable_gdpr) {
9943                wpwMsg.triple_nobg(
9944                  NameGreeting,
9945                  emailsharetext,
9946                  wpwKits.render(globalwpw.settings.obj.gdpr_text)
9947                );
9948              } else {
9949                wpwMsg.double(NameGreeting, emailsharetext);
9950              }
9951            } else if (globalwpw.settings.obj.ask_phone_wp_greetings == 1) {
9952              localStorage.setItem("default_asking_phone", 1);
9953              var phonesharetext = wpwKits.randomMsg(
9954                globalwpw.settings.obj.asking_phone_gt
9955              );
9956              if (globalwpw.settings.obj.enable_gdpr) {
9957                wpwMsg.triple_nobg(
9958                  NameGreeting,
9959                  phonesharetext,
9960                  wpwKits.render(globalwpw.settings.obj.gdpr_text)
9961                );
9962              } else {
9963                wpwMsg.double(NameGreeting, phonesharetext);
9964              }
9965            } else {
9966              if (
9967                globalwpw.settings.obj.show_menu_after_greetings == 1 &&
9968                globalwpw.settings.obj.qcld_disable_start_menu != "1" &&
9969                typeof globalwpw.wildcards != "undefined" &&
9970                globalwpw.wildcards != "" &&
9971                globalwpw.settings.obj.qcld_disable_beginning_startmenu != "1"
9972              ) {
9973                wpwMsg.triple_nobg(
9974                  NameGreeting,
9975                  serviceOffer,
9976                  globalwpw.wildcards
9977                );
9978              } else {
9979                wpwMsg.single(NameGreeting);
9980              }
9981            }
9982          } else if (
9983            globalwpw.settings.obj.ask_name_confirmation == "1" ||
9984            globalwpw.settings.obj.ask_name_auto_confirmation == "1"
9985          ) {
9986            var arrMsg =
9987              globalwpw.settings.obj.i_understand[
9988              globalwpw.settings.obj.language
9989              ];
9990            var i_understand = "";
9991            var index = Math.floor(Math.random() * arrMsg.length);
9992            var res = msg.split(" ");
9993
9994            localStorage.setItem("openai_name", msg);
9995            localStorage.setItem("shoppername_recognized", msg);
9996            if (res.length >= 2) {
9997              var openai_msg = msg;
9998              msg = wpwKits.filterStopWords(msg);
9999            }
10000            if (arrMsg[index] != "" && typeof arrMsg[index] !== "undefined") {
10001              i_understand = arrMsg[index].replace(
10002                "%%username%%",
10003                "<strong>" + msg + "</strong>"
10004              );
10005            }
10006            if (globalwpw.settings.obj.ask_name_auto_confirmation == "1") {
10007              var openai_name_sting = localStorage.getItem("openai_name");
10008              var keyword =
10009                "Does the following words contain a person name in any language? Answer with only the name part or no only for first time. The words are " +
10010                openai_name_sting;
10011              var data = {
10012                action: "openai_name_checker",
10013                name: globalwpw.hasNameCookie,
10014                keyword: keyword,
10015                nonce: wp_chatbot_obj.ajax_nonce,
10016              };
10017              wpwKits.ajax(data).done(function (res) {
10018                var json = $.parseJSON(res);
10019                if (json.status == "success") {
10020                  if (json.message.toLowerCase() == "no") {
10021                    globalwpw.settings.obj.skip_wp_greetings = "1";
10022                    wpwMsg.open_ai_message_callback(openai_name_sting);
10023                  } else {
10024                    wpwMsg.shopper_choice(json.message.toUpperCase());
10025                    wpwAction.bot(json.message.toUpperCase());
10026                    globalwpw.settings.obj.ask_name_confirmation = "";
10027                    globalwpw.settings.obj.ask_name_auto_confirmation = "";
10028                    wpwMsg.shopper_choice(json.message);
10029                    wpwAction.bot(json.message);
10030                  }
10031                } else {
10032                  globalwpw.settings.obj.ask_name_confirmation = "";
10033                  globalwpw.settings.obj.ask_name_auto_confirmation = "";
10034                  localStorage.setItem("shoppername_recognized", msg);
10035                  var confirmBtn =
10036                    '<span class="qcld-chat-common qcld-name-confirm" data-res="' +
10037                    wpwKits.render(globalwpw.settings.obj.yes) +
10038                    '" >' +
10039                    wpwKits.render(globalwpw.settings.obj.yes) +
10040                    "</span> <span> " +
10041                    wpwKits.render(globalwpw.settings.obj.or) +
10042                    ' </span><span class="qcld-chat-common qcld-name-confirm"  data-res="' +
10043                    wpwKits.render(globalwpw.settings.obj.no) +
10044                    '">' +
10045                    wpwKits.render(globalwpw.settings.obj.no) +
10046                    "</span>";
10047                  wpwMsg.double_nobg(i_understand, confirmBtn);
10048                }
10049              });
10050            } else {
10051              localStorage.setItem("shoppername_recognized", msg);
10052              var confirmBtn =
10053                '<span class="qcld-chat-common qcld-name-confirm" data-res="' +
10054                wpwKits.render(globalwpw.settings.obj.yes) +
10055                '" >' +
10056                wpwKits.render(globalwpw.settings.obj.yes) +
10057                "</span> <span> " +
10058                wpwKits.render(globalwpw.settings.obj.or) +
10059                ' </span><span class="qcld-chat-common qcld-name-confirm"  data-res="' +
10060                wpwKits.render(globalwpw.settings.obj.no) +
10061                '">' +
10062                wpwKits.render(globalwpw.settings.obj.no) +
10063                "</span>";
10064              wpwMsg.double_nobg(i_understand, confirmBtn);
10065            }
10066          }
10067        }
10068        //When returning shopper then greeting with name and wildcards.
10069        else if (localStorage.getItem("shopper") && globalwpw.wildCard == 0) {
10070          if (
10071            globalwpw.settings.obj.ask_email_wp_greetings == 1 &&
10072            !localStorage.getItem("shopperemail")
10073          ) {
10074            var re =
10075              /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
10076            if (re.test(msg) != true) {
10077              var email = msg + " " + localStorage.getItem("shopper");
10078              $.cookie("shopperemail", email, { expires: 365 });
10079              localStorage.setItem("shopperemail", email);
10080              //After asking service show the wildcards.
10081              var noemailtext = wpwKits.randomMsg(
10082                globalwpw.settings.obj.email_ignore
10083              );
10084              var serviceOffer = wpwKits.randomMsg(
10085                globalwpw.settings.obj.wildcard_msg
10086              );
10087              globalwpw.wildCard = 0;
10088              if (email != "") {
10089                var data = {
10090                  action: "qcld_wb_chatbot_email_subscription",
10091                  name: localStorage.getItem("shopper"),
10092                  email: email,
10093                  url: window.location.href,
10094                };
10095                wpwKits.ajax(data).done(function (response) {
10096                  //response.
10097                });
10098              }
10099              if (globalwpw.settings.obj.ask_phone_wp_greetings == 1) {
10100                localStorage.setItem("default_asking_phone", 1);
10101                var phonesharetext = wpwKits.randomMsg(
10102                  globalwpw.settings.obj.asking_phone_gt
10103                );
10104                if (globalwpw.settings.obj.enable_gdpr) {
10105                  wpwMsg.triple_nobg(
10106                    noemailtext,
10107                    phonesharetext,
10108                    wpwKits.render(globalwpw.settings.obj.gdpr_text)
10109                  );
10110                } else {
10111                  wpwMsg.double(noemailtext, phonesharetext);
10112                }
10113              } else {
10114                localStorage.setItem("wildCard", globalwpw.wildCard);
10115                if (
10116                  globalwpw.settings.obj.show_menu_after_greetings == 1 &&
10117                  globalwpw.settings.obj.qcld_disable_start_menu != "1" &&
10118                  typeof globalwpw.wildcards != "undefined" &&
10119                  globalwpw.wildcards != "" &&
10120                  globalwpw.settings.obj.qcld_disable_beginning_startmenu != "1"
10121                ) {
10122                  wpwMsg.triple_nobg(
10123                    noemailtext,
10124                    serviceOffer,
10125                    globalwpw.wildcards
10126                  );
10127                } else {
10128                  wpwMsg.single(noemailtext);
10129                }
10130              }
10131              localStorage.removeItem("default_asking_email");
10132            } else {
10133              var email = msg;
10134              $.cookie("shopperemail", email, { expires: 365 });
10135              localStorage.setItem("shopperemail", email);
10136
10137              if (email != "") {
10138                var data = {
10139                  action: "qcld_wb_chatbot_email_subscription",
10140                  name: localStorage.getItem("shopper"),
10141                  email: email,
10142                  url: window.location.href,
10143                };
10144
10145                wpwKits.ajax(data).done(function (response) {
10146                  //response.
10147                });
10148              }
10149              var emailgreetings = wpwKits.randomMsg(
10150                globalwpw.settings.obj.got_email
10151              );
10152              var serviceOffer = wpwKits.randomMsg(
10153                globalwpw.settings.obj.wildcard_msg
10154              );
10155              //After completing two steps messaging showing wildcards.
10156
10157              if (globalwpw.settings.obj.ask_phone_wp_greetings == 1) {
10158                localStorage.setItem("default_asking_phone", 1);
10159                var phonesharetext = wpwKits.randomMsg(
10160                  globalwpw.settings.obj.asking_phone_gt
10161                );
10162                if (globalwpw.settings.obj.enable_gdpr) {
10163                  wpwMsg.triple_nobg(
10164                    emailgreetings,
10165                    phonesharetext,
10166                    wpwKits.render(globalwpw.settings.obj.gdpr_text)
10167                  );
10168                } else {
10169                  wpwMsg.double(emailgreetings, phonesharetext);
10170                }
10171              } else {
10172                if (
10173                  globalwpw.settings.obj.show_menu_after_greetings == 1 &&
10174                  globalwpw.settings.obj.qcld_disable_start_menu != "1" &&
10175                  typeof globalwpw.wildcards != "undefined" &&
10176                  globalwpw.wildcards != "" &&
10177                  globalwpw.settings.obj.qcld_disable_beginning_startmenu != "1"
10178                ) {
10179                  wpwMsg.triple_nobg(
10180                    emailgreetings,
10181                    serviceOffer,
10182                    globalwpw.wildcards
10183                  );
10184                } else {
10185                  wpwMsg.single(emailgreetings);
10186                }
10187
10188                globalwpw.wildCard = 0;
10189                localStorage.setItem("wildCard", globalwpw.wildCard);
10190              }
10191              localStorage.removeItem("default_asking_email");
10192            }
10193            localStorage.removeItem("default_asking_email");
10194          } else if (
10195            globalwpw.settings.obj.ask_phone_wp_greetings == 1 &&
10196            !localStorage.getItem("shopperphone")
10197          ) {
10198            var phonegreetings = wpwKits.randomMsg(
10199              globalwpw.settings.obj.got_phone
10200            );
10201            var serviceOffer = wpwKits.randomMsg(
10202              globalwpw.settings.obj.wildcard_msg
10203            );
10204            var nophonetext = wpwKits.randomMsg(
10205              globalwpw.settings.obj.phone_ignore
10206            );
10207
10208            var data = {
10209              action: "qcld_wb_chatbot_phone_validate",
10210              name: globalwpw.hasNameCookie,
10211              phone: msg,
10212            };
10213            if (
10214              $(
10215                globalwpw.settings.messageLastChild +
10216                " .wp-chatbot-comment-loader"
10217              ).length == 0
10218            ) {
10219              $(globalwpw.settings.messageContainer).append(
10220                wpwKits.botPreloader()
10221              );
10222            }
10223            wpwKits.ajax(data).done(function (response) {
10224              var json = $.parseJSON(response);
10225              if (json.status == "success") {
10226                localStorage.setItem("shopperphone", msg);
10227                if (
10228                  globalwpw.settings.obj.show_menu_after_greetings == 1 &&
10229                  globalwpw.settings.obj.qcld_disable_start_menu != "1" &&
10230                  typeof globalwpw.wildcards != "undefined" &&
10231                  globalwpw.wildcards != "" &&
10232                  globalwpw.settings.obj.qcld_disable_beginning_startmenu != "1"
10233                ) {
10234                  wpwMsg.triple_nobg(
10235                    phonegreetings,
10236                    serviceOffer,
10237                    globalwpw.wildcards
10238                  );
10239                } else {
10240                  wpwMsg.single(phonegreetings);
10241                }
10242
10243                globalwpw.wildCard = 0;
10244                localStorage.setItem("wildCard", globalwpw.wildCard);
10245
10246                if (localStorage.getItem("shopperemail")) {
10247                  var email = localStorage.getItem("shopperemail");
10248                } else {
10249                  var email = "";
10250                }
10251
10252                var data = {
10253                  action: "qcld_wb_chatbot_email_subscription",
10254                  name: localStorage.getItem("shopper"),
10255                  email: email,
10256                  phone: msg,
10257                  url: window.location.href,
10258                };
10259
10260                wpwKits.ajax(data).done(function (response) {
10261                  //response.
10262                });
10263              } else if (json.status == "invalid") {
10264                if (
10265                  globalwpw.settings.obj.show_menu_after_greetings == 1 &&
10266                  globalwpw.settings.obj.qcld_disable_start_menu != "1" &&
10267                  typeof globalwpw.wildcards != "undefined" &&
10268                  globalwpw.wildcards != "" &&
10269                  globalwpw.settings.obj.qcld_disable_beginning_startmenu != "1"
10270                ) {
10271                  wpwMsg.triple_nobg(
10272                    nophonetext,
10273                    serviceOffer,
10274                    globalwpw.wildcards
10275                  );
10276                } else {
10277                  wpwMsg.single(nophonetext);
10278                }
10279
10280                globalwpw.wildCard = 0;
10281                localStorage.setItem("wildCard", globalwpw.wildCard);
10282              }
10283              localStorage.removeItem("default_asking_phone");
10284            });
10285          } else {
10286            //After asking service show the wildcards.
10287            var serviceOffer = wpwKits.randomMsg(
10288              globalwpw.settings.obj.wildcard_msg
10289            );
10290            wpwTree.start_menu_settings();
10291          }
10292        }
10293      }
10294    },
10295    df_multi_handle: function (array) {
10296      if (array.length > 0) {
10297        setTimeout(function () {
10298          wpwMsg.single(array[0]);
10299          array.splice(0, 1);
10300          if (array.length > 0) {
10301            setTimeout(function () {
10302              wpwTree.df_multi_handle(array);
10303            }, globalwpw.settings.preLoadingTime);
10304          }
10305        }, globalwpw.settings.preLoadingTime);
10306      } else {
10307        wpwTree.start_menu_settings();
10308      }
10309    },
10310    df_reply: function (response) {
10311      //checking for facebook platform
10312      var i = 0;
10313      var html = "";
10314      var responses = [];
10315      console.log(response)
10316      if (globalwpw.settings.obj.df_api_version == "v1") {
10317        var messages = response.result.fulfillment.messages;
10318        var action = response.result.actionIncomplete;
10319        jQuery.each(messages, function (key, message) {
10320          html = "";
10321          i += 1;
10322          if (message.type == 2) {
10323            html += "<p>" + message.title + "</p>";
10324            var index = 0;
10325            for (index; index < message.replies.length; index++) {
10326              html +=
10327                '<span class="wpb-quick-reply qcld-chat-common">' +
10328                message.replies[index] +
10329                "</span>";
10330            }
10331          }
10332          //check for default reply
10333          else if (message.type == 0 && message.speech != "") {
10334            html += wpwTree.replace_url_from_content(message.speech);
10335          } else if (message.type == 1) {
10336            html += '<div class="wpbot_card_wraper">';
10337            html += '<div class="wpbot_card_image">';
10338            if (message.imageUrl != "") {
10339              html += '<img src="' + message.imageUrl + '" />';
10340            }
10341            html += '<div class="wpbot_card_caption">';
10342            if (message.title != "") {
10343              html += "<h2>" + message.title + "</h2>";
10344            }
10345            if (message.subtitle != "") {
10346              html += "<p>" + message.subtitle + "</p>";
10347            }
10348            html += "</div>";
10349            html += "</div>";
10350            if (typeof message.buttons !== "undefined") {
10351              if (message.buttons.length > 0) {
10352                jQuery.each(message.buttons, function (k, btn) {
10353                  html +=
10354                    '<a href="' +
10355                    btn.postback +
10356                    '" target="_blank"><i class="fa fa-external-link"></i> ' +
10357                    btn.text +
10358                    "</a>";
10359                });
10360              }
10361            }
10362
10363            html += "</div>";
10364          } else if (message.type == "simple_response") {
10365            html += message.textToSpeech;
10366          }
10367
10368          if (html != "") {
10369            responses.push(html);
10370          }
10371          /*
10372                    if(i==messages.length){
10373                        wpwMsg.single(html);    
10374                        //For back to start button              
10375                    if(action===false && !html.includes("?") && !html.includes("wpb-quick-reply")){
10376                            setTimeout(function(){
10377                                //wpwMsg.single('<span class="qcld-chatbot-wildcard"  data-wildcart="back">' + wpwKits.randomMsg(globalwpw.settings.obj.back_to_start) + '</span>');
10378                            }
10378, globalwpw.settings.preLoadingTime*2)
10379                        }
10380                        
10381                    }
10382                    */
10383        });
10384      } else {
10385        var messages = response.queryResult.fulfillmentMessages;
10386        var actioncomplete = response.queryResult.allRequiredParamsPresent;
10387        jQuery.each(messages, function (key, message) {
10388          html = "";
10389          i += 1;
10390          //handeling quickreplies
10391          if (typeof message.quickReplies !== "undefined") {
10392            if (typeof message.quickReplies.title !== "undefined") {
10393              html += "<p>" + message.quickReplies.title + "</p>";
10394            }
10395            if (typeof message.quickReplies.quickReplies !== "undefined") {
10396              var index = 0;
10397              for (
10398                index;
10399                index < message.quickReplies.quickReplies.length;
10400                index++
10401              ) {
10402                html +=
10403                  '<span class="wpb-quick-reply qcld-chat-common">' +
10404                  message.quickReplies.quickReplies[index] +
10405                  "</span>";
10406              }
10407            }
10408          }
10409          //handleing default response
10410          else if (typeof message.text !== "undefined") {
10411            if (
10412              typeof message.text.text !== "undefined" &&
10413              message.text.text.length > 0
10414            ) {
10415              html += message.text.text[0];
10416              // html += wpwTree.replace_url_from_content( message.text.text[0] );
10417            }
10418          } else if (typeof message.payload !== "undefined") {
10419            if (message.payload.richContent[0][0].options.length > 0) {
10420              jQuery.each(
10421                message.payload.richContent[0][0].options,
10422                function (k, btn) {
10423                  html +=
10424                    '<span class="wpb-quick-reply qcld-chat-common">' +
10425                    btn.text +
10426                    "</span>";
10427                }
10428              );
10429            }
10430          } else if (typeof message.card !== "undefined") {
10431            html += '<div class="wpbot_card_wraper">';
10432            html += '<div class="wpbot_card_image">';
10433            if (
10434              message.card.imageUri !== "undefined" &&
10435              message.card.imageUri != ""
10436            ) {
10437              html += '<img src="' + message.card.imageUri + '" />';
10438            }
10439            html += '<div class="wpbot_card_caption">';
10440            if (
10441              message.card.title !== "undefined" &&
10442              message.card.title != ""
10443            ) {
10444              html += "<h2>" + message.card.title + "</h2>";
10445            }
10446            if (
10447              message.card.subtitle !== "undefined" &&
10448              message.card.subtitle != ""
10449            ) {
10450              html += "<p>" + message.card.subtitle + "</p>";
10451            }
10452            html += "</div>";
10453            html += "</div>";
10454
10455            if (typeof message.card.buttons !== "undefined") {
10456              if (message.card.buttons.length > 0) {
10457                jQuery.each(message.card.buttons, function (k, btn) {
10458                  html +=
10459                    '<a href="' +
10460                    btn.postback +
10461                    '" target="' +
10462                    (globalwpw.settings.obj.df_cardlink_open == 1
10463                      ? ""
10464                      : "_blank") +
10465                    '"><i class="fa fa-external-link"></i> ' +
10466                    btn.text +
10467                    "</a>";
10468                });
10469              }
10470            }
10471
10472            html += "</div>";
10473          } else if (typeof message.image !== "undefined") {
10474            html += '<div class="wpbot_card_wraper">';
10475            html += '<div class="wpbot_card_image">';
10476            if (
10477              message.image.imageUri !== "undefined" &&
10478              message.image.imageUri != ""
10479            ) {
10480              html += '<img src="' + message.image.imageUri + '" />';
10481            }
10482            html += "</div>";
10483            html += "</div>";
10484          }
10485
10486          if (html != "") {
10487            responses.push(html);
10488          }
10489        });
10490      }
10491      wpwTree.df_multi_handle(responses);
10492    },
10493    df_cx_reply: function (response) {
10494      var i = 0;
10495      var html = "";
10496      var responses = [];
10497      var messages = response.queryResult.responseMessages;
10498      var actioncomplete = response.queryResult.allRequiredParamsPresent;
10499
10500      jQuery.each(messages, function (key, message) {
10501        html = "";
10502        i += 1;
10503        //handeling quickreplies
10504        if (typeof message.quickReplies !== "undefined") {
10505          if (typeof message.quickReplies.title !== "undefined") {
10506            html += "<p>" + message.quickReplies.title + "</p>";
10507          }
10508          if (typeof message.quickReplies.quickReplies !== "undefined") {
10509            var index = 0;
10510            for (
10511              index;
10512              index < message.quickReplies.quickReplies.length;
10513              index++
10514            ) {
10515              html +=
10516                '<span class="wpb-quick-reply qcld-chat-common">' +
10517                message.quickReplies.quickReplies[index] +
10518                "</span>";
10519            }
10520          }
10521        }
10522        //handleing default response
10523        else if (typeof message.text !== "undefined") {
10524          if (
10525            typeof message.text.text !== "undefined" &&
10526            message.text.text.length > 0
10527          ) {
10528            html += wpwTree.replace_url_from_content(message.text.text[0]);
10529          }
10530        } else if (typeof message.card !== "undefined") {
10531          html += '<div class="wpbot_card_wraper">';
10532          html += '<div class="wpbot_card_image">';
10533          if (
10534            message.card.imageUri !== "undefined" &&
10535            message.card.imageUri != ""
10536          ) {
10537            html += '<img src="' + message.card.imageUri + '" />';
10538          }
10539          html += '<div class="wpbot_card_caption">';
10540          if (message.card.title !== "undefined" && message.card.title != "") {
10541            html += "<h2>" + message.card.title + "</h2>";
10542          }
10543          if (
10544            message.card.subtitle !== "undefined" &&
10545            message.card.subtitle != ""
10546          ) {
10547            html += "<p>" + message.card.subtitle + "</p>";
10548          }
10549          html += "</div>";
10550          html += "</div>";
10551
10552          if (typeof message.card.buttons !== "undefined") {
10553            if (message.card.buttons.length > 0) {
10554              jQuery.each(message.card.buttons, function (k, btn) {
10555                html +=
10556                  '<a href="' +
10557                  btn.postback +
10558                  '" target="' +
10559                  (globalwpw.settings.obj.df_cardlink_open == 1
10560                    ? ""
10561                    : "_blank") +
10562                  '"><i class="fa fa-external-link"></i> ' +
10563                  btn.text +
10564                  "</a>";
10565              });
10566            }
10567          }
10568
10569          html += "</div>";
10570        } else if (typeof message.image !== "undefined") {
10571          html += '<div class="wpbot_card_wraper">';
10572          html += '<div class="wpbot_card_image">';
10573          if (
10574            message.image.imageUri !== "undefined" &&
10575            message.image.imageUri != ""
10576          ) {
10577            html += '<img src="' + message.image.imageUri + '" />';
10578          }
10579          html += "</div>";
10580          html += "</div>";
10581        }
10582
10583        if (html != "") {
10584          responses.push(html);
10585        }
10586      });
10587
10588      wpwTree.df_multi_handle(responses);
10589    },
10590    ollama_reply: function (response) {
10591      // const response = await fetch("https://example.org/post", {
10592      //     method: "POST",
10593      //     body: JSON.stringify({ username: "example" }),
10594      //   })
10595    },
10596    df_reply2: function (response) {
10597      if (globalwpw.settings.obj.df_api_version == "v1") {
10598        var messages = response.result.fulfillment.messages;
10599        switch (messages[0].type) {
10600          case 0: // text response
10601            return wpwTree.replace_url_from_content(messages[0].speech);
10602            break;
10603          case 1: // TODO card response
10604            break;
10605          case 2: // quick replies
10606            return messages[0].title;
10607
10608            break;
10609          case 3: // image response
10610            break;
10611          case 3: // custom payload
10612            break;
10613          default:
10614        }
10615      } else {
10616        var messages = response.queryResult.fulfillmentMessages;
10617        if (typeof messages[0].text !== "undefined") {
10618          if (
10619            typeof messages[0].text.text !== "undefined" &&
10620            messages[0].text.text.length > 0
10621          ) {
10622            return wpwTree.replace_url_from_content(messages[0].text.text[0]);
10623          }
10624        } else if (typeof messages[0].quickReplies !== "undefined") {
10625          if (typeof messages[0].quickReplies.title !== "undefined") {
10626            return messages[0].quickReplies.title;
10627          }
10628        }
10629      }
10630    },
10631    validateYouTubeUrl: function (urlToParse) {
10632      if (urlToParse) {
10633        var regExp =
10634          /^(?:https?:\/\/)?(?:m\.|www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))((\w|-){11})(?:\S+)?$/;
10635        if (urlToParse.match(regExp)) {
10636          return true;
10637        }
10638      }
10639      return false;
10640    },
10641    replace_url_from_content: function (content) {
10642      if (wpwTree.validateYouTubeUrl(content)) {
10643        return content;
10644      }
10645
10646      if (content.indexOf("iframe") > 0) {
10647        return content;
10648      }
10649
10650      if (content.indexOf("<a href") > 0) {
10651        return content;
10652      }
10653      var exp_match =
10654        /(\b(https?|):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gi;
10655
10656      return content.replace(exp_match, (url) => {
10657        if (wpwTree.validateYouTubeUrl(url)) {
10658          return url;
10659        }
10660
10661        //mp3 url parse
10662        var regExp = /https?:\/\/.+\.mp3/;
10663        if (url.match(regExp)) {
10664          return (
10665            '<audio controls autoplay><source src="' +
10666            url +
10667            '" type="audio/mpeg"></audio>'
10668          );
10669        }
10670
10671        //mp4 url parse support
10672        var regExp = /https?:\/\/.+\.mp4/;
10673        if (url.match(regExp)) {
10674          return (
10675            '<video controls autoplay><source src="' +
10676            url +
10677            '" type="video/mp4"></video>'
10678          );
10679        }
10680
10681        return (
10682          "<a href='" +
10683          url +
10684          "' target='" +
10685          (globalwpw.settings.obj.df_cardlink_open == 1 ? "" : "_blank") +
10686          "'>" +
10687          url +
10688          "</a>"
10689        );
10690      });
10691    },
10692    product: function (msg) {
10693      var wppt_post_types = globalwpw.settings.obj.wppt_post_types;
10694      var serviceOffer = wpwKits.randomMsg(globalwpw.settings.obj.wildcard_msg);
10695      if (globalwpw.wildCard == 20 && globalwpw.productStep == "asking") {
10696        var askingProduct = wpwKits.randomMsg(
10697          globalwpw.settings.obj.product_asking
10698        );
10699        if (
10700          globalwpw.counter == globalwpw.settings.obj.no_result_attempt_count ||
10701          globalwpw.settings.obj.no_result_attempt_count == 0
10702        ) {
10703          wpwMsg.single(askingProduct);
10704          wpwTree.start_menu_settings();
10705        } else {
10706          globalwpw.counter++;
10707          wpwMsg.single(askingProduct);
10708          globalwpw.productStep = "search";
10709        }
10710      } else if (
10711        globalwpw.wildCard == 20 &&
10712        globalwpw.productStep == "search"
10713      ) {
10714        msg = wpwKits.filterStopWords(msg);
10715        if (msg != "") {
10716          var data = {
10717            action: "qcld_wb_chatbot_keyword",
10718            keyword: msg,
10719            language: globalwpw.settings.obj.language,
10720          };
10721          //Products by string search ajax handler.
10722          if (
10723            $(
10724              globalwpw.settings.messageLastChild +
10725              " .wp-chatbot-comment-loader"
10726            ).length == 0
10727          ) {
10728            $(globalwpw.settings.messageContainer).append(
10729              wpwKits.botPreloader()
10730            );
10731          }
10732          wpwKits.ajax(data).done(function (response) {
10733            if (response.product_num == 0) {
10734              var productFail =
10735                wpwKits.randomMsg(globalwpw.settings.obj.product_fail) +
10736                " <strong>" +
10737                msg +
10738                "</strong>!";
10739              //var productSuggest=wpwKits.randomMsg(globalwpw.settings.obj.product_suggest);
10740
10741              // wpwMsg.single(productFail);
10742              if (
10743                typeof globalwpw.wildcards != "undefined" &&
10744                globalwpw.wildcards != ""
10745              ) {
10746                wpwMsg.triple_nobg(
10747                  productFail,
10748                  serviceOffer,
10749                  globalwpw.wildcards
10750                );
10751              } else {
10752                wpwMsg.double(productFail, serviceOffer);
10753              }
10754
10755              //Suggesting category.
10756            } else {
10757              var productSucces =
10758                wpwKits.randomMsg(globalwpw.settings.obj.product_success) +
10759                " <strong>" +
10760                msg +
10761                "</strong>!";
10762              wpwMsg.double_nobg(productSucces, response.html);
10763
10764              if (response.per_page >= response.product_num) {
10765                setTimeout(function () {
10766                  var searchAgain = wpwKits.randomMsg(
10767                    globalwpw.settings.obj.product_infinite
10768                  );
10769                  wpwMsg.double_nobg(
10770                    searchAgain,
10771                    '<span class="qcld-chatbot-wildcard"  data-wildcart="back">' +
10772                    wpwKits.randomMsg(globalwpw.settings.obj.back_to_start) +
10773                    "</span>"
10774                  );
10775                  //keeping value in localstorage
10776                  globalwpw.wildCard = 0;
10777                  globalwpw.productStep = "search";
10778                  localStorage.setItem("productStep", globalwpw.productStep);
10779                }, globalwpw.settings.wildcardsShowTime);
10780              }
10781            }
10782          });
10783        } else {
10784          var askingProduct = wpwKits.randomMsg(
10785            globalwpw.settings.obj.product_asking
10786          );
10787          if (
10788            globalwpw.counter ==
10789            globalwpw.settings.obj.no_result_attempt_count ||
10790            globalwpw.settings.obj.no_result_attempt_count == 0
10791          ) {
10792            wpwMsg.single(askingProduct);
10793            if (
10794              typeof globalwpw.wildcards != "undefined" &&
10795              globalwpw.wildcards != ""
10796            ) {
10797              wpwMsg.double_nobg(serviceOffer, globalwpw.wildcards);
10798            } else {
10799              wpwMsg.single(serviceOffer);
10800            }
10801          } else {
10802            globalwpw.counter++;
10803            wpwMsg.single(askingProduct);
10804            globalwpw.productStep = "search";
10805          }
10806        }
10807      } else if (
10808        globalwpw.wildCard == 20 &&
10809        globalwpw.productStep == "category"
10810      ) {
10811        var msg = msg.split("#");
10812        var categoryTitle = msg[0];
10813        var categoryId = msg[1];
10814        var data = {
10815          action: "qcld_wb_chatbot_category_products",
10816          category: categoryId,
10817        };
10818        if (
10819          $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
10820            .length == 0
10821        ) {
10822          $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
10823        }
10824        //Product by category ajax handler.
10825        wpwKits.ajax(data).done(function (response) {
10826          if (response.product_num == 0) {
10827            //Since product does not found then show message and suggesting infinity search
10828            var productFail =
10829              wpwKits.randomMsg(globalwpw.settings.obj.product_fail) +
10830              " <strong>" +
10831              categoryTitle +
10832              "</strong>!";
10833            var searchAgain = wpwKits.randomMsg(
10834              globalwpw.settings.obj.product_infinite
10835            );
10836            wpwMsg.double(productFail, searchAgain);
10837            globalwpw.productStep = "search";
10838            //keeping value in localstorage
10839            localStorage.setItem("productStep", globalwpw.productStep);
10840          } else {
10841            //Now show chat message to choose the product.
10842            var productSuccess =
10843              wpwKits.randomMsg(globalwpw.settings.obj.product_success) +
10844              " <strong>" +
10845              categoryTitle +
10846              "</strong>!";
10847            var products = response.html;
10848            wpwMsg.double_nobg(productSuccess, products);
10849            //Infinite asking to break dead end.
10850            if (response.per_page >= response.product_num) {
10851              setTimeout(function () {
10852                var searchAgain = wpwKits.randomMsg(
10853                  globalwpw.settings.obj.product_infinite
10854                );
10855                wpwMsg.double_nobg(
10856                  searchAgain,
10857                  '<span class="qcld-chatbot-wildcard"  data-wildcart="back">' +
10858                  wpwKits.randomMsg(globalwpw.settings.obj.back_to_start) +
10859                  "</span>"
10860                );
10861                globalwpw.productStep = "search";
10862                //keeping value in localstorage
10863                localStorage.setItem("productStep", globalwpw.productStep);
10864              }, globalwpw.settings.wildcardsShowTime);
10865            }
10866          }
10867        });
10868      } else if (
10869        globalwpw.wildCard == 20 &&
10870        globalwpw.productStep == "featured"
10871      ) {
10872        var data = { action: "qcld_wb_chatbot_featured_products" };
10873        if (
10874          $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
10875            .length == 0
10876        ) {
10877          $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
10878        }
10879        //Products by string search ajax handler.
10880        wpwKits.ajax(data).done(function (response) {
10881          if (response.product_num == 0) {
10882            var productFail =
10883              wpwKits.randomMsg(globalwpw.settings.obj.product_fail) +
10884              " <strong>Featured Products</strong>!";
10885            //var productSuggest=wpwKits.randomMsg(globalwpw.settings.obj.product_suggest);
10886            wpwMsg.single(productFail);
10887
10888            //Suggesting category.
10889            setTimeout(function () {
10890              wpwKits.sugestCat();
10891            }, parseInt(globalwpw.settings.preLoadingTime * 2.1));
10892          } else {
10893            var productSucces =
10894              wpwKits.randomMsg(globalwpw.settings.obj.product_success) +
10895              " <strong>Featured Products</strong>!";
10896            wpwMsg.double_nobg(productSucces, response.html);
10897            //Infinite asking to break dead end.
10898            if (response.per_page >= response.product_num) {
10899              setTimeout(function () {
10900                var searchAgain = wpwKits.randomMsg(
10901                  globalwpw.settings.obj.product_infinite
10902                );
10903                wpwMsg.double_nobg(
10904                  searchAgain,
10905                  '<span class="qcld-chatbot-wildcard"  data-wildcart="back">' +
10906                  wpwKits.randomMsg(globalwpw.settings.obj.back_to_start) +
10907                  "</span>"
10908                );
10909                //For Dialogflow or else
10910                if (
10911                  globalwpw.settings.obj.ai_df_enable == 1 &&
10912                  globalwpw.df_status_lock == 0
10913                ) {
10914                  globalwpw.wildCard = 0;
10915                  globalwpw.ai_step = 1;
10916                  localStorage.setItem("wildCard", globalwpw.wildCard);
10917                  localStorage.setItem("aiStep", globalwpw.ai_step);
10918                } else {
10919                  //keeping value in localstorage
10920                  globalwpw.productStep = "search";
10921                  localStorage.setItem("wildCard", globalwpw.wildCard);
10922                  localStorage.setItem("productStep", globalwpw.productStep);
10923                }
10924              }, globalwpw.settings.wildcardsShowTime);
10925            } else {
10926              //For Dialogflow or else
10927              if (
10928                globalwpw.settings.obj.ai_df_enable == 1 &&
10929                globalwpw.df_status_lock == 0
10930              ) {
10931                globalwpw.wildCard = 0;
10932                globalwpw.ai_step = 1;
10933                localStorage.setItem("wildCard", globalwpw.wildCard);
10934                localStorage.setItem("aiStep", globalwpw.ai_step);
10935              }
10936            }
10937          }
10938        });
10939      } else if (globalwpw.wildCard == 20 && globalwpw.productStep == "sale") {
10940        var data = { action: "qcld_wb_chatbot_sale_products" };
10941        if (
10942          $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
10943            .length == 0
10944        ) {
10945          $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
10946        }
10947        //Products by string search ajax handler.
10948        wpwKits.ajax(data).done(function (response) {
10949          if (response.product_num == 0) {
10950            var productFail =
10951              wpwKits.randomMsg(globalwpw.settings.obj.product_fail) +
10952              "<strong>" +
10953              wpwKits.randomMsg(globalwpw.settings.obj.sale_products) +
10954              "</strong>!";
10955            //var productSuggest=wpwKits.randomMsg(globalwpw.settings.obj.product_suggest);
10956            wpwMsg.single(productFail);
10957
10958            //Suggesting category.
10959            setTimeout(function () {
10960              wpwKits.sugestCat();
10961            }, parseInt(globalwpw.settings.preLoadingTime * 2.1));
10962          } else {
10963            var productSucces =
10964              wpwKits.randomMsg(globalwpw.settings.obj.product_success) +
10965              " <strong>" +
10966              wpwKits.randomMsg(globalwpw.settings.obj.sale_products) +
10967              "</strong>!";
10968            wpwMsg.double_nobg(productSucces, response.html);
10969            //Infinite asking to break dead end.
10970            if (response.per_page >= response.product_num) {
10971              setTimeout(function () {
10972                var searchAgain = wpwKits.randomMsg(
10973                  globalwpw.settings.obj.product_infinite
10974                );
10975                wpwMsg.double_nobg(
10976                  searchAgain,
10977                  '<span class="qcld-chatbot-wildcard"  data-wildcart="back">' +
10978                  wpwKits.randomMsg(globalwpw.settings.obj.back_to_start) +
10979                  "</span>"
10980                );
10981                  globalwpw.wildCard = 0;
10982                  globalwpw.ai_step = 1;
10983                  localStorage.setItem("wildCard", globalwpw.wildCard);
10984                  localStorage.setItem("aiStep", globalwpw.ai_step);
10985              }, globalwpw.settings.wildcardsShowTime);
10986            } else {
10987              //For Dialogflow or else
10988              if (
10989                globalwpw.settings.obj.ai_df_enable == 1 &&
10990                globalwpw.df_status_lock == 0
10991              ) {
10992                globalwpw.wildCard = 0;
10993                globalwpw.ai_step = 1;
10994                localStorage.setItem("wildCard", globalwpw.wildCard);
10995                localStorage.setItem("aiStep", globalwpw.ai_step);
10996              }
10997            }
10998          }
10999        });
11000      }
11001    },
11002
11003    order: function (msg) {
11004      //If user already logged In then
11005      if (globalwpw.settings.obj.order_login == 1) {
11006        var orderWelcome = wpwKits.render(globalwpw.settings.obj.order_welcome);
11007        var data = { action: "qcld_wb_chatbot_loged_in_user_orders" };
11008        //Orders for logged in user ajax handler.
11009        wpwKits.ajax(data).done(function (response) {
11010          if (response.order_num > 0) {
11011            var orderSucMsg = response.message;
11012            var orderSucHtml = response.html;
11013            //Calling the email to admin part
11014            if (globalwpw.settings.obj.disable_repeatative != 1) {
11015              wpwMsg.double(orderSucMsg, orderSucHtml);
11016              setTimeout(function () {
11017                var orPhoneSuggest =
11018                  '<span class="qcld-chatbot-suggest-phone" >' +
11019                  wpwKits.render(globalwpw.settings.obj.support_phone) +
11020                  "</span>";
11021                var orEmailSuggest =
11022                  '<span class="qcld-chatbot-suggest-email">' +
11023                  wpwKits.randomMsg(
11024                    globalwpw.settings.obj.order_email_support
11025                  ) +
11026                  "</span>";
11027                wpwKits.suggestEmail(orEmailSuggest + orPhoneSuggest);
11028              }, globalwpw.settings.wildcardsShowTime * 2);
11029            } else {
11030              setTimeout(function () {
11031                if (
11032                  globalwpw.settings.obj.qcld_disable_repited_startmenu != "1"
11033                ) {
11034                  wpwMsg.triple(
11035                    orderSucMsg,
11036                    orderSucHtml,
11037                    '<span class="qcld-chatbot-wildcard qcld_back_to_start"  data-wildcart="back">' +
11038                    wpwKits.randomMsg(globalwpw.settings.obj.back_to_start) +
11039                    "</span>"
11040                  );
11041                }
11042              }, globalwpw.settings.preLoadingTime * 4);
11043            }
11044          } else {
11045            var orderFailMsg = response.message;
11046            var orderFailHtml = response.html;
11047            //Calling the email to admin part
11048            if (globalwpw.settings.obj.disable_repeatative != 1) {
11049              wpwMsg.double(orderFailMsg, orderFailHtml);
11050              setTimeout(function () {
11051                var orPhoneSuggest =
11052                  '<span class="qcld-chatbot-suggest-phone" >' +
11053                  wpwKits.render(globalwpw.settings.obj.support_phone) +
11054                  "</span>";
11055                var orEmailSuggest =
11056                  '<span class="qcld-chatbot-suggest-email">' +
11057                  wpwKits.randomMsg(
11058                    globalwpw.settings.obj.order_email_support
11059                  ) +
11060                  "</span>";
11061                wpwKits.suggestEmail(orEmailSuggest + orPhoneSuggest);
11062              }, globalwpw.settings.wildcardsShowTime * 2);
11063            } else {
11064              setTimeout(function () {
11065                if (
11066                  globalwpw.settings.obj.qcld_disable_repited_startmenu != "1"
11067                ) {
11068                  wpwMsg.triple(
11069                    orderFailMsg,
11070                    orderFailHtml,
11071                    '<span class="qcld-chatbot-wildcard qcld_back_to_start"  data-wildcart="back">' +
11072                    wpwKits.randomMsg(globalwpw.settings.obj.back_to_start) +
11073                    "</span>"
11074                  );
11075                }
11076              }, globalwpw.settings.preLoadingTime * 4);
11077            }
11078          }
11079        });
11080      }
11081      //If user is not logged In then
11082      else {
11083        if (globalwpw.settings.obj.order_status_without_login == 1) {
11084          if (globalwpw.wildCard == 21 && globalwpw.orderStep == "welcome") {
11085            var orderWelcome = wpwKits.randomMsg(
11086              globalwpw.settings.obj.order_welcome
11087            );
11088            var userNameAsking = wpwKits.randomMsg(
11089              globalwpw.settings.obj.order_email_asking
11090            );
11091
11092            wpwMsg.double(orderWelcome, userNameAsking);
11093            //updating the order steps
11094            globalwpw.orderStep = "orderid";
11095            //keeping value in localstorage
11096            localStorage.setItem("orderStep", globalwpw.orderStep);
11097          } else if (
11098            globalwpw.wildCard == 21 &&
11099            globalwpw.orderStep == "orderid"
11100          ) {
11101            globalwpw.orderemail = msg;
11102            var orderidasking = wpwKits.randomMsg(
11103              globalwpw.settings.obj.order_id_asking
11104            );
11105
11106            wpwMsg.single(orderidasking);
11107            //updating the order steps
11108            globalwpw.orderStep = "orderstatus";
11109            //keeping value in localstorage
11110            localStorage.setItem("orderStep", globalwpw.orderStep);
11111          } else if (
11112            globalwpw.wildCard == 21 &&
11113            globalwpw.orderStep == "orderstatus"
11114          ) {
11115            var data = {
11116              action: "qcld_wb_chatbot_order_status_check",
11117              order_email: globalwpw.orderemail,
11118              order_id: msg,
11119              security: globalwpw.settings.obj.order_nonce,
11120            };
11121            //user loginajax handler.
11122            wpwKits.ajax(data).done(function (response) {
11123              if (response.status == "success") {
11124                if (response.order_num > 0) {
11125                  var loginSucMsg = response.message;
11126                  var orderHtml = response.html;
11127                  wpwMsg.double_nobg(loginSucMsg, orderHtml);
11128                  //Now keep the user as login in by updating obj
11129                  globalwpw.wildCard = 0;
11130                  globalwpw.orderStep = "welcome";
11131                  //Calling the email to admin part
11132                  if (globalwpw.settings.obj.disable_repeatative != 1) {
11133                    setTimeout(function () {
11134                      var orPhoneSuggest =
11135                        '<span class="qcld-chatbot-suggest-phone" >' +
11136                        wpwKits.render(globalwpw.settings.obj.support_phone) +
11137                        "</span>";
11138                      var orEmailSuggest =
11139                        '<span class="qcld-chatbot-suggest-email">' +
11140                        wpwKits.randomMsg(
11141                          globalwpw.settings.obj.order_email_support
11142                        ) +
11143                        "</span>";
11144                      wpwKits.suggestEmail(orEmailSuggest + orPhoneSuggest);
11145                    }, globalwpw.settings.wildcardsShowTime * 2);
11146                  }
11147                } else {
11148                  var loginFailcMsg = response.message;
11149                  var orderNoHtml = response.html;
11150                  wpwMsg.double(loginFailcMsg, orderNoHtml);
11151                  //Now keep the user as login in by updating obj
11152                  globalwpw.wildCard = 0;
11153                  globalwpw.orderStep = "welcome";
11154                  //Calling the email to admin part
11155                  if (globalwpw.settings.obj.disable_repeatative != 1) {
11156                    setTimeout(function () {
11157                      var orPhoneSuggest =
11158                        '<span class="qcld-chatbot-suggest-phone" >' +
11159                        wpwKits.render(globalwpw.settings.obj.support_phone) +
11160                        "</span>";
11161                      var orEmailSuggest =
11162                        '<span class="qcld-chatbot-suggest-email">' +
11163                        wpwKits.randomMsg(
11164                          globalwpw.settings.obj.order_email_support
11165                        ) +
11166                        "</span>";
11167                      wpwKits.suggestEmail(orEmailSuggest + orPhoneSuggest);
11168                    }, globalwpw.settings.wildcardsShowTime * 2);
11169                  }
11170                }
11171              }
11172            });
11173          }
11174        } else {
11175          if (globalwpw.wildCard == 21 && globalwpw.orderStep == "welcome") {
11176            var orderWelcome = wpwKits.randomMsg(
11177              globalwpw.settings.obj.order_welcome
11178            );
11179            var userNameAsking = wpwKits.randomMsg(
11180              globalwpw.settings.obj.order_username_asking
11181            );
11182
11183            wpwMsg.double(orderWelcome, userNameAsking);
11184            //updating the order steps
11185            globalwpw.orderStep = "user";
11186            //keeping value in localstorage
11187            localStorage.setItem("orderStep", globalwpw.orderStep);
11188          } else if (
11189            globalwpw.wildCard == 21 &&
11190            globalwpw.orderStep == "user"
11191          ) {
11192            globalwpw.shopperUserName = msg;
11193            var data = {
11194              action: "qcld_wb_chatbot_check_user",
11195              user_name: globalwpw.shopperUserName,
11196            };
11197            //Username checking ajax handler.
11198            wpwKits.ajax(data).done(function (response) {
11199              if (response.status == "success") {
11200                var successMgs = response.message;
11201                var sucessHtml = response.html;
11202                wpwMsg.double(successMgs, sucessHtml);
11203                globalwpw.orderStep = "password";
11204                //keeping value in localstorage
11205                localStorage.setItem("orderStep", globalwpw.orderStep);
11206              } else {
11207                var failMsg = response.message;
11208                wpwMsg.single(failMsg);
11209                globalwpw.orderStep = "user";
11210                //keeping value in localstorage
11211                localStorage.setItem("orderStep", globalwpw.orderStep);
11212              }
11213            });
11214          } else if (
11215            globalwpw.wildCard == 21 &&
11216            globalwpw.orderStep == "password"
11217          ) {
11218            var data = {
11219              action: "qcld_wb_chatbot_login_user",
11220              user_name: globalwpw.shopperUserName,
11221              user_pass: msg,
11222              security: globalwpw.settings.obj.order_nonce,
11223            };
11224            //user loginajax handler.
11225            wpwKits.ajax(data).done(function (response) {
11226              if (response.status == "success") {
11227                if (response.order_num > 0) {
11228                  var loginSucMsg = response.message;
11229                  var orderHtml = response.html;
11230                  wpwMsg.double_nobg(loginSucMsg, orderHtml);
11231                  //Now keep the user as login in by updating obj
11232                  globalwpw.settings.obj.order_login = 1;
11233                  //Calling the email to admin part
11234                  if (globalwpw.settings.obj.disable_repeatative != 1) {
11235                    setTimeout(function () {
11236                      var orPhoneSuggest =
11237                        '<span class="qcld-chatbot-suggest-phone" >' +
11238                        wpwKits.render(globalwpw.settings.obj.support_phone) +
11239                        "</span>";
11240                      var orEmailSuggest =
11241                        '<span class="qcld-chatbot-suggest-email">' +
11242                        wpwKits.randomMsg(
11243                          globalwpw.settings.obj.order_email_support
11244                        ) +
11245                        "</span>";
11246                      wpwKits.suggestEmail(orEmailSuggest + orPhoneSuggest);
11247                    }, globalwpw.settings.wildcardsShowTime * 2);
11248                  }
11249                } else {
11250                  var loginFailcMsg = response.message;
11251                  var orderNoHtml = response.html;
11252                  wpwMsg.double(loginFailcMsg, orderNoHtml);
11253                  //Now keep the user as login in by updating obj
11254                  globalwpw.settings.obj.order_login = 1;
11255                  //Calling the email to admin part
11256                  if (globalwpw.settings.obj.disable_repeatative != 1) {
11257                    setTimeout(function () {
11258                      var orPhoneSuggest =
11259                        '<span class="qcld-chatbot-suggest-phone" >' +
11260                        wpwKits.render(globalwpw.settings.obj.support_phone) +
11261                        "</span>";
11262                      var orEmailSuggest =
11263                        '<span class="qcld-chatbot-suggest-email">' +
11264                        wpwKits.randomMsg(
11265                          globalwpw.settings.obj.order_email_support
11266                        ) +
11267                        "</span>";
11268                      wpwKits.suggestEmail(orEmailSuggest + orPhoneSuggest);
11269                    }, globalwpw.settings.wildcardsShowTime * 2);
11270                  }
11271                }
11272              } else {
11273                var loginFail = response.message;
11274                wpwMsg.single(loginFail);
11275                globalwpw.orderStep == "password";
11276                //keeping value in localstorage
11277                localStorage.setItem("orderStep", globalwpw.orderStep);
11278              }
11279            });
11280          }
11281        }
11282      }
11283    },
11284    unsubscription: function (msg) {
11285      if ($(".chatbot_intent_reload").length == 0) {
11286        $("#wp-chatbot-editor-container").append(
11287          '<span class="chatbot_intent_reload" title="Restart the current intent" data-wildcard="6" data-step="welcome" data-intent-type="unsubscription" data-intent="unsubscription"><i class="fa fa-refresh" aria-hidden="true"></i></span>'
11288        );
11289      }
11290
11291      if (
11292        globalwpw.wildCard == 6 &&
11293        globalwpw.unsubscriptionStep == "welcome"
11294      ) {
11295        var restWarning = wpwKits.randomMsg(
11296          globalwpw.settings.obj.do_you_want_to_unsubscribe
11297        );
11298        var confirmBtn =
11299          '<span class="qcld-chat-common qcld_unsubscribe_confirm" unsubscription="yes" >' +
11300          wpwKits.render(globalwpw.settings.obj.yes) +
11301          "</span> <span> " +
11302          wpwKits.render(globalwpw.settings.obj.or) +
11303          ' </span><span class="qcld-chat-common qcld_unsubscribe_confirm"  unsubscription="no">' +
11304          wpwKits.render(globalwpw.settings.obj.no) +
11305          "</span>";
11306        wpwMsg.double_nobg(restWarning, confirmBtn);
11307      } else if (
11308        globalwpw.wildCard == 6 &&
11309        globalwpw.unsubscriptionStep == "getemail"
11310      ) {
11311        if (
11312          typeof globalwpw.hasNameCookie == "undefined" ||
11313          globalwpw.hasNameCookie == ""
11314        ) {
11315          var shopperName = wpwKits.render(
11316            globalwpw.settings.obj.shopper_demo_name
11317          );
11318        } else {
11319          var shopperName = globalwpw.hasNameCookie;
11320        }
11321
11322        var askEmail = wpwKits.randomMsg(globalwpw.settings.obj.asking_email);
11323        wpwMsg.single(askEmail);
11324        globalwpw.unsubscriptionStep = "collectemailunsubscribe";
11325      } else if (
11326        globalwpw.wildCard == 6 &&
11327        globalwpw.unsubscriptionStep == "collectemailunsubscribe"
11328      ) {
11329        var validate = "";
11330        var re =
11331          /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
11332        if (re.test(msg) != true) {
11333          validate =
11334            validate + wpwKits.randomMsg(globalwpw.settings.obj.invalid_email);
11335        }
11336
11337        if (validate == "") {
11338          var data = {
11339            action: "qcld_wb_chatbot_email_unsubscription",
11340            email: msg,
11341          };
11342          wpwKits.ajax(data).done(function (response) {
11343            var json = $.parseJSON(response);
11344            if (json.status == "success") {
11345              wpwMsg.single(
11346                wpwKits.randomMsg(
11347                  globalwpw.settings.obj.you_have_successfully_unsubscribe
11348                )
11349              );
11350              if ($(".chatbot_intent_reload").length > 0) {
11351                $(".chatbot_intent_reload").remove();
11352              }
11353              setTimeout(function () {
11354                var orPhoneSuggest = "";
11355                if (globalwpw.settings.obj.call_sup == "") {
11356                  orPhoneSuggest =
11357                    '<span class="qcld-chatbot-suggest-phone" >' +
11358                    globalwpw.wpwKits.render(settings.obj.support_phone) +
11359                    "</span>";
11360                }
11361                var orEmailSuggest =
11362                  '<span class="qcld-chatbot-suggest-email" >' +
11363                  wpwKits.randomMsg(globalwpw.settings.obj.support_email) +
11364                  "</span>";
11365                if (globalwpw.settings.obj.disable_repeatative != 1) {
11366                  wpwKits.suggestEmail(orEmailSuggest + orPhoneSuggest);
11367                } else {
11368                  setTimeout(function () {
11369                    if (
11370                      globalwpw.settings.obj.qcld_disable_repited_startmenu !=
11371                      "1"
11372                    ) {
11373                      wpwMsg.single_nobg(
11374                        '<span class="qcld-chatbot-wildcard qcld_back_to_start"  data-wildcart="back">' +
11375                        wpwKits.randomMsg(
11376                          globalwpw.settings.obj.back_to_start
11377                        ) +
11378                        "</span>"
11379                      );
11380                    }
11381                  }, globalwpw.settings.preLoadingTime * 2);
11382                }
11383                globalwpw.wildCard = 0;
11384              }, globalwpw.settings.preLoadingTime);
11385            } else {
11386              var restWarning = wpwKits.randomMsg(
11387                globalwpw.settings.obj.we_do_not_have_your_email
11388              );
11389              var confirmBtn =
11390                '<span class="qcld-chat-common qcld_unsubscribe_again" >Try again?</span>';
11391              wpwMsg.double_nobg(restWarning, confirmBtn);
11392              if ($(".chatbot_intent_reload").length > 0) {
11393                $(".chatbot_intent_reload").remove();
11394              }
11395            }
11396          });
11397          //wpwMsg.single('Collected valid email and trying to unsubscribe');
11398        } else {
11399          globalwpw.unsubscriptionStep = "collectemailunsubscribe";
11400          wpwMsg.single(validate);
11401        }
11402      }
11403    },
11404    subscription: function (msg) {
11405      if ($(".chatbot_intent_reload").length == 0) {
11406        $("#wp-chatbot-editor-container").append(
11407          '<span class="chatbot_intent_reload" title="Restart the current intent" data-wildcard="3" data-step="welcome" data-intent-type="subscription" data-intent="subscription"><i class="fa fa-refresh" aria-hidden="true"></i></span>'
11408        );
11409      }
11410
11411      if (globalwpw.subscriptionStep == "welcome") {
11412        var restWarning = wpwKits.randomMsg(
11413          globalwpw.settings.obj.do_you_want_to_subscribe
11414        );
11415        var confirmBtn =
11416          '<span class="qcld-chat-common qcld_subscribe_confirm" subscription="yes" >' +
11417          wpwKits.render(globalwpw.settings.obj.yes) +
11418          "</span> <span> " +
11419          wpwKits.render(globalwpw.settings.obj.or) +
11420          ' </span><span class="qcld-chat-common qcld_subscribe_confirm"  subscription="no">' +
11421          wpwKits.render(globalwpw.settings.obj.no) +
11422          "</span>";
11423        if (globalwpw.settings.obj.enable_gdpr) {
11424          wpwMsg.triple_nobg(
11425            restWarning,
11426            wpwKits.render(globalwpw.settings.obj.gdpr_text),
11427            confirmBtn
11428          );
11429          setTimeout(function () {
11430            wpwKits.disableEditor("");
11431          }, 2000);
11432        } else {
11433          wpwMsg.double_nobg(restWarning, confirmBtn);
11434          setTimeout(function () {
11435            wpwKits.disableEditor("");
11436          }, 1500);
11437        }
11438      } else if (globalwpw.subscriptionStep == "getname") {
11439        if (
11440          typeof globalwpw.hasNameCookie == "undefined" ||
11441          globalwpw.hasNameCookie == ""
11442        ) {
11443          var shopperName = wpwKits.render(
11444            globalwpw.settings.obj.shopper_demo_name
11445          );
11446        } else {
11447          var shopperName = globalwpw.hasNameCookie;
11448        }
11449
11450        var askEmail = wpwKits.randomMsg(globalwpw.settings.obj.asking_email);
11451        wpwMsg.single(askEmail);
11452        globalwpw.subscriptionStep = "getemail";
11453      } else if (globalwpw.subscriptionStep == "getemail") {
11454        globalwpw.shopperEmail = msg;
11455        var validate = "";
11456        var re =
11457          /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
11458        if (re.test(globalwpw.shopperEmail) != true) {
11459          validate =
11460            validate + wpwKits.randomMsg(globalwpw.settings.obj.invalid_email);
11461        }
11462        if (validate == "") {
11463          if (
11464            typeof globalwpw.hasNameCookie == "undefined" ||
11465            globalwpw.hasNameCookie == ""
11466          ) {
11467            var shopperName = wpwKits.render(
11468              globalwpw.settings.obj.shopper_demo_name
11469            );
11470          } else {
11471            var shopperName = globalwpw.hasNameCookie;
11472          }
11473
11474          var data = {
11475            action: "qcld_wb_chatbot_email_subscription",
11476            name: shopperName,
11477            email: globalwpw.shopperEmail,
11478            url: window.location.href,
11479          };
11480
11481          wpwKits.ajax(data).done(function (response) {
11482            var json = $.parseJSON(response);
11483
11484            if (json.status == "success") {
11485              var sucMsg = json.msg;
11486              wpwMsg.single(sucMsg);
11487              if ($(".chatbot_intent_reload").length > 0) {
11488                $(".chatbot_intent_reload").remove();
11489              }
11490              setTimeout(function () {
11491                var orPhoneSuggest = "";
11492                if (globalwpw.settings.obj.call_sup == "") {
11493                  orPhoneSuggest =
11494                    '<span class="qcld-chatbot-suggest-phone" >' +
11495                    wpwKits.render(globalwpw.settings.obj.support_phone) +
11496                    "</span>";
11497                }
11498                var orEmailSuggest =
11499                  '<span class="qcld-chatbot-suggest-email" >' +
11500                  wpwKits.randomMsg(globalwpw.settings.obj.support_email) +
11501                  "</span>";
11502                wpwTree.start_menu_settings();
11503                globalwpw.wildCard = 0;
11504              }, globalwpw.settings.preLoadingTime);
11505            } else {
11506              var failMsg = json.msg;
11507              wpwMsg.single(failMsg);
11508              if ($(".chatbot_intent_reload").length > 0) {
11509                $(".chatbot_intent_reload").remove();
11510              }
11511              setTimeout(function () {
11512                wpwAction.bot(
11513                  (wpwKits
11514                    .render(globalwpw.settings.obj.sys_key_help) || '')
11515                    .toLowerCase()
11516                );
11517              }, globalwpw.settings.preLoadingTime);
11518            }
11519          });
11520        } else {
11521          globalwpw.subscriptionStep = "getemail";
11522          wpwMsg.single(validate);
11523        }
11524      }
11525    },
11526    support: function (msg) {
11527      if (globalwpw.wildCard == 1 && globalwpw.supportStep == "welcome") {
11528        var welcomeMsg = wpwKits.randomMsg(
11529          globalwpw.settings.obj.support_welcome
11530        );
11531
11532        var orPhoneSuggest = "";
11533        if (
11534          globalwpw.settings.obj.support_query[globalwpw.settings.obj.language]
11535            .length > 0
11536        ) {
11537          var supportsItems = "";
11538          var messenger = "";
11539          if (globalwpw.settings.obj.enable_messenger == 1) {
11540            messenger +=
11541              '<span class="qcld-chatbot-wildcard"  data-wildcart="messenger">' +
11542              wpwKits.randomMsg(globalwpw.settings.obj.messenger_label) +
11543              "</span>";
11544          }
11545          if (globalwpw.settings.obj.enable_whats == 1) {
11546            messenger +=
11547              '<span class="qcld-chatbot-wildcard"  data-wildcart="whatsapp">' +
11548              wpwKits.randomMsg(globalwpw.settings.obj.whats_label) +
11549              "</span>";
11550          }
11551          if (globalwpw.settings.obj.disable_feedback == "") {
11552            messenger +=
11553              '<span class="qcld-chatbot-suggest-email" >' +
11554              wpwKits.randomMsg(globalwpw.settings.obj.feedback_label) +
11555              "</span>";
11556          }
11557          $.each(
11558            globalwpw.settings.obj.support_query[
11559            globalwpw.settings.obj.language
11560            ],
11561            function (i, obj) {
11562              supportsItems +=
11563                '<span class="qcld-chatbot-support-items"  data-query-index="' +
11564                i +
11565                '">' +
11566                obj +
11567                "</span>";
11568            }
11569          );
11570          var orEmailSuggest =
11571            '<span class="qcld-chatbot-suggest-email" >' +
11572            wpwKits.randomMsg(globalwpw.settings.obj.support_email) +
11573            "</span>";
11574
11575          if (globalwpw.settings.obj.call_sup == "") {
11576            orPhoneSuggest =
11577              '<span class="qcld-chatbot-suggest-phone" >' +
11578              wpwKits.render(globalwpw.settings.obj.support_phone) +
11579              "</span>";
11580          }
11581
11582          var queryOrEmail = supportsItems;
11583        } else {
11584          if (globalwpw.settings.obj.call_sup == "") {
11585            orPhoneSuggest =
11586              '<span class="qcld-chatbot-suggest-phone" >' +
11587              wpwKits.render(globalwpw.settings.obj.support_phone) +
11588              "</span>";
11589          }
11590          var queryOrEmail =
11591            '<span class="qcld-chatbot-suggest-email" >' +
11592            wpwKits.randomMsg(globalwpw.settings.obj.support_email) +
11593            "</span>" +
11594            orPhoneSuggest;
11595        }
11596        wpwMsg.double_nobg(welcomeMsg, queryOrEmail);
11597
11598        globalwpw.wildCard = 0;
11599      } else if (globalwpw.wildCard == 1 && globalwpw.supportStep == "email") {
11600        globalwpw.shopperEmail = msg;
11601        var validate = "";
11602        var re =
11603          /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
11604        if (re.test(globalwpw.shopperEmail) != true) {
11605          validate =
11606            validate + wpwKits.randomMsg(globalwpw.settings.obj.invalid_email);
11607        }
11608        if (validate == "") {
11609          var askingMsg = wpwKits.randomMsg(globalwpw.settings.obj.asking_msg);
11610          wpwMsg.single(askingMsg);
11611          globalwpw.supportStep = "message";
11612          //keeping value in localstorage
11613          localStorage.setItem("supportStep", globalwpw.supportStep);
11614        } else {
11615          wpwMsg.single(validate);
11616          globalwpw.supportStep = "email";
11617          //keeping value in localstorage
11618          localStorage.setItem("supportStep", globalwpw.supportStep);
11619        }
11620      } else if (
11621        globalwpw.wildCard == 1 &&
11622        globalwpw.supportStep == "message"
11623      ) {
11624        var data = {
11625          action: "qcld_wb_chatbot_support_email",
11626          name: globalwpw.hasNameCookie,
11627          email: globalwpw.shopperEmail,
11628          message: msg,
11629          url: window.location.href,
11630        };
11631
11632        wpwKits.ajax(data).done(function (response) {
11633          var json = $.parseJSON(response);
11634          var orPhoneSuggest = "";
11635          if (json.status == "success") {
11636            var sucMsg = wpwKits.render(json.message);
11637            wpwMsg.single(sucMsg);
11638            //Asking email after showing answer.
11639            setTimeout(function () {
11640              if (globalwpw.settings.obj.call_sup == "") {
11641                orPhoneSuggest =
11642                  '<span class="qcld-chatbot-suggest-phone" >' +
11643                  wpwKits.render(globalwpw.settings.obj.support_phone) +
11644                  "</span>";
11645              }
11646              var orEmailSuggest =
11647                '<span class="qcld-chatbot-suggest-email" >' +
11648                wpwKits.randomMsg(globalwpw.settings.obj.support_email) +
11649                "</span>";
11650              wpwTree.start_menu_settings();
11651              globalwpw.wildCard = 0;
11652            }, globalwpw.settings.preLoadingTime);
11653          } else {
11654            var failMsg = wpwKits.render(json.message);
11655            wpwMsg.single(failMsg);
11656            //Asking email after showing answer.
11657            setTimeout(function () {
11658              if (globalwpw.settings.obj.call_sup == "") {
11659                orPhoneSuggest =
11660                  '<span class="qcld-chatbot-suggest-phone" >' +
11661                  wpwKits.render(globalwpw.settings.obj.support_phone) +
11662                  "</span>";
11663              }
11664              var orEmailSuggest =
11665                '<span class="qcld-chatbot-suggest-email" >' +
11666                wpwKits.randomMsg(globalwpw.settings.obj.support_email) +
11667                "</span>";
11668              wpwTree.start_menu_settings();
11669              globalwpw.wildCard = 0;
11670            }, globalwpw.settings.preLoadingTime);
11671          }
11672        });
11673      } else if (globalwpw.wildCard == 1 && globalwpw.supportStep == "phone") {
11674        var data = {
11675          action: "qcld_wb_chatbot_support_phone",
11676          name: globalwpw.hasNameCookie,
11677          phone: msg,
11678        };
11679        wpwKits.ajax(data).done(function (response) {
11680          var json = $.parseJSON(response);
11681          var orPhoneSuggest = "";
11682          if (json.status == "success") {
11683            var sucMsg = wpwKits.render(json.message);
11684            wpwMsg.single(sucMsg);
11685            //Asking email after showing answer.
11686            setTimeout(function () {
11687              if (globalwpw.settings.obj.call_sup == "") {
11688                orPhoneSuggest =
11689                  '<span class="qcld-chatbot-suggest-phone" >' +
11690                  wpwKits.render(globalwpw.settings.obj.support_phone) +
11691                  "</span>";
11692              }
11693              var orEmailSuggest =
11694                '<span class="qcld-chatbot-suggest-email" >' +
11695                wpwKits.randomMsg(globalwpw.settings.obj.support_email) +
11696                "</span>";
11697              wpwTree.start_menu_settings();
11698              globalwpw.wildCard = 0;
11699            }, globalwpw.settings.preLoadingTime);
11700          } else if (json.status == "invalid") {
11701            var failMsg = wpwKits.render(json.message);
11702            wpwMsg.single(failMsg);
11703            globalwpw.supportStep = "phone";
11704            globalwpw.wildCard = 1;
11705            //keeping value in localstorage
11706            localStorage.setItem("wildCard", globalwpw.wildCard);
11707            localStorage.setItem("supportStep", globalwpw.supportStep);
11708          } else {
11709            var failMsg = wpwKits.render(json.message);
11710            wpwMsg.single(failMsg);
11711            //Asking email after showing answer.
11712            setTimeout(function () {
11713              if (globalwpw.settings.obj.call_sup == "") {
11714                orPhoneSuggest =
11715                  '<span class="qcld-chatbot-suggest-phone" >' +
11716                  wpwKits.render(globalwpw.settings.obj.support_phone) +
11717                  "</span>";
11718              }
11719              var orEmailSuggest =
11720                '<span class="qcld-chatbot-suggest-email" >' +
11721                wpwKits.randomMsg(globalwpw.settings.obj.support_email) +
11722                "</span>";
11723              wpwTree.start_menu_settings();
11724              globalwpw.wildCard = 0;
11725            }, globalwpw.settings.preLoadingTime);
11726          }
11727        });
11728      } else if (globalwpw.wildCard == 1 && globalwpw.supportStep == "search") {
11729        if (globalwpw.settings.obj.priority_openai_all == "1") {
11730          var openai_msg = msg;
11731          wpwMsg.open_ai_message_callback(openai_msg);
11732        } else if (
11733          msg != "" &&
11734          globalwpw.settings.obj.disable_sitesearch == "" &&
11735          (globalwpw.settings.obj.qc_site_search_priority != "1" ||
11736            globalwpw.supportStep == "search")
11737        ) {
11738
11739          var openai_msg = msg;
11740          msg = wpwKits.filterStopWords(msg);
11741          var data = {
11742            action: "wpbo_search_site",
11743            name: globalwpw.hasNameCookie,
11744            keyword: msg,
11745            language: globalwpw.settings.obj.language,
11746          };
11747          if (
11748            $(
11749              globalwpw.settings.messageLastChild +
11750              " .wp-chatbot-comment-loader"
11751            ).length == 0
11752          ) {
11753            $(globalwpw.settings.messageContainer).append(
11754              wpwKits.botPreloader()
11755            );
11756          }
11757          wpwKits.ajax(data).done(function (response) {
11758            var json = $.parseJSON(response);
11759            if (json.status == "success") {
11760              $("#wp-chatbot-messages-container li .wp-chatbot-comment-loader")
11761                .parent(".wp-chatbot-paragraph")
11762                .hide();
11763              $('span[data-wildcart="back"]').remove();
11764              wpwMsg.single_nobg(json.html);
11765              wpwTree.start_menu_settings();
11766            } else if (
11767              wp_chatbot_obj.ollama_enabled == "1" ||
11768              wp_chatbot_obj.openrouter_enabled == "1" ||
11769              wp_chatbot_obj.open_ai_enable == "1" ||
11770              wp_chatbot_obj.grok_enabled == "1" ||
11771              wp_chatbot_obj.mistral_enabled == "1" ||
11772              wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
11773              globalwpw.settings.obj.tvlyai_enabled == "1"
11774            ) {
11775              wpwMsg.open_ai_message_callback(openai_msg);
11776            } else {
11777              var data = {
11778                action: "wpbo_failed_response",
11779                name: globalwpw.hasNameCookie,
11780                keyword: msg,
11781              };
11782              wpwKits.ajax(data).done(function (res) {
11783                
11784                if (
11785                  globalwpw.counter <
11786                  globalwpw.settings.obj.no_result_attempt_count ||
11787                  globalwpw.settings.obj.no_result_attempt_count == 0
11788                ) {
11789                  wpwMsg.single(wpwKits.randomMsg(json.html));
11790
11791                  if (
11792                    wpwKits.render(
11793                      globalwpw.settings.obj.no_result_attempt_message
11794                    ) != ""
11795                  ) {
11796                    setTimeout(function () {
11797                      wpwMsg.single(
11798                        wpwKits.render(
11799                          globalwpw.settings.obj.no_result_attempt_message
11800                        )
11801                      );
11802                    }, globalwpw.settings.preLoadingTime);
11803                  } else {
11804                    wpwTree.start_menu_settings();
11805                  }
11806
11807                  globalwpw.counter = 0;
11808                } else {
11809                  globalwpw.counter++;
11810                  wpwMsg.double_nobg(
11811                    wpwKits.randomMsg(json.html),
11812                    '<span class="qcld-chatbot-wildcard qcld_back_to_start"  data-wildcart="back">' +
11813                    wpwKits.randomMsg(globalwpw.settings.obj.back_to_start) +
11814                    "</span>"
11815                  );
11816                  // wpwMsg.single(wpwKits.randomMsg(json.html));
11817                }
11818              });
11819            }
11820            globalwpw.wildCard = 0;
11821          });
11822        } else if (
11823          wp_chatbot_obj.ollama_enabled == "1" ||
11824          wp_chatbot_obj.openrouter_enabled == "1" ||
11825          wp_chatbot_obj.open_ai_enable == "1" ||
11826          wp_chatbot_obj.grok_enabled == "1" ||
11827          wp_chatbot_obj.mistral_enabled == "1" ||
11828          wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
11829          globalwpw.settings.obj.tvlyai_enabled == "1"
11830        ) {
11831          wpwMsg.open_ai_message_callback(openai_msg);
11832        } else {
11833          globalwpw.wildCard = 0;
11834          wpwMsg.single(
11835            wpwKits.randomMsg(globalwpw.settings.obj.empty_filter_msg)
11836          );
11837          wpwTree.start_menu_settings();
11838        }
11839      } else if (
11840        globalwpw.wildCard == 1 &&
11841        globalwpw.supportStep == "email_transcript"
11842      ) {
11843        wpwTree.email_transcript(msg);
11844      }
11845    },
11846    email_transcript: function (msg) {
11847      var data = {
11848        action: "wpbot_send_email_transcript",
11849        session: localStorage.getItem("botsessionid"),
11850        email: msg,
11851      };
11852
11853      if (
11854        $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
11855          .length == 0
11856      ) {
11857        $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
11858      }
11859      wpwKits.ajax(data).done(function (response) {
11860        var json = $.parseJSON(response);
11861        var sucMsg = wpwKits.render(json.message);
11862        wpwMsg.double(
11863          sucMsg,
11864          wpwKits.render(globalwpw.settings.obj.qlcd_wp_chatbot_good_bye_text)
11865        );
11866        setTimeout(function () {
11867          wpwKits.closeWindow();
11868          wpwKits.doReset();
11869          wpwKits.updateGlobalMenu();
11870          wpwWelcome.greeting();
11871          //  if(globalwpw.initialize == 1){
11872          //   }
11873        }, 2000);
11874      });
11875    },
11876    goodbye: function (msg) {
11877      //code here
11878      if (
11879        (globalwpw.settings.obj.is_chatsession_active ||
11880          msg.toLowerCase() == "yes") &&
11881        globalwpw.settings.obj.disable_email_transcript != "1"
11882      ) {
11883        if (globalwpw.wildCard == 99) {
11884          if (globalwpw.askEmail == 1) {
11885            var userEmail = msg;
11886            localStorage.setItem("shopperemail", userEmail);
11887            var data = {
11888              action: "wpbot_send_email_transcript",
11889              session: localStorage.getItem("botsessionid"),
11890              email: localStorage.getItem("shopperemail"),
11891            };
11892
11893            if (
11894              $(
11895                globalwpw.settings.messageLastChild +
11896                " .wp-chatbot-comment-loader"
11897              ).length == 0
11898            ) {
11899              $(globalwpw.settings.messageContainer).append(
11900                wpwKits.botPreloader()
11901              );
11902            }
11903            wpwKits.ajax(data).done(function (response) {
11904              var json = $.parseJSON(response);
11905              var sucMsg = wpwKits.render(json.message);
11906              wpwMsg.double(
11907                sucMsg,
11908                wpwKits.render(
11909                  globalwpw.settings.obj.qlcd_wp_chatbot_good_bye_text
11910                )
11911              );
11912              setTimeout(function () {
11913                wpwKits.closeWindow();
11914                wpwKits.doReset();
11915                //LoadwpwBotPlugin = 0;
11916              }, 2000);
11917            });
11918          } else {
11919            if (
11920              msg.toLowerCase() ==
11921              (wpwKits.render(globalwpw.settings.obj.yes) || '').toLowerCase()
11922            ) {
11923              // if ( !localStorage.getItem('shopperemail') ) {
11924              globalwpw.askEmail = 1;
11925
11926              setTimeout(function () {
11927                var emailsharetext = wpwKits.randomMsg(
11928                  wp_chatbot_obj.asking_email
11929                );
11930                if (globalwpw.settings.obj.enable_gdpr) {
11931                  wpwMsg.double(
11932                    emailsharetext,
11933                    wpwKits.render(globalwpw.settings.obj.gdpr_text)
11934                  );
11935                  globalwpw.supportStep = "email_transcript";
11936                  globalwpw.wildCard = 1;
11937                  globalwpw.ai_step = 1;
11938                  globalwpw.initialize = 0;
11939                  //keeping value in localstorage
11940                  localStorage.setItem("wildCard", globalwpw.wildCard);
11941                  localStorage.setItem("supportStep", globalwpw.supportStep);
11942                } else {
11943                  wpwMsg.single(emailsharetext);
11944                  globalwpw.supportStep = "email_transcript";
11945                  globalwpw.wildCard = 1;
11946                  globalwpw.ai_step = 1;
11947                  globalwpw.initialize = 0;
11948                  //keeping value in localstorage
11949                  localStorage.setItem("wildCard", globalwpw.wildCard);
11950                  localStorage.setItem("supportStep", globalwpw.supportStep);
11951                }
11952              }, globalwpw.settings.preLoadingTime);
11953            } else if (
11954              msg.toLowerCase() ==
11955              (wpwKits.render(globalwpw.settings.obj.no) || '').toLowerCase()
11956            ) {
11957              wpwMsg.single(
11958                wpwKits.render(
11959                  globalwpw.settings.obj.qlcd_wp_chatbot_good_bye_text
11960                )
11961              );
11962              setTimeout(function () {
11963                wpwKits.doReset();
11964                wpwKits.closeWindow();
11965                wpwKits.updateGlobalMenu();
11966                wpwWelcome.greeting();
11967              }, 2000);
11968            } else {
11969              globalwpw.wildCard = 99;
11970              var transcripttext = wpwKits.render(
11971                globalwpw.settings.obj.qlcd_wp_chatbot_transcript_emailed
11972              );
11973              var confirmBtn =
11974                '<span class="qcld-chat-common qcld-name-confirm qcld-goodbye-transcript-confirm" data-res="' +
11975                wpwKits.render(globalwpw.settings.obj.yes) +
11976                '" >' +
11977                wpwKits.render(globalwpw.settings.obj.yes) +
11978                "</span> <span> " +
11979                wpwKits.render(globalwpw.settings.obj.or) +
11980                ' </span><span class="qcld-chat-common qcld-name-confirm qcld-goodbye-transcript-confirm"  data-res="' +
11981                wpwKits.render(globalwpw.settings.obj.no) +
11982                '">' +
11983                wpwKits.render(globalwpw.settings.obj.no) +
11984                "</span>";
11985              wpwMsg.double(transcripttext, confirmBtn);
11986            }
11987          }
11988        } else {
11989          globalwpw.wildCard = 99;
11990          var transcripttext = wpwKits.render(
11991            globalwpw.settings.obj.qlcd_wp_chatbot_transcript_emailed
11992          );
11993          var confirmBtn =
11994            '<span class="qcld-chat-common qcld-goodbye-transcript-confirm" data-res="yes" >' +
11995            wpwKits.render(globalwpw.settings.obj.yes) +
11996            "</span> <span> " +
11997            wpwKits.render(globalwpw.settings.obj.or) +
11998            ' </span><span class="qcld-chat-common qcld-name-confirm qcld-goodbye-transcript-confirm"  data-res="no">' +
11999            wpwKits.render(globalwpw.settings.obj.no) +
12000            "</span>";
12001          wpwMsg.double(transcripttext, confirmBtn);
12002        }
12003      } else {
12004        wpwMsg.single(
12005          wpwKits.render(globalwpw.settings.obj.qlcd_wp_chatbot_good_bye_text)
12006        );
12007        setTimeout(function () {
12008          wpwKits.doReset();
12009          wpwKits.closeWindow();
12010          wpwKits.updateGlobalMenu();
12011          wpwWelcome.greeting();
12012          //LoadwpwBotPlugin = 0;
12013        }, 2000);
12014      }
12015    },
12016    strHandler: function (msg, json = {}) {
12017      if (
12018        $(
12019          globalwpw.settings.messageLastChild +
12020          " .wp-chatbot-comment-loader"
12021        ).length == 0
12022      ) {
12023
12024        $(globalwpw.settings.messageContainer).append(
12025          wpwKits.botPreloader()
12026        );
12027      }
12028      if (Object.keys(json).length !== 0) {
12029        globalwpw.strObject = json;
12030        localStorage.setItem("strObject", JSON.stringify(globalwpw.strObject));
12031      }
12032      if (typeof msg != "undefined") {
12033        msg = msg.trim();
12034      }
12035      if (globalwpw.strStep == "match_query" && globalwpw.wildCard == 95) {
12036        if (
12037          globalwpw.settings.obj.voice_addon &&
12038          globalwpw.settings.obj.stt_service == "microsoft"
12039        ) {
12040          if (response_type == 1) {
12041            jQuery("#botstartvoicemicro").css("visibility", "visible");
12042          } else if (response_type == 3) {
12043            jQuery("#wp-chatbot-editor").removeAttr("disabled");
12044            jQuery("#wp-chatbot-editor").attr(
12045              "placeholder",
12046              wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg)
12047            );
12048          }
12049          response_type = 0;
12050        }
12051        //string_match
12052        var matched = false;
12053        globalwpw.strObject.data[0].users_answer.answer.forEach(function (
12054          item,
12055          index
12056        ) {
12057          if (wpwKits.string_match(item, msg) && !matched) {
12058            matched = true;
12059
12060            var trigger_intent =
12061              globalwpw.strObject.data[0].users_answer.feedback[index];
12062            globalwpw.strMatchfailed = 0;
12063            localStorage.setItem("strMatchfailed", globalwpw.strMatchfailed);
12064            globalwpw.wildCard = 0;
12065            localStorage.setItem("wildCard", globalwpw.wildCard);
12066
12067            setTimeout(function () {
12068              wpwKits.trigger_intent(trigger_intent);
12069            }, globalwpw.settings.preLoadingTime * 2);
12070
12071            if (
12072              typeof globalwpw.strObject.data[0].users_answer.trigger_intent !==
12073              "undefined" &&
12074              globalwpw.strObject.data[0].users_answer.trigger_intent != ""
12075            ) {
12076              var trigger_intent =
12077                globalwpw.strObject.data[0].users_answer.trigger_intent;
12078              globalwpw.strMatchfailed = 0;
12079              globalwpw.wildCard = 0;
12080              setTimeout(function () {
12081                wpwKits.trigger_intent(trigger_intent);
12082              }, globalwpw.settings.preLoadingTime * 2);
12083            }
12084
12085            //back to default workflow
12086            globalwpw.strMatchfailed = 0;
12087            localStorage.setItem("strMatchfailed", globalwpw.strMatchfailed);
12088            globalwpw.wildCard = 0;
12089            localStorage.setItem("wildCard", globalwpw.wildCard);
12090          } else {
12091            jQuery("#wp-chatbot-editor").prop("disabled", false);
12092            jQuery("#wp-chatbot-editor").attr("placeholder", "");
12093            globalwpw.strMatchfailed = 0;
12094            localStorage.setItem("strMatchfailed", globalwpw.strMatchfailed);
12095            globalwpw.wildCard = 0;
12096            localStorage.setItem("wildCard", globalwpw.wildCard);
12097            wpwTree.start_menu_settings();
12098          }
12099        });
12100        if (
12101          !matched &&
12102          typeof globalwpw.strEntities[
12103          globalwpw.strObject.data[0].users_answer.entity_name +
12104          globalwpw.strObject.data[0].id
12105          ] === "undefined" &&
12106          globalwpw.strObject.data[0].users_answer.entity_is_required == 1 &&
12107          globalwpw.strObject.data[0].users_answer.prompt_message != "" &&
12108          globalwpw.strMatchfailed < 3
12109        ) {
12110          wpwMsg.single(
12111            globalwpw.strObject.data[0].users_answer.prompt_message
12112          );
12113          globalwpw.strMatchfailed += 1;
12114          localStorage.setItem("strMatchfailed", globalwpw.strMatchfailed);
12115        } else if (
12116          !matched &&
12117          globalwpw.strObject.data[0].users_answer.not_match != "" &&
12118          globalwpw.strMatchfailed == 0
12119        ) {
12120          globalwpw.strMatchfailed += 1;
12121          localStorage.setItem("strMatchfailed", globalwpw.strMatchfailed);
12122          wpwMsg.single(globalwpw.strObject.data[0].users_answer.not_match);
12123
12124          if (
12125            globalwpw.settings.obj.voice_addon &&
12126            globalwpw.settings.obj.stt_service == "microsoft"
12127          ) {
12128            response_type =
12129              globalwpw.strObject.data[0].users_answer.response_type;
12130            setTimeout(function () {
12131              if (response_type == 1) {
12132                jQuery("#botstartvoicemicro").css("visibility", "hidden");
12133              } else if (response_type == 3) {
12134                jQuery("#wp-chatbot-editor").attr("disabled", "disabled");
12135                jQuery("#wp-chatbot-editor").attr("placeholder", "");
12136              }
12137            }, globalwpw.settings.preLoadingTime * 1.1);
12138          }
12139        } else if (!matched && globalwpw.strMatchfailed > 0) {
12140          // fallback to global intent.
12141          if (
12142            typeof globalwpw.strObject.data[0].trigger_intent !== "undefined" &&
12143            globalwpw.strObject.data[0].trigger_intent != ""
12144          ) {
12145            var trigger_intent = globalwpw.strObject.data[0].trigger_intent;
12146            setTimeout(function () {
12147              wpwKits.trigger_intent(trigger_intent);
12148            }, globalwpw.settings.preLoadingTime * 2);
12149          } else {
12150            wpwTree.start_menu_settings();
12151          }
12152        }
12153      } else {
12154        if (
12155          typeof globalwpw.strObject.category !== "undefined" &&
12156          globalwpw.strObject.category
12157        ) {
12158          var question = "";
12159          $.each(globalwpw.strObject.data, function (i, obj) {
12160            question +=
12161              '<span class="qcld-chatbot-wildcard qcld_simple_txt_response">' +
12162              obj.query +
12163              "</span>";
12164          });
12165          wpwMsg.single_nobg(question);
12166        } else if (globalwpw.strObject.multiple) {
12167          var question = "";
12168          $.each(json.data, function (i, obj) {
12169            question +=
12170              '<span class="qcld-chatbot-wildcard qcld_simple_txt_response" data-strid="' +
12171              obj.id +
12172              '">' +
12173              obj.query +
12174              "</span>";
12175          });
12176          wpwMsg.double_nobg(
12177            wpwKits.randomMsg(globalwpw.settings.obj.did_you_mean),
12178            question
12179          );
12180        } else {
12181          var serviceOffer = wpwKits.randomMsg(
12182            globalwpw.settings.obj.wildcard_msg
12183          );
12184          if (
12185            Object.keys(globalwpw.strObject).length != 0 &&
12186            Object.keys(globalwpw.strObject).length > 0
12187          ) {
12188            if (globalwpw.strObject.data[0].followup == "") {
12189              if (
12190                typeof globalwpw.strObject.data[0].trigger_intent !==
12191                "undefined" &&
12192                globalwpw.strObject.data[0].trigger_intent != ""
12193              ) {
12194                wpwMsg.single(globalwpw.strObject.data[0].response);
12195
12196                wpwTree.start_menu_settings();
12197                var trigger_intent = globalwpw.strObject.data[0].trigger_intent;
12198                setTimeout(function () {
12199                  wpwKits.trigger_intent(trigger_intent);
12200                }
12200, globalwpw.settings.preLoadingTime * 2);
12201              } else {
12202                wpwMsg.single(globalwpw.strObject.data[0].response);
12203                wpwTree.start_menu_settings();
12204                setTimeout(function () {
12205                  if (response_type == 1) {
12206                    jQuery("#botstartvoicemicro").css("visibility", "hidden");
12207                  } else if (response_type == 3) {
12208                    jQuery("#wp-chatbot-editor").attr("disabled", "disabled");
12209                    jQuery("#wp-chatbot-editor").attr("placeholder", "");
12210                  }
12211                }, 1000);
12212              }
12213              globalwpw.strMatchfailed = 0;
12214              localStorage.setItem("strMatchfailed", globalwpw.strMatchfailed);
12215              globalwpw.wildCard = 0;
12216              localStorage.setItem("wildCard", globalwpw.wildCard);
12217            } else if (
12218              typeof globalwpw.strObject.data[0].followup !== "undefined" &&
12219              globalwpw.strObject.data[0].followup != ""
12220            ) {
12221              globalwpw.strStep = "match_query";
12222              localStorage.setItem("strStep", globalwpw.strStep);
12223              globalwpw.wildCard = 95;
12224              localStorage.setItem("wildCard", globalwpw.wildCard);
12225              wpwKits.toggleAiFileUploadButton();
12226              setTimeout(function () {
12227                wpwMsg.double(
12228                  globalwpw.strObject.data[0].response,
12229                  globalwpw.strObject.data[0].followup
12230                );
12231                // need some condition
12232                if (
12233                  globalwpw.settings.obj.voice_addon &&
12234                  globalwpw.settings.obj.stt_service == "microsoft"
12235                ) {
12236                  response_type =
12237                    globalwpw.strObject.data[0].users_answer.response_type;
12238                  setTimeout(function () {
12239                    if (response_type == 1) {
12240                      jQuery("#botstartvoicemicro").css("visibility", "hidden");
12241                    } else if (response_type == 3) {
12242                      jQuery("#wp-chatbot-editor").attr("disabled", "disabled");
12243                      jQuery("#wp-chatbot-editor").attr("placeholder", "");
12244                    }
12245                  }, 1000);
12246                }
12247              }, globalwpw.settings.preLoadingTime * 2);
12248            } else {
12249              if (
12250                globalwpw.settings.obj.voice_addon &&
12251                globalwpw.settings.obj.stt_service == "microsoft"
12252              ) {
12253                response_type =
12254                  globalwpw.strObject.data[0].users_answer.response_type;
12255                setTimeout(function () {
12256                  if (response_type == 1) {
12257                    jQuery("#botstartvoicemicro").css("visibility", "hidden");
12258                  } else if (response_type == 3) {
12259                    jQuery("#wp-chatbot-editor").attr("disabled", "disabled");
12260                    jQuery("#wp-chatbot-editor").attr("placeholder", "");
12261                  }
12262                }, globalwpw.settings.preLoadingTime * 3);
12263              }
12264            }
12265          } else {
12266            if (
12267              typeof globalwpw.strObject.data[0].trigger_intent !==
12268              "undefined" &&
12269              globalwpw.strObject.data[0].trigger_intent != ""
12270            ) {
12271              setTimeout(function () {
12272                wpwKits.trigger_intent(
12273                  globalwpw.strObject.data[0].trigger_intent
12274                );
12275              }, globalwpw.settings.preLoadingTime * 2);
12276            } else if (
12277              typeof globalwpw.strObject.data[0].followup !== "undefined" &&
12278              globalwpw.strObject.data[0].followup != ""
12279            ) {
12280              if (globalwpw.strObject.data[0].followup != "") {
12281                setTimeout(function () {
12282                  var folllowupmsg = globalwpw.strObject.data[0].followup;
12283                  wpwMsg.single(folllowupmsg + " ");
12284                }, globalwpw.settings.preLoadingTime * 3);
12285              }
12286            } else {
12287              wpwTree.start_menu_settings();
12288            }
12289          }
12290        }
12291      }
12292    },
12293    formbuilder: function (msg) {
12294      //destroy date picker
12295      // if ( jQuery.isFunction(jQuery.fn.datetimepicker) ) {
12296      if (
12297        typeof jQuery("#wp-chatbot-editor").data("DateTimePicker") == "object"
12298      ) {
12299        if (jQuery("#wp-chatbot-editor").data("DateTimePicker")) {
12300          jQuery("#wp-chatbot-editor").data("DateTimePicker").destroy();
12301        }
12302      }
12303      jQuery("#wp-chatbot-editor").attr("type", "text");
12304      jQuery("#wp-chatbot-editor").prop("disabled", false);
12305      jQuery("#wp-chatbot-editor").removeAttr("multiple");
12306
12307      jQuery("#wp-chatbot-editor").removeClass("qcphonebasicus");
12308      jQuery("#wp-chatbot-editor").removeClass("qcnumberfield");
12309      jQuery("#wp-chatbot-editor").removeAttr("minlength");
12310      jQuery("#wp-chatbot-editor").removeAttr("maxlength");
12311
12312      if (globalwpw.wildCard == 7 && globalwpw.formStep == "welcome") {
12313        if (!localStorage.getItem("botsessionid")) {
12314          var number = Math.random(); // 0.9394456857981651
12315          number.toString(36); // '0.xtis06h6'
12316          var id = number.toString(36).substr(2); // 'xtis06h6'
12317
12318          localStorage.setItem("botsessionid", id);
12319        }
12320
12321        var data = {
12322          action: "wpbot_get_form",
12323          formid: msg,
12324          session: localStorage.getItem("botsessionid"),
12325        };
12326        if (
12327          $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
12328            .length == 0
12329        ) {
12330          $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
12331        }
12332        wpwKits.ajax(data).done(function (response) {
12333          var json = $.parseJSON(response);
12334          if (
12335            jQuery('.wp-chatbot-operation-option[data-option="chat"]').length >
12336            0 &&
12337            jQuery('.wp-chatbot-operation-option[data-option="chat"]').is(
12338              ":visible"
12339            )
12340          ) {
12341            wpwKits.showtooltip(
12342              jQuery('.wp-chatbot-operation-option[data-option="chat"]')
12343            );
12344            setTimeout(function () {
12345              $("#bottooltip").hide("slow");
12346            }, 5000);
12347          }
12348          globalwpw.prevform = json.ID;
12349          globalwpw.formfieldid = json.ID;
12350          localStorage.setItem("formfieldid", globalwpw.formfieldid);
12351          globalwpw.formStep = "field";
12352          localStorage.setItem("formStep", globalwpw.formStep);
12353          globalwpw.formid = msg;
12354          localStorage.setItem("formid", globalwpw.formid);
12355          localStorage.setItem("wildCard", globalwpw.wildCard);
12356
12357          var label = json.label;
12358          label = label.replace("#name", localStorage.getItem("shopper"));
12359          if (json.type == "text") {
12360            if (json.hasOwnProperty("additional") && json.additional != "") {
12361              label +=
12362                '<i class="wpbot_addition_label">' + json.additional + "</i>";
12363            }
12364            if (json.hasOwnProperty("skip") && json.skip == "1") {
12365              var skip_html = '<span class="qcld-chatbot-formanswer" data-form-value="skip">Skip</span>';
12366              wpwMsg.double_nobg(label, skip_html);
12367            } else {
12368              wpwMsg.single(label);
12369            }
12370
12371            jQuery("#wp-chatbot-editor").val("");
12372            if (
12373              json.hasOwnProperty("config") &&
12374              json.config.hasOwnProperty("min") &&
12375              json.config.min > 0
12376            ) {
12377              jQuery("#wp-chatbot-editor").attr("minlength", json.config.min);
12378            }
12379            if (
12380              json.hasOwnProperty("config") &&
12381              json.config.hasOwnProperty("max") &&
12382              json.config.max > 0
12383            ) {
12384              jQuery("#wp-chatbot-editor").attr("maxlength", json.config.max);
12385            }
12386            $(globalwpw.settings.messageContainer).find('.wp-chatbot-msg:last ').css('display', 'block');
12387          } else if (json.type == "dropdown") {
12388            var html = "";
12389            if (json.hasOwnProperty("show_as_dropdown") && json.show_as_dropdown == 1) {
12390              var placeholder = (json.config.hasOwnProperty("placeholder") && json.config.placeholder != "") ? json.config.placeholder : "Select Option";
12391              html += '<select class="qcld-chatbot-dropdown-select" style="width: 100%; max-width: 250px; padding: 10px 15px; border-radius: 20px; border: 1px solid #ccc; background-color: #fff; color: #333; font-size: 14px; margin-top: 5px; outline: none; box-shadow: 0 2px 5px rgba(0,0,0,0.1); cursor: pointer; transition: border-color 0.3s ease;">';
12392              html += '<option value="">' + placeholder + '</option>';
12393              jQuery.each(json.config.option, function (key, value) {
12394                html += '<option value="' + value.value + '">' + value.label + '</option>';
12395              });
12396              if (json.hasOwnProperty("skip") && json.skip == "1") {
12397                html += '<option value="skip">Skip</option>';
12398              }
12399              html += '</select>';
12400            } else {
12401              jQuery.each(json.config.option, function (key, value) {
12402                html +=
12403                  '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="' +
12404                  value.value +
12405                  '" >' +
12406                  value.label +
12407                  "</span>";
12408              });
12409              if (json.hasOwnProperty("skip") && json.skip == "1") {
12410                html += '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>';
12411              }
12412            }
12413
12414            if (json.hasOwnProperty("additional") && json.additional != "") {
12415              label +=
12416                '<i class="wpbot_addition_label">' + json.additional + "</i>";
12417            }
12418            if (label.length == 0) {
12419              wpwMsg.single(html);
12420            } else {
12421              wpwMsg.double(label, html);
12422            }
12423
12424            setTimeout(function () {
12425              jQuery("#wp-chatbot-editor").prop("disabled", true);
12426            }, globalwpw.settings.preLoadingTime * 2.2);
12427          } else if (json.type == "checkbox") {
12428            var html = "";
12429            jQuery.each(json.config.option, function (key, value) {
12430              html +=
12431                '<input type="checkbox" class="qcld-chatbot-checkbox" value="' +
12432                value.value +
12433                '">' +
12434                value.label +
12435                "<br>";
12436            });
12437            if (json.hasOwnProperty("skip") && json.skip == "1") {
12438              html += '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>';
12439            }
12440
12441            if (json.hasOwnProperty("additional") && json.additional != "") {
12442              label +=
12443                '<i class="wpbot_addition_label">' + json.additional + "</i>";
12444            }
12445            wpwMsg.double(label, html);
12446          } else if (json.type == "number") {
12447            if (json.hasOwnProperty("additional") && json.additional != "") {
12448              label +=
12449                '<i class="wpbot_addition_label">' + json.additional + "</i>";
12450            }
12451            if (json.hasOwnProperty("skip") && json.skip == "1") {
12452              var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>';
12453              wpwMsg.double(label, skip_html);
12454            } else {
12455              wpwMsg.single(label);
12456            }
12457
12458            jQuery("#wp-chatbot-editor").addClass("qcnumberfield");
12459
12460            if (
12461              json.hasOwnProperty("config") &&
12462              json.config.hasOwnProperty("min") &&
12463              json.config.min > 0
12464            ) {
12465              jQuery("#wp-chatbot-editor").attr("minlength", json.config.min);
12466            }
12467
12468            if (
12469              json.hasOwnProperty("config") &&
12470              json.config.hasOwnProperty("max") &&
12471              json.config.max > 0
12472            ) {
12473              jQuery("#wp-chatbot-editor").attr("maxlength", json.config.max);
12474            }
12475          } else if (json.type == "date_picker") {
12476            if (json.hasOwnProperty("additional") && json.additional != "") {
12477              label +=
12478                '<i class="wpbot_addition_label">' + json.additional + "</i>";
12479            }
12480            if (json.hasOwnProperty("skip") && json.skip == "1") {
12481              var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>';
12482              wpwMsg.double(label, skip_html);
12483            } else {
12484              wpwMsg.single(label);
12485            }
12486
12487            jQuery("#wp-chatbot-editor").blur();
12488            jQuery("#wp-chatbot-editor").datepicker();
12489          } else if (json.type == "email") {
12490            if (json.hasOwnProperty("additional") && json.additional != "") {
12491              label +=
12492                '<i class="wpbot_addition_label">' + json.additional + "</i>";
12493            }
12494            if (json.hasOwnProperty("skip") && json.skip == "1") {
12495              var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>';
12496              wpwMsg.double(label, skip_html);
12497            } else {
12498              wpwMsg.single(label);
12499            }
12500
12501            jQuery("#wp-chatbot-editor").attr("type", "email");
12502          } else if (json.type == "calendar") {
12503            if (json.hasOwnProperty("additional") && json.additional != "") {
12504              label +=
12505                '<i class="wpbot_addition_label">' + json.additional + "</i>";
12506            }
12507            if (json.hasOwnProperty("skip") && json.skip == "1") {
12508              var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>';
12509              wpwMsg.double(label, skip_html);
12510            } else {
12511              wpwMsg.single(label);
12512            }
12513            jQuery("#wp-chatbot-editor").attr("disabled", "disabled");
12514          } else if (json.type == "url") {
12515            if (json.hasOwnProperty("additional") && json.additional != "") {
12516              label +=
12517                '<i class="wpbot_addition_label">' + json.additional + "</i>";
12518            }
12519            if (json.hasOwnProperty("skip") && json.skip == "1") {
12520              var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>';
12521              wpwMsg.double(label, skip_html);
12522            } else {
12523              wpwMsg.single(label);
12524            }
12525
12526            jQuery("#wp-chatbot-editor").attr("type", "url");
12527          } else if (json.type == "phone") {
12528            if (json.hasOwnProperty("skip") && json.skip == "1") {
12529              var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>';
12530              wpwMsg.double(label, skip_html);
12531            } else {
12532              wpwMsg.single(label);
12533            }
12534
12535            jQuery("#wp-chatbot-editor").addClass("qcphonebasicus");
12536          } else if (json.type == "html") {
12537            if (json.hasOwnProperty("show_as_menu") && json.show_as_menu == 1) {
12538              wpwMsg.single_nobg(
12539                json.config.default.replace(
12540                  "#name",
12541                  localStorage.getItem("shopper")
12542                )
12543              );
12544            } else {
12545              wpwMsg.single(
12546                json.config.default.replace(
12547                  "#name",
12548                  localStorage.getItem("shopper")
12549                )
12550              );
12551            }
12552
12553            globalwpw.formfieldid = json.ID;
12554            localStorage.setItem("formfieldid", globalwpw.formfieldid);
12555            globalwpw.formentry = json.entry;
12556            localStorage.setItem("formentry", globalwpw.formentry);
12557            setTimeout(function () {
12558              if (
12559                !json.hasOwnProperty("show_as_menu") ||
12560                json.show_as_menu != 1
12561              ) {
12562                wpwTree.formbuilder();
12563              }
12564            }, globalwpw.settings.preLoadingTime);
12565          } else if (json.type == "payment") {
12566            wpwKits.wpwHandlePaymentFieldStep(json);
12567          } else if (json.type == "hidden" && json.slug == "name") {
12568            var name = localStorage.getItem("shopper");
12569            if (globalwpw.settings.obj.order_login == 1) {
12570              name = globalwpw.settings.obj.order_user;
12571            }
12572            wpwTree.formbuilder(name);
12573          } else {
12574            if (json.hasOwnProperty("additional") && json.additional != "") {
12575              label +=
12576                '<i class="wpbot_addition_label">' + json.additional + "</i>";
12577            }
12578            wpwMsg.single(label);
12579          }
12580        });
12581      } else if (globalwpw.wildCard == 7 && globalwpw.formStep == "field") {
12582        var data = {
12583          action: "wpbot_capture_form_value",
12584          formid: globalwpw.formid,
12585          fieldid: globalwpw.formfieldid,
12586          answer: msg,
12587          entry: globalwpw.formentry,
12588          session: localStorage.getItem("botsessionid"),
12589          name: globalwpw.hasNameCookie,
12590          email: localStorage.getItem("shopperemail"),
12591          conversation: localStorage.getItem("wpwHitory"),
12592          url: window.location.href,
12593        };
12594        if (
12595          $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
12596            .length == 0
12597        ) {
12598          $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
12599        }
12600        wpwKits.ajax(data).done(function (response) {
12601          var json = $.parseJSON(response);
12602          if (
12603            jQuery("#wp-chatbot-editor").data("datepicker") != null &&
12604            json.type != "date_picker"
12605          ) {
12606            jQuery("#wp-chatbot-editor").datepicker("disable");
12607            jQuery("#wp-chatbot-editor").removeClass("hasDatepicker");
12608            document.getElementById("wp-chatbot-editor").disabled = false;
12609          }
12610          if (json.status == "incomplete") {
12611            if (json.type == "openAI") {
12612              wpwMsg.single(json.msg);
12613            }
12614            if (json.type != "html") {
12615              if ($(".chatbot_intent_reload").length > 0) {
12616                $(".chatbot_intent_reload").remove();
12617              }
12618              wpwKits.render(globalwpw.settings.obj.go_back_tooltip);
12619              $("#wp-chatbot-editor-container").append(
12620                '<span class="chatbot_intent_reload" title="' +
12621                wpwKits.render(globalwpw.settings.obj.go_back_tooltip) +
12622                '" data-wildcard="7" data-step="welcome" data-intent-type="formbuilder" data-intent="' +
12623                globalwpw.prevform +
12624                '"><i class="fa fa-undo" aria-hidden="true"></i></span>'
12625              );
12626              globalwpw.prevform = globalwpw.formfieldid;
12627            }
12628            globalwpw.formStep = "field";
12629            localStorage.setItem("formStep", globalwpw.formStep);
12630            globalwpw.formfieldid = json.ID;
12631            localStorage.setItem("formfieldid", globalwpw.formfieldid);
12632            globalwpw.formentry = json.entry;
12633            localStorage.setItem("formentry", globalwpw.formentry);
12634            var label = json.label;
12635            if (label.length > 1 && typeof label === "string") {
12636              label = label.replace("#name", localStorage.getItem("shopper"));
12637            }
12638            if (json.type == "text") {
12639              if (json.hasOwnProperty("additional") && json.additional != "") {
12640                label +=
12641                  '<i class="wpbot_addition_label">' + json.additional + "</i>";
12642              }
12643              if (json.hasOwnProperty("skip") && json.skip == "1") {
12644                var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>';
12645                wpwMsg.double(label, skip_html);
12646              } else {
12647                wpwMsg.single(label);
12648              }
12649
12650              if (
12651                json.hasOwnProperty("config") &&
12652                json.config.hasOwnProperty("min") &&
12653                json.config.min > 0
12654              ) {
12655                jQuery("#wp-chatbot-editor").attr("minlength", json.config.min);
12656              }
12657
12658              if (
12659                json.hasOwnProperty("config") &&
12660                json.config.hasOwnProperty("max") &&
12661                json.config.max > 0
12662              ) {
12663                jQuery("#wp-chatbot-editor").attr("maxlength", json.config.max);
12664              }
12665            } else if (json.type == "dropdown") {
12666              var html = "";
12667              if (json.hasOwnProperty("show_as_dropdown") && json.show_as_dropdown == 1) {
12668                var placeholder = (json.config.hasOwnProperty("placeholder") && json.config.placeholder != "") ? json.config.placeholder : "Select Option";
12669                html += '<select class="qcld-chatbot-dropdown-select" style="width: 100%; max-width: 250px; padding: 10px 15px; border-radius: 20px; border: 1px solid #ccc; background-color: #fff; color: #333; font-size: 14px; margin-top: 5px; outline: none; box-shadow: 0 2px 5px rgba(0,0,0,0.1); cursor: pointer; transition: border-color 0.3s ease;">';
12670                html += '<option value="">' + placeholder + '</option>';
12671                jQuery.each(json.config.option, function (key, value) {
12672                  html += '<option value="' + value.value + '">' + value.label + '</option>';
12673                });
12674                if (json.hasOwnProperty("skip") && json.skip == "1") {
12675                  html += '<option value="skip">Skip</option>';
12676                }
12677                html += '</select>';
12678              } else {
12679                jQuery.each(json.config.option, function (key, value) {
12680                  html +=
12681                    '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="' +
12682                    value.value +
12683                    '" >' +
12684                    value.label +
12685                    "</span>";
12686                });
12687                if (json.hasOwnProperty("skip") && json.skip == "1") {
12688                  html += '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>';
12689                }
12690              }
12691              if (json.hasOwnProperty("additional") && json.additional != "") {
12692                label +=
12693                  '<i class="wpbot_addition_label">' + json.additional + "</i>";
12694              }
12695
12696              if (label.length == 0) {
12697                wpwMsg.single(html);
12698                //  wpwMsg.double(msg, html);
12699              } else {
12700                //  wpwMsg.triple_nobg(msg,label, html);
12701                wpwMsg.double(label, html);
12702              }
12703
12704              setTimeout(function () {
12705                jQuery("#wp-chatbot-editor").prop("disabled", true);
12706              }, globalwpw.settings.preLoadingTime * 2.2);
12707            } else if (json.type == "checkbox") {
12708              var html = "";
12709              jQuery.each(json.config.option, function (key, value) {
12710                html +=
12711                  '<input type="checkbox" class="qcld-chatbot-checkbox" value="' +
12712                  value.value +
12713                  '">' +
12714                  value.label +
12715                  "<br>";
12716              });
12717              if (json.hasOwnProperty("skip") && json.skip == "1") {
12718                html += '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>';
12719              }
12720              if (json.hasOwnProperty("additional") && json.additional != "") {
12721                label +=
12722                  '<i class="wpbot_addition_label">' + json.additional + "</i>";
12723              }
12724              wpwMsg.double(label, html);
12725            } else if (json.type == "html") {
12726              if (
12727                json.hasOwnProperty("show_as_menu") &&
12728                json.show_as_menu == 1
12729              ) {
12730                var html_msg = json.config.default.replace(
12731                  "/\n/",
12732                  localStorage.getItem("shopper")
12733                );
12734                wpwMsg.single_nobg(
12735                  html_msg.replace("#name", localStorage.getItem("shopper"))
12736                );
12737              } else {
12738                var html_msg = json.config.default.replace(
12739                  "/\n/",
12740                  localStorage.getItem("shopper")
12741                );
12742                wpwMsg.single(
12743                  html_msg.replace("#name", localStorage.getItem("shopper"))
12744                );
12745              }
12746
12747              setTimeout(function () {
12748                if (
12749                  !json.hasOwnProperty("show_as_menu") ||
12750                  json.show_as_menu != 1
12751                ) {
12752                  wpwTree.formbuilder();
12753                }
12754              }, globalwpw.settings.preLoadingTime);
12755            } else if (json.type == "payment") {
12756              wpwKits.wpwHandlePaymentFieldStep(json);
12757            } else if (json.type == "date_picker") {
12758              if (json.hasOwnProperty("additional") && json.additional != "") {
12759                label +=
12760                  '<i class="wpbot_addition_label">' + json.additional + "</i>";
12761              }
12762              if (json.hasOwnProperty("skip") && json.skip == "1") {
12763                var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>';
12764                wpwMsg.double(label, skip_html);
12765              } else {
12766                wpwMsg.single(label);
12767              }
12768
12769              jQuery("#wp-chatbot-editor").blur();
12770              jQuery("#wp-chatbot-editor").datepicker();
12771            } else if (json.type == "number") {
12772              if (json.hasOwnProperty("additional") && json.additional != "") {
12773                label +=
12774                  '<i class="wpbot_addition_label">' + json.additional + "</i>";
12775              }
12776              if (json.hasOwnProperty("skip") && json.skip == "1") {
12777                var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>';
12778                wpwMsg.double(label, skip_html);
12779              } else {
12780                wpwMsg.single(label);
12781              }
12782
12783              jQuery("#wp-chatbot-editor").addClass("qcnumberfield");
12784              if (
12785                json.hasOwnProperty("config") &&
12786                json.config.hasOwnProperty("min") &&
12787                json.config.min > 0
12788              ) {
12789                jQuery("#wp-chatbot-editor").attr("minlength", json.config.min);
12790              }
12791
12792              if (
12793                json.hasOwnProperty("config") &&
12794                json.config.hasOwnProperty("max") &&
12795                json.config.max > 0
12796              ) {
12797                jQuery("#wp-chatbot-editor").attr("maxlength", json.config.max);
12798              }
12799            } else if (json.type == "email") {
12800              if (json.hasOwnProperty("additional") && json.additional != "") {
12801                label +=
12802                  '<i class="wpbot_addition_label">' + json.additional + "</i>";
12803              }
12804              if (json.hasOwnProperty("skip") && json.skip == "1") {
12805                var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>';
12806                wpwMsg.double(label, skip_html);
12807              } else {
12808                wpwMsg.single(label);
12809              }
12810
12811              jQuery("#wp-chatbot-editor").attr("type", "email");
12812            } else if (json.type == "calendar") {
12813              if (json.hasOwnProperty("additional") && json.additional != "") {
12814                label +=
12815                  '<i class="wpbot_addition_label">' + json.additional + "</i>";
12816              }
12817              if (json.hasOwnProperty("skip") && json.skip == "1") {
12818                var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>';
12819                wpwMsg.double(label, skip_html);
12820              } else {
12821                wpwMsg.single(label);
12822              }
12823              jQuery("#wp-chatbot-editor").attr("disabled", "disabled");
12824            } else if (json.type == "url") {
12825              if (json.hasOwnProperty("additional") && json.additional != "") {
12826                label +=
12827                  '<i class="wpbot_addition_label">' + json.additional + "</i>";
12828              }
12829              if (json.hasOwnProperty("skip") && json.skip == "1") {
12830                var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>';
12831                wpwMsg.double(label, skip_html);
12832              } else {
12833                wpwMsg.single(label);
12834              }
12835
12836              jQuery("#wp-chatbot-editor").attr("type", "url");
12837            } else if (json.type == "phone") {
12838              if (json.hasOwnProperty("skip") && json.skip == "1") {
12839                var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>';
12840                wpwMsg.double(label, skip_html);
12841              } else {
12842                wpwMsg.single(label);
12843              }
12844
12845              jQuery("#wp-chatbot-editor").addClass("qcphonebasicus");
12846            } else if (json.type == "calculation") {
12847              let calresult = json.calresult;
12848              calresult = eval(calresult);
12849              setTimeout(function () {
12850                var cal =
12851                  json.calbefore +
12852                  " " +
12853                  calresult.toFixed(2) +
12854                  " " +
12855                  json.calafter;
12856                wpwTree.formbuilder(cal);
12857                wpwMsg.single(cal);
12858              }, globalwpw.settings.preLoadingTime);
12859            } else if (json.type == "hidden") {
12860              var email = json.config.default;
12861              if (
12862                globalwpw.settings.obj.order_login == 1 &&
12863                json.slug == "email"
12864              ) {
12865                email = globalwpw.settings.obj.order_email;
12866              }
12867              wpwTree.formbuilder(email);
12868            } else if (json.type == "file") {
12869              if (json.hasOwnProperty("additional") && json.additional != "") {
12870                label +=
12871                  '<i class="wpbot_addition_label">' + json.additional + "</i>";
12872              }
12873
12874              jQuery("#wp-chatbot-editor").attr("type", "file");
12875              jQuery("#wp-chatbot-editor").attr("multiple", "multiple");
12876              wpwKits.toggleAiFileUploadButton();
12877
12878              if (json.hasOwnProperty("skip") && json.skip == "1") {
12879                var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>';
12880                wpwMsg.double(label, skip_html);
12881              } else {
12882                wpwMsg.single(label);
12883              }
12884            } else {
12885              if (json.hasOwnProperty("additional") && json.additional != "") {
12886                label +=
12887                  '<i class="wpbot_addition_label">' + json.additional + "</i>";
12888              }
12889              if (json.hasOwnProperty("skip") && json.skip == "1") {
12890                var skip_html = '<span class="qcld-chatbot-wildcard qcld-chatbot-formanswer" data-form-value="skip">Skip</span>';
12891                wpwMsg.double(label, skip_html);
12892              } else {
12893                wpwMsg.single(label);
12894              }
12895            }
12896          } else {
12897            if (json.type == "openAI") {
12898              setTimeout(function () {
12899                wpwMsg.single(json.msg);
12900              }, 500);
12901              setTimeout(function () {
12902                var scrollto = jQuery(globalwpw.settings.messageWrapper).prop(
12903                  "scrollHeight"
12904                );
12905                var $botContainer = jQuery(globalwpw.settings.botContainer);
12906                if ($botContainer.parent().hasClass("slimScrollDiv")) {
12907                  $botContainer.slimScroll({
12908                    scrollTo: scrollto + "px",
12909                  });
12910                } else {
12911                  $botContainer.scrollTop(scrollto);
12912                }
12913              }, 500);
12914              setTimeout(function () {
12915                if (json.status == "complete") {
12916                  wpwTree.start_menu_settings();
12917                  globalwpw.wildCard = 0;
12918                }
12919              }, 1000);
12920            } else {
12921              if (json.status == "complete" && json.payment) {
12922                  wpwKits.wpwShowInlinePaymentCheckout(json.url || "", {
12923                    gateway: "stripe",
12924                    amount: json.amount || "",
12925                    currency: json.currency || "",
12926                    item: json.item || "",
12927                    client_secret: json.client_secret || "",
12928                    publishable_key: json.publishable_key || "",
12929                    inline_checkout: json.inline_checkout || 0,
12930                  });
12931              } else if (
12932                json.status == "complete" &&
12933                typeof json.url !== "undefined"
12934              ) {
12935                window.open(json.url, "_blank");
12936              }
12937              if (json.status == "complete" && json.payment_error) {
12938                wpwMsg.single(json.payment_error);
12939              }
12940              if ($(".chatbot_intent_reload").length > 0) {
12941                $(".chatbot_intent_reload").attr("data-step", "complete");
12942              }
12943              globalwpw.formfieldid = "";
12944              localStorage.setItem("formfieldid", globalwpw.formfieldid);
12945              globalwpw.formStep = "welcome";
12946              localStorage.setItem("formStep", globalwpw.formStep);
12947              globalwpw.formid = "";
12948              localStorage.setItem("formid", globalwpw.formid);
12949              globalwpw.wildCard = 0;
12950              localStorage.setItem("wildCard", globalwpw.wildCard);
12951              globalwpw.formentry = 0;
12952              localStorage.setItem("formentry", globalwpw.formentry);
12953              wpwKits.enableEditor(
12954                wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg)
12955              );
12956              globalwpw.wpwIsWorking = 1;
12957              if (json.status == "complete") {
12958                wpwTree.start_menu_settings();
12959              }
12960            }
12961          }
12962        });
12963      }
12964    },
12965    formbuilder_force_complete: function (msg) {
12966      //destroy date picker
12967      //if ( jQuery.isFunction(jQuery.fn.datetimepicker) ) {
12968      if (typeof jQuery.fn.datetimepicker === "function") {
12969        if (jQuery("#wp-chatbot-editor").data("DateTimePicker")) {
12970          jQuery("#wp-chatbot-editor").data("DateTimePicker").destroy();
12971        }
12972      }
12973      jQuery("#wp-chatbot-editor").attr("type", "text");
12974      jQuery("#wp-chatbot-editor").prop("disabled", false);
12975      jQuery("#wp-chatbot-editor").removeAttr("multiple");
12976
12977      jQuery("#wp-chatbot-editor").removeClass("qcphonebasicus");
12978      jQuery("#wp-chatbot-editor").removeClass("qcnumberfield");
12979      jQuery("#wp-chatbot-editor").removeAttr("minlength");
12980      jQuery("#wp-chatbot-editor").removeAttr("maxlength");
12981
12982      if (globalwpw.wildCard == 7 && globalwpw.formStep == "field") {
12983        var data = {
12984          action: "wpbot_capture_form_value",
12985          formid: globalwpw.formid,
12986          fieldid: globalwpw.formfieldid,
12987          answer: msg,
12988          entry: globalwpw.formentry,
12989          session: localStorage.getItem("botsessionid"),
12990          name: globalwpw.hasNameCookie,
12991          email: localStorage.getItem("shopperemail"),
12992          url: window.location.href,
12993          conversation: localStorage.getItem("wpwHitory"),
12994          do_complete: 1,
12995        };
12996
12997        globalwpw.formfieldid = "";
12998        localStorage.setItem("formfieldid", globalwpw.formfieldid);
12999        globalwpw.formStep = "welcome";
13000        localStorage.setItem("formStep", globalwpw.formStep);
13001        globalwpw.formid = "";
13002        localStorage.setItem("formid", globalwpw.formid);
13003        globalwpw.wildCard = 0;
13004        localStorage.setItem("wildCard", globalwpw.wildCard);
13005        globalwpw.formentry = 0;
13006        localStorage.setItem("formentry", globalwpw.formentry);
13007
13008        wpwKits.ajax(data).done(function (response) {
13009          var json = $.parseJSON(response);
13010          if (json.status == "complete") {
13011            wpwTree.start_menu_settings();
13012          }
13013        });
13014      }
13015    },
13016    bargain: function (msg) {
13017      if (
13018        globalwpw.wildCard == 9 &&
13019        globalwpw.bargainStep == "welcome" &&
13020        globalwpw.bargainId != ""
13021      ) {
13022        var data = {
13023          action: "qcld_woo_bargin_product",
13024          qcld_woo_map_product_id: globalwpw.bargainId,
13025          qcld_woo_map_variation_id: globalwpw.bargainVId,
13026          security: globalwpw.settings.obj.map_get_ajax_nonce,
13027        };
13028        if (
13029          $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
13030            .length == 0
13031        ) {
13032          $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
13033        }
13034        wpwKits.ajax(data).done(function (response) {
13035          var restWarning = response.html;
13036          var confirmBtn = wpwKits.render(
13037            globalwpw.settings.obj.your_offer_price
13038          );
13039          wpwMsg.double(restWarning, confirmBtn);
13040
13041          globalwpw.bargainStep = "bargain";
13042          globalwpw.bargainLoop = 0;
13043          globalwpw.bargainPrice = "";
13044          globalwpw.bargainId = globalwpw.bargainId;
13045          globalwpw.bargainVId = globalwpw.bargainVId;
13046          localStorage.setItem("wildCard", globalwpw.bargainStep);
13047          localStorage.setItem("bargainLoop", globalwpw.bargainLoop);
13048          localStorage.setItem("bargainPrice", globalwpw.bargainPrice);
13049          localStorage.setItem("bargainId", globalwpw.bargainId);
13050          localStorage.setItem("bargainVId", globalwpw.bargainVId);
13051        });
13052      } else if (
13053        globalwpw.wildCard == 9 &&
13054        globalwpw.bargainStep == "bargain" &&
13055        msg !== ""
13056      ) {
13057        // setTimeout(function(){
13058        var string = msg;
13059
13060        //var spliting = string.match(/\d+/g);
13061        var spliting = string.match(/\d+(?:\.\d+)?/g);
13062
13063        if (spliting === null) {
13064          wpwMsg.single(
13065            wpwKits.render(globalwpw.settings.obj.your_offer_price_again)
13066          );
13067        } else {
13068          var msg = string.match(/\d+(?:\.\d+)?/g).map(Number);
13069
13070          var data = {
13071            action: "qcld_woo_bargin_product_price",
13072            qcld_woo_map_product_id: globalwpw.bargainId,
13073            qcld_woo_map_variation_id: globalwpw.bargainVId,
13074            price: parseFloat(msg),
13075            security: globalwpw.settings.obj.map_get_ajax_nonce,
13076          };
13077          if (
13078            $(
13079              globalwpw.settings.messageLastChild +
13080              " .wp-chatbot-comment-loader"
13081            ).length == 0
13082          ) {
13083            $(globalwpw.settings.messageContainer).append(
13084              wpwKits.botPreloader()
13085            );
13086          }
13087          wpwKits.ajax(data).done(function (response) {
13088            globalwpw.bargainStep = "bargain";
13089            globalwpw.bargainPrice = response.sale_price;
13090            localStorage.setItem("bargainStep", globalwpw.bargainStep);
13091            localStorage.setItem("bargainPrice", globalwpw.bargainPrice);
13092
13093            if (response.confirm == "success") {
13094              // If user provide price below minimum price
13095
13096              var bargainModalLoop =
13097                parseFloat(localStorage.getItem("bargainModalLoop")) + 1;
13098              localStorage.setItem("bargainModalLoop", bargainModalLoop);
13099
13100              var qcld_bargain_allowed_timesss =
13101                parseInt(globalwpw.settings.obj.qcld_bargain_allowed_times) + 1;
13102
13103              if (
13104                localStorage.getItem("bargainModalLoop") ==
13105                parseInt(qcld_bargain_allowed_timesss)
13106              ) {
13107                //if( globalwpw.bargainLoop == 1){
13108                var your_low_price_alert = wpwKits.render(
13109                  globalwpw.settings.obj.your_low_price_alert
13110                );
13111                var confirmBtn1 = your_low_price_alert.replace(
13112                  "{offer price}",
13113                  parseFloat(msg) + globalwpw.settings.obj.currency_symbol
13114                );
13115                var your_too_low_price_alert = wpwKits.render(
13116                  globalwpw.settings.obj.your_too_low_price_alert
13117                );
13118                var restWarning = your_too_low_price_alert.replace(
13119                  "{minimum amount}",
13120                  globalwpw.bargainPrice +
13121                  globalwpw.settings.obj.currency_symbol
13122                );
13123
13124                var confirmBtn =
13125                  '<span class="qcld-bargin-bot-confirm-add-to-cart" confirm-data="yes" >' +
13126                  wpwKits.render(globalwpw.settings.obj.yes) +
13127                  "</span> <span> " +
13128                  wpwKits.render(globalwpw.settings.obj.or) +
13129                  ' </span><span class="qcld-chatbot-bargin-confirm-btn"  confirm-data="no">' +
13130                  wpwKits.render(globalwpw.settings.obj.no) +
13131                  "</span>";
13132                wpwMsg.triple_nobg(confirmBtn1, restWarning, confirmBtn);
13133
13134                globalwpw.bargainLoop = 0;
13135                localStorage.setItem("bargainModalLoop", globalwpw.bargainLoop);
13136              } else {
13137                var restWarning = response.html;
13138                wpwMsg.single(response.html);
13139
13140                //globalwpw.bargainLoop  = 1;
13141                //localStorage.setItem("wildCard",  globalwpw.bargainLoop);
13142              }
13143            } else if (response.confirm == "agree") {
13144              // if user provide resonable price.
13145              var restWarning = response.html;
13146              wpwMsg.single(restWarning);
13147              setTimeout(function () {
13148                var data = {
13149                  action: "qcld_woo_bargin_product_confirm",
13150                  qcld_woo_map_product_id: globalwpw.bargainId,
13151                  price: globalwpw.bargainPrice,
13152                  security: globalwpw.settings.obj.map_get_ajax_nonce,
13153                };
13154                if (
13155                  $(
13156                    globalwpw.settings.messageLastChild +
13157                    " .wp-chatbot-comment-loader"
13158                  ).length == 0
13159                ) {
13160                  $(globalwpw.settings.messageContainer).append(
13161                    wpwKits.botPreloader()
13162                  );
13163                }
13164                wpwKits.ajax(data).done(function (response) {
13165                  var confirmBtn =
13166                    '<span class="qcld-bargin-bot-confirm-add-to-cart" confirm-data="yes" >' +
13167                    wpwKits.render(globalwpw.settings.obj.yes) +
13168                    "</span> <span> " +
13169                    wpwKits.render(globalwpw.settings.obj.or) +
13170                    ' </span><span class="qcld-chatbot-bargin-confirm-btn"  confirm-data="no">' +
13171                    wpwKits.render(globalwpw.settings.obj.no) +
13172                    "</span>";
13173
13174                  //wpwMsg.single(response.html);
13175                  wpwMsg.double_nobg(response.html, confirmBtn);
13176                  globalwpw.wildCard = 9;
13177                  globalwpw.bargainStep = "bargain";
13178                  globalwpw.bargainPrice = globalwpw.bargainPrice;
13179                  localStorage.setItem("wildCard", globalwpw.wildCard);
13180                  localStorage.setItem("wildCard", globalwpw.bargainStep);
13181                  localStorage.setItem("wildCard", globalwpw.bargainPrice);
13182                });
13183              }, globalwpw.settings.preLoadingTime);
13184            } else if (response.confirm == "default") {
13185              wpwMsg.double_nobg(response.html, "");
13186            } else {
13187              wpwMsg.single(response.html);
13188            }
13189          });
13190        }
13191        // },globalwpw.settings.preLoadingTime);
13192      } else if (
13193        globalwpw.wildCard == 9 &&
13194        globalwpw.bargainStep == "confirm"
13195      ) {
13196        setTimeout(function () {
13197          var data = {
13198            action: "qcld_woo_bargin_product_confirm",
13199            qcld_woo_map_product_id: globalwpw.bargainId,
13200            price: globalwpw.bargainPrice,
13201            security: globalwpw.settings.obj.map_get_ajax_nonce,
13202          };
13203          if (
13204            $(
13205              globalwpw.settings.messageLastChild +
13206              " .wp-chatbot-comment-loader"
13207            ).length == 0
13208          ) {
13209            $(globalwpw.settings.messageContainer).append(
13210              wpwKits.botPreloader()
13211            );
13212          }
13213          wpwKits.ajax(data).done(function (response) {
13214            // map_acceptable_price
13215            var restWarning = response.html;
13216            var map_acceptable_price =
13217              globalwpw.settings.obj.map_acceptable_price;
13218            //var confirmBtn1  = map_acceptable_price.replace("{offer price}", globalwpw.bargainPrice + globalwpw.settings.obj.currency_symbol);
13219            var confirmBtn1 = map_acceptable_price;
13220            //var confirmBtn1  = '<p>Great! I am creating a one time discount coupon valid for you only.</p>';
13221            wpwMsg.double(confirmBtn1, restWarning);
13222
13223            globalwpw.wildCard = 0;
13224            globalwpw.bargainStep = "welcome";
13225            globalwpw.bargainPrice = "";
13226            localStorage.setItem("wildCard", globalwpw.wildCard);
13227            localStorage.setItem("bargainStep", globalwpw.bargainStep);
13228            localStorage.setItem("bargainPrice", globalwpw.bargainPrice);
13229          });
13230        }, globalwpw.settings.preLoadingTime);
13231      } else if (
13232        globalwpw.wildCard == 9 &&
13233        globalwpw.bargainStep == "add_to_cart"
13234      ) {
13235        setTimeout(function () {
13236          if (globalwpw.bargainVId != "") {
13237            var data = {
13238              action: "qcld_woo_bargin_product_variation_add_to_cart",
13239              product_id: globalwpw.bargainId,
13240              variation_id: globalwpw.bargainVId,
13241              price: globalwpw.bargainPrice,
13242              security: globalwpw.settings.obj.map_get_ajax_nonce,
13243            };
13244          } else {
13245            var data = {
13246              action: "qcld_woo_bargin_product_add_to_cart",
13247              product_id: globalwpw.bargainId,
13248              price: globalwpw.bargainPrice,
13249              security: globalwpw.settings.obj.map_get_ajax_nonce,
13250            };
13251          }
13252
13253          if (
13254            $(
13255              globalwpw.settings.messageLastChild +
13256              " .wp-chatbot-comment-loader"
13257            ).length == 0
13258          ) {
13259            $(globalwpw.settings.messageContainer).append(
13260              wpwKits.botPreloader()
13261            );
13262          }
13263          wpwKits.ajax(data).done(function (response) {
13264            // map_acceptable_price
13265            var restWarning = response.html;
13266
13267            var confirmBtn =
13268              '<div class="woo-chatbot-product-bargain-btn"><a href="' +
13269              globalwpw.settings.obj.map_get_checkout_url +
13270              '" class="qcld-modal-bargin-confirm-btn-checkout"> ' +
13271              wpwKits.render(
13272                globalwpw.settings.obj.map_checkout_now_button_text
13273              ) +
13274              " </a></div>";
13275
13276            //wpwMsg.single(restWarning);
13277
13278            wpwMsg.double_nobg(restWarning, confirmBtn);
13279
13280            globalwpw.wildCard = 0;
13281            globalwpw.bargainStep = "welcome";
13282            globalwpw.bargainVId = "";
13283            globalwpw.bargainPrice = "";
13284            localStorage.setItem("wildCard", globalwpw.wildCard);
13285            localStorage.setItem("bargainStep", globalwpw.bargainStep);
13286            localStorage.setItem("bargainVId", globalwpw.bargainVId);
13287            localStorage.setItem("bargainPrice", globalwpw.bargainPrice);
13288          });
13289        }, globalwpw.settings.preLoadingTime);
13290      } else if (
13291        globalwpw.wildCard == 9 &&
13292        globalwpw.bargainStep == "disagree" &&
13293        globalwpw.bargainLoop == 0
13294      ) {
13295        //  map_talk_to_boss msg
13296        var map_talk_to_boss = wpwKits.render(
13297          globalwpw.settings.obj.map_talk_to_boss
13298        );
13299        var confirmBtn = map_talk_to_boss;
13300        wpwMsg.single(confirmBtn);
13301        globalwpw.bargainLoop = 1;
13302        localStorage.setItem("bargainLoop", globalwpw.bargainLoop);
13303      } else if (
13304        globalwpw.wildCard == 9 &&
13305        globalwpw.bargainStep == "disagree" &&
13306        globalwpw.bargainLoop == 1
13307      ) {
13308        var string = msg;
13309        var spliting = string.match(/\d+(?:\.\d+)?/g);
13310
13311        if (spliting === null) {
13312          wpwMsg.single(
13313            wpwKits.render(globalwpw.settings.obj.your_offer_price_again)
13314          );
13315        } else {
13316          // map_get_email_address
13317          var map_get_email_address = wpwKits.render(
13318            globalwpw.settings.obj.map_get_email_address
13319          );
13320          var confirmBtn = map_get_email_address;
13321          wpwMsg.single(confirmBtn);
13322
13323          // var string = msg;
13324          globalwpw.bargainPrice = msg.match(/\d+(?:\.\d+)?/g).map(Number);
13325          //globalwpw.bargainPrice = msg;
13326          //localStorage.setItem("wildCard",  globalwpw.bargainPrice);
13327          localStorage.setItem("finalprice", globalwpw.bargainPrice);
13328
13329          globalwpw.bargainLoop = 2;
13330          localStorage.setItem("bargainLoop", globalwpw.bargainLoop);
13331        }
13332      } else if (
13333        globalwpw.wildCard == 9 &&
13334        globalwpw.bargainStep == "disagree" &&
13335        globalwpw.bargainLoop == 2
13336      ) {
13337        // map_get_email_address
13338        var map_thanks_test = wpwKits.render(
13339          globalwpw.settings.obj.map_thanks_test
13340        );
13341        var confirmBtn = map_thanks_test;
13342
13343        setTimeout(function () {
13344          wpwMsg.single(confirmBtn);
13345
13346          var data = {
13347            action: "qcld_woo_bargin_send_query",
13348            qcld_woo_map_product_id: globalwpw.bargainId,
13349            price: localStorage.getItem("finalprice"),
13350            email: msg,
13351            security: globalwpw.settings.obj.map_get_ajax_nonce,
13352          };
13353
13354          wpwKits.ajax(data).done(function (response) {
13355            // wpwMsg.single(confirmBtn);
13356          });
13357        }, globalwpw.settings.preLoadingTime);
13358
13359        globalwpw.bargainLoop = 0;
13360        localStorage.setItem("bargainLoop", globalwpw.bargainLoop);
13361        globalwpw.wildCard = 0;
13362        globalwpw.bargainStep = "welcome";
13363        globalwpw.bargainPrice = "";
13364        localStorage.setItem("wildCard", globalwpw.wildCard);
13365        localStorage.setItem("bargainStep", globalwpw.bargainStep);
13366        localStorage.setItem("bargainPrice", globalwpw.bargainPrice);
13367      }
13368    },
13369    reset: function (msg) {
13370      if (globalwpw.wildCard == 25 && globalwpw.resetStep == "welcome") {
13371        var restWarning = wpwKits.render(globalwpw.settings.obj.reset);
13372        var confirmBtn =
13373          '<span class="qcld-chatbot-reset-btn" reset-data="yes" >' +
13374          wpwKits.render(globalwpw.settings.obj.yes) +
13375          "</span> <span> " +
13376          wpwKits.render(globalwpw.settings.obj.or) +
13377          ' </span><span class="qcld-chatbot-reset-btn"  reset-data="no">' +
13378          wpwKits.render(globalwpw.settings.obj.no) +
13379          "</span>";
13380        globalwpw.resetStep = "answer";
13381        wpwMsg.double_nobg(restWarning, confirmBtn);
13382
13383        setTimeout(function () {
13384          //   wpwKits.disableEditor('');
13385        }, 1500);
13386      } else if (globalwpw.wildCard == 25 && globalwpw.resetStep == "answer") {
13387        if (
13388          msg.toLowerCase() ==
13389          (wpwKits.render(globalwpw.settings.obj.yes) || '').toLowerCase()
13390        ) {
13391          wpwKits.doReset();
13392          var number = Math.random(); // 0.9394456857981651
13393          number.toString(36); // '0.xtis06h6'
13394          var id = number.toString(36).substr(2); // 'xtis06h6'
13395
13396          localStorage.setItem("botsessionid", id);
13397          if (globalwpw.initialize == 1) {
13398            wpwWelcome.greeting();
13399          }
13400          wpwKits.enableEditor(
13401            wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg)
13402          );
13403        } else if (
13404          msg.toLowerCase() ==
13405          (wpwKits.render(globalwpw.settings.obj.no) || '').toLowerCase()
13406        ) {
13407          wpwAction.bot(
13408            (wpwKits.render(globalwpw.settings.obj.sys_key_help) || '').toLowerCase()
13409          );
13410          wpwKits.enableEditor(
13411            wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg)
13412          );
13413        }
13414        globalwpw.wildCard = 0;
13415        globalwpw.resetStep = "welcome";
13416      }
13417    },
13418    dfcx: function (msg) {
13419      var dfReturns = wpwKits.dailogCXAction(
13420        msg,
13421        localStorage.getItem("cx-name"),
13422        localStorage.getItem("cx-timezone"),
13423        localStorage.getItem("cx-languagecode")
13424      );
13425      if (
13426        $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
13427          .length == 0
13428      ) {
13429        $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
13430      }
13431      dfReturns.done(function (response) {
13432        if (globalwpw.settings.obj.df_api_version == "v2") {
13433          response = $.parseJSON(response);
13434          wpwTree.df_cx_reply(response);
13435
13436          var currentPage = response.queryResult.currentPage.displayName;
13437          if (currentPage == "End Session") {
13438            globalwpw.wildCard = 0;
13439            //keeping value in localstorage
13440            localStorage.removeItem("wildCard", globalwpw.wildCard);
13441            localStorage.removeItem("cx-name");
13442            localStorage.removeItem("cx-diaplayname");
13443            localStorage.removeItem("cx-languagecode");
13444            localStorage.removeItem("cx-timezone");
13445          }
13446        }
13447      });
13448    },
13449    ldsuggestion: function () {
13450      var ldsesson_item = "";
13451      $.each(ldsuggestionObject.posts, function (i, post) {
13452        ldsesson_item +=
13453          '<div class="wpbot_card_wraper"><div class="wpbot_card_image wpbot_card_image_saas"><a href="' +
13454          post.link +
13455          '"><div class="wpbot_card_caption wpbot_card_caption_saas"><h2>' +
13456          post.title +
13457          "</h2></div></a></div></div>";
13458      });
13459      wpwMsg.double_nobg(ldsuggestionObject.main_title, ldsesson_item);
13460      globalwpw.wildCard = 0;
13461    },
13462    // Render dynamic menu from pre-filtered items in AI response, or fall back to start_menu_settings.
13463    qcld_render_dynamic_or_start_menu: function (json) {
13464      if (globalwpw.is_in_ai_form) return;
13465      if (
13466        globalwpw.settings.obj.qcld_dynamic_ai_menu == "1" &&
13467        json.dynamic_menu_items &&
13468        Array.isArray(json.dynamic_menu_items) &&
13469        json.dynamic_menu_items.length > 0
13470      ) {
13471        var matchedItems = json.dynamic_menu_items;
13472        var normalizedMatches = matchedItems.map(function (item) {
13473          return String(item || "").trim().toLowerCase().replace(/[\s_-]+/g, " ");
13474        });
13475        var filteredHtml = "";
13476        $(globalwpw.wildcards).each(function () {
13477          var label = $(this).text().trim();
13478          var normalizedLabel = label.toLowerCase().replace(/[\s_-]+/g, " ");
13479          if (!label) return;
13480          var matched = normalizedMatches.some(function (expected) {
13481            return normalizedLabel === expected;
13482          });
13483          if (matched) {
13484            filteredHtml += $(this).prop("outerHTML");
13485          }
13486        });
13487        if (filteredHtml && filteredHtml.trim()) {
13488          var serviceOffer = wpwKits.randomMsg(globalwpw.settings.obj.support_option_again);
13489          wpwMsg.double_nobg(serviceOffer, filteredHtml);
13490          return; // Done — no further AJAX needed
13491        }
13492      }
13493      // Fallback: show full start menu (will call dynamic_menu_settings if enabled)
13494      wpwTree.start_menu_settings();
13495    },
13496    dynamic_menu_settings: function (userMsg) {
13497      var userMessage = userMsg || globalwpw.lastUserMsg || "";
13498      var allItems = [];
13499      var $wildcards = $(globalwpw.wildcards);
13500      var $items = $wildcards
13501        .add($wildcards.find("span.qcld-chatbot-wildcard, qcld-chatbot-suggest-email, a, button"));
13502      $items.each(function () {
13503        var label = $(this).text().trim();
13504        if( ( label !== "" ) && ( label !== null ) ) {
13505          allItems.push(label);
13506        }
13507      });
13508      var data = {
13509        action: "qcld_dynamic_menu_filter",
13510        user_message: userMessage,
13511        menu_items: JSON.stringify(allItems),
13512        nonce: wp_chatbot_obj.ajax_nonce,
13513      };
13514
13515      wpwKits.ajax(data).done(function (res) {
13516          var json = (typeof res === 'object') ? res : $.parseJSON(res);
13517          if (
13518            json.status === "success" &&
13519            json.items &&
13520            json.items.length
13521          ) {
13522            var $cloned = $(globalwpw.wildcards);
13523            var matchedItems = Array.isArray(json.items) ? json.items : [json.items];
13524            var normalizedMatches = matchedItems.map(function (item) {
13525              return String(item || "")
13526                .trim()
13527                .toLowerCase()
13528                .replace(/[\s_-]+/g, " ");
13529            });
13530            var filteredHtml = "";
13531            $cloned.each(function () {
13532              var label = $(this).text().trim();
13533              var normalizedLabel = label
13534                .toLowerCase()
13535                .replace(/[\s_-]+/g, " ");
13536              if (!label) {
13537                return;
13538              }
13539              var matched = normalizedMatches.some(function (expected) {
13540                return normalizedLabel === expected;
13541              });
13542              if (matched) {
13543                filteredHtml += $(this).prop("outerHTML");
13544              }
13545            });
13546            if (filteredHtml && filteredHtml.trim()) {
13547              var serviceOffer = wpwKits.randomMsg(
13548                globalwpw.settings.obj.support_option_again
13549              );
13550              wpwMsg.double_nobg(serviceOffer, filteredHtml);
13551            }
13552          } else {
13553            // Fallback: show the full start menu
13554            // wpwTree.start_menu_settings();
13555          }
13556       
13557      }).fail(function () {
13558       // wpwTree.start_menu_settings();
13559      });
13560    },
13561    start_menu_settings: function () {
13562      if (globalwpw.is_in_ai_form) return;
13563      if (globalwpw.fromBackToStart) return;
13564      if ( globalwpw.settings.obj.qcld_dynamic_ai_menu == "1" ) {
13565        wpwTree.dynamic_menu_settings( globalwpw.lastUserMsg );
13566      } else if ( globalwpw.settings.obj.qcld_disable_repited_startmenu != "1" ) {
13567        if (globalwpw.settings.obj.disable_repeatative != 1) {
13568          setTimeout(function () {
13569            var serviceOffer = wpwKits.randomMsg(
13570              globalwpw.settings.obj.wildcard_msg
13571            );
13572            if (globalwpw.settings.obj.qcld_disable_start_menu != "1") {
13573              if (
13574                typeof globalwpw.wildcards != "undefined" &&
13575                globalwpw.wildcards != ""
13576              ) {
13577                wpwMsg.double_nobg(serviceOffer, globalwpw.wildcards);
13578              }
13579            } else {
13580              wpwMsg.single(serviceOffer);
13581            }
13582          }, globalwpw.settings.preLoadingTime);
13583        } else {
13584          setTimeout(function () {
13585            if (globalwpw.settings.obj.qcld_disable_repited_startmenu != "1") {
13586              wpwMsg.single_nobg(
13587                '<span class="qcld-chatbot-wildcard qcld_back_to_start"  data-wildcart="back">' +
13588                wpwKits.randomMsg(globalwpw.settings.obj.back_to_start) +
13589                "</span>"
13590              );
13591            }
13592          }, globalwpw.settings.preLoadingTime * 2);
13593        }
13594      } 
13595      // else {
13596      //   var serviceOffer = wpwKits.randomMsg(
13597      //     globalwpw.settings.obj.wildcard_msg
13598      //   );
13599      //   if ( globalwpw.settings.obj.disable_repeatative != 1 ) {
13600      //     wpwMsg.single(serviceOffer);
13601      //   }
13602      // }
13603    }
13604  };
13605  /*
13606   * wpwbot Actions are divided into two part
13607   * shopper will response after initialize message,
13608   * then based on shopper activities shopper will act.
13609   */
13610
13611  wpwAction = {
13612    findkey: function (array, msg) {
13613      var index = -1;
13614      $.each(array, function (key, value) {
13615        value = jQuery.map(value, function (n, i) {
13616          return n.toLowerCase();
13617        });
13618        if (
13619          typeof msg != "undefined" &&
13620          value.indexOf(msg.toLowerCase()) > -1
13621        ) {
13622          index = key;
13623          return false;
13624        }
13625      });
13626      return index;
13627    },
13628    bot: function (msg) {
13629      globalwpw.lastUserMsg = msg;
13630      wpwKits.disableEditor(
13631        wpwKits.render(globalwpw.settings.obj.agent) +
13632        " " +
13633        wpwKits.randomMsg(globalwpw.settings.obj.is_typing)
13634      );
13635
13636      var simple_response_intent =
13637        globalwpw.settings.obj.simple_response_intent;
13638
13639      if (
13640        simple_response_intent.length > 0 ||
13641        simple_response_intent != "undefined"
13642      ) {
13643        simple_response_intent = jQuery.map(
13644          simple_response_intent,
13645          function (n, i) {
13646            if (n.intent !== undefined) {
13647              return n.intent.toLowerCase();
13648            } else {
13649              return n.toLowerCase();
13650            }
13651          }
13652        );
13653      }
13654      var allformname = jQuery.map(
13655        globalwpw.settings.obj.forms,
13656        function (n, i) {
13657          return n.toLowerCase();
13658        }
13659      );
13660      var allformcommand = globalwpw.settings.obj.form_commands;
13661
13662      var goodbye_keywords = (wpwKits
13663        .render(globalwpw.settings.obj.sys_goodbye_key) || '')
13664        .toLowerCase()
13665        .split(",");
13666      goodbye_keywords = goodbye_keywords.map(function (keyword) {
13667        return keyword.trim();
13668      });
13669
13670      goodbye_keywords = goodbye_keywords.filter(function (el) {
13671        return el != "" && el !== null && typeof el !== "undefined";
13672      });
13673      if (globalwpw.strStep == "match_query" && globalwpw.wildCard == 95) {
13674        wpwTree.strHandler(msg);
13675      } else if (
13676        typeof msg != "undefined" &&
13677        globalwpw.wildcardsHelp.indexOf(msg.toLowerCase()) > -1
13678      ) {
13679
13680        if (globalwpw.wildCard == 7) {
13681          wpwTree.formbuilder_force_complete(msg);
13682        }
13683
13684        if (
13685          msg.toLowerCase() ==
13686          (wpwKits.render(globalwpw.settings.obj.sys_key_help) || '').toLowerCase()
13687        ) {
13688          globalwpw.wildCard = 0;
13689          var serviceOffer = wpwKits.randomMsg(
13690            globalwpw.settings.obj.wildcard_msg
13691          );
13692          if (!globalwpw.fromBackToStart) {
13693            wpwTree.start_menu_settings();
13694          }
13695        }
13696
13697        if (
13698          msg.toLowerCase() ==
13699          (wpwKits.render(globalwpw.settings.obj.sys_key_support) || '').toLowerCase()
13700        ) {
13701          globalwpw.wildCard = 1;
13702          globalwpw.supportStep = "welcome";
13703          wpwTree.support(msg);
13704        }
13705
13706        if (
13707          msg.toLowerCase() ==
13708          (wpwKits.render(globalwpw.settings.obj.good_bye) || '').toLowerCase()
13709        ) {
13710          wpwTree.goodbye(msg);
13711        }
13712
13713        if (
13714          globalwpw.settings.obj.woocommerce &&
13715          msg.toLowerCase() ==
13716          (wpwKits.render(globalwpw.settings.obj.sys_key_product) || '').toLowerCase()
13717        ) {
13718          //  var wppt_post_types = globalwpw.settings.obj.wppt_post_types;
13719
13720          if (
13721            msg.toLowerCase() ==
13722            (wpwKits.render(globalwpw.settings.obj.sys_key_product) || '').toLowerCase()
13723          ) {
13724            globalwpw.wildCard = 20;
13725            globalwpw.productStep = "asking";
13726            wpwTree.product(msg);
13727          } else {
13728            wpwMsg.single_nobg(
13729              '<span class="qcld-chatbot-wildcard"  data-wildcart="back">' +
13730              wpwKits.randomMsg(globalwpw.settings.obj.no_result) +
13731              "</span>"
13732            );
13733          }
13734        }
13735        if (globalwpw.settings.obj.woocommerce) {
13736          if (
13737            msg.toLowerCase() ==
13738            (wpwKits.render(globalwpw.settings.obj.sys_key_catalog) || '').toLowerCase()
13739          ) {
13740            globalwpw.wildCard = 20;
13741            globalwpw.productStep = "search";
13742            wpwKits.sugestCat();
13743          }
13744
13745          if (
13746            msg.toLowerCase() ==
13747            (wpwKits.render(globalwpw.settings.obj.sys_key_order) || '').toLowerCase()
13748          ) {
13749            globalwpw.wildCard = 20;
13750            globalwpw.orderStep = "welcome";
13751            wpwTree.order(msg);
13752          }
13753          if (
13754            msg.toLowerCase() == "featured" ||
13755            msg.toLowerCase() ==
13756            wpwKits.render(globalwpw.settings.obj.featured_products)
13757          ) {
13758            globalwpw.wildCard = 20;
13759            globalwpw.productStep = "featured";
13760            wpwAction.bot("from wildcard product");
13761            //keeping value in localstorage
13762            localStorage.setItem("wildCard", globalwpw.wildCard);
13763            localStorage.setItem("productStep", globalwpw.productStep);
13764            wpwKits.trigger_intent("featured");
13765          }
13766        }
13767
13768        if (
13769          msg.toLowerCase() ==
13770          (wpwKits
13771            .render(globalwpw.settings.obj.email_subscription) || '')
13772            .toLowerCase()
13773        ) {
13774          globalwpw.wildCard = 3;
13775          globalwpw.subscriptionStep = "welcome";
13776          wpwTree.subscription(msg);
13777        }
13778        if (
13779          globalwpw.settings.obj.woocommerce &&
13780          msg.toLowerCase() ==
13781          (wpwKits
13782            .render(globalwpw.settings.obj.open_a_ticket) || '')
13783            .toLowerCase() &&
13784          globalwpw.settings.obj.ticket_url != ""
13785        ) {
13786          //comming
13787          window.open(globalwpw.settings.obj.ticket_url, "_blank");
13788          wpwKits.enableEditor(
13789            wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg)
13790          );
13791        }
13792        if (
13793          msg.toLowerCase() ==
13794          (wpwKits.render(globalwpw.settings.obj.unsubscribe) || '').toLowerCase()
13795        ) {
13796          globalwpw.wildCard = 6;
13797          globalwpw.unsubscriptionStep = "welcome";
13798          wpwTree.unsubscription(msg);
13799        }
13800
13801        if (
13802          msg.toLowerCase() ==
13803          (wpwKits.render(globalwpw.settings.obj.sys_key_reset) || '').toLowerCase()
13804        ) {
13805          globalwpw.wildCard = 25;
13806          globalwpw.resetStep = "welcome";
13807          wpwTree.reset(msg);
13808        }
13809        if (
13810          msg.toLowerCase() ==
13811          (wpwKits.render(globalwpw.settings.obj.sys_key_livechat) || '').toLowerCase()
13812        ) {
13813          wpwKits.enableEditor(
13814            wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg)
13815          );
13816          if (globalwpw.settings.obj.is_livechat_active) {
13817            if (
13818              globalwpw.settings.obj.disable_livechat_operator_offline == "1"
13819            ) {
13820              if (globalwpw.settings.obj.is_operator_online == 1) {
13821                $(globalwpw.settings.messageWrapper).html(
13822                  localStorage.getItem("wpwHitory")
13823                );
13824                if (globalwpw.settings.obj.livechat_autopopulation != "1") {
13825                  if ($("#wbca_signup_fullname").length > 0) {
13826                    if (localStorage.getItem("shopper") !== null) {
13827                      $("#wbca_signup_fullname").val(
13828                        localStorage.getItem("shopper")
13829                      );
13830                    }
13831                    if (localStorage.getItem("shopperemail") !== null) {
13832                      $("#wbca_signup_email").val(
13833                        localStorage.getItem("shopperemail")
13834                      );
13835                    }
13836                  }
13837                }
13838                $("#wp-chatbot-board-container").removeClass(
13839                  "active-chat-board"
13840                );
13841                $(".wp-chatbot-container").hide();
13842                $(".wpbot-saas-live-chat").show();
13843              } else {
13844                wpwMsg.single(globalwpw.settings.obj.wbca_lg_operator_offline);
13845              }
13846            } else {
13847              $(globalwpw.settings.messageWrapper).html(
13848                localStorage.getItem("wpwHitory")
13849              );
13850              if (globalwpw.settings.obj.livechat_autopopulation != "1") {
13851                if ($("#wbca_signup_fullname").length > 0) {
13852                  if (localStorage.getItem("shopper") !== null) {
13853                    $("#wbca_signup_fullname").val(
13854                      localStorage.getItem("shopper")
13855                    );
13856                  }
13857                  if (localStorage.getItem("shopperemail") !== null) {
13858                    $("#wbca_signup_email").val(
13859                      localStorage.getItem("shopperemail")
13860                    );
13861                  }
13862                }
13863              }
13864              $("#wp-chatbot-board-container").removeClass("active-chat-board");
13865              $(".wp-chatbot-container").hide();
13866              $(".wpbot-saas-live-chat").show();
13867            }
13868          }
13869        }
13870      } else if (
13871        (typeof msg != "undefined" &&
13872          allformname.indexOf(msg.toLowerCase().trim()) > -1) ||
13873        this.findkey(allformcommand, msg) > -1
13874      ) {
13875        //Form builder commands form name
13876        if (globalwpw.wildCard == 7) {
13877          wpwTree.formbuilder_force_complete(msg);
13878        }
13879
13880        var index =
13881          allformname.indexOf(msg.toLowerCase().trim()) > -1
13882            ? allformname.indexOf(msg.toLowerCase().trim())
13883            : this.findkey(allformcommand, msg);
13884
13885        var formid = globalwpw.settings.obj.form_ids[index];
13886
13887        globalwpw.wildCard = 7;
13888        globalwpw.formStep = "welcome";
13889        wpwKits.toggleAiFileUploadButton();
13890        wpwTree.formbuilder(formid);
13891      } else if (
13892        typeof msg != "undefined" &&
13893        simple_response_intent.indexOf(msg.toLowerCase()) > -1
13894      ) {
13895        if (globalwpw.wildCard == 7) {
13896          wpwTree.formbuilder_force_complete(msg);
13897        }
13898
13899        var data = {
13900          action: "wpbo_search_responseby_intent",
13901          name: globalwpw.hasNameCookie,
13902          keyword: msg,
13903          language: globalwpw.settings.obj.language,
13904        };
13905        if (
13906          $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
13907            .length == 0
13908        ) {
13909          $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
13910        }
13911        wpwKits.ajax(data).done(function (response) {
13912          var json = $.parseJSON(response);
13913          if (json.status == "success") {
13914            wpwTree.strHandler(msg, json);
13915          }
13916        });
13917      } else if (
13918        typeof msg != "undefined" &&
13919        goodbye_keywords.indexOf(msg.toLowerCase()) > -1
13920      ) {
13921        wpwTree.goodbye(msg);
13922      } else {
13923        /*
13924         *   Greeting part
13925         *   bot action
13926         */
13927        if (globalwpw.wildCard == 0) {
13928          //When intialize 1 and don't have cookies then keep  the name of shooper in in cookie
13929          if (
13930            globalwpw.settings.obj.skip_wp_greetings != "1" &&
13931            globalwpw.initialize == 1
13932          ) {
13933            if (
13934              globalwpw.initialize == 1 &&
13935              !localStorage.getItem("shopper") &&
13936              globalwpw.wildCard == 0
13937            ) {
13938              wpwTree.greeting(msg);
13939            } else if (
13940              globalwpw.settings.obj.ai_df_enable == 1 &&
13941              globalwpw.df_status_lock == 0
13942            ) {
13943              wpwTree.greeting(msg);
13944            } else if (localStorage.getItem("default_asking_email")) {
13945              wpwTree.greeting(msg);
13946            } else if (localStorage.getItem("default_asking_phone")) {
13947              wpwTree.greeting(msg);
13948            } else {
13949              if (globalwpw.settings.obj.qcbot_enable_str == "1") {
13950                $(globalwpw.settings.messageContainer).append(
13951                  wpwKits.botPreloaderWithicon()
13952                );
13953                var data = {
13954                  action: "wpbo_search_response",
13955                  name: globalwpw.hasNameCookie,
13956                  keyword: msg,
13957                  language: globalwpw.settings.obj.language,
13958                };
13959
13960                wpwKits.ajax(data).done(function (response) {
13961                  var json = $.parseJSON(response);
13962                  if (json.status == "success") {
13963                    var all_html = [];
13964                    var count_result = 0;
13965                    wpwTree.strHandler(msg, json);
13966
13967                    if (!qcldIsAiFormInProgress()) { $(globalwpw.settings.messageContainer).find('.wp-chatbot-msg:last .qcld-like-dislike-icon').css('display', 'block'); }
13968                  } else {
13969                    var all_html = [];
13970                    var count_result = 0;
13971
13972                    //Default intents site search
13973
13974                    var openai_msg = msg;
13975                    msg = wpwKits.filterStopWords(msg);
13976                    var wppt_post_types =
13977                      globalwpw.settings.obj.wppt_post_types;
13978                    var woo_search_active = false;
13979                    var post_types_array = (Array.isArray(wppt_post_types)) ? wppt_post_types : Object.values(wppt_post_types);
13980                    if (
13981                      globalwpw.settings.obj.woocommerce &&
13982                      typeof globalwpw.settings.obj.wppt_post_types !==
13983                      "undefined"
13984                    ) {
13985                      if (
13986                        Array.isArray(wppt_post_types) &&
13987                        post_types_array.indexOf(
13988                          wpwKits
13989                            .render(globalwpw.settings.obj.sys_key_product)
13990                            .toLowerCase()
13991                        ) > -1
13992                      ) {
13993                        woo_search_active = true;
13994                      } else {
13995                        woo_search_active = false;
13996                      }
13997                    }
13998                    if (
13999                      msg != "" &&
14000                      globalwpw.settings.obj.disable_sitesearch != "1"
14001                    ) {
14002                      var data = {
14003                        action: "wpbo_search_site",
14004                        name: globalwpw.hasNameCookie,
14005                        keyword: msg,
14006                        language: globalwpw.settings.obj.language,
14007                      };
14008                      if (
14009                        $(
14010                          globalwpw.settings.messageLastChild +
14011                          " .wp-chatbot-comment-loader"
14012                        ).length == 0
14013                      ) {
14014                        $(globalwpw.settings.messageContainer).append(
14015                          wpwKits.botPreloader()
14016                        );
14017                      }
14018                      wpwKits.ajax(data).done(function (response) {
14019                        var json = $.parseJSON(response);
14020                        if (json.status == "success") {
14021                          $(
14022                            "#wp-chatbot-messages-container li .wp-chatbot-comment-loader"
14023                          )
14024                            .parent(".wp-chatbot-paragraph")
14025                            .hide();
14026                          $('span[data-wildcart="back"]').remove();
14027                          wpwMsg.single_nobg(json.html);
14028                          setTimeout(() => {
14029                            $(".wpb-search-result a")
14030                              .first()[0]
14031                              .scrollIntoView();
14032                          }, 600);
14033
14034                        } else if (
14035                          globalwpw.settings.obj.open_ai_enable == "1"
14036                        ) {
14037                          wpwMsg.open_ai_message_callback(openai_msg);
14038                        } else {
14039                          var data = {
14040                            action: "wpbo_failed_response",
14041                            name: globalwpw.hasNameCookie,
14042                            keyword: msg,
14043                          };
14044                          wpwKits.ajax(data).done(function (res) {
14045
14046                            if (
14047                              globalwpw.counter ==
14048                              globalwpw.settings.obj
14049                                .no_result_attempt_count ||
14050                              globalwpw.settings.obj
14051                                .no_result_attempt_count == 0
14052                            ) {
14053                              if (
14054                                wpwKits.render(
14055                                  globalwpw.settings.obj
14056                                    .no_result_attempt_message
14057                                ) != ""
14058                              ) {
14059                                setTimeout(function () {
14060                                  wpwMsg.single(
14061                                    wpwKits.render(
14062                                      globalwpw.settings.obj
14063                                        .no_result_attempt_message
14064                                    )
14065                                  );
14066                                }, globalwpw.settings.preLoadingTime);
14067                              } else {
14068                                wpwTree.start_menu_settings();
14069                              }
14070                              setTimeout(function () {
14071                                wpwMsg.single(
14072                                  wpwKits.randomMsg(
14073                                    '<span class="qcld-chatbot-wildcard"  data-wildcart="back">' +
14074                                    wpwKits.randomMsg(
14075                                      globalwpw.settings.obj.back_to_start
14076                                    ) +
14077                                    "</span>"
14078                                  )
14079                                );
14080                              });
14081
14082                              globalwpw.counter = 0;
14083                            } else {
14084                              globalwpw.counter++;
14085
14086                              if (
14087                                globalwpw.settings.obj
14088                                  .qcld_disable_repited_startmenu == "1"
14089                              ) {
14090                                wpwMsg.double_nobg(
14091                                  wpwKits.randomMsg(
14092                                    globalwpw.settings.obj.no_result
14093                                  ),
14094                                  '<span class="qcld-chatbot-wildcard qcld_back_to_start"  data-wildcart="back">' +
14095                                  wpwKits.randomMsg(
14096                                    globalwpw.settings.obj.back_to_start
14097                                  ) +
14098                                  "</span>"
14099                                );
14100                              } else {
14101                                wpwMsg.double_nobg(
14102                                  wpwKits.randomMsg(
14103                                    globalwpw.settings.obj.no_result
14104                                  ),
14105                                  globalwpw.wildcards
14106                                );
14107                                // wpwMsg.single_nobg('<span class="qcld-chatbot-wildcard"  data-wildcart="back">' +  + '</span>');
14108                              }
14109                            }
14110                          });
14111                        }
14112                        globalwpw.wildCard = 0;
14113                      });
14114                    } else if (
14115                      wp_chatbot_obj.ollama_enabled == "1" ||
14116                      wp_chatbot_obj.openrouter_enabled == "1" ||
14117                      wp_chatbot_obj.open_ai_enable == "1" ||
14118                      wp_chatbot_obj.grok_enabled == "1" ||
14119                      wp_chatbot_obj.mistral_enabled == "1" ||
14120                      wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
14121                      globalwpw.settings.obj.tvlyai_enabled == "1"
14122                    ) {
14123                      wpwMsg.open_ai_message_callback(openai_msg);
14124                    } else {
14125                      if (
14126                        (wpwKits.render(
14127                          globalwpw.settings.obj.no_result_attempt_message
14128                        ) == "") || (globalwpw.counter < globalwpw.settings.obj.no_result_attempt_count)
14129                      ) {
14130                        globalwpw.counter++;
14131                        wpwMsg.single(
14132                          wpwKits.render(globalwpw.settings.obj.no_result)[0]
14133                        );
14134                        wpwTree.start_menu_settings();
14135                      } else {
14136                        wpwMsg.single(
14137                          wpwKits.render(globalwpw.settings.obj.no_result_attempt_message)
14138                        );
14139                        wpwTree.start_menu_settings();
14140                      }
14141                    }
14142                    
14143                  }
14144
14145                });
14146              } else {
14147                var all_html = [];
14148                var count_result = 0;
14149
14150                //Default intents site search
14151
14152                var openai_msg = msg;
14153                msg = wpwKits.filterStopWords(msg);
14154                var wppt_post_types = globalwpw.settings.obj.wppt_post_types;
14155                var woo_search_active = false;
14156                var post_types_array = (Array.isArray(wppt_post_types)) ? wppt_post_types : Object.values(wppt_post_types);
14157                if (
14158                  globalwpw.settings.obj.woocommerce &&
14159                  typeof globalwpw.settings.obj.wppt_post_types !== "undefined"
14160                ) {
14161                  if (
14162                    post_types_array.indexOf(
14163                      (wpwKits
14164                        .render(globalwpw.settings.obj.sys_key_product)
14165                        .toLowerCase()
14166                    ) > -1 &&
14167                    woo_search_active)
14168                  ) {
14169                    woo_search_active = true;
14170                  } else {
14171                    woo_search_active = false;
14172                  }
14173                }
14174                if (
14175                  msg != "" &&
14176                  globalwpw.settings.obj.disable_sitesearch != "1"
14177                ) {
14178                  var data = {
14179                    action: "wpbo_search_site",
14180                    name: globalwpw.hasNameCookie,
14181                    keyword: msg,
14182                    language: globalwpw.settings.obj.language,
14183                  };
14184                  if (
14185                    $(
14186                      globalwpw.settings.messageLastChild +
14187                      " .wp-chatbot-comment-loader"
14188                    ).length == 0
14189                  ) {
14190                    $(globalwpw.settings.messageContainer).append(
14191                      wpwKits.botPreloader()
14192                    );
14193                  }
14194                  wpwKits.ajax(data).done(function (response) {
14195                    var json = $.parseJSON(response);
14196                    if (json.status == "success") {
14197                      $(
14198                        "#wp-chatbot-messages-container li .wp-chatbot-comment-loader"
14199                      )
14200                        .parent(".wp-chatbot-paragraph")
14201                        .hide();
14202                      $('span[data-wildcart="back"]').remove();
14203                      wpwMsg.single_nobg(json.html);
14204                      setTimeout(() => {
14205                        $(".wpb-search-result a").first()[0].scrollIntoView();
14206                      }, 600);
14207                    } else if (globalwpw.settings.obj.open_ai_enable == "1") {
14208                      wpwMsg.open_ai_message_callback(openai_msg);
14209                    } else {
14210                      var data = {
14211                        action: "wpbo_failed_response",
14212                        name: globalwpw.hasNameCookie,
14213                        keyword: msg,
14214                      };
14215                      wpwKits.ajax(data).done(function (res) {
14216                        if (
14217                          globalwpw.counter < globalwpw.settings.obj.no_result_attempt_count ||
14218                          globalwpw.settings.obj.no_result_attempt_count == 0
14219                        ) {
14220                          if (
14221                            wpwKits.render(
14222                              globalwpw.settings.obj.no_result_attempt_message
14223                            ) != ""
14224                          ) {
14225                            setTimeout(function () {
14226                              wpwMsg.single(
14227                                wpwKits.render(
14228                                  globalwpw.settings.obj
14229                                    .no_result_attempt_message
14230                                )
14231                              );
14232                            }, globalwpw.settings.preLoadingTime);
14233                          } else {
14234                            wpwTree.start_menu_settings();
14235                          }
14236                          setTimeout(function () {
14237                            wpwMsg.single(
14238                              wpwKits.randomMsg(
14239                                '<span class="qcld-chatbot-wildcard"  data-wildcart="back">' +
14240                                wpwKits.randomMsg(
14241                                  globalwpw.settings.obj.back_to_start
14242                                ) +
14243                                "</span>"
14244                              )
14245                            );
14246                          });
14247
14248                          globalwpw.counter = 0;
14249                        } else {
14250                          globalwpw.counter++;
14251
14252                          if (
14253                            globalwpw.settings.obj
14254                              .qcld_disable_repited_startmenu == "1"
14255                          ) {
14256                            wpwMsg.double_nobg(
14257                              wpwKits.randomMsg(
14258                                globalwpw.settings.obj.no_result
14259                              ),
14260                              '<span class="qcld-chatbot-wildcard qcld_back_to_start"  data-wildcart="back">' +
14261                              wpwKits.randomMsg(
14262                                globalwpw.settings.obj.back_to_start
14263                              ) +
14264                              "</span>"
14265                            );
14266                          } else {
14267                            wpwMsg.double_nobg(
14268                              wpwKits.randomMsg(
14269                                globalwpw.settings.obj.no_result
14270                              ),
14271                              globalwpw.wildcards
14272                            );
14273                            // wpwMsg.single_nobg('<span class="qcld-chatbot-wildcard"  data-wildcart="back">' +  + '</span>');
14274                          }
14275                        }
14276                      });
14277                    }
14278                    globalwpw.wildCard = 0;
14279                  });
14280                } else if (
14281                  wp_chatbot_obj.ollama_enabled == "1" ||
14282                  wp_chatbot_obj.openrouter_enabled == "1" ||
14283                  wp_chatbot_obj.open_ai_enable == "1" ||
14284                  wp_chatbot_obj.grok_enabled == "1" ||
14285                  wp_chatbot_obj.mistral_enabled == "1" ||
14286                  wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
14287                  globalwpw.settings.obj.tvlyai_enabled == "1"
14288                ) {
14289                  wpwMsg.open_ai_message_callback(openai_msg);
14290                } else {
14291                  if (
14292                    wpwKits.render(
14293                      globalwpw.settings.obj.no_result_attempt_message
14294                    ) == ""
14295                  ) {
14296                  }
14297                  wpwMsg.single(
14298                    wpwKits.render(globalwpw.settings.obj.no_result)[0]
14299                  );
14300                  wpwTree.start_menu_settings();
14301                }
14302                
14303              }
14304            }
14305          } else {
14306            if (globalwpw.settings.obj.qc_site_search_priority == "1") {
14307              if (
14308                msg != "" &&
14309                globalwpw.settings.obj.disable_sitesearch == ""
14310              ) {
14311                var data = {
14312                  action: "wpbo_search_site",
14313                  name: globalwpw.hasNameCookie,
14314                  keyword: msg,
14315                  language: globalwpw.settings.obj.language,
14316                };
14317                if (
14318                  $(
14319                    globalwpw.settings.messageLastChild +
14320                    " .wp-chatbot-comment-loader"
14321                  ).length == 0
14322                ) {
14323                  $(globalwpw.settings.messageContainer).append(
14324                    wpwKits.botPreloader()
14325                  );
14326                }
14327                wpwKits.ajax(data).done(function (response) {
14328                  var json = $.parseJSON(response);
14329                  if (json.status == "success") {
14330                    $(
14331                      "#wp-chatbot-messages-container li .wp-chatbot-comment-loader"
14332                    )
14333                      .parent(".wp-chatbot-paragraph")
14334                      .hide();
14335                    $('span[data-wildcart="back"]').remove();
14336                    wpwMsg.single_nobg(json.html);
14337                  } else {
14338                    var data = {
14339                      action: "wpbo_failed_response",
14340                      name: globalwpw.hasNameCookie,
14341                      keyword: msg,
14342                    };
14343                    wpwKits.ajax(data).done(function (res) {
14344                      
14345                      if (
14346                        globalwpw.counter <
14347                        globalwpw.settings.obj.no_result_attempt_count ||
14348                        globalwpw.settings.obj.no_result_attempt_count == 0
14349                      ) {
14350                        wpwMsg.single(wpwKits.randomMsg(json.html));
14351
14352                        if (
14353                          wpwKits.render(
14354                            globalwpw.settings.obj.no_result_attempt_message
14355                          ) != ""
14356                        ) {
14357                          setTimeout(function () {
14358                            wpwMsg.single(
14359                              wpwKits.render(
14360                                globalwpw.settings.obj.no_result_attempt_message
14361                              )
14362                            );
14363                          }, globalwpw.settings.preLoadingTime);
14364                        } else {
14365                          wpwTree.start_menu_settings();
14366                        }
14367                        globalwpw.counter = 0;
14368                      } else {
14369                        globalwpw.counter++;
14370                        wpwMsg.single(wpwKits.randomMsg(json.html));
14371                      }
14372                    });
14373                  }
14374                  globalwpw.wildCard = 0;
14375                });
14376              } else {
14377                globalwpw.wildCard = 0;
14378                wpwMsg.single(
14379                  wpwKits.randomMsg(globalwpw.settings.obj.empty_filter_msg)
14380                );
14381                wpwTree.start_menu_settings();
14382              }
14383            }
14384
14385            if (
14386              globalwpw.settings.obj.ai_df_enable == 1 &&
14387              globalwpw.df_status_lock == 0
14388            ) {
14389              var dfReturns = wpwKits.dailogAIOAction(msg);
14390              if (
14391                $(
14392                  globalwpw.settings.messageLastChild +
14393                  " .wp-chatbot-comment-loader"
14394                ).length == 0
14395              ) {
14396                $(globalwpw.settings.messageContainer).append(
14397                  wpwKits.botPreloader()
14398                );
14399              }
14400              dfReturns.done(function (response) {
14401
14402                if (globalwpw.settings.obj.df_api_version == "v2") {
14403                  response = $.parseJSON(response);
14404                }
14405                if (wpwKits.responseIsOk(response)) {
14406                  var userIntent = wpwKits.getIntentName(response);
14407
14408                  if (userIntent == "start") {
14409                    globalwpw.wildCard = 0;
14410                    var serviceOffer = wpwKits.randomMsg(
14411                      globalwpw.settings.obj.wildcard_msg
14412                    );
14413                    if (globalwpw.settings.obj.qcld_disable_start_menu != "1") {
14414                      wpwMsg.double_nobg(serviceOffer, globalwpw.wildcards);
14415                    }
14416                  } else if (userIntent == "welcome") {
14417                    var messages = wpwKits.getFulfillmentText(response);
14418
14419                    wpwTree.df_reply(response);
14420                  } else if (userIntent == "help") {
14421                    $(globalwpw.settings.messageWrapper).html(
14422                      localStorage.getItem("wpwHitory")
14423                    );
14424
14425                    //Showing help message
14426                    setTimeout(function () {
14427                      wpwKits.scrollTo();
14428                      var helpWelcome = wpwKits.randomMsg(
14429                        globalwpw.settings.obj.help_welcome
14430                      );
14431                      var helpMsg = wpwKits.randomMsg(
14432                        globalwpw.settings.obj.help_msg
14433                      );
14434                      wpwMsg.double(helpWelcome, helpMsg);
14435                      //dialogflow
14436                      if (
14437                        globalwpw.settings.obj.ai_df_enable == 1 &&
14438                        globalwpw.df_status_lock == 0
14439                      ) {
14440                        globalwpw.wildCard = 0;
14441                        globalwpw.ai_step = 1;
14442                        localStorage.setItem("wildCard", globalwpw.wildCard);
14443                        localStorage.setItem("aiStep", globalwpw.ai_step);
14444                      }
14445                    }, globalwpw.settings.preLoadingTime);
14446                  } else if (userIntent == "reset") {
14447                    var restWarning = wpwKits.render(
14448                      globalwpw.settings.obj.reset
14449                    );
14450                    var confirmBtn =
14451                      '<span class="qcld-chatbot-reset-btn" reset-data="yes" >' +
14452                      wpwKits.render(globalwpw.settings.obj.yes) +
14453                      "</span> <span> " +
14454                      wpwKits.render(globalwpw.settings.obj.or) +
14455                      ' </span><span class="qcld-chatbot-reset-btn"  reset-data="no">' +
14456                      wpwKits.render(globalwpw.settings.obj.no) +
14457                      "</span>";
14458                    wpwMsg.double_nobg(restWarning, confirmBtn);
14459                  } else if (userIntent == "phone") {
14460                    if (
14461                      typeof globalwpw.hasNameCookie == "undefined" ||
14462                      globalwpw.hasNameCookie == ""
14463                    ) {
14464                      var shopperName = wpwKits.render(
14465                        globalwpw.settings.obj.shopper_demo_name
14466                      );
14467                    } else {
14468                      var shopperName = globalwpw.hasNameCookie;
14469                    }
14470                    var askEmail = wpwKits.randomMsg(
14471                      globalwpw.settings.obj.asking_phone
14472                    );
14473                    wpwMsg.single(askEmail);
14474                    //Now updating the support part as .
14475                    globalwpw.supportStep = "phone";
14476                    globalwpw.wildCard = 1;
14477                    //keeping value in localstorage
14478                    localStorage.setItem("wildCard", globalwpw.wildCard);
14479                    localStorage.setItem("supportStep", globalwpw.supportStep);
14480                  } else if (userIntent == "email") {
14481                    if (
14482                      typeof globalwpw.hasNameCookie == "undefined" ||
14483                      globalwpw.hasNameCookie == ""
14484                    ) {
14485                      var shopperName = wpwKits.render(
14486                        globalwpw.settings.obj.shopper_demo_name
14487                      );
14488                    } else {
14489                      var shopperName = globalwpw.hasNameCookie;
14490                    }
14491                    var askEmail = wpwKits.randomMsg(
14492                      globalwpw.settings.obj.asking_email
14493                    );
14494                    wpwMsg.single(askEmail);
14495                    //Now updating the support part as .
14496                    globalwpw.supportStep = "email";
14497                    globalwpw.wildCard = 1;
14498                    //keeping value in localstorage
14499                    localStorage.setItem("wildCard", globalwpw.wildCard);
14500                    localStorage.setItem("supportStep", globalwpw.supportStep);
14501                  } else if (
14502                    userIntent ==
14503                    wpwKits.render(globalwpw.settings.obj.site_search)
14504                  ) {
14505                    var parameters = wpwKits.getParameters(response);
14506
14507                    if (
14508                      typeof parameters.products !== "undefined" &&
14509                      parameters.products != ""
14510                    ) {
14511                      var searchQuery = parameters.products;
14512                      globalwpw.wildCard = 1;
14513                      globalwpw.productStep = "search";
14514                      wpwAction.bot(searchQuery);
14515                      //keeping value in localstorage
14516                      localStorage.setItem("wildCard", globalwpw.wildCard);
14517                      localStorage.setItem(
14518                        "productStep",
14519                        globalwpw.productStep
14520                      );
14521
14522                      //Now updating the support part as .
14523                    } else {
14524                      if (
14525                        typeof globalwpw.hasNameCookie == "undefined" ||
14526                        globalwpw.hasNameCookie == ""
14527                      ) {
14528                        var shopperName = wpwKits.render(
14529                          globalwpw.settings.obj.shopper_demo_name
14530                        );
14531                      } else {
14532                        var shopperName = globalwpw.hasNameCookie;
14533                      }
14534                      var askEmail = "Pleae enter your keyword for searching";
14535                      wpwMsg.single(askEmail);
14536                      //Now updating the support part as .
14537                      globalwpw.supportStep = "search";
14538                      globalwpw.wildCard = 1;
14539                      //keeping value in localstorage
14540                      localStorage.setItem("wildCard", globalwpw.wildCard);
14541                      localStorage.setItem(
14542                        "supportStep",
14543                        globalwpw.supportStep
14544                      );
14545                    }
14546                  } else if (userIntent == "get name") {
14547                    var given_name = wpwKits.getParameters(response).given_name;
14548                    var last_name = wpwKits.getParameters(response).last_name;
14549                    var fullname = given_name + " " + last_name;
14550                    $.cookie("shopper", fullname, { expires: 365 });
14551                    localStorage.setItem("shopper", fullname);
14552                    globalwpw.hasNameCookie = fullname;
14553                    //Greeting with name and suggesting the wildcard.
14554
14555                    var NameGreeting =
14556                      wpwKits.randomMsg(globalwpw.settings.obj.i_am) +
14557                      " <strong>" +
14558                      wpwKits.render(globalwpw.settings.obj.agent) +
14559                      "</strong>! " +
14560                      wpwKits.randomMsg(globalwpw.settings.obj.name_greeting);
14561                    var serviceOffer = wpwKits.randomMsg(
14562                      globalwpw.settings.obj.wildcard_msg
14563                    );
14564                    //After completing two steps messaging showing wildcards.
14565                    if (
14566                      globalwpw.settings.obj.qcld_disable_start_menu != "1" &&
14567                      typeof globalwpw.wildcards != "undefined" &&
14568                      globalwpw.wildcards != ""
14569                    ) {
14570                      wpwMsg.triple_nobg(
14571                        NameGreeting,
14572                        serviceOffer,
14573                        globalwpw.wildcards
14574                      );
14575                    } else {
14576                      wpwMsg.double(NameGreeting, serviceOffer);
14577                    }
14578
14579                    globalwpw.ai_step = 1;
14580                    globalwpw.wildCard = 0;
14581                    localStorage.setItem("wildCard", globalwpw.wildCard);
14582                    localStorage.setItem("aiStep", globalwpw.ai_step);
14583                  } else if (userIntent == "faq") {
14584                    globalwpw.wildCard = 1;
14585                    globalwpw.supportStep = "welcome";
14586                    wpwAction.bot("from wildcard support");
14587                    //keeping value in localstorage
14588                  } else if (userIntent == "email subscription") {
14589                    globalwpw.wildCard = 3;
14590                    globalwpw.subscriptionStep = "welcome";
14591                    wpwTree.subscription(msg);
14592                  } else if (
14593                    userIntent == "product" &&
14594                    globalwpw.settings.obj.disable_product_search != 1
14595                  ) {
14596                    var parameters = wpwKits.getParameters(response);
14597
14598                    if (
14599                      typeof parameters.products !== "undefined" &&
14600                      parameters.products != ""
14601                    ) {
14602                      var searchQuery = parameters.products;
14603                      globalwpw.wildCard = 20;
14604                      globalwpw.productStep = "search";
14605                      wpwAction.bot(searchQuery);
14606                      //keeping value in localstorage
14607                      localStorage.setItem("wildCard", globalwpw.wildCard);
14608                      localStorage.setItem(
14609                        "productStep",
14610                        globalwpw.productStep
14611                      );
14612                    } else {
14613                      var searchQuery = wpwKits.queryText(response);
14614                      globalwpw.wildCard = 20;
14615                      globalwpw.productStep = "search";
14616                      wpwAction.bot(searchQuery);
14617                      //keeping value in localstorage
14618                      localStorage.setItem("wildCard", globalwpw.wildCard);
14619                      localStorage.setItem(
14620                        "productStep",
14621                        globalwpw.productStep
14622                      );
14623                    }
14624                  } else if (
14625                    userIntent == "catalog" &&
14626                    globalwpw.settings.obj.disable_catalog != 1
14627                  ) {
14628                    wpwAction.bot(
14629                      (wpwKits
14630                        .render(globalwpw.settings.obj.sys_key_catalog) || '')
14631                        .toLowerCase()
14632                    );
14633                  } else if (
14634                    userIntent == "featured" &&
14635                    globalwpw.settings.obj.disable_featured_product != 1
14636                  ) {
14637                    globalwpw.wildCard = 20;
14638                    globalwpw.productStep = "featured";
14639                    wpwAction.bot("from wildcard product");
14640                    //keeping value in localstorage
14641                    localStorage.setItem("wildCard", globalwpw.wildCard);
14642                    localStorage.setItem("productStep", globalwpw.productStep);
14643                  } else if (
14644                    userIntent == "sale" &&
14645                    globalwpw.settings.obj.disable_sale_product !== 1
14646                  ) {
14647                    globalwpw.wildCard = 20;
14648                    globalwpw.productStep = "sale";
14649                    wpwAction.bot("from wildcard product");
14650                    //keeping value in localstorage
14651                    localStorage.setItem("wildCard", globalwpw.wildCard);
14652                    localStorage.setItem("productStep", globalwpw.productStep);
14653                  } else if (
14654                    userIntent == "order" &&
14655                    globalwpw.settings.obj.disable_order_status != 1
14656                  ) {
14657                    globalwpw.wildCard = 21;
14658                    globalwpw.orderStep = "welcome";
14659                    wpwAction.bot("from wildcard order");
14660                    //keeping value in localstorage
14661                    localStorage.setItem("wildCard", globalwpw.wildCard);
14662                    localStorage.setItem("orderStep", globalwpw.orderStep);
14663                  } else if (userIntent == "Default Fallback Intent") {
14664                    if (globalwpw.settings.obj.qcbot_enable_str == "1") {
14665                      var data = {
14666                        action: "wpbo_search_response",
14667                        name: globalwpw.hasNameCookie,
14668                        keyword: msg,
14669                        language: globalwpw.settings.obj.language,
14670                      };
14671                      if (
14672                        $(
14673                          globalwpw.settings.messageLastChild +
14674                          " .wp-chatbot-comment-loader"
14675                        ).length == 0
14676                      ) {
14677                        $(globalwpw.settings.messageContainer).append(
14678                          wpwKits.botPreloader()
14679                        );
14680                      }
14681                      wpwKits.ajax(data).done(function (respond) {
14682                        var json = $.parseJSON(respond);
14683                        if (json.status == "success") {
14684                          wpwTree.strHandler(msg, json);
14685                        } else {
14686                          if (
14687                            msg != "" &&
14688                            globalwpw.settings.obj.disable_sitesearch == "" &&
14689                            globalwpw.settings.obj.qc_site_search_priority !=
14690                            "1"
14691                          ) {
14692                            var openai_msg = msg;
14693                            msg = wpwKits.filterStopWords(msg);
14694                            var data = {
14695                              action: "wpbo_search_site",
14696                              name: globalwpw.hasNameCookie,
14697                              keyword: msg,
14698                              language: globalwpw.settings.obj.language,
14699                            };
14700
14701                            if (
14702                              $(
14703                                globalwpw.settings.messageLastChild +
14704                                " .wp-chatbot-comment-loader"
14705                              ).length == 0
14706                            ) {
14707                              $(globalwpw.settings.messageContainer).append(
14708                                wpwKits.botPreloader()
14709                              );
14710                            }
14711
14712                            wpwKits.ajax(data).done(function (res) {
14713                              var json = $.parseJSON(res);
14714                              if (json.status == "success") {
14715                                $('span[data-wildcart="back"]').remove();
14716
14717                                wpwMsg.single_nobg(json.html);
14718                                setTimeout(function () {
14719                                  if (
14720                                    globalwpw.settings.obj
14721                                      .qcld_disable_repited_startmenu != "1"
14722                                  ) {
14723                                    wpwMsg.single_nobg(
14724                                      '<span class="qcld-chatbot-wildcard qcld_back_to_start"  data-wildcart="back">' +
14725                                      wpwKits.randomMsg(
14726                                        globalwpw.settings.obj.back_to_start
14727                                      ) +
14728                                      "</span>"
14729                                    );
14730                                  }
14731                                  setTimeout(() => {
14732                                    $(".wpb-search-result a")
14733                                      .first()[0]
14734                                      .scrollIntoView();
14735                                  }, 600);
14736                                }, globalwpw.settings.preLoadingTime);
14737                              } else if (
14738                                wp_chatbot_obj.ollama_enabled == "1" ||
14739                                wp_chatbot_obj.openrouter_enabled == "1" ||
14740                                wp_chatbot_obj.open_ai_enable == "1" ||
14741                                wp_chatbot_obj.grok_enabled == "1" ||
14742                                wp_chatbot_obj.mistral_enabled == "1" ||
14743                                wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
14744                                globalwpw.settings.obj.tvlyai_enabled == "1"
14745                              ) {
14746                                wpwMsg.open_ai_message_callback(openai_msg);
14747                              } else {
14748                                var data = {
14749                                  action: "wpbo_failed_response",
14750                                  name: globalwpw.hasNameCookie,
14751                                  keyword: msg,
14752                                };
14753                                wpwKits.ajax(data).done(function (res) {
14754                                  //
14755                                  if (
14756                                    globalwpw.counter ==
14757                                    globalwpw.settings.obj
14758                                      .no_result_attempt_count ||
14759                                    globalwpw.settings.obj
14760                                      .no_result_attempt_count == 0
14761                                  ) {
14762                                    wpwMsg.single(wpwKits.randomMsg(json.html));
14763                                    if (
14764                                      globalwpw.settings.obj
14765                                        .disable_repeatative != 1
14766                                    ) {
14767                                      if (
14768                                        wpwKits.render(
14769                                          globalwpw.settings.obj
14770                                            .no_result_attempt_message
14771                                        ) != ""
14772                                      ) {
14773                                        setTimeout(function () {
14774                                          wpwMsg.single(
14775                                            wpwKits.render(
14776                                              globalwpw.settings.obj
14777                                                .no_result_attempt_message
14778                                            )
14779                                          );
14780                                        }, globalwpw.settings.preLoadingTime);
14781                                      } else {
14782                                        setTimeout(function () {
14783                                          var serviceOffer = wpwKits.randomMsg(
14784                                            globalwpw.settings.obj
14785                                              .support_option_again
14786                                          );
14787                                          if (
14788                                            globalwpw.settings.obj
14789                                              .qcld_disable_start_menu != "1"
14790                                          ) {
14791                                            if (
14792                                              globalwpw.settings.obj
14793                                                .qcld_disable_repited_startmenu !=
14794                                              "1"
14795                                            ) {
14796                                              if (
14797                                                typeof globalwpw.wildcards !=
14798                                                "undefined" &&
14799                                                globalwpw.wildcards != ""
14800                                              ) {
14801                                                wpwMsg.double_nobg(
14802                                                  serviceOffer,
14803                                                  globalwpw.wildcards
14804                                                );
14805                                              } else {
14806                                                wpwMsg.single(serviceOffer);
14807                                              }
14808                                            } else if (
14809                                              globalwpw.settings.obj
14810                                                .qcld_disable_repited_startmenu !=
14811                                              "1"
14812                                            ) {
14813                                              wpwMsg.single_nobg(
14814                                                '<span class="qcld-chatbot-wildcard qcld_back_to_start"  data-wildcart="back">' +
14815                                                wpwKits.randomMsg(
14816                                                  globalwpw.settings.obj
14817                                                    .back_to_start
14818                                                ) +
14819                                                "</span>"
14820                                              );
14821                                            }
14822                                          }
14823                                        }, globalwpw.settings.preLoadingTime);
14824                                      }
14825                                    } else {
14826                                      setTimeout(function () {
14827                                        if (
14828                                          globalwpw.settings.obj
14829                                            .qcld_disable_repited_startmenu !=
14830                                          "1"
14831                                        ) {
14832                                          wpwMsg.single_nobg(
14833                                            '<span class="qcld-chatbot-wildcard qcld_back_to_start"  data-wildcart="back">' +
14834                                            wpwKits.randomMsg(
14835                                              globalwpw.settings.obj
14836                                                .back_to_start
14837                                            ) +
14838                                            "</span>"
14839                                          );
14840                                        }
14841                                      }, globalwpw.settings.preLoadingTime * 2);
14842                                    }
14843                                    globalwpw.counter = 0;
14844                                  } else {
14845                                    globalwpw.counter++;
14846                                    wpwTree.df_reply(response);
14847                                  }
14848                                });
14849                              }
14850
14851                              globalwpw.wildCard = 0;
14852                            });
14853                          } else if (
14854                            wp_chatbot_obj.ollama_enabled == "1" ||
14855                            wp_chatbot_obj.openrouter_enabled == "1" ||
14856                            wp_chatbot_obj.open_ai_enable == "1" ||
14857                            wp_chatbot_obj.grok_enabled == "1" ||
14858                            wp_chatbot_obj.mistral_enabled == "1" ||
14859                            wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
14860                            globalwpw.settings.obj.tvlyai_enabled == "1"
14861                          ) {
14862                            wpwMsg.open_ai_message_callback(openai_msg);
14863                          } else if (
14864                            msg != "" &&
14865                            globalwpw.settings.obj.is_woowbot == 1
14866                          ) {
14867                            globalwpw.wildCard = 20;
14868                            globalwpw.productStep = "search";
14869                            wpwAction.bot(msg);
14870                            //keeping value in localstorage
14871                            localStorage.setItem(
14872                              "wildCard",
14873                              globalwpw.wildCard
14874                            );
14875                            localStorage.setItem(
14876                              "productStep",
14877                              globalwpw.productStep
14878                            );
14879                          } else {
14880                            if (
14881                              globalwpw.counter <
14882                              globalwpw.settings.obj
14883                                .no_result_attempt_count ||
14884                              globalwpw.settings.obj.no_result_attempt_count ==
14885                              0
14886                            ) {
14887                              wpwTree.df_reply(response);
14888                              wpwTree.start_menu_settings();
14889                              globalwpw.counter = 0;
14890                            } else {
14891                              globalwpw.counter++;
14892                              wpwTree.df_reply(response);
14893                            }
14894                          }
14895                        }
14896                      });
14897                    } else {
14898                      if (
14899                        msg != "" &&
14900                        globalwpw.settings.obj.disable_sitesearch == "" &&
14901                        globalwpw.settings.obj.qc_site_search_priority != "1"
14902                      ) {
14903                        var openai_msg = msg;
14904                        msg = wpwKits.filterStopWords(msg);
14905                        var data = {
14906                          action: "wpbo_search_site",
14907                          name: globalwpw.hasNameCookie,
14908                          keyword: msg,
14909                          language: globalwpw.settings.obj.language,
14910                        };
14911
14912                        if (
14913                          $(
14914                            globalwpw.settings.messageLastChild +
14915                            " .wp-chatbot-comment-loader"
14916                          ).length == 0
14917                        ) {
14918                          $(globalwpw.settings.messageContainer).append(
14919                            wpwKits.botPreloader()
14920                          );
14921                        }
14922
14923                        wpwKits.ajax(data).done(function (res) {
14924                          var json = $.parseJSON(res);
14925                          if (json.status == "success") {
14926                            $('span[data-wildcart="back"]').remove();
14927
14928                            wpwMsg.single_nobg(json.html);
14929                            setTimeout(function () {
14930                              if (
14931                                globalwpw.settings.obj
14932                                  .qcld_disable_repited_startmenu != "1"
14933                              ) {
14934                                wpwMsg.single_nobg(
14935                                  '<span class="qcld-chatbot-wildcard qcld_back_to_start"  data-wildcart="back">' +
14936                                  wpwKits.randomMsg(
14937                                    globalwpw.settings.obj.back_to_start
14938                                  ) +
14939                                  "</span>"
14940                                );
14941                              }
14942                              setTimeout(() => {
14943                                $(".wpb-search-result a")
14944                                  .first()[0]
14945                                  .scrollIntoView();
14946                              }, 600);
14947                            }, globalwpw.settings.preLoadingTime);
14948                          } else if (
14949                            wp_chatbot_obj.ollama_enabled == "1" ||
14950                            wp_chatbot_obj.openrouter_enabled == "1" ||
14951                            wp_chatbot_obj.open_ai_enable == "1" ||
14952                            wp_chatbot_obj.grok_enabled == "1" ||
14953                            wp_chatbot_obj.mistral_enabled == "1" ||
14954                            wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
14955                            globalwpw.settings.obj.tvlyai_enabled == "1"
14956                          ) {
14957                            wpwMsg.open_ai_message_callback(openai_msg);
14958                          } else {
14959                            var data = {
14960                              action: "wpbo_failed_response",
14961                              name: globalwpw.hasNameCookie,
14962                              keyword: msg,
14963                            };
14964                            wpwKits.ajax(data).done(function (res) {
14965                              //
14966                              if (
14967                                globalwpw.counter ==
14968                                globalwpw.settings.obj
14969                                  .no_result_attempt_count ||
14970                                globalwpw.settings.obj
14971                                  .no_result_attempt_count == 0
14972                              ) {
14973                                wpwMsg.single(wpwKits.randomMsg(json.html));
14974                                wpwTree.start_menu_settings();
14975                                globalwpw.counter = 0;
14976                              } else {
14977                                globalwpw.counter++;
14978                                wpwTree.df_reply(response);
14979                              }
14980                            });
14981                          }
14982
14983                          globalwpw.wildCard = 0;
14984                        });
14985                      } else if (
14986                        wp_chatbot_obj.ollama_enabled == "1" ||
14987                        wp_chatbot_obj.openrouter_enabled == "1" ||
14988                        wp_chatbot_obj.open_ai_enable == "1" ||
14989                        wp_chatbot_obj.grok_enabled == "1" ||
14990                        wp_chatbot_obj.mistral_enabled == "1" ||
14991                        wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
14992                        globalwpw.settings.obj.tvlyai_enabled == "1"
14993                      ) {
14994                        wpwMsg.open_ai_message_callback(openai_msg);
14995                      } else if (
14996                        msg != "" &&
14997                        globalwpw.settings.obj.is_woowbot == 1
14998                      ) {
14999                        globalwpw.wildCard = 20;
15000                        globalwpw.productStep = "search";
15001                        wpwAction.bot(msg);
15002                        //keeping value in localstorage
15003                        localStorage.setItem("wildCard", globalwpw.wildCard);
15004                        localStorage.setItem(
15005                          "productStep",
15006                          globalwpw.productStep
15007                        );
15008                      } else {
15009                        if (
15010                          globalwpw.counter < globalwpw.settings.obj.no_result_attempt_count ||
15011                          globalwpw.settings.obj.no_result_attempt_count == 0
15012                        ) {
15013                          wpwTree.df_reply(response);
15014                          wpwTree.start_menu_settings();
15015                          globalwpw.counter = 0;
15016                        } else {
15017                          globalwpw.counter++;
15018                          wpwTree.df_reply(response);
15019                        }
15020                      }
15021                    }
15022                  } else if (wpwKits.getScore(response) != 0) {
15023                    // checking is reponsing from dialogflow.
15024
15025                    var sTalkAction = wpwKits.getAction(response);
15026
15027                    if (
15028                      sTalkAction != "" &&
15029                      sTalkAction.indexOf("smalltalk") != -1
15030                    ) {
15031                      var sMgs = wpwKits.getFulfillmentText(response);
15032                      wpwMsg.single(sMgs);
15033                    } else {
15034                      var messages = wpwKits.getFulfillmentText(response);
15035
15036                      if (
15037                        typeof response.queryResult.knowledgeAnswers !=
15038                        "undefined" &&
15039                        response.queryResult.knowledgeAnswers.answers != ""
15040                      ) {
15041                        wpwMsg.single(
15042                          response.alternativeQueryResults[0].fulfillmentText
15043                        );
15044                      } else if (
15045                        userIntent.indexOf(
15046                          globalwpw.settings.obj.tag_search_intent
15047                        ) > -1 &&
15048                        wpwKits.isActionComplete(response) &&
15049                        wpwKits.isConversationEnd(response)
15050                      ) {
15051                        var tags = [];
15052                        $.each(
15053                          response.queryResult.parameters,
15054                          function (index, value) {
15055                            if (value != "") {
15056                              tags.push(value);
15057                            }
15058                          }
15059                        );
15060
15061                        if (tags.length > 0) {
15062                          var data = {
15063                            action: "qcld_wb_chatbot_search_product_by_tag",
15064                            name: globalwpw.hasNameCookie,
15065                            tags: tags.join(","),
15066                          };
15067
15068                          if (
15069                            $(
15070                              globalwpw.settings.messageLastChild +
15071                              " .wp-chatbot-comment-loader"
15072                            ).length == 0
15073                          ) {
15074                            $(globalwpw.settings.messageContainer).append(
15075                              wpwKits.botPreloader()
15076                            );
15077                          }
15078                          wpwKits.ajax(data).done(function (presdata) {
15079                            if (presdata.product_num == 0) {
15080                              var productFail =
15081                                wpwKits.randomMsg(
15082                                  globalwpw.settings.obj.product_fail
15083                                ) +
15084                                " <strong>" +
15085                                tags.join(",") +
15086                                "</strong>!";
15087
15088                              wpwMsg.single(productFail);
15089                            } else {
15090                              var productSucces =
15091                                wpwKits.randomMsg(
15092                                  globalwpw.settings.obj.product_success
15093                                ) +
15094                                " <strong>" +
15095                                tags.join(",") +
15096                                "</strong>!";
15097                              wpwMsg.double_nobg(productSucces, presdata.html);
15098                            }
15099                          });
15100                        } else {
15101                          wpwTree.df_reply(response);
15102                        }
15103                      } else {
15104                        wpwTree.df_reply(response);
15105                      }
15106
15107                      var emailSent = false;
15108                      var emailIntent = "";
15109                      $.each(
15110                        globalwpw.settings.obj.custom_intent,
15111                        function (index, value) {
15112                          if (userIntent.indexOf(value) > -1) {
15113                            emailIntent = value;
15114                          }
15115                        }
15116                      );
15117
15118                      if (
15119                        emailIntent != "" &&
15120                        globalwpw.settings.obj.custom_intent_email[
15121                        globalwpw.settings.obj.custom_intent.indexOf(
15122                          emailIntent
15123                        )
15124                        ] == "1"
15125                      ) {
15126                        emailSent = true;
15127                      }
15128
15129                      if (emailSent == true) {
15130                        globalwpw.emailContent.push({
15131                          user: wpwKits.queryText(response),
15132                          bot: wpwTree.df_reply2(response),
15133                        });
15134                      }
15135
15136                      if (
15137                        wpwKits.isActionComplete(response) &&
15138                        wpwKits.isConversationEnd(response) &&
15139                        emailSent == true
15140                      ) {
15141                        var email = "";
15142                        if (localStorage.getItem("shopperemail") !== null) {
15143                          email = localStorage.getItem("shopperemail");
15144                        }
15145                        var data = {
15146                          action: "qcld_wb_chatbot_send_query",
15147                          name: globalwpw.hasNameCookie,
15148                          email: email,
15149                          data: globalwpw.emailContent,
15150                        };
15151
15152                        wpwKits.ajax(data).done(function (resdata) {
15153                          var json = $.parseJSON(resdata);
15154                          if (json.status == "success") {
15155                            var sucMsg = json.message;
15156
15157                            setTimeout(function () {
15158                              wpwMsg.single(sucMsg);
15159                              globalwpw.wildCard = 0;
15160                              var orPhoneSuggest = "";
15161                              setTimeout(function () {
15162                                if (globalwpw.settings.obj.call_sup != 1) {
15163                                  orPhoneSuggest =
15164                                    '<span class="qcld-chatbot-suggest-phone" >' +
15165                                    wpwKits.render(
15166                                      globalwpw.settings.obj.support_phone
15167                                    ) +
15168                                    "</span>";
15169                                }
15170                                var orEmailSuggest =
15171                                  '<span class="qcld-chatbot-suggest-email">' +
15172                                  wpwKits.randomMsg(
15173                                    globalwpw.settings.obj.support_email
15174                                  ) +
15175                                  "</span>";
15176                                wpwTree.start_menu_settings();
15177                              }, globalwpw.settings.wildcardsShowTime);
15178                            }, parseInt(globalwpw.settings.preLoadingTime) * 2);
15179                          } else {
15180                            var failMsg = json.message;
15181                            setTimeout(function () {
15182                              wpwMsg.single(failMsg);
15183                              globalwpw.wildCard = 0;
15184                              var orPhoneSuggest = "";
15185                              setTimeout(function () {
15186                                if (globalwpw.settings.obj.call_sup != 1) {
15187                                  orPhoneSuggest =
15188                                    '<span class="qcld-chatbot-suggest-phone" >' +
15189                                    wpwKits.render(
15190                                      globalwpw.settings.obj.support_phone
15191                                    ) +
15192                                    "</span>";
15193                                }
15194                                var orEmailSuggest =
15195                                  '<span class="qcld-chatbot-suggest-email">' +
15196                                  wpwKits.randomMsg(
15197                                    globalwpw.settings.obj.support_email
15198                                  ) +
15199                                  "</span>";
15200                                wpwTree.start_menu_settings();
15201                              }, globalwpw.settings.preLoadingTime);
15202                            }, parseInt(globalwpw.settings.preLoadingTime) * 2);
15203                          }
15204                        });
15205                        globalwpw.emailContent = [];
15206                      }
15207                    }
15208                    setTimeout(function () {
15209                        wpwTree.start_menu_settings();
15210                      }, globalwpw.settings.preLoadingTime);
15211                  } else {
15212                    var dfDefaultMsg = wpwKits.render(
15213                      globalwpw.settings.obj.df_defualt_reply
15214                    );
15215                    wpwMsg.double_nobg(dfDefaultMsg, globalwpw.wildcards);
15216                  }
15217                } else {
15218                  if (globalwpw.settings.obj.qcbot_enable_str == "1") {
15219                    var data = {
15220                      action: "wpbo_search_response",
15221                      name: globalwpw.hasNameCookie,
15222                      keyword: msg,
15223                      language: globalwpw.settings.obj.language,
15224                    };
15225                    if (
15226                      $(
15227                        globalwpw.settings.messageLastChild +
15228                        " .wp-chatbot-comment-loader"
15229                      ).length == 0
15230                    ) {
15231                      $(globalwpw.settings.messageContainer).append(
15232                        wpwKits.botPreloader()
15233                      );
15234                    }
15235                    wpwKits.ajax(data).done(function (response) {
15236                      var json = $.parseJSON(response);
15237                      if (json.status == "success") {
15238                        var all_html = [];
15239                        var count_result = 0;
15240                        wpwTree.strHandler(msg, json);
15241                      } else {
15242                        var all_html = [];
15243                        var count_result = 0;
15244                        //Default intents site search
15245                        var openai_msg = msg;
15246                        msg = wpwKits.filterStopWords(msg);
15247                        var wppt_post_types =
15248                          globalwpw.settings.obj.wppt_post_types;
15249                        var woo_search_active = false;
15250                        var post_types_array = (Array.isArray(wppt_post_types)) ? wppt_post_types : Object.values(wppt_post_types);
15251                        if (
15252                          globalwpw.settings.obj.woocommerce &&
15253                          typeof globalwpw.settings.obj.wppt_post_types !==
15254                          "undefined"
15255                        ) {
15256                          if (
15257                            post_types_array.indexOf(
15258                              wpwKits
15259                                .render(globalwpw.settings.obj.sys_key_product)
15260                                .toLowerCase()
15261                            ) > -1 &&
15262                            woo_search_active
15263                          ) {
15264                            woo_search_active = true;
15265                          } else {
15266                            woo_search_active = false;
15267                          }
15268                        }
15269                        if (
15270                          globalwpw.settings.obj.woocommerce &&
15271                          woo_search_active
15272                        ) {
15273                          var data = {
15274                            action: "qcld_wb_chatbot_keyword",
15275                            keyword: msg,
15276                            language: globalwpw.settings.obj.language,
15277                          };
15278                          //Products by string search ajax handler.
15279                          if (
15280                            $(
15281                              globalwpw.settings.messageLastChild +
15282                              " .wp-chatbot-comment-loader"
15283                            ).length == 0
15284                          ) {
15285                            $(globalwpw.settings.messageContainer).append(
15286                              wpwKits.botPreloader()
15287                            );
15288                          }
15289                          wpwKits.ajax(data).done(function (response) {
15290                            if (response.product_num == 0) {
15291                              if (
15292                                msg != "" &&
15293                                globalwpw.settings.obj.disable_sitesearch ==
15294                                "" &&
15295                                globalwpw.settings.obj
15296                                  .qc_site_search_priority != "1"
15297                              ) {
15298                                var data = {
15299                                  action: "wpbo_search_site",
15300                                  name: globalwpw.hasNameCookie,
15301                                  keyword: msg,
15302                                  language: globalwpw.settings.obj.language,
15303                                };
15304                                if (
15305                                  $(
15306                                    globalwpw.settings.messageLastChild +
15307                                    " .wp-chatbot-comment-loader"
15308                                  ).length == 0
15309                                ) {
15310                                  $(globalwpw.settings.messageContainer).append(
15311                                    wpwKits.botPreloader()
15312                                  );
15313                                }
15314                                wpwKits.ajax(data).done(function (response) {
15315                                  var json = $.parseJSON(response);
15316                                  if (json.status == "success") {
15317                                    $(
15318                                      "#wp-chatbot-messages-container li .wp-chatbot-comment-loader"
15319                                    )
15320                                      .parent(".wp-chatbot-paragraph")
15321                                      .hide();
15322                                    $('span[data-wildcart="back"]').remove();
15323                                    wpwMsg.single_nobg(json.html);
15324                                    setTimeout(() => {
15325                                      $(".wpb-search-result a")
15326                                        .first()[0]
15327                                        .scrollIntoView();
15328                                    }, 600);
15329                                  } else if (
15330                                    wp_chatbot_obj.ollama_enabled == "1" ||
15331                                    wp_chatbot_obj.openrouter_enabled == "1" ||
15332                                    wp_chatbot_obj.open_ai_enable == "1" ||
15333                                    wp_chatbot_obj.grok_enabled == "1" ||
15334                                    wp_chatbot_obj.mistral_enabled == "1" ||
15335                                    wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
15336                                    globalwpw.settings.obj.tvlyai_enabled == "1"
15337                                  ) {
15338                                    wpwMsg.open_ai_message_callback(openai_msg);
15339                                  } else {
15340                                    var data = {
15341                                      action: "wpbo_failed_response",
15342                                      name: globalwpw.hasNameCookie,
15343                                      keyword: msg,
15344                                    };
15345                                    wpwKits.ajax(data).done(function (res) {
15346                                      //
15347                                      if (
15348                                        globalwpw.counter ==
15349                                        globalwpw.settings.obj
15350                                          .no_result_attempt_count ||
15351                                        globalwpw.settings.obj
15352                                          .no_result_attempt_count == 0
15353                                      ) {
15354                                        wpwMsg.single(
15355                                          wpwKits.randomMsg(json.html)
15356                                        );
15357
15358                                        if (
15359                                          wpwKits.render(
15360                                            globalwpw.settings.obj
15361                                              .no_result_attempt_message
15362                                          ) != ""
15363                                        ) {
15364                                          setTimeout(function () {
15365                                            wpwMsg.single(
15366                                              wpwKits.render(
15367                                                globalwpw.settings.obj
15368                                                  .no_result_attempt_message
15369                                              )
15370                                            );
15371                                          }, globalwpw.settings.preLoadingTime);
15372                                        } else {
15373                                          wpwTree.start_menu_settings();
15374                                        }
15375
15376                                        globalwpw.counter = 0;
15377                                      } else {
15378                                        globalwpw.counter++;
15379                                        wpwMsg.single(
15380                                          wpwKits.randomMsg(json.html)
15381                                        );
15382                                      }
15383                                    });
15384                                  }
15385                                  globalwpw.wildCard = 0;
15386                                });
15387                              } else if (
15388                                wp_chatbot_obj.ollama_enabled == "1" ||
15389                                wp_chatbot_obj.openrouter_enabled == "1" ||
15390                                wp_chatbot_obj.open_ai_enable == "1" ||
15391                                wp_chatbot_obj.grok_enabled == "1" ||
15392                                wp_chatbot_obj.mistral_enabled == "1" ||
15393                                wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
15394                                globalwpw.settings.obj.tvlyai_enabled == "1"
15395                              ) {
15396                                wpwMsg.open_ai_message_callback(openai_msg);
15397                              } else {
15398                                globalwpw.wildCard = 0;
15399                                wpwMsg.single(
15400                                  wpwKits.randomMsg(
15401                                    globalwpw.settings.obj.empty_filter_msg
15402                                  )
15403                                );
15404
15405                                wpwTree.start_menu_settings();
15406                              }
15407                            } else {
15408                              var productSucces =
15409                                wpwKits.randomMsg(
15410                                  globalwpw.settings.obj.product_success
15411                                ) +
15412                                " <strong>" +
15413                                msg +
15414                                "</strong>!";
15415                              wpwMsg.double_nobg(productSucces, response.html);
15416
15417                              if (response.per_page >= response.product_num) {
15418                                setTimeout(function () {
15419                                  var searchAgain = wpwKits.randomMsg(
15420                                    globalwpw.settings.obj.product_infinite
15421                                  );
15422                                  wpwMsg.double_nobg(
15423                                    searchAgain,
15424                                    '<span class="qcld-chatbot-wildcard"  data-wildcart="back">' +
15425                                    wpwKits.randomMsg(
15426                                      globalwpw.settings.obj.back_to_start
15427                                    ) +
15428                                    "</span>"
15429                                  );
15430                                  //keeping value in localstorage
15431                                  globalwpw.wildCard = 0;
15432                                  globalwpw.productStep = "search";
15433                                  localStorage.setItem(
15434                                    "productStep",
15435                                    globalwpw.productStep
15436                                  );
15437                                }, globalwpw.settings.wildcardsShowTime);
15438                              }
15439                            }
15440                          });
15441                        } else {
15442                          if (
15443                            msg != "" &&
15444                            globalwpw.settings.obj.disable_sitesearch != "1"
15445                          ) {
15446                            var data = {
15447                              action: "wpbo_search_site",
15448                              name: globalwpw.hasNameCookie,
15449                              keyword: msg,
15450                              language: globalwpw.settings.obj.language,
15451                            };
15452                            if (
15453                              $(
15454                                globalwpw.settings.messageLastChild +
15455                                " .wp-chatbot-comment-loader"
15456                              ).length == 0
15457                            ) {
15458                              $(globalwpw.settings.messageContainer).append(
15459                                wpwKits.botPreloader()
15460                              );
15461                            }
15462                            wpwKits.ajax(data).done(function (response) {
15463                              var json = $.parseJSON(response);
15464
15465                              if (json.status == "success") {
15466                                $(
15467                                  "#wp-chatbot-messages-container li .wp-chatbot-comment-loader"
15468                                )
15469                                  .parent(".wp-chatbot-paragraph")
15470                                  .hide();
15471                                $('span[data-wildcart="back"]').remove();
15472                                wpwMsg.single_nobg(json.html);
15473                                // setTimeout(() => {
15474                                //     $(".wpb-search-result a").first()[0].scrollIntoView();
15475                                // }, 600);
15476                              } else if (
15477                                globalwpw.settings.obj.open_ai_enable == "1" ||
15478                                globalwpw.settings.obj.tvlyai_enabled == "1"
15479                              ) {
15480                                wpwMsg.open_ai_message_callback(openai_msg);
15481                              } else {
15482                                var data = {
15483                                  action: "wpbo_failed_response",
15484                                  name: globalwpw.hasNameCookie,
15485                                  keyword: msg,
15486                                };
15487                                wpwKits.ajax(data).done(function (res) {
15488                                  if (
15489                                    globalwpw.counter ==
15490                                    globalwpw.settings.obj
15491                                      .no_result_attempt_count ||
15492                                    globalwpw.settings.obj
15493                                      .no_result_attempt_count == 0
15494                                  ) {
15495                                    if (
15496                                      wpwKits.render(
15497                                        globalwpw.settings.obj
15498                                          .no_result_attempt_message
15499                                      ) != ""
15500                                    ) {
15501                                      setTimeout(function () {
15502                                        wpwMsg.single(
15503                                          wpwKits.render(
15504                                            globalwpw.settings.obj
15505                                              .no_result_attempt_message
15506                                          )
15507                                        );
15508                                      }, globalwpw.settings.preLoadingTime);
15509                                      wpwTree.start_menu_settings();
15510                                    } else {
15511                                      wpwTree.start_menu_settings();
15512                                    }
15513                                    setTimeout(function () {
15514                                      wpwMsg.single(
15515                                        wpwKits.randomMsg(
15516                                          '<span class="qcld-chatbot-wildcard"  data-wildcart="back">' +
15517                                          wpwKits.randomMsg(
15518                                            globalwpw.settings.obj
15519                                              .back_to_start
15520                                          ) +
15521                                          "</span>"
15522                                        )
15523                                      );
15524                                    });
15525
15526                                    globalwpw.counter = 0;
15527                                  } else {
15528                                    globalwpw.counter++;
15529
15530                                    if (
15531                                      globalwpw.settings.obj
15532                                        .qcld_disable_repited_startmenu == "1"
15533                                    ) {
15534                                      wpwMsg.double_nobg(
15535                                        wpwKits.randomMsg(
15536                                          globalwpw.settings.obj.no_result
15537                                        ),
15538                                        '<span class="qcld-chatbot-wildcard qcld_back_to_start"  data-wildcart="back">' +
15539                                        wpwKits.randomMsg(
15540                                          globalwpw.settings.obj.back_to_start
15541                                        ) +
15542                                        "</span>"
15543                                      );
15544                                    } else {
15545                                      wpwMsg.double_nobg(
15546                                        wpwKits.randomMsg(
15547                                          globalwpw.settings.obj.no_result
15548                                        ),
15549                                        globalwpw.wildcards
15550                                      );
15551                                      // wpwMsg.single_nobg('<span class="qcld-chatbot-wildcard"  data-wildcart="back">' +  + '</span>');
15552                                    }
15553                                  }
15554                                });
15555                              }
15556                              globalwpw.wildCard = 0;
15557                            });
15558                          } else if (
15559                            wp_chatbot_obj.ollama_enabled == "1" ||
15560                            wp_chatbot_obj.openrouter_enabled == "1" ||
15561                            wp_chatbot_obj.open_ai_enable == "1" ||
15562                            wp_chatbot_obj.grok_enabled == "1" ||
15563                            wp_chatbot_obj.mistral_enabled == "1" ||
15564                            wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
15565                            globalwpw.settings.obj.tvlyai_enabled == "1"
15566                          ) {
15567                            wpwMsg.open_ai_message_callback(openai_msg);
15568                          } else {
15569                            wpwTree.start_menu_settings();
15570                          }
15571                        }
15572                      }
15573                    });
15574                  } else {
15575                    var all_html = [];
15576                    var count_result = 0;
15577                    //Default intents site search
15578                    var openai_msg = msg;
15579                    msg = wpwKits.filterStopWords(msg);
15580                    var wppt_post_types =
15581                      globalwpw.settings.obj.wppt_post_types;
15582                    var woo_search_active = false;
15583                    var post_types_array = (Array.isArray(wppt_post_types)) ? wppt_post_types : Object.values(wppt_post_types);
15584                    if (
15585                      globalwpw.settings.obj.woocommerce &&
15586                      typeof globalwpw.settings.obj.wppt_post_types !==
15587                      "undefined"
15588                    ) {
15589                      if (
15590                        post_types_array.indexOf(
15591                          wpwKits
15592                            .render(globalwpw.settings.obj.sys_key_product)
15593                            .toLowerCase()
15594                        ) > -1 &&
15595                        woo_search_active
15596                      ) {
15597                        woo_search_active = true;
15598                      } else {
15599                        woo_search_active = false;
15600                      }
15601                    }
15602                    if (
15603                      globalwpw.settings.obj.woocommerce &&
15604                      woo_search_active
15605                    ) {
15606                      var data = {
15607                        action: "qcld_wb_chatbot_keyword",
15608                        keyword: msg,
15609                        language: globalwpw.settings.obj.language,
15610                      };
15611                      //Products by string search ajax handler.
15612                      if (
15613                        $(
15614                          globalwpw.settings.messageLastChild +
15615                          " .wp-chatbot-comment-loader"
15616                        ).length == 0
15617                      ) {
15618                        $(globalwpw.settings.messageContainer).append(
15619                          wpwKits.botPreloader()
15620                        );
15621                      }
15622                      wpwKits.ajax(data).done(function (response) {
15623                        if (response.product_num == 0) {
15624                          if (
15625                            msg != "" &&
15626                            globalwpw.settings.obj.disable_sitesearch == "" &&
15627                            globalwpw.settings.obj.qc_site_search_priority !=
15628                            "1"
15629                          ) {
15630                            var data = {
15631                              action: "wpbo_search_site",
15632                              name: globalwpw.hasNameCookie,
15633                              keyword: msg,
15634                              language: globalwpw.settings.obj.language,
15635                            };
15636                            if (
15637                              $(
15638                                globalwpw.settings.messageLastChild +
15639                                " .wp-chatbot-comment-loader"
15640                              ).length == 0
15641                            ) {
15642                              $(globalwpw.settings.messageContainer).append(
15643                                wpwKits.botPreloader()
15644                              );
15645                            }
15646                            wpwKits.ajax(data).done(function (response) {
15647                              var json = $.parseJSON(response);
15648                              if (json.status == "success") {
15649                                $(
15650                                  "#wp-chatbot-messages-container li .wp-chatbot-comment-loader"
15651                                )
15652                                  .parent(".wp-chatbot-paragraph")
15653                                  .hide();
15654                                $('span[data-wildcart="back"]').remove();
15655                                wpwMsg.single_nobg(json.html);
15656                                setTimeout(() => {
15657                                  $(".wpb-search-result a")
15658                                    .first()[0]
15659                                    .scrollIntoView();
15660                                }, 600);
15661                              } else if (
15662                                wp_chatbot_obj.ollama_enabled == "1" ||
15663                                wp_chatbot_obj.openrouter_enabled == "1" ||
15664                                wp_chatbot_obj.open_ai_enable == "1" ||
15665                                wp_chatbot_obj.grok_enabled == "1" ||
15666                                wp_chatbot_obj.mistral_enabled == "1" ||
15667                                wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
15668                                globalwpw.settings.obj.tvlyai_enabled == "1"
15669                              ) {
15670                                wpwMsg.open_ai_message_callback(openai_msg);
15671                              } else {
15672                                var data = {
15673                                  action: "wpbo_failed_response",
15674                                  name: globalwpw.hasNameCookie,
15675                                  keyword: msg,
15676                                };
15677                                wpwKits.ajax(data).done(function (res) {
15678                                  //
15679                                  if (
15680                                    globalwpw.counter ==
15681                                    globalwpw.settings.obj
15682                                      .no_result_attempt_count ||
15683                                    globalwpw.settings.obj
15684                                      .no_result_attempt_count == 0
15685                                  ) {
15686                                    wpwMsg.single(wpwKits.randomMsg(json.html));
15687
15688                                    if (
15689                                      wpwKits.render(
15690                                        globalwpw.settings.obj
15691                                          .no_result_attempt_message
15692                                      ) != ""
15693                                    ) {
15694                                      setTimeout(function () {
15695                                        wpwMsg.single(
15696                                          wpwKits.render(
15697                                            globalwpw.settings.obj
15698                                              .no_result_attempt_message
15699                                          )
15700                                        );
15701                                      }, globalwpw.settings.preLoadingTime);
15702                                    } else {
15703                                      wpwTree.start_menu_settings();
15704                                    }
15705
15706                                    globalwpw.counter = 0;
15707                                  } else {
15708                                    globalwpw.counter++;
15709                                    wpwMsg.single(wpwKits.randomMsg(json.html));
15710                                  }
15711                                });
15712                              }
15713                              globalwpw.wildCard = 0;
15714                            });
15715                          } else if (
15716                            wp_chatbot_obj.ollama_enabled == "1" ||
15717                            wp_chatbot_obj.openrouter_enabled == "1" ||
15718                            wp_chatbot_obj.open_ai_enable == "1" ||
15719                            wp_chatbot_obj.grok_enabled == "1" ||
15720                            wp_chatbot_obj.mistral_enabled == "1" ||
15721                            wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
15722                            globalwpw.settings.obj.tvlyai_enabled == "1"
15723                          ) {
15724                            wpwMsg.open_ai_message_callback(openai_msg);
15725                          } else {
15726                            globalwpw.wildCard = 0;
15727                            wpwMsg.single(
15728                              wpwKits.randomMsg(
15729                                globalwpw.settings.obj.empty_filter_msg
15730                              )
15731                            );
15732
15733                            wpwTree.start_menu_settings();
15734                          }
15735                        } else {
15736                          var productSucces =
15737                            wpwKits.randomMsg(
15738                              globalwpw.settings.obj.product_success
15739                            ) +
15740                            " <strong>" +
15741                            msg +
15742                            "</strong>!";
15743                          wpwMsg.double_nobg(productSucces, response.html);
15744
15745                          if (response.per_page >= response.product_num) {
15746                            setTimeout(function () {
15747                              var searchAgain = wpwKits.randomMsg(
15748                                globalwpw.settings.obj.product_infinite
15749                              );
15750                              wpwMsg.double_nobg(
15751                                searchAgain,
15752                                '<span class="qcld-chatbot-wildcard"  data-wildcart="back">' +
15753                                wpwKits.randomMsg(
15754                                  globalwpw.settings.obj.back_to_start
15755                                ) +
15756                                "</span>"
15757                              );
15758                              //keeping value in localstorage
15759                              globalwpw.wildCard = 0;
15760                              globalwpw.productStep = "search";
15761                              localStorage.setItem(
15762                                "productStep",
15763                                globalwpw.productStep
15764                              );
15765                            }, globalwpw.settings.wildcardsShowTime);
15766                          }
15767                        }
15768                      });
15769                    } else {
15770                      if (
15771                        msg != "" &&
15772                        globalwpw.settings.obj.disable_sitesearch != "1"
15773                      ) {
15774                        var data = {
15775                          action: "wpbo_search_site",
15776                          name: globalwpw.hasNameCookie,
15777                          keyword: msg,
15778                          language: globalwpw.settings.obj.language,
15779                        };
15780                        if (
15781                          $(
15782                            globalwpw.settings.messageLastChild +
15783                            " .wp-chatbot-comment-loader"
15784                          ).length == 0
15785                        ) {
15786                          $(globalwpw.settings.messageContainer).append(
15787                            wpwKits.botPreloader()
15788                          );
15789                        }
15790                        wpwKits.ajax(data).done(function (response) {
15791                          var json = $.parseJSON(response);
15792
15793                          if (json.status == "success") {
15794                            $(
15795                              "#wp-chatbot-messages-container li .wp-chatbot-comment-loader"
15796                            )
15797                              .parent(".wp-chatbot-paragraph")
15798                              .hide();
15799                            $('span[data-wildcart="back"]').remove();
15800                            wpwMsg.single_nobg(json.html);
15801                            // setTimeout(() => {
15802                            //     $(".wpb-search-result a").first()[0].scrollIntoView();
15803                            // }, 600);
15804                          } else if (
15805                            globalwpw.settings.obj.open_ai_enable == "1" ||
15806                            globalwpw.settings.obj.tvlyai_enabled == "1"
15807                          ) {
15808                            wpwMsg.open_ai_message_callback(openai_msg);
15809                          } else {
15810                            var data = {
15811                              action: "wpbo_failed_response",
15812                              name: globalwpw.hasNameCookie,
15813                              keyword: msg,
15814                            };
15815                            wpwKits.ajax(data).done(function (res) {
15816                              if (
15817                                globalwpw.counter ==
15818                                globalwpw.settings.obj
15819                                  .no_result_attempt_count ||
15820                                globalwpw.settings.obj
15821                                  .no_result_attempt_count == 0
15822                              ) {
15823                                if (
15824                                  wpwKits.render(
15825                                    globalwpw.settings.obj
15826                                      .no_result_attempt_message
15827                                  ) != ""
15828                                ) {
15829                                  setTimeout(function () {
15830                                    wpwMsg.single(
15831                                      wpwKits.render(
15832                                        globalwpw.settings.obj
15833                                          .no_result_attempt_message
15834                                      )
15835                                    );
15836                                  }, globalwpw.settings.preLoadingTime);
15837                                  wpwTree.start_menu_settings();
15838                                } else {
15839                                  wpwTree.start_menu_settings();
15840                                }
15841                                setTimeout(function () {
15842                                  wpwMsg.single(
15843                                    wpwKits.randomMsg(
15844                                      '<span class="qcld-chatbot-wildcard"  data-wildcart="back">' +
15845                                      wpwKits.randomMsg(
15846                                        globalwpw.settings.obj.back_to_start
15847                                      ) +
15848                                      "</span>"
15849                                    )
15850                                  );
15851                                });
15852
15853                                globalwpw.counter = 0;
15854                              } else {
15855                                globalwpw.counter++;
15856
15857                                if (
15858                                  globalwpw.settings.obj
15859                                    .qcld_disable_repited_startmenu == "1"
15860                                ) {
15861                                  wpwMsg.double_nobg(
15862                                    wpwKits.randomMsg(
15863                                      globalwpw.settings.obj.no_result
15864                                    ),
15865                                    '<span class="qcld-chatbot-wildcard qcld_back_to_start"  data-wildcart="back">' +
15866                                    wpwKits.randomMsg(
15867                                      globalwpw.settings.obj.back_to_start
15868                                    ) +
15869                                    "</span>"
15870                                  );
15871                                } else {
15872                                  wpwMsg.double_nobg(
15873                                    wpwKits.randomMsg(
15874                                      globalwpw.settings.obj.no_result
15875                                    ),
15876                                    globalwpw.wildcards
15877                                  );
15878                                  // wpwMsg.single_nobg('<span class="qcld-chatbot-wildcard"  data-wildcart="back">' +  + '</span>');
15879                                }
15880                              }
15881                            });
15882                          }
15883                          globalwpw.wildCard = 0;
15884                        });
15885                      } else if (
15886                        wp_chatbot_obj.ollama_enabled == "1" ||
15887                        wp_chatbot_obj.openrouter_enabled == "1" ||
15888                        wp_chatbot_obj.open_ai_enable == "1" ||
15889                        wp_chatbot_obj.grok_enabled == "1" ||
15890                        wp_chatbot_obj.mistral_enabled == "1" ||
15891                        wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
15892                        globalwpw.settings.obj.tvlyai_enabled == "1"
15893                      ) {
15894                        wpwMsg.open_ai_message_callback(openai_msg);
15895                      } else {
15896                        wpwTree.start_menu_settings();
15897                      }
15898                    }
15899                  }
15900                }
15901              });
15902            } else {
15903              if (globalwpw.settings.obj.qcbot_enable_str == "1") {
15904                var data = {
15905                  action: "wpbo_search_response",
15906                  name: globalwpw.hasNameCookie,
15907                  keyword: msg,
15908                  language: globalwpw.settings.obj.language,
15909                };
15910                if (
15911                  $(
15912                    globalwpw.settings.messageLastChild +
15913                    " .wp-chatbot-comment-loader"
15914                  ).length == 0
15915                ) {
15916                  $(globalwpw.settings.messageContainer).append(
15917                    wpwKits.botPreloader()
15918                  );
15919                }
15920                wpwKits.ajax(data).done(function (response) {
15921                  var json = $.parseJSON(response);
15922                  if (json.status == "success") {
15923                    var all_html = [];
15924                    var count_result = 0;
15925                    wpwTree.strHandler(msg, json);
15926                  } else {
15927                    var all_html = [];
15928                    var count_result = 0;
15929                    //Default intents site search
15930                    var openai_msg = msg;
15931                    msg = wpwKits.filterStopWords(msg);
15932                    var wppt_post_types =
15933                      globalwpw.settings.obj.wppt_post_types;
15934                    var woo_search_active = false; // Initialize to false
15935                    var post_types_array = (Array.isArray(wppt_post_types)) ? wppt_post_types : Object.values(wppt_post_types);
15936                    if (
15937                      globalwpw.settings.obj.woocommerce &&
15938                      Array.isArray(wppt_post_types) // Ensure wppt_post_types is an array before calling indexOf
15939                    ) {
15940                      // Check if the product key exists in the wppt_post_types array
15941                      if (
15942                        post_types_array.indexOf(
15943                          wpwKits
15944                            .render(globalwpw.settings.obj.sys_key_product)
15945                            .toLowerCase()
15946                        ) > -1
15947                      ) {
15948                        woo_search_active = true; // Set to true if found
15949                      }
15950                      // If not found, woo_search_active remains false, which is the default.
15951                    }
15952                    if (
15953                      globalwpw.settings.obj.woocommerce &&
15954                      woo_search_active
15955                    ) {
15956                      var data = {
15957                        action: "qcld_wb_chatbot_keyword",
15958                        keyword: msg,
15959                        language: globalwpw.settings.obj.language,
15960                      };
15961                      //Products by string search ajax handler.
15962                      if (
15963                        $(
15964                          globalwpw.settings.messageLastChild +
15965                          " .wp-chatbot-comment-loader"
15966                        ).length == 0
15967                      ) {
15968                        $(globalwpw.settings.messageContainer).append(
15969                          wpwKits.botPreloader()
15970                        );
15971                      }
15972                      wpwKits.ajax(data).done(function (response) {
15973                        if (response.product_num == 0) {
15974                          if (
15975                            msg != "" &&
15976                            globalwpw.settings.obj.disable_sitesearch == "" &&
15977                            globalwpw.settings.obj.qc_site_search_priority !=
15978                            "1"
15979                          ) {
15980                            var data = {
15981                              action: "wpbo_search_site",
15982                              name: globalwpw.hasNameCookie,
15983                              keyword: msg,
15984                              language: globalwpw.settings.obj.language,
15985                            };
15986                            if (
15987                              $(
15988                                globalwpw.settings.messageLastChild +
15989                                " .wp-chatbot-comment-loader"
15990                              ).length == 0
15991                            ) {
15992                              $(globalwpw.settings.messageContainer).append(
15993                                wpwKits.botPreloader()
15994                              );
15995                            }
15996                            wpwKits.ajax(data).done(function (response) {
15997                              var json = $.parseJSON(response);
15998
15999                              if (json.status == "success") {
16000                                $(
16001                                  "#wp-chatbot-messages-container li .wp-chatbot-comment-loader"
16002                                )
16003                                  .parent(".wp-chatbot-paragraph")
16004                                  .hide();
16005                                $('span[data-wildcart="back"]').remove();
16006                                wpwMsg.single_nobg(json.html);
16007                                setTimeout(() => {
16008                                  $(".wpb-search-result a")
16009                                    .first()[0]
16010                                    .scrollIntoView();
16011                                }, 600);
16012                              } else if (
16013                                wp_chatbot_obj.ollama_enabled == "1" ||
16014                                wp_chatbot_obj.openrouter_enabled == "1" ||
16015                                wp_chatbot_obj.open_ai_enable == "1" ||
16016                                wp_chatbot_obj.grok_enabled == "1" ||
16017                                wp_chatbot_obj.mistral_enabled == "1" ||
16018                                wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
16019                                globalwpw.settings.obj.tvlyai_enabled == "1"
16020                              ) {
16021                                wpwMsg.open_ai_message_callback(openai_msg);
16022                              } else {
16023                                var data = {
16024                                  action: "wpbo_failed_response",
16025                                  name: globalwpw.hasNameCookie,
16026                                  keyword: msg,
16027                                };
16028                                wpwKits.ajax(data).done(function (res) {
16029                                  //
16030                                  if (
16031                                    globalwpw.counter ==
16032                                    globalwpw.settings.obj
16033                                      .no_result_attempt_count ||
16034                                    globalwpw.settings.obj
16035                                      .no_result_attempt_count == 0
16036                                  ) {
16037                                    wpwMsg.single(wpwKits.randomMsg(json.html));
16038
16039                                    if (
16040                                      wpwKits.render(
16041                                        globalwpw.settings.obj
16042                                          .no_result_attempt_message
16043                                      ) != ""
16044                                    ) {
16045                                      setTimeout(function () {
16046                                        wpwMsg.single(
16047                                          wpwKits.render(
16048                                            globalwpw.settings.obj
16049                                              .no_result_attempt_message
16050                                          )
16051                                        );
16052                                      }, globalwpw.settings.preLoadingTime);
16053                                    } else {
16054                                      wpwTree.start_menu_settings();
16055                                    }
16056
16057                                    globalwpw.counter = 0;
16058                                  } else {
16059                                    globalwpw.counter++;
16060                                    wpwMsg.single(wpwKits.randomMsg(json.html));
16061                                  }
16062                                });
16063                              }
16064                              globalwpw.wildCard = 0;
16065                            });
16066                          } else if (
16067                            wp_chatbot_obj.ollama_enabled == "1" ||
16068                            wp_chatbot_obj.openrouter_enabled == "1" ||
16069                            wp_chatbot_obj.open_ai_enable == "1" ||
16070                            wp_chatbot_obj.mistral_enabled == "1" ||
16071                            wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
16072                            wp_chatbot_obj.grok_enabled == "1" ||
16073                            globalwpw.settings.obj.tvlyai_enabled == "1"
16074                          ) {
16075                            wpwMsg.open_ai_message_callback(openai_msg);
16076                          } else {
16077                            globalwpw.wildCard = 0;
16078                            wpwMsg.single(
16079                              wpwKits.randomMsg(
16080                                globalwpw.settings.obj.empty_filter_msg
16081                              )
16082                            );
16083
16084                            wpwTree.start_menu_settings();
16085                          }
16086                        } else {
16087                          var productSucces =
16088                            wpwKits.randomMsg(
16089                              globalwpw.settings.obj.product_success
16090                            ) +
16091                            " <strong>" +
16092                            msg +
16093                            "</strong>!";
16094                          wpwMsg.double_nobg(productSucces, response.html);
16095
16096                          if (response.per_page >= response.product_num) {
16097                            setTimeout(function () {
16098                              var searchAgain = wpwKits.randomMsg(
16099                                globalwpw.settings.obj.product_infinite
16100                              );
16101                              wpwMsg.single(
16102                                searchAgain
16103                              );
16104                              wpwTree.start_menu_settings();
16105                              //keeping value in localstorage
16106                              globalwpw.wildCard = 0;
16107                              globalwpw.productStep = "search";
16108                              localStorage.setItem(
16109                                "productStep",
16110                                globalwpw.productStep
16111                              );
16112                            }, globalwpw.settings.wildcardsShowTime);
16113                          }
16114                        }
16115                      });
16116                    } else {
16117                      if (
16118                        msg != "" &&
16119                        globalwpw.settings.obj.disable_sitesearch != "1"
16120                      ) {
16121                        var data = {
16122                          action: "wpbo_search_site",
16123                          name: globalwpw.hasNameCookie,
16124                          keyword: msg,
16125                          language: globalwpw.settings.obj.language,
16126                        };
16127                        if (
16128                          $(
16129                            globalwpw.settings.messageLastChild +
16130                            " .wp-chatbot-comment-loader"
16131                          ).length == 0
16132                        ) {
16133                          $(globalwpw.settings.messageContainer).append(
16134                            wpwKits.botPreloader()
16135                          );
16136                        }
16137                        wpwKits.ajax(data).done(function (response) {
16138                          var json = $.parseJSON(response);
16139                          if (json.status == "success") {
16140                            $('span[data-wildcart="back"]').remove();
16141                            $(
16142                              "#wp-chatbot-messages-container li .wp-chatbot-comment-loader"
16143                            )
16144                              .parent(".wp-chatbot-paragraph")
16145                              .hide();
16146                            wpwMsg.single_nobg(json.html);
16147                            // setTimeout(() => {
16148                            //     $(".wpb-search-result a").first()[0].scrollIntoView();
16149                            // }, 600);
16150                          } else if (
16151                            globalwpw.settings.obj.open_ai_enable == "1" ||
16152                            globalwpw.settings.obj.tvlyai_enabled == "1" ||
16153                            globalwpw.settings.obj.ollama_enabled == "1" ||
16154                            globalwpw.settings.obj.openrouter_enabled == "1" ||
16155                            globalwpw.settings.obj.mistral_enabled == "1" ||
16156                            globalwpw.settings.obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1"
16157                          ) {
16158                            //new update
16159
16160                            wpwMsg.open_ai_message_callback(openai_msg);
16161                          } else {
16162                            var data = {
16163                              action: "wpbo_failed_response",
16164                              name: globalwpw.hasNameCookie,
16165                              keyword: msg,
16166                            };
16167                            wpwKits.ajax(data).done(function (res) {
16168                              if (
16169                                globalwpw.counter ==
16170                                globalwpw.settings.obj
16171                                  .no_result_attempt_count ||
16172                                globalwpw.settings.obj
16173                                  .no_result_attempt_count == 0
16174                              ) {
16175                                if (
16176                                  wpwKits.render(
16177                                    globalwpw.settings.obj
16178                                      .no_result_attempt_message
16179                                  ) != ""
16180                                ) {
16181                                  setTimeout(function () {
16182                                    wpwMsg.single(
16183                                      wpwKits.render(
16184                                        globalwpw.settings.obj
16185                                          .no_result_attempt_message
16186                                      )
16187                                    );
16188                                  }, globalwpw.settings.preLoadingTime);
16189                                  wpwTree.start_menu_settings();
16190                                } else {
16191                                  wpwTree.start_menu_settings();
16192                                }
16193                                if (
16194                                  globalwpw.settings.obj
16195                                    .qcld_disable_repited_startmenu == "1"
16196                                ) {
16197                                  setTimeout(function () {
16198                                    wpwMsg.single(
16199                                      wpwKits.randomMsg(
16200                                        '<span class="qcld-chatbot-wildcard"  data-wildcart="back">' +
16201                                        wpwKits.randomMsg(
16202                                          globalwpw.settings.obj.back_to_start
16203                                        ) +
16204                                        "</span>"
16205                                      )
16206                                    );
16207                                  });
16208                                  globalwpw.counter = 0;
16209                                }
16210                              } else {
16211                                globalwpw.counter++;
16212
16213                                if (
16214                                  globalwpw.settings.obj
16215                                    .qcld_disable_repited_startmenu == "1"
16216                                ) {
16217                                  wpwMsg.double_nobg(
16218                                    wpwKits.randomMsg(
16219                                      globalwpw.settings.obj.no_result
16220                                    ),
16221                                    '<span class="qcld-chatbot-wildcard qcld_back_to_start"  data-wildcart="back">' +
16222                                    wpwKits.randomMsg(
16223                                      globalwpw.settings.obj.back_to_start
16224                                    ) +
16225                                    "</span>"
16226                                  );
16227                                } else {
16228                                  wpwMsg.single(
16229                                    wpwKits.randomMsg(
16230                                      globalwpw.settings.obj.no_result
16231                                    )
16232                                  );
16233                                  // wpwMsg.single_nobg('<span class="qcld-chatbot-wildcard"  data-wildcart="back">' +  + '</span>');
16234                                }
16235                              }
16236                            });
16237                          }
16238                          globalwpw.wildCard = 0;
16239                        });
16240                      } else if (
16241                        wp_chatbot_obj.ollama_enabled == "1" ||
16242                        wp_chatbot_obj.openrouter_enabled == "1" ||
16243                        wp_chatbot_obj.open_ai_enable == "1" ||
16244                        wp_chatbot_obj.mistral_enabled == "1" ||
16245                        wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
16246                        wp_chatbot_obj.grok_enabled == "1" ||
16247                        globalwpw.settings.obj.tvlyai_enabled == "1"
16248                      ) {
16249                        wpwMsg.open_ai_message_callback(openai_msg);
16250                      } else {
16251                        if (
16252                          globalwpw.counter < globalwpw.settings.obj.no_result_attempt_count ||
16253                          globalwpw.settings.obj.no_result_attempt_count == 0
16254                        ) {
16255                          globalwpw.counter++;
16256                          wpwMsg.single(wpwKits.randomMsg(globalwpw.settings.obj.no_result));
16257                          wpwTree.start_menu_settings();
16258                        } else {
16259                          globalwpw.counter++;
16260                          wpwMsg.single(wpwKits.randomMsg(globalwpw.settings.obj.no_result_attempt_message));
16261                          wpwTree.start_menu_settings();
16262                        }
16263                      }
16264                    }
16265                  }
16266                });
16267              } else {
16268                var all_html = [];
16269                var count_result = 0;
16270                //Default intents site search
16271                var openai_msg = msg;
16272                msg = wpwKits.filterStopWords(msg);
16273                var wppt_post_types = globalwpw.settings.obj.wppt_post_types;
16274                var woo_search_active = false;
16275                if (
16276                  globalwpw.settings.obj.woocommerce &&
16277                  typeof globalwpw.settings.obj.wppt_post_types !== "undefined"
16278                ) {
16279                  var sysKeyProductRendered = wpwKits.render(
16280                    globalwpw.settings.obj.sys_key_product
16281                  );
16282                  var post_types_array = (Array.isArray(wppt_post_types)) ? wppt_post_types : Object.values(wppt_post_types);
16283                  if (
16284                    typeof sysKeyProductRendered !== "undefined" &&
16285                    sysKeyProductRendered !== null &&
16286                    post_types_array.indexOf(
16287                      sysKeyProductRendered.toLowerCase()
16288                    ) > -1 &&
16289                    woo_search_active
16290                  ) {
16291                    woo_search_active = true;
16292                  } else {
16293                    woo_search_active = false;
16294                  }
16295                }
16296                if (globalwpw.settings.obj.woocommerce && woo_search_active) {
16297                  var data = {
16298                    action: "qcld_wb_chatbot_keyword",
16299                    keyword: msg,
16300                    language: globalwpw.settings.obj.language,
16301                  };
16302                  //Products by string search ajax handler.
16303                  if (
16304                    $(
16305                      globalwpw.settings.messageLastChild +
16306                      " .wp-chatbot-comment-loader"
16307                    ).length == 0
16308                  ) {
16309                    $(globalwpw.settings.messageContainer).append(
16310                      wpwKits.botPreloader()
16311                    );
16312                  }
16313                  wpwKits.ajax(data).done(function (response) {
16314                    if (response.product_num == 0) {
16315                      if (
16316                        msg != "" &&
16317                        globalwpw.settings.obj.disable_sitesearch == "" &&
16318                        globalwpw.settings.obj.qc_site_search_priority != "1"
16319                      ) {
16320                        var data = {
16321                          action: "wpbo_search_site",
16322                          name: globalwpw.hasNameCookie,
16323                          keyword: msg,
16324                          language: globalwpw.settings.obj.language,
16325                        };
16326                        if (
16327                          $(
16328                            globalwpw.settings.messageLastChild +
16329                            " .wp-chatbot-comment-loader"
16330                          ).length == 0
16331                        ) {
16332                          $(globalwpw.settings.messageContainer).append(
16333                            wpwKits.botPreloader()
16334                          );
16335                        }
16336                        wpwKits.ajax(data).done(function (response) {
16337                          var json = $.parseJSON(response);
16338
16339                          if (json.status == "success") {
16340                            $(
16341                              "#wp-chatbot-messages-container li .wp-chatbot-comment-loader"
16342                            )
16343                              .parent(".wp-chatbot-paragraph")
16344                              .hide();
16345                            $('span[data-wildcart="back"]').remove();
16346                            wpwMsg.single_nobg(json.html);
16347                            setTimeout(() => {
16348                              $(".wpb-search-result a")
16349                                .first()[0]
16350                                .scrollIntoView();
16351                            }, 600);
16352                          } else if (
16353                            wp_chatbot_obj.ollama_enabled == "1" ||
16354                            wp_chatbot_obj.openrouter_enabled == "1" ||
16355                            wp_chatbot_obj.open_ai_enable == "1" ||
16356                            wp_chatbot_obj.mistral_enabled == "1" ||
16357                            wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
16358                            wp_chatbot_obj.grok_enabled == "1" ||
16359                            globalwpw.settings.obj.tvlyai_enabled == "1"
16360                          ) {
16361                            wpwMsg.open_ai_message_callback(openai_msg);
16362                          } else {
16363                            var data = {
16364                              action: "wpbo_failed_response",
16365                              name: globalwpw.hasNameCookie,
16366                              keyword: msg,
16367                            };
16368                            wpwKits.ajax(data).done(function (res) {
16369                              //
16370                              if (
16371                                globalwpw.counter ==
16372                                globalwpw.settings.obj
16373                                  .no_result_attempt_count ||
16374                                globalwpw.settings.obj
16375                                  .no_result_attempt_count == 0
16376                              ) {
16377                                wpwMsg.single(wpwKits.randomMsg(json.html));
16378
16379                                if (
16380                                  wpwKits.render(
16381                                    globalwpw.settings.obj
16382                                      .no_result_attempt_message
16383                                  ) != ""
16384                                ) {
16385                                  setTimeout(function () {
16386                                    wpwMsg.single(
16387                                      wpwKits.render(
16388                                        globalwpw.settings.obj
16389                                          .no_result_attempt_message
16390                                      )
16391                                    );
16392                                  }, globalwpw.settings.preLoadingTime);
16393                                } else {
16394                                  wpwTree.start_menu_settings();
16395                                }
16396
16397                                globalwpw.counter = 0;
16398                              } else {
16399                                globalwpw.counter++;
16400                                wpwMsg.single(wpwKits.randomMsg(json.html));
16401                              }
16402                            });
16403                          }
16404                          globalwpw.wildCard = 0;
16405                        });
16406                      } else if (
16407                        wp_chatbot_obj.ollama_enabled == "1" ||
16408                        wp_chatbot_obj.open_ai_enable == "1" ||
16409                        wp_chatbot_obj.grok_enabled == "1" ||
16410                        globalwpw.settings.obj.tvlyai_enabled == "1"
16411                      ) {
16412                        wpwMsg.open_ai_message_callback(openai_msg);
16413                      } else {
16414                        globalwpw.wildCard = 0;
16415                        wpwMsg.single(
16416                          wpwKits.randomMsg(
16417                            globalwpw.settings.obj.empty_filter_msg
16418                          )
16419                        );
16420
16421                        wpwTree.start_menu_settings();
16422                      }
16423                    } else {
16424                      var productSucces =
16425                        wpwKits.randomMsg(
16426                          globalwpw.settings.obj.product_success
16427                        ) +
16428                        " <strong>" +
16429                        msg +
16430                        "</strong>!";
16431                      wpwMsg.double_nobg(productSucces, response.html);
16432
16433                      if (response.per_page >= response.product_num) {
16434                        setTimeout(function () {
16435                          var searchAgain = wpwKits.randomMsg(
16436                            globalwpw.settings.obj.product_infinite
16437                          );
16438                          if (
16439                            globalwpw.settings.obj
16440                              .qcld_disable_repited_startmenu == "1"
16441                          ) {
16442                            wpwMsg.single(
16443                              searchAgain
16444                            );
16445                            wpwTree.start_menu_settings();
16446                          } else {
16447                            wpwMsg.single(searchAgain);
16448                            wpwTree.start_menu_settings();
16449                          }
16450                          //keeping value in localstorage
16451                          globalwpw.wildCard = 0;
16452                          globalwpw.productStep = "search";
16453                          localStorage.setItem(
16454                            "productStep",
16455                            globalwpw.productStep
16456                          );
16457                        }, globalwpw.settings.wildcardsShowTime);
16458                      }
16459                    }
16460                  });
16461                } else {
16462                  if (
16463                    msg != "" &&
16464                    globalwpw.settings.obj.disable_sitesearch != "1"
16465                  ) {
16466                    var data = {
16467                      action: "wpbo_search_site",
16468                      name: globalwpw.hasNameCookie,
16469                      keyword: msg,
16470                      language: globalwpw.settings.obj.language,
16471                    };
16472                    if (
16473                      $(
16474                        globalwpw.settings.messageLastChild +
16475                        " .wp-chatbot-comment-loader"
16476                      ).length == 0
16477                    ) {
16478                      $(globalwpw.settings.messageContainer).append(
16479                        wpwKits.botPreloader()
16480                      );
16481                    }
16482                    wpwKits.ajax(data).done(function (response) {
16483                      var json = $.parseJSON(response);
16484                      if (json.status == "success") {
16485                        $('span[data-wildcart="back"]').remove();
16486                        $(
16487                          "#wp-chatbot-messages-container li .wp-chatbot-comment-loader"
16488                        )
16489                          .parent(".wp-chatbot-paragraph")
16490                          .hide();
16491                        wpwMsg.single_nobg(json.html);
16492                        // setTimeout(() => {
16493                        //     $(".wpb-search-result a").first()[0].scrollIntoView();
16494                        // }, 600);
16495                      } else if (
16496                        globalwpw.settings.obj.open_ai_enable == "1" ||
16497                        globalwpw.settings.obj.tvlyai_enabled == "1"
16498                      ) {
16499                        wpwMsg.open_ai_message_callback(openai_msg);
16500                      } else {
16501                        var data = {
16502                          action: "wpbo_failed_response",
16503                          name: globalwpw.hasNameCookie,
16504                          keyword: msg,
16505                        };
16506                        wpwKits.ajax(data).done(function (res) {                     
16507                          if (
16508                            globalwpw.counter < globalwpw.settings.obj.no_result_attempt_count ||
16509                            globalwpw.settings.obj.no_result_attempt_count == 0
16510                          ) {
16511                            if (
16512                              wpwKits.render(
16513                                globalwpw.settings.obj.no_result_attempt_message
16514                              ) != ""
16515                            ) {
16516                              setTimeout(function () {
16517                                wpwMsg.single(
16518                                  wpwKits.render(
16519                                    globalwpw.settings.obj
16520                                      .no_result_attempt_message
16521                                  )
16522                                );
16523                              }, globalwpw.settings.preLoadingTime);
16524                              wpwTree.start_menu_settings();
16525                            } else {
16526                              wpwTree.start_menu_settings();
16527                            }
16528                            setTimeout(function () {
16529                              if (
16530                                globalwpw.settings.obj
16531                                  .qcld_disable_repited_startmenu == "1"
16532                              ) {
16533                                wpwMsg.single(
16534                                  wpwKits.randomMsg(
16535                                    '<span class="qcld-chatbot-wildcard"  data-wildcart="back">' +
16536                                    wpwKits.randomMsg(
16537                                      globalwpw.settings.obj.back_to_start
16538                                    ) +
16539                                    "</span>"
16540                                  )
16541                                );
16542                              }
16543                            });
16544
16545                            globalwpw.counter = 0;
16546                          } else {
16547                            globalwpw.counter++;
16548
16549                            if (
16550                              globalwpw.settings.obj
16551                                .qcld_disable_repited_startmenu == "1"
16552                            ) {
16553                              wpwMsg.double_nobg(
16554                                wpwKits.randomMsg(
16555                                  globalwpw.settings.obj.no_result
16556                                ),
16557                                '<span class="qcld-chatbot-wildcard qcld_back_to_start"  data-wildcart="back">' +
16558                                wpwKits.randomMsg(
16559                                  globalwpw.settings.obj.back_to_start
16560                                ) +
16561                                "</span>"
16562                              );
16563                            } else {
16564                              wpwMsg.double_nobg(
16565                                wpwKits.randomMsg(
16566                                  globalwpw.settings.obj.no_result
16567                                ),
16568                                globalwpw.wildcards
16569                              );
16570                              // wpwMsg.single_nobg('<span class="qcld-chatbot-wildcard"  data-wildcart="back">' +  + '</span>');
16571                            }
16572                          }
16573                        });
16574                      }
16575                      globalwpw.wildCard = 0;
16576                    });
16577                  } else if (
16578                    wp_chatbot_obj.ollama_enabled == "1" ||
16579                    wp_chatbot_obj.openrouter_enabled == "1" ||
16580                    wp_chatbot_obj.open_ai_enable == "1" ||
16581                    wp_chatbot_obj.mistral_enabled == "1" ||
16582                    wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
16583                    wp_chatbot_obj.grok_enabled == "1" ||
16584                    globalwpw.settings.obj.tvlyai_enabled == "1"
16585                  ) {
16586                    wpwMsg.open_ai_message_callback(openai_msg);
16587                  } else {
16588                    wpwTree.start_menu_settings();
16589                  }
16590                }
16591              }
16592            }
16593          }
16594        }
16595        if (globalwpw.settings.obj.woocommerce) {
16596          //Product
16597          if (globalwpw.wildCard == 20 && msg.toLowerCase() != "featured") {
16598            wpwTree.product(msg);
16599          } else if (
16600            typeof msg != "undefined" &&
16601            msg.toLowerCase() == "featured" &&
16602            globalwpw.wildCard == 20
16603          ) {
16604            globalwpw.wildCard = 20;
16605            globalwpw.productStep = "featured";
16606            wpwTree.product("featured");
16607          } else if (globalwpw.wildCard == 21 || msg == "Order Status") {
16608            wpwTree.order(msg);
16609          }
16610        }
16611        if (globalwpw.wildCard == 1) {
16612          wpwTree.support(msg);
16613        }
16614        if (globalwpw.wildCard == 3) {
16615          wpwTree.subscription(msg);
16616        }
16617        if (globalwpw.wildCard == 6) {
16618          wpwTree.unsubscription(msg);
16619        }
16620
16621        if (globalwpw.wildCard == 7) {
16622          wpwTree.formbuilder(msg);
16623        }
16624        if (globalwpw.wildCard == 9) {
16625          wpwTree.bargain(msg);
16626        }
16627        if (globalwpw.wildCard == 25) {
16628          wpwTree.reset(msg);
16629        }
16630        if (globalwpw.wildCard == 26) {
16631          wpwTree.dfcx(msg);
16632        }
16633        if (globalwpw.wildCard == 30) {
16634          wpwTree.ldsuggestion();
16635        }
16636      }
16637      wpwKits.wpwHistorySave();
16638    },
16639    shopper: function (msg) {
16640      wpwMsg.shopper(msg);
16641      if (globalwpw.wildCard == 1) {
16642        this.bot(msg);
16643      } else if (
16644        globalwpw.settings.obj.ai_df_enable == 1 &&
16645        globalwpw.wildCard == 0 &&
16646        globalwpw.ai_step == 1 &&
16647        globalwpw.df_status_lock == 0
16648      ) {
16649        this.bot(msg);
16650      } else {
16651        var filterMsg = msg;
16652        //Filtering the user given messages by stopwords
16653        if (!localStorage.getItem("shopper")) {
16654          filterMsg = msg;
16655        }
16656
16657        //handle empty filterMsg as repeat the message.
16658        if (filterMsg == "") {
16659          //need to add condition for email collecting
16660          if (globalwpw.settings.obj.ask_email_wp_greetings == 1) {
16661            this.bot(msg);
16662          } else {
16663            globalwpw.repeatQueryEmpty = wpwKits.randomMsg(
16664              globalwpw.settings.obj.empty_filter_msg
16665            );
16666            globalwpw.emptymsghandler++;
16667
16668            wpwMsg.single(globalwpw.repeatQueryEmpty);
16669            wpwTree.start_menu_settings();
16670          }
16671        } else {
16672          globalwpw.emptymsghandler = 0;
16673          this.bot(filterMsg);
16674        }
16675      }
16676    },
16677  };
16678
16679  /*
16680   * wpwBot Plugin Creation without selector and
16681   * wpwbot and shoppers all activities will be handled.
16682   */
16683  $.wpwbot = function (options) {
16684    //Using plugins defualts values or overwrite by options.
16685    var settings = $.extend({}, $.wpwbot.defaults, options);
16686    //Updating global settings
16687    globalwpw.settings = settings;
16688
16689    wpwKits.initAiFileUpload();
16690    setTimeout(function () {
16691      wpwKits.initAiFileUpload();
16692    }, 0);
16693
16694    // GTranslate URL language check (js way)
16695    if (window.location.pathname) {
16696      var pathParts = window.location.pathname.split('/');
16697      var pathLang = pathParts[1] ? pathParts[1].toLowerCase() : '';
16698      if (pathLang && pathLang.length === 2) {
16699        var foundLang = false;
16700        if (globalwpw.settings.obj.wildcard_msg) {
16701          for (var langKey in globalwpw.settings.obj.wildcard_msg) {
16702            if (langKey.toLowerCase().indexOf(pathLang) === 0) {
16703              globalwpw.settings.obj.language = langKey;
16704              globalwpw.settings.obj.default_language = langKey;
16705              localStorage.setItem("bot_language", langKey);
16706              wpwKits.doReset();
16707              foundLang = true;
16708              break;
16709            }
16710          }
16711        }
16712        if (!foundLang) {
16713          if (pathLang === 'es') {
16714            globalwpw.settings.obj.language = 'es_ES';
16715            globalwpw.settings.obj.default_language = 'es_ES';
16716            localStorage.setItem("bot_language", 'es_ES');
16717            wpwKits.doReset();
16718          } else if (pathLang === 'it') {
16719            globalwpw.settings.obj.language = 'it_IT';
16720            globalwpw.settings.obj.default_language = 'it_IT';
16721            localStorage.setItem("bot_language", 'it_IT');
16722            wpwKits.doReset();
16723          } else if (pathLang === 'fr') { 
16724            globalwpw.settings.obj.language = 'fr_FR';
16725            globalwpw.settings.obj.default_language = 'fr_FR';
16726            localStorage.setItem("bot_language", 'fr_FR');
16727            wpwKits.doReset();
16728          } else if (pathLang === 'de') {
16729            globalwpw.settings.obj.language = 'de_DE';
16730            globalwpw.settings.obj.default_language = 'de_DE';
16731            localStorage.setItem("bot_language", 'de_DE');
16732            wpwKits.doReset();
16733          } else if (pathLang === 'pl') {
16734            globalwpw.settings.obj.language = 'pl_PL';
16735            globalwpw.settings.obj.default_language = 'pl_PL';
16736            localStorage.setItem("bot_language", 'pl_PL');
16737            wpwKits.doReset();
16738          } else if (pathLang === 'pt') {
16739            globalwpw.settings.obj.language = 'pt_BR';
16740            globalwpw.settings.obj.default_language = 'pt_BR';
16741            localStorage.setItem("bot_language", 'pt_BR');
16742            wpwKits.doReset();
16743          } else if (pathLang === 'bs') {
16744            globalwpw.settings.obj.language = 'bs_BA';
16745            globalwpw.settings.obj.default_language = 'bs_BA';
16746            localStorage.setItem("bot_language", 'bs_BA');
16747            wpwKits.doReset();
16748          }
16749        }
16750      }
16751    }
16752
16753    //updating the helpkeywords
16754    //Language setup
16755    if (
16756      localStorage.getItem("bot_language") &&
16757      localStorage.getItem("bot_language") !== globalwpw.settings.obj.language
16758    ) {
16759      localStorage.setItem("bot_language", globalwpw.settings.obj.language);
16760      wpwKits.doReset();
16761    } else {
16762      localStorage.setItem("bot_language", globalwpw.settings.obj.language);
16763    }
16764
16765    if (globalwpw.settings.obj.woocommerce) {
16766      globalwpw.wildcardsHelp = [
16767        (wpwKits.render(globalwpw.settings.obj.sys_key_help) || '').toLowerCase(),
16768        (wpwKits.render(globalwpw.settings.obj.sys_key_support) || '').toLowerCase(),
16769        (wpwKits.render(globalwpw.settings.obj.sys_key_reset) || '').toLowerCase(),
16770        (wpwKits.render(globalwpw.settings.obj.email_subscription) || '').toLowerCase(),
16771        (wpwKits.render(globalwpw.settings.obj.unsubscribe) || '').toLowerCase(),
16772        (wpwKits.render(globalwpw.settings.obj.sys_key_livechat) || '').toLowerCase(),
16773        (wpwKits.render(globalwpw.settings.obj.sys_key_product) || '').toLowerCase(),
16774        (wpwKits.render(globalwpw.settings.obj.sys_key_catalog) || '').toLowerCase(),
16775        (wpwKits.render(globalwpw.settings.obj.sys_key_order) || '').toLowerCase(),
16776      ];
16777
16778      if (
16779        globalwpw.settings.obj.ticket_url != "" &&
16780        globalwpw.settings.obj.disable_open_ticket == ""
16781      ) {
16782        globalwpw.wildcardsHelp.push(
16783          (wpwKits.render(globalwpw.settings.obj.open_a_ticket) || '').toLowerCase()
16784        );
16785      }
16786      if (
16787        typeof globalwpw.settings.obj.good_bye !== "undefined" &&
16788        globalwpw.settings.obj.good_bye !== "" &&
16789        globalwpw.settings.obj.disable_good_bye === ""
16790      ) {
16791        var goodByeRendered = wpwKits.render(globalwpw.settings.obj.good_bye);
16792        if (typeof goodByeRendered === "string") {
16793          globalwpw.wildcardsHelp.push(goodByeRendered.toLowerCase());
16794        }
16795      }
16796    } else {
16797      globalwpw.wildcardsHelp = [
16798        (
16799          wpwKits.render(globalwpw.settings.obj.sys_key_help) || ""
16800        ).toLowerCase(),
16801        (
16802          wpwKits.render(globalwpw.settings.obj.sys_key_support) || ""
16803        ).toLowerCase(),
16804        (
16805          wpwKits.render(globalwpw.settings.obj.sys_key_reset) || ""
16806        ).toLowerCase(),
16807        (
16808          wpwKits.render(globalwpw.settings.obj.email_subscription) || ""
16809        ).toLowerCase(),
16810        (
16811          wpwKits.render(globalwpw.settings.obj.unsubscribe) || ""
16812        ).toLowerCase(),
16813        (
16814          wpwKits.render(globalwpw.settings.obj.sys_key_livechat) || ""
16815        ).toLowerCase(),
16816      ];
16817      if (
16818        globalwpw.settings.obj.ticket_url != "" &&
16819        globalwpw.settings.obj.disable_open_ticket == ""
16820      ) {
16821        globalwpw.wildcardsHelp.push(
16822          (wpwKits.render(globalwpw.settings.obj.open_a_ticket) || '').toLowerCase()
16823        );
16824      }
16825      if (
16826        typeof globalwpw.settings.obj.good_bye !== "undefined" &&
16827        globalwpw.settings.obj.good_bye !== "" &&
16828        globalwpw.settings.obj.disable_good_bye === ""
16829      ) {
16830        var goodByeRendered = wpwKits.render(globalwpw.settings.obj.good_bye);
16831        if (typeof goodByeRendered === "string") {
16832          globalwpw.wildcardsHelp.push(goodByeRendered.toLowerCase());
16833        }
16834      }
16835    }
16836
16837    //updating wildcards
16838    globalwpw.wildcards = "";
16839
16840    //Adding custom Intents
16841
16842    if (wpwKits.render(globalwpw.settings.obj.start_menu) != "") {
16843      var menu_html = "";
16844      var menu_items = $.parseHTML(
16845        $.trim(wpwKits.render(globalwpw.settings.obj.start_menu))
16846      );
16847      var tempData = [];
16848      if (
16849        globalwpw.settings.obj.disable_livechat_operator_offline == "1" ||
16850        globalwpw.settings.obj.disable_livechat == 1
16851      ) {
16852        if (
16853          globalwpw.settings.obj.is_operator_online != "1" &&
16854          globalwpw.settings.obj.livechatlink == ""
16855        ) {
16856          $.each(menu_items, function (index, value) {
16857            var htmlObject = jQuery(value);
16858            if (
16859              !htmlObject.hasClass("wpbo_live_chat") &&
16860              !htmlObject.hasClass("qcld-chatbot-custom-intent")
16861            ) {
16862              tempData.push(value);
16863            }
16864          });
16865        }
16866      }
16867
16868      if (tempData.length != 0) {
16869        menu_items = tempData;
16870      }
16871
16872      $(menu_items).each(function () {
16873        if ($(this).prop("tagName") == "SPAN") {
16874          //disable_voice_message
16875          if ($(this).hasClass("wpbd_voice_message")) {
16876            if (globalwpw.settings.obj.disable_voice_message == "") {
16877              menu_html += $(this).prop("outerHTML");
16878            }
16879          } else if ($(this).hasClass("qcld-chatbot-site-search")) {
16880            if (globalwpw.settings.obj.disable_sitesearch == "") {
16881              menu_html += $(this).prop("outerHTML");
16882            }
16883          } else if (
16884            $(this).hasClass("qcld-chatbot-suggest-email") &&
16885            !$(this).hasClass("wpbd_feedback")
16886          ) {
16887            if (globalwpw.settings.obj.disable_feedback == "") {
16888              menu_html += $(this).prop("outerHTML");
16889            }
16890          } else if ($(this).hasClass("wpbd_feedback")) {
16891            if (globalwpw.settings.obj.disable_leave_feedback == "") {
16892              menu_html += $(this).prop("outerHTML");
16893            }
16894          } else if ($(this).hasClass("wpbo_live_chat")) {
16895            if (
16896              globalwpw.settings.obj.disable_livechat_operator_offline == "1" ||
16897              globalwpw.settings.obj.disable_livechat == 1
16898            ) {
16899              if (globalwpw.settings.obj.is_operator_online == 1) {
16900                if (
16901                  globalwpw.settings.obj.livechat == "1" &&
16902                  !globalwpw.settings.obj.is_livechat_active
16903                ) {
16904                  menu_html += $(this).prop("outerHTML");
16905                }
16906              }
16907            }
16908            if (globalwpw.settings.obj.livechatlink != "") {
16909              menu_html += $(this).prop("outerHTML");
16910            }
16911          } else if ($(this).hasClass("qcld-chatbot-suggest-phone")) {
16912            if (globalwpw.settings.obj.call_gen == "") {
16913              menu_html += $(this).prop("outerHTML");
16914            }
16915          } else if ($(this).hasClass("wpbd_subscription")) {
16916            if (globalwpw.settings.obj.disable_email_subscription == "") {
16917              menu_html += $(this).prop("outerHTML");
16918            }
16919          }
16920          else if ($(this).hasClass("wpbd_good_bye")) {
16921            if (globalwpw.settings.obj.disable_good_bye == "") {
16922              menu_html += $(this).prop("outerHTML");
16923            }
16924          }
16925          else if ($(this).hasClass("qcld_btn_n8n_txt")) {
16926            if (globalwpw.settings.obj.qcld_enable_n8n == "1") {
16927              menu_html += $(this).prop("outerHTML");
16928            }
16929          }
16930          else if (
16931            $(this).hasClass("qcld-chatbot-wildcard") &&
16932            $(this).attr("data-wildcart") == "product"
16933          ) {
16934            if (globalwpw.settings.obj.disable_product_search != 1) {
16935              menu_html += $(this).prop("outerHTML");
16936            }
16937          } else if (
16938            $(this).hasClass("qcld-chatbot-wildcard") &&
16939            $(this).attr("data-wildcart") == "catalog"
16940          ) {
16941            if (globalwpw.settings.obj.disable_catalog != 1) {
16942              menu_html += $(this).prop("outerHTML");
16943            }
16944          } else if (
16945            $(this).hasClass("qcld-chatbot-wildcard") &&
16946            $(this).attr("data-wildcart") == "featured"
16947          ) {
16948            if (globalwpw.settings.obj.disable_featured_product != 1) {
16949              menu_html += $(this).prop("outerHTML");
16950            }
16951          } else if (
16952            $(this).hasClass("qcld-chatbot-wildcard") &&
16953            $(this).attr("data-wildcart") == "sale"
16954          ) {
16955            if (globalwpw.settings.obj.disable_sale_product != 1) {
16956              menu_html += $(this).prop("outerHTML");
16957            }
16958          } else if (
16959            $(this).hasClass("qcld-chatbot-wildcard") &&
16960            $(this).attr("data-wildcart") == "order"
16961          ) {
16962            if (globalwpw.settings.obj.disable_order_status != 1) {
16963              menu_html += $(this).prop("outerHTML");
16964            }
16965          } else if (
16966            $(this).hasClass("qcld-chatbot-wildcard") &&
16967            $(this).attr("data-wildcart") == "support"
16968          ) {
16969            if (globalwpw.settings.obj.disable_faq == "") {
16970              menu_html += $(this).prop("outerHTML");
16971            }
16972          } else if (
16973            $(this).hasClass("qcld-chatbot-wildcard") &&
16974            $(this).attr("data-wildcart") == "messenger"
16975          ) {
16976            if (globalwpw.settings.obj.enable_messenger == 1) {
16977              menu_html += $(this).prop("outerHTML");
16978            }
16979          } else if (
16980            $(this).hasClass("qcld-chatbot-wildcard") &&
16981            $(this).attr("data-wildcart") == "whatspp"
16982          ) {
16983            if (globalwpw.settings.obj.enable_whats == 1) {
16984              menu_html += $(this).prop("outerHTML");
16985            }
16986          } else {
16987            menu_html += $(this).prop("outerHTML");
16988          }
16989        }
16990      });
16991      if (globalwpw.settings.obj.qcld_disable_start_menu != "1") {
16992        if (menu_html != "") {
16993          globalwpw.wildcards = menu_html;
16994        } else {
16995          globalwpw.wildcards = wpwKits.render(menu_items);
16996        }
16997      }
16998    }
16999
17000    //Initialize the wpwBot with greeting and if already initialize and given name then return greeting..
17001    if (localStorage.getItem("wpwHitory") && globalwpw.initialize == 1) {
17002      var wpwHistory = localStorage.getItem("wpwHitory");
17003      // document.getElementById("wp-chatbot-editor").remove();
17004      //  var editorHitory = localStorage.getItem("editorHitory");
17005      //  jQuery("#wp-chatbot-editor-container").prepend(editorHitory);
17006      //
17007      $(globalwpw.settings.messageWrapper).html(wpwHistory);
17008      wpwKits.addMessageTimestamps();
17009      //Scroll to the last element.
17010      wpwKits.scrollTo();
17011      //Now mainting the current stages tokens
17012      globalwpw.initialize = 1;
17013      if (localStorage.getItem("wildCard")) {
17014        globalwpw.wildCard = localStorage.getItem("wildCard");
17015      }
17016
17017      if (localStorage.getItem("wildCard") == 95) {
17018        if (localStorage.getItem("strObject") !== null) {
17019          globalwpw.strObject = JSON.parse(localStorage.getItem("strObject"));
17020        }
17021
17022        if (localStorage.getItem("strEntities") !== null) {
17023          globalwpw.strEntities = JSON.parse(
17024            localStorage.getItem("strEntities")
17025          );
17026        }
17027
17028        globalwpw.strStep = localStorage.getItem("strStep");
17029
17030        if (globalwpw.strStep == "match_query") {
17031          response_type =
17032            globalwpw.strObject.data[0].users_answer.response_type;
17033          setTimeout(function () {
17034            if (response_type == 1) {
17035              jQuery("#botstartvoicemicro").css("visibility", "hidden");
17036            } else if (response_type == 3) {
17037              jQuery("#wp-chatbot-editor").attr("disabled", "disabled");
17038              jQuery("#wp-chatbot-editor").attr("placeholder", "");
17039            }
17040          }, globalwpw.settings.preLoadingTime * 2);
17041        }
17042
17043        globalwpw.strMatchfailed = localStorage.getItem("strMatchfailed");
17044      }
17045
17046      if (localStorage.getItem("productStep")) {
17047        globalwpw.productStep = localStorage.getItem("productStep");
17048      }
17049      if (localStorage.getItem("orderStep")) {
17050        globalwpw.orderStep = localStorage.getItem("orderStep");
17051      }
17052      if (localStorage.getItem("supportStep")) {
17053        globalwpw.supportStep = localStorage.getItem("supportStep");
17054      }
17055      if (localStorage.getItem("aiStep")) {
17056        globalwpw.ai_step = localStorage.getItem("aiStep");
17057      }
17058      if (localStorage.getItem("formfieldid")) {
17059        globalwpw.formfieldid = localStorage.getItem("formfieldid");
17060      }
17061
17062      if (localStorage.getItem("formentry")) {
17063        globalwpw.formentry = localStorage.getItem("formentry");
17064      }
17065
17066      if (localStorage.getItem("formStep")) {
17067        globalwpw.formStep = localStorage.getItem("formStep");
17068      }
17069      if (localStorage.getItem("formid")) {
17070        globalwpw.formid = localStorage.getItem("formid");
17071      }
17072
17073      //update the value for initializing.
17074      globalwpw.initialize = 0;
17075    } else {
17076      if (wp_chatbot_obj.re_target_handler != 1) {
17077        if (globalwpw.initialize == 1) {
17078          wpwWelcome.greeting();
17079        }
17080      }
17081    }
17082
17083    //When shopper click on send button
17084    $(document).on("click", settings.sendButton, function (e) {
17085      if (!$(settings.messageEditor)[0].checkValidity()) {
17086        $(settings.messageEditor)[0].reportValidity();
17087      } else {
17088        var shopperMsg = $(settings.messageEditor).val();
17089        if (shopperMsg != "") {
17090          wpwAction.shopper(wpwKits.htmlTagsScape(shopperMsg));
17091          $(settings.messageEditor).val("");
17092        }
17093      }
17094    });
17095
17096    /*
17097     * Or when shopper press the ENTER key
17098     * Then chatting functionality will be started.
17099     */
17100
17101    $(document).on("keypress", settings.messageEditor, function (e) {
17102      if (e.which == 13 || e.keyCode == 13) {
17103        if (!$(settings.messageEditor)[0].checkValidity()) {
17104          $(settings.messageEditor)[0].reportValidity();
17105        } else {
17106          var shopperMsg = $(settings.messageEditor).val();
17107          if (shopperMsg != "") {
17108            wpwAction.shopper(wpwKits.htmlTagsScape(shopperMsg));
17109            $(settings.messageEditor).val("");
17110          }
17111        }
17112      }
17113    });
17114
17115    $(document).on(
17116      "keypress",
17117      ".qcwp-chatbot-search-article input",
17118      function (e) {
17119        if (e.which == 13 || e.keyCode == 13) {
17120          if ($(this).val() != "") {
17121            $(".wp-chatbot-container").show();
17122            $(".wp-chatbot-start-container").hide();
17123
17124            $(".wp-chatbot-container").show();
17125            $(".wp-chatbot-start-container").hide();
17126            var msg = $(this).val();
17127            wpwMsg.shopper_choice(msg);
17128            var openai_msg = msg;
17129            msg = wpwKits.filterStopWords(msg);
17130            var data = {
17131              action: "wpbo_search_site",
17132              name: globalwpw.hasNameCookie,
17133              keyword: msg,
17134              language: globalwpw.settings.obj.language,
17135            };
17136            if (
17137              $(
17138                globalwpw.settings.messageLastChild +
17139                " .wp-chatbot-comment-loader"
17140              ).length == 0
17141            ) {
17142              $(globalwpw.settings.messageContainer).append(
17143                wpwKits.botPreloader()
17144              );
17145            }
17146            wpwKits.ajax(data).done(function (response) {
17147              var json = $.parseJSON(response);
17148              if (json.status == "success") {
17149                $(
17150                  "#wp-chatbot-messages-container li .wp-chatbot-comment-loader"
17151                )
17152                  .parent(".wp-chatbot-paragraph")
17153                  .hide();
17154                $('span[data-wildcart="back"]').remove();
17155                wpwMsg.single_nobg(json.html);
17156                wpwTree.start_menu_settings();
17157              } else if (
17158                wp_chatbot_obj.ollama_enabled == "1" ||
17159                wp_chatbot_obj.openrouter_enabled == "1" ||
17160                wp_chatbot_obj.open_ai_enable == "1" ||
17161                wp_chatbot_obj.grok_enabled == "1" ||
17162                wp_chatbot_obj.mistral_enabled == "1" ||
17163                wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
17164                globalwpw.settings.obj.tvlyai_enabled == "1"
17165              ) {
17166
17167                wpwMsg.open_ai_message_callback(openai_msg);
17168              } else {
17169                var data = {
17170                  action: "wpbo_failed_response",
17171                  name: globalwpw.hasNameCookie,
17172                  keyword: msg,
17173                };
17174                wpwKits.ajax(data).done(function (res) {
17175                  if (
17176                    globalwpw.counter <
17177                    globalwpw.settings.obj.no_result_attempt_count ||
17178                    globalwpw.settings.obj.no_result_attempt_count == 0
17179                  ) {
17180                    wpwMsg.single(wpwKits.randomMsg(json.html));
17181
17182                    if (
17183                      wpwKits.render(
17184                        globalwpw.settings.obj.no_result_attempt_message
17185                      ) != ""
17186                    ) {
17187                      setTimeout(function () {
17188                        wpwMsg.single(
17189                          wpwKits.render(
17190                            globalwpw.settings.obj.no_result_attempt_message
17191                          )
17192                        );
17193                      }, globalwpw.settings.preLoadingTime);
17194                    } else {
17195                      wpwTree.start_menu_settings();
17196                    }
17197
17198                    globalwpw.counter = 0;
17199                  } else {
17200                    globalwpw.counter++;
17201                    wpwMsg.single(wpwKits.randomMsg(json.html));
17202                  }
17203                });
17204              }
17205
17206              if (
17207                globalwpw.settings.obj.skip_wp_greetings != 1 &&
17208                !globalwpw.settings.obj.order_login &&
17209                !localStorage.getItem("shopper")
17210              ) {
17211                setTimeout(function () {
17212                  var secondMsg = wpwKits.randomMsg(
17213                    globalwpw.settings.obj.asking_name
17214                  );
17215                  wpwMsg.single(secondMsg);
17216                }, globalwpw.settings.preLoadingTime);
17217              } else if (
17218                globalwpw.settings.obj.skip_wp_greetings != 1 &&
17219                !globalwpw.settings.obj.order_login &&
17220                globalwpw.settings.obj.ask_email_wp_greetings == 1 &&
17221                !localStorage.getItem("shopperemail")
17222              ) {
17223                setTimeout(function () {
17224                  var emailsharetext = wpwKits.randomMsg(
17225                    globalwpw.settings.obj.asking_emailaddress
17226                  );
17227                  if (globalwpw.settings.obj.enable_gdpr) {
17228                    wpwMsg.triple_nobg(
17229                      NameGreeting,
17230                      emailsharetext,
17231                      wpwKits.render(globalwpw.settings.obj.gdpr_text)
17232                    );
17233                  } else {
17234                    wpwMsg.double(NameGreeting, emailsharetext);
17235                  }
17236                }, globalwpw.settings.preLoadingTime);
17237              } else if (
17238                globalwpw.settings.obj.skip_wp_greetings != 1 &&
17239                !globalwpw.settings.obj.order_login &&
17240                globalwpw.settings.obj.ask_phone_wp_greetings == 1 &&
17241                !localStorage.getItem("shopperphone")
17242              ) {
17243                setTimeout(function () {
17244                  var phonesharetext = wpwKits.randomMsg(
17245                    globalwpw.settings.obj.asking_phone_gt
17246                  );
17247                  if (globalwpw.settings.obj.enable_gdpr) {
17248                    wpwMsg.triple_nobg(
17249                      NameGreeting,
17250                      phonesharetext,
17251                      wpwKits.render(globalwpw.settings.obj.gdpr_text)
17252                    );
17253                  } else {
17254                    wpwMsg.double(NameGreeting, phonesharetext);
17255                  }
17256                }, globalwpw.settings.preLoadingTime);
17257              }
17258            });
17259
17260            $(".qcwp-chatbot-search-article input").val("");
17261          } else {
17262            $(".qcwp-chatbot-search-article input")[0].reportValidity();
17263          }
17264        }
17265      }
17266    );
17267
17268    $(".qcwp-chatbot-search-article-submit").on("click", function (e) {
17269      var obj = $(".qcwp-chatbot-search-article input");
17270      if (obj.val() != "") {
17271        $(".wp-chatbot-container").show();
17272        $(".wp-chatbot-start-container").hide();
17273        var msg = obj.val();
17274        wpwMsg.shopper_choice(msg);
17275        var openai_msg = msg;
17276        msg = wpwKits.filterStopWords(msg);
17277        var data = {
17278          action: "wpbo_search_site",
17279          name: globalwpw.hasNameCookie,
17280          keyword: msg,
17281          language: globalwpw.settings.obj.language,
17282        };
17283        if (
17284          $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
17285            .length == 0
17286        ) {
17287          $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
17288
17289        }
17290        wpwKits.ajax(data).done(function (response) {
17291          var json = $.parseJSON(response);
17292          if (json.status == "success") {
17293            $('span[data-wildcart="back"]').remove();
17294            $("#wp-chatbot-messages-container li .wp-chatbot-comment-loader")
17295              .parent(".wp-chatbot-paragraph")
17296              .hide();
17297            wpwMsg.single_nobg(json.html);
17298            wpwTree.start_menu_settings();
17299          } else if (
17300            wp_chatbot_obj.ollama_enabled == "1" ||
17301            wp_chatbot_obj.openrouter_enabled == "1" ||
17302            wp_chatbot_obj.open_ai_enable == "1" ||
17303            wp_chatbot_obj.grok_enabled == "1" ||
17304            wp_chatbot_obj.mistral_enabled == "1" ||
17305            wp_chatbot_obj.gemini_enabled == "1" || wp_chatbot_obj.claude_enabled == "1" ||
17306            globalwpw.settings.obj.tvlyai_enabled == "1"
17307          ) {
17308            var msg = obj.val();
17309            wpwMsg.open_ai_message_callback(openai_msg);
17310          } else {
17311            var data = {
17312              action: "wpbo_failed_response",
17313              name: globalwpw.hasNameCookie,
17314              keyword: msg,
17315            };
17316            wpwKits.ajax(data).done(function (res) {               
17317              if (
17318                globalwpw.counter < globalwpw.settings.obj.no_result_attempt_count||
17319                globalwpw.settings.obj.no_result_attempt_count == 0
17320              ) {
17321                wpwMsg.single(wpwKits.randomMsg(json.html));
17322
17323                if (
17324                  wpwKits.render(
17325                    globalwpw.settings.obj.no_result_attempt_message
17326                  ) != ""
17327                ) {
17328                  setTimeout(function () {
17329                    wpwMsg.single(
17330                      wpwKits.render(
17331                        globalwpw.settings.obj.no_result_attempt_message
17332                      )
17333                    );
17334                  }, globalwpw.settings.preLoadingTime);
17335                } else {
17336                  wpwTree.start_menu_settings();
17337                }
17338
17339                globalwpw.counter = 0;
17340              } else {
17341                globalwpw.counter++;
17342                wpwMsg.single(wpwKits.randomMsg(json.html));
17343              }
17344            });
17345          }
17346          if (
17347            globalwpw.settings.obj.skip_wp_greetings != 1 &&
17348            !globalwpw.settings.obj.order_login &&
17349            !localStorage.getItem("shopper")
17350          ) {
17351            setTimeout(function () {
17352              var secondMsg = wpwKits.randomMsg(
17353                globalwpw.settings.obj.asking_name
17354              );
17355              wpwMsg.single(secondMsg);
17356            }, globalwpw.settings.preLoadingTime);
17357          } else if (
17358            globalwpw.settings.obj.skip_wp_greetings != 1 &&
17359            !globalwpw.settings.obj.order_login &&
17360            globalwpw.settings.obj.ask_email_wp_greetings == 1 &&
17361            !localStorage.getItem("shopperemail")
17362          ) {
17363            setTimeout(function () {
17364              var emailsharetext = wpwKits.randomMsg(
17365                globalwpw.settings.obj.asking_emailaddress
17366              );
17367              if (globalwpw.settings.obj.enable_gdpr) {
17368                wpwMsg.triple_nobg(
17369                  NameGreeting,
17370                  emailsharetext,
17371                  wpwKits.render(globalwpw.settings.obj.gdpr_text)
17372                );
17373              } else {
17374                wpwMsg.double(NameGreeting, emailsharetext);
17375              }
17376            }, globalwpw.settings.preLoadingTime);
17377          } else if (
17378            globalwpw.settings.obj.skip_wp_greetings != 1 &&
17379            !globalwpw.settings.obj.order_login &&
17380            globalwpw.settings.obj.ask_phone_wp_greetings == 1 &&
17381            !localStorage.getItem("shopperphone")
17382          ) {
17383            setTimeout(function () {
17384              var phonesharetext = wpwKits.randomMsg(
17385                globalwpw.settings.obj.asking_phone_gt
17386              );
17387              if (globalwpw.settings.obj.enable_gdpr) {
17388                wpwMsg.triple_nobg(
17389                  NameGreeting,
17390                  phonesharetext,
17391                  wpwKits.render(globalwpw.settings.obj.gdpr_text)
17392                );
17393              } else {
17394                wpwMsg.double(NameGreeting, phonesharetext);
17395              }
17396            }, globalwpw.settings.preLoadingTime);
17397          }
17398        });
17399
17400        $(".qcwp-chatbot-search-article input").val("");
17401      } else {
17402        $(".qcwp-chatbot-search-article input")[0].reportValidity();
17403      }
17404    });
17405
17406    $(document).on("click", ".wpbd_good_bye", function (e) {
17407      e.preventDefault();
17408      var shooperChoice = $(this).text();
17409      wpwMsg.shopper_choice(shooperChoice);
17410      wpwAction.bot(shooperChoice);
17411    });
17412    //Click on the n8n button
17413    $(document).on("click", ".qcld_btn_n8n_txt", function (e) {
17414      e.preventDefault();
17415      var url = globalwpw.settings.obj.qcld_wpbot_url;
17416      if (url && url != '') {
17417        window.open(url, '_blank');
17418      }
17419    });
17420    //Click on the wildcards to select a service
17421    $(document).on("click", ".qcld-chatbot-wildcard", function () {
17422      var wildcardData = $(this).attr("data-wildcart");
17423      var shooperChoice = $(this).text();
17424      wpwMsg.shopper_choice(shooperChoice);
17425      //Wild cards handling for bot.
17426      if (wildcardData == "product") {
17427        globalwpw.wildCard = 20;
17428        globalwpw.productStep = "asking";
17429        wpwAction.bot("from wildcard product");
17430        //keeping value in localstorage
17431        localStorage.setItem("wildCard", globalwpw.wildCard);
17432        localStorage.setItem("productStep", globalwpw.productStep);
17433      }
17434      if (wildcardData == "catalog") {
17435        wpwAction.bot(
17436          (wpwKits.render(globalwpw.settings.obj.sys_key_catalog) || '').toLowerCase()
17437        );
17438      }
17439      if (wildcardData == "featured") {
17440        globalwpw.wildCard = 20;
17441        globalwpw.productStep = "featured";
17442        wpwAction.bot("from wildcard product");
17443        //keeping value in localstorage
17444        localStorage.setItem("wildCard", globalwpw.wildCard);
17445        localStorage.setItem("productStep", globalwpw.productStep);
17446      }
17447      if (wildcardData == "sale") {
17448        globalwpw.wildCard = 20;
17449        globalwpw.productStep = "sale";
17450        wpwAction.bot("from wildcard product");
17451        //keeping value in localstorage
17452        localStorage.setItem("wildCard", globalwpw.wildCard);
17453        localStorage.setItem("productStep", globalwpw.productStep);
17454      }
17455      if (wildcardData == "order") {
17456        globalwpw.wildCard = 21;
17457        globalwpw.orderStep = "welcome";
17458        wpwAction.bot("from wildcard order");
17459        //keeping value in localstorage
17460        localStorage.setItem("wildCard", globalwpw.wildCard);
17461        localStorage.setItem("orderStep", globalwpw.orderStep);
17462      }
17463      if (wildcardData == "support") {
17464        globalwpw.wildCard = 1;
17465        globalwpw.supportStep = "welcome";
17466        wpwAction.bot("from wildcard support");
17467        //keeping value in localstorage
17468        localStorage.setItem("wildCard", globalwpw.wildCard);
17469        localStorage.setItem("supportStep", globalwpw.supportStep);
17470      }
17471      if (wildcardData == "ai_form") {
17472        globalwpw.wildCard = 0;
17473        globalwpw.is_in_ai_form = true;
17474        wpwAction.bot(shooperChoice);
17475        localStorage.setItem("wildCard", globalwpw.wildCard);
17476      }
17477      if (wildcardData == "back") {
17478        globalwpw.fromBackToStart = true;
17479        globalwpw.settings.obj.clickintent = "";
17480        globalwpw.aiContext = []; // Clear context on reset
17481        globalwpw.is_in_ai_form = false;
17482        if (globalwpw.wildCard == 9) {
17483          wpwTree.bargain();
17484        } else if (
17485          typeof globalwpw.settings.obj.clickintent !== "undefined" &&
17486          wpwKits.render(globalwpw.settings.obj.clickintent) == "Faq"
17487        ) {
17488          if (!localStorage.getItem("shopper")) {
17489            $.cookie(
17490              "shopper",
17491              wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
17492              { expires: 365 }
17493            );
17494            localStorage.setItem(
17495              "shopper",
17496              wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
17497            );
17498            globalwpw.hasNameCookie = wpwKits.render(
17499              globalwpw.settings.obj.shopper_demo_name
17500            );
17501          }
17502          globalwpw.wildCard = 1;
17503          globalwpw.supportStep = "welcome";
17504          wpwAction.bot("from wildcard support");
17505          //keeping value in localstorage
17506          localStorage.setItem("wildCard", globalwpw.wildCard);
17507          localStorage.setItem("supportStep", globalwpw.supportStep);
17508          globalwpw.initialize = 0;
17509          globalwpw.ai_step = 1;
17510        } else if (
17511          typeof globalwpw.settings.obj.clickintent !== "undefined" &&
17512          wpwKits.render(globalwpw.settings.obj.clickintent) ==
17513          "Email Subscription"
17514        ) {
17515          if (!localStorage.getItem("shopper")) {
17516            $.cookie(
17517              "shopper",
17518              wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
17519              { expires: 365 }
17520            );
17521            localStorage.setItem(
17522              "shopper",
17523              wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
17524            );
17525            globalwpw.hasNameCookie = wpwKits.render(
17526              globalwpw.settings.obj.shopper_demo_name
17527            );
17528          }
17529
17530          globalwpw.wildCard = 3;
17531          globalwpw.subscriptionStep = "welcome";
17532          wpwTree.subscription();
17533          localStorage.setItem("wildCard", globalwpw.wildCard);
17534          localStorage.setItem("supportStep", globalwpw.supportStep);
17535          globalwpw.initialize = 0;
17536          globalwpw.ai_step = 1;
17537        } else if (
17538          typeof globalwpw.settings.obj.clickintent !== "undefined" &&
17539          wpwKits.render(globalwpw.settings.obj.clickintent) == "Product Search"
17540        ) {
17541          if (!localStorage.getItem("shopper")) {
17542            $.cookie(
17543              "shopper",
17544              wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
17545              { expires: 365 }
17546            );
17547            localStorage.setItem(
17548              "shopper",
17549              wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
17550            );
17551            globalwpw.hasNameCookie = wpwKits.render(
17552              globalwpw.settings.obj.shopper_demo_name
17553            );
17554          }
17555
17556          globalwpw.wildCard = 20;
17557          globalwpw.productStep = "asking";
17558          wpwAction.bot("from wildcard product");
17559          //keeping value in localstorage
17560          localStorage.setItem("wildCard", globalwpw.wildCard);
17561          localStorage.setItem("productStep", globalwpw.productStep);
17562          globalwpw.initialize = 0;
17563          globalwpw.ai_step = 1;
17564        } else if (
17565          typeof globalwpw.settings.obj.clickintent !== "undefined" &&
17566          wpwKits.render(globalwpw.settings.obj.clickintent) == "Catalog"
17567        ) {
17568          if (!localStorage.getItem("shopper")) {
17569            $.cookie(
17570              "shopper",
17571              wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
17572              { expires: 365 }
17573            );
17574            localStorage.setItem(
17575              "shopper",
17576              wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
17577            );
17578            globalwpw.hasNameCookie = wpwKits.render(
17579              globalwpw.settings.obj.shopper_demo_name
17580            );
17581          }
17582          wpwAction.bot(
17583            (wpwKits.render(globalwpw.settings.obj.sys_key_catalog) || '').toLowerCase()
17584          );
17585          globalwpw.initialize = 0;
17586          globalwpw.ai_step = 1;
17587        } else if (
17588          typeof globalwpw.settings.obj.clickintent !== "undefined" &&
17589          wpwKits.render(globalwpw.settings.obj.clickintent) ==
17590          "Featured Products"
17591        ) {
17592          if (!localStorage.getItem("shopper")) {
17593            $.cookie(
17594              "shopper",
17595              wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
17596              { expires: 365 }
17597            );
17598            localStorage.setItem(
17599              "shopper",
17600              wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
17601            );
17602            globalwpw.hasNameCookie = wpwKits.render(
17603              globalwpw.settings.obj.shopper_demo_name
17604            );
17605          }
17606          globalwpw.wildCard = 20;
17607          globalwpw.productStep = "featured";
17608          wpwAction.bot("from wildcard product");
17609          //keeping value in localstorage
17610          localStorage.setItem("wildCard", globalwpw.wildCard);
17611          localStorage.setItem("productStep", globalwpw.productStep);
17612
17613          globalwpw.initialize = 0;
17614          globalwpw.ai_step = 1;
17615        } else if (
17616          typeof globalwpw.settings.obj.clickintent !== "undefined" &&
17617          wpwKits.render(globalwpw.settings.obj.clickintent) ==
17618          "Products on Sale"
17619        ) {
17620          if (!localStorage.getItem("shopper")) {
17621            $.cookie(
17622              "shopper",
17623              wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
17624              { expires: 365 }
17625            );
17626            localStorage.setItem(
17627              "shopper",
17628              wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
17629            );
17630            globalwpw.hasNameCookie = wpwKits.render(
17631              globalwpw.settings.obj.shopper_demo_name
17632            );
17633          }
17634          globalwpw.wildCard = 20;
17635          globalwpw.productStep = "sale";
17636          wpwAction.bot("from wildcard product");
17637          //keeping value in localstorage
17638          localStorage.setItem("wildCard", globalwpw.wildCard);
17639          localStorage.setItem("productStep", globalwpw.productStep);
17640
17641          globalwpw.initialize = 0;
17642          globalwpw.ai_step = 1;
17643        } else if (
17644          typeof globalwpw.settings.obj.clickintent !== "undefined" &&
17645          wpwKits.render(globalwpw.settings.obj.clickintent) == "Order Status"
17646        ) {
17647          if (!localStorage.getItem("shopper")) {
17648            $.cookie(
17649              "shopper",
17650              wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
17651              { expires: 365 }
17652            );
17653            localStorage.setItem(
17654              "shopper",
17655              wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
17656            );
17657            globalwpw.hasNameCookie = wpwKits.render(
17658              globalwpw.settings.obj.shopper_demo_name
17659            );
17660          }
17661          globalwpw.wildCard = 21;
17662          globalwpw.orderStep = "welcome";
17663          wpwAction.bot("from wildcard order");
17664          //keeping value in localstorage
17665          localStorage.setItem("wildCard", globalwpw.wildCard);
17666          localStorage.setItem("orderStep", globalwpw.orderStep);
17667          globalwpw.initialize = 0;
17668          globalwpw.ai_step = 1;
17669        } else if (
17670          typeof globalwpw.settings.obj.clickintent !== "undefined" &&
17671          wpwKits.render(globalwpw.settings.obj.clickintent) ==
17672          wpwKits.render(globalwpw.settings.obj.site_search)
17673        ) {
17674          if (!localStorage.getItem("shopper")) {
17675            $.cookie(
17676              "shopper",
17677              wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
17678              { expires: 365 }
17679            );
17680            localStorage.setItem(
17681              "shopper",
17682              wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
17683            );
17684            globalwpw.hasNameCookie = wpwKits.render(
17685              globalwpw.settings.obj.shopper_demo_name
17686            );
17687          }
17688
17689          if (
17690            typeof globalwpw.hasNameCookie == "undefined" ||
17691            globalwpw.hasNameCookie == ""
17692          ) {
17693            var shopperName = wpwKits.render(
17694              globalwpw.settings.obj.shopper_demo_name
17695            );
17696          } else {
17697            var shopperName = globalwpw.hasNameCookie;
17698          }
17699          var askEmail = wpwKits.randomMsg(
17700            wp_chatbot_obj.asking_search_keyword
17701          );
17702
17703          wpwMsg.single(askEmail.replace("#name", shopperName));
17704          //Now updating the support part as .
17705          globalwpw.supportStep = "search";
17706          globalwpw.wildCard = 1;
17707          globalwpw.ai_step = 1;
17708          globalwpw.initialize = 0;
17709          //keeping value in localstorage
17710          localStorage.setItem("wildCard", globalwpw.wildCard);
17711          localStorage.setItem("supportStep", globalwpw.supportStep);
17712        } else if (
17713          typeof globalwpw.settings.obj.clickintent !== "undefined" &&
17714          wpwKits.render(globalwpw.settings.obj.clickintent) == "Send Us Email"
17715        ) {
17716          if (!localStorage.getItem("shopper")) {
17717            $.cookie(
17718              "shopper",
17719              wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
17720              { expires: 365 }
17721            );
17722            localStorage.setItem(
17723              "shopper",
17724              wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
17725            );
17726            globalwpw.hasNameCookie = wpwKits.render(
17727              globalwpw.settings.obj.shopper_demo_name
17728            );
17729          }
17730
17731          if (
17732            typeof globalwpw.hasNameCookie == "undefined" ||
17733            globalwpw.hasNameCookie == ""
17734          ) {
17735            var shopperName = wpwKits.render(
17736              globalwpw.settings.obj.shopper_demo_name
17737            );
17738          } else {
17739            var shopperName = globalwpw.hasNameCookie;
17740          }
17741          var askEmail = wpwKits.randomMsg(wp_chatbot_obj.asking_email);
17742          wpwMsg.single(askEmail);
17743          //Now updating the support part as .
17744          globalwpw.supportStep = "email";
17745          globalwpw.wildCard = 1;
17746          globalwpw.ai_step = 1;
17747          globalwpw.initialize = 0;
17748          //keeping value in localstorage
17749          localStorage.setItem("wildCard", globalwpw.wildCard);
17750          localStorage.setItem("supportStep", globalwpw.supportStep);
17751        } else if (
17752          typeof globalwpw.settings.obj.clickintent !== "undefined" &&
17753          wpwKits.render(globalwpw.settings.obj.clickintent) ==
17754          "Leave A Feedback"
17755        ) {
17756          if (!localStorage.getItem("shopper")) {
17757            $.cookie(
17758              "shopper",
17759              wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
17760              { expires: 365 }
17761            );
17762            localStorage.setItem(
17763              "shopper",
17764              wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
17765            );
17766            globalwpw.hasNameCookie = wpwKits.render(
17767              globalwpw.settings.obj.shopper_demo_name
17768            );
17769          }
17770
17771          if (
17772            typeof globalwpw.hasNameCookie == "undefined" ||
17773            globalwpw.hasNameCookie == ""
17774          ) {
17775            var shopperName = wpwKits.render(
17776              globalwpw.settings.obj.shopper_demo_name
17777            );
17778          } else {
17779            var shopperName = globalwpw.hasNameCookie;
17780          }
17781
17782          var askEmail = wpwKits.randomMsg(wp_chatbot_obj.asking_email);
17783          wpwMsg.single(askEmail);
17784          //Now updating the support part as .
17785          globalwpw.supportStep = "email";
17786          globalwpw.wildCard = 1;
17787          globalwpw.ai_step = 1;
17788          globalwpw.initialize = 0;
17789
17790          //keeping value in localstorage
17791          localStorage.setItem("wildCard", globalwpw.wildCard);
17792          localStorage.setItem("supportStep", globalwpw.supportStep);
17793        } else if (
17794          typeof globalwpw.settings.obj.clickintent !== "undefined" &&
17795          wpwKits.render(globalwpw.settings.obj.clickintent) ==
17796          "Request Callback"
17797        ) {
17798          if (!localStorage.getItem("shopper")) {
17799            $.cookie(
17800              "shopper",
17801              wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
17802              { expires: 365 }
17803            );
17804            localStorage.setItem(
17805              "shopper",
17806              wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
17807            );
17808            globalwpw.hasNameCookie = wpwKits.render(
17809              globalwpw.settings.obj.shopper_demo_name
17810            );
17811          }
17812
17813          if (
17814            typeof globalwpw.hasNameCookie == "undefined" ||
17815            globalwpw.hasNameCookie == ""
17816          ) {
17817            var shopperName = wpwKits.render(
17818              globalwpw.settings.obj.shopper_demo_name
17819            );
17820          } else {
17821            var shopperName = globalwpw.hasNameCookie;
17822          }
17823          var askEmail = wpwKits.randomMsg(wp_chatbot_obj.asking_phone);
17824          setTimeout(function () {
17825            wpwMsg.single(askEmail);
17826            //Now updating the support part as .
17827            globalwpw.supportStep = "phone";
17828            globalwpw.wildCard = 1;
17829            globalwpw.ai_step = 1;
17830            globalwpw.initialize = 0;
17831            //keeping value in localstorage
17832            localStorage.setItem("wildCard", globalwpw.wildCard);
17833            localStorage.setItem("supportStep", globalwpw.supportStep);
17834          }, 1000);
17835        } else if (
17836          typeof globalwpw.settings.obj.clickintent !== "undefined" &&
17837          wpwKits.render(globalwpw.settings.obj.clickintent) != ""
17838        ) {
17839          if (!localStorage.getItem("shopper")) {
17840            $.cookie(
17841              "shopper",
17842              wpwKits.render(globalwpw.settings.obj.shopper_demo_name),
17843              { expires: 365 }
17844            );
17845            localStorage.setItem(
17846              "shopper",
17847              wpwKits.render(globalwpw.settings.obj.shopper_demo_name)
17848            );
17849            globalwpw.hasNameCookie = wpwKits.render(
17850              globalwpw.settings.obj.shopper_demo_name
17851            );
17852          }
17853          globalwpw.initialize = 0;
17854          globalwpw.ai_step = 1;
17855          globalwpw.wildCard = 0;
17856          wpwAction.bot(wpwKits.render(globalwpw.settings.obj.clickintent));
17857        } else if (typeof ldsuggestionObject !== "undefined") {
17858          globalwpw.wildCard = 30;
17859          wpwAction.bot("from wildcard ldsesson");
17860        } else {
17861          // re targeting part .
17862          var number = Math.random(); // 0.9394456857981651
17863          number.toString(36); // '0.xtis06h6'
17864          var id = number.toString(36).substr(2); // 'xtis06h6'
17865
17866          localStorage.setItem("botsessionid", id);
17867          globalwpw.wildCard = 0;
17868          wpwAction.bot(
17869            (wpwKits.render(globalwpw.settings.obj.sys_key_help) || '').toLowerCase()
17870          );
17871          //keeping value in localstorage
17872          localStorage.setItem("wildCard", globalwpw.wildCard);
17873        }
17874
17875        //After completing two steps messaging showing wildcards.
17876        if (
17877          globalwpw.settings.obj.show_menu_after_greetings == 1 &&
17878          globalwpw.settings.obj.qcld_disable_start_menu != "1" &&
17879          typeof globalwpw.wildcards != "undefined" &&
17880          globalwpw.wildcards != ""
17881        ) {
17882          var serviceOffer = wpwKits.randomMsg(
17883            globalwpw.settings.obj.wildcard_msg
17884          );
17885
17886          wpwMsg.single_nobg(globalwpw.wildcards);
17887        } else {
17888          var serviceOffer = wpwKits.randomMsg(
17889            globalwpw.settings.obj.wildcard_msg
17890          );
17891          wpwMsg.single(serviceOffer);
17892        }
17893        globalwpw.supportStep = "search";
17894        globalwpw.initialize = 0;
17895        globalwpw.settings.obj.clickintent = "";
17896        globalwpw.fromBackToStart = false;
17897      }
17898
17899      if (wildcardData == "messenger") {
17900        var url =
17901          "https://www.messenger.com/t/" + globalwpw.settings.obj.fb_page_id;
17902        var win = window.open(url, "_blank");
17903        win.focus();
17904      }
17905      if (wildcardData == "whatsapp") {
17906        var url =
17907          "https://api.whatsapp.com/send?phone=" +
17908          globalwpw.settings.obj.whats_num;
17909        var win = window.open(url, "_blank");
17910        win.focus();
17911      }
17912    });
17913
17914    $(document).on("click", "#wp-chatbot-email-transcript", function (e) {
17915      e.preventDefault();
17916      globalwpw.wildCard = 99;
17917      wpwTree.goodbye((wpwKits.render(globalwpw.settings.obj.yes) || '').toLowerCase());
17918    });
17919
17920    $(document).on("click", ".wpbot-payment-modal-close, #wpbot-payment-modal", function (e) {
17921      if (e.target !== this && !jQuery(e.target).hasClass("wpbot-payment-modal-close")) {
17922        return;
17923      }
17924      e.preventDefault();
17925      wpwKits.wpwClosePaymentPopup();
17926    });
17927    $(document).on("click", ".qcld-chatbot-form", function (e) {
17928      e.preventDefault();
17929      var formid = $(this).attr("data-form");
17930      globalwpw.wildCard = 7;
17931      globalwpw.formStep = "welcome";
17932      wpwKits.toggleAiFileUploadButton();
17933      if ($(".chatbot_intent_reload").length > 0) {
17934        $(".chatbot_intent_reload").remove();
17935      }
17936      wpwTree.formbuilder(formid);
17937    });
17938
17939    $(document).on("click", ".qcld_simple_txt_response", function (e) {
17940      e.preventDefault();
17941      var text = $(this).text();
17942      var strid = $(this).data("strid");
17943      var data = {
17944        action: "wpbo_search_response",
17945        name: globalwpw.hasNameCookie,
17946        keyword: text,
17947        strid: strid,
17948        language: globalwpw.settings.obj.language,
17949      };
17950      if (
17951        $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
17952          .length == 0
17953      ) {
17954        $(globalwpw.settings.messageContainer).append(wpwKits.botPreloaderWithicon());
17955      }
17956      wpwKits.ajax(data).done(function (respond) {
17957        var json = $.parseJSON(respond);
17958        if (json.status == "success") {
17959          globalwpw.strStep = "match_query";
17960          localStorage.setItem("strStep", globalwpw.strStep);
17961          wpwTree.strHandler(text, json);
17962        }
17963      });
17964    });
17965
17966    $(document).on("click", ".wpbd_str_categories", function (e) {
17967      e.preventDefault();
17968      var text = $(this).text();
17969      globalwpw.wildCard = 0;
17970      var data = {
17971        action: "wpbo_search_response_catlist",
17972        name: globalwpw.hasNameCookie,
17973        category: text,
17974        language: globalwpw.settings.obj.language,
17975      };
17976      if (
17977        $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
17978          .length == 0
17979      ) {
17980        $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
17981      }
17982      wpwKits.ajax(data).done(function (response) {
17983        var json = $.parseJSON(response);
17984        if (json.status == "success") {
17985          var question = "";
17986          $.each(json.data, function (i, obj) {
17987            question +=
17988              '<span class="qcld-chatbot-wildcard qcld_simple_txt_response">' +
17989              obj.name +
17990              "</span>";
17991          });
17992
17993          wpwMsg.single_nobg(question);
17994        } else {
17995          wpwMsg.single("No Category found!");
17996        }
17997      });
17998    });
17999
18000    $(document).on("click", ".chatbot_intent_reload", function (e) {
18001      e.preventDefault();
18002      var obj = $(this);
18003      if (obj.attr("data-intent-type") == "formbuilder") {
18004        if (obj.attr("data-step") == "complete") {
18005          globalwpw.formStep = "field";
18006          localStorage.setItem("formStep", globalwpw.formStep);
18007        }
18008        globalwpw.wildCard = obj.attr("data-wildcard");
18009        globalwpw.formfieldid = obj.attr("data-intent");
18010        wpwTree.formbuilder();
18011      } else if (obj.attr("data-intent-type") == "subscription") {
18012        var shopperChoice = obj.attr("data-intent");
18013        wpwMsg.shopper_choice(shopperChoice);
18014        globalwpw.wildCard = obj.attr("data-wildcard");
18015        globalwpw.subscriptionStep = obj.attr("data-step");
18016        wpwTree.subscription(shopperChoice);
18017      } else if (obj.attr("data-intent-type") == "unsubscription") {
18018        var shopperChoice = obj.attr("data-intent");
18019        wpwMsg.shopper_choice(shopperChoice);
18020        globalwpw.wildCard = obj.attr("data-wildcard");
18021        globalwpw.subscriptionStep = obj.attr("data-step");
18022        wpwTree.subscription(shopperChoice);
18023      }
18024    });
18025
18026    $(document).on("click", ".qcld-chatbot-formanswer", function (e) {
18027      e.preventDefault();
18028      var answer = $(this).attr("data-form-value");
18029      wpwAction.bot(answer);
18030      wpwMsg.shopper(answer);
18031      $("#wp-chatbot-messages-container li .wp-chatbot-comment-loader")
18032        .parent(".wp-chatbot-paragraph")
18033        .hide();
18034      // wpwMsg.single(answer);
18035    });
18036
18037    $(document).on("change", ".qcld-chatbot-dropdown-select", function (e) {
18038      e.preventDefault();
18039      var answer = $(this).val();
18040      if (answer !== "") {
18041        var selectedText = $(this).find('option:selected').text();
18042        wpwAction.bot(answer);
18043        wpwMsg.shopper(answer);
18044        $("#wp-chatbot-messages-container li .wp-chatbot-comment-loader")
18045          .parent(".wp-chatbot-paragraph")
18046          .hide();
18047      }
18048    });
18049
18050    $(document).on("click", ".wpbot_clickable_menu", function (e) {
18051      e.preventDefault();
18052      var obj = $(this);
18053      obj.parent().parent().parent().remove();
18054      var answer = obj.attr("menuitem");
18055      wpwMsg.shopper_choice(answer);
18056      wpwTree.formbuilder(answer);
18057    });
18058
18059    //
18060    $(document).on("click", ".qcld-chatbot-product-category", function () {
18061      var catType = $(this).attr("data-category-type");
18062      var shopperChoiceCatId =
18063        $(this).text() + "#" + $(this).attr("data-category-id");
18064      var shopperChoiceCategory = $(this).text();
18065      if (catType == "hasChilds") {
18066        //Now hide all categories but shopper choice.
18067        wpwMsg.shopper_choice(shopperChoiceCategory);
18068        //updating the product steps and bringing the product by category.
18069        wpwKits.subCats($(this).attr("data-category-id"));
18070        globalwpw.productStep = "search";
18071        globalwpw.wildCard = 20;
18072      } else {
18073        //Now hide all categories but shopper choice.
18074        wpwMsg.shopper_choice(shopperChoiceCategory);
18075        //updating the product steps and bringing the product by category.
18076        globalwpw.productStep = "category";
18077        globalwpw.wildCard = 20;
18078        //keeping value in localstorage
18079        localStorage.setItem("productStep", globalwpw.productStep);
18080        wpwAction.bot(shopperChoiceCatId);
18081      }
18082    });
18083    //Product Load More features for product search or category products
18084    $(document).on("click", "#wp-chatbot-loadmore", function (e) {
18085      $("#wp-chatbot-loadmore-loader").html(
18086        '<img class="wp-chatbot-comment-loader" src="' +
18087        globalwpw.settings.obj.image_path +
18088        'loadmore.gif" alt="..." />'
18089      );
18090
18091      var loadMoreDom = $(this);
18092
18093      var tagattr = loadMoreDom.attr("data-search-tag");
18094      var productOffest = loadMoreDom.attr("data-offset");
18095      if (typeof tagattr !== typeof undefined && tagattr !== false) {
18096        var data = {
18097          action: "qcld_wb_chatbot_search_product_by_tag",
18098          name: globalwpw.hasNameCookie,
18099          tags: tagattr,
18100          paged: productOffest,
18101        };
18102        if (
18103          $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
18104            .length == 0
18105        ) {
18106          $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
18107        }
18108        wpwKits.ajax(data).done(function (presdata) {
18109          var productSucces =
18110            wpwKits.randomMsg(globalwpw.settings.obj.product_success) +
18111            " <strong>" +
18112            tagattr +
18113            "</strong>!";
18114          wpwMsg.double_nobg(productSucces, presdata.html);
18115        });
18116      } else {
18117        var searchType = loadMoreDom.attr("data-search-type");
18118        var searchTerm = loadMoreDom.attr("data-search-term");
18119        var data = {
18120          action: "qcld_wb_chatbot_load_more",
18121          offset: productOffest,
18122          search_type: searchType,
18123          search_term: searchTerm,
18124          language: globalwpw.settings.obj.language,
18125        };
18126
18127        //Load more ajax handler.
18128        wpwKits.ajax(data).done(function (response) {
18129          $("#wp-chatbot-loadmore-loader").html("");
18130          $(".wp-chatbot-products").append(response.html);
18131          loadMoreDom.attr("data-search-term", response.search_term);
18132          wpwKits.wpwHistorySave();
18133          loadMoreDom.attr("data-offset", response.offset);
18134
18135          if (response.product_num <= response.offset) {
18136            loadMoreDom.hide();
18137            setTimeout(function () {
18138              if (
18139                $(
18140                  globalwpw.settings.messageLastChild +
18141                  " .wp-chatbot-comment-loader"
18142                ).length == 0
18143              ) {
18144                $(globalwpw.settings.messageContainer).append(
18145                  wpwKits.botPreloader()
18146                );
18147
18148              }
18149              var searchAgain = wpwKits.randomMsg(
18150                globalwpw.settings.obj.product_infinite
18151              );
18152              wpwMsg.single(
18153                searchAgain
18154              );
18155              wpwTree.start_menu_settings();
18156              globalwpw.productStep = "search";
18157              localStorage.setItem("productStep", globalwpw.productStep);
18158            }, globalwpw.settings.wildcardsShowTime);
18159          }
18160          //scroll to the last message
18161          //wpwKits.scrollTo();
18162        });
18163      }
18164    });
18165
18166    $(document).on("click", ".wp-chatbot-loadmore-saas", function (e) {
18167      $(".wp-chatbot-loadmore-loader").html(
18168        '<img class="wp-chatbot-comment-loader" src="' +
18169        globalwpw.settings.obj.image_path +
18170        'loadmore.gif" alt="..." />'
18171      );
18172      var loadMoreDom = $(this);
18173      var page = loadMoreDom.attr("data-page");
18174      var keyword = loadMoreDom.attr("data-keyword");
18175      var data = {
18176        action: "qcld_wb_chatbot_load_more_saas",
18177        page: page,
18178        keyword: keyword,
18179        language: globalwpw.settings.obj.language,
18180      };
18181      //Load more ajax handler.
18182      if (
18183        $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
18184          .length == 0
18185      ) {
18186        $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
18187      }
18188      wpwKits.ajax(data).done(function (response) {
18189        var response = $.parseJSON(response);
18190        //Change button text
18191        $(".wp-chatbot-loadmore-loader").html("");
18192        $(".wpb-search-result").append(response.html);
18193        loadMoreDom.attr("data-keyword", response.keyword);
18194        wpwKits.wpwHistorySave();
18195        loadMoreDom.attr("data-page", response.page);
18196        if (response.product_num <= response.per_page) {
18197          loadMoreDom.hide();
18198          //Now show the user infinite.
18199          setTimeout(function () {
18200            var searchAgain = wpwKits.randomMsg(
18201              globalwpw.settings.obj.product_infinite
18202            );
18203
18204            wpwMsg.single(
18205              searchAgain
18206            );
18207            wpwTree.start_menu_settings();
18208            globalwpw.productStep = "search";
18209            //keeping value in localstorage
18210            localStorage.setItem("productStep", globalwpw.productStep);
18211          }, globalwpw.settings.wildcardsShowTime);
18212        }
18213        //scroll to the last message
18214        wpwKits.scrollTo();
18215      });
18216    });
18217
18218    /*Products details part **/
18219    if (
18220      globalwpw.settings.obj.open_product_detail != 1 &&
18221      globalwpw.settings.obj.woocommerce
18222    ) {
18223      $(document).on("click", ".wp-chatbot-product a", function (e) {
18224        if (jQuery(".wp-chatbot-start-container:visible").length > 0) {
18225        } else {
18226          e.preventDefault();
18227        }
18228
18229        $(".wp-chatbot-product-container").addClass(
18230          "active-chatbot-product-details"
18231        );
18232        $(".wp-chatbot-product-reload")
18233          .addClass("wp-chatbot-product-loading")
18234          .html(
18235            '<img class="wp-chatbot-product-loader" src="' +
18236            globalwpw.settings.obj.image_path +
18237            'comment.gif" alt="Loading..." />'
18238          );
18239        var productId = $(this).attr("wp-chatbot-pid");
18240        var data = {
18241          action: "qcld_wb_chatbot_product_details",
18242          wp_chatbot_pid: productId,
18243        };
18244        //product details ajax handler.
18245        wpwKits.ajax(data).done(function (response) {
18246          $(".wp-chatbot-product-reload")
18247            .removeClass("wp-chatbot-product-loading")
18248            .html("");
18249          $("#wp-chatbot-product-title").html(response.title);
18250          $("#wp-chatbot-product-description").html(response.description);
18251          $("#wp-chatbot-product-image").html(response.image);
18252          $("#wp-chatbot-product-price").html(response.price);
18253          $("#wp-chatbot-product-quantity").html(response.quantity);
18254          $("#wp-chatbot-product-variable").html(response.variation);
18255          $("#wp-chatbot-product-cart-button").html(response.buttton);
18256          //Load gallery magnify
18257          setTimeout(function () {
18258            $("#wp-chatbot-product-image-large-path").magnificPopup({
18259              type: "image",
18260            });
18261          }, 1000);
18262
18263          //For shortcode handle recenlty view product by ajax as
18264          if ($("#wp-chatbot-shortcode-template-container").length > 0) {
18265            var data = { action: "qcld_wb_chatbot_recently_viewed_products" };
18266            wpwKits.ajax(data).done(function (response) {
18267              $(".wp-chatbot-product-shortcode-container").html(response);
18268              $(".chatbot-sidebar .wp-chatbot-products").slimScroll({
18269                height: "435px",
18270                start: "top",
18271              });
18272            });
18273          }
18274        });
18275      });
18276    }
18277
18278    $(document).on("click", ".wpb-quick-reply", function (e) {
18279      e.preventDefault();
18280      $("#wp-chatbot-editor").val($(this).html());
18281      $("#wp-chatbot-send-message").trigger("click");
18282    });
18283
18284    $(document).on("click", ".wpbot-inline-pay-btn", function (e) {
18285      e.preventDefault();
18286      var $btn = $(this);
18287      var $card = $btn.closest(".wpbot-inline-checkout");
18288      var payUrl = $btn.attr("data-pay-url");
18289      var isStripeInline = $btn.hasClass("wpbot-inline-stripe-pay");
18290
18291      if (isStripeInline) {
18292        var stripe = $card.data("stripe");
18293        var cardNumber = $card.data("cardNumber");
18294        var clientSecret = $card.data("clientSecret");
18295        var cardholderName = ($card.find(".wpbot-stripe-name").val() || "").trim();
18296        var zip = ($card.find(".wpbot-stripe-zip").val() || "").trim();
18297        var $error = $card.find(".wpbot-stripe-card-error");
18298        if (!stripe || !cardNumber || !clientSecret) {
18299          $error
18300            .text("Stripe checkout is not ready. Please wait a moment and try again.")
18301            .show();
18302          return;
18303        }
18304        if (!cardholderName) {
18305          $error.text("Please enter the cardholder name.").show();
18306          return;
18307        }
18308        if (!zip) {
18309          $error.text("Please enter your ZIP / postal code.").show();
18310          return;
18311        }
18312        $btn.prop("disabled", true).text("Processing...");
18313        $error.hide().text("");
18314        stripe
18315          .confirmCardPayment(clientSecret, {
18316            payment_method: {
18317              card: cardNumber,
18318              billing_details: {
18319                name: cardholderName,
18320                address: {
18321                  postal_code: zip,
18322                },
18323              },
18324            },
18325          })
18326          .then(function (result) {
18327            if (result.error) {
18328              $btn.prop("disabled", false).text($btn.data("label") || "Pay");
18329              $error.text(result.error.message || "Payment failed.").show();
18330              return;
18331            }
18332            if (
18333              result.paymentIntent &&
18334              result.paymentIntent.status === "succeeded"
18335            ) {
18336              wpwKits.wpwMarkInlinePaymentSuccess($card);
18337            } else {
18338              $btn.prop("disabled", false).text($btn.data("label") || "Pay");
18339              $error.text("Payment was not completed. Please try again.").show();
18340            }
18341          });
18342        return;
18343      }
18344
18345      // Do not open payment URLs in a new tab from chatbot checkout.
18346      if (payUrl) {
18347        $card
18348          .find(".wpbot-inline-checkout-actions")
18349          .append(
18350            '<div class="wpbot-inline-checkout-opened">In-chat checkout is not available. Configure Stripe keys under Payment Processor.</div>'
18351          );
18352      }
18353    });
18354
18355    $(document).on("click", ".wpbot-inline-cancel-btn", function (e) {
18356      e.preventDefault();
18357      var $btn = $(this);
18358      var $card = $btn.closest(".wpbot-inline-checkout");
18359      $card.find("button").prop("disabled", true);
18360      $card
18361        .find(".wpbot-inline-checkout-actions")
18362        .html(
18363          '<div class="wpbot-inline-checkout-cancelled">Payment cancelled.</div>'
18364        );
18365      wpwKits.wpwHistorySave();
18366    });
18367
18368    //Image gallery.
18369    $(document).on(
18370      "click",
18371      ".wp-chatbot-product-image-thumbs-path",
18372      function (e) {
18373        e.preventDefault();
18374        var imagePath = $(this).attr("href");
18375        $("#wp-chatbot-product-image-large-path").attr("href", imagePath);
18376        $("#wp-chatbot-product-image-large-src").attr("src", imagePath);
18377        //handle thumb active one
18378        $(".wp-chatbot-product-image-thumbs-path")
18379          .parent()
18380          .removeClass("wp-chatbot-product-active-image-thumbs");
18381        $(this).parent().addClass("wp-chatbot-product-active-image-thumbs");
18382      }
18383    );
18384    //Product details close
18385    $(document).on("click", ".wp-chatbot-product-close", function (e) {
18386      $(".wp-chatbot-product-container").removeClass(
18387        "active-chatbot-product-details"
18388      );
18389    });
18390    /*add to cart part **/
18391    $(document).on("click", "#wp-chatbot-add-cart-button", function (e) {
18392      var pId = $(this).attr("wp-chatbot-product-id");
18393      var qnty = $("#vPQuantity").val();
18394      var data = {
18395        action: "qcld_wb_chatbot_add_to_cart",
18396        product_id: pId,
18397        quantity: qnty,
18398      };
18399      //add to cart ajax handler.
18400      wpwKits.ajax(data).done(function (response) {
18401        //Change button text
18402        if (response == "simple") {
18403          //Showing cart.
18404          wpwKits.showCart();
18405          //handle the active tab on chat board.
18406          $(".wp-chatbot-operation-option").each(function () {
18407            if ($(this).attr("data-option") == "cart") {
18408              $(this).parent().addClass("wp-chatbot-operation-active");
18409            } else {
18410              $(this).parent().removeClass("wp-chatbot-operation-active");
18411            }
18412          });
18413        }
18414        //Hide the shortcode and chat ui product details.
18415        $(".wp-chatbot-product-container").removeClass(
18416          "active-chatbot-product-details"
18417        );
18418        $(document.body).trigger("added_to_cart");
18419        jQuery("[name='update_cart']").removeAttr("disabled");
18420        jQuery('[name="update_cart"]').trigger("click"); // Update Cart
18421      });
18422    });
18423    //Add to cart operation for variable product.
18424    $(document).on(
18425      "click",
18426      "#wp-chatbot-variation-add-to-cart",
18427      function (event) {
18428        event.preventDefault();
18429
18430        var attrselected = true;
18431        $(".each_attribute").each(function () {
18432          if ($(this).val() != "") {
18433            attrselected = true;
18434          } else {
18435            attrselected = false;
18436          }
18437        });
18438        if (attrselected) {
18439          var pId = $(this).attr("wp-chatbot-product-id");
18440          var quanity = $("#vPQuantity").val();
18441          var variation_id = $(this).attr("variation_id");
18442          var attributes = new Array();
18443          $.each($("#wp-chatbot-variation-data select"), function () {
18444            var attribute =
18445              $(this).attr("name") +
18446              "#" +
18447              $(this).find("option:selected").text();
18448            attributes.push(attribute);
18449          });
18450          var data = {
18451            action: "variable_add_to_cart",
18452            p_id: pId,
18453            quantity: quanity,
18454            variations_id: variation_id,
18455            attributes: attributes,
18456          };
18457          //add to cart ajax handler.
18458          if (!$(".spinner").hasClass("is-active")) {
18459            $(".spinner").addClass("is-active");
18460          }
18461          wpwKits.ajax(data).done(function (response) {
18462            //Change button text
18463            if (response == "variable") {
18464              //Showing cart.
18465              wpwKits.showCart();
18466              //handle the active tab on chat board.
18467              //handle the active tab on chat board.
18468              $(".wp-chatbot-operation-option").each(function () {
18469                if ($(this).attr("data-option") == "cart") {
18470                  $(this).parent().addClass("wp-chatbot-operation-active");
18471                } else {
18472                  $(this).parent().removeClass("wp-chatbot-operation-active");
18473                }
18474              });
18475            }
18476            //Hide the shortcode and chat ui product details.
18477            $(".wp-chatbot-product-container").removeClass(
18478              "active-chatbot-product-details"
18479            );
18480            if ($(".spinner").hasClass("is-active")) {
18481              $(".spinner").removeClass("is-active");
18482            }
18483          });
18484        }
18485      }
18486    );
18487
18488    //search load more
18489    $(document).on("click", ".wp-chatbot-loadmore", function (e) {
18490      e.preventDefault();
18491      var obj = $(this);
18492
18493      var keyword = obj.attr("data-keyword");
18494      var post_type = obj.attr("data-post_type");
18495      var page = obj.attr("data-page");
18496      obj.text("Loading...");
18497      var data = {
18498        action: "wpbo_search_site_pagination",
18499        name: globalwpw.hasNameCookie,
18500        keyword: keyword,
18501        language: globalwpw.settings.obj.language,
18502        type: post_type,
18503        page: page,
18504      };
18505      if (
18506        $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
18507          .length == 0
18508      ) {
18509        $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
18510      }
18511      wpwKits.ajax(data).done(function (res) {
18512        var json = $.parseJSON(res);
18513        if (json.status == "success") {
18514          $('span[data-wildcart="back"]').remove();
18515          wpwMsg.single_nobg(json.html);
18516
18517          setTimeout(function () {
18518            wpwTree.start_menu_settings();
18519          }, globalwpw.settings.preLoadingTime);
18520
18521          obj.remove();
18522        } else {
18523        
18524          if (
18525            globalwpw.counter <
18526            globalwpw.settings.obj.no_result_attempt_count ||
18527            globalwpw.settings.obj.no_result_attempt_count == 0
18528          ) {
18529            wpwMsg.single(json.html);
18530            if (globalwpw.settings.obj.disable_repeatative != 1) {
18531              if (
18532                wpwKits.render(
18533                  globalwpw.settings.obj.no_result_attempt_message
18534                ) != ""
18535              ) {
18536                setTimeout(function () {
18537                  wpwMsg.single(
18538                    wpwKits.render(
18539                      globalwpw.settings.obj.no_result_attempt_message
18540                    )
18541                  );
18542                }, globalwpw.settings.preLoadingTime);
18543              } else {
18544                setTimeout(function () {
18545                  var serviceOffer = wpwKits.randomMsg(
18546                    globalwpw.settings.obj.support_option_again
18547                  );
18548                  wpwTree.start_menu_settings();
18549                }, globalwpw.settings.preLoadingTime);
18550              }
18551            }
18552            globalwpw.counter = 0;
18553          } else {
18554            globalwpw.counter++;
18555            wpwTree.df_reply(response);
18556          }
18557        }
18558        globalwpw.wildCard = 0;
18559      });
18560    });
18561
18562    //search load more
18563    $(document).on("click", ".wp-chatbot-loadmore2", function (e) {
18564      e.preventDefault();
18565      var obj = $(this);
18566
18567      var keyword = obj.attr("data-keyword");
18568
18569      var page = obj.attr("data-page");
18570
18571      var search_type = obj.attr("data-search-type");
18572      obj.text(globalwpw.settings.obj.loading.en_US);
18573
18574      if (search_type == "default-wp-search") {
18575        var data = {
18576          action: "wpbo_default_search_pagination2",
18577          name: globalwpw.hasNameCookie,
18578          keyword: keyword,
18579          page: page,
18580          search_type: "default-wp-search",
18581        };
18582      } else {
18583        var data = {
18584          action: "wpbo_search_site_pagination2",
18585          name: globalwpw.hasNameCookie,
18586          keyword: keyword,
18587          page: page,
18588        };
18589      }
18590      if (
18591        $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
18592          .length == 0
18593      ) {
18594        $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
18595      }
18596      wpwKits.ajax(data).done(function (res) {
18597        var json = $.parseJSON(res);
18598        if (json.status == "success") {
18599          $('span[data-wildcart="back"]').remove();
18600
18601          wpwMsg.single_nobg(json.html);
18602
18603          setTimeout(function () {
18604            wpwTree.start_menu_settings();
18605          }, globalwpw.settings.preLoadingTime);
18606
18607          obj.remove();
18608        } else { 
18609          if (
18610            globalwpw.counter <
18611            globalwpw.settings.obj.no_result_attempt_count ||
18612            globalwpw.settings.obj.no_result_attempt_count == 0
18613          ) {
18614            wpwMsg.single(json.html);
18615            wpwTree.start_menu_settings();
18616            globalwpw.counter = 0;
18617          } else {
18618            globalwpw.counter++;
18619            wpwTree.df_reply(response);
18620          }
18621        }
18622        globalwpw.wildCard = 0;
18623      });
18624    });
18625
18626    //fuzzy search load more
18627    $(document).on("click", ".wp-chatbot-fuse-loadmore", function (e) {
18628      e.preventDefault();
18629      var obj = $(this);
18630      var keyword = obj.attr("data-keyword");
18631      var post_type = obj.attr("data-post_type");
18632      var page = obj.attr("data-page");
18633      obj.text("loading...");
18634      var data = {
18635        action: "wpbo_fuse_search_site_pagination",
18636        name: globalwpw.hasNameCookie,
18637        keyword: keyword,
18638        type: post_type,
18639        page: page,
18640      };
18641      if (
18642        $(globalwpw.settings.messageLastChild + " .wp-chatbot-comment-loader")
18643          .length == 0
18644      ) {
18645        $(globalwpw.settings.messageContainer).append(wpwKits.botPreloader());
18646      }
18647      wpwKits.ajax(data).done(function (res) {
18648        var json = $.parseJSON(res);
18649        if (json.status == "success") {
18650          $('span[data-wildcart="back"]').remove();
18651
18652          wpwMsg.single_nobg(json.html);
18653
18654          setTimeout(function () {
18655            wpwTree.start_menu_settings();
18656          }, globalwpw.settings.preLoadingTime);
18657
18658          obj.remove();
18659        } else {
18660          if (
18661            globalwpw.counter < globalwpw.settings.obj.no_result_attempt_count ||
18662            globalwpw.settings.obj.no_result_attempt_count == 0
18663          ) {
18664            wpwMsg.single(json.html);
18665            if (globalwpw.settings.obj.disable_repeatative != 1) {
18666              if (
18667                wpwKits.render(
18668                  globalwpw.settings.obj.no_result_attempt_message
18669                ) != ""
18670              ) {
18671                setTimeout(function () {
18672                  wpwMsg.single(
18673                    wpwKits.render(
18674                      globalwpw.settings.obj.no_result_attempt_message
18675                    )
18676                  );
18677                }, globalwpw.settings.preLoadingTime);
18678              } else {
18679                wpwTree.start_menu_settings();
18680              }
18681            }
18682            globalwpw.counter = 0;
18683          } else {
18684            globalwpw.counter++;
18685            wpwTree.df_reply(response);
18686          }
18687        }
18688        globalwpw.wildCard = 0;
18689      });
18690    });
18691
18692    //Update cart.
18693    $(document).on("change", ".qcld-wp-chatbot-cart-item-qnty", function () {
18694      //Update editor only for chat ui
18695      if ($("#wp-chatbot-shortcode-template-container").length == 0) {
18696        wpwKits.disableEditor(
18697          wpwKits.randomMsg(globalwpw.settings.obj.cart_updating)
18698        );
18699      }
18700      var currentItem = $(this);
18701      setTimeout(function () {
18702        var item_key = currentItem.attr("data-cart-item");
18703        var qnty = currentItem.val();
18704        var data = {
18705          action: "qcld_wb_chatbot_update_cart_item_number",
18706          cart_item_key: item_key,
18707          qnty: qnty,
18708        };
18709        wpwKits.ajax(data).done(function () {
18710          //Showing cart.
18711          wpwKits.showCart();
18712        });
18713      }, globalwpw.settings.preLoadingTime);
18714    });
18715    //remove the cart item from global cart.
18716    $(document).on("click", ".wp-chatbot-remove-cart-item", function () {
18717      //Update editor only for chat ui
18718      if ($("#wp-chatbot-shortcode-template-container").length == 0) {
18719        wpwKits.disableEditor(
18720          wpwKits.randomMsg(globalwpw.settings.obj.cart_removing)
18721        );
18722      }
18723      var item = $(this).attr("data-cart-item");
18724      var data = {
18725        action: "qcld_wb_chatbot_cart_item_remove",
18726        cart_item: item,
18727      };
18728      wpwKits.ajax(data).done(function () {
18729        //Showing cart.
18730        wpwKits.showCart();
18731        $(document.body).trigger("added_to_cart");
18732        jQuery("[name='update_cart']").removeAttr("disabled");
18733        jQuery('[name="update_cart"]').trigger("click"); // Update Cart
18734      });
18735    });
18736
18737    /*Support query answering.. **/
18738    $(document).on("click", ".qcld-chatbot-support-items", function (e) {
18739      var shopperChoose = $(this).text();
18740      var queryIndex = $(this).attr("data-query-index");
18741      wpwMsg.shopper_choice(shopperChoose);
18742      //Now answering the query.
18743      var queryAns =
18744        globalwpw.settings.obj.support_ans[globalwpw.settings.obj.language][
18745        queryIndex
18746        ];
18747      wpwMsg.single(queryAns);
18748      //Asking email after showing answer.
18749      var orPhoneSuggest = "";
18750      setTimeout(function () {
18751        if (globalwpw.settings.obj.call_sup != 1) {
18752          orPhoneSuggest =
18753            '<span class="qcld-chatbot-suggest-phone" >' +
18754            wpwKits.render(globalwpw.settings.obj.support_phone) +
18755            "</span>";
18756        }
18757        var orEmailSuggest =
18758          '<span class="qcld-chatbot-suggest-email">' +
18759          wpwKits.randomMsg(globalwpw.settings.obj.support_email) +
18760          "</span>";
18761      
18762        wpwTree.start_menu_settings();
18763      }
18763, globalwpw.settings.wildcardsShowTime);
18764    });
18765    /*Support Email **/
18766    $(document).on("click", ".qcld-chatbot-suggest-email", function (e) {
18767      var shopperChoice = $(this).text();
18768      wpwMsg.shopper_choice(shopperChoice);
18769      //Then ask email address
18770      if (
18771        typeof globalwpw.hasNameCookie == "undefined" ||
18772        globalwpw.hasNameCookie == ""
18773      ) {
18774        var shopperName = wpwKits.render(
18775          globalwpw.settings.obj.shopper_demo_name
18776        );
18777      } else {
18778        var shopperName = globalwpw.hasNameCookie;
18779      }
18780
18781      //keeping value in localstorage
18782
18783      var askEmail = wpwKits.randomMsg(wp_chatbot_obj.asking_email);
18784      wpwMsg.single(askEmail);
18785      //Now updating the support part as .
18786      globalwpw.supportStep = "email";
18787      globalwpw.wildCard = 1;
18788      globalwpw.ai_step = 1;
18789      globalwpw.initialize = 0;
18790
18791      localStorage.setItem("wildCard", globalwpw.wildCard);
18792      localStorage.setItem("supportStep", globalwpw.supportStep);
18793    });
18794
18795    $(document).on("click", ".qcld_wpbot_df_cx_agent", function (e) {
18796      e.preventDefault();
18797      var obj = $(this);
18798      var shopperChoice = $(this).text();
18799      wpwMsg.shopper_choice(shopperChoice);
18800
18801      //Now updating the support part as .
18802      globalwpw.wildCard = 26;
18803      //keeping value in localstorage
18804      localStorage.setItem("wildCard", globalwpw.wildCard);
18805      localStorage.setItem("cx-name", obj.attr("data-agent-name"));
18806      localStorage.setItem(
18807        "cx-diaplayname",
18808        obj.attr("data-agent-diaplay-name")
18809      );
18810      localStorage.setItem(
18811        "cx-languagecode",
18812        obj.attr("data-agent-defaultlanguagecode")
18813      );
18814      localStorage.setItem("cx-timezone", obj.attr("data-agent-timezone"));
18815
18816      wpwTree.dfcx(shopperChoice);
18817    });
18818
18819    /*Support Phone **/
18820    $(document).on("click", ".qcld-chatbot-suggest-phone", function (e) {
18821      var shopperChoice = $(this).text();
18822      wpwMsg.shopper_choice(shopperChoice);
18823      //Then ask email address
18824      if (
18825        typeof globalwpw.hasNameCookie == "undefined" ||
18826        globalwpw.hasNameCookie == ""
18827      ) {
18828        var shopperName = wpwKits.render(
18829          globalwpw.settings.obj.shopper_demo_name
18830        );
18831      } else {
18832        var shopperName = globalwpw.hasNameCookie;
18833      }
18834      var askEmail = wpwKits.randomMsg(globalwpw.settings.obj.asking_phone);
18835      setTimeout(function () {
18836        wpwMsg.single(askEmail);
18837        //Now updating the support part as .
18838        globalwpw.supportStep = "phone";
18839        globalwpw.wildCard = 1;
18840        //keeping value in localstorage
18841        localStorage.setItem("wildCard", globalwpw.wildCard);
18842        localStorage.setItem("supportStep", globalwpw.supportStep);
18843      }, 1000);
18844    });
18845
18846    $(document).on("click", ".wpbd_subscription", function (e) {
18847      var shopperChoice = $(this).text();
18848      wpwMsg.shopper_choice(shopperChoice);
18849      globalwpw.wildCard = 3;
18850      globalwpw.subscriptionStep = "welcome";
18851      wpwTree.subscription(shopperChoice);
18852    });
18853    /* support Search */
18854
18855    $(document).on("click", ".qcld-chatbot-site-search", function (e) {
18856      var shopperChoice = $(this).text();
18857      wpwMsg.shopper_choice(shopperChoice);
18858      //Then ask email address
18859      if (
18860        typeof globalwpw.hasNameCookie == "undefined" ||
18861        globalwpw.hasNameCookie == ""
18862      ) {
18863        var shopperName = wpwKits.render(
18864          globalwpw.settings.obj.shopper_demo_name
18865        );
18866      } else {
18867        var shopperName = globalwpw.hasNameCookie;
18868      }
18869      var askEmail = wpwKits.randomMsg(
18870        globalwpw.settings.obj.asking_search_keyword
18871      );
18872
18873      wpwMsg.single(askEmail.replace("#name", shopperName));
18874      //Now updating the support part as .
18875      globalwpw.supportStep = "search";
18876      globalwpw.wildCard = 1;
18877      //keeping value in localstorage
18878      localStorage.setItem("wildCard", globalwpw.wildCard);
18879      localStorage.setItem("supportStep", globalwpw.supportStep);
18880    });
18881    $(document).on("click", ".wpbo_live_chat", function (e) {
18882      e.preventDefault();
18883      wpwKits.wpwOpenWindow(
18884        globalwpw.settings.obj.livechatlink,
18885        "Testing",
18886        400,
18887        600
18888      );
18889    });
18890
18891    $(document).on("click", "#wpbot_live_chat_floating_btn", function (e) {
18892      e.preventDefault();
18893      if (globalwpw.settings.obj.is_livechat_active) {
18894        jQuery(".wp-chatbot-start-container").hide();
18895        $("#wp-chatbot-editor").val(
18896          wpwKits.render(globalwpw.settings.obj.sys_key_livechat)
18897        );
18898        $("#wp-chatbot-send-message").trigger("click");
18899      } else {
18900        wpwKits.wpwOpenWindow(
18901          globalwpw.settings.obj.livechatlink,
18902          "Testing",
18903          400,
18904          600
18905        );
18906      }
18907    });
18908
18909    $(document).on(
18910      "click",
18911      "#start_wpbot_live_chat_floating_btn",
18912      function (e) {
18913        e.preventDefault();
18914        if (globalwpw.settings.obj.is_livechat_active) {
18915          jQuery(".wp-chatbot-start-container").hide();
18916          $("#wp-chatbot-editor").val(
18917            wpwKits.render(globalwpw.settings.obj.sys_key_livechat)
18918          );
18919          $("#wp-chatbot-send-message").trigger("click");
18920        } else {
18921          wpwKits.wpwOpenWindow(
18922            globalwpw.settings.obj.livechatlink,
18923            "Testing",
18924            400,
18925            600
18926          );
18927        }
18928      }
18929    );
18930
18931    $(document).on("click", ".qcld-chatbot-checkbox", function (e) {
18932      var value = [];
18933      var obj = $(this);
18934      obj
18935        .parent(".wp-chatbot-paragraph")
18936        .find(".qcld-chatbot-checkbox")
18937        .each(function () {
18938          if ($(this).prop("checked") == true) {
18939            value.push($(this).val());
18940          }
18941        });
18942
18943      $("#wp-chatbot-editor").val(value.join());
18944    });
18945
18946    $(document).on("click", ".qcld-chatbot-custom-intent", function (e) {
18947      var shopperChoice = $(this).attr("data-text");
18948
18949      globalwpw.initialize = 0;
18950      globalwpw.ai_step = 1;
18951      globalwpw.wildCard = 0;
18952      wpwAction.bot(shopperChoice);
18953    });
18954
18955    $(document).on("click", ".qcld-chatbot-buttonlink", function (e) {
18956      e.stopPropagation();
18957      e.preventDefault();
18958      var btnlink = $(this).attr("data-link");
18959      var target = $(this).attr("data-target");
18960      var type = $(this).attr("data-type");
18961      if (btnlink != "") {
18962        if (target == 1) {
18963          if (type == "phone") {
18964            window.open("tel:" + btnlink);
18965          } else if (type == "email") {
18966            window.open("mailto:" + btnlink);
18967          } else {
18968            window.open(btnlink);
18969          }
18970        } else {
18971          if (type == "phone") {
18972            window.location.href = "tel:" + btnlink;
18973          } else if (type == "email") {
18974            window.location.href = "mailto:" + btnlink;
18975          } else {
18976            window.location.href = btnlink;
18977          }
18978        }
18979      }
18980
18981      return false;
18982    });
18983
18984    $(document).on("click", ".qcld_continue_shopping", function (e) {
18985      e.preventDefault();
18986      $(globalwpw.settings.messageWrapper).html(
18987        localStorage.getItem("wpwHitory")
18988      );
18989      wpwKits.scrollTo();
18990      wpwKits.enableEditor(
18991        wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg)
18992      );
18993    });
18994    $(document).on(
18995      "click",
18996      ".added_to_cart, .add_to_cart_button",
18997      function (e) {
18998        //e.preventDefault();
18999        setTimeout(function () {
19000          wpwKits.showCart();
19001          //jQuery( '.wp-chatbot-operation-option' ).trigger( 'click' );
19002        }, 2000);
19003      }
19004    );
19005    //Show chat,cart and recently view products by click event.
19006    $(document).on("click", ".wp-chatbot-operation-option", function (e) {
19007      e.preventDefault();
19008      var oppt = $(this).attr("data-option");
19009      if (oppt == "recent") {
19010        $(globalwpw.settings.messageWrapper).html(
19011          localStorage.getItem("wpwHitory")
19012        );
19013        wpwKits.disableEditor(
19014          wpwKits.render(globalwpw.settings.obj.sys_key_product)
19015        );
19016        var data = { action: "qcld_wb_chatbot_recently_viewed_products" };
19017        wpwKits.ajax(data).done(function (response) {
19018          $(globalwpw.settings.messageWrapper).html(response);
19019        });
19020        //First remove wp-chatbot-operation-active class from all selector
19021        $(".wp-chatbot-operation-option")
19022          .parent()
19023          .removeClass("wp-chatbot-operation-active");
19024        //then add the active class to current element.
19025        $(this).parent().addClass("wp-chatbot-operation-active");
19026      } else if (oppt == "chat") {
19027        $(globalwpw.settings.messageWrapper).html(
19028          localStorage.getItem("wpwHitory")
19029        );
19030        wpwKits.scrollTo();
19031        wpwKits.enableEditor(
19032          wpwKits.randomMsg(globalwpw.settings.obj.send_a_msg)
19033        );
19034        //First remove wp-chatbot-operation-active class from all selector
19035        $(".wp-chatbot-operation-option")
19036          .parent()
19037          .removeClass("wp-chatbot-operation-active");
19038        //then add the active class to current element.
19039        $(this).parent().addClass("wp-chatbot-operation-active");
19040        if (
19041          globalwpw.wildCard == 7 &&
19042          globalwpw.settings.obj.template != "template-05" &&
19043          (typeof wpbotshortcodetemplate === "undefined" ||
19044            wpbotshortcodetemplate != "template-05") &&
19045          (typeof globalwpw.settings.obj.clickintent === "undefined" ||
19046            wpwKits.render(globalwpw.settings.obj.clickintent) == "")
19047        ) {
19048          $("#wp-chatbot-editor").removeAttr("type");
19049          $(globalwpw.settings.messageLastChild).fadeOut();
19050          wpwTree.start_menu_settings();
19051        }
19052      } else if (oppt == "cart") {
19053        wpwKits.showCart();
19054        //First remove wp-chatbot-operation-active class from all selector
19055        $(".wp-chatbot-operation-option")
19056          .parent()
19057          .removeClass("wp-chatbot-operation-active");
19058        //then add the active class to current element.
19059        $(this).parent().addClass("wp-chatbot-operation-active");
19060      } else if (oppt == "help") {
19061        $(globalwpw.settings.messageWrapper).html(
19062          localStorage.getItem("wpwHitory")
19063        );
19064
19065        if ($(".wp-chatbot-messages-container").length == 0) {
19066          //if from other nob then goo to the chat window
19067          $(globalwpw.settings.messageWrapper).html(
19068            localStorage.getItem("wpwHitory")
19069          );
19070          //Showing help message
19071          setTimeout(function () {
19072            wpwKits.scrollTo();
19073            var helpWelcome = wpwKits.randomMsg(
19074              globalwpw.settings.obj.help_welcome
19075            );
19076            var helpMsg = wpwKits.randomMsg(globalwpw.settings.obj.help_msg);
19077            wpwMsg.double(helpWelcome, helpMsg);
19078            //dialogflow
19079            if (
19080              globalwpw.settings.obj.ai_df_enable == 1 &&
19081              globalwpw.df_status_lock == 0
19082            ) {
19083              globalwpw.wildCard = 0;
19084              globalwpw.ai_step = 1;
19085              localStorage.setItem("wildCard", globalwpw.wildCard);
19086              localStorage.setItem("aiStep", globalwpw.ai_step);
19087            }
19088          }, globalwpw.settings.preLoadingTime);
19089        } else {
19090          //Showing help message on chat self window.
19091          var helpWelcome = wpwKits.randomMsg(
19092            globalwpw.settings.obj.help_welcome
19093          );
19094          var helpMsg = wpwKits.randomMsg(globalwpw.settings.obj.help_msg);
19095          wpwMsg.double(helpWelcome, helpMsg);
19096          //dialogflow
19097          if (
19098            globalwpw.settings.obj.ai_df_enable == 1 &&
19099            globalwpw.df_status_lock == 0
19100          ) {
19101            globalwpw.wildCard = 0;
19102            globalwpw.ai_step = 1;
19103            localStorage.setItem("wildCard", globalwpw.wildCard);
19104            localStorage.setItem("aiStep", globalwpw.ai_step);
19105          }
19106        }
19107        //First remove wp-chatbot-operation-active class from all selector
19108        $(".wp-chatbot-operation-option")
19109          .parent()
19110          .removeClass("wp-chatbot-operation-active");
19111        //then add the active class to current element.
19112        $(this).parent().addClass("wp-chatbot-operation-active");
19113      } else if (oppt == "support") {
19114        $(globalwpw.settings.messageWrapper).html(
19115          localStorage.getItem("wpwHitory")
19116        );
19117        var support_wildcards = "";
19118
19119        if (
19120          globalwpw.settings.obj.livechat == "1" &&
19121          !globalwpw.settings.obj.is_livechat_active
19122        ) {
19123          support_wildcards +=
19124            '<span class="qcld-chatbot-default wpbo_live_chat" >' +
19125            wpwKits.render(globalwpw.settings.obj.livechat_button_label) +
19126            "</span>";
19127        }
19128
19129        if (globalwpw.settings.obj.disable_feedback == "") {
19130          support_wildcards +=
19131            '<span class="qcld-chatbot-suggest-email">' +
19132            wpwKits.render(globalwpw.settings.obj.send_us_email) +
19133            "</span>";
19134        }
19135        if (globalwpw.settings.obj.disable_leave_feedback == "") {
19136          support_wildcards +=
19137            '<span class="qcld-chatbot-suggest-email wpbd_feedback">' +
19138            wpwKits.render(globalwpw.settings.obj.leave_feedback) +
19139            "</span>";
19140        }
19141
19142        if (globalwpw.settings.obj.call_gen == "") {
19143          support_wildcards +=
19144            '<span class="qcld-chatbot-suggest-phone" >' +
19145            wpwKits.render(globalwpw.settings.obj.support_phone) +
19146            "</span>";
19147        }
19148
19149        var serviceOffer = wpwKits.randomMsg(
19150          globalwpw.settings.obj.support_option_again
19151        );
19152        if (
19153          typeof support_wildcards != "undefined" &&
19154          support_wildcards != ""
19155        ) {
19156          wpwMsg.double_nobg(serviceOffer, support_wildcards);
19157        } else {
19158          wpwMsg.single(serviceOffer);
19159        }
19160      } else if (oppt == "live-chat") {
19161        $(globalwpw.settings.messageWrapper).html(
19162          localStorage.getItem("wpwHitory")
19163        );
19164        if (globalwpw.settings.obj.livechat_autopopulation != "1") {
19165          if ($("#wbca_signup_fullname").length > 0) {
19166            if (localStorage.getItem("shopper") !== null) {
19167              $("#wbca_signup_fullname").val(localStorage.getItem("shopper"));
19168            }
19169            if (localStorage.getItem("shopperemail") !== null) {
19170              $("#wbca_signup_email").val(localStorage.getItem("shopperemail"));
19171            }
19172          }
19173        }
19174        $("#wp-chatbot-board-container").removeClass("active-chat-board");
19175        $(".wp-chatbot-container").hide();
19176        $(".wpbot-saas-live-chat").show();
19177      }
19178      //show chat wrapper and hide cart-checkout wrapper
19179      $(globalwpw.settings.messageWrapper).show();
19180      $("#wp-chatbot-checkout-short-code").hide();
19181      $("#wp-chatbot-cart-short-code").hide();
19182    });
19183
19184    $(document).on("click", ".qcld-chatbot-reset-btn", function (e) {
19185      e.preventDefault();
19186      var actionType = $(this).attr("reset-data");
19187      if (actionType == "yes") {
19188        $("#wp-chatbot-messages-container").html("");
19189        localStorage.removeItem("wpwHitory");
19190        localStorage.removeItem("shopper");
19191        globalwpw.wildCard = 0;
19192        globalwpw.ai_step = 0;
19193        globalwpw.aiContext = []; // Clear context on reset
19194        globalwpw.is_in_ai_form = false;
19195        localStorage.setItem("wildCard", globalwpw.wildCard);
19196        localStorage.setItem("aiStep", globalwpw.ai_step);
19197
19198        globalwpw.formfieldid = "";
19199        localStorage.setItem("formfieldid", globalwpw.formfieldid);
19200        globalwpw.formStep = "welcome";
19201        localStorage.setItem("formStep", globalwpw.formStep);
19202        globalwpw.formid = "";
19203        localStorage.setItem("formid", globalwpw.formid);
19204        globalwpw.formentry = 0;
19205        localStorage.setItem("formentry", globalwpw.formentry);
19206
19207        localStorage.removeItem("cx-name");
19208        localStorage.removeItem("cx-diaplayname");
19209        localStorage.removeItem("cx-languagecode");
19210        localStorage.removeItem("cx-timezone");
19211        var number = Math.random(); // 0.9394456857981651
19212        number.toString(36); // '0.xtis06h6'
19213        var id = number.toString(36).substr(2); // 'xtis06h6'
19214
19215        localStorage.setItem("botsessionid", id);
19216        wpwWelcome.greeting();
19217      } else if (actionType == "no") {
19218        wpwAction.bot(
19219          (wpwKits.render(globalwpw.settings.obj.sys_key_help) || '').toLowerCase()
19220        );
19221      }
19222    });
19223
19224    if ($("#wpbot_language").length > 0) {
19225      $('select[name^="wpbot_language"] option:selected').attr(
19226        "selected",
19227        null
19228      );
19229      $(
19230        "#wpbot_language option[value='" +
19231        globalwpw.settings.obj.language +
19232        "']"
19233      ).attr("selected", "selected");
19234    }
19235
19236    $(document).on("change", "#wpbot_language", function (e) {
19237      var language = $(this).val();
19238      globalwpw.settings.obj.language = language;
19239      wpwKits.language_switcher(language);
19240      $("#wp-chatbot-messages-container").html("");
19241      localStorage.removeItem("wpwHitory");
19242
19243      if (language == "ar") {
19244        if (!$("#wp-chatbot-chat-container").hasClass("wp-chatbot-rtl")) {
19245          $("#wp-chatbot-chat-container").addClass("wp-chatbot-rtl");
19246        }
19247      } else {
19248        if ($("#wp-chatbot-chat-container").hasClass("wp-chatbot-rtl")) {
19249          $("#wp-chatbot-chat-container").removeClass("wp-chatbot-rtl");
19250        }
19251      }
19252
19253      if (
19254        localStorage.getItem("bot_language") &&
19255        localStorage.getItem("bot_language") !== globalwpw.settings.obj.language
19256      ) {
19257        localStorage.setItem("bot_language", globalwpw.settings.obj.language);
19258        wpwKits.doReset();
19259        $('#wp-chatbot-email-transcript').attr("title", wpwKits.render(wp_chatbot_obj.email_transcrips_toolip));
19260        $('#wp-chatbot-desktop-close').attr("title", wpwKits.render(wp_chatbot_obj.qlcd_wp_chatbot_close));
19261        $('#wp-chatbot-desktop-reload').attr("title", wpwKits.render(wp_chatbot_obj.qlcd_wp_chatbot_reset));
19262        $('.wp-chatbot-operation-option').attr("title", wpwKits.render(wp_chatbot_obj.viewed_products));
19263      } else {
19264        localStorage.setItem("bot_language", globalwpw.settings.obj.language);
19265      }
19266
19267      localStorage.removeItem("shopper");
19268      localStorage.removeItem("shopperemail");
19269      localStorage.removeItem("shopperphone");
19270
19271      localStorage.removeItem("cx-name");
19272      localStorage.removeItem("cx-diaplayname");
19273      localStorage.removeItem("cx-languagecode");
19274      localStorage.removeItem("cx-timezone");
19275
19276      localStorage.removeItem("wpwHitory");
19277      localStorage.setItem("wildCard", 0);
19278      localStorage.setItem("aiStep", 0);
19279
19280      globalwpw.wildCard = 0;
19281      globalwpw.ai_step = 0;
19282      localStorage.setItem("wildCard", globalwpw.wildCard);
19283      localStorage.setItem("aiStep", globalwpw.ai_step);
19284      globalwpw.formfieldid = "";
19285      localStorage.setItem("formfieldid", globalwpw.formfieldid);
19286      globalwpw.formStep = "welcome";
19287      localStorage.setItem("formStep", globalwpw.formStep);
19288      globalwpw.formid = "";
19289      localStorage.setItem("formid", globalwpw.formid);
19290      globalwpw.formentry = 0;
19291      localStorage.setItem("formentry", globalwpw.formentry);
19292      wpwKits.updateGlobalMenu();
19293      var number = Math.random(); // 0.9394456857981651
19294      number.toString(36); // '0.xtis06h6'
19295      var id = number.toString(36).substr(2); // 'xtis06h6'
19296
19297      localStorage.setItem("botsessionid", id);
19298      wpwWelcome.greeting();
19299    });
19300
19301    $(document).on("click", "#wp-chatbot-desktop-reload", function (e) {
19302      e.preventDefault();
19303      wpwKits.doReset();
19304      wpwKits.updateGlobalMenu();
19305      wpwWelcome.greeting();
19306    });
19307    $(document).on("click", "#submit", function (e) {
19308      e.preventDefault();
19309      wpwKits.doReset();
19310      wpwKits.updateGlobalMenu();
19311      wpwWelcome.greeting();
19312    });
19313
19314    $(document).on("click", ".qcld_woo_prod_src", function (e) {
19315      e.preventDefault();
19316
19317      if (globalwpw.settings.obj.woocommerce) {
19318        var keyword = $(this).attr("keyword");
19319
19320        if (typeof keyword !== typeof undefined && keyword !== false) {
19321          globalwpw.wildCard = 20;
19322          globalwpw.productStep = "search";
19323          wpwTree.product(keyword);
19324        }
19325      }
19326    });
19327
19328    if (globalwpw.settings.obj.clear_cache == 1) {
19329      $("#wp-chatbot-messages-container").html("");
19330      localStorage.removeItem("wpwHitory");
19331      localStorage.removeItem("shopper");
19332      localStorage.removeItem("cx-name");
19333      localStorage.removeItem("cx-diaplayname");
19334      localStorage.removeItem("cx-languagecode");
19335      localStorage.removeItem("cx-timezone");
19336      globalwpw.wildCard = 0;
19337      globalwpw.ai_step = 0;
19338      localStorage.setItem("wildCard", globalwpw.wildCard);
19339      localStorage.setItem("aiStep", globalwpw.ai_step);
19340      var number = Math.random(); // 0.9394456857981651
19341      number.toString(36); // '0.xtis06h6'
19342      var id = number.toString(36).substr(2); // 'xtis06h6'
19343
19344      localStorage.setItem("botsessionid", id);
19345      //wpwWelcome.greeting();
19346    }
19347
19348    $(document).on("click", ".qcld_subscribe_confirm", function (e) {
19349      e.preventDefault();
19350      var actionType = $(this).attr("subscription");
19351      if (actionType == "yes") {
19352        globalwpw.wildCard = 3;
19353        globalwpw.subscriptionStep = "getname";
19354        wpwTree.subscription();
19355      } else if (actionType == "no") {
19356        wpwAction.bot(
19357          (wpwKits.render(globalwpw.settings.obj.sys_key_help) || '').toLowerCase()
19358        );
19359        if ($(".chatbot_intent_reload").length > 0) {
19360          $(".chatbot_intent_reload").remove();
19361        }
19362      }
19363    });
19364
19365    $(document).on("click", ".qcld-name-confirm", function (e) {
19366      e.preventDefault();
19367      var actionType = $(this).attr("data-res");
19368      wpwMsg.shopper_choice(actionType);
19369      wpwAction.bot(actionType);
19370    });
19371
19372    $(document).on("click", ".qcld_unsubscribe_confirm", function (e) {
19373      e.preventDefault();
19374      var actionType = $(this).attr("unsubscription");
19375      if (actionType == "yes") {
19376        globalwpw.wildCard = 6;
19377        globalwpw.unsubscriptionStep = "getemail";
19378        wpwTree.unsubscription();
19379      } else if (actionType == "no") {
19380        wpwAction.bot(
19381          (wpwKits.render(globalwpw.settings.obj.sys_key_help) || '').toLowerCase()
19382        );
19383        if ($(".chatbot_intent_reload").length > 0) {
19384          $(".chatbot_intent_reload").remove();
19385        }
19386      }
19387    });
19388
19389    $(document).on("click", ".qcld_unsubscribe_again", function (e) {
19390      e.preventDefault();
19391
19392      globalwpw.wildCard = 6;
19393      globalwpw.unsubscriptionStep = "getemail";
19394      wpwTree.unsubscription();
19395    });
19396
19397    return this;
19398  };
19399
19400  $(document).on("click", "#wpbot-ai-file-upload", function (e) {
19401    e.preventDefault();
19402    e.stopPropagation();
19403    if (!qcldWpbotIsAiFileUploadAllowed()) {
19404      return;
19405    }
19406    var fileInput = document.getElementById("wpbot-ai-file-input");
19407    if (fileInput) {
19408      fileInput.click();
19409    }
19410  });
19411
19412  $(document).on("change", "#wpbot-ai-file-input", function () {
19413    var fileInput = this;
19414    if (!fileInput.files || !fileInput.files.length) {
19415      return;
19416    }
19417    if (!qcldWpbotIsAiFileUploadAllowed()) {
19418      wpwKits.clearAiPendingFile();
19419      return;
19420    }
19421
19422    var form_data = new FormData();
19423    form_data.append("ai_chat_file", fileInput.files[0]);
19424    form_data.append("action", "qcld_chatbot_ai_file_upload");
19425
19426    $.ajax({
19427      url: globalwpw.settings.obj.ajax_url,
19428      cache: false,
19429      contentType: false,
19430      processData: false,
19431      data: form_data,
19432      type: "post",
19433      success: function (response) {
19434        var json = $.parseJSON(response);
19435        if (json.status === "success") {
19436          globalwpw.aiPendingFile = {
19437            url: json.url,
19438            name: json.name,
19439            type: json.type,
19440            is_image: json.is_image,
19441          };
19442          wpwKits.renderAiFilePreview();
19443        } else {
19444          var errormsg =
19445            wpwKits.render(globalwpw.settings.obj.chatbot_file_upload_fail) ||
19446            "Failed to upload the file.";
19447          if (json.errors && json.errors.length > 0) {
19448            errormsg = json.errors.join(" ");
19449          }
19450          wpwMsg.single(errormsg);
19451          wpwKits.clearAiPendingFile();
19452        }
19453      },
19454      error: function () {
19455        wpwMsg.single("An error occured, please try again.");
19456        wpwKits.clearAiPendingFile();
19457      },
19458    });
19459  });
19460
19461  $(document).on("click", ".wpbot-ai-file-remove", function (e) {
19462    e.preventDefault();
19463    wpwKits.clearAiPendingFile();
19464  });
19465
19466  var fileuploadblock = false;
19467
19468  $(document).on("change", "#wp-chatbot-editor:file", function () {
19469    var obj = $(this);
19470    if (!fileuploadblock) {
19471      fileuploadblock = true;
19472
19473      if ($(".wpbot_upload_bar").length > 0) {
19474        $(".wpbot_upload_bar").html(
19475          '<progress id="qcld_cfb_progress" value="0" max="100"></progress><div class="qcld_upload_status">file uploading..</div>'
19476        );
19477        wpwKits.scrollTo();
19478      } else {
19479        var msg =
19480          '<div class="wpbot_upload_bar"><progress id="qcld_cfb_progress" value="0" max="100"></progress><div class="qcld_upload_status">file uploading..</div></div>';
19481
19482        $(globalwpw.settings.messageContainer).append(
19483          wpwKits.shopperMsgDom(msg)
19484        );
19485        wpwKits.scrollTo();
19486      }
19487
19488      var percent = $("#percent");
19489      var form_data = new FormData(); // Creating object of FormData class
19490
19491      for (var i = 0; i < $(this).prop("files").length; i++) {
19492        form_data.append("cfb_file[]", $(this).prop("files")[i]);
19493      }
19494
19495      form_data.append("formid", globalwpw.formid); // Adding extra parameters to form_data
19496      form_data.append("fieldid", globalwpw.formfieldid); // Adding extra parameters to form_data
19497      form_data.append("action", "qcld_wpcfb_file_upload"); // Adding extra parameters to form_data
19498      $.ajax({
19499        url: globalwpw.settings.obj.ajax_url,
19500        cache: false,
19501        contentType: false,
19502        processData: false,
19503        data: form_data, // Setting the data attribute of ajax with file_data
19504        type: "post",
19505
19506        xhr: function () {
19507          var xhr = new window.XMLHttpRequest();
19508          xhr.upload.addEventListener(
19509            "progress",
19510            function (evt) {
19511              if (evt.lengthComputable) {
19512                var percentComplete = evt.loaded / evt.total;
19513                percentComplete = parseInt(percentComplete * 100);
19514                $("#qcld_cfb_progress").attr("value", percentComplete);
19515              }
19516            },
19517            false
19518          );
19519          return xhr;
19520        },
19521
19522        success: function (response) {
19523          response = $.parseJSON(response);
19524          if (response.status == "success") {
19525            $(".qcld_upload_status").html(
19526              wpwKits.render(globalwpw.settings.obj.chatbot_file_upload_succ)
19527            );
19528            jQuery("#wp-chatbot-editor").removeAttr("type");
19529            wpwKits.toggleAiFileUploadButton();
19530            fileuploadblock = false;
19531            wpwTree.formbuilder(response.url.join(","));
19532          } else {
19533            var errormsg = "";
19534            errormsg +=
19535              "<p>" +
19536              wpwKits.render(globalwpw.settings.obj.chatbot_file_upload_fail) +
19537              "</p>";
19538            if (response.errors.length > 0) {
19539              jQuery.each(response.errors, function (key, message) {
19540                errormsg += "<p>" + message + "</p>";
19541              });
19542            }
19543            $(".qcld_upload_status").html(errormsg);
19544            obj.val("");
19545            fileuploadblock = false;
19546          }
19547        },
19548        error: function () {
19549          alert("An error occured, please try again.");
19550        },
19551      });
19552    }
19553  });
19554
19555  $(document).on("keydown keyup", ".qcphonebasicus", function (e) {
19556
19557    var value = $(this).val();
19558    if (value.length > 9) {
19559      $(this).val(wpwKits.formatPhoneNumberUS(value));
19560    }
19561  });
19562  $(document).on("keypress", ".qcnumberfield", function (e) {
19563    if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
19564      return false;
19565    }
19566  });
19567
19568  //Deafault value for wpwbot.If nothing passes from the work station
19569  //Then defaults value will be used.
19570  $.wpwbot.defaults = {
19571    obj: {},
19572    editor_handler: 0,
19573    sendButton: "#wp-chatbot-send-message",
19574    messageEditor: "#wp-chatbot-editor",
19575    messageContainer: "#wp-chatbot-messages-container",
19576    messageWrapper: ".wp-chatbot-messages-wrapper",
19577    botContainer: ".wp-chatbot-ball-inner",
19578    messageLastChild: "#wp-chatbot-messages-container li:last",
19579    messageLastBot:
19580      "#wp-chatbot-messages-container .wp-chatbot-msg:last .wp-chatbot-paragraph",
19581    preLoadingTime: 0,
19582    wildcardsShowTime: 5000,
19583  };
19584
19585
19586  document.addEventListener("click", function (e) {
19587    // Toggle share menu
19588    if (e.target.closest(".share-toggle")) {
19589      e.preventDefault();
19590      let menu = e.target.closest(".qcld-share").querySelector(".share-menu");
19591      menu.style.display = menu.style.display === "none" ? "block" : "none";
19592    }
19593
19594    // Find message content dynamically
19595    let msgItem = e.target.closest(".wp-chatbot-msg");
19596    if (!msgItem) return;
19597
19598    let msgContent = msgItem.querySelector(".wp-chatbot-paragraph");
19599    if (!msgContent) return;
19600
19601    // Extract plain text
19602    let msgText = msgContent.innerText.trim();
19603    let shareSite = window.location.origin; // Get the site URL dynamically (e.g., "https://www.example.com")
19604    // Ensure a trailing slash if it's meant to represent the root of the site
19605    if (!shareSite.endsWith('/')) {
19606      shareSite += '/';
19607    }
19608    let fullMsg = `${msgText}\n-- ${shareSite}`;
19609    let encodedMsg = encodeURIComponent(fullMsg);
19610
19611    // Facebook (requires App ID)
19612    if (e.target.closest(".share-fb")) {
19613      e.preventDefault();
19614
19615      // You must include a URL even if you're just sharing text
19616      const shareURL = encodeURIComponent(window.location.href); // or your chatbot page URL
19617      const fbShareURL = "https://www.facebook.com/sharer/sharer.php?u=" + shareURL + "&quote=" + encodedMsg;
19618
19619      window.open(fbShareURL, "_blank", "width=600,height=400");
19620    }
19621
19622    // WhatsApp
19623    if (e.target.closest(".share-wa")) {
19624      e.preventDefault();
19625      window.open("https://wa.me/?text=" + encodedMsg, "_blank");
19626    }
19627
19628    // X (Twitter)
19629    if (e.target.closest(".share-x")) {
19630      e.preventDefault();
19631      window.open("https://twitter.com/intent/tweet?text=" + encodedMsg, "_blank");
19632    }
19633
19634    // Email
19635    if (e.target.closest(".share-email")) {
19636      e.preventDefault();
19637      window.location.href = "mailto:?subject=Chatbot Message&body=" + encodedMsg;
19638    }
19639  });
19640
19641})(jQuery);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.