1import 'jquery' 2import * as wNumb from './wNumb.js' 3import { config } from './config.js'; 4import { showLog, sentEvent, isSafari, saveValue, getValue, cleanPunctuation, cleanAccents, getOptions, bisiestos, meses30, needDatePicker, getToday, isMobile, isAndroidDevice } from './util.js' 5import { saveValueForm, form, initialiceForm } from './formUtil.js' 6import { popupHtml } from './interactions.js' 7import { currentQuestion, idCurrentQuestion, textToSubmit } from './chat.js' 8import { activateSendText } from './speech-input.js' 9import modals from './modals.js' 10import { hideChatBox } from './chatbox.js' 11 12import noUiSlider from 'nouislider' 13import 'nouislider/distribute/nouislider.css'; 14 15 16/*No importamos en este proyecto moment*/ 17//import moment from 'moment'; 18 19/*No importamos en este proyecto slick*/ 20import slick from './slick.js' 21import '../css/slick.css'/*Posible borrado*/ 22 23/*No importamos en este proyecto Cocoen*/ 24//import Cocoen from "cocoen"; 25//import '../css/cocoen.min.css'/*Posible borrado*/ 26 27/*No importamos en este proyecto timepicker*/ 28//import '../css/jquery.timepicker.css'/*Posible borrado*/ 29 30/*No importamos en este proyecto timepicker*/ 31//import '../css/hover.css'/*Posible borrado*/ 32 33 34export var noUiSliderCustom = noUiSlider 35export var momentCustom = {} 36export var slickCustom = slick 37export var CocoenCustom = {} 38 39var _Sn = {}; 40_Sn.Jq = jQuery; 41_Sn.config = config; 42 43//_Sn.Jq("body").toggleClass("dotted") 44 45_Sn.Jq(".option-quick-image.payload").css("display", "none") 46 47setTimeout(() => { 48 let videoBackground = document.querySelector('video') 49 if (videoBackground != null) { 50 videoBackground.pause(); 51 videoBackground.defaultPlaybackRate = 0.5; 52 videoBackground.play(); 53 document.getElementsByTagName('video')[0].onended = function () { 54 this.load(); 55 }; 56 } 57 58 59 60}, 3000) 61 62 63 64 65 66///////////////////////////////////////////////////////////////////////////////// 67///SE CHEQUEA LA EXISTENCIA DE UN BANNER EN LA PARTE DE ABAJO, SE REAJUSTA LA UBICACION DEL 68///LOGO DE ROBOT PARA QUE NO INTERFIERA CON EL CTA DE LA PAGINA QUE HAY EN EL BANNER 69var bottomLogoIni, bottomMiniboxIni; 70var heightBannerTymit; 71var bannerTymitSelector = ''; 72 73function existsLogoSentimer() { 74 if (_Sn.Jq('#ned09-chtbt').length > 0) { 75 bottomLogoIni = _Sn.Jq('#ned09-chtbt').css('bottom').split('px')[0] 76 return true 77 } else { 78 return false 79 } 80} 81 82function existsMiniboxSentimer() { 83 if (_Sn.Jq('.minibox.showChat').length > 0) { 84 bottomMiniboxIni = _Sn.Jq('.minibox.showChat').css('bottom').split('px')[0] 85 return true 86 } else { 87 return false 88 } 89} 90 91function existsBannerTymit() { 92 if (_Sn.Jq(bannerTymitSelector).length > 0 && _Sn.Jq(bannerTymitSelector).css('display') != 'none') { 93 heightBannerTymit = parseInt(_Sn.Jq(bannerTymitSelector).height()) 94 return true 95 } else { 96 return false 97 } 98} 99 100var manageAvatarPlace = setInterval(() => { 101 if (existsLogoSentimer()) { 102 var rePaintLogoButton = setInterval(() => { 103 if (existsBannerTymit()) { 104 _Sn.Jq('#ned09-chtbt').css('bottom', parseInt(bottomLogoIni) + 30 + heightBannerTymit + 'px'); 105 } else { 106 _Sn.Jq('#ned09-chtbt').css('bottom', bottomLogoIni + 'px') 107 } 108 }, 300) 109 clearInterval(manageAvatarPlace); 110 } 111}, 500) 112 113 114var manageMiniboxPlace = setInterval(() => { 115 if (existsMiniboxSentimer()) { 116 var rePaintMiniboxButton = setInterval(() => { 117 if (existsBannerTymit()) { 118 _Sn.Jq('.minibox.showChat').css('bottom', parseInt(bottomMiniboxIni) + 30 + heightBannerTymit + 'px'); 119 } else { 120 _Sn.Jq('.minibox.showChat').css('bottom', bottomMiniboxIni + 'px') 121 } 122 }, 300) 123 clearInterval(manageMiniboxPlace); 124 } 125}, 500) 126 127//////////////////////////////////////////////////////////////////////////////////////// 128//////////////////////////////////////////////////////////////////////////////////////// 129 130var timestampINI = Date.now(); 131_Sn.Jq(window).on('unload', function () { 132 sentEvent({ id: _Sn.config.id, event: "CUSTOMIZED_EVENT:secondsInPage:" + ((Date.now() - timestampINI) / 1000).toString() }) 133}) 134 135_Sn.config.zindex = '60000' 136 137var bot_interacted = false, 138 bot_start_callme = false, 139 bot_start_usercall = false, 140 bot_start_contract = false, 141 bot_start_other = false, 142 bot_finish_other = false, 143 page_finish_other = false, 144 bot_button1 = false, 145 bot_button2 = false, 146 bot_button3 = false, 147 bot_button4 = false, 148 bot_button5 = false, 149 bot_button6 = false, 150 bot_button7 = false, 151 bot_button8 = false, 152 bot_button9 = false, 153 bot_button10 = false, 154 bot_menu_option1 = false, 155 bot_menu_option2 = false, 156 bot_menu_option3 = false, 157 bot_menu_option4 = false, 158 bot_menu_inputtext = false, 159 bot_finish_callme = false;
160 161var urlParams = new URLSearchParams(window.location.search); 162var campaign = urlParams.get('vn'); 163 164export function customizeDisplay() { 165 166 167} 168export function checkInteraction(event) { 169 if (_Sn.Jq(event.currentTarget).attr('href').indexOf("tel:") != -1) { 170 sentEvent({ id: _Sn.config.id, event: "CUSTOMIZED_EVENT:callfromuser" }); 171 } 172} 173 174/////////////////////////////////////////////////////////////////// 175//REPORT USER BLOCKED INI 176/////////////////////////////////////////////////////////////////// 177var userBlockedInterval = setInterval(function () { 178 if (_Sn.config.loadingTime != 0 && new Date().getTime() - _Sn.config.loadingTime > _Sn.config.maxLoadingTime) { 179 _Sn.config.loadingTime = 0; 180 sentEvent({id:_Sn.config.id,event:"CUSTOMIZED_EVENT:USER BLOCKED"}); 181 reportUserBlocked(); 182 clearInterval(userBlockedInterval) 183 } 184}, 5000) 185 186 187function reportUserBlocked() { 188 var getRequest = _Sn.Jq.ajax({ 189 url: _Sn.config.hostPublic + "/userblocked", 190 data: { 191 idUser: _Sn.config.id, 192 }, 193 type: 'POST', 194 crossDomain: true, 195 dataType: 'json', 196 }); 197 getRequest.done(function () { 198 }) 199 200 201} 202 203/////////////////////////////////////////////////////////////////// 204//REPORT USER BLOCKED FIN 205/////////////////////////////////////////////////////////////////// 206 207export function sendUserToQuestion(newQuestion) { 208 var getRequest = _Sn.Jq.ajax({ 209 url: _Sn.config.hostPublic + "/sendusertoquestion", 210 data: { 211 idUser: _Sn.config.id, 212 question: newQuestion, 213 }, 214 type: 'POST', 215 crossDomain: true, 216 dataType: 'json', 217 }); 218 getRequest.done(function () { 219 }) 220 221 222} 223 224var timeoutFeedback; 225export function resetTimerFeedback() { 226 //En este robot no pedimos feedback 227} 228 229function askForFeedback() { 230 var getRequest = _Sn.Jq.ajax({ 231 url: _Sn.config.hostPublic + "/askforfeedback", 232 data: { 233 idUser: _Sn.config.id, 234 }, 235 type: 'POST', 236 crossDomain: true, 237 dataType: 'json', 238 }); 239 getRequest.done(function () { 240 }) 241} 242 243 244 245export function HandleSlide() { 246 247} 248 249export function addSpan(cta) { 250 if (cta == "cta1") { 251 return ""; 252 } else { 253 return ""; 254 } 255} 256 257export function customize(str) { 258 if (str != undefined) { 259 return str.split("images/bot/").join("images/bot/"); 260 } else { 261 return ""; 262 } 263} 264 265export function resolveSliderImages(string) { 266 var html = ""; 267 if (string.indexOf("<SLIDER-IMAGES>") != -1) { 268 re = new RegExp('<SLIDER-IMAGES>.+<SLIDER-IMAGES>'); 269 var value = re.exec(string); 270 271 var text = value[0].split("<SLIDER-IMAGES>")[1]; 272 273 var images = text.split(";"); 274 html = "" + "<div class='resulimages'>" + "<div class='single-item slider_popup'>"; 275 for (i = 0; i < images.length; i++) { 276 html = html + "<img class='result imageResult' src='" + hostPublic + "/images/bot/" + images[i] + "'>"; 277 } 278 html = html + "</div>" + "</div>" + ""; 279 280 string = (value != undefined ? string.split(value).join(html) : string); 281 } 282 return string; 283} 284 285 286export function resolveMetaData(string) { 287 var re; 288 289 if (string.indexOf('download_Large.svg') != -1) { 290 if (isAndroidDevice()) { 291 string = string.split('download_Large.svg').join('googleplay.png'); 292 } else { 293 string = string.split('download_Large.svg').join('appstore.svg'); 294 } 295 } 296 if (string.indexOf("<URL_MEMORIA>") != -1) { 297 re = new RegExp('<URL_MEMORIA>.+<URL_MEMORIA>'); 298 var value = re.exec(string); 299 var url = value[0].split("<URL_MEMORIA>")[1].split(":::")[1]; 300 var text = value[0].split("<URL_MEMORIA>")[1].split(":::")[0]; 301 string = string.split(value[0]).join("<a class='sentimerlink' href='" + url + "' target='_blank'>
301" + text + "</a> "); 302 } 303 304 if (string.indexOf("<URL_DOSSIER>") != -1) { 305 re = new RegExp('<URL_DOSSIER>.+<URL_DOSSIER>'); 306 var value = re.exec(string); 307 var url = value[0].split("<URL_DOSSIER>")[1].split(":::")[1]; 308 var text = value[0].split("<URL_DOSSIER>")[1].split(":::")[0]; 309 string = string.split(value[0]).join("<a class='sentimerlink' href='" + url + "' target='_blank'>" + text + "</a> "); 310 } 311 312 if (string.indexOf("<URL_PLANOS>") != -1) { 313 re = new RegExp('<URL_PLANOS>.+<URL_PLANOS>'); 314 var value = re.exec(string); 315 var url = value[0].split("<URL_PLANOS>")[1].split(":::")[1]; 316 var text = value[0].split("<URL_PLANOS>")[1].split(":::")[0]; 317 string = string.split(value[0]).join("<a class='sentimerlink' href='" + url + "' target='_blank'>" + text + "</a> "); 318 } 319 320 321 322 323 while (string.indexOf("<URL_LINK>") != -1) { 324 re = new RegExp('<URL_LINK>.+?<URL_LINK>?'); 325 var value = re.exec(string)[0]; 326 var newValue = value.split("<URL_LINK>").join("") 327 var url = newValue.split(":::")[1]; 328 var text = newValue.split(":::")[0]; 329 330 string = string.split(value).join("<a class='sentimerlink' href='" + url + "' target='_blank'>
330" + text + "</a> "); 331 } 332 /* 333 var pairUrlLinks = 1; 334 while(string.indexOf("<URL_LINK>") != -1) { 335 string = string.replace("<URL_LINK>","<URL_LINK" + pairUrlLinks + ">").replace("<URL_LINK>","<URL_LINK" + pairUrlLinks + ">"); 336 pairUrlLinks = pairUrlLinks + 1; 337 } 338 339 for (var i=1;i<10;i++) { 340 if (string.indexOf("<URL_LINK" + i.toString() + ">") != -1) { 341 re = new RegExp('<URL_LINK' + i.toString() + '>.+<URL_LINK' + i.toString() + '>'); 342 var value = re.exec(string); 343 var newValue = value 344 var url = value[0].split("<:::></:::>")[1]; 345 var text = value[0].split("<URL_LINK" + i.toString() + ">")[1].split(":::")[0]; 346 string = string.split(value[0]).join("<a class='sentimerlink' href='" + url + "' target='_blank'>" + text + "</a> "); 347 } 348 } 349 350 var pairUrlPopup = 1; 351 while(string.indexOf("<POPUP>") != -1) { 352 string = string.replace("<POPUP>","<POPUP" + pairUrlPopup + ">").replace("<POPUP>","<POPUP" + pairUrlPopup + ">"); 353 pairUrlPopup = pairUrlPopup + 1; 354 } 355 */ 356 357 for (var i = 1; i < 10; i++) { 358 if (string.indexOf("<POPUP" + i.toString() + ">") != -1) { 359 re = new RegExp('<POPUP' + i.toString() + '>.+<POPUP' + i.toString() + '>'); 360 var value = re.exec(string); 361 362 var idPopup = value[0].split("<POPUP" + i.toString() + ">")[1].split(":").length > 1 ? value[0].split("<POPUP" + i.toString() + ">")[1].split(":")[0] : value; 363 var text = value[0].split("<POPUP" + i.toString() + ">")[1].split(":").length > 1 ? value[0].split("<POPUP" + i.toString() + ">")[1].split(":")[1] : "<i class='fa fa-info-circle'></i>"; 364 365 string = string.split(value[0]).join(popupHtml.split("##IDPOPUP##").join(idPopup).split("##TEXT##").join(text).split("<POPUP>").join("")); 366 367 } 368 } 369 370 if (string.indexOf("<IMPORTANT>") != -1) { 371 re = new RegExp('<IMPORTANT>.+<IMPORTANT>'); 372 var value = re.exec(string); 373 string = (value != undefined ? string.split(value).join('<span style="font-weight:bold;font-family:edp">' + value[0].split("<IMPORTANT>")[1] + '</span>') : string); 374 } 375 376 if (string.indexOf("<LESSIMPORTANT>") != -1) { 377 re = new RegExp('<LESSIMPORTANT>.+<LESSIMPORTANT>'); 378 var value = re.exec(string); 379 380 string = (value != undefined ? string.split(value).join('<span style="font-size:.8em;font-family:edp">' + value[0].split("<LESSIMPORTANT>")[1] + '</span>') : string); 381 } 382 383 if (string.indexOf("<POPUP>") != -1) { 384 re = new RegExp('<POPUP>.+<POPUP>'); 385 var value = re.exec(string)[0]; 386 387 var value2 = value.split("<POPUP>").join(""); 388 var idPopup = value2.split(":").length > 1 ? value2.split(":")[0] : value2; 389 var text = value2.split(":").length > 1 ? value2.split(":")[1] : "<i class='fa fa-info-circle'></i>"; 390 391 string = string.split(value).join(popupHtml.split("##IDPOPUP##").join(idPopup).split("##TEXT##").join(text).split("<POPUP>").join("")); 392 } 393 394 if (string.indexOf("<POPUP_PISOS>") != -1) { 395 re = new RegExp('<POPUP_PISOS>.+<POPUP_PISOS>'); 396 var value = re.exec(string)[0]; 397 398 var value2 = value.split("<POPUP_PISOS>").join(""); 399 var idPopup = value2.split(":").length > 1 ? value2.split(":")[0] : value2; 400 var text = value2.split(":").length > 1 ? value2.split(":")[1] : "<i class='fa fa-info-circle'></i>"; 401 402 string = string.split(value).join(popupHtml.split("##IDPOPUP##").join(idPopup).split("##TEXT##").join(text).split("<POPUP_PISOS>").join("")); 403 } 404 405 if (string.indexOf("<ICON>") != -1) { 406 re = new RegExp('<ICON>.+<ICON>'); 407 var value = re.exec(string); 408 return '<div class="cardImage icon"><span class="' + value[0].split("<ICON>")[1] + '"></span></div>'; 409 } 410 411 if (string.indexOf("<IMAGE>") != -1) { 412 re = new RegExp('<IMAGE>.+<IMAGE>'); 413 var value = re.exec(string); 414 let IMAGE_PART = " <img class='imageCard' style='margin-top:1em' src='" + _Sn.config.hostPublic + "/images/bot/" + value[0].split("<IMAGE>")[1] + "' />"
415 string = string.split(value).join(IMAGE_PART) 416 } 417 418 string = string.split("##UTM_GOLF##").join("https://www.visitcostadelsol.com/?utm_source=landing_chat&utm_medium=pantallas_ext&utm_campaign=CdS2021-F2-landing_chat_golf&utm_content=golf&utm_term=x") 419 string = string.split("##UTM_BEACH##").join("https://www.visitcostadelsol.com/?utm_source=landing_chat&utm_medium=pantallas_ext&utm_campaign=CdS2021-F2-landing_chat_soly_playa&utm_content=sol_playa&utm_term=x") 420 string = string.split("##UTM_FOOD##").join("https://www.visitcostadelsol.com/?utm_source=landing_chat&utm_medium=pantallas_ext&utm_campaign=CdS2021-F2-landing_chat_gastronomia&utm_content=gastronomia&utm_term=x") 421 string = string.split("##UTM_PLACES##").join("https://www.visitcostadelsol.com/?utm_source=landing_chat&utm_medium=pantallas_ext&utm_campaign=CdS2021-F2-landing_chat_naturaleza&utm_content=interior_naturaleza&utm_term=x") 422 string = string.split("##UTM_OUTDOORS##").join("https://www.visitcostadelsol.com/?utm_source=landing_chat&utm_medium=pantallas_ext&utm_campaign=CdS2021-F2-landing_chat_naturaleza&utm_content=interior_naturaleza&utm_term=x") 423 424 return string; 425} 426 427var hasStarted; 428export function setHasStarted(value) { 429 hasStarted = value; 430} 431 432export function getHasStarted(value) { 433 return hasStarted; 434} 435 436export var contactPhone = ''; 437 438 439export var numberUsers = 1; 440 441export function setNumberUsers(amount) { 442 numberUsers = amount; 443} 444 445export function isDateValid(day, month, year) { 446 var error;
447 if (day == "DÃa" || month == "Mes" || year == "Año") { 448 error = "Fechas Incompletas"; 449 } 450 if (month == "02" && (day == "30" || day == "31")) { 451 error = "La fecha no es correcta"; 452 } else if (month == "02" && day == "29" && bisiestos.indexOf(year) == -1) { 453 error = "La fecha no es correcta"; 454 } else if (meses30.indexOf(month) != -1 && day == "31") { 455 error = "La fecha no es correcta"; 456 } 457 458 return error; 459} 460 461export function getObjectFromDates(year, month, day) { 462 return { "birthDate": year + "-" + month + "-" + day }; 463} 464 465export function getStringFromDates(key, insured) { 466 if (currentQuestion.indexOf("dob_policyholder") != -1) { 467 return insured.birthDate.split("-")[2] + "/" + insured.birthDate.split("-")[1] + "/" + insured.birthDate.split("-")[0] + "<br/>"; 468 } else { 469 return insured.birthDate.split("-")[2] + "/" + insured.birthDate.split("-")[1] + "/" + insured.birthDate.split("-")[0] + "<br/>"; 470 } 471} 472 473export function customTextToBot(textToBot) { 474 if (textToBot[0] != undefined && textToBot[0].birthDate != undefined && currentQuestion.indexOf("dob") == -1) { 475 return textToBot[0].birthDate; 476 } else { 477 return textToBot; 478 } 479} 480 481export function generateCustomImagePromotion(text) { 482 483 return undefined; 484} 485 486export function areResults(elements) { 487 return elements[0].buttons.length > 2 488} 489 490export var cardResultsHtml = "<div class='item notvisible'>" + 491 " <div class='zone1'>" + 492 " <div class='cardInfo'>" + 493 " <div class='cardTitle'>" + 494 " ###TITLE###" + 495 " </div>" + 496 " <div class='cardSubtitle'>" + 497 " ###SUBTITLE###" + 498 " </div>" + 499 " </div>" + 500 " </div>" + 501 " <div class='zone2'>" + 502 " <div class='cardImage'>" + 503 " <img class='imageCard' src='###IMAGE###' />" + 504 " </div>" + 505 " <div class='buttonsCard'>" + 506 " ###BUTTONS###" + 507 " </div>" + 508 " </div>" + 509 "</div>"; 510 511 512export var minDayforDates = ""; 513export var maxDayforDates = ""; 514 515function hideChatMessage() { 516 _Sn.Jq("#chatform").css("visibility", "hidden"); 517} 518 519function showChatMessage() { 520 _Sn.Jq("#chatform").css("visibility", "visible"); 521} 522 523/* 524_Sn.Jq.getJSON("https://api.ipify.org?format=json", function(data) { 525 console.log(data.ip); 526 527_Sn.Jq.ajax({ 528 url: "https://api.ipgeolocationapi.com/geolocate/184.149.48.32", 529}).done(function(data) { 530 console.log( data ); 531}); 532 533 534 535}) 536*/ 537setTimeout(function () { 538 saveValue("device", (isMobile ? "mobile" : "desktop")) 539}, 5000) 540 541export function manageEvents(message, jqEvent) { 542 if (message != undefined) { 543/* 544 if ( 545 546 ( 547 message.indexOf("get-call_telefono") != -1 || 548 message.indexOf("get-call_name") != -1 || 549 message.indexOf("get-call_email") != -1 || 550 message.indexOf("comparar-rendimiento_compararrendimiento_result1") != -1 || 551 message.indexOf("determinar-rendimiento_determinarrendimiento_result1") != -1 || 552 message.indexOf("collection_") != -1 || 553 message.indexOf("sin-afore_intro_noafore") != -1 || 554 message.indexOf("quees-afore_intro_quees") != -1 || 555 message.indexOf("conocer-estatus_intro_checkafore") != -1 || 556 message.indexOf("comoelegir-afore_intro_comoelegir") != -1 || 557 message.indexOf("masinfoescribir") != -1 558 ) 559 ) { 560 showChatMessage(); 561 } else { 562 hideChatMessage(); 563 } 564*/ 565 if (jqEvent != undefined && jqEvent.text != undefined && jqEvent.text.indexOf("<CATEGORY>") != -1) { 566 if (jqEvent.text.indexOf("<CATEGORY>GOLF") != -1) { setTimeout(() => { sendUserToQuestion("determine-customer-need_20001"); }, 1000) } 567 else if (jqEvent.text.indexOf("<CATEGORY>BEACH") != -1) { setTimeout(() => { sendUserToQuestion("determine-customer-need_20001"); }, 1000) } 568 else if (jqEvent.text.indexOf("<CATEGORY>OUTDOORS") != -1) { setTimeout(() => { sendUserToQuestion("determine-customer-need_20001"); }, 1000) } 569 else if (jqEvent.text.indexOf("<CATEGORY>FOOD") != -1) { setTimeout(() => { sendUserToQuestion("determine-customer-need_20001"); }, 1000) } 570 else if (jqEvent.text.indexOf("<CATEGORY>PLACES") != -1) { setTimeout(() => { sendUserToQuestion("determine-customer-need_20001"); }, 1000) } 571 else { setTimeout(() => { sendUserToQuestion("determine-customer-need_20001"); }, 1000) } 572 } 573 574 if (message.indexOf('icall') != -1) { 575 sentEvent({ id: _Sn.config.id, event: "bot_start_other" }); 576 } 577 if (message.indexOf("farewell_message_contactexpert") != -1) { 578 sentEvent({ id: _Sn.config.id, event: "bot_finish_callme" }); 579 } 580 if (message.indexOf("_contact_expert") != -1 && bot_start_callme == false) { 581 bot_start_callme = true; 582 sentEvent({ id: _Sn.config.id, event: "bot_start_callme" }); 583 } 584 if (message.indexOf("determine-mainproduct_promotions") != -1) { 585 bot_button1 = true; 586 sentEvent({ id: _Sn.config.id, event: "bot_button1" }); 587 } 588 if (bot_interacted == false && message == "bot_interacted") { 589 bot_interacted = true; 590 hasStarted = true; 591 saveValue("hasStarted", true); 592 sentEvent({ id: _Sn.config.id, event: "bot_interacted" }); 593 594 } 595 if (message == "bot_interacted") { 596 _Sn.Jq(".sentimer .volveraempezar").css("display", "block"); 597 } 598 if (message.indexOf("questionSent_") != -1) { 599 sentEvent({ id: _Sn.config.id, event: "questionSent", question: message.split("questionSent_")[1] }); 600 } 601 if (message.indexOf("-minibox") != -1) { 602 sentEvent({ id: _Sn.config.id, event: "CUSTOMIZED_EVENT:ShownMinibox:" + document.URL.split(":").join(("/")) }); 603 } 604 if (currentQuestion != undefined && currentQuestion.indexOf("date_start") != -1 && _Sn.Jq(".sentimer #message").val() == "") { 605 minDayforDates = getToday("-"); 606 } 607 if (currentQuestion != undefined && currentQuestion.indexOf("date_start") != -1 && _Sn.Jq(".sentimer #message").val() != "") { 608 minDayforDates = _Sn.Jq(".sentimer #message").val(); 609 } 610 if (jqEvent != undefined || message == 'textEntered') { 611 eventsToClient.forEach(function (event) { 612 if (currentQuestion.indexOf(event) != -1) { 613 var event = 'chat-' + (currentQuestion.indexOf('_') != -1 ? currentQuestion.split('_')[1] : currentQuestion); 614 _Sn.Jq('.sentimer').trigger(event, [textToSubmit]); 615 } 616 }) 617 } 618 } 619} 620 621var dateStart = ""; 622export function customVisualization(msg) { 623 if (currentQuestion != undefined) { 624 if (currentQuestion.indexOf("date_start") != -1 && needDatePicker) { 625 $('#pickerDate').datepicker({ 626 dateFormat: 'yy-mm-dd', 627 todayHighlight: true, 628 autoclose: true, 629 orientation: 'auto bottom' 630 }); 631 var fromdate = moment(); 632 $("#pickerDate").datepicker("setDate", fromdate.toDate()); 633 } 634 635 if (currentQuestion.indexOf("date_end") != -1 && needDatePicker) { 636 $('#pickerDate').datepicker({ 637 dateFormat: 'yy-mm-dd', 638 todayHighlight: true, 639 autoclose: true, 640 orientation: 'auto bottom' 641 }); 642 var todate = moment(); 643 $("#pickerDate").datepicker("option", 'minDate', dateStart.toDate()); 644 $("#pickerDate").datepicker("setDate", dateStart.toDate()); 645 } 646 } 647 if (isSafari) { 648 $(".sentimer #date").css('border-radius', '0px'); 649 } 650 //Solo queremos modificar la pregunta en caso de ser el ultimo bloque 651 if(msg.last && currentQuestion != undefined && currentQuestion.indexOf("edad") != -1 ) { 652 sentEvent({ id: _Sn.config.id, event: "CUSTOMIZED_EVENT:PREGUNTA EDAD:BOTONES"}) 653 } 654 655} 656 657export function customActionPostSendMessage(){ 658 //console.log("customActionPostSend;",currentQuestion.indexOf("edad"),_Sn.Jq(".age-afore").length) 659 if(currentQuestion.indexOf("edad") != -1 && _Sn.Jq(".age-afore").length == 1) { 660 _Sn.Jq(".age-afore").remove() 661 } 662} 663 664export function showCustomRange(range) { 665 var rangeSlider = document.getElementById('slider-range'); 666 var rangeSpan = document.getElementById('slider-span'); 667 668 if (rangeSlider != null) { 669 if (range == "customRange1") { 670 671 var bigValueSlider = rangeSlider; 672 var bigValueSpan = rangeSpan; 673 674 var range_all_sliders = { 675 'min': [50000], 676 '10%': [150000, 5000], 677 '50%': [20000, 10000], 678 'max': [1000000] 679 }; 680 681 var moneyFormat = wNumb({ 682 thousand: '.', 683 suffix: 'â¬', 684 decimals: 0 685 }); 686 687 var bigValueSlider = rangeSlider; 688 var bigValueSpan = rangeSpan; 689 690 noUiSlider.create(bigValueSlider, { 691 start: 200000, 692 connect: [true, false], 693 tooltips: [moneyFormat], 694 // format: wNumb({ 695 // decimals: 0 696 // }), 697 range: range_all_sliders 698 }); 699 700 bigValueSlider.noUiSlider.on('update', function (values, handle) { 701 bigValueSpan.innerHTML = moneyFormat.to(parseFloat(values[handle])); 702 }); 703 704 rangeSlider.noUiSlider.on('update', function (values, handle) { 705 document.getElementById("message").value = moneyFormat.to(parseFloat(values[handle])); 706 activateSendText(); 707 }); 708 } else if (range == "customRange2") { 709 710 var bigValueSlider = rangeSlider; 711 var bigValueSpan = rangeSpan; 712 713 var range_all_sliders = { 714 'min': [0], 715 '10%': [1000, 1000], 716 '50%': [50000, 1000], 717 'max': [100000] 718 }; 719 720 var moneyFormat = wNumb({ 721 thousand: '.', 722 suffix: 'â¬', 723 decimals: 0 724 }); 725 726 var bigValueSlider = rangeSlider; 727 var bigValueSpan = rangeSpan; 728 729 noUiSlider.create(bigValueSlider, { 730 start: 10000, 731 connect: [true, false], 732 tooltips: [moneyFormat], 733 // format: wNumb({ 734 // decimals: 0 735 // }), 736 range: range_all_sliders 737 }); 738 739 bigValueSlider.noUiSlider.on('update', function (values, handle) { 740 bigValueSpan.innerHTML = moneyFormat.to(parseFloat(values[handle])); 741 }); 742 743 rangeSlider.noUiSlider.on('update', function (values, handle) { 744 document.getElementById("message").value = moneyFormat.to(parseFloat(values[handle])); 745 activateSendText(); 746 }); 747 } else if (range == "customRange3") { 748 749 var bigValueSlider = rangeSlider; 750 var bigValueSpan = rangeSpan; 751 752 var range_all_sliders = { 753 'min': [0], 754 'max': [24] 755 }; 756 757 var moneyFormat = wNumb({ 758 thousand: '.', 759 suffix: ' hours', 760 decimals: 0 761 }); 762 763 var bigValueSlider = rangeSlider; 764 var bigValueSpan = rangeSpan; 765 766 noUiSlider.create(bigValueSlider, { 767 start: 100, 768 connect: [true, false], 769 tooltips: [moneyFormat], 770 // format: wNumb({ 771 // decimals: 0 772 // }), 773 range: range_all_sliders 774 }); 775 776 bigValueSlider.noUiSlider.on('update', function (values, handle) { 777 bigValueSpan.innerHTML = moneyFormat.to(parseFloat(values[handle])); 778 }); 779 780 rangeSlider.noUiSlider.on('update', function (values, handle) { 781 document.getElementById("message").value = moneyFormat.to(parseFloat(values[handle])); 782 activateSendText(); 783 }); 784 785 rangeSlider.noUiSlider.set(5); 786 787 } else if (range == "customRange4") { 788 789 var bigValueSlider = rangeSlider; 790 var bigValueSpan = rangeSpan; 791 792 var range_all_sliders = { 793 'min': [18], 794 'max': [65] 795 }; 796 797 var moneyFormat = wNumb({ 798 thousand: '.', 799 suffix: ' años', 800 decimals: 0 801 }); 802 803 var bigValueSlider = rangeSlider; 804 var bigValueSpan = rangeSpan; 805 806 noUiSlider.create(bigValueSlider, { 807 start: 35, 808 connect: [true, false], 809 tooltips: [moneyFormat], 810 // format: wNumb({ 811 // decimals: 0 812 // }), 813 range: range_all_sliders 814 }); 815 816 bigValueSlider.noUiSlider.on('update', function (values, handle) { 817 bigValueSpan.innerHTML = moneyFormat.to(parseFloat(values[handle])); 818 }); 819 820 rangeSlider.noUiSlider.on('update', function (values, handle) { 821 document.getElementById("message").value = moneyFormat.to(parseFloat(values[handle])); 822 activateSendText(); 823 }); 824 } else { 825 var slideOptionsRange = { 826 'min': [parseInt(rangeSlider.getAttribute('min'))], 827 'max': [parseInt(rangeSlider.getAttribute('max'))] 828 } 829 if (rangeSlider.getAttribute('scale') != '$SCALE') { 830 slideOptionsRange['70%'] = [parseInt(rangeSlider.getAttribute('scale'))] 831 } 832 833 noUiSlider.create(rangeSlider, { 834 start: [rangeSlider.getAttribute('start')], 835 step: parseInt(rangeSlider.getAttribute('step')), 836 tooltips: [wNumb({ decimals: rangeSlider.getAttribute('decimals') })], 837 range: slideOptionsRange, 838 839 format: wNumb({ 840 decimals: parseInt(rangeSlider.getAttribute('decimals')), 841 thousand: '.', 842 suffix: ' ' + rangeSlider.getAttribute('units'), 843 }) 844 }); 845 846 //sentimerJq('.noUi-value[data-value="0"]')[0].innerHTML = "mas de 5" 847 rangeSlider.noUiSlider.on('update', function (values, handle) { 848 document.getElementById("message").value = values[handle]; 849 activateSendText(); 850 }); 851 } 852 } 853} 854 855 856 857 858 859 860export function initializeUser() { 861 if (window.location.href.indexOf('test1') !== -1) { 862 _Sn.config.firstInteraction = "determine-specificproduct_100direct"; 863 } else { 864 var random = Math.floor(Math.random()*100) 865 if(random < 50){ 866 _Sn.config.firstInteraction = window.location.href;
867 sentEvent({id:_Sn.config.id,event:"CUSTOMIZED_EVENT:TEST NORMAL"}) 868 869 } else { 870 _Sn.config.firstInteraction = "determine-specificproduct_100direct"; 871 sentEvent({id:_Sn.config.id,event:"CUSTOMIZED_EVENT:TEST DIRECTO"}) 872 } 873 } 874} 875 876var eventsToClient = [ 877 878]; 879 880export var customRanges = { 881 "customRange1": "<div class='sent_range'><div id='slider-range' min='$MIN' max='$MAX' start='$START' pip1='$PIP1' pip2='$PIP2' units='$UNITS' decimals='$DECIMALS' step='$STEP' scale='$SCALE'></div><div class='confirmRangeButton'><button>Enviar</button></div></div>" + 882 "<div style='margin-top: 2em;text-align: center;font-weight: 600;'><span class='example-val' id='slider-span' style='display:none'>0</span></div>", 883 "customRange2": "<div class='sent_range'><div id='slider-range' min='$MIN' max='$MAX' start='$START' pip1='$PIP1' pip2='$PIP2' units='$UNITS' decimals='$DECIMALS' step='$STEP' scale='$SCALE'></div><div class='confirmRangeButton'><button>Enviar</button></div></div>" + 884 "<div style='margin-top: 2em;text-align: center;font-weight: 600;'><span class='example-val' id='slider-span' style='display:none'>0</span></div>", 885 "customRange3": "<div class='sent_range'><div id='slider-range' min='$MIN' max='$MAX' start='$START' pip1='$PIP1' pip2='$PIP2' units='$UNITS' decimals='$DECIMALS' step='$STEP' scale='$SCALE'></div><div class='confirmRangeButton'><button>Enviar</button></div></div>" + 886 "<div style='margin-top: 2em;text-align: center;font-weight: 600;'><span class='example-val' id='slider-span' style='display:none'>0</span></div>", 887 "customRange4": "<div class='sent_range'><div id='slider-range' min='$MIN' max='$MAX' start='$START' pip1='$PIP1' pip2='$PIP2' units='$UNITS' decimals='$DECIMALS' step='$STEP' scale='$SCALE'></div><div class='confirmRangeButton'><button>Enviar</button></div></div>" + 888 "<div style='margin-top: 2em;text-align: center;font-weight: 600;'><span class='example-val' id='slider-span' style='display:none'>0</span></div>", 889 "customRangeTEST": "<div class='sent_range'><div id='slider-range' min='$MIN' max='$MAX' start='$START' pip1='$PIP1' pip2='$PIP2' units='$UNITS' decimals='$DECIMALS' step='$STEP' scale='$SCALE'></div></div>" + 890 "<div style='margin-top: 2em;text-align: center;font-weight: 600;'><span class='example-val' id='slider-span'>0</span></div>", 891 892} 893 894 895export var validChars = 'TRWAGMYFPDXBNJZSQVHLCKET'; 896 897var customForm = { 898 "id": "form", 899 "name": "make-appointment", 900 "form_aux": "get-call", 901 "class": "ehcdc-formform", 902 "fields": { 903 "nombre": { 904 "regex": "", 905 "value": "", 906 "sensible": true, 907 }, 908 "apellidos": { 909 "regex": "", 910 "value": "", 911 "sensible": true, 912 }, 913 "email": { 914 "regex": "^[\\w\\W]+@([a-zA-Z_\\d]+\\.)+[a-zA-Z_]{2,}$|[\\s,:][\\w\\W]+@([a-zA-Z_\\d]+\\.)+[a-zA-Z_]{2,}|^[\\w\\W]+@([a-zA-Z_\\d]+\\.)+[a-zA-Z_]{2,}[\\s,:]|[\\s,:][\\w\\W]+@([a-zA-Z_\\d]+\\.)+[a-zA-Z_]{2,}[\\s,:]", 915 "value": "", 916 "sensible": true, 917 "mask": " [EMAIL] ", 918 }, 919 "telefono": { 920 "regex": "^(([0-9]{3})[.-]?|[0-9]{3}[.-]?)[0-9]{3}[.-]?[0-9]{4}|[\\s,:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ](([0-9]{3})[.-]?|[0-9]{3}[.-]?)?[0-9]{3}[.-]?[0-9]{4}|^(\\+34|0034|34)?[\\s|\\-|\\.]?[1|2|3|4|5|6|7|8|9][\\s|\\-|\\.]?([0-9][\\s|\\-|\\.]?){8}[\\s,:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]|[\\s,:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ](\\+34|0034|34)?[\\s|\\-|\\.]?[1|2|3|4|5|6|7|8|9][\\s|\\-|\\.]?([0-9][\\s|\\-|\\.]?){8}[\\s,:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]", 921 //NUEVA LINEA REGEX "regex": "^(([0-9]{3})[.-]?|[0-9]{3}[.-]?)[0-9]{3}[.-]?[0-9]{4}|[\\s,:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ](([0-9]{3})[.-]?|[0-9]{3}[.-]?)?[0-9]{3}[.-]?[0-9]{4}|^(\\+34|0034|34)?[\\s|\\-|\\.]?[1|2|3|4|5|6|7|8|9][\\s|\\-|\\.]?([0-9][\\s|\\-|\\.]?){8}[\\s,:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]|[\\s,:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ](\\+34|0034|34)?[\\s|\\-|\\.]?[1|2|3|4|5|6|7|8|9][\\s|\\-|\\.]?([0-9][\\s|\\-|\\.]?){8}[\\s,:abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]", 922 "value": "", 923 "sensible": true, 924 "mask": " [PHONE] ", 925 }, 926 /* 927 "movil":{ 928 "regex" : "^[0-9]{7,}$|[\\s,:][0-9]{7,}$|^[0-9]{7,}[\\s,:]|[\\s,:][0-9]{7,}[\\s,:]", 929 "value":"", 930 "sensible" : true, 931 "mask" : " [PHONE] ", 932 }, 933 "userphone":{ 934 "regex" : "^[0-9]{7,}$|^[0-9]{7,}[\\s,:]", 935 "value":"", 936 "sensible" : true, 937 "mask" : " [PHONE] ", 938 }, 939 "customphone":{ 940 "regex" : "^[0-9]{3}[-.][0-9]{3}[-.][0-9]{4}$|^[0-9]{3}[-.][0-9]{3}[-.][0-9]{4}[\\s,:]|[\\s,:][0-9]{3}[-.][0-9]{3}[-.][0-9]{4}$|[\\s,:][0-9]{3}[-.][0-9]{3}[-.][0-9]{4}[\\s,:]|^[0-9]{10}$|^[0-9]{10}[\\s,:]|[\\s,:][0-9]{10}$|[\\s,:][0-9]{10}[\\s,:]", 941 "regexValue" : "[0-9]{3}[-.][0-9]{3}[-.][0-9]{4}|[0-9]{10}", 942 "value":"", 943 "sensible" : true, 944 "mask" : " [PHONE] ", 945 }, 946 */ 947 "provincia": { 948 "regex": "", 949 "value": "", 950 "sensible": false, 951 }, 952 "name": { 953 "regex": "", 954 "value": "", 955 "sensible": false, 956 }, 957 "surname": { 958 "regex": "", 959 "value": "", 960 "sensible": false, 961 }, 962 "comment": { 963 "regex": " ", 964 "value": "", 965 "sensible": false, 966 }, 967 "zipcode": { 968 "regex": "^([0-9]){5}$|^([0-9]){5}[\\s,:]|[\\s,:]([0-9]){5}$|[\\s,:]([0-9]){5}[\\s,:]", 969 "value": "", 970 "sensible": false, 971 "mask": " [ZIPCODE] ", 972 }, 973 "tipoFormularioConfigurador": { 974 "regex": "", 975 "value": "", 976 "sensible": false, 977 }, 978 "idBloque": { 979 "regex": "", 980 "value": "", 981 "sensible": false, 982 }, 983 "numeroTarjetaCarrefour": { 984 "regex": "^((28\\d{11})|(20\\d(5|6)\\d{9})|(27\\d(8|9)\\d{9})|(27\\d(50)\\d{8}))$|^((28\\d{11})|(20\\d(5|6)\\d{9})|(27\\d(8|9)\\d{9})|(27\\d(50)\\d{8}))[\\s,:]|[\\s,:]((28\\d{11})|(20\\d(5|6)\\d{9})|(27\\d(8|9)\\d{9})|(27\\d(50)\\d{8}))$|[\\s,:]((28\\d{11})|(20\\d(5|6)\\d{9})|(27\\d(8|9)\\d{9})|(27\\d(50)\\d{8}))[\\s,:]", 985 "value": "", 986 "sensible": false, 987 "mask": " [CARRCARDNUMBER] ", 988 }, 989 "numeroTarjetaCarrefourNEW": { 990 "regex": "^((28\\d{11})|(20\\d(5|6)\\d{9})|(27\\d(8|9)\\d{9})|(27\\d(50)\\d{8}))$|^((28\\d{11})|(20\\d(5|6)\\d{9})|(27\\d(8|9)\\d{9})|(27\\d(50)\\d{8}))[\\s,:]|[\\s,:]((28\\d{11})|(20\\d(5|6)\\d{9})|(27\\d(8|9)\\d{9})|(27\\d(50)\\d{8}))$|[\\s,:]((28\\d{11})|(20\\d(5|6)\\d{9})|(27\\d(8|9)\\d{9})|(27\\d(50)\\d{8}))[\\s,:]", 991 "value": "", 992 "sensible": false, 993 "mask": " [CARRCARDNUMBER] ", 994 }, 995 "beNotified": { 996 "regex": "", 997 "value": "", 998 "sensible": false, 999 }, 1000 "submit": { 1001 "regex": "", 1002 "value": "", 1003 "sensible": false, 1004 }, 1005 "checkbox": { 1006 "regex": "", 1007 "value": "", 1008 "sensible": false, 1009 }, 1010 "camInformativa": { 1011 "regex": "", 1012 "value": "", 1013 "sensible": false, 1014 }, 1015 "dni": { 1016 "regex": "^[0-9]{8}[TRWAGMYFPDXBNJZSQVHLCKETtrwagmyfpdxbnjzsqvhlcket]{1}|[\\s,:][0-9]{8}[TRWAGMYFPDXBNJZSQVHLCKETtrwagmyfpdxbnjzsqvhlcket]{1}|[TRWAGMYFPDXBNJZSQVHLCKETtrwagmyfpdxbnjzsqvhlcket]{1}[0-9]{8}$|[TRWAGMYFPDXBNJZSQVHLCKETtrwagmyfpdxbnjzsqvhlcket]{1}[0-9]{8}[\\s,:]|[0-9]{8}
1016[-/\\s\\.]?[TRWAGMYFPDXBNJZSQVHLCKETtrwagmyfpdxbnjzsqvhlcket]{1}|[0-9]{2}[\\.][0-9]{3}[\\.][0-9]{3}[-/\\s\\.]?[TRWAGMYFPDXBNJZSQVHLCKETtrwagmyfpdxbnjzsqvhlcket]{1}", 1017 "value": "", 1018 "sensible": true, 1019 "mask": " [DNI] ", 1020 }, 1021 "nif": { 1022 "regex": "[XYZxyz][-/\\s\\.]?[0-9]{7}[-/\\s\\.]?[TRWAGMYFPDXBNJZSQVHLCKETtrwagmyfpdxbnjzsqvhlcket]|[XYZxyz][-/\\s\\.]?[0-9]{1}[-/\\s\\.]?[0-9]{1}[-/\\s\\.]?[0-9]{1}[-/\\s\\.]?[0-9]{1}[-/\\s\\.]?[0-9]{1}[-/\\s\\.]?[0-9]{1}[-/\\s\\.]?[0-9]{1}[-/\\s\\.]?[TRWAGMYFPDXBNJZSQVHLCKETtrwagmyfpdxbnjzsqvhlcket]", 1023 "value": "", 1024 "sensible": true, 1025 "mask": " [NIE] ", 1026 }, 1027 "poliza": { 1028 "regex": "[0-9]{8}", 1029 "value": "", 1030 "sensible": true, 1031 "mask": " [XXXYYYZZZ] ", 1032 } 1033 } 1034} 1035 1036initialiceForm(customForm); 1037 1038export var correctableQuestions = [ 1039 "destination", 1040 "travelgoal", 1041 "date_start", 1042 "date_end", 1043 "isfamily", 1044 "dob" 1045]; 1046 1047var customForm = { 1048 "name": "make-appointment", 1049 "form_aux": "get-call" 1050} 1051 1052export var hookQuestions = [ 1053 "nombreyapellidos_nombreyapellidos", 1054 "dninif_dninif", 1055 "telefono_telefono", 1056 "edad_edad" 1057] 1058 1059export function manageValidField(field, lastInteractionText) { 1060 switch (field) { 1061 case "name": saveValueForm("name", get_nombre(lastInteractionText)); 1062 break; 1063 case "apellidos": saveValueForm("apellidos", get_apellidos(lastInteractionText)) 1064 break; 1065 case "email": saveValueForm("email", get_email(lastInteractionText)) 1066 submitForm(); 1067 break; 1068 case "telefono": saveValueForm("telefono", get_telefono(lastInteractionText)) 1069 break; 1070 case "movil": saveValueForm("movil", get_movil(lastInteractionText)) 1071 break; 1072 case "userphone": 1073 saveValueForm("userphone", get_movil(lastInteractionText)); 1074 break; 1075 case "customphone": 1076 saveValueForm("customphone", get_customphone(lastInteractionText)); 1077 break; 1078 case "provincia": saveValueForm("provincia", get_provincia(lastInteractionText)); 1079 break; 1080 case "zipcode": saveValueForm("zipcode", get_zipcode(lastInteractionText)); 1081 break; 1082 case "submit": submitForm(); 1083 break; 1084 case "checkbox": submitForm(); 1085 break; 1086 default: break; 1087 } 1088} 1089 1090export function manageResponse(text) { 1091 if (currentQuestion.indexOf("date_start") != -1) { 1092 dateStart = moment(text, "DD-MM-YYYY"); 1093 } 1094} 1095 1096export function setFormData(currentQuestion, value) { 1097 if (currentQuestion != undefined) { 1098 Object.keys(form.fields).forEach(function (field) { 1099 if (currentQuestion.indexOf(field) != -1 && (form.fields[field].ignore == undefined || form.fields[field].ignore != true)) { 1100 form.fields[field].value = value; 1101 } 1102 }) 1103 } 1104} 1105 1106function submitForm() { 1107 if (form.fields.email.value != '') { 1108 1109 var data = { 1110 "nombre": form.fields.name.value, 1111 "paterno": "empty", 1112 "materno": "empty", 1113 "telefono": form.fields.telefono.value, 1114 "correo": form.fields.email.value, 1115 "recaptcha": window.recaptcha 1116 } 1117 1118 let all = window.location.href.split("/") 1119 all.pop() 1120 1121 var settings = { 1122 "url": all.join('/') + _Sn.config.endpointForm, 1123 "headers": { "X-CSRF-TOKEN": document.querySelector('meta[name="_csrf"]')?.content, "Content-Type": "application/json; charset=utf-8" }, 1124 "method": "POST", 1125 "data": JSON.stringify(data), 1126 }; 1127 1128 _Sn.Jq.ajax(settings).done(function (response) { 1129 1130 }); 1131 1132 1133 } 1134} 1135 1136function get_nombreyapellidos(raw_value) { 1137 var value; 1138 value = raw_value; 1139 return value 1140} 1141function get_when2contact(raw_value) { 1142 var value; 1143 if (raw_value == "De 9 a 14h") { 1144 value = "mañana"; 1145 } else if (raw_value == "De 16 h a 21 h") { 1146 value = "tarde"; 1147 } else if (raw_value == "A cualquier hora") { 1148 value = ""; 1149 } 1150 return value; 1151} 1152function get_dninif(raw_value) { 1153 var value; 1154 var patt = new RegExp(form.fields["dninif"]["I"].regex); 1155 value = patt.exec(raw_value); 1156 if (value != null) { 1157 return getDNINumber(value[0]) + getDNILetter(value[0]); 1158 } else { 1159 patt = new RegExp(form.fields["dninif"]["T"].regex); 1160 value = patt.exec(raw_value); 1161 if (value != null) { 1162 return value[0]; 1163 } else { 1164 return raw_value; 1165 } 1166 } 1167} 1168function get_nombre(raw_value) { 1169 var value; 1170 value = raw_value; 1171 return value; 1172} 1173function get_apellidos(raw_value) { 1174 var value; 1175 value = raw_value; 1176 return value; 1177} 1178function get_email(raw_value) { 1179 var value; 1180 var patt = new RegExp(form.fields["email"].regex) 1181 value = patt.exec(raw_value)[0]; 1182 return value; 1183} 1184function get_userfullname(raw_value) { 1185 var value; 1186 value = raw_value; 1187 return value; 1188} 1189function get_name(raw_value) { 1190 var value; 1191 value = raw_value; 1192 return value; 1193} 1194function get_surname(raw_value) { 1195 var value; 1196 value = raw_value; 1197 return value; 1198} 1199function get_comment(raw_value) { 1200 var value; 1201 value = raw_value; 1202 return value; 1203} 1204function get_telefono(raw_value) { 1205 var value; 1206 var patt = new RegExp(form.fields["telefono"].regex) 1207 value = cleanPunctuation(patt.exec(raw_value)[0]).slice(-10); 1208 return value 1209} 1210 1211var zipcode; 1212function get_zipcode(raw_value) { 1213 var value; 1214 var patt = new RegExp(form.fields["zipcode"].regexValue) 1215 value = cleanPunctuation(patt.exec(raw_value)[0]); 1216 zipcode = value; 1217 return value 1218} 1219function get_customphone(raw_value) { 1220 var value; 1221 var patt = new RegExp(form.fields["customphone"].regexValue) 1222 value = cleanPunctuation(patt.exec(raw_value)[0]); 1223 return value 1224} 1225function get_edad(raw_value) { 1226 var value; 1227 var patt = new RegExp(form.fields["edad"].regex); 1228 value = patt.exec(raw_value)[0]; 1229 return value 1230} 1231function get_checkbox(raw_value) { 1232 var value; 1233 if (raw_value == "SÃ, acepto") { 1234 value = "yes"; 1235 } else { 1236 value = "no"; 1237 } 1238 return value; 1239} 1240function get_submit(raw_value) { 1241 var value 1242 if (raw_value == "SÃ, acepto") { 1243 value = "T"; 1244 } else { 1245 value = "F"; 1246 } 1247 return value; 1248} 1249 1250_Sn.Jq('body').on('click', ".seeMore", function () { 1251}); 1252 1253_Sn.Jq('body').on('click', ".visit-web", function () { 1254 sentEvent({ id: _Sn.config.id, event: "bot_gotopage" }); 1255}); 1256 1257var _SnIntervalCheckURL = setInterval(manageVisibility, 2000) 1258 1259 1260_Sn.Jq('body').on('click', '.nav', () => { 1261 setTimeout(manageVisibility, 500) 1262} 1263) 1264//_Sn.Jq('body :not(#ned09-chtbt)').click(()=>{hideChatBox()}) 1265 1266function isPageAllowedForChat() { 1267 return true 1268} 1269 1270function manageVisibility() { 1271 if (window.location.href.indexOf('oculta') != -1) { 1272 hideChatBox() 1273 _Sn.Jq("#ned09-chtbt").addClass('not-allowed-page') 1274 _Sn.Jq(".sentimer").addClass('not-allowed-page') 1275 } else { 1276 if (!isPageAllowedForChat()) { 1277 hideChatBox() 1278 _Sn.Jq("#ned09-chtbt").addClass('not-allowed-page') 1279 _Sn.Jq(".sentimer").addClass('not-allowed-page') 1280 } else { 1281 _Sn.Jq("#ned09-chtbt").removeClass('not-allowed-page') 1282 _Sn.Jq(".sentimer").removeClass('not-allowed-page') 1283 } 1284 } 1285} 1286 1287export function startCustomListening() { 1288} 1289 1290export function manageABtesting() { 1291 1292 1293 1294} 1295 1296export async function customizeStart() { 1297 return new Promise((resolve, reject) => { 1298 resolve("done!") 1299 1300 }) 1301} 1302 1303 1304const findMyLocation = () => { 1305 const success = (position) => { 1306 console.log(position); 1307 } 1308 const error = () => { 1309 console.log("unable to retrieve oyur location") 1310 } 1311 1312 navigator.geolocation.getCurrentPosition(success, error) 1313} 1314
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.