{"id":510,"date":"2024-11-11T15:02:02","date_gmt":"2024-11-11T15:02:02","guid":{"rendered":"https:\/\/clinicasdelazucar.com\/us\/es\/?page_id=510"},"modified":"2026-01-22T17:34:13","modified_gmt":"2026-01-22T17:34:13","slug":"formulario_citas","status":"publish","type":"page","link":"https:\/\/clinicasdelazucar.com\/us\/es\/formulario_citas\/","title":{"rendered":"Citas"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"510\" class=\"elementor elementor-510\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b362b12 e-flex e-con-boxed e-con e-parent\" data-id=\"b362b12\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-ffb9281 e-con-full e-flex e-con e-child\" data-id=\"ffb9281\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9ef26da elementor-widget elementor-widget-image\" data-id=\"9ef26da\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"400\" height=\"551\" src=\"https:\/\/clinicasdelazucar.com\/us\/es\/wp-content\/uploads\/2025\/01\/cda-banner-haz-tu-cita-9En25-02.png\" class=\"attachment-large size-large wp-image-807\" alt=\"\" srcset=\"https:\/\/clinicasdelazucar.com\/us\/es\/wp-content\/uploads\/2025\/01\/cda-banner-haz-tu-cita-9En25-02.png 400w, https:\/\/clinicasdelazucar.com\/us\/es\/wp-content\/uploads\/2025\/01\/cda-banner-haz-tu-cita-9En25-02-218x300.png 218w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-43e9284 e-con-full e-flex e-con e-child\" data-id=\"43e9284\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-64f6253 elementor-hidden-desktop elementor-hidden-tablet elementor-widget elementor-widget-spacer\" data-id=\"64f6253\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b11bded e-con-full e-flex elementor-invisible e-con e-child\" data-id=\"b11bded\" data-element_type=\"container\" data-settings=\"{&quot;animation&quot;:&quot;fadeIn&quot;,&quot;animation_delay&quot;:200}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-99bb6ed elementor-widget__width-initial elementor-widget elementor-widget-heading\" data-id=\"99bb6ed\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Comienza hoy mismo<\/h1>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b110433 elementor-widget elementor-widget-html\" data-id=\"b110433\" data-element_type=\"widget\" data-settings=\"{&quot;_animation&quot;:&quot;none&quot;,&quot;_animation_delay&quot;:0}\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<script charset=\"utf-8\" type=\"text\/javascript\" src=\"\/\/js.hsforms.net\/forms\/embed\/v2.js\"><\/script>\r\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/sweetalert\/2.1.2\/sweetalert.min.js\"><\/script>\r\n\r\n<script>\r\n  \/\/ 1. CREACI\u00d3N DEL FORMULARIO\r\n  hbspt.forms.create({\r\n    portalId: \"24082673\",\r\n    formId: \"c4d9e92d-1613-44db-9867-1f951c76504c\"\r\n  });\r\n\r\n  \/\/ 2. EL VIGILANTE DE SEGURIDAD\r\n  var vigilanteForm = setInterval(function() {\r\n    var iframe = document.querySelector('iframe.hs-form-iframe');\r\n    var fDoc = iframe ? (iframe.contentDocument || iframe.contentWindow.document) : document;\r\n    var form = fDoc.querySelector('form');\r\n    var submitBtn = fDoc.querySelector('input[type=\"submit\"]');\r\n    \r\n    \/\/ Referencias\r\n    var phoneInput = fDoc.querySelector('[name=\"phone\"]');\r\n    var fechaInput = fDoc.querySelector('[name=\"appointment_date\"]');\r\n    var horaInput = fDoc.querySelector('[name=\"time\"]');\r\n    var zipInput = fDoc.querySelector('[name=\"zip\"]');\r\n    var nombreInput = fDoc.querySelector('[name=\"firstname\"]');\r\n    var apellidoInput = fDoc.querySelector('[name=\"lastname\"]');\r\n\r\n    if (form && submitBtn && phoneInput && !fDoc.getElementById('security_layer_active')) {\r\n      \r\n      var marker = fDoc.createElement('div');\r\n      marker.id = 'security_layer_active';\r\n      form.appendChild(marker);\r\n\r\n      \/\/ --- SEGURIDAD 1: CRON\u00d3METRO (Time-Trap) ---\r\n      \/\/ Registramos el momento exacto en que el formulario se mostr\u00f3\r\n      var tiempoCarga = new Date().getTime();\r\n\r\n      \/\/ --- SEGURIDAD 2: HONEYPOT (Campo Trampa) ---\r\n      \/\/ Campo invisible. Si se llena, es un bot.\r\n      var honeypot = fDoc.createElement('input');\r\n      honeypot.type = \"text\";\r\n      honeypot.id = \"website_confirm_field\"; \/\/ Nombre tentador para bots\r\n      honeypot.style.cssText = \"opacity: 0; position: absolute; top: 0; left: 0; height: 0; width: 0; z-index: -1;\";\r\n      honeypot.autocomplete = \"off\";\r\n      honeypot.tabIndex = -1; \/\/ Para que el usuario no llegue con TAB\r\n      form.appendChild(honeypot);\r\n\r\n      \/\/ --- A. LADA \/ SELECTOR DE PA\u00cdS ---\r\n      var inputGroup = fDoc.createElement(\"div\");\r\n      inputGroup.style.cssText = \"display:flex; align-items:center; border:1px solid #ccc; border-radius:5px; overflow:hidden; margin-bottom:10px;\";\r\n      \r\n      var countrySelector = fDoc.createElement(\"select\");\r\n      countrySelector.innerHTML = '<option value=\"+1\">US<\/option><option value=\"+52\">MX<\/option>';\r\n      countrySelector.style.cssText = \"border:none; padding:5px; width:4rem; background:#f9f9f9; height:38px; font-size:14px;\";\r\n      countrySelector.value = \"+1\";\r\n\r\n      phoneInput.style.border = \"none\";\r\n      phoneInput.style.flexGrow = \"1\";\r\n      phoneInput.style.padding = \"5px\";\r\n\r\n      phoneInput.parentNode.insertBefore(inputGroup, phoneInput);\r\n      inputGroup.appendChild(countrySelector);\r\n      inputGroup.appendChild(phoneInput);\r\n\r\nlet lastCode = countrySelector.value;\r\n\r\nfunction updatePhoneNumber(e) {\r\n    let currentCode = countrySelector.value;\r\n    let val = phoneInput.value;\r\n\r\n   \r\n    if (!val.startsWith(currentCode)) {\r\n     \r\n        let cleanDigits = val.replace(\/^\\+\\d+\/, '').replace(\/[^\\d]\/g, '');\r\n        phoneInput.value = currentCode + cleanDigits.substring(0, 10);\r\n    } else {\r\n    \r\n        let digits = val.substring(currentCode.length).replace(\/[^\\d]\/g, '');\r\n        phoneInput.value = currentCode + digits.substring(0, 10);\r\n    }\r\n\r\n    lastCode = currentCode;\r\n}\r\n\r\n\r\ncountrySelector.addEventListener(\"change\", () => {\r\n    let digits = phoneInput.value.replace(lastCode, '').replace(\/[^\\d]\/g, '');\r\n    phoneInput.value = countrySelector.value + digits.substring(0, 10);\r\n    lastCode = countrySelector.value;\r\n});\r\n\r\nphoneInput.addEventListener(\"input\", updatePhoneNumber);\r\n\r\n    \/\/   function updatePhoneNumber() {\r\n    \/\/     var code = countrySelector.value;\r\n    \/\/     var digits = phoneInput.value.replace(code, '').replace(\/[^\\d]\/g, '');\r\n    \/\/     phoneInput.value = code + digits.substring(0, 10);\r\n    \/\/   }\r\n    \/\/   countrySelector.addEventListener(\"change\", updatePhoneNumber);\r\n    \/\/   phoneInput.addEventListener(\"input\", updatePhoneNumber);\r\n\r\n      \/\/ --- B. CONSENTIMIENTO (DEBAJO DEL BOT\u00d3N) ---\r\n      var consentSection = fDoc.createElement(\"div\");\r\n      consentSection.className = \"hs_consent_section\";\r\n      consentSection.style.cssText = \"color:black; font-weight:bold; border:1px solid #FFE98D; padding:10px; margin-top:20px; background-color:#FFE98D; text-align:center; max-width:400px; margin-left:auto; margin-right:auto; border-radius:5px; font-size:12px; line-height:1.4;\";\r\n      \r\n      consentSection.innerHTML = `\r\n        <label style=\"cursor:pointer; display:block;\">\r\n          <input type=\"checkbox\" id=\"consent_checkbox\" style=\"margin-right: 8px; vertical-align:top; margin-top:3px;\">\r\n          By checking this box, I confirm that I have read and agree to the <a target=\"_blank\" href=\"https:\/\/clinicasdelazucar.com\/us\/es\/terminos-y-condiciones\/\" style=\"text-decoration:underline; color:black;\">Privacy Policy<\/a>, including the use of cookies and similar technologies. I consent to the collection, use, and processing of my personal information as described in the document.\r\n        <\/label>\r\n      `;\r\n      \r\n      if (submitBtn.nextSibling) {\r\n        submitBtn.parentNode.insertBefore(consentSection, submitBtn.nextSibling);\r\n      } else {\r\n        submitBtn.parentNode.appendChild(consentSection);\r\n      }\r\n\r\n      \/\/ --- C. VALIDACI\u00d3N Y SEGURIDAD AL CLIC ---\r\n      submitBtn.addEventListener('click', function(e) {\r\n        var enviarDatos = 0;\r\n        var txt_error = \"\";\r\n\r\n        \/\/ --- CHEQUEO DE SEGURIDAD ANTI-BOT ---\r\n        var tiempoActual = new Date().getTime();\r\n        \r\n        \/\/ 1. Si el Honeypot tiene texto, es un robot (Bloqueo silencioso)\r\n        if (honeypot.value !== \"\") {\r\n          console.log(\"Bot detectado (Honeypot)\");\r\n          e.preventDefault();\r\n          e.stopPropagation();\r\n          return false; \r\n        }\r\n\r\n        \/\/ 2. Si tard\u00f3 menos de 2.5 segundos en llenar todo, es sospechoso\r\n        if ((tiempoActual - tiempoCarga) < 2500) {\r\n          console.log(\"Env\u00edo demasiado r\u00e1pido (Posible Bot)\");\r\n          \/\/ No mostramos alerta, solo prevenimos para no dar pistas al bot\r\n          e.preventDefault(); \r\n          e.stopPropagation();\r\n          return false;\r\n        }\r\n\r\n        \/\/ --- VALIDACIONES DE NEGOCIO ---\r\n\r\n        \/\/ Fechas y Horarios\r\n        if (fechaInput && fechaInput.value !== \"\") {\r\n          var diadelasemana = fechaInput.value;\r\n          var dt = new Date(diadelasemana + 'T00:00:00');\r\n          var dias = [\"dom\", \"lun\", \"mar\", \"mi\u00e9\", \"jue\", \"vie\", \"s\u00e1b\"];\r\n          var diadelassemana = dias[dt.getDay()];\r\n          var horavalida = horaInput ? horaInput.selectedIndex : -1;\r\n\r\n          var hoy = new Date();\r\n          hoy.setHours(0,0,0,0);\r\n          var date_2 = hoy.toISOString().split('T')[0];\r\n          \r\n        \/\/  var holyydays = [\"2026-01-01\", \"2026-12-25\",  \"2025-12-25\"];\r\n        var holyydays = [\r\n                \"2026-01-01\", \/\/ New Year\u2019s Day\r\n                \"2026-05-25\", \/\/ Memorial Day\r\n                \"2026-07-03\", \/\/ Independence Day (Observado - cae viernes porque el 4 es s\u00e1bado)\r\n                \"2026-09-07\", \/\/ Labor Day\r\n                \"2026-11-26\", \/\/ Thanksgiving Day\r\n                \"2026-12-25\"  \/\/ Christmas Day\r\n            ];\r\n          \r\n          if (holyydays.includes(diadelasemana)) {\r\n            txt_error += \"* Favor de seleccionar d\u00eda h\u00e1bil\\n\";\r\n            enviarDatos = 1;\r\n          }\r\n          if (diadelasemana < date_2) {\r\n            txt_error += \"* Favor de seleccionar un d\u00eda que sea mayor o igual al d\u00eda de hoy\\n\";\r\n            enviarDatos = 1;\r\n          }\r\n          if (diadelassemana == \"dom\") {\r\n            txt_error += \"* Favor de seleccionar d\u00eda habil (Lunes a s\u00e1bado)\\n\";\r\n            enviarDatos = 1;\r\n          }\r\n          if (diadelassemana == \"s\u00e1b\" && horavalida >= 11) {\r\n            txt_error += \"* Los s\u00e1bados el horario de atenci\u00f3n es de 8:00 am a 01:00 pm\\n\";\r\n            enviarDatos = 1;\r\n          }\r\n          if (diadelassemana !== \"s\u00e1b\" &&diadelassemana !== \"dom\" && horavalida >= 21) {\r\n            txt_error += \"* El horario de atenci\u00f3n es de 8:00 am a 06:00 pm\\n\";\r\n            enviarDatos = 1;\r\n          }\r\n          var esVespera = (diadelasemana.endsWith(\"-12-24\") || diadelasemana.endsWith(\"-12-31\"));\r\n          if (esVespera && horavalida >= 13) {\r\n            txt_error += \"* El horario de atenci\u00f3n es de 8:00 am a 2:30 pm\\n\";\r\n            enviarDatos = 1;\r\n          }\r\n        }\r\n\r\n        \/\/ Checkbox\r\n        var consentCheckbox = fDoc.querySelector(\"#consent_checkbox\");\r\n        if (!consentCheckbox || !consentCheckbox.checked) {\r\n          txt_error += \"* Favor de aceptar los t\u00e9rminos y condiciones\\n\";\r\n          enviarDatos = 1;\r\n        }\r\n\r\n        \/\/ Tel\u00e9fono\r\n        if (!\/^\\+(1|52)\\d{10}$\/.test(phoneInput.value)) {\r\n          txt_error += \"* El n\u00famero de tel\u00e9fono debe comenzar con +1 o +52 y tener 10 d\u00edgitos.\\n\";\r\n          enviarDatos = 1;\r\n        }\r\n\r\n        \/\/ Zipcode\r\n        if (zipInput && zipInput.value != \"\" && !\/^\\d{5}$\/.test(zipInput.value)) {\r\n          txt_error += \"* Favor de ingresar un zipcode v\u00e1lido\\n\";\r\n          enviarDatos = 1;\r\n        }\r\n\r\n        \/\/ --- SEGURIDAD 3: PATRONES DE NOMBRES FALSOS ---\r\n        \/\/ Regex para detectar caracteres repetidos m\u00e1s de 3 veces (ej: \"aaaa\")\r\n        var patronRepetido = \/(.)\\1{3,}\/; \r\n\r\n        if (nombreInput && nombreInput.value != \"\") {\r\n          if (!\/^[A-Za-z\u00c1\u00c9\u00cd\u00d3\u00da\u00e1\u00e9\u00ed\u00f3\u00fa\u00d1\u00f1 ]{2,}$\/.test(nombreInput.value) || patronRepetido.test(nombreInput.value)) {\r\n            txt_error += \"* Favor de ingresar un nombre v\u00e1lido\\n\";\r\n            enviarDatos = 1;\r\n          }\r\n        }\r\n        if (apellidoInput && apellidoInput.value != \"\") {\r\n          if (!\/^[A-Za-z\u00c1\u00c9\u00cd\u00d3\u00da\u00e1\u00e9\u00ed\u00f3\u00fa\u00d1\u00f1 ]{2,}$\/.test(apellidoInput.value) || patronRepetido.test(apellidoInput.value)) {\r\n            txt_error += \"* Favor de ingresar un apellido v\u00e1lido\\n\";\r\n            enviarDatos = 1;\r\n          }\r\n        }\r\n\r\n        if (enviarDatos == 1) {\r\n          e.preventDefault();\r\n          e.stopPropagation();\r\n          swal(\"Favor de verificar su informaci\u00f3n\", txt_error, \"https:\/\/clinicasdelazucar.com\/rps\/Banner-29-ago-19-53-min.png\");\r\n          return false;\r\n        }\r\n      }, true);\r\n    }\r\n  }, 500);\r\n<\/script>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7a5e50a elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"7a5e50a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ee0a6b3 elementor-widget elementor-widget-text-editor\" data-id=\"ee0a6b3\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\"><div class=\"elementor-widget-container\">Unos datos m\u00e1s y tu cita estar\u00e1 lista<\/div><\/div><div class=\"elementor-element elementor-element-f613431 elementor-widget elementor-widget-text-editor\" data-id=\"f613431\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\"><div class=\"elementor-widget-container\">Sin costo para quienes nos visitan por primera vez<\/div><\/div>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0b77798 elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"0b77798\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div>&nbsp;Si tienes alg\u00fan problema puedes marcar al 210 251 2555 o <br><\/div>\n<div>acude directamente a tu cl\u00ednica y menciona esta promoci\u00f3n.<\/div>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Comienza hoy mismo Unos datos m\u00e1s y tu cita estar\u00e1 listaSin costo para quienes nos visitan por primera vez&nbsp;Si tienes alg\u00fan problema puedes marcar al 210 251 2555 o acude directamente a tu cl\u00ednica y menciona esta promoci\u00f3n.<\/p>\n","protected":false},"author":1,"featured_media":807,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-510","page","type-page","status-publish","has-post-thumbnail","hentry"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/clinicasdelazucar.com\/us\/es\/wp-json\/wp\/v2\/pages\/510","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/clinicasdelazucar.com\/us\/es\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/clinicasdelazucar.com\/us\/es\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/clinicasdelazucar.com\/us\/es\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/clinicasdelazucar.com\/us\/es\/wp-json\/wp\/v2\/comments?post=510"}],"version-history":[{"count":139,"href":"https:\/\/clinicasdelazucar.com\/us\/es\/wp-json\/wp\/v2\/pages\/510\/revisions"}],"predecessor-version":[{"id":1085,"href":"https:\/\/clinicasdelazucar.com\/us\/es\/wp-json\/wp\/v2\/pages\/510\/revisions\/1085"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/clinicasdelazucar.com\/us\/es\/wp-json\/wp\/v2\/media\/807"}],"wp:attachment":[{"href":"https:\/\/clinicasdelazucar.com\/us\/es\/wp-json\/wp\/v2\/media?parent=510"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}