#cif-form {
font-size: 14px;
line-height: 12px;
font-family: Montserrat;
display: block;
margin-left: 36%;
margin-top: 2%;
}
#buscar {
background: #CF212D;
border-color: #CF212D;
color: #ffffff;
}
#cif-form label {
margin-bottom: 1%;
display: block;
}
#cif-form label span {
font-size: 14px;
}
#cif-form div input {
box-sizing: border-box;
padding-: 5px;
width: 45%;
min-height: 27px;
padding: 10px 15px;
display: block;
outline: none;
}
#cif-form div button {
background: #CF212D;
border-color: #CF212D;
font-size: 12px;
line-height: 12px;
font-family: Montserrat;
cursor: pointer;
font-weight: 700;
text-align: center;
transition: all .15s linear;
border-radius: 3px;
border-style: solid;
border-width: 1px;
padding: 10px 17px;
display: block;
margin-top: 2%;
}
#error {
color: red;
display: none;
margin-top: 0.3%;
font-size: 11px;
}
#info {
margin-left: 36%;
margin-top: 1%;
}
@keyframes ldio-cwfd6r2coms {
0% { transform: translate(-50%,-50%) rotate(0deg); }
100% { transform: translate(-50%,-50%) rotate(360deg); }
}
.ldio-cwfd6r2coms div {
position: absolute;
width: 49px;
height: 49px;
border: 9px solid #ffffff;
border-top-color: transparent;
border-radius: 50%;
}
.ldio-cwfd6r2coms div {
animation: ldio-cwfd6r2coms 1s linear infinite;
top: 50px;
left: 50px
}
.loadingio-spinner-rolling-s9870jxwuz {
width: 18px;
height: 18px;
display: inline-block;
overflow: hidden;
background: none;
}
.ldio-cwfd6r2coms {
width: 100%;
height: 100%;
position: relative;
transform: translateZ(0) scale(0.18);
backface-visibility: hidden;
transform-origin: 0 0; /* see note above */
}
.ldio-cwfd6r2coms div { box-sizing: content-box; }
/* generated by https://loading.io/ */
jQuery(document).ready(function() {
// Evento para que se haga click en el botón si has dado al intro en el input
jQuery("#cif").on('keyup', function (e) {
if (e.key === 'Enter' || e.keyCode === 13) {
findEvent();
}
});
// Evento para buscar
jQuery('#buscar').on('click', function() {
findEvent();
});
});
// Variables que se utilizan para tener los datos accesible siempre (globales)
var cif_val;
var name_val;
var data_val;
/**
* Establece el gif de cargando y llama a la funcion para hacer la request
*/
function findEvent() {
cif = jQuery('#cif').val();
// Verificamos si se ha introducido cif
if (cif != ""){
//Mostramos el gif de carga
jQuery('#buscar').html('
');
jQuery('#buscar').attr('style', 'padding: 0px; padding-top: 9px; padding-bottom: 9px; padding-left: 17px; padding-right: 17px;');
// Llamamos a la funcion para hacer la request del cif
doCifRequest(cif);
jQuery('#cif').attr('style', 'border-color: inherit;');
}
else {
jQuery('#cif').attr('style', 'border-color: red;');
}
}
/**
* Bloquear el CIF y la Razon Social para que no los modifiquen
*/
function inputLock() {
setTimeout(function(){
let iframe = jQuery('#hs-form-iframe-0');
let name_input = iframe.contents().find('input[name="TICKET.razon_social"]');
let input_cif = iframe.contents().find('input[name="TICKET.cif_empresa"]');
name_input.val(name_val);
name_input.trigger('change');
input_cif.val(cif_val);
input_cif.trigger('change');
}, 100)
}
/**
* Eventos para el formulario. Llamar a eventos para que se guarden los datos que cogemos de HubSpot
*/
function initFormEvents() {
let iframe = jQuery('#hs-form-iframe-0');
// Eventos del checkbox de razon social erronea
jQuery(iframe.contents().find('input[name="TICKET.razon_social_nuevo_nombre"]')).hide();
jQuery(iframe.contents().find('div.hs_TICKET\\.razon_social_nuevo_nombre')).hide();
jQuery(iframe.contents().find('input[name="TICKET.razon_social_erronea"]')).on('change', function() {
let iframe = jQuery('#hs-form-iframe-0');
if(jQuery(iframe.contents().find('div.hs_TICKET\\.razon_social_nuevo_nombre:visible')).length && !jQuery(iframe.contents().find('input[name="TICKET.razon_social_nuevo_nombre"]')).prop('checked')) {
jQuery(iframe.contents().find('input[name="TICKET.razon_social_nuevo_nombre"]')).hide();
jQuery(iframe.contents().find('div.hs_TICKET\\.razon_social_nuevo_nombre')).hide();
}
else {
jQuery(iframe.contents().find('input[name="TICKET.razon_social_nuevo_nombre"]')).show();
jQuery(iframe.contents().find('div.hs_TICKET\\.razon_social_nuevo_nombre')).show();
}
});
}
/**
* Quitamos el gif de cargando, bloqueamos el formulario CIF y ocultamos el error
*/
function finishCifForm() {
let input_buscar = jQuery('#buscar');
input_buscar.html('Buscar');
input_buscar.attr('style', '');
let cif_search_input = jQuery('#cif');
cif_search_input.attr('disabled', 'disabled');
cif_search_input.attr('style', 'border-color: green;');
input_buscar.attr('disabled', 'disabled');
input_buscar.attr('style', 'background-color: #74777c; border-color: gray; cursor: inherit;');
jQuery('#error').hide();
}
/**
* Reseteamos fomulario de cif y mostramos el error
*/
function resetCifForm() {
let input_buscar = jQuery('#buscar');
//Mostrar botón para darse de alta
input_buscar.html('Buscar');
input_buscar.attr('style', '');
input_buscar.removeAttr('disabled');
jQuery('#cif').attr('style', 'border-color: red;');
jQuery('#error').show();
}
/**
* Realizar la llamada a HubSpot con el cif y establecer los datos en el formulario
*/
function doCifRequest(cif) {
// URL donde hacemos la llamada a HubSpot
var url = "https://energysolartech.com/wp-content/API/?cif=" + cif;
var xhr = new XMLHttpRequest();
xhr.open("GET", url);
xhr.setRequestHeader("Accept", "application/json");
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
if (xhr.status == 200){
// Si hemos recibido una llamada correcta
data = JSON.parse(xhr.responseText)
if (data.total == 1) {
// Si solo se ha encontrado un cif
// Mostramos formulario de HubSpot
hbspt.forms.create({
region: "na1",
portalId: "6519979",
formId: "977e02d1-9d35-4709-873b-50ee791b3251"
});
cif_val = cif.toUpperCase();
data_val = data;
// Generamos una funcion que va a tardar un poco mas en ejecutarse (porque el formulario de HubSpot tarda un poco)
setTimeout(
function()
{
// Inicializar eventos que necesitamos para el formulario
initFormEvents();
let iframe = jQuery('#hs-form-iframe-0');
let input_cif = iframe.contents().find('input[name="TICKET.cif_empresa"]');
input_cif.trigger('change');
setTimeout(function() {
let iframe = jQuery('#hs-form-iframe-0');
let name_input = iframe.contents().find('input[name="TICKET.razon_social"]');
let name = data_val["results"][0]["properties"]["raz_n_social"];
// Introducimos el nombre de Raz_social si lo conocemos
if (name !== null) {
name_val = name;
name_input.val(name);
name_input.trigger('change');
name_input.on('blur', function() {
inputLock();
});
}
// Insertamos el CIF
input_cif.val(cif_val)
input_cif.trigger('change');
input_cif.on('blur', function() {
inputLock();
});
//Realizamos scroll hacia abajo para ver el formulario
iframe.contents().find('#scroll')[0].scrollIntoView({ behavior: 'smooth', block: 'center' });
}, 500);
// Bloqueamos y cambiamos colores del formulario del CIF
finishCifForm();
}, 1500);
}
else {
// Error
if (data.total > 1) {
// Si hay mas de un cif
jQuery('#error').html('Error, el CIF está duplicado. Por favor, contacte con el
administrador del sistema o mande un email a
facturacion@energysolartech.com');
}
else {
// Si no existe el error o no se ha podido hacer correctamente la llamada
jQuery('#error').html('El CIF introducido no existe');
}
resetCifForm();
}
}
}};
// Enviamos la request para recoger el CIF de HubSpot
xhr.send();
}