var localidad_origen = -1;
var cp_origen_select_on_blur = true;

var localidad_destino = -1;
var cp_destino_select_on_blur = true;

var localidad_usuario = -1;
var cp_usuario_select_on_blur = true;

var localidad_propietario = -1;
var cp_propietario_select_on_blur = true;

var contenido_textarea = "";
var num_caracteres_permitidos = 1000;

var controlPeticion = null;

var other_action_minificha = false;

var primera_carga_buscador = true;

/* MENU SELECTED */
$(document).ready(function () {
    $(".menu_aut a").each(function () {
        if ($(this).attr("href") != undefined) {
            if (document.location.href.toLocaleLowerCase().indexOf($(this).attr("href").toLocaleLowerCase()) >= 0) {
                $(this).addClass("active");
            }
        }
    });
});
/* /MENU SELECTED */

/* COOKIES */
var analitycs_puesto = false;

$(document).ready(function () {

    checkCookie();
});

function configurarCookies() {
    $(".smsCookie").addClass("open");
}

function setCookie(cname, cvalue, exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
    var expires = "expires=" + d.toUTCString();
    document.cookie = cname + "=" + cvalue + "; " + expires;
}

function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') c = c.substring(1);
        if (c.indexOf(name) == 0) return c.substring(name.length, c.length);
    }
    return "";
}

function deleteCookie(cname) {
    document.cookie = cname + '=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}

function aceptar_cookies() {
    poner_analitycs();
    setCookie("smsCookie", "1", "30");
    $(".for_configurar").slideUp();
    setCookie("allCookie", "1", "30");
    setCookie("analiticaCookie", "1", "30");
    setCookie("publicitariaCookie", "1", "30");
    $(".smsCookie").removeClass("open");
    actualizar_clases_botones();
}

function cerrar_cookies() {
    setCookie("smsCookie", "1", "30");
    $(".for_configurar").slideUp();
    $(".smsCookie").removeClass("open");
    actualizar_clases_botones()
}

function configurar_cookies() {
    if ($(".for_configurar").css("display") == "none") {
        $(".for_configurar").slideDown();
    } else {
        $(".for_configurar").slideUp();
    }
}

function aceptar_cookies_analitica() {
    setCookie("analiticaCookie", "1", "30");
    poner_analitycs();
    /* if (if_cookies_publicitarias()) {
         aceptar_cookies()
     }*/
    actualizar_clases_botones()
}

function rechazar_cookies_analitica() {
    setCookie("analiticaCookie", "", "0");

    if (if_cookies_publicitarias()) {

    } else {
        setCookie("allCookie", "", "0");
        setCookie("publicitariaCookie", "", "0");
        setCookie("_gat_UA-86667661-1", "", "0");
        setCookie("_gid", "", "0");
        setCookie("_ga", "", "0");
        setCookie("_gat_gtag_UA_126724513_1", "", "0");

    }
    actualizar_clases_botones()

}

function aceptar_cookies_publicitarias() {
    setCookie("publicitariaCookie", "1", "30");
    poner_publicitaria()
    actualizar_clases_botones()
}

function rechazar_cookies_publicitarias() {

    setCookie("publicitariaCookie", "", "0");

    if (if_cookies_analitycs()) {

    } else {

        setCookie("allCookie", "", "0");
        setCookie("analiticaCookie", "", "0");
        setCookie("_gat_UA-86667661-1", "", "0");
        setCookie("_gid", "", "0");
        setCookie("_ga", "", "0");
        setCookie("_gat_gtag_UA_126724513_1", "", "0");

    }
    actualizar_clases_botones()
}

function rechazar_cookies_tecnicas() {
    setCookie("allCookie", "", "0");
    actualizar_clases_botones()
}

function checkCookie() {
    var co = getCookie("smsCookie");
    if (co != "") {
        $(".smsCookie").removeClass("open");
    } else {
        $(".smsCookie").addClass("open");
    }
    var co = getCookie("allCookie");
    if (co != "") {
        poner_analitycs();
        poner_publicitaria();
    } else {

        var co = getCookie("analiticaCookie");
        if (co != "") {
            poner_analitycs();
        }

        var co = getCookie("publicitariaCookie");
        if (co != "") {
            poner_publicitaria();
        }

    }
    actualizar_clases_botones()
}

function if_cookies_analitycs() {
    var co = getCookie("allCookie");
    if (co != "") {
        return true;
    } else {
        var co = getCookie("analiticaCookie");
        if (co != "") {
            return true;
        }
    }
    return false;
}

function if_cookies_publicitarias() {
    var co = getCookie("allCookie");
    if (co != "") {
        return true;
    } else {
        var co = getCookie("publicitariaCookie");
        if (co != "") {
            return true;
        }
    }
    return false;
}

function poner_publicitaria() {
    if (analitycs_puesto == false) {
        /*
        $("body").append("" +
            "<!-- Facebook Pixel Code -->\n" +
            "<script>\n" +
            "    !function(f,b,e,v,n,t,s)\n" +
            "    {if(f.fbq)return;n=f.fbq=function(){n.callMethod?\n" +
            "        n.callMethod.apply(n,arguments):n.queue.push(arguments)};\n" +
            "        if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';\n" +
            "        n.queue=[];t=b.createElement(e);t.async=!0;\n" +
            "        t.src=v;s=b.getElementsByTagName(e)[0];\n" +
            "        s.parentNode.insertBefore(t,s)}(window,document,'script',\n" +
            "        'https://connect.facebook.net/en_US/fbevents.js');\n" +
            "    fbq('init', '144463334165953');\n" +
            "    fbq('track', 'PageView');\n" +
            "</script>\n" +
            "<noscript>\n" +
            "    <img height='1' width='1'\n" +
            "         src='https://www.facebook.com/tr?id=144463334165953&ev=PageView&noscript=1'/>\n" +
            "</noscript>\n" +
            "<!-- End Facebook Pixel Code -->" +
            "<!-- Google Tag Manager (noscript) -->\n" +
            "<noscript>\n" +
            "    <iframe\n" +
            "            src='https://www.googletagmanager.com/ns.html?id=GTM-KCS9FP '\n" +
            "            height='0' width='0'\n" +
            "            style='display:none;visibility:hidden'></iframe>\n" +
            "</noscript>\n" +
            "<!-- End Google Tag Manager (noscript) -->" +
            "");


        analitycs_puesto = true;
        */
    }
}

function poner_analitycs() {
    poner_publicitaria();
}

function actualizar_clases_botones() {
    $(".comoBtn").removeClass("selected");
    if (if_cookies_analitycs()) {
        $(".comoBtnAAnalitica").addClass("selected");
    } else {
        $(".comoBtnRAnalitica").addClass("selected");
    }
    if (if_cookies_publicitarias()) {
        $(".comoBtnAPublicitarias").addClass("selected");
    } else {
        $(".comoBtnRPublicitarias").addClass("selected");
    }
}

function open_cookies() {
    $(".smsCookie").addClass("open");
}

/* /COOKIES */

/* LOADER */
$(window).on('load', function () {
    $(".page_loader").css("display", "none");
});

function loader_off() {
    $(".page_loader_ajax").css("display", "none");
}

function loader_on() {
    console_log("loader_on","green");
    $(".page_loader_ajax").css("display", "block");
}

/* /LOADER */

/* NEWSLETTER */

$(document).ready(function () {
    $('form#formNewsletter').validate({
        errorPlacement: function (error, element) {
            var placement = $(element).data('error');
            $(element).addClass('is-invalid');
            $(element).removeClass('is-valid');
            if (placement) {
                $(placement).append(error)
            } else {
                error.insertAfter(element);
            }
        },
        success: function (error, element) {
            $(element).removeClass('is-invalid');
            $(element).addClass('is-valid');
        }
    });

    $("form#formNewsletter").submit(function (e) {
        e.preventDefault();
        if ($("form#formNewsletter").valid()) {
            suscripcionNewsletter($(this));
        }
    });
});

function suscripcionNewsletter(form) {
    loader_on();
    $.ajax({
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/usuarios_web/suscripcionNewsletter",
        data: form.serialize(),
        method: "POST",
        dataType: 'json',
        success: function (data) {
            loader_off();
            if (data.response) {
                show_message_alert(data.mensaje, "success");
                form[0].reset()
            } else {
                show_message_alert(data.mensaje, "danger");
            }
        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        }
    });
}

/* /NEWSLETTER */
/* HOME */

$(document).ready(function () {

    $('form#mainSearch').validate({
        errorPlacement: function (error, element) {
            var placement = $(element).data('error');
            if (placement) {
                $(placement).append(error)
            } else {
                error.insertAfter(element);
            }
        }
    });

    $("form#mainSearch").submit(function (e) {
        e.preventDefault();
        e.stopPropagation();
        var categorias_seleccionadas = [];
        $("#error_formCategoria_custom").css("display", "none");
        $("#formCategoria").val("")

        $(".col_check_categoria").each(function () {
            if ($(this).find("input").is(":checked")) {
                categorias_seleccionadas.push($(this).find("input").attr("value"));
            }
        });

        //    if (categorias_seleccionadas.length > 0) {
        $("#formCategoria").val(categorias_seleccionadas)
        $("#formPaginacion").val(1);
        $("#formBusqueda").val(time());

        primera_carga_buscador = false;
        procesaFormBusqueda($(this), "GET", "form#mainSearch");
        //    }
        //    else {
        //      $("#error_formCategoria_custom").css("display", "block");
        //      $("#error_formCategoria_custom label").css("display", "block");
        //  }
    });

    $("form#mainSearchMobile").submit(function (e) {
        e.preventDefault();
        e.stopPropagation();
        var categorias_seleccionadas = [];
        $("#error_formCategoria_customMobile").css("display", "none");
        $("#formCategoriaMobile").val("")

        $(".col_check_categoriaMobile").each(function () {
            if ($(this).find("input").is(":checked")) {
                categorias_seleccionadas.push($(this).find("input").attr("value"));
            }
        });

        //    if (categorias_seleccionadas.length > 0) {
        $("#formCategoriaMobile").val(categorias_seleccionadas)
        $("#formPaginacion").val(1);
        $("#formBusqueda").val(time());

        primera_carga_buscador = false;
        procesaFormBusqueda($(this), "GET", "form#mainSearchMobile");
        //    }
        //    else {
        //      $("#error_formCategoria_custom").css("display", "block");
        //      $("#error_formCategoria_custom label").css("display", "block");
        //  }
    });

});

function sector(sSector) {
    $("#comprador").hide();
    $("#vendedor").hide();
    $("#concesionario").hide();

    $(".btn-comprador").removeClass('active');
    $(".btn-vendedor").removeClass('active');
    $(".btn-concesionario").removeClass('active');

    $("#" + sSector).show();
    $(".btn-" + sSector).addClass('active');

    var target = $("#" + sSector); // Obtiene el atributo href del enlace
    var offset = $(target).offset().top; // Obtiene la posición superior del elemento objetivo

    $('html, body').animate({
        scrollTop: offset
    }, 1000);
}

/* /HOME */
/* FAVORITOS */

$(document).on('click', '.wishlist-btn', function () {
    other_action_minificha = true;
    var elemento = $(this);
    if (elemento.hasClass('active')) {
        deleteFavorito(elemento);
    } else {
        addFavorito(elemento);
    }
});

function addFavorito(elemento) {
    var idProducto = elemento.attr("data-id");
    loader_on();
    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/addFavorito/" + idProducto,
        dataType: 'json',
        success: function (data) {
            loader_off();
            if (data.response) {
                show_message_alert(data.mensaje, "success");
                elemento.addClass('active');
                return true;
            } else {
                if (data.error_type == "LOGIN_REQUIRED") {
                    $(".modalLoginRequerido #generalLoginLink").attr("href", $(".modalLoginRequerido #generalLoginLink").attr('href') + "?ref=" + window.location.href);

                    $(".modalLoginRequerido").modal('show');
                } else {
                    show_message_alert(data.mensaje, "danger");
                }
                return false;
            }
        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
            return false;
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
            return false;
        }
    });
}

function deleteFavorito(elemento) {
    var idProducto = elemento.attr("data-id");
    loader_on();
    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/deleteFavorito/" + idProducto,
        dataType: 'json',
        success: function (data) {
            loader_off();
            if (data.response) {
                show_message_alert(data.mensaje, "success");

                elemento.removeClass('active');
                if ($("#mis_favoritos_tab").length > 0) {
                    /* Esto quiere decir que estamos quitando de fav en mim cuenta */
                    elemento.closest(".col-12").remove()
                }

                return true;
            } else {

                if (data.error_type == "LOGIN_REQUIRED") {
                    $(".modalLoginRequerido #generalLoginLink").attr("href", $(".modalLoginRequerido #generalLoginLink").attr('href') + "?ref=" + window.location.href);
                    $(".modalLoginRequerido").modal('show');
                } else {
                    show_message_alert(data.mensaje, "danger");
                }
                return false;
            }
        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
            return false;
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
            return false;
        }
    });
}

/* /FAVORITOS */
/* CARROUSELS */
$(document).ready(function () {


    $('.loopdestacadas').owlCarousel({
        center: true,
        loop: true,
        margin: 30,
        autoplay: true,
        autoplayTimeout: 5000,
        dots: true,
        responsive: {
            0: {
                items: 1,
                nav: false
            },
            768: {
                items: 2,
                nav: false
            },
            1024: {
                items: 3,
                nav: true
            }
        }
    });
});
/* /CARROUSELS */

/* LOGIN */
$(document).ready(function () {
    $('form#loginForm').validate({
        errorPlacement: function (error, element) {
            var placement = $(element).data('error');
            $(element).addClass('is-invalid');
            $(element).removeClass('is-valid');
            if (placement) {
                $(placement).append(error)
            } else {
                error.insertAfter(element);
            }
        },
        success: function (error, element) {
            var placement = $(element).data('error');
            $(element).removeClass('is-invalid');
            $(element).addClass('is-valid');
            $(placement).html('');
        }
    });
    $("form#loginForm").submit(function (e) {
        e.preventDefault();
        if ($("form#loginForm").valid()) getLogin($(this));
    });

    $('form#formRecoverPass').validate({
        errorPlacement: function (error, element) {
            var placement = $(element).data('error');
            $(element).addClass('is-invalid');
            $(element).removeClass('is-valid');
            if (placement) {
                $(placement).append(error)
            } else {
                error.insertAfter(element);
            }
        },
        success: function (error, element) {
            var placement = $(element).data('error');
            $(element).removeClass('is-invalid');
            $(element).addClass('is-valid');
            $(placement).html('');
        }
    });
    $("form#formRecoverPass").submit(function (e) {
        e.preventDefault();
        if ($("form#formRecoverPass").valid()) recoverPass($(this));
    });
});

function getLogin(form) {
    loader_on();

    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/usuarios_web/login",
        data: form.serialize(),
        dataType: 'json',
        success: function (data) {
            if (data.response) {
                if (URLref != "") {
                    window.location.href = URLref;
                } else {
                    location.reload();
                }

            } else {
                show_message_alert(data.mensaje, "danger");
            }
            loader_off();
        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        }
    });
}

function recoverPass(form) {
    loader_on();

    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/usuarios_web/recoverPass",
        data: form.serialize(),
        dataType: 'json',
        success: function (data) {
            loader_off();
            if (data.response) {
                show_message_alert(data.mensaje, "success");
                form[0].reset();
                $('#modalRecuperarPass').modal('hide');
            } else {
                show_message_alert(data.mensaje, "danger");
            }

        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        }
    });
}

/* /LOGIN */

/* REGISTRO */
$(document).ready(function () {
    $('form#registerForm').validate({
        errorPlacement: function (error, element) {
            var placement = $(element).data('error');
            $(element).addClass('is-invalid');
            $(element).removeClass('is-valid');
            if (placement) {
                $(placement).append(error)
            } else {
                error.insertAfter(element);
            }
        },
        success: function (error, element) {
            var placement = $(element).data('error');
            $(element).removeClass('is-invalid');
            $(element).addClass('is-valid');
            $(placement).html('');
        },
        rules: {
            formRepitePassword: {
                equalTo: "#formPassword"
                /*			, required: function(element) {
                                return $("#age").val() < 13;
                            }*/
            }
        }
    });

    $("form#registerForm").submit(function (e) {
        e.preventDefault();
        if ($("form#registerForm").valid()) register($(this));
    });
    $("form#registerForm #formPerfil").change(function () {
        if ($(this).val() == "PROFESIONAL") {
            $("form#registerForm #formNombre").attr("placeholder", "Nombre comercial");
        } else {
            $("form#registerForm #formNombre").attr("placeholder", "Nombre");
        }
    });
});

function register(form) {
    loader_on();
    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/usuarios_web/register",
        data: form.serialize(),
        dataType: 'json',
        success: function (data) {
            if (data.response) {
                form[0].reset();
                gtag('event', 'registro');
                $(".modalVerificacionRequerida").modal("show");
            } else {
                show_message_alert(data.mensaje, "danger");
            }
            loader_off();
        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        }
    });
}

/* /REGISTRO */
/* SCROLLTOTOP */
$(window).scroll(function () {
    if ($(window).scrollTop() > 100) {
        if (!$("#scrollToTop").hasClass("scrollToTop_visible")) {
            $("#scrollToTop").addClass("scrollToTop_visible");
            $("#scrollToTop").fadeIn();
        }
    } else {
        if ($("#scrollToTop").hasClass("scrollToTop_visible")) {
            $("#scrollToTop").removeClass("scrollToTop_visible");
            $("#scrollToTop").fadeOut();
        }
    }


    if ($(window).scrollTop() > 10) {
        if (!$("html").hasClass("header_sticky")) {
            $("html").addClass("header_sticky");
        }
    } else {
        if ($("html").hasClass("header_sticky")) {
            $("html").removeClass("header_sticky");
        }
    }
});

$(document).ready(function () {
    $("#scrollToTop").click(function () {
        scrollSmothTo(0)
        setTimeout(function () {
            $("#scrollToTop").fadeOut();
        }, 600)
    });
});

function scrollSmothTo(cantidad) {
    $('html,body').animate({ scrollTop: cantidad }, 400);
}

/* /SCROLLTOTOP */
/* BUSCADOR */

// function addURIMultiselect() {
//     if (elemento.name != undefined && elemento.name != null && elemento.name != "" && el_valor != undefined && el_valor != null && el_valor != "" && elemento.name != "formModeloSeleccionado") {
//         if ($("#" + elemento.id).hasClass("is_edited")) {
//             if (elemento.name.indexOf("[]") >= 0) {
//                 if (!Array.isArray(el_valor)) {
//                     el_valor = el_valor.split(",")
//                 }

//                 el_valor.forEach(function (value) {
//                     if (cont == 0) {
//                         getUri += "?";
//                     } else {
//                         getUri += "&";
//                     }
//                     getUri += elemento.name + "=" + value;
//                     cont++;
//                 })

//             } else {
//                 if (cont == 0) {
//                     getUri += "?";
//                 } else {
//                     getUri += "&";
//                 }
//                 getUri += elemento.name + "=" + el_valor;
//                 cont++;
//             }
//         }
//     }
// }

function existeParametroDeUrl(clave) {
    let url = window.location.href;
    const parametros = new URLSearchParams(url.split('?')[1]);
    // if (parametros.has(clave) && parametros.get(clave) === '1') {
    if (parametros.has(clave)) {
        return true;
    } else {
        return false;
    }

}
function verificaParametroDeUrl(clave, valor) {
    let url = window.location.href;
    const parametros = new URLSearchParams(url.split('?')[1]);

    if (parametros.has(clave)) {
        const valores = parametros.getAll(clave);
        return valores.includes(valor);
    } else {
        return false; // El parámetro clave no está presente en la URL
    }
}

function obtenerValoresDeParametroEnUrl(clave) {
    let url = window.location.href;
    const parametros = new URLSearchParams(url.split('?')[1]);

    if (parametros.has(clave)) {
        return parametros.getAll(clave);
    } else {
        return []; // Devolver un array vacío si el parámetro clave no está presente en la URL
    }
}


function eliminarParametroDeURL(clave) {
    let urlActual = window.location.href;
    let queryString = urlActual.split('?')[1];
    let nuevosParametros = [];
    if (queryString) {
        let parametros = queryString.split('&');
        for (let parametro of parametros) {
            let [nombre, valor] = parametro.split('=');
            if (nombre.startsWith(clave)) {
                continue; // Ignorar este parámetro, no lo añadimos a los nuevos parámetros
            }
            nuevosParametros.push(`${nombre}=${valor}`);
        }
    }
    let nuevaURL = urlActual.split('?')[0]; // Tomar la parte de la URL antes del '?'
    if (nuevosParametros.length > 0) {
        nuevaURL += '?' + nuevosParametros.join('&');
    }
    return nuevaURL;
}

// dmr - 2024.02.13
function limpiarMultiSelectJS(element) {
    let form = $("form.buscadorProductos");
    let obj = $("#ms-list-" + element);
    const select = obj.prev("select");
    const queForm = select.attr("id");   // formEstado, formCategoria...     
    if (queForm == undefined) {
        return false;
    }

    console_log('limpiarMultiSelectJS: ' + queForm + "==" + select.attr("id"), "red");

    select.find('option').each(function (item) {
        $(this).prop('selected', false);
    });
    select.multiselect('reload');
    $('label[for="' + queForm + '"]').html("");
    let nuevaURL = eliminarParametroDeURL(queForm);
    //window.location.href = nuevaURL;
    if (window.location.href != nuevaURL) {
        window.history.pushState({ "busqueda": form.attr("id") }, $(document).attr('title'), nuevaURL);
    }

    $inputsQueDebenActualizarModelo = ["formCategoria", "formEstado", "formMarca", "formConcesionario"];
    // console_log("yyyyyyyyyyyyyyyyyyy:"+queForm);
    if ($inputsQueDebenActualizarModelo.includes(queForm)) {
        buscar_modelos_por_marca_2024();  // internamente ya realiza busqueda
    }else{
         realizaBusqueda(form.attr("id"));
    }



}

$(document).ready(function () {


    /* Si estamos en movil, por defecto cerramos el filtro */
    if ($(window).width() <= 1023) {
        $("html").removeClass("filtro_abierto");
    }
    /* Ejecutamos el plugin de scrolltoFixed */
    //$('#filtrador').scrollToFixed({maxWidth: 768});

    $('#offCanvasContactoButton').scrollToFixed({
        minWidth: 767,
        marginTop: 15
    });
    $('#offCanvasContactoButtonMobile').scrollToFixed({
        maxWidth: 768,
        bottom: 15
    });

    ////////////////////////////// formConcesionario
    if ($("#sideSearch #formConcesionario").length > 0) {
        $("#sideSearch #formConcesionario").multiselect({
            columns: 2,
            placeholder: $("#sideSearch #formConcesionario").attr("data-placeholder"),
            search: true,
            searchOptions: {
                default: $("#sideSearch #formConcesionario").attr("data-default")
            },
            selectAll: false,
            onLoad: function (element) {
                // DMR - delay de 2 chars.. desactivado por ahora
                // $(element).siblings('.ms-options-wrap').addClass("dmr-solo-2-chars");
                // $(element).siblings('.ms-options-wrap').find('ul').hide();
            }           
        });
        $("#sideSearch #formConcesionario").change(function () {

            if ($(this).val() == "" || $(this).val().length == 0) {
                var wrapper = $(this).closest(".wrap_dropdown_label");
                wrapper.find(".ms-options-wrap button span").html(wrapper.find(">label").html());
                $(this).removeClass("is_edited");
                wrapper.removeClass("is_edited");
            } else {
                $(this).addClass("is_edited");
                set_is_edited_wrapper();
            }

            $("#formPaginacion").val(1);
            $("#formBusqueda").val(time());

            procesaFormBusqueda($('.buscadorProductos'), "AJAX", "formConcesionario");
        });

    }
    //////////////////////////////
    // $('.btn_open_slider').click(function (evento) {
    //     $(this).closest(".wrap_slider_label").addClass("open");
    // }) 


    if ($("#sideSearch #formCategoria").length > 0) {
        $("#sideSearch #formCategoria").multiselect({
            columns: 1,
            placeholder: $("#sideSearch #formCategoria").attr("data-placeholder"),
            search: true,
            searchOptions: {
                default: $("#sideSearch #formCategoria").attr("data-default")
            },
            selectAll: false
        });
        $("#sideSearch #formCategoria").change(function () {
            if ($(this).val() == "" || $(this).val().length == 0) {
                var wrapper = $(this).closest(".wrap_dropdown_label");
                wrapper.find(".ms-options-wrap button span").html(wrapper.find(">label").html());
                $(this).removeClass("is_edited");
                wrapper.removeClass("is_edited");
            } else {
                $(this).addClass("is_edited");
                set_is_edited_wrapper();
            }

            $("#formPaginacion").val(1);
            $("#formBusqueda").val(time());

            procesaFormBusqueda($('.buscadorProductos'), "AJAX", "formCategoria");
        });

    }



    if ($("#sideSearch #formEstado").length > 0) {

        // $("#sideSearch #formEstado").siblings(".ms-parent")
        //     .find("li.selected input[type='checkbox']").click();
        // alert('ooooo');
        // $('.ms-close-custom').click(function(event) {
        //     alert('click');
        //     console.log($(this));
        // });

        $("#sideSearch #formEstado").multiselect({
            columns: 1,
            placeholder: $("#sideSearch #formEstado").attr("data-placeholder"),
            // placeholder: "dani",
            search: true,
            searchOptions: {
                default: $("#sideSearch #formEstado").attr("data-default")
            },
            selectAll: false,
            // onControlClose: function (element) {
            //     console.log(element);
            //     alert('onControlClose');
            // }
        });
        $("#sideSearch #formEstado").change(function () {
            // console_log("#sideSearch #formEstado:::" + $(this).val());

            if ($(this).val() == "" || $(this).val().length == 0) {
                // alert('1');
                var wrapper = $(this).closest(".wrap_dropdown_label");
                wrapper.find(".ms-options-wrap button span").html(wrapper.find(">label").html());
                // wrapper.find(".ms-options-wrap button span").html("KKKK");

                $(this).removeClass("is_edited");
                wrapper.removeClass("is_edited");
            } else {
                // alert('2');
                $(this).addClass("is_edited");
                set_is_edited_wrapper();
            }

            $("#formPaginacion").val(1);
            $("#formBusqueda").val(time());

            procesaFormBusqueda($('.buscadorProductos'), "AJAX", "formEstado");
        });
    }




    if ($("#sideSearch select#formMarca").length > 0) {
        //  alert('formMarca');
        $("#sideSearch #formMarca").multiselect({
            columns: 1,
            placeholder: $("#sideSearch #formMarca").attr("data-placeholder"),
            search: true,
            searchOptions: {
                default: $("#sideSearch #formMarca").attr("data-default")
            },
            selectAll: false,
        });

        $("#sideSearch #formMarca").change(function () {


            if ($(this).val() == "" || $(this).val().length == 0) {
                var wrapper = $(this).closest(".wrap_dropdown_label");
                wrapper.find(".ms-options-wrap button span").html(wrapper.find(">label").html());
                $(this).removeClass("is_edited");
                wrapper.removeClass("is_edited");
            } else {
                $(this).addClass("is_edited");
                set_is_edited_wrapper();
            }

            $("#formPaginacion").val(1);
            $("#formBusqueda").val(time());

            procesaFormBusqueda($('.buscadorProductos'), "AJAX", "formMarca");
        });

        // Esto es INICIAL - ONLOAD
        buscar_modelos_por_marca_2024();


    }
    // DMR - 2024.02.08
    // if ($("#sideSearch input[type='hidden']#formMarca").length > 0) {
    //     id = $(this).val();
    //     $("#sideSearch .campoModeloSelect").css("display", "block");
    //     $("#sideSearch .campoModeloTexto").css("display", "none");
    //     buscar_modelos_por_marca(id);
    // }

    if ($("#sideSearch #formModelo").length > 0) {
        // DMR - 2024.02.08
        // console_log('formModelo.Initialized.111');
        $("#sideSearch #formModelo").multiselect({
            columns: 2,
            placeholder: $("#sideSearch #formModelo").attr("data-placeholder"),
            search: true,
            searchOptions: {
                default: $("#sideSearch #formModelo").attr("data-default")
            },
            selectGroup: false,
            selectAll: false,
            onLoad: function (element) {
                if (!existeParametroDeUrl("mostrarul")) {
                    // $(element).siblings('.ms-options-wrap').addClass("dmr-solo-2-chars");
                    // $(element).siblings('.ms-options-wrap').find('ul').hide();
                }
            },
        });

        $("#sideSearch #formModelo").change(function () {
            // console_log('formModelo.change.111');

            if ($(this).val() == "" || $(this).val().length == 0) {
                // console_log('formModelo.change.111-a');
                var wrapper = $(this).closest(".wrap_dropdown_label");
                wrapper.find(".ms-options-wrap button span").html(wrapper.find(">label").html());
                $(this).removeClass("is_edited");
                wrapper.removeClass("is_edited");
            } else {
                // console_log('formModelo.change.111-b');
                $(this).addClass("is_edited");
                set_is_edited_wrapper();
            }

            $("#formPaginacion").val(1);
            $("#formBusqueda").val(time());
            procesaFormBusqueda($('.buscadorProductos'), "AJAX", "formModelo");
        });
    }

    if ($("#sideSearch #formProvincia").length > 0) {
        $("#sideSearch #formProvincia").multiselect({
            columns: 1,
            placeholder: $("#sideSearch #formProvincia").attr("data-placeholder"),
            search: true,
            searchOptions: {
                default: $("#sideSearch #formProvincia").attr("data-default")
            },
            selectAll: false
        });
        $("#sideSearch #formProvincia").change(function () {

            if ($(this).val() == "" || $(this).val().length == 0) {
                var wrapper = $(this).closest(".wrap_dropdown_label");
                wrapper.find(".ms-options-wrap button span").html(wrapper.find(">label").html());
                $(this).removeClass("is_edited");
                wrapper.removeClass("is_edited");
            } else {
                $(this).addClass("is_edited");
                set_is_edited_wrapper();
            }

            $("#formPaginacion").val(1);
            $("#formBusqueda").val(time());

            procesaFormBusqueda($('.buscadorProductos'), "AJAX", "formProvincia");
        });
    }

    if ($("#sideSearch #formTipoVendedor").length > 0) {
        $("#sideSearch #formTipoVendedor").multiselect({
            columns: 1,
            placeholder: $("#sideSearch #formTipoVendedor").attr("data-placeholder"),
            search: true,
            searchOptions: {
                default: $("#sideSearch #formTipoVendedor").attr("data-default")
            },
            selectAll: false
        });
        $("#sideSearch #formTipoVendedor").change(function () {

            if ($(this).val() == "" || $(this).val().length == 0) {
                var wrapper = $(this).closest(".wrap_dropdown_label");
                wrapper.find(".ms-options-wrap button span").html(wrapper.find(">label").html());
                $(this).removeClass("is_edited");
                wrapper.removeClass("is_edited");
            } else {
                $(this).addClass("is_edited");
                set_is_edited_wrapper();
            }

            $("#formPaginacion").val(1);
            $("#formBusqueda").val(time());

            procesaFormBusqueda($('.buscadorProductos'), "AJAX", "formTipoVendedor");
        });
    }

    if ($("#sideSearch #formTipoPropulsion").length > 0) {
        $("#sideSearch #formTipoPropulsion").multiselect({
            columns: 1,
            placeholder: $("#sideSearch #formTipoPropulsion").attr("data-placeholder"),
            search: true,
            searchOptions: {
                default: $("#sideSearch #formTipoPropulsion").attr("data-default")
            },
            selectAll: false
        });
        $("#sideSearch #formTipoPropulsion").change(function () {

            if ($(this).val() == "" || $(this).val().length == 0) {
                var wrapper = $(this).closest(".wrap_dropdown_label");
                wrapper.find(".ms-options-wrap button span").html(wrapper.find(">label").html());
                $(this).removeClass("is_edited");
                wrapper.removeClass("is_edited");
            } else {
                $(this).addClass("is_edited");
                set_is_edited_wrapper();
            }

            $("#formPaginacion").val(1);
            $("#formBusqueda").val(time());
            procesaFormBusqueda($('.buscadorProductos'), "AJAX", "formTipoPropulsion");
        });
    }


    $("#sideSearch #formModelo").change(function () {
        texto = $("#sideSearch #formModelo option:selected").text();
        // console_log("dani-----1");
        // console_log(texto);
        // console_log("dani-----1");
        $("#sideSearch #formNombreModeloSeleccionado").val(texto);
    });

    if ($("#sideSearch").length) {
        window.history.pushState({ "busqueda": 1 }, $(document).attr('title'), window.location.href);
        //    realizaBusqueda("sideSearch");
    }

    $("#sideSearch").submit(function (e) {
        e.preventDefault();
        e.stopPropagation();
        $("#formPaginacion").val(1);
        $("#formBusqueda").val(time());

        procesaFormBusqueda($(this), "AJAX", "sideSearch");
    });

    resetWidthOrdenacion()

    $('.btn_open_slider').click(function (evento) {
        $(this).closest(".wrap_slider_label").addClass("open");
    })
    $(document).click(function (event) {
        var $target = $(event.target);
        if (!$target.closest('.wrap_slider_label').length &&
            $('.wrap_slider_label').hasClass("open")) {
            $('.wrap_slider_label').removeClass("open");
        }
    });

    $("#sideSearch #formKilometros").slider({
        step: 100,
        range: true,
        min: parseInt($("#sideSearch #formKilometros").attr("data-min")),
        max: parseInt($("#sideSearch #formKilometros").attr("data-max")),
        values: [parseInt($("#sideSearch #formKilometros").attr("data-min-value")), parseInt($("#sideSearch #formKilometros").attr("data-max-value"))],
        slide: function (event, ui) {
            $("#sideSearch #formKilometros").addClass("is_edited");
            $("#sideSearch #" + $("#sideSearch #formKilometros").attr("data-min-name")).addClass("is_edited");
            $("#sideSearch #" + $("#sideSearch #formKilometros").attr("data-max-name")).addClass("is_edited");
            set_is_edited_wrapper();
            $("#sideSearch #" + $("#sideSearch #formKilometros").attr("data-min-name")).val(ui.values[0]);
            $("#sideSearch #" + $("#sideSearch #formKilometros").attr("data-max-name")).val(ui.values[1]);
            $("#sideSearch #formKilometros").closest(".wrap_slider_label").find(".btn_open_slider span").html("" + ui.values[0] + " " + $("#sideSearch #formKilometros").attr("data-unit") + " - " + ui.values[1] + " " + $("#sideSearch #formKilometros").attr("data-unit") + "");
        },
        change: function () {
            $("#formPaginacion").val(1);
            $("#formBusqueda").val(time());

            procesaFormBusqueda($('.buscadorProductos'), "AJAX", "formKilometros");
        }
    });
    if ($("#sideSearch #formKilometros").hasClass("is_edited")) {
        $("#sideSearch #" + $("#sideSearch #formKilometros").attr("data-min-name")).val($("#sideSearch #formKilometros").slider("values", 0));
        $("#sideSearch #" + $("#sideSearch #formKilometros").attr("data-max-name")).val($("#sideSearch #formKilometros").slider("values", 1));
        $("#sideSearch #formKilometros").closest(".wrap_slider_label").find(".btn_open_slider span").html("" + $("#sideSearch #formKilometros").slider("values", 0) + " " + $("#sideSearch #formKilometros").attr("data-unit") + " - " + $("#sideSearch #formKilometros").slider("values", 1) + " " + $("#sideSearch #formKilometros").attr("data-unit") + "");
    }

    $("#sideSearch #formCilindrada").slider({
        step: 10,
        range: true,
        min: parseInt($("#sideSearch #formCilindrada").attr("data-min")),
        max: parseInt($("#sideSearch #formCilindrada").attr("data-max")),
        values: [parseInt($("#sideSearch #formCilindrada").attr("data-min-value")), parseInt($("#sideSearch #formCilindrada").attr("data-max-value"))],
        slide: function (event, ui) {
            $("#sideSearch #formCilindrada").addClass("is_edited");
            $("#" + $("#sideSearch #formCilindrada").attr("data-min-name")).addClass("is_edited");
            $("#" + $("#sideSearch #formCilindrada").attr("data-max-name")).addClass("is_edited");
            set_is_edited_wrapper();
            $("#" + $("#sideSearch #formCilindrada").attr("data-min-name")).val(ui.values[0]);
            $("#" + $("#sideSearch #formCilindrada").attr("data-max-name")).val(ui.values[1]);
            $("#sideSearch #formCilindrada").closest(".wrap_slider_label").find(".btn_open_slider span").html("" + ui.values[0] + " " + $("#sideSearch #formCilindrada").attr("data-unit") + " - " + ui.values[1] + " " + $("#sideSearch #formCilindrada").attr("data-unit") + "");
        },
        change: function () {
            $("#formPaginacion").val(1);
            $("#formBusqueda").val(time());

            procesaFormBusqueda($('.buscadorProductos'), "AJAX", "formCilindrada");
        }
    });
    if ($("#sideSearch #formCilindrada").hasClass("is_edited")) {
        $("#" + $("#sideSearch #formCilindrada").attr("data-min-name")).val($("#sideSearch #formCilindrada").slider("values", 0));
        $("#" + $("#sideSearch #formCilindrada").attr("data-max-name")).val($("#sideSearch #formCilindrada").slider("values", 1));
        $("#sideSearch #formCilindrada").closest(".wrap_slider_label").find(".btn_open_slider span").html("" + $("#sideSearch #formCilindrada").slider("values", 0) + " " + $("#sideSearch #formCilindrada").attr("data-unit") + " - " + $("#sideSearch #formCilindrada").slider("values", 1) + " " + $("#sideSearch #formCilindrada").attr("data-unit") + "");
    }

    $("#sideSearch #formAnio").slider({
        step: 1,
        range: true,
        min: parseInt($("#sideSearch #formAnio").attr("data-min")),
        max: parseInt($("#sideSearch #formAnio").attr("data-max")),
        values: [parseInt($("#sideSearch #formAnio").attr("data-min-value")), parseInt($("#sideSearch #formAnio").attr("data-max-value"))],
        slide: function (event, ui) {
            $("#sideSearch #formAnio").addClass("is_edited");
            $("#" + $("#sideSearch #formAnio").attr("data-min-name")).addClass("is_edited");
            $("#" + $("#sideSearch #formAnio").attr("data-max-name")).addClass("is_edited");
            set_is_edited_wrapper();
            $("#" + $("#sideSearch #formAnio").attr("data-min-name")).val(ui.values[0]);
            $("#" + $("#sideSearch #formAnio").attr("data-max-name")).val(ui.values[1]);
            $("#sideSearch #formAnio").closest(".wrap_slider_label").find(".btn_open_slider span").html("" + ui.values[0] + " " + $("#sideSearch #formAnio").attr("data-unit") + " - " + ui.values[1] + " " + $("#sideSearch #formAnio").attr("data-unit") + "");
        },
        change: function () {
            $("#formPaginacion").val(1);
            $("#formBusqueda").val(time());

            procesaFormBusqueda($('.buscadorProductos'), "AJAX", "formAnio");
        }
    });
    if ($("#sideSearch #formAnio").hasClass("is_edited")) {
        $("#" + $("#sideSearch #formAnio").attr("data-min-name")).val($("#sideSearch #formAnio").slider("values", 0));
        $("#" + $("#sideSearch #formAnio").attr("data-max-name")).val($("#sideSearch #formAnio").slider("values", 1));
        $("#sideSearch #formAnio").closest(".wrap_slider_label").find(".btn_open_slider span").html("" + $("#sideSearch #formAnio").slider("values", 0) + " " + $("#sideSearch #formAnio").attr("data-unit") + " - " + $("#sideSearch #formAnio").slider("values", 1) + " " + $("#sideSearch #formAnio").attr("data-unit") + "");
    }

    $("#sideSearch #formPrecio").slider({
        step: 100,
        range: true,
        min: parseInt($("#sideSearch #formPrecio").attr("data-min")),
        max: parseInt($("#sideSearch #formPrecio").attr("data-max")),
        values: [parseInt($("#sideSearch #formPrecio").attr("data-min-value")), parseInt($("#sideSearch #formPrecio").attr("data-max-value"))],
        slide: function (event, ui) {
            $("#sideSearch #formPrecio").addClass("is_edited");
            $("#" + $("#sideSearch #formPrecio").attr("data-min-name")).addClass("is_edited");
            $("#" + $("#sideSearch #formPrecio").attr("data-max-name")).addClass("is_edited");
            set_is_edited_wrapper();
            $("#" + $("#sideSearch #formPrecio").attr("data-min-name")).val(ui.values[0]);
            $("#" + $("#sideSearch #formPrecio").attr("data-max-name")).val(ui.values[1]);
            $("#sideSearch #formPrecio").closest(".wrap_slider_label").find(".btn_open_slider span").html("" + ui.values[0] + " " + $("#sideSearch #formPrecio").attr("data-unit") + " - " + ui.values[1] + " " + $("#sideSearch #formPrecio").attr("data-unit") + "");
        },
        change: function () {
            $("#formPaginacion").val(1);
            $("#formBusqueda").val(time());

            procesaFormBusqueda($('.buscadorProductos'), "AJAX", "formPrecio");
        }
    });
    if ($("#sideSearch #formPrecio").hasClass("is_edited")) {

        $("#" + $("#sideSearch #formPrecio").attr("data-min-name")).val($("#sideSearch #formPrecio").slider("values", 0));
        $("#" + $("#sideSearch #formPrecio").attr("data-max-name")).val($("#sideSearch #formPrecio").slider("values", 1));
        $("#sideSearch #formPrecio").closest(".wrap_slider_label").find(".btn_open_slider span").html("" + $("#sideSearch #formPrecio").slider("values", 0) + " " + $("#sideSearch #formPrecio").attr("data-unit") + " - " + $("#sideSearch #formPrecio").slider("values", 1) + " " + $("#sideSearch #formPrecio").attr("data-unit") + "");
    }

    $('#buscadorcontroltoggle').click(function (evento) {
        toggleBuscador();
    });

    $('#buscadorcontrolfiltrostoggle').click(function (evento) {
        toggleBuscador();
    });

    $('#buscadorcontrolborrar').click(function (evento) {
        // es inconsistente: resultados inesperados.
        // nuevo sistema: así evitamos todos los AJAX-buscarmotos...pq va cambiando (onChange) en cada uno de los controles y el resultado seguro que es correcto.
        window.location.href = `${window.location.origin}${window.location.pathname}`;
        return;

        console_log('buscadorcontrolborrar', "orange");
        [1, 2, 3, 4, 5, 6, 7, 8].forEach(function (i) {
            limpiarMultiSelectJS(i);
        });
        // Anterior_ arrayCombos = ["formCategoria","formEstado","formMarca","formConcesionario","formModelo","formProvincia","formTipoVendedor","formTipoPropulsion"];
        // arrayCombos.forEach(function (item) {
        // console_log(item);
        // let obj = $("#"+item);
        // let wrapper = obj.closest(".wrap_dropdown_label");
        // let label = wrapper.find(">label").html();

        // obj.val("");
        // wrapper.find(".ms-options-wrap button span").html(label);
        // wrapper.removeClass("is_edited");
        // obj.removeClass("is_edited");

        // obj.find('option').each(function (item) {
        //     console_log(item,"red");
        //     $(this).prop('selected', false);
        // });

        // });

        $arraySlides = ["formKilometros", "formCilindrada", "formAnio", "formPrecio"];
        $arraySlides.forEach(function (name) {
            let obj = $("#sideSearch #" + name);
            let wrapper = obj.closest(".wrap_slider_label");

            obj.slider("values", 0, obj.attr("data-min-value"))
            obj.slider("values", 1, obj.attr("data-max-value"))
            $("#" + obj.attr("data-min-name")).val(obj.slider("values", 0));
            $("#" + obj.attr("data-max-name")).val(obj.slider("values", 1));
            obj.closest(".wrap_slider_label").find(".btn_open_slider span").html("" + obj.slider("values", 0) + " " + obj.attr("data-unit") + " - " + obj.slider("values", 1) + " " + obj.attr("data-unit") + "");

            obj.removeClass("is_edited");
            $("#" + obj.attr("data-min-name")).removeClass("is_edited");
            $("#" + obj.attr("data-max-name")).removeClass("is_edited");

            wrapper.find(".ms-options-wrap button span").html(wrapper.find(">label").html());
            wrapper.removeClass("is_edited");

        });



        // $("#formKilometros").slider("values", 0, $("#formKilometros").attr("data-min-value"))
        // $("#formKilometros").slider("values", 1, $("#formKilometros").attr("data-max-value"))
        // $("#" + $("#formKilometros").attr("data-min-name")).val($("#formKilometros").slider("values", 0));
        // $("#" + $("#formKilometros").attr("data-max-name")).val($("#formKilometros").slider("values", 1));
        // $("#formKilometros").closest(".wrap_slider_label").find(".btn_open_slider span").html("" + $("#formKilometros").slider("values", 0) + " " + $("#formKilometros").attr("data-unit") + " - " + $("#formKilometros").slider("values", 1) + " " + $("#formKilometros").attr("data-unit") + "");
        // var wrapper = $("#formKilometros").closest(".wrap_slider_label");
        // wrapper.find(".ms-options-wrap button span").html(wrapper.find(">label").html());
        // $("#formKilometros").removeClass("is_edited");
        // wrapper.removeClass("is_edited");
        // $("#" + $("#formKilometros").attr("data-min-name")).removeClass("is_edited");
        // $("#" + $("#formKilometros").attr("data-max-name")).removeClass("is_edited");



        // $("#sideSearch #formCilindrada").slider("values", 0, $("#sideSearch #formCilindrada").attr("data-min-value"))
        // $("#sideSearch #formCilindrada").slider("values", 1, $("#sideSearch #formCilindrada").attr("data-max-value"))
        // $("#" + $("#sideSearch #formCilindrada").attr("data-min-name")).val($("#sideSearch #formCilindrada").slider("values", 0));
        // $("#" + $("#sideSearch #formCilindrada").attr("data-max-name")).val($("#sideSearch #formCilindrada").slider("values", 1));
        // $("#sideSearch #formCilindrada").closest(".wrap_slider_label").find(".btn_open_slider span").html("" + $("#sideSearch #formCilindrada").slider("values", 0) + " " + $("#sideSearch #formCilindrada").attr("data-unit") + " - " + $("#sideSearch #formCilindrada").slider("values", 1) + " " + $("#sideSearch #formCilindrada").attr("data-unit") + "");
        // var wrapper = $("#sideSearch #formCilindrada").closest(".wrap_slider_label");
        // wrapper.find(".ms-options-wrap button span").html(wrapper.find(">label").html());
        // $("#sideSearch #formCilindrada").removeClass("is_edited");
        // wrapper.removeClass("is_edited");
        // $("#" + $("#sideSearch #formCilindrada").attr("data-min-name")).removeClass("is_edited");
        // $("#" + $("#sideSearch #formCilindrada").attr("data-max-name")).removeClass("is_edited");

        // $("#sideSearch #formAnio").slider("values", 0, $("#sideSearch #formAnio").attr("data-min-value"))
        // $("#sideSearch #formAnio").slider("values", 1, $("#sideSearch #formAnio").attr("data-max-value"))
        // $("#" + $("#sideSearch #formAnio").attr("data-min-name")).val($("#sideSearch #formAnio").slider("values", 0));
        // $("#" + $("#sideSearch #formAnio").attr("data-max-name")).val($("#sideSearch #formAnio").slider("values", 1));
        // $("#sideSearch #formAnio").closest(".wrap_slider_label").find(".btn_open_slider span").html("" + $("#sideSearch #formAnio").slider("values", 0) + " " + $("#sideSearch #formAnio").attr("data-unit") + " - " + $("#sideSearch #formAnio").slider("values", 1) + " " + $("#sideSearch #formAnio").attr("data-unit") + "");
        // var wrapper = $("#sideSearch #formAnio").closest(".wrap_slider_label");
        // wrapper.find(".ms-options-wrap button span").html(wrapper.find(">label").html());
        // $("#sideSearch #formAnio").removeClass("is_edited");
        // wrapper.removeClass("is_edited");
        // $("#" + $("#sideSearch #formAnio").attr("data-min-name")).removeClass("is_edited");
        // $("#" + $("#sideSearch #formAnio").attr("data-max-name")).removeClass("is_edited");

        // $("#sideSearch #formPrecio").slider("values", 0, $("#sideSearch #formPrecio").attr("data-min-value"))
        // $("#sideSearch #formPrecio").slider("values", 1, $("#sideSearch #formPrecio").attr("data-max-value"))
        // $("#" + $("#sideSearch #formPrecio").attr("data-min-name")).val($("#sideSearch #formPrecio").slider("values", 0));
        // $("#" + $("#sideSearch #formPrecio").attr("data-max-name")).val($("#sideSearch #formPrecio").slider("values", 1));
        // $("#sideSearch #formPrecio").closest(".wrap_slider_label").find(".btn_open_slider span").html("" + $("#sideSearch #formPrecio").slider("values", 0) + " " + $("#sideSearch #formPrecio").attr("data-unit") + " - " + $("#sideSearch #formPrecio").slider("values", 1) + " " + $("#sideSearch #formPrecio").attr("data-unit") + "");
        // var wrapper = $("#sideSearch #formPrecio").closest(".wrap_slider_label");
        // wrapper.find(".ms-options-wrap button span").html(wrapper.find(">label").html());
        // $("#sideSearch #formPrecio").removeClass("is_edited");
        // wrapper.removeClass("is_edited");
        // $("#" + $("#sideSearch #formPrecio").attr("data-min-name")).removeClass("is_edited");
        // $("#" + $("#sideSearch #formPrecio").attr("data-max-name")).removeClass("is_edited");


        // $("#formTipoVendedor").val("");
        // var wrapper = $("#formTipoVendedor").closest(".wrap_dropdown_label");
        // wrapper.find(".ms-options-wrap button span").html(wrapper.find(">label").html());
        // $("#formTipoVendedor").removeClass("is_edited");
        // wrapper.removeClass("is_edited");


        $("#formPaginacion").val(1);
        $("#formBusqueda").val(time());

        procesaFormBusqueda($('.buscadorProductos'), "AJAX", "buscadorcontrolborrar");


    });


    $("#formModeloTexto").change(function () {

        $("#formPaginacion").val(1);
        $("#formBusqueda").val(time());

        procesaFormBusqueda($('.buscadorProductos'), "AJAX", "formModeloTexto");
    });

});

function sampleFinanceFicha() {
    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/financeDetails",
        data: {
            idEncrypted: $("#productHash").val() //idProductoFicha
            , sPrecio: $("#totalprice").html()
            , entrada: $("#formFinancePricer").val()
            , plazo: $("#formFinanceSelector").find(":selected").text()
        },
        dataType: 'json',
        success: function (data) {
            if (data.response) {
                $(document.body).append(data.html);
                $("#modal_financierolegal").modal("show");
            }
            //		else show_message_alert(data.mensaje, "danger");
        },
        fail: function (data) {
            //		show_message_alert(data.mensaje, "danger");
        },
        error: function (data) {
            //		show_message_alert(data.mensaje, "danger");
        }
    });

}

function sampleFinance(idEncrypted) {

    var iPrecio = "";
    var iMeses = "";
    var iEntrada = "";

    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/financeDetails",
        data: { idEncrypted: idEncrypted },
        dataType: 'json',
        success: function (data) {
            if (data.response) {
                $(document.body).append(data.html);
                $("#modal_financierolegal").modal("show");
            }
            //		else show_message_alert(data.mensaje, "danger");
        },
        fail: function (data) {
            //		show_message_alert(data.mensaje, "danger");
        },
        error: function (data) {
            //		show_message_alert(data.mensaje, "danger");
        }
    });
}

function financeConditions() {
    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/financeConditions",
        dataType: 'json',
        success: function (data) {
            if (data.response) {
                $(document.body).append(data.html);
                $("#modal_financierolegal").modal("show");
            }
            //		else show_message_alert(data.mensaje, "danger");
        },
        fail: function (data) {
            //		show_message_alert(data.mensaje, "danger");
        },
        error: function (data) {
            //		show_message_alert(data.mensaje, "danger");
        }
    });
}

function closeSampleFinance() {
    $("#modal_financierolegal").modal("hide");
    $("#modal_financierolegal").remove();
}

function toggleBuscador() {
    if ($("html").hasClass("filtro_abierto")) {
        $("html").removeClass("filtro_abierto");
    } else {
        $("html").addClass("filtro_abierto");
    }
}

function buscar_modelos_por_marca_2024() {
    console_log("buscar_modelos_por_marca_2024()");
    loader_on();
    let objModelo = $("#sideSearch #formModelo");
    // let modelos_get = [5619, 231, 1994];
    let estadosEnUrl = obtenerValoresDeParametroEnUrl("formEstado[]");
    let marcasEnUrl = obtenerValoresDeParametroEnUrl("formMarca[]");
    let modelosEnUrl = obtenerValoresDeParametroEnUrl("formModelo[]");
    let concesionariosEnUrl = obtenerValoresDeParametroEnUrl("formConcesionario[]");  // devuelve  [] o [1,2]    

    var data = {
        "categorias_ids": $("#sideSearch #formCategoria").val(),
        "estados_ids": estadosEnUrl.concat($("#sideSearch #formEstado").val()),
        "marcas_ids": marcasEnUrl.concat($("#sideSearch #formMarca").val()),
        "modelos_ids": modelosEnUrl,
        "concesionarios_ids": concesionariosEnUrl.concat($("#sideSearch #formConcesionario").val()),
    };
    console_log(data, "navy");
    // console_log("buscar_modelos_por_marca_2024()---DESACTIVADO");
    // return;
    var url = ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/getModelosSoloExistentes2024";
    // show_message_alert("dani-pruebas", "danger");
    $.ajax({
        type: 'POST',
        url: url,
        data: data,
        dataType: 'json',
        success: function (data) {
            loader_off();
            // console_log(data.contenido2);
            // return;

            // if ($("#sideSearch #formModelo").length > 0) {
            //     $("#sideSearch #formModelo").html(data.contenid2o);
            //     $("#sideSearch #formModelo").multiselect('reload');
            // }

            var options = [];
            // DMR - checked OFF
            for (var marca in data.contenido) {


                if (data.contenido.hasOwnProperty(marca)) {

                    var group = {
                        label: marca,
                        options: []
                    };
                    data.contenido[marca].forEach(function (moto) {
                        // let checked = false;
                        checked = verificaParametroDeUrl('formModelo[]', moto.modelo_id);
                        // if (checked) console_log(moto.modelo_id, "red");
                        group.options.push({
                            name: moto.modelo,
                            value: moto.modelo_id,
                            checked: checked
                        });
                    });

                    options.push(group);
                }
            }
            //console_log(options);
            objModelo.multiselect('loadOptions', options);

            // Ahora buscamos según los nuevos DATOS
            $("#formPaginacion").val(1);
            $("#formBusqueda").val(time());
            procesaFormBusqueda($('.buscadorProductos'), "AJAX", "getModelosSoloExistentes2024");
        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        }
    });

}


function buscar_modelos_por_marca(id) {
    console_log("buscar_modelos_por_marca: " + id);


    if ($("#formMarca").val() != "" && $("#formMarca").val() != null && $("#formMarca").val() != undefined) {
        id = $("#formMarca").val();
        $("#sideSearch .campoModeloSelect").css("display", "block");
        $("#sideSearch .campoModeloTexto").css("display", "none");
    } else {
        $("#sideSearch .campoModeloSelect").css("display", "none");
        $("#sideSearch #formModeloTexto").val("");
        $("#sideSearch .campoModeloTexto").css("display", "block");
    }

    if (id == "") {
        id = 0;
    }
    loader_on();
    //se usa en 2 sitios
    if ($("#formAnuncioStep3 #formModelo").length > 0) {
        var url = ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/getModelos/" + id;
        var data = {};
    } else {

        var url = ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/getModelosSoloExistentes";
        var data = { "marcas_ids": id };
    }
    if (typeof console_log === 'function') {
        console_log("buscar_modelos_por_marca: " + url);
    }
    $.ajax({
        type: 'POST',
        url: url,
        data: data,
        dataType: 'json',
        success: function (data) {

            loader_off();
            // DMR 2024.02.08 - temporal
            // if ($("#sideSearch #formModelo").length > 0) {
            //     $("#sideSearch #formModelo").html(data.contenido);
            //     $("#sideSearch #formModelo").multiselect('reload');
            // }
            if ($("#formAnuncioStep3 #formModelo").length > 0) {
                $("#formAnuncioStep3 #formModelo").select2("destroy")
                $("#formAnuncioStep3 #formModelo").html(data.contenido);
                $("#formAnuncioStep3 #formModelo").select2();
            }


            if (data.response) {
                if ($("#formModeloSeleccionado").length) {
                    if ($("#formModeloSeleccionado").val() != "" && $("#formModeloSeleccionado").val() != -1) {
                        $("#formModelo option[value='" + $("#formModeloSeleccionado").val() + "']").prop("selected", "true");
                        $("#formAnuncioStep3 #formModelo").change();

                        $("#formNombreModeloSeleccionado").val($("#formModelo option[value='" + $("#formModeloSeleccionado").val() + "']").text());
                    }
                }
            } else {
                show_message_alert(data.mensaje, "danger");
            }
            if ($("#sideSearch #formModelo").length > 0) {
                $("#formPaginacion").val(1);
                $("#formBusqueda").val(time());

                procesaFormBusqueda($('.buscadorProductos'), "AJAX", "buscar_modelos_por_marca");
            }

            if ($("#formAnuncioStep3 #formModelo").length > 0) {
                compruebaServiciosPermitidos($("#formAnuncioStep3"));
            }

        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        }
    });
}

function buscar_modelos_por_marca_insurance(id) {

    if ($("#formMarca").val() != "" && $("#formMarca").val() != null && $("#formMarca").val() != undefined) {
        id = $("#formMarca").val();
        $("#sideSearch .campoModeloSelect").css("display", "block");
        $("#sideSearch .campoModeloTexto").css("display", "none");
    } else {
        $("#sideSearch .campoModeloSelect").css("display", "none");
        $("#sideSearch #formModeloTexto").val("");
        $("#sideSearch .campoModeloTexto").css("display", "block");
    }


    if (id == "") {
        id = 0;
    }
    loader_on();
    console.log("id", id);

    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/seguro/getModelos/" + id,
        data: { marca: id },
        dataType: 'json',
        success: function (data) {

            loader_off();

            if (data.response) {
                //si existe el #formModelo
                if ($("#formCotizarSeguroStep2 #formModelo").length > 0) {

                    //$("#formCotizarSeguroStep2 #formModelo").select2();
                    //$("#formCotizarSeguroStep2 #formModelo").select2("destroy")
                    $("#formCotizarSeguroStep2 #formModelo").empty();
                    $("#formCotizarSeguroStep2 #formModelo").append($('<option></option>').val('').text("Modelo *"));
                    $.each(data.aModelos, function (key, value) {
                        $("#formCotizarSeguroStep2 #formModelo").append($('<option></option>').val(key).text(value));
                    });
                    //$("#formCotizarSeguroStep2 #formModelo").select2();
                }

            } else {
                show_message_alert(data.mensaje, "danger");
            }
        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        }
    });
}

function buscar_versiones_por_modelo_insurance(id) {
    loader_on();

    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/seguro/getVersions",
        data: { modelo: id, marca: $("#formCotizarSeguroStep2 #formMarca").val() },
        dataType: 'json',
        success: function (data) {

            loader_off();

            if (data.response) {
                //si existe el #formVersion
                if ($("#formCotizarSeguroStep2 #formVersion").length > 0) {

                    console.log(data.aVersiones);
                    //$("#formCotizarSeguroStep2 #formVersion").select2("destroy")
                    $("#formCotizarSeguroStep2 #formVersion").empty();
                    $("#formCotizarSeguroStep2 #formVersion").append($('<option></option>').val('').text("Versión *"));
                    $.each(data.aVersiones, function (key, value) {
                        $("#formCotizarSeguroStep2 #formVersion").append($('<option></option>').val(key).text(value));
                    });
                    $//("#formCotizarSeguroStep2 #formVersion").select2();
                }

            } else {
                show_message_alert(data.mensaje, "danger");
            }
        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        }
    });
}

function buscar_companias_insurance() {
    $.ajax({
        type: 'POST'
        , url: ROOTPATH_DOMAIN_IDIOMA + "ajax/seguro/getCompanias"
        , dataType: 'json'
        , success: function (data) {
            loader_off();

            if (data.response) {

                if ($("#formCotizarSeguroStep2 #formCompania").length > 0) {

                    //$("#formCotizarSeguroStep2 #formCompania").select2();
                    //$("#formCotizarSeguroStep2 #formCompania").select2("destroy")
                    $("#formCotizarSeguroStep2 #formCompania").empty();
                    $("#formCotizarSeguroStep2 #formCompania").append($('<option></option>').val('').text("Compañía *"));
                    $.each(data.aCompanies, function (key, value) {
                        $("#formCotizarSeguroStep2 #formCompania").append($('<option></option>').val(value.codigo).text(value.nombre));
                    });
                    //$("#formCotizarSeguroStep2 #formCompania").select2();
                }
            } else show_message_alert(data.mensaje, "danger");
        }
        , fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        }
        , error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        }
    });
}

function setPage(pag) {
    $("#formPaginacion").val(pag);

    procesaFormBusqueda($("form.buscadorProductos"), "AJAX", "setPage");

    var element = $("#resbusqueda");
    $('html,body').animate({ scrollTop: element.offset().top }, 'slow');
}

function setPrevPage(pagActual) {
    if (pagActual > 1) {
        setPage(pagActual - 1);
    }
}

function setNextPage(pagActual, totalPaginas) {
    if (pagActual < totalPaginas) {
        setPage(pagActual + 1);
    }
}

function getPageUrl(pag) {

    var cont = 0;
    var getUri = "";
    $("form.buscadorProductos").find(':input').each(function () {
        var elemento = this;

        var el_valor = $(this).val();


        if (elemento.name != undefined && elemento.name != null && elemento.name != "" && el_valor != undefined && el_valor != null && el_valor != "" && elemento.name != "formModeloSeleccionado") {
            if ($("#" + elemento.id).hasClass("is_edited")) {
                if (elemento.name.indexOf("[]") >= 0) {
                    if (!Array.isArray(el_valor)) {
                        el_valor = el_valor.split(",")
                    }

                    el_valor.forEach(function (value) {
                        if (cont == 0) {
                            getUri += "?";
                        } else {
                            getUri += "&";
                        }
                        getUri += elemento.name + "=" + value;
                        cont++;
                    })

                } else {
                    if (cont == 0) {
                        getUri += "?";
                    } else {
                        getUri += "&";
                    }
                    if (elemento.name == "formPaginacion") {
                        el_valor = pag;
                    }
                    getUri += elemento.name + "=" + el_valor;
                    cont++;
                }
            }
        }
    });

    /* FCL: En vez del activo del form vamos a usar la url actual. Asi cuando estemos en la pagina de HONDA, las urls de paginacion seran con el nombre de HONDA */
    //return $("form.buscadorProductos").attr("action") + getUri;
    return location.protocol + '//' + location.host + location.pathname + getUri;
}

function getPrevPageUrl(pagActual) {
    return getPageUrl(parseInt(pagActual) - 1);
}

function getNextPageUrl(pagActual, totalPaginas) {
    return getPageUrl(parseInt(pagActual) + 1);
}


// DMR - procesaFormBusqueda
function procesaFormBusqueda(form, method, quienDisapara = undefined) {

    // primera_carga_buscador = true;   //SIEMPRE
    if (primera_carga_buscador) {
        console_log("🔴 primera_carga_buscador:  => "+primera_carga_buscador);
        primera_carga_buscador = false;
        maqueta_paginacion_buscador(" 👁️ procesaFormBusqueda: " + quienDisapara);
        return;
    }
    console_log("🟢 procesaFormBusqueda: " + quienDisapara + " - " + form.attr("id"));

    // if (primera_carga_buscador) {
    //     console_log("primera_carga_buscador: " + form.attr("id"));
    //     primera_carga_buscador = false;
    //     maqueta_paginacion_buscador();
    // } else {
    // console_log("NOT primera_carga_buscador: " + form.attr("id"));

    var cont = 0;
    var getUri = "";
    form.find(':input').each(function () {
        var elemento = this;

        var el_valor = $(this).val();


        if (elemento.name != undefined && elemento.name != null && elemento.name != "" && el_valor != undefined && el_valor != null && el_valor != "" && elemento.name != "formModeloSeleccionado") {
            if ($("#" + elemento.id).hasClass("is_edited")) {
                if (elemento.name.indexOf("[]") >= 0) {
                    if (!Array.isArray(el_valor)) {
                        el_valor = el_valor.split(",")
                    }

                    el_valor.forEach(function (value) {
                        if (value != "") {
                            if (cont == 0) {
                                getUri += "?";
                            } else {
                                getUri += "&";
                            }
                            getUri += elemento.name + "=" + value;
                        }
                        cont++;
                    })

                } else {
                    if (el_valor != "") {
                        if (cont == 0) {
                            getUri += "?";
                        } else {
                            getUri += "&";
                        }
                        getUri += elemento.name + "=" + el_valor;
                    }
                    cont++;
                }
            }
        }
    });


    //var href = form.attr("action") + getUri;
    var href = "";


    /* FCL: Si el id del form es mainSearch o mainSearchMobile si lo tenemos que llevar al action, si no lo llevamos a la URL actual. Asi cuando estemos en la pagina de HONDA, las urls de paginacion seran con el nombre de HONDA */
    if (form.attr("id") == "mainSearch") {
        href = form.attr("action") + getUri;
    } else if (form.attr("id") == "mainSearchMobile") {
        href = form.attr("action") + getUri;
    } else {
        href = location.protocol + '//' + location.host + location.pathname + getUri;
    }
     console_log(href,"red");    
     console_log(method,"orange");

    if (method == "GET") {
        window.location.href = href;
    } else if (method == "AJAX") {
        if (window.location.href != href) {
            window.history.pushState({ "busqueda": form.attr("id") }, $(document).attr('title'), href);
        }
        realizaBusqueda(form.attr("id"));

        // 2024.02.09 - Si dispara: estilo, Estado o Marcas => recargar Modelos.
        $inputsQueDebenActualizarModelo = ["formCategoria", "formEstado", "formMarca", "formConcesionario"];
        // console_log("xxxxxxxxxxxxxxxxxxxxx:"+quienDisapara);
        if ($inputsQueDebenActualizarModelo.includes(quienDisapara)) {
            buscar_modelos_por_marca_2024();
        }

    } else if (method == "RESETPAGE") {
        if (window.location.href != href) {
            window.history.pushState({ "busqueda": form.attr("id") }, $(document).attr('title'), href);
        }
        setPage(1);
    }
    // }

}

function realizaBusqueda(formId) {
     //console_log("BUSQUEDA DESACTIVADA", "red");
    // return;
    loader_on();
    var form = $("#" + formId);
    var data = {};
    form.find(':input').each(function () {
        var elemento = this;
        var nombre_clean = elemento.name;
        nombre_clean = nombre_clean.split("[").join("").split("]").join("");

        //  console_log("NOMBRE_CLEAN: "+nombre_clean);

        if (nombre_clean != "") {
            if ($("#" + nombre_clean).length > 0) {
                if ((Array.isArray($("#" + nombre_clean).val()) && $("#" + nombre_clean).val().length > 0) || (!Array.isArray($("#" + nombre_clean).val()) && $("#" + nombre_clean).val() != "")) {
                    // console.log(formId, elemento.name, elemento.value, $("#" + nombre_clean).val(), Array.isArray($("#" + nombre_clean).val()))
                    if (elemento.value != "") {
                        // console_log("entró: " + time() + "===>" + elemento.name);
                        data[elemento.name] = $("#" + nombre_clean).val();
                    }
                }
            }
        }
        //if (elemento.name != undefined && elemento.name != null && elemento.name != "" && elemento.value != undefined && elemento.value != null && elemento.value != "") {
        //    data[elemento.name] = elemento.value;
        //}
    });

    console_log("realizaBusqueda: " + formId, "orange");
    console_log(data, "orange");
    // return;

    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/buscar",
        data: data,
        dataType: 'json',
        success: function (data) {
            // console_log(data, "red");
            console_log("data_total: " +data.total, "red");
            // console_log(data.html_motos, "green");
            if (data.response && data.total > 0) {
                $("#formPagDesde").val(data.desde);
                $("#formPagHasta").val(data.hasta);
                $("#formPagTotal").val(data.total);
                $("#formPagPaginas").val(data.paginas);
                $("#formPagPaginaActual").val(data.pagina_actual);
                maqueta_paginacion_buscador(" 👀 realizaBusqueda: " + formId, "navy");
                $("#resultadosBusqueda").html(data.html_motos);
            } else {
                sin_resultados();
            }
            loader_off();
        },
        fail: function (data) {
            sin_resultados();
            loader_off();
        },
        error: function (data) {
            sin_resultados();
            loader_off();
        }
    });
}

function maqueta_paginacion_buscador(quienes) {
    console_log("maqueta_paginacion_buscador:" + quienes);

    let desde = $("#formPagDesde").val();
    let hasta = $("#formPagHasta").val();
    let total = $("#formPagTotal").val();
    let totalEspeciales = $("#formTotalEspeciales").val();
    let nombreEspeciales = $("#formNombreEspeciales").val();
    let paginaActual = $("#formPagPaginaActual").val();
    let paginasTotales = $("#formPagPaginas").val();

    let str = "";
    let strOverride = $("#texto_mostrando").attr("data-override");
    let ese = (total == 1) ? "" : "s";
    $("#texto_mostrando").css("display", "none");

   

    // if (total >= paginasTotales) {
    if (paginaActual==1) {
        str += "Mostrando " + total + " moto" + ese + strOverride + ".";
    } else {
        hasta2 = hasta;
        if (hasta2>total) {
            hasta2 = total;
        }
        str += "Mostrando " + desde + "-" + hasta2 + " de " + total + " motos" + strOverride + ".";
    }

    if (totalEspeciales > 0) {
        str += "&nbsp;&nbsp;<i>(<b>" + totalEspeciales + "</b> moto" + ese + " " + nombreEspeciales + ")</i>";
    }
    // str += "</span>";
    if (desde == "") str = "";

    console_log("total="+total);
    console_log("paginasTotales="+paginasTotales);
    console_log("paginaActual="+paginaActual);
    console_log("str="+str);
    $("#texto_mostrando").html(str);

    if (total > 1) {
        $("#texto_mostrando").css("display", "inline-block");
        $("#div_ordenacion").css("display", "block");
        $(".wrapBtnVerResultadosMobile a").html("Ver los " + total + " resultados");
    } else if (total > 0) {
        $("#texto_mostrando").css("display", "inline-block");
        $("#div_ordenacion").css("display", "block");
        $(".wrapBtnVerResultadosMobile a").html("Ver " + total + " resultado");
    } else {
        // console_log("xxxxxxxxxxxxxxxxxxx");
        // $("#texto_mostrando").css("display", "inline-block");
        // $(".wrapBtnVerResultadosMobile a").html("Sin resultados");
        sin_resultados();
    }
    
    if (paginasTotales > 1) {
        $("#wrapPaginacion").css("display", "block");
        $("#divPaginacion").css("display", "block");
        var cont = 1;
        var codigoPaginacion = "";

        var extraActive = "";
        var extraSetPage = "";

        if (parseInt(paginaActual) > 1) {
            codigoPaginacion += '<a class="btn linkReturnFalse" href="' + getPrevPageUrl(paginaActual) + '" onclick="setPrevPage(' + paginaActual + ')" role="button"><</a>';
        }

        while (cont <= paginasTotales) {
            if (paginaActual == (cont - 3)) codigoPaginacion += '…';
            if (paginaActual >= (cont - 2) && paginaActual <= (cont + 2)) {
                extraActive = "";
                extraSetPage = 'onclick="setPage(' + cont + ')"';
                if (cont == paginaActual) {
                    extraActive = "active";
                    extraSetPage = "";
                }

                codigoPaginacion += '<a class="btn linkReturnFalse ' + extraActive + '" href="' + getPageUrl(cont) + '" ' + extraSetPage + ' role="button">' + cont + '</a>';
            }
            if (paginaActual == (cont + 3)) codigoPaginacion += '…';
            cont++;
        }

        if (parseInt(paginaActual) < parseInt(paginasTotales)) {
            codigoPaginacion += '<a class="btn linkReturnFalse" href="' + getNextPageUrl(paginaActual, paginasTotales) + '" onclick="setNextPage(' + paginaActual + ', ' + paginasTotales + ')" role="button">></i>';
        }


        $("#divPaginacion").html(codigoPaginacion);


        $(".linkReturnFalse").click(function (event) {
            return false;
        });

    } else {
        $("#wrapPaginacion").css("display", "none");
        $("#divPaginacion").css("display", "none");
    }
}

function estoyEnHonda() {
    const url = window.location.href;
    const regex = /honda/i;
    if (regex.test(url)) {
        console_log("estoy en HONDA");
        return true;
    }else{
        return false;
    }
}

function sin_resultados() {
    console_log("sin_resultados()");
    $("#texto_mostrando").css("display", "none");
    $("#wrapPaginacion").css("display", "none");
    $("#div_ordenacion").css("display", "none");
    $("#wrapPaginacion").attr("style", "display: none !important");

    let frase= "No se han encontrado resultados.";
    if (estoyEnHonda()) {
        frase= "No se han encontrado resultados. Seguir viendo motos <a href='https://honda.appmoto.net/encuentra-tu-moto'>Honda</a>";
    }
    $("#resultadosBusqueda").html("<div class='sin_resultados'><h5>"+frase+"</h5></div>");
}

function setOrdenacion() {
    console_log("setOrdenacion()");
    $("#formOrdenacion").val($("#formSelectorOrdenacion").val());

    resetWidthOrdenacion()

    $("#formPaginacion").val(1);

    procesaFormBusqueda($('.buscadorProductos'), "RESETPAGE", "setOrdenacion");
}

function resetWidthOrdenacion() {
    console_log("resetWidthOrdenacion()");
    var text = $("#formSelectorOrdenacion").find('option:selected').text()
    var $aux = $('<select/>').addClass("formato_ordenacion").append($('<option/>').text(text))
    $("#formSelectorOrdenacion").after($aux)
    $("#formSelectorOrdenacion").width($aux.width())
    $aux.remove()
}

function getAllUrlParams(url) {

    // get query string from url (optional) or window
    var queryString = url ? url.split('?')[1] : window.location.search.slice(1);

    // we'll store the parameters here
    var obj = {};

    // if query string exists
    if (queryString) {

        // stuff after # is not part of query string, so get rid of it
        queryString = queryString.split('#')[0];

        // split our query string into its component parts
        var arr = queryString.split('&');

        for (var i = 0; i < arr.length; i++) {
            // separate the keys and the values
            var a = arr[i].split('=');

            // in case params look like: list[]=thing1&amp;list[]=thing2
            var paramNum = undefined;
            var paramName = a[0].replace(/\[\d*\]/, function (v) {
                paramNum = v.slice(1, -1);
                return '';
            });

            // set parameter value (use 'true' if empty)
            var paramValue = typeof (a[1]) === 'undefined' ? true : a[1];

            // (optional) keep case consistent
            /*paramName = paramName.toLowerCase();
            paramValue = paramValue.toLowerCase();*/

            // if parameter name already exists
            if (obj[paramName]) {
                // convert value to array (if still string)
                if (typeof obj[paramName] === 'string') {
                    obj[paramName] = [obj[paramName]];
                }
                // if no array index number specified...
                if (typeof paramNum === 'undefined') {
                    // put the value on the end of the array
                    obj[paramName].push(paramValue);
                }
                // if array index number specified...
                else {
                    // put the value at that index number
                    obj[paramName][paramNum] = paramValue;
                }
            }
            // if param name doesn't exist yet, set it
            else {
                obj[paramName] = paramValue;
            }
        }
    }

    return obj;
}

/* /BUSCADOR */

/* FICHA MOTO */

$(document).ready(function () {

    /* FLC - 24/05/2023: Si la URL contiene el HASH  opencontact autoabrimos el "contactar con el anunciante". Lo hacemos mediante el evento click para que cuenta para las estadisticas y se ejcute el codigo del on('click' que tiene*/
    if (window.location.hash && window.location.hash == "#opencontact") {
        $('#offCanvasContactoButton').click();
        $('#offcanvasContacto').offcanvas('show')
    }

    $('#fichafotos .loop').owlCarousel({
        center: true,
        loop: true,
        margin: 30,
        nav: true,
        dots: false,
        autoplay: true,
        autoplayTimeout: 5000,
        responsive: {
            0: {
                items: 1
            },
            768: {
                items: 2
            },
            1024: {
                items: 2
            }
        }
    });



    $('form#formContactoVendedor').validate({
        errorPlacement: function (error, element) {
            var placement = $(element).data('error');
            if ($(element).attr('id') != 'formCPOrigen') {
                $(element).addClass('is-invalid');
                $(element).removeClass('is-valid');
            }

            if (placement) {
                $(placement).append(error)
            } else {
                error.insertAfter(element);
            }
        },
        success: function (error, element) {
            var placement = $(element).data('error');
            if ($(element).attr('id') != 'formCPOrigen') {
                $(element).removeClass('is-invalid');
                $(element).addClass('is-valid');
            }

            $(placement).html('');
        }
    });

    $("#formContactoVendedor").submit(function (e) {
        e.preventDefault();
        if ($("form#formContactoVendedor").valid()) contactoVendedor($(this));
    });

    if ($("#contractaccordion > div.accordion-item").length == 1) {
        /* FCL - 22/05/2023: Si solo tenemos un servicio, cambiamos el texto de arriba */
        var nombre_servicio_unico = $(this).find(".accordion-header > .form-check > .form-check-label > span").html();
        $(".widgetcontrata > p.lead").html(TRADUCCION_TEXTO_TE_AYUDAMOS_CON_1_SERVICIO.replace("##SERVICIO##", nombre_servicio_unico))
    } else if ($("#contractaccordion > div.accordion-item").length == 0) {
        /* FCL - 22/05/2023: Si solo NO tenemos servicios, quitamos el cuadro de precios */
        $("#fichamoto .widgetcontrata").css("display", "none")
    }

    $("#formComprarProducto").submit(function (e) {
        e.preventDefault();

        //primero quitamos el resto de servicios si está el integral
        if ($("#formComprarProducto input.servicio1").is(":checked")) {
            $("#formComprarProducto input.servicio2").prop('checked', false);
            $("#formComprarProducto input.servicio3").prop('checked', false);
            $("#formComprarProducto input.servicio4").prop('checked', false);
        }

        solicitarComprarProducto($(this));
    });


    $(".unServicio").change(function () {


        var form = $(this).closest(".formularioProducto");
        var servicioActual = $(this).val();

        var precioTotal = 0;

        if ($(this).is(":checked")) {
            sendToShare($("#productHash").val(), "calcularPrecioServicio_" + servicioActual);

            $("#formComprarProducto").find(".servicio" + servicioActual).prop('checked', true);

            if ($(this).hasClass("servicioUnico")) {
                $("#formComprarProducto").find(".unServicio.servicioCombinable").prop('checked', false);
            } else if ($(this).hasClass("servicioCombinable")) {
                $("#formComprarProducto").find(".unServicio.servicioUnico").prop('checked', false);
            }

            if ($(this).hasClass("servicio1")) {
                //$(".servicio2").prop('checked', true);
                //$(".servicio3").prop('checked', true);
                //$(".servicio4").prop('checked', true);

                $(".included").show();
                //$("#acordeon2 .precio span").css("text-decoration","line-through");
                //$("#acordeon3 .precio span").css("text-decoration","line-through");
                //$("#acordeon4 .precio span").css("text-decoration","line-through");
                $("#acordeon2 .precio span").css("display", "none");
                $("#acordeon3 .precio span").css("display", "none");
                $("#acordeon4 .precio span").css("display", "none");
            } else {
                //$(".servicio2").prop('checked', true);
                //$(".servicio3").prop('checked', true);
                //$(".servicio4").prop('checked', true);

                $(".included").hide();
                //$("#acordeon2 .precio span").css("text-decoration","none");
                //$("#acordeon3 .precio span").css("text-decoration","none");
                //$("#acordeon4 .precio span").css("text-decoration","none");
                $("#acordeon2 .precio span").css("display", "block");
                $("#acordeon3 .precio span").css("display", "block");
                $("#acordeon4 .precio span").css("display", "block");
            }
            if ($(this).hasClass("servicio4")) {
                $(".servicio2").prop('checked', true);
            }

        } else {

            if ($(this).hasClass("servicio1") || $(".servicio1").is(":not(:checked)")) {
                //$(".servicio2").prop('checked', true);
                //$(".servicio3").prop('checked', true);
                //$(".servicio4").prop('checked', true);

                $(".included").hide();
                //$("#acordeon2 .precio span").css("text-decoration","none");
                //$("#acordeon3 .precio span").css("text-decoration","none");
                //$("#acordeon4 .precio span").css("text-decoration","none");
                $("#acordeon2 .precio span").css("display", "block");
                $("#acordeon3 .precio span").css("display", "block");
                $("#acordeon4 .precio span").css("display", "block");
            }

            if ($(this).hasClass("servicio4")) {
                $(".servicio2").prop('checked', true);
            }


            if ($(this).hasClass("servicio2")) {
                if ($("#formComprarProducto").find(".servicio4").is(":checked")) {
                    $("#formComprarProducto").find(".servicio4").prop('checked', false);
                }
            }

            $("#formComprarProducto").find(".servicio" + servicioActual).prop('checked', false);
        }

        var aServiciosChecked = new Array();
        var iIntegral = false;
        var precioTotal = 0;
        for (i0 = 1; i0 <= 4; i0++) {
            if ($("#formComprarProducto").find(".servicio" + i0).is(":checked")) {
                if (i0 == 1) iIntegral = true;
                aServiciosChecked.push(i0);

                if ((iIntegral == true && i0 == 1) || iIntegral == false) {
                    precioTotal += parseFloat($("#formPrecioServicio" + i0).val());
                }
            }
        }
        if ($("#totalServicesCalculador").length > 0) {
            if (precioTotal == 0) {
                $("#totalServicesCalculador").html("XX,XX €");
            } else {

                $("#totalServicesCalculador").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(precioTotal));
            }
        } else {
            loader_on();

            $.ajax({
                type: 'POST',
                url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/preciosProducto",
                data: {
                    idProducto: $("#idProductoFicha").val()
                    , aServices: JSON.stringify(aServiciosChecked)
                    , entrada: $("#formFinancePricer").val()
                    , plazo: $("#formFinanceSelector").find(":selected").text()
                },
                dataType: 'json',
                success: function (data) {
                    //console.log("dataFinance", data);
                    if (data.response == true) {
                        /*
                        var iPrecioTotal = Number(data['precioBase']);
                        for (i0 = 1; i0 <= 4; i0++){
                            if ($("#formComprarProducto").find(".servicio" + i0).is(":checked")){
                                iPrecioTotal += Number(data['precioServicios'][i0].precio);
                            }
                        }*/
                        //console.log("cur", data.totalPrecio);
                        $("#totalprice").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.totalPrecio));
                        $("#totalServices").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(precioTotal)); //precioAcumuladoServicios
                        $("#totalafinanciar").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionTotalcredito));
                        $("#totalapagar").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionTotalAdeudado));

                        $("#financedprice").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionCuota));
                        $("#financedpriceSimulator").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionCuota));
                        $("#financedentradaMinima").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionEntMin));
                        $("#financedentradaMaxima").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionEntMax));
                        $("#financedEntrada").val(parseInt(data.financiacionEntMin));
                        $("#financedEntradaResume").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionEntrada));

                        $("#financedImporteTotalIntereses").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionTotalIntereses));
                        $("#financedImporteCosteTotal").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionCosteTotalCredito));
                        $("#financeImporteSolicitado").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionTotalcredito));
                        $("#financedImporteTotal").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionCosteTotalCredito));
                        $("#financedImporteTotalAdeudado").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionTotalAdeudado));
                        $("#financedComisionApertura").html(new Intl.NumberFormat('de', { maximumFractionDigits: 2 }).format(data.financiacionComision));
                        $("#financedTIN").html(new Intl.NumberFormat('de', { maximumFractionDigits: 2 }).format(data.financiacionTIN));
                        $("#financedTAE").html(new Intl.NumberFormat('de', { maximumFractionDigits: 2 }).format(data.financiacionTAE));
                        $("#financedTAEResume").html(new Intl.NumberFormat('de', { maximumFractionDigits: 2 }).format(data.financiacionTAE));
                        $("#financedImporteEntradaCalc").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format($("#formFinancePricer").val()));
                        $("#financieraLink").attr("href", data.finiancieraLink);

                        loader_off();
                    } else {
                        if (data.mensaje != undefined) show_message_alert(data.mensaje, "warning");
                        loader_off();
                    }
                },
                fail: function (data) {
                    show_message_alert(data.mensaje, "danger");
                    loader_off();
                },
                error: function (data) {
                    show_message_alert(data.mensaje, "danger");
                    loader_off();
                }
            });
        }


    });

    $("#formFinancePricer").change(function () {
        recalculaFinanciacion();
    });
    $("#formFinanceSelector").change(function () {
        recalculaFinanciacion();
    });

    $('#sharer a').on('click', function (e) {
        e.preventDefault();

        var url = $(this).attr('href');
        //console.log("url", url);
        var parametros = {
            hash: $(this).data("hash"),
            rrss: $(this).data("rrss")
        };

        $.ajax({
            type: 'POST',
            url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/share",
            data: parametros,
            dataType: 'json',
            success: function (data) {
                //console.log("URL: ", url);
                window.open(url, '_blank');
            }
        });

        //console.log("URL: ", url);
        if ($(this).data("rrss") == "email") window.location.href = url;
        else window.open(url, '_blank');
    });

    $('#offCanvasContactoButton').on('click', function (e) {
        sendToShare($(this).data("hash"), 'intentoContacto');
    })

    $('#formContactoVendedor').submit(function (e) {
        sendToShare($(this).data("hash"), 'realizaContacto');
    })

    $('#formComprarProducto').submit(function (e) {
        sendToShare($(this).data("hash"), 'inicioContrataServicio');
    })

    $('#calculadorboton').on('click', function (e) {
        var parametros = {
            hash: $("#productHash").val(),
            rrss: 'calculaFinanciacion'
        };

        gtag('event', 'accionFicha', {
            accion: 'calculaFinanciacion',
            object: $(this).data('hash')
        });

        $.ajax({
            type: 'POST'
            , url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/share"
            , data: parametros
            , dataType: 'json'
            , success: function (data) {
            }
        })
    })

    $('#financieraLink').on('click', function (e) {
        var parametros = {
            hash: $("#productHash").val(),
            rrss: 'solicitudPrestamoSantander'
        };

        gtag('event', 'accionFicha', {
            accion: 'solicitudPrestamoSantander',
            object: $(this).data('hash')
        });

        $.ajax({
            type: 'POST'
            , url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/share"
            , data: parametros
            , dataType: 'json'
            , success: function (data) {
            }
        })
    })


    $('.actionFichaContact').click(function (event) {
        event.preventDefault();

        var parametros = {
            hash: $(this).data('hash'),
            rrss: 'linkcontacto_' + $(this).data('action')
        };

        gtag('event', 'accionFicha', {
            accion: 'linkcontacto_' + $(this).data('action'),
            object: $(this).data('hash')
        });

        $.ajax({
            type: 'POST'
            , url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/share"
            , data: parametros
            , dataType: 'json'
            , success: function (data) {
            }
        })

        window.location.href = $(this).attr('href');
    });
    //actionFichaContact" data-action="email
});

$(window).on("load", function () {
    if ($("#calculadorboton").length) {
        cargaFinanciacion();
    }
})

function cargaFinanciacion() {

    var iPlazo = null;

    if ($("#formFinanceSelector").children('option').length) {
        iPlazo = $("#formFinanceSelector").find(":selected").text();
    }

    var aServiciosChecked = new Array();
    var iIntegral = false;
    var precioTotal = 0;
    for (i0 = 1; i0 <= 4; i0++) {
        if ($("#formComprarProducto").find(".servicio" + i0).is(":checked")) {
            if (i0 == 1) iIntegral = true;
            aServiciosChecked.push(i0);

            if ((iIntegral == true && i0 == 1) || iIntegral == false) {
                precioTotal += parseFloat($("#formPrecioServicio" + i0).val());
            }
        }
    }

    datos_entrada = {
        idProducto: $("#idProductoFicha").val(),
        aServices: JSON.stringify(aServiciosChecked),
        entrada: $("#formFinancePricer").val(),
        plazo: iPlazo
    };
    // console.log(datos_entrada);
    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/preciosProducto",
        data: datos_entrada,       
        dataType: 'json',
        success: function (data) {
            // console.log("dataFinance::on");
            // console.log("dataFinance", data);
            //console_log(data);
            // console.log("dataFinance::off");
            if (data.response == true) {

                if (data.financiacionPlazoMax < 0) {
                    $("#detalleFinanciacion").hide();
                    $("h1 .price").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.totalPrecio));
                } else {
                    $("#totalprice").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.totalPrecio));
                    $("#totalServices").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(precioTotal)); //precioAcumuladoServicios
                    $("#totalafinanciar").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionTotalcredito));
                    $("#totalapagar").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionTotalAdeudado));

                    $("#financedprice").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionCuota));
                    $("#financedpriceSimulator").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionCuota));
                    $("#financedentradaMinima").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionEntMin));
                    $("#financedentradaMaxima").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionEntMax));
                    $("#financedEntrada").val(parseInt(data.financiacionEntMin));
                    $("#financedEntradaResume").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionEntrada));

                    $("#financedImporteTotalIntereses").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionTotalIntereses));
                    $("#financedImporteCosteTotal").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionCosteTotalCredito));
                    $("#financeImporteSolicitado").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionTotalcredito));
                    $("#financedImporteTotal").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionCosteTotalCredito));
                    $("#financedImporteTotalAdeudado").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionTotalAdeudado));
                    $("#financedComisionApertura").html(new Intl.NumberFormat('de', { maximumFractionDigits: 2 }).format(data.financiacionComision));
                    $("#financedTIN").html(new Intl.NumberFormat('de', { maximumFractionDigits: 2 }).format(data.financiacionTIN));
                    $("#financedTAE").html(new Intl.NumberFormat('de', { maximumFractionDigits: 2 }).format(data.financiacionTAE));
                    $("#financedTAEResume").html(new Intl.NumberFormat('de', { maximumFractionDigits: 2 }).format(data.financiacionTAE));
                    $("#financedImporteEntradaCalc").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format($("#formFinancePricer").val()));
                    $("#financieraLink").attr("href", data.finiancieraLink);
                    $("#financedTipoComision").html(data.financiacionTipoComision);

                    if (iPlazo == null) {
                        var select = $('#formFinanceSelector');

                        var sSelected;
                        for (i0 = data.financiacionPlazoMin; i0 <= data.financiacionPlazoMax; i0 += 12) {
                            sSelected = i0 == data.financiacionPlazoMax ? 'selected' : '';
                            select.append('<option ' + sSelected + '>' + i0 + '</option>');
                        }
                        $("#formFinancePricer").val(data.financiacionEntrada);
                        $("#financedPlazoResume").html(data.financiacionPlazoMax);

                        $("h1 .price").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionCuota) + '/mes* <small style="font-weight: 300;"> o ' + new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.totalPrecio) + ' al contado</small>');
                    }
                }

                loader_off();
            } else {
                if (data.mensaje != undefined) show_message_alert(data.mensaje, "warning");
                loader_off();
            }
        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        }
    });
}

function sendToShare(sHash, sRrss) {
    var parametros = {
        hash: sHash,
        rrss: sRrss
    };

    gtag('event', 'accionFicha', {
        accion: sRrss,
        object: sHash
    });

    $.ajax({
        type: 'POST'
        , url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/share"
        , data: parametros
        , dataType: 'json'
        , success: function (data) {
        }
    })
}

function recalculaFinanciacion() {

    loader_on();

    var aServiciosChecked = new Array();
    for (i0 = 1; i0 <= 4; i0++) {
        if ($("#formComprarProducto").find(".servicio" + i0).is(":checked")) {
            aServiciosChecked.push(i0);
        }
    }


    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/preciosProducto",
        data: {
            idProducto: $("#idProductoFicha").val()
            , aServices: JSON.stringify(aServiciosChecked)
            , entrada: $("#formFinancePricer").val()
            , plazo: $("#formFinanceSelector").find(":selected").text()
        },
        dataType: 'json',
        success: function (data) {
            $("#totalprice").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.totalPrecio));
            $("#totalServices").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.precioAcumuladoServicios));
            $("#totalafinanciar").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionTotalcredito));
            $("#totalapagar").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionTotalAdeudado));

            $("#financedprice").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionCuota));
            $("#financedpriceSimulator").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionCuota));
            $("#financedentradaMinima").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionEntMin));
            $("#financedentradaMaxima").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionEntMax));
            $("#financedEntrada").val(parseInt(data.financiacionEntMin));
            $("#financedEntradaResume").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionEntrada));


            $("#financedImporteTotalIntereses").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionTotalIntereses));
            $("#financedImporteCosteTotal").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionCosteTotalCredito));
            $("#financeImporteSolicitado").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionTotalcredito));
            $("#financedImporteTotal").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionCosteTotalCredito));
            $("#financedImporteTotalAdeudado").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format(data.financiacionTotalAdeudado));
            $("#financedComisionApertura").html(new Intl.NumberFormat('de', { maximumFractionDigits: 2 }).format(data.financiacionComision));
            $("#financedTIN").html(new Intl.NumberFormat('de', { maximumFractionDigits: 2 }).format(data.financiacionTIN));
            $("#financedTAE").html(new Intl.NumberFormat('de', { maximumFractionDigits: 2 }).format(data.financiacionTAE));
            $("#financedTAEResume").html(new Intl.NumberFormat('de', { maximumFractionDigits: 2 }).format(data.financiacionTAE));
            $("#financedImporteEntradaCalc").html(new Intl.NumberFormat('de', { style: 'currency', currency: 'EUR' }).format($("#formFinancePricer").val()));
            $("#financieraLink").attr("href", data.finiancieraLink);

            loader_off();
        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        }
    });
}

function solicitarComprarProducto(form) {
    loader_on();
    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/solicitarComprarProducto",
        data: form.serialize(),
        dataType: 'json',
        success: function (data) {
            if (data.response) {
                window.location.href = data.url;
            } else {
                if (data.error_type == "LOGIN_REQUIRED") {
                    $(".modalLoginRequerido #generalLoginLink").attr("href", $(".modalLoginRequerido #generalLoginLink").attr('href') + "?ref=" + window.location.href);
                    $(".modalLoginRequerido").modal('show');
                } else {
                    show_message_alert(data.mensaje, "danger");
                }
            }
            loader_off();
        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        }
    });
}

function contactoVendedor(form) {
    loader_on();
    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/correos/contactoVendedor",
        data: form.serialize(),
        dataType: 'json',
        success: function (data) {
            if (data.response) {
                form[0].reset();
                show_message_alert(data.mensaje, "success");
            } else {
                show_message_alert(data.mensaje, "danger");
            }
            loader_off();
        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        }
    });
}

/* /FICHA MOTO */

/* MI CUENTA */
$(document).ready(function () {

    $('#formBuscarMotos').keyup(function () {
        var texto_para_buscar = accentFold($(this).val().split(" ").join("").toLocaleLowerCase());
        if (texto_para_buscar != "") {
            $("#mismotos  > div > div.col-12").each(function () {
                if ($(this).find(".megabutton").length > 0) {
                    $(this).css("display", "block");
                } else {
                    var texto_donde_buscar = accentFold($(this).find(".content_info_minificha").text().toLocaleLowerCase());
                    if (texto_donde_buscar.includes(texto_para_buscar)) {
                        $(this).css("display", "block");
                    } else {
                        $(this).css("display", "none");
                    }
                }
            });
        } else {
            $("#mismotos  > div > div.col-12").each(function () {
                $(this).css("display", "block");
            });
        }
    });
    $('#formBuscarMotos').keyup();

    $('#catalogoModoMosaico').click(function (e) {
        cargaMisMotos('mosaico');
    });
    $('#catalogoModoListado').click(function (e) {
        cargaMisMotos('listado');
    });

    $('form#formChangePass').validate({
        errorPlacement: function (error, element) {
            var placement = $(element).data('error');
            $(element).addClass('is-invalid');
            $(element).removeClass('is-valid');
            if (placement) {
                $(placement).append(error)
            } else {
                error.insertAfter(element);
            }
        },
        success: function (error, element) {
            var placement = $(element).data('error');
            $(element).removeClass('is-invalid');
            $(element).addClass('is-valid');
            $(placement).html('');
        },
        rules: {
            formRepiteNuevaPass: {
                equalTo: "#formNuevaPass"
            }
        }
    });
    $("form#formChangePass").submit(function (e) {
        e.preventDefault();
        if ($("form#formChangePass").valid()) changePass($(this));
    });

    $('form#updateUserForm').validate({
        errorPlacement: function (error, element) {
            var placement = $(element).data('error');
            if ($(element).attr('id') != 'formCPOrigen') {
                $(element).addClass('is-invalid');
                $(element).removeClass('is-valid');
            }

            if (placement) {
                $(placement).append(error)
            } else {
                error.insertAfter(element);
            }
        },
        success: function (error, element) {
            var placement = $(element).data('error');
            if ($(element).attr('id') != 'formCPOrigen') {
                $(element).removeClass('is-invalid');
                $(element).addClass('is-valid');
            }

            $(placement).html('');
        }
        /*
        , rules: {
            formLocalidadOrigen: {
                required: function() {
                    if (!$("wraploctxt").is(":visible")) {
                        return true;
                    }
                }
            },
            formLocalidadSelectOrigen: {
                required: function() {
                    if (!$("wraplocselect").is(":visible")) {
                        return true;
                    }
                }
            }
        } */
    });
    $("form#updateUserForm").submit(function (e) {
        e.preventDefault();
        if ($("form#updateUserForm").valid()) updateUser($(this));
    });

    $("#formRecarga").submit(function (e) {
        e.preventDefault();

        if ($("#formCreditos").val() != null && $("#formCreditos").val() != "" && $("#formCreditos").val() > 0) {
            loader_on();
            $.ajax({
                type: 'POST',
                url: ROOTPATH_DOMAIN_IDIOMA + "ajax/usuarios_web/addRecarga",
                data: $("#formRecarga").serialize(),
                dataType: 'json',
                success: function (data) {
                    loader_off();
                    if (data.response) {
                        window.location.href = data.url;
                    } else {
                        if (data.error_type == "LOGIN_REQUIRED") {
                            $(".modalLoginRequerido #generalLoginLink").attr("href", $(".modalLoginRequerido #generalLoginLink").attr('href') + "?ref=" + window.location.href);
                            $(".modalLoginRequerido").modal('show');
                        } else {
                            show_message_alert(data.mensaje, "danger");
                        }
                    }
                },
                fail: function (data) {
                    show_message_alert(data.mensaje, "danger");
                    loader_off();
                },
                error: function (data) {
                    show_message_alert(data.mensaje, "danger");
                    loader_off();
                }
            });
        } else {
            show_message_alert("Debe introducir la cantidad de créditos a recargar", "danger");
        }
    });

    $("#formCreditos").keyup(function () {
        if ($(this).val() != null && $(this).val() != "" && $(this).val() > 0) {
            $(".infoAccionRecarga").css("display", "block");
            var iPrecioRecarga = 1 * $(this).val();

            iPrecio = iPrecioRecarga + (iPrecioRecarga * ($("#formPorcentajeIVA").val() / 100));

            $(".importeTotalRecarga").html(iPrecio.toLocaleString('de-DE', { minimumFractionDigits: 2, maximumFractionDigits: 2 }));
        } else {
            $(".infoAccionRecarga").css("display", "none");
            $(".importeTotalRecarga").html(0);
        }
    });
});

function cargaMisMotos(sSentido) {
    //loader_on();
    //$("#mismotos").html("");

    if (sSentido == 'listado') {
        $("#mismotos .bloque").each(function (index) {
            $(this).removeClass("col-md-6 col-lg-4");
        });
        $("#mismotos .megabutton .disposition").addClass("megabuttonlist d-flex justify-content-start align-items-center");
        $("#mismotos .megabutton").addClass("megabuttonlist");

        $("#mismotos .card").addClass("apaisado");
        $("#mismotos").addClass("apaisado");
    } else {
        $("#mismotos .bloque").each(function (index) {
            $(this).addClass("col-md-6 col-lg-4");
        });
        $("#mismotos .megabutton .disposition").removeClass("d-flex justify-content-start align-items-center");
        $("#mismotos .megabutton").removeClass("megabuttonlist");

        $("#mismotos .card").removeClass("apaisado");
        $("#mismotos").removeClass("apaisado");
    }
}

$(document).on('click', '.minificha a', function (e) {
    other_action_minificha = true;
});

$(document).on('click', '.mostrarOcultar-btn', function (e) {
    other_action_minificha = true;
    var elemento = $(this);
    mostrarOcultarAnuncio($(this).attr("dir"), $(this).attr("data-status"));
});

$(document).on('click', '.destacado-btn', function (e) {
    other_action_minificha = true;
    var elemento = $(this);
    if (elemento.closest(".minificha").hasClass('esDestacado')) {
        deleteDestacado(elemento)
    } else {
        addDestacado(elemento)
    }
});

$(document).on('click', '.eliminar-btn', function (e) {
    other_action_minificha = true;
    var elemento = $(this);
    eliminaAnuncio($(this).attr("dir"));
});

function changePass(form) {
    loader_on();

    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/usuarios_web/changePass",
        data: form.serialize(),
        dataType: 'json',
        success: function (data) {
            loader_off();
            if (data.response) {
                show_message_alert(data.mensaje, "success");
                form[0].reset();
                $('#modalChangePass').modal('hide');
            } else {
                show_message_alert(data.mensaje, "danger");
            }

        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        }
    });
}

function updateUser(form) {
    loader_on();
    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/usuarios_web/update",
        data: form.serialize(),
        dataType: 'json',
        success: function (data) {
            if (data.response) {
                show_message_alert(data.mensaje, "success");
                window.location.href = data.url;
            } else {
                show_message_alert(data.mensaje, "danger");
            }
            loader_off();
        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        }
    });
}

function addDestacado(elemento) {
    var idProducto = elemento.attr("dir");
    loader_on();
    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/addDestacado/" + idProducto,
        dataType: 'json',
        success: function (data) {
            loader_off();
            if (data.response) {
                show_message_alert(data.mensaje, "success");
                /* FCL - 20/05/2023: Cambiamos la clase de badge a badge_for_destacado para que no afecte a otros badges de la minificha */
                elemento.closest(".badge_for_destacado").addClass('bg-publicado').removeClass('bg-danger');
                elemento.closest(".minificha").addClass('esDestacado');
                return true;
            } else {
                if (data.error_type == "LOGIN_REQUIRED") {
                    $(".modalLoginRequerido #generalLoginLink").attr("href", $(".modalLoginRequerido #generalLoginLink").attr('href') + "?ref=" + window.location.href);
                    $(".modalLoginRequerido").modal('show');
                } else {
                    show_message_alert(data.mensaje, "danger");
                }
                return false;
            }
        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
            return false;
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
            return false;
        }
    });
}

function deleteDestacado(elemento) {
    var idProducto = elemento.attr("dir");
    loader_on();
    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/deleteDestacado/" + idProducto,
        dataType: 'json',
        success: function (data) {
            loader_off();
            if (data.response) {
                show_message_alert(data.mensaje, "success");
                /* FCL - 20/05/2023: Cambiamos la clase de badge a badge_for_destacado para que no afecte a otros badges de la minificha */
                elemento.closest(".badge_for_destacado").removeClass('bg-publicado').addClass('bg-danger');
                elemento.closest(".minificha").removeClass('esDestacado');
                return true;
            } else {
                if (data.error_type == "LOGIN_REQUIRED") {
                    $(".modalLoginRequerido #generalLoginLink").attr("href", $(".modalLoginRequerido #generalLoginLink").attr('href') + "?ref=" + window.location.href);
                    $(".modalLoginRequerido").modal('show');
                } else {
                    show_message_alert(data.mensaje, "danger");
                }
                return false;
            }
        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
            return false;
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
            return false;
        }
    });
}

function eliminaAnuncio(idAnuncio) {
    if (confirm("¿Realmente desea eliminar este anuncio?")) {
        loader_on();
        $.ajax({
            url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/eliminarProducto/" + idAnuncio,
            method: "POST",
            dataType: 'json',
            success: function (data) {
                loader_off();
                if (data.response) {
                    show_message_alert(data.mensaje, "success");
                    window.location.href = data.url;
                } else {
                    show_message_alert(data.mensaje, "danger");
                }
            },
            fail: function (data) {
                show_message_alert(data.mensaje, "danger");
                loader_off();
            },
            error: function (data) {
                show_message_alert(data.mensaje, "danger");
                loader_off();
            }
        });
    }
}

function mostrarOcultarAnuncio(idAnuncio, estado) {
    var msg = "¿Realmente desea ocultar este anuncio?";
    if (estado == 1) {
        msg = "¿Realmente desea mostrar este anuncio?";
    }
    if (confirm(msg)) {
        loader_on();
        $.ajax({
            url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/mostrarOcultarAnuncio/" + idAnuncio,
            data: {
                formEstado: estado
            },
            method: "POST",
            dataType: 'json',
            success: function (data) {
                loader_off();
                if (data.response) {
                    show_message_alert(data.mensaje, "success");
                    window.location.href = data.url;
                } else {
                    show_message_alert(data.mensaje, "danger");
                }
            },
            fail: function (data) {
                show_message_alert(data.mensaje, "danger");
                loader_off();
            },
            error: function (data) {
                show_message_alert(data.mensaje, "danger");
                loader_off();
            }
        });
    }
}

/* /MI CUENTA */

/* CONTACTO */

$(document).ready(function () {

    $('form#contactFormAdvanced').validate({
        errorPlacement: function (error, element) {
            var placement = $(element).data('error');
            if ($(element).attr('id') != 'formCPUsuario') {
                $(element).addClass('is-invalid');
                $(element).removeClass('is-valid');
            }

            if (placement) {
                $(placement).append(error)
            } else {
                error.insertAfter(element);
            }
        },
        success: function (error, element) {
            var placement = $(element).data('error');
            if ($(element).attr('id') != 'formCPUsuario') {
                $(element).removeClass('is-invalid');
                $(element).addClass('is-valid');
            }

            $(placement).html('');
        }
    });

    $("#contactFormAdvanced").submit(function (e) {
        e.preventDefault();
        if ($("form#contactFormAdvanced").valid()) contactoWeb($(this));
    });
});

function contactoWeb(form) {
    loader_on();
    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/correos/contactoWeb",
        data: form.serialize(),
        dataType: 'json',
        success: function (data) {
            if (data.response) {
                form[0].reset();
                show_message_alert(data.mensaje, "success");
            } else {
                show_message_alert(data.mensaje, "danger");
            }
            loader_off();
        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        }
    });
}

/* /CONTACTO */
/* CALCULA TU TRANSPORTE */

$(document).ready(function () {


    cp_keyup_event("OrigenCalcula");
    cp_keyup_event("DestinoCalcula");

    $('form#calculaTuTransporte').validate({
        errorPlacement: function (error, element) {
            var placement = $(element).data('error');
            if (!($(element).attr('id') == 'formCPOrigenCalcula' || $(element).attr('id') == 'formCPDestinoCalcula')) {
                $(element).addClass('is-invalid');
                $(element).removeClass('is-valid');
            }

            if (placement) {
                $(placement).append(error)
            } else {
                error.insertAfter(element);
            }
        },
        success: function (error, element) {
            var placement = $(element).data('error');
            if (!($(element).attr('id') == 'formCPOrigenCalcula' || $(element).attr('id') == 'formCPDestinoCalcula')) {
                $(element).removeClass('is-invalid');
                $(element).addClass('is-valid');
            }

            $(placement).html('');
        }
    });

    $("#calculaTuTransporte").submit(function (e) {
        e.preventDefault();
        gtag('event', 'calcularTransporte');
        if ($("form#calculaTuTransporte").valid()) calculaTuTransporte($(this));
    });
});

function calculaTuTransporte(form) {
    loader_on();
    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/calculaTuTransporte",
        data: form.serialize(),
        dataType: 'json',
        success: function (data) {
            if (data.response) {
                $("#capaPrecioTransporte").html(data.precio)
            } else {
                show_message_alert(data.mensaje, "danger");
            }
            loader_off();
        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        }
    });
}

/* /CALCULA TU TRANSPORTE */
/* CALCULA TU PRECIO */

$(document).ready(function () {


    cp_keyup_event("OrigenCalculaSI");
    cp_keyup_event("DestinoCalculaSI");

    $('form#calculaTuPrecio').validate({
        rules: {
            formCilindradaCalculaSI: {
                required: function (element) {
                    return $("#formTipoMotorCalculaSI").val() == "combustion";
                }
            }
            /*
            if ($("#formTipoMotorCalculaSI").val() == "combustion" && $("#formCilindradaCalculaSI").val() != "") {
                $("#formCilindradaCalculaSI").attr('required');
            }
            else $("#formCilindradaCalculaSI").removeAttr('required');
             */
        },
        errorPlacement: function (error, element) {
            var placement = $(element).data('error');
            if (!($(element).attr('id') == 'formCPOrigenCalculaSI' || $(element).attr('id') == 'formCPDestinoCalculaSI')) {
                $(element).addClass('is-invalid');
                $(element).removeClass('is-valid');
            }

            if (placement) {
                $(placement).append(error)
            } else {
                error.insertAfter(element);
            }
        },
        success: function (error, element) {
            var placement = $(element).data('error');
            if (!($(element).attr('id') == 'formCPOrigenCalculaSI' || $(element).attr('id') == 'formCPDestinoCalculaSI')) {
                $(element).removeClass('is-invalid');
                $(element).addClass('is-valid');
            }

            $(placement).html('');
        }
    });

    $("#calculaTuPrecio").submit(function (e) {
        e.preventDefault();

        gtag('event', 'calcularPrecio');
        if ($("form#calculaTuPrecio").valid()) calculaTuPrecio($(this));
    });

    $("#formTipoMotoCalculaSI").change(function () {
        reset_calcula_tu_precio();
    });
    $("#formPrecioCalculaSI").change(function () {
        reset_calcula_tu_precio();
    });
    $("#formAnioCalculaSI").change(function () {
        reset_calcula_tu_precio();
    });
    $("#formCilindradaCalculaSI").change(function () {
        reset_calcula_tu_precio();
    });
    $("#formPotenciaCalculaSI").change(function () {
        reset_calcula_tu_precio();
    });
    $("#formCPOrigenCalculaSI").change(function () {
        reset_calcula_tu_precio();
    });
    $("#formCPDestinoCalculaSI").change(function () {
        reset_calcula_tu_precio();
    });

});

function reset_calcula_tu_precio() {
    $("#acordeon1 .precio .con_login").html("XX,XX €")
    $("#acordeon2 .precio .con_login").html("XX,XX €")
    $("#acordeon3 .precio .con_login").html("XX,XX €")
    $("#acordeon4 .precio .con_login").html("XX,XX €")

    $("#formPrecioServicio1").val(0)
    $("#formPrecioServicio2").val(0)
    $("#formPrecioServicio3").val(0)
    $("#formPrecioServicio4").val(0)

    $("#formServicio1").prop('checked', false);
    $("#formServicio2").prop('checked', false);
    $("#formServicio3").prop('checked', false);
    $("#formServicio4").prop('checked', false);

    $("#formServicio1").attr("disabled", "disabled");
    $("#formServicio2").attr("disabled", "disabled");
    $("#formServicio3").attr("disabled", "disabled");
    $("#formServicio4").attr("disabled", "disabled");


    $("#totalServicesCalculador").html("XX,XX €");
}

function calculaTuPrecio(form) {
    loader_on();
    $("#preciominitpdiv").addClass("d-none");
    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/calculaTuPrecio",
        data: form.serialize(),
        dataType: 'json',
        success: function (data) {
            if (data.response) {
                $("#acordeon1 .precio .con_login").html(data.datos.data.servicios.precio_servicio_integral_formateado)
                $("#acordeon2 .precio .con_login").html(data.datos.data.servicios.precio_transporte_total_formateado)
                $("#acordeon3 .precio .con_login").html(data.datos.data.servicios.precio_itp_total_formateado)
                $("#acordeon4 .precio .con_login").html(data.datos.data.servicios.precio_mediacion_total_formateado)

                $("#formPrecioServicio1").val(data.datos.data.servicios.precio_servicio_integral_formateado_float)
                $("#formPrecioServicio2").val(data.datos.data.servicios.precio_transporte_total_formateado_float)
                $("#formPrecioServicio3").val(data.datos.data.servicios.precio_itp_total_formateado_float)
                $("#formPrecioServicio4").val(data.datos.data.servicios.precio_mediacion_total_formateado_float)

                $("#formServicio1").removeAttr("disabled");
                $("#formServicio2").removeAttr("disabled");
                $("#formServicio3").removeAttr("disabled");
                $("#formServicio4").removeAttr("disabled");

                $("#detailservice1").html("De los cuales " + data.datos.data.servicios.precio_itp_calculado_formateado + " son impuestos de transmisiones y " + data.datos.data.servicios.precio_tasas + " tasas autonómicas.");
                //console.log("precio minimo", data.datos.data.sub_precio_mercado, data.datos.data.servicios.precio_minimo_moto_calculo_itp);

                if (data.datos.data.servicios.sub_precio_mercado == true) {
                    $("#preciominitpdiv").removeClass("d-none");
                    $("#preciominitp").html(data.datos.data.servicios.precio_minimo_moto_calculo_itp_formateado);
                }

            } else {
                show_message_alert(data.mensaje, "danger");
            }
            loader_off();
        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        }
    });
}

/* /CALCULA TU PRECIO */

/* MISDATOS */
$(document).ready(function () {
    cp_keyup_event("Origen");
});
/* /MISDATOS */

/* PUBLICAR ANUNCIOS */

$(document).ready(function () {
    cp_keyup_event("Usuario");
    cp_keyup_event("Propietario");


    $("#formAnuncioStep1 #formPerfil").change(function () {
        if ($(this).val() == "PROFESIONAL") {
            var lbl_nombre = $("#formAnuncioStep1 #formNombre").closest(".col-12").find("label");
            lbl_nombre.html(lbl_nombre.attr("data-content-profesional") + "*");

            $("#formAnuncioStep1 #formNombre").closest(".col-12").attr("class", "col-12 col-md-12 col-lg-6");

            var lbl_direccion = $("#formAnuncioStep1 #formDireccion").closest(".col-12").find("label");
            lbl_direccion.html(lbl_direccion.attr("data-content-profesional") + "*");




            $("#formAnuncioStep1 #formApellido1").removeAttr("required")
            $("#formAnuncioStep1 #formApellido1").closest(".col-12").css("display", "none");

            $("#formAnuncioStep1 #formApellido2").closest(".col-12").css("display", "none");

            $(".soloProfesionales").css("display", "block");
            $(".soloParticulares").css("display", "none");
        } else {
            var lbl_nombre = $("#formAnuncioStep1 #formNombre").closest(".col-12").find("label");
            lbl_nombre.html(lbl_nombre.attr("data-content-particular") + "*");

            $("#formAnuncioStep1 #formNombre").closest(".col-12").attr("class", "col-12 col-md-6 col-lg-3");

            var lbl_direccion = $("#formAnuncioStep1 #formDireccion").closest(".col-12").find("label");
            lbl_direccion.html(lbl_direccion.attr("data-content-particular") + "*");

            $("#formAnuncioStep1 #formApellido1").attr("required", "required");

            $("#formAnuncioStep1 #formApellido1").closest(".col-12").css("display", "block");
            $("#formAnuncioStep1 #formApellido2").closest(".col-12").css("display", "block");

            $(".soloProfesionales").css("display", "none");
            $(".soloParticulares").css("display", "block");
        }
    });
    $("#formAnuncioStep1 #formPerfil").change();

    $('form#formAnuncioStep1').validate({
        errorPlacement: function (error, element) {
            var placement = $(element).data('error');
            if ($(element).attr('id') != 'formCPUsuario') {
                $(element).addClass('is-invalid');
                $(element).removeClass('is-valid');
            }

            if (placement) {
                $(placement).append(error)
            } else {
                error.insertAfter(element);
            }
        },
        success: function (error, element) {
            var placement = $(element).data('error');
            if ($(element).attr('id') != 'formCPUsuario') {
                $(element).removeClass('is-invalid');
                $(element).addClass('is-valid');
            }

            $(placement).html('');
        }
    });

    $('form#formAnuncioStep2').validate({
        errorPlacement: function (error, element) {
            var placement = $(element).data('error');
            if ($(element).attr('id') != 'formCPUsuario') {
                $(element).addClass('is-invalid');
                $(element).removeClass('is-valid');
            }

            if (placement) {
                $(placement).append(error)
            } else {
                error.insertAfter(element);
            }
        }
        , success: function (error, element) {
            var placement = $(element).data('error');
            if ($(element).attr('id') != 'formCPUsuario') {
                $(element).removeClass('is-invalid');
                $(element).addClass('is-valid');
            }

            $(placement).html('');
        }
        , rules: {
            formApellido2P: {
                //    required: function () {
                //        return false;
                //    }
            }
        }
    });

    $('form#formAnuncioStep3').validate({
        errorPlacement: function (error, element) {
            var placement = $(element).data('error');
            if ($(element).attr('id') != 'formCPOrigen') {
                $(element).addClass('is-invalid');
                $(element).removeClass('is-valid');
                $(element).closest(".wrap_dropdown_label").addClass('is-invalid');
                $(element).closest(".wrap_dropdown_label").removeClass('is-valid');
            }

            if (placement) {
                $(placement).append(error)
            } else {
                error.insertAfter(element);
            }
        },
        success: function (error, element) {
            var placement = $(element).data('error');
            if ($(element).attr('id') != 'formCPOrigen') {
                $(element).removeClass('is-invalid');
                $(element).addClass('is-valid');
                $(element).closest(".wrap_dropdown_label").removeClass('is-invalid');
                $(element).closest(".wrap_dropdown_label").addClass('is-valid');
            }

            $(placement).html('');
        }
        /*
        , rules: {
            formLocalidadOrigen: {
                required: function() {
                    if (!$("wraploctxt").is(":visible")) {
                        return true;
                    }
                }
            },
            formLocalidadSelectOrigen: {
                required: function() {
                    if (!$("wraplocselect").is(":visible")) {
                        return true;
                    }
                }
            }
        } */
    });

    $("form.oneStep").submit(function (e) {
        e.preventDefault();
        var continua = true;
        var stepNumber = $(this).attr("dir");
        console_log("stepNumber:" + stepNumber);
        if (stepNumber == 1) {
            if ($("#formIDLocalidadUsuario").val() != "" && $("#formIDLocalidadUsuario").val() != null && $("#formIDProvinciaUsuario").val() != "" && $("#formIDProvinciaUsuario").val() != null) {
                continua = $("form#formAnuncioStep1").valid();
            } else {
                continua = false;
                show_message_alert("Debe introducir un código postal válido.", "danger");
            }

        } else if (stepNumber == 2) {
            if ($("input[name='formDatosPropietario']:checked").val() == "SI" || $("input[name='formDatosPropietario']:checked").val() == "NO") {
                if ($("input[name='formDatosPropietario']:checked").val() == "SI" || ($("input[name='formDatosPropietario']:checked").val() == "NO" && $("#formIDLocalidadPropietario").val() != "" && $("#formIDLocalidadPropietario").val() != null && $("#formIDProvinciaPropietario").val() != "" && $("#formIDProvinciaPropietario").val() != null)) {
                    continua = $("form#formAnuncioStep2").valid();
                } else {
                    continua = false;
                    show_message_alert("Debe introducir un código postal válido.", "danger");
                }
            } else {
                continua = false;
                show_message_alert("Debe escoger una opción para continuar.", "danger");
            }

        } else if (stepNumber == 3) {

            continua = $("form#formAnuncioStep3").valid();
        } else if (stepNumber == 4) {
            if ($("#acepta_servicio_integral").val() == 1) {
                if ($("#select_agente").val() == "") {
                    continua = false;
                    show_message_alert("Debe seleccionar un Agente para el servicio integral", "warning");
                } else {
                    $("#id_agente_origen").val($("#select_agente").val());
                    continua = true;
                }
            } else {
                continua = $("form#formAnuncioStep4").valid();
            }
            // continua = false;
            // continua = $("form#formAnuncioStep4").valid();
        }
        // console_log("continua??:"+continua);
        // console_log($(this));
        if (continua) {
            processStep($(this));
        }
    });

    $("form.oneStepInsurance").submit(function (e) {
        e.preventDefault();

        var continua = true;
        var stepNumber = $(this).attr("dir");

        switch (stepNumber) {
            case "1":
                continua = $("#formCotizarSeguroStep1").valid();
                break;
            case "2":
                continua = $("#formCotizarSeguroStep2").valid();
                break;
        }
        if (continua) {
            processStepInsurance($(this));
        }
    })

    //  $("#formCotizarSeguroStep2 #formMarca").select2();
    //  $("#formCotizarSeguroStep2 #formModelo").select2();


    $('form#formCotizarSeguroStep1').validate({
        errorPlacement: function (error, element) {
            var placement = $(element).data('error');
            if ($(element).attr('id') != 'formCPUsuario') {
                $(element).addClass('is-invalid');
                $(element).removeClass('is-valid');
            }
            //$("#formFechaNaciemiento")(dd/dd/yyyy)
            if (placement) {
                $(placement).append(error)
            } else {
                error.insertAfter(element);
            }
        },
        success: function (error, element) {
            var placement = $(element).data('error');
            if ($(element).attr('id') != 'formCPUsuario') {
                $(element).removeClass('is-invalid');
                $(element).addClass('is-valid');
            }

            $(placement).html('');
        },
        rules: {
            'fo rmFechaNaciemiento': { FechaValida: true },
            'formFechaCarnet': { FechaValida: true }
        }
    });

    $('form#formCotizarSeguroStep2').validate({
        errorPlacement: function (error, element) {
            var placement = $(element).data('error');
            if ($(element).attr('id') != 'formCPUsuario') {
                $(element).addClass('is-invalid');
                $(element).removeClass('is-valid');
            }
            if (placement) {
                $(placement).append(error)
            } else {
                error.insertAfter(element);
            }
        },
        success: function (error, element) {
            var placement = $(element).data('error');
            if ($(element).attr('id') != 'formCPUsuario') {
                $(element).removeClass('is-invalid');
                $(element).addClass('is-valid');
            }

            $(placement).html('');
        },
        rules: {
            'formFechaMatriculacion': { FechaValida: true },
            'formFechaCompra': { FechaValida: true },
            'formFechaVencimientoPoliza': { FechaValida: true }
        }
    });


    $("#formCotizarSeguroStep2 #formMarca").change(function () {
        buscar_modelos_por_marca_insurance($(this).val());
    });

    $("#formCotizarSeguroStep2 #formModelo").change(function () {
        buscar_versiones_por_modelo_insurance($(this).val());
    });

    $("#formCotizarSeguroStep2 #formVersion").change(function () {
        var selectedText = $("#formCotizarSeguroStep2 #formVersion option:selected").text();
        $("#formVersionSeleccionado").val(selectedText);
    });

    $("#formCotizarSeguroStep2 #formCompania").change(function () {
        var selectedText = $("#formCotizarSeguroStep2 #formCompania option:selected").text();
        $("#formCompaniaSeleccionado").val(selectedText);
    })

    $("#formCotizarSeguroStep2 #formFechaMatriculacion").change(function () {
        $("#formCotizarSeguroStep2 #formFechaCompra").val($(this).val());
    })

    $("#formCotizarSeguroStep2 #formNumPoliza").change(function () {
        if ($("#formCotizarSeguroStep2 #formNumPoliza") != "") {
            //    if ($("#formCotizarSeguroStep2 #formCompania").length == 1) buscar_companias_insurance();
            $("#formCotizarSeguroStep2 #formCompania").attr("required", "required");
            $("#formCotizarSeguroStep2 #formCompania").attr("required", "required");
            $("#formCotizarSeguroStep2 #formFechaVencimientoPoliza").attr("required", "required");
        } else {
            $("#formCotizarSeguroStep2 #formCompania").removeAttr("required");
            $("#formCotizarSeguroStep2 #formCompania").removeAttr("required");
            $("#formCotizarSeguroStep2 #formFechaVencimientoPoliza").removeAttr("required");
        }
    })

    if ($(".formDatosPropietario").length) {

        $(".formDatosPropietario").change(function () {
            camposPropietario($(this).val());
        });
        var valorPropietario = $("input[name='formDatosPropietario']:checked").val();
        camposPropietario(valorPropietario);
    }


    $("#formAnuncioStep3 #formBastidor").change(function () {
        busquedaBastidor();
    });


    if ($(".controlEstadoProducto").length) {

        $(".controlEstadoProducto").change(function () {
            if ($(this).val() != "SI") {
                $(".campoParaSegundaMano").css("display", "block");
                $(".campoParaNuevo").css("display", "none");
                $("#formFechaMatriculacion").attr("required", "required");
                $("#formMatricula").attr("required", "required");
            } else {
                $(".campoParaSegundaMano").css("display", "none");
                $(".campoParaNuevo").css("display", "block");
                $("#formFechaMatriculacion").removeAttr("required");
                $("#formMatricula").removeAttr("required");
            }
        });

        $(".controlEstadoProducto").change();
    }

    if ($(".controlPropulsionProducto").length) {
        $(".controlPropulsionProducto").change(function () {
            if ($(this).val() == 1) {
                $(".campoParaCombustion").css("display", "block");
                $("#formCilindrada").attr("required", "required");
            } else {
                $(".campoParaCombustion").css("display", "none");
                $("#formCilindrada").removeAttr("required");
            }
        });

        $(".controlPropulsionProducto").change();
    }

    if ($("#formAnuncioStep3 .formEdit").length) {
        compruebaServiciosPermitidos($("#formAnuncioStep3"));
    }

    $("#formAnuncioStep3 select").change(function () {
        compruebaServiciosPermitidos($("#formAnuncioStep3"));
    });

    $("#formAnuncioStep3 input").change(function () {
        compruebaServiciosPermitidos($("#formAnuncioStep3"));
    });

    $("#formAnuncioStep3 textarea").change(function () {
        compruebaServiciosPermitidos($("#formAnuncioStep3"));
    });

    $("#formAnuncioStep3 #formMarca").select2();
    $("#formAnuncioStep3 #formModelo").select2();

    if ($("#formAnuncioStep3 #formDescripcion").length) {
        valida_longitud('formDescripcion');
    }
    if ($("#formAnuncioStep3 #formDescripcionGarantia").length) {
        valida_longitud('formDescripcionGarantia');
    }

    $("#formAgenteOrigen").change(function () {
        $("#formIDAgenteOrigen").val($(this).val());
    });

    $("#formAceptoTerminosServicioIntegral").change(function () {
        if ($(this).is(":checked")) {
            $("#formAgenteOrigen").removeAttr("disabled");
            $("#formAgenteOrigen").attr("required", "required");
            $("#formAgenteOrigen").removeClass("campoSombreado");
        } else {
            $("#formAgenteOrigen").attr("disabled", "disabled");
            $("#formAgenteOrigen").removeClass("is-invalid");

            $("#formAgenteOrigen").removeAttr("required");
            $("#formAgenteOrigen").addClass("campoSombreado");
        }
    });

    $("#formAceptoTerminosServicioIntegral").change();
    $("#formAnuncioStep3 #formMarca").change(function () {

        console_log("buscar_modelos_por_marca1: " + $(this).val(), "red");
        buscar_modelos_por_marca($(this).val());

    });
    $("#formAnuncioStep3 #formMarca").change();
    $("#formAnuncioStep3 #formEsNuevo").change();


    $("#formAnuncioStep3 #formModelo").change(function () {
        $("#formAnuncioStep3 #formNombreModeloSeleccionado").val($("#formAnuncioStep3 #formModelo option:selected").text());
    });


    $("#formArchivoDocumento").change(function () {
        filename = this.files[0].name;

        $("#submitFormFileModal").css("visibility", "visible");
    });


    $(".subheader.micuenta .tabs_appmoto .nav-link").click(function (e) {
        var tab = $(this).data('id-pestana');
        gtag('event', 'navegaTabUser', {
            tab: tab
        });
    });

});

function busquedaBastidor() {
    var valor = $("#formAnuncioStep3 #formBastidor").val();
    console_log("🕶️ busquedaBastidor: "+valor);
    if (valor != null & valor != undefined && valor.split(" ").join("") != "") {
        loader_on();
        $.ajax({
            url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/busquedaBastidor",
            data: {
                formBastidor: valor
            },
            method: "POST",
            dataType: 'json',
            success: function (data) {
                // console_log(data);
                if (data.response) {
                    $("#formAnuncioStep3 #formEsNuevo").val("NO");
                    $("#formAnuncioStep3 #formEsNuevo").closest(".wrap_dropdown_label").addClass("is_edited");
                    $("#formAnuncioStep3 #formEsNuevo").addClass("is_edited");

                    if (data.microdato.categoria_id) {
                        $("#formAnuncioStep3 #formCategoria").val(data.microdato.categoria_id);
                        $("#formAnuncioStep3 #formCategoria").closest(".wrap_dropdown_label").addClass("is_edited");
                        $("#formAnuncioStep3 #formCategoria").addClass("is_edited");
                    }
                    if (data.microdato.categoria_brand_id) {
                        $("#formAnuncioStep3 #formCategoriaBrand").val(data.microdato.categoria_brand_id);
                        $("#formAnuncioStep3 #formCategoriaBrand").closest(".wrap_dropdown_label").addClass("is_edited");
                        $("#formAnuncioStep3 #formCategoriaBrand").addClass("is_edited");
                    }

                    if (data.microdato.marca) {
                        $("#formAnuncioStep3 #formMarca").val(data.microdato.marca.id);
                        $("#formAnuncioStep3 #formMarca").closest(".wrap_dropdown_label").addClass("is_edited");
                        $("#formAnuncioStep3 #formMarca").addClass("is_edited");

                        if (data.microdato.modelo) {
                            $("#formAnuncioStep3 #formModeloSeleccionado").val(data.microdato.modelo.id);
                            $("#formAnuncioStep3 #formModeloSeleccionado").closest(".wrap_dropdown_label").addClass("is_edited");
                            $("#formAnuncioStep3 #formModeloSeleccionado").addClass("is_edited");
                            $("#formAnuncioStep3 #formNombreModeloSeleccionado").val(data.microdato.modelo.nombre);
                            $("#formAnuncioStep3 #formModeloSeleccionado").closest(".wrap_input_label").addClass("is_edited");
                            $("#formAnuncioStep3 #formModeloSeleccionado").addClass("is_edited");
                        }
                        $("#formAnuncioStep3 #formMarca").change();
                    }

                    $("#formAnuncioStep3 #formCilindrada").val(data.microdato.cilindrada);
                    $("#formAnuncioStep3 #formCilindrada").closest(".wrap_input_label").addClass("is_edited");
                    $("#formAnuncioStep3 #formCilindrada").addClass("is_edited");
                    $("#formAnuncioStep3 #formPotencia").val(data.microdato.potencia_max);
                    $("#formAnuncioStep3 #formPotencia").closest(".wrap_input_label").addClass("is_edited");
                    $("#formAnuncioStep3 #formPotencia").addClass("is_edited");

                    if (data.microdato.fecha_primera_matriculacion) {
                        $("#formAnuncioStep3 #formAnio").val(data.microdato.anio);
                        $("#formAnuncioStep3 #formAnio").closest(".wrap_input_label").addClass("is_edited");
                        $("#formAnuncioStep3 #formAnio").addClass("is_edited");
                        $("#formAnuncioStep3 #formFechaMatriculacion").val(data.microdato.fecha_primera_matriculacion);
                        $("#formAnuncioStep3 #formFechaMatriculacion").closest(".wrap_input_label").addClass("is_edited");
                        $("#formAnuncioStep3 #formFechaMatriculacion").addClass("is_edited");
                    }

                    $("#formAnuncioStep3 #formBastidor").val(valor);

                    if (data.microdato.codigo_postal_vehiculo) {
                        $("#formAnuncioStep3 #formCPOrigen").val(data.microdato.codigo_postal_vehiculo);
                        $("#formAnuncioStep3 #formCPOrigen").closest(".wrap_input_label").addClass("is_edited");
                        $("#formAnuncioStep3 #formCPOrigen").addClass("is_edited");
                        change_form_cp_all("Origen")
                    }

                    // show_message_alert("Datos recuperados. Por favor, revíselos antes de continuar.", "success");
                    show_message_alert(data.mensaje, "success");

                } else {
                    show_message_alert(data.mensaje, "danger");
                    loader_off();
                }
            },
            fail: function (data) {
                show_message_alert(data.mensaje, "danger");
                loader_off();
            },
            error: function (data) {
                show_message_alert(data.mensaje, "danger");
                loader_off();
            }
        });

    } else {
        show_message_alert("DEBE INTRODUCIR UN CÓDIGO DE BASTIDOR A BUSCAR", "danger");
    }
}

function camposPropietario(seleccion) {
    if (seleccion == "NO") {
        $("#capaPropietario").css("display", "flex");
        $("#formAnuncioStep2").find("#formNombreP").attr("required", "required");
        $("#formAnuncioStep2").find("#formApellido1P").attr("required", "required");
        //$("#formAnuncioStep2").find("#formApellido2P").attr("required", "required");
        $("#formAnuncioStep2").find("#formNIFP").attr("required", "required");
        $("#formAnuncioStep2").find("#formTelefonoP");
        $("#formAnuncioStep2").find("#formTelefono2P");
        $("#formAnuncioStep2").find("#formDireccionP").attr("required", "required");
        $("#formAnuncioStep2").find("#formCPPropietario").attr("required", "required");
        $("#formAnuncioStep2").find("#formIDLocalidadPropietario").attr("required", "required");
        $("#formAnuncioStep2").find("#formIDProvinciaPropietario").attr("required", "required");

    } else {
        $("#capaPropietario").css("display", "none");
        $("#formAnuncioStep2").find("#formNombreP").removeAttr("required");
        $("#formAnuncioStep2").find("#formApellido1P").removeAttr("required");
        //$("#formAnuncioStep2").find("#formApellido2P").removeAttr("required");
        $("#formAnuncioStep2").find("#formNIFP").removeAttr("required");
        $("#formAnuncioStep2").find("#formTelefonoP");
        $("#formAnuncioStep2").find("#formTelefono2P");
        $("#formAnuncioStep2").find("#formDireccionP").removeAttr("required");
        $("#formAnuncioStep2").find("#formCPPropietario").removeAttr("required");
        $("#formAnuncioStep2").find("#formIDLocalidadPropietario").removeAttr("required");
        $("#formAnuncioStep2").find("#formIDProvinciaPropietario").removeAttr("required");

        $("#formAnuncioStep2").find("#formNombreP").val("");
        $("#formAnuncioStep2").find("#formApellido1P").val("");
        //$("#formAnuncioStep2").find("#formApellido2P").val("");
        $("#formAnuncioStep2").find("#formNIFP").val("");
        $("#formAnuncioStep2").find("#formTelefonoP").val("");
        $("#formAnuncioStep2").find("#formTelefono2P").val("");
        $("#formAnuncioStep2").find("#formDireccionP").val("");
        $("#formAnuncioStep2").find("#formCPPropietario").val("");
        $("#formAnuncioStep2").find("#formLocalidadPropietario").val("");
        $("#formAnuncioStep2").find("#formProvinciaPropietario").val("");
        $("#formAnuncioStep2").find("#formIDLocalidadPropietario").val("");
        $("#formAnuncioStep2").find("#formIDProvinciaPropietario").val("");
    }
}

function processStep(form) {
    var idForm = form.attr("id");
    var stepNumber = form.attr("dir");
    var nextStep = stepNumber * 1 + 1;

    loader_on();
    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/publicarStep" + stepNumber,
        data: form.serialize(),
        dataType: 'json',
        success: function (data) {

            if (data.response) {
                if (data.id_usuario != null && data.id_usuario != undefined) {
                    $("#formAnuncioStep" + nextStep + " input[name=formIdUsuario]").val(data.id_usuario);
                    $("#usuario_id").val(data.id_usuario);
                }

                if (data.id_producto != null && data.id_producto != undefined) {
                    $("#formAnuncioStep" + nextStep + " input[name=formIdAnuncio]").val(data.id_producto);
                    $("#moto_id").val(data.id_producto);
                }

                compruebaServiciosPermitidos($("#formAnuncioStep3"))



                if (stepNumber == 5) {
                    window.location.href = data.url;
                } else {
                    var cargaSiguiente = true;
                    if (stepNumber == 1 && data.newUser != null && data.newUser != undefined) {
                        if (data.newUser == true) {
                            $("#formAnuncioStep1").css("display", "none");
                            $(".capaUsuarioNuevo").css("display", "block");
                            cargaSiguiente = false;

                            $("#formIdUsuarioVerificar").val(data.id_usuario)
                        }
                    }
                    if (cargaSiguiente) {
                        var tab_actual = $('.tabs_publicar_moto li .nav-link.active').attr("data-id-pestana");
                        $('.tabs_publicar_moto li .nav-link').removeClass("active");
                        $('.tabs_publicar_moto li:eq(' + stepNumber + ') .nav-link').addClass("active");
                        var tab_nueva = $('.tabs_publicar_moto li .nav-link.active').attr("data-id-pestana");
                        $(tab_actual).css("display", "none");
                        $(tab_nueva).css("display", "block");

                        window.scrollTo(0, 0);
                        if (stepNumber == 3) {
                            // alert("DMR-step3");
                            var cp_localicacion = $("#formCPOrigen").val(); //no need

                        }

                        //	$(".tabs_publicar_moto .nav-item.item"+stepNumbter).
                    }
                }
            } else {
                show_message_alert(data.mensaje, "danger");
            }
            loader_off();
        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        }
    });
}

function processStepInsurance(form) {
    var idForm = form.attr("id");
    var stepNumber = form.attr("dir");
    var nextStep = (stepNumber * 1) + 1;

    loader_on();
    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/seguro/quoteStep" + stepNumber,
        data: form.serialize(),
        dataType: 'json',
        success: function (data) {
            if (data.response) {
                if (data.id_usuario != null && data.id_usuario != undefined) {
                    $("#formCotizarSeguroStep" + nextStep + " input[name=formIdUsuario]").val(data.id_usuario);
                }

                if (data.id_producto != null && data.id_producto != undefined) {
                    $("#formCotizarSeguroStep" + nextStep + " input[name=formIdAnuncio]").val(data.id_producto);
                }

                if (stepNumber == 1) {
                    $("#formMarca").empty();
                    $("#formMarca").append($('<option></option>').val('').text("Marca"));

                    buscar_companias_insurance();

                    $.each(data.aMarcas, function (key, value) {
                        $("#formMarca").append($('<option></option>').val(key).text(value));
                    });
                }

                if (stepNumber == 2) {
                    $("#pasosform").hide();
                    $("#paso03 .parrilla").html(data.sCode);

                    //$("#paso03 . ").html()
                    console.log(data.aTiposOfertas);


                    var button = $("<button></button>")
                        .addClass("btn btn-grisclaro selectorKindInsurance")
                        .attr("data-element", "todas")
                        .text("Mostrar todas");

                    $("#paso03 .botonera").append(button);
                    for (var key in data.aTiposOfertas) {
                        var button = $("<button></button>")
                            .addClass("btn btn-grisclaro selectorKindInsurance")
                            .attr("data-element", key)
                            .text(data.aTiposOfertas[key]);
                        $("#paso03 .botonera").append(button);
                    }

                    $("#paso03 #tomadordata").html(data.sDataTomador);
                    $("#paso03 #vehiculodata").html(data.sDataVehiculo);


                }

                // compruebaServiciosPermitidos($("#formCotizarSeguroStep3"))
                if (stepNumber == 4) {
                    window.location.href = data.url;
                } else {
                    //var tab_actual = $('.tabs_publicar_moto li .nav-link.active').attr("data-id-pestana");
                    //$('.tabs_publicar_moto li .nav-link').removeClass("active");
                    //$('.tabs_publicar_moto li:eq(' + stepNumber + ') .nav-link').addClass("active");
                    //var tab_nueva = $('.tabs_publicar_moto li .nav-link.active').attr("data-id-pestana");
                    //$(tab_actual).css("display", "none");
                    //$(tab_nueva).css("display", "block");
                    var nextStep = parseInt(stepNumber) + 1;

                    $("#paso0" + stepNumber).css("display", "none");
                    $("#paso0" + nextStep).css("display", "block");
                    //console.log("offset", $("#paso0"+nextStep).offset().top);
                    //window.scrollTo($("#paso0"+nextStep).offset().top, 0);
                    $('html, body').scrollTop($("#calculadores_seguro_tab").offset().top);

                    //	$(".tabs_publicar_moto .nav-item.item"+stepNumbter).
                }
            } else {
                show_message_alert(data.mensaje, "danger");
            }
            loader_off();
        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        }
    });
}

$(document).on("click", ".selectorKindInsurance", function (e) {

    e.preventDefault();
    var atributo = $(this).data("element");

    $(".segurooferta").hide();
    if (atributo != "todas") $(".segurooferta.tipo" + atributo).show();
    else $(".segurooferta").show();

    $(".selectorKindInsurance").removeClass("active");
    $(this).addClass("active");

});

$(document).on('click', '.ofertaInsurance', function (e) {
    e.preventDefault();

    var atributo = $(this).data("oferta");
    var peticion = $(this).data("idpeticion");

    loader_on();
    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/seguro/quoteHire",
        data: {
            oferta: atributo,
            peticion: peticion
        },
        dataType: 'json',
        success: function (data) {
            if (data.response) {

                $("#paso03").css("display", "none");
                $("#paso04").css("display", "block");

                $('html, body').scrollTop($("#calculadores_seguro_tab").offset().top);

                //show_message_alert(data.mensaje, "success");
            } else {
                show_message_alert(data.mensaje, "danger");
            }
            loader_off();
        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        }
    });

});


function reenviarVerificacion() {
    loader_on();
    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/usuarios_web/reenviarVerificacion",
        data: {
            usuario: $("#formIdUsuarioVerificar").val()
        },
        dataType: 'json',
        success: function (data) {
            if (data.response) {
                show_message_alert(data.mensaje, "success");
            } else {
                show_message_alert(data.mensaje, "danger");
            }
            loader_off();
        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        }
    });
}

function compruebaServiciosPermitidos(form) {

    $.ajax({
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/compruebaServiciosPermitidos",
        data: form.serialize(),
        method: "POST",
        dataType: 'json',
        success: function (data) {


            $(".unServicioAofrecer").removeClass("active");
            $(".unServicioAofrecer").removeClass("selected");

            data.servicios.forEach(function (servicio, index) {
                $("#servicioAofrecer" + servicio['id']).addClass("active");
                $("#servicioAofrecer" + servicio['id']).addClass("selected");
            });
        },
        fail: function (data) {

        },
        error: function (data) {

        }
    });
}

function valida_longitud(id) {
    num_caracteres = $("#" + id).val().length;
    if (num_caracteres > num_caracteres_permitidos) {
        $("#" + id).val(contenido_textarea);
    } else {
        contenido_textarea = $("#" + id).val();
    }

    cuenta(id);
}

function cuenta(id) {
    var contador = $("#" + id).parent().find(".contador");
    contador.html(num_caracteres_permitidos - $("#" + id).val().length);
}


function checkVerificacionUsuario() {
    loader_on();
    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/usuarios_web/checkVerificacionUsuario",
        data: {
            usuario: $("#formIdUsuarioVerificar").val()
        },
        dataType: 'json',
        success: function (data) {
            if (data.response) {
                var tab_actual = $('.tabs_publicar_moto li .nav-link.active').attr("data-id-pestana");
                $('.tabs_publicar_moto li .nav-link').removeClass("active");
                $('.tabs_publicar_moto li:eq(1) .nav-link').addClass("active");
                var tab_nueva = $('.tabs_publicar_moto li .nav-link.active').attr("data-id-pestana");
                $(tab_actual).css("display", "none");
                $(tab_nueva).css("display", "block");

            } else {
                show_message_alert(data.mensaje, "danger");
            }
            loader_off();
        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        }
    });
}

/* /PUBLICAR ANUNCIOS */

/* COMPRA SOLICITUD VENDEDOR */

$(document).ready(function () {
    $(".formAceptaSolicitud, .formRechazaSolicitud").submit(function (e) {
        e.preventDefault();
        respuestaSolicitud($(this));
    });

    $("#formCancelaSolicitud").click(function (e) {
        e.preventDefault();
        $("#formRespuesta").val("2");
        respuestaSolicitud($(".formAceptaSolicitud"));
    });
});


function respuestaSolicitud(form) {
    loader_on();
    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/respuestaSolicitud",
        data: form.serialize(),
        dataType: 'json',
        success: function (data) {
            loader_off();
            if (data.response) {
                show_message_alert(data.mensaje, "success");
                $(".capaRespuesta").html("<h3>¡RESPUESTA ENVIADA!</h3>");
                //console.log(data.url + "?status=" + data.status);
                window.location.href = data.url + "?status=" + data.status;
            } else {
                show_message_alert(data.mensaje, "danger");
            }
        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
            return false;
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
            return false;
        }
    });
}

/* /COMPRA SOLICITUD VENDEDOR*/
/* COMPRA COMPRADOR */

$(document).ready(function () {
    $('form#formCompraStep1').validate({
        errorPlacement: function (error, element) {
            var placement = $(element).data('error');
            if ($(element).attr('id') != 'formCPUsuario') {
                $(element).addClass('is-invalid');
                $(element).removeClass('is-valid');
            }

            if (placement) {
                $(placement).append(error)
            } else {
                error.insertAfter(element);
            }
        },
        success: function (error, element) {
            var placement = $(element).data('error');
            if ($(element).attr('id') != 'formCPUsuario') {
                $(element).removeClass('is-invalid');
                $(element).addClass('is-valid');
            }

            $(placement).html('');
        }
    });

    $('form#formCompraStep2').validate({
        errorPlacement: function (error, element) {
            var placement = $(element).data('error');
            if ($(element).attr('id') != 'formCPUsuario') {
                $(element).addClass('is-invalid');
                $(element).removeClass('is-valid');
            }

            if (placement) {
                $(placement).append(error)
            } else {
                error.insertAfter(element);
            }
        },
        success: function (error, element) {
            var placement = $(element).data('error');
            if ($(element).attr('id') != 'formCPUsuario') {
                $(element).removeClass('is-invalid');
                $(element).addClass('is-valid');
            }

            $(placement).html('');
        }
    });


    $("form.oneStepCompra").submit(function (e) {
        e.preventDefault();
        var stepNumber = $(this).attr("dir");
        var continua = true;

        if (stepNumber == 1) {
            if ($("#formIDLocalidadOrigen").val() != "" && $("#formIDLocalidadOrigen").val() != null && $("#formIDProvinciaOrigen").val() != "" && $("#formIDProvinciaOrigen").val() != null) {
                continua = $("form#formCompraStep1").valid();
            } else {
                continua = false;
                show_message_alert("Debe introducir un código postal válido.", "danger");
            }
        } else if (stepNumber == 2) {

            if ($("#formCPDestino").length && $("#formCPDestino").is(":required")) {

                if ($("#formIDLocalidadDestino").val() != "" && $("#formIDLocalidadDestino").val() != null && $("#formIDProvinciaDestino").val() != "" && $("#formIDProvinciaDestino").val() != null) {
                    continua = $("form#formCompraStep2").valid();
                } else {
                    continua = false;
                    show_message_alert("Debe introducir un código postal válido.", "danger");
                }
            }
        }
        if (continua) {
            processStepCompra($(this));
        }
    });


    $(".unServicioPedido").change(function () {
        var form = $(this).closest(".oneStepCompra");

        if ($(this).is(":checked")) {
            if ($(this).hasClass("servicioUnico")) {
                form.find(".unServicioPedido.servicioCombinable").prop('checked', false);
            } else if ($(this).hasClass("servicioCombinable")) {
                form.find(".unServicioPedido.servicioUnico").prop('checked', false);
            }

            if ($(this).hasClass("servicio4")) {
                $(".servicio2").prop('checked', true);
            }
        } else {
            if ($(this).hasClass("servicio2")) {
                if (form.find(".servicio4").is(":checked")) {
                    form.find(".servicio4").prop('checked', false);
                    form.find(".servicio4").prop('checked', false);
                }
            }
        }
        //console.log("ALOOOO");
        if ($(".servicio1").is(":checked") || $(".servicio2").is(":checked")) {
            form.find(".capaDatosDestino").css("display", "block");
            form.find(".capaDatosDestino").find("input").attr("required", "required");
        } else {
            form.find(".capaDatosDestino").css("display", "none");
            form.find(".capaDatosDestino").find("input").removeAttr("required");
        }

        recalculaPedido();
    });

    $("#formCPDestino").change(function () {
        recalculaPedido();
    })

    cp_keyup_event("Destino");

    $('form#formProcesarPasarelaFinal').validate({
        errorPlacement: function (error, element) {
            var placement = $(element).data('error');
            $(element).removeClass("is-valid");
            $(element).addClass("is-invalid");
            if (placement) $(placement).append(error)
            else error.insertAfter(element);
        },
        success: function (error, element) {
            var placement = $(element).data('error');
            $(element).removeClass("is-invalid");
            $(element).addClass("is-valid");
            $(placement).html('');
        }
    });
});

function processStepCompra(form) {
    var idForm = form.attr("id");
    var stepNumber = form.attr("dir");
    var nextStep = stepNumber * 1 + 1;

    loader_on();
    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/comprarStep" + stepNumber,
        data: form.serialize(),
        dataType: 'json',
        success: function (data) {
            if (data.response) {
                if (data.id_usuario != null && data.id_usuario != undefined) {
                    $("#formCompraStep" + nextStep + " input[name=formIdUsuario]").val(data.id_usuario);
                }

                if (data.id_producto != null && data.id_producto != undefined) {
                    $("#formCompraStep" + nextStep + " input[name=formIdAnuncio]").val(data.id_producto);
                }

                if (stepNumber == 2) {

                    window.location.href = data.url;
                } else {

                    var tab_actual = $('.tabs_comprar_moto li .nav-link.active').attr("data-id-pestana");

                    //console.log()
                    window.scrollTo(0, 0);

                    $('.tabs_comprar_moto li .nav-link').removeClass("active");
                    $('.tabs_comprar_moto li:eq(' + stepNumber + ') .nav-link').addClass("active");
                    var tab_nueva = $('.tabs_comprar_moto li .nav-link.active').attr("data-id-pestana");
                    $(tab_actual).css("display", "none");
                    $(tab_nueva).css("display", "block");
                    recalculaPedido();
                }
            } else {
                show_message_alert(data.mensaje, "danger");
            }
            loader_off();
        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        }
    });
}

function recalculaPedido() {

    if ($("#formRecalculaImporte").length) {
        loader_on();
        //formIDProvinciaDestino
        $.ajax({
            type: 'POST',
            url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/recalculaPedido",
            data: $("#formCompraStep2").serialize(),
            dataType: 'json',
            success: function (data) {
                loader_off();
                if (data.response) {

                    data.servicios.forEach(function (servicio, index) {
                        $(".precioServicio" + servicio['id']).html("(" + servicio['precio_mostrado'] + "€)");
                        $("#formPrecioServicio" + servicio['id']).val(servicio['precio_calculado']);
                    });
                    /*
                    data.servicios.each(function(servicio){
                        $(".precioServicio"+servicio['id']).html("("+servicio['precio_calculado']+"€)");
                        $("#formPrecioServicio"+servicio['id']).val(servicio['precio_calculado']);
                    });*/

                    $("#btnconfirmarpedido").show();

                    $(".precioTotalServicios").html(data.total_pedido);
                    $(".precioApagar").html(data.total_pagar);

                    if (parseFloat(data.total_pedido.replace(',', '.').replace(' ', '')) > parseFloat(data.total_pagar.replace(',', '.').replace(' ', ''))) {
                        $(".txt_a_cuenta").show();
                    } else $(".txt_a_cuenta").hide();

                    if (data.destinoValido == 0 && $(".servicio2").is(":checked")) {
                        $("#btnconfirmarpedido").hide();
                        show_message_alert("No se puede realizar envio a la província de destino.", "danger");
                    }
                    //else $("#btnconfirmarpedido").show();
                } else {
                    $("#btnconfirmarpedido").hide();
                    show_message_alert(data.mensaje, "danger");
                }
            },
            fail: function (data) {
                $("#btnconfirmarpedido").hide();
                show_message_alert(data.mensaje, "danger");
                loader_off();
                return false;
            },
            error: function (data) {
                $("#btnconfirmarpedido").hide();
                show_message_alert(data.mensaje, "danger");
                loader_off();
                return false;
            }
        });
    }
}

/* /COMPRA COMPRADOR */

function detallesPedidoTabbin() {

    const triggerFirstTabEl = document.querySelector('#submenutabs li:first-child a');
    const triggerLastTabEl = document.querySelector('#submenutabs li:last-child a')

    $(triggerFirstTabEl).removeClass('active');
    $(triggerLastTabEl).addClass('active');

    $("#myTabContent2 div.tab-pane:first-child").removeClass('active');
    $("#myTabContent2 div.tab-pane:last-child").addClass('active');
}

/* SUSCRIPCION */
$(document).ready(function () {

    $(".suscribeAction").click(function () {
        var id = $(this).attr("dir");

        loader_on();
        $.ajax({
            type: 'POST',
            url: ROOTPATH_DOMAIN_IDIOMA + "ajax/usuarios_web/addSuscripcion/" + id,
            dataType: 'json',
            success: function (data) {
                loader_off();
                if (data.response) {
                    window.location.href = data.url;
                } else {
                    if (data.error_type == "LOGIN_REQUIRED") {
                        $(".modalLoginRequerido #generalLoginLink").attr("href", $(".modalLoginRequerido #generalLoginLink").attr('href') + "?ref=" + window.location.href);
                        $(".modalLoginRequerido").modal('show');
                    } else {
                        show_message_alert(data.mensaje, "danger");
                    }
                }
            },
            fail: function (data) {
                show_message_alert(data.mensaje, "danger");
                loader_off();
            },
            error: function (data) {
                show_message_alert(data.mensaje, "danger");
                loader_off();
            }
        });
    });
});
/* /SUSCRIPCION */

/* DETALLES PEDIDO */
$(document).ready(function () {

    if (factura != 'null') {
        generarFactura(factura, true)
    }

    $(".actionButton.getFirmaDocumento").click(function () {
        loader_on();
        $.ajax({
            url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/getFirmaDocumento",
            data: {
                formPedido: $(this).attr("data-pedido"),
                formDocumento: $(this).attr("data-documento"),
                formPerfil: $(this).attr("data-perfil")
            },
            method: "POST",
            dataType: 'json',
            success: function (data) {
                loader_off();
                if (data.response) {
                    show_message_alert(data.mensaje, "success");

                    if (data.url == "") {
                        show_message_alert("Ruta de redirección de firma no definida.", "danger");
                    } else if (data.url == "RELOAD") {
                        location.reload();
                    } else {
                        window.location.href = data.url;
                    }

                } else {
                    show_message_alert(data.mensaje, "danger");
                }
            },
            fail: function (data) {
                show_message_alert(data.mensaje, "danger");
                loader_off();
            },
            error: function (data) {
                show_message_alert(data.mensaje, "danger");
                loader_off();
            }
        });
    });

    $(".actionButton.getDocumentoFirmado").click(function () {
        loader_on();
        $.ajax({
            url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/testDescargaDocumentoFirmado",
            data: {
                formPedido: $(this).attr("data-pedido"),
                formDocumento: $(this).attr("data-documento"),
                formPerfil: $(this).attr("data-perfil")
            },
            method: "POST",
            dataType: 'json',
            success: function (data) {
                loader_off();
                if (data.response) {
                    show_message_alert(data.mensaje, "success");

                    if (data.url == "") {
                        show_message_alert("Ruta de redirección de firma no definida.", "danger");
                    } else if (data.url == "RELOAD") {
                        //location.reload();
                    } else {
                        //window.location.href = data.url;
                    }

                } else {
                    show_message_alert(data.mensaje, "danger");
                }
            },
            fail: function (data) {
                show_message_alert(data.mensaje, "danger");
                loader_off();
            },
            error: function (data) {
                show_message_alert(data.mensaje, "danger");
                loader_off();
            }
        });
    });

    $(".actionButton.adjuntarDoc").click(function () {
        $('#modalUploadFile').modal('show');

        if ($(this).attr("dir") > 0) {
            $("#formTipoDocumento").val($(this).attr("dir"));
            $("#formTipoDocumento").hide();
        }
    });

    $("form#formUploadFile").submit(function (e) {
        e.preventDefault();
        uploadFilePedido($(this));
    });
});

function generarFactura(idPedido, cerrarVentana) {
    loader_on();
    $.ajax({
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/generarFactura/" + idPedido,
        method: "POST",
        dataType: 'json',
        success: function (data) {
            loader_off();
            if (data.response) {
                var newWin = window.open(data.link, '_blank');

                if (!newWin || newWin.closed || typeof newWin.closed == 'undefined') {
                    alert("Debe permitir las ventanas emergentes en este sitio para poder descargar el documento.");
                } else {
                    newWin.focus();
                    if (cerrarVentana) {
                        window.close();
                    }
                }
            } else {
                show_message_alert(data.mensaje, "danger");
            }

        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        }
    });
}

function deleteFilePedido(idElemento) {
    if (confirm("¿Realmente desea eliminar este documento del pedido?")) {
        loader_on();
        $.ajax({
            url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/deleteFilePedido/" + idElemento,
            method: "POST",
            dataType: 'json',
            success: function (data) {
                loader_off();
                if (data.response) {
                    show_message_alert(data.mensaje, "success");
                    location.reload();
                } else {
                    show_message_alert(data.mensaje, "danger");
                }
            },
            fail: function (data) {
                show_message_alert(data.mensaje, "danger");
                loader_off();
            },
            error: function (data) {
                show_message_alert(data.mensaje, "danger");
                loader_off();
            }
        });
    }
}

function uploadFilePedido(form) {

    loader_on();
    var former = $('#' + form.attr('id'))[0]; // You need to use standart javascript object here
    var formData = new FormData(former);

    $.ajax({
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/uploadFilePedido",
        method: "POST",
        data: formData,
        processData: false,
        contentType: false,
        dataType: 'json',
        success: function (data) {
            loader_off();
            if (data.response) {
                show_message_alert(data.mensaje, "success");
                form[0].reset();
                location.reload();
            } else {
                show_message_alert(data.mensaje, "danger");
            }

        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        }
    });
}

/* /DETALLES PEDIDO */

/* COMMONS */
const popoverTriggerList = document.querySelectorAll('[data-bs-toggle="popover"]')
const popoverList = [...popoverTriggerList].map(popoverTriggerEl => new bootstrap.Popover(popoverTriggerEl))

$(document).ready(function () {
    set_is_edited_wrapper();
    setTimeout(() => {
        set_is_edited_wrapper();
    }, 500);

    $(".wrap_input_label input, .wrap_input_label textarea").change(function () {
        if ($(this).val() == "") {
            $(this).closest(".wrap_input_label").removeClass("is_edited");
            $(this).removeClass("is_edited");
        } else {
            $(this).closest(".wrap_input_label").addClass("is_edited");
            $(this).addClass("is_edited");
        }
    });

    $(".wrap_input_label input").focusin(function () {
        $(this).closest(".wrap_input_label").addClass("focused");
    });

    $(".wrap_input_label input").focusout(function () {
        $(this).closest(".wrap_input_label").removeClass("focused");
    });


    $(".wrap_input_label textarea").focusin(function () {
        $(this).closest(".wrap_input_label").addClass("focused");
    });

    $(".wrap_input_label textarea").focusout(function () {
        $(this).closest(".wrap_input_label").removeClass("focused");
    });

    $(".wrap_dropdown_label select").change(function () {
        if ($(this).val() == "" || (Array.isArray($(this).val()) && $(this).val().length == 0)) {
            $(this).closest(".wrap_dropdown_label").removeClass("is_edited");
            $(this).removeClass("is_edited");
        } else {
            $(this).closest(".wrap_dropdown_label").addClass("is_edited");
            $(this).addClass("is_edited");
        }
    });


    $(".wrap_input_label select").focusin(function () {
        $(this).closest(".wrap_dropdown_label").addClass("focused");
    });

    $(".wrap_input_label select").focusout(function () {
        $(this).closest(".wrap_dropdown_label").removeClass("focused");
    });

    $(".wrap_input_label input").each(function () {
        if ($(this).val() != "") {
            $(this).closest(".wrap_input_label").addClass("is_edited");
            $(this).addClass("is_edited");
        }
    });
    $(".wrap_input_label textarea").each(function () {
        if ($(this).val() != "") {
            $(this).closest(".wrap_input_label").addClass("is_edited");
            $(this).addClass("is_edited");
        }
    });

    $(".wrap_dropdown_label select").each(function () {
        if ($(this).val() == "" || (Array.isArray($(this).val()) && $(this).val().length == 0)) {
        } else {
            $(this).closest(".wrap_dropdown_label").addClass("is_edited");
            $(this).addClass("is_edited");
        }
    });


    $("#formNIF").bind('keypress', function (event) {
        var regex = new RegExp("^[a-zA-Z0-9]+$");
        var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
        if (!regex.test(key)) {
            event.preventDefault();
            return false;
        }
    });

    $("#formNIFP").bind('keypress', function (event) {
        var regex = new RegExp("^[a-zA-Z0-9]+$");
        var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
        if (!regex.test(key)) {
            event.preventDefault();
            return false;
        }
    });
    $("#formLocalidadSelectOrigen").change(function () {

        $("#formIDLocalidadOrigen").val($(this).val());
    });

    $("#formLocalidadSelectDestino").change(function () {

        $("#formIDLocalidadDestino").val($(this).val());
    });

    $("#formLocalidadSelectUsuario").change(function () {

        $("#formIDLocalidadUsuario").val($(this).val());
    });

    $("#formLocalidadSelectPropietario").change(function () {

        $("#formIDLocalidadPropietario").val($(this).val());
    });

    var date = new Date();
    var currentMonth = date.getMonth();
    var currentDate = date.getDate();
    var currentYear = date.getFullYear();

    $.datepicker.setDefaults($.datepicker.regional[META_IDIOMA_FRONTEND]);

    $('.datepicker').datepicker({
        firstDay: 1,
        changeMonth: true,
        changeYear: true,
        dateFormat: "dd/mm/yy",
        maxDate: new Date(),
        yearRange: "-99:+00",
        showButtonPanel: true,
        closeText: ""
    });

    $('.datepickerFuturistic').datepicker({
        firstDay: 1,
        changeMonth: true,
        changeYear: true,
        dateFormat: "dd/mm/yy",
        minDate: new Date(),
        showButtonPanel: true,
        closeText: ""
    });


    checkInitGetParams();

    $(".formAceptaVerificacion, .formRechazaVerificacion").submit(function (e) {
        e.preventDefault();
        respuestaVerificacion($(this));
    });

    if ($(".toLoginLink").length) {
        $(".toLoginLink").each(function () {
            $(this).attr("href", $(this).attr('href') + "?ref=" + window.location.href);
        });
    }

    $(".tabs_appmoto a.nav-link").click(function (e) {
        if ($(window).width() < 992) {
            //console.log($(this).hasClass('active'))

            if ($(this).hasClass('active')) {
                //clickamos para abrir
                e.preventDefault();
                if ($(this).hasClass('open')) {
                    $(".tabs_appmoto li").css("display", "block");
                    $(this).removeClass('open');
                    $(this).addClass('close');
                }
                //clickamos para cerrar
                else {
                    $(".tabs_appmoto li").css("display", "none");
                    $(this).removeClass('close');
                    $(this).addClass('open');
                    $(".tabs_appmoto li:has(> a.nav-link.active)").css("display", "block");
                }
            } else {
                $(".tabs_appmoto li").css("display", "none");
                $(".tabs_appmoto li a").removeClass("close");
                $(".tabs_appmoto li a").removeClass("open");
                $(".tabs_appmoto li a").removeClass("active");
                $(this).addClass("active");
                $(this).addClass("open");

                $(".tabs_appmoto li:has(> a.nav-link.active)").css("display", "block");

                $(this).closest(".tabs_appmoto").find("a").each(function () {
                    $($(this).attr("data-id-pestana")).css("display", "none");
                });

                $($(this).attr("data-id-pestana")).css("display", "block");
            }
        } else {
            if ($(this).attr("data-id-pestana") != "") {
                $(this).closest(".tabs_appmoto").find("a").each(function () {
                    $($(this).attr("data-id-pestana")).css("display", "none");
                    $(this).removeClass("active");
                    $(this).parent().removeClass("active");
                });
                $($(this).attr("data-id-pestana")).css("display", "block");
                $(this).addClass("active");

                if ($(this).closest(".con_submenu").length > 0) {
                    $(this).closest(".con_submenu").addClass("active");
                }
            }
        }
    });

    $(".tabs_appmoto a.nav-link").not('.active').click(function (e) {
    });

    //para el dropdown en mobile
    $("li.nav-item.dropdown").click(function (e) {
        if ($(window).width() < 992) {
            if ($(this).children("ul:first").hasClass("show")) $(this).children("ul:first").removeClass("show");
            else $(this).children("ul:first").addClass("show");
        }
    });

});
$(window).on('load', function () {

    set_is_edited_wrapper();
    setTimeout(() => {
        set_is_edited_wrapper();
    }, 500);

    if (verificando == true) {
        $(".modalVerificacionRealizada").modal("show");
    }

    if (avisoVerificacion == true) {
        $(".modalVerificacionRequerida").modal("show");
    }

});

$(document).on("click", ".minificha", function () {

    la_minificha = $(this);

    setTimeout(() => {
        //console.log(other_action_minificha);
        if (other_action_minificha) {
            other_action_minificha = false;
        } else {
            if (la_minificha.attr('href') != undefined) {
                if (la_minificha.attr('href').indexOf("void(0)") != -1) {

                } else {
                    window.location.href = $(this).attr('href');
                }
            }
        }
    }, 50);
});

function cp_keyup_event(terminacion) {
    if ($("#formCP" + terminacion).length > 0) {
        $("#formCP" + terminacion).bind('keyup', function (event) {
            var elementoCampo = $(this);

            $("#formLocalidad" + terminacion).val("");
            $("#formIDLocalidad" + terminacion).val("");

            $("#formLocalidad" + terminacion).css("display", "block");
            $("#formLocalidad" + terminacion).closest(".wrap_input_label").css("display", "block");
            $("#formLocalidad" + terminacion).closest(".wrap_input_label").removeClass("is_edited");
            $("#formLocalidad" + terminacion).removeClass("is_edited");

            $("#formLocalidadSelect" + terminacion).css("display", "none");
            $("#formLocalidadSelect" + terminacion).closest(".wrap_dropdown_label").css("display", "none");
            $("#formLocalidadSelect" + terminacion).closest(".wrap_dropdown_label").removeClass("is_edited");
            $("#formLocalidadSelect" + terminacion).removeClass("is_edited");

            $("#formProvincia" + terminacion).val("");
            $("#formIDProvincia" + terminacion).val("");
            $("#formProvincia" + terminacion).closest(".wrap_input_label").removeClass("is_edited");
            $("#formProvincia" + terminacion).removeClass("is_edited");

            elementoCampo.parent().find(".loader-field").css("display", "block");
            elementoCampo.removeClass("is-valid")
            elementoCampo.removeClass("is-invalid")

            clearTimeout(controlPeticion);

            controlPeticion = setTimeout(function () {
                $.ajax({
                    url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/search_cp",
                    data: {
                        query: elementoCampo.val()
                    },
                    success: function (data) {

                        elementoCampo.parent().find(".loader-field").css("display", "none");

                        var datos = JSON.parse(data);
                        if (datos.length > 0) {
                            elementoCampo.addClass("is-valid")
                            elementoCampo.removeClass("is-invalid")
                            if (datos.length == 1) {
                                $("#formLocalidad" + terminacion).val(datos[0].localidad);
                                $("#formIDLocalidad" + terminacion).val(datos[0].id);
                                $("#formLocalidad" + terminacion).css("display", "block");
                                $("#formLocalidad" + terminacion).closest(".wrap_input_label").css("display", "block");
                                $("#formLocalidad" + terminacion).closest(".wrap_input_label").addClass("is_edited");
                                $("#formLocalidad" + terminacion).addClass("is_edited");

                                $("#formLocalidadSelect" + terminacion).css("display", "none");
                                $("#formLocalidadSelect" + terminacion).closest(".wrap_dropdown_label").css("display", "none");
                                $("#formLocalidadSelect" + terminacion).closest(".wrap_dropdown_label").removeClass("is_edited");
                                $("#formLocalidadSelect" + terminacion).removeClass("is_edited");

                                $("#formProvincia" + terminacion).val(datos[0].provincia);
                                $("#formIDProvincia" + terminacion).val(datos[0].id_provincia);

                                $("#formProvincia" + terminacion).closest(".wrap_input_label").addClass("is_edited");
                                $("#formProvincia" + terminacion).addClass("is_edited");

                                $("#disclaimerBaleares").hide();
                                $("#disclaimerDestinoNoValido").hide();
                                $("#formAnuncioStep3 button[type=submit]").show();

                                if (datos[0].id_provincia == 7) {
                                    //show_message_alert("En las Islas Baleares, las recogidas y entregas se
                                    // realizan en nuestras delegaciones", "warning");
                                    $("#disclaimerBaleares").show();

                                    if (datos[0].aLocalizacionForzada != null) {

                                        $("#formLocalidadOrigen").val(datos[0].aLocalizacionForzada.localidad);
                                        $("#formLocalidadOrigen").attr("readonly", "readonly");
                                        $("#formIDLocalidadOrigen").val(datos[0].aLocalizacionForzada.id);

                                        $("#formCPOrigen").val(datos[0].aLocalizacionForzada.cp);

                                        $("#formProvinciaOrigen").val(datos[0].aLocalizacionForzada.provincia);
                                        $("#formProvinciaOrigen").attr("readonly", "readonly");
                                        $("#formIDProvinciaOrigen").val(datos[0].aLocalizacionForzada.id_provincia);

                                        $("#formDireccionOrigen").val(datos[0].aLocalizacionForzada.direccion);
                                        $("#formDireccionOrigen").attr("readonly", "readonly");
                                        $("#formDireccionOrigen").parent('div').addClass("is_edited");

                                        $("#direccionForzada").html(datos[0].aLocalizacionForzada.direccion);
                                        $("#localidadForzada").html(datos[0].aLocalizacionForzada.localidad);
                                        $("#provinciaForzada").html(datos[0].aLocalizacionForzada.provincia);
                                        $("#cpForzada").html(datos[0].aLocalizacionForzada.cp);
                                        $("#telefonoForzada").html(datos[0].aLocalizacionForzada.telefono);

                                    }
                                } else {
                                    $("#disclaimerBaleares").hide();
                                }

                                if (datos[0].id_provincia == 13 || datos[0].id_provincia == 53) {
                                    if (datos[0].aLocalizacionForzada != null) {
                                        if (datos[0].aLocalizacionForzada.bDestinoNoValido == true) {
                                            $("#disclaimerDestinoNoValido").show();
                                            $("#formAnuncioStep3 button[type=submit]").hide();
                                        }
                                    }
                                }


                                if (terminacion == "Origen") {
                                    if ($("#formAgenteOrigen").length) {

                                        $("#formAceptoTerminosServicioIntegral").removeAttr("disabled");

                                        if ($("#formAceptoTerminosServicioIntegral").is(":checked")) {
                                            $("#formAgenteOrigen").removeAttr("disabled");
                                            $("#formAgenteOrigen").removeClass("campoSombreado");
                                        }

                                        $("#formAgenteOrigen").html(datos[0].agentes);
                                        $("#formAgenteOrigen").val($("#formIDAgenteOrigen").val());

                                        if ($("#formIDAgenteOrigen").val() != "" && $("#formIDAgenteOrigen").val() != 0 && $("#formIDAgenteOrigen").val() != -1) {

                                        }
                                    }
                                } else recalculaPedido();

                            } else if (datos.length > 1) {
                                change_form_cp_all(terminacion)
                            }

                        } else {

                            elementoCampo.removeClass("is-valid")
                            elementoCampo.addClass("is-invalid")
                            $("#formLocalidad" + terminacion).val("");
                            $("#formIDLocalidad" + terminacion).val("");
                            $("#formLocalidad" + terminacion).css("display", "block");
                            $("#formLocalidad" + terminacion).closest(".wrap_input_label").css("display", "block");
                            $("#formLocalidad" + terminacion).closest(".wrap_input_label").removeClass("is_edited");
                            $("#formLocalidad" + terminacion).removeClass("is_edited");


                            $("#formLocalidadSelect" + terminacion).css("display", "none");
                            $("#formLocalidadSelect" + terminacion).closest(".wrap_dropdown_label").css("display", "none");
                            $("#formLocalidadSelect" + terminacion).closest(".wrap_dropdown_label").removeClass("is_edited");
                            $("#formLocalidadSelect" + terminacion).removeClass("is_edited");

                            $("#formProvincia" + terminacion).val("");
                            $("#formIDProvincia" + terminacion).val("");
                            $("#formProvincia" + terminacion).closest(".wrap_input_label").removeClass("is_edited");
                            $("#formProvincia" + terminacion).removeClass("is_edited");

                            if (terminacion == "Origen") {

                                if ($("#formAgenteOrigen").length) {
                                    $("#formAceptoTerminosServicioIntegral").attr("disabled", "disabled");
                                    $("#formAceptoTerminosServicioIntegral").removeAttr("checked");
                                    $("#formAceptoTerminosServicioIntegral").removeProp("checked")
                                }
                            }
                        }
                    },
                    fail: function (data) {
                        elementoCampo.parent().find(".loader-field").css("display", "none");
                        elementoCampo.removeClass("is-valid")
                        elementoCampo.addClass("is-invalid")
                    },
                    error: function (data) {
                        elementoCampo.parent().find(".loader-field").css("display", "none");
                        elementoCampo.removeClass("is-valid")
                        elementoCampo.addClass("is-invalid")
                    }
                });
            }, 500);

        });

        if ($("#formCP" + terminacion).val() != "" && $("#formCP" + terminacion).val() != null) {
            if ($("#formCP" + terminacion).val().length >= 3) {
                change_form_cp_all(terminacion)
            }
        }
    }
}

function change_form_cp_all(terminacion) {
    loader_on();

    $.post(ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/dame-datos-cp", { formCP: $("#formCP" + terminacion).val() }).done(function (data) {
        var datos = JSON.parse(data);

        // console_log(datos);

        if (datos.success) {
            if (datos.agente_obj != undefined) {
                calculoAgOrigen = datos.agente_obj;
                calculoProvOrigen = null;
            } else {
                calculoAgOrigen = null;
                calculoProvOrigen = datos.provincia_obj;
            }
            if (terminacion == "Origen") {
                if ($("#formAgenteOrigen").length) {

                    $("#formAceptoTerminosServicioIntegral").removeAttr("disabled");

                    if ($("#formAceptoTerminosServicioIntegral").is(":checked")) {
                        $("#formAgenteOrigen").removeAttr("disabled");
                        $("#formAgenteOrigen").removeClass("campoSombreado");
                    }

                    $("#formAgenteOrigen").html(datos.agentes);
                    $("#formAgenteOrigen").val($("#formIDAgenteOrigen").val());

                    if ($("#formIDAgenteOrigen").val() != "" && $("#formIDAgenteOrigen").val() != 0 && $("#formIDAgenteOrigen").val() != -1) {

                    }
                }
            }

            $("#formLocalidadSelect" + terminacion).html("");


            $("#formLocalidadSelect" + terminacion).change();
            $("#formIDProvincia" + terminacion).val(datos.id_provincia);
            $("#formProvincia" + terminacion).val(datos.provincia);
            $("#formProvincia" + terminacion).closest(".wrap_input_label").addClass("is_edited");
            $("#formProvincia" + terminacion).addClass("is_edited");

            if (datos.id_provincia == 13 || datos.id_provincia == 53) {
                $("#formIDLocalidad" + terminacion).val("");

                $("#formLocalidad" + terminacion).val("");
                $("#formLocalidad" + terminacion).css("display", "block");
                $("#formLocalidad" + terminacion).closest(".wrap_input_label").css("display", "block");
                $("#formLocalidad" + terminacion).closest(".wrap_input_label").removeClass("is_edited");
                $("#formLocalidad" + terminacion).removeClass("is_edited");
                $("#formLocalidad" + terminacion).attr("required", "required")

                $("#formLocalidadSelect" + terminacion).css("display", "none");
                $("#formLocalidadSelect" + terminacion).closest(".wrap_dropdown_label").css("display", "none");
                $("#formLocalidadSelect" + terminacion).closest(".wrap_dropdown_label").removeClass("is_edited");
                $("#formLocalidadSelect" + terminacion).removeClass("is_edited");
                $("#formLocalidadSelect" + terminacion).removeAttr("required")

                if (terminacion == "Origen") {
                    show_message_alert("No trabajamos ese origen. Contacta con nosotros para recibir más información", "danger");
                    /*
                     $.alert({
                     title: 'Error',
                     content: 'No trabajamos ese origen. Contacta con nosotros para recibir más información',
                     scrollToPreviousElement: false,
                     scrollToPreviousElementAnimate: false
                     });

                     */
                }

            } else {
                if (datos.localidades.length == 1) {
                    $("#formIDLocalidad" + terminacion).val(datos.localidades[0].id);

                    $("#formLocalidad" + terminacion).css("display", "block");
                    $("#formLocalidad" + terminacion).closest(".wrap_input_label").css("display", "block");
                    $("#formLocalidad" + terminacion).val(datos.localidades[0].nombre);
                    $("#formLocalidad" + terminacion).closest(".wrap_input_label").addClass("is_edited");
                    $("#formLocalidad" + terminacion).addClass("is_edited");
                    $("#formLocalidad" + terminacion).attr("required", "required")

                    $("#formLocalidadSelect" + terminacion).css("display", "none");
                    $("#formLocalidadSelect" + terminacion).closest(".wrap_dropdown_label").css("display", "none");
                    $("#formLocalidadSelect" + terminacion).closest(".wrap_dropdown_label").removeClass("is_edited");
                    $("#formLocalidadSelect" + terminacion).removeClass("is_edited");
                    $("#formLocalidadSelect" + terminacion).removeAttr("required")
                } else {
                    $("#formIDLocalidad" + terminacion).val("");

                    $("#formLocalidad" + terminacion).val("");
                    $("#formLocalidad" + terminacion).css("display", "none");
                    $("#formLocalidad" + terminacion).closest(".wrap_input_label").css("display", "none");
                    $("#formLocalidad" + terminacion).closest(".wrap_input_label").removeClass("is_edited");
                    $("#formLocalidad" + terminacion).removeClass("is_edited");
                    $("#formLocalidad" + terminacion).removeAttr("required")


                    $("#formLocalidadSelect" + terminacion).css("display", "block");
                    $("#formLocalidadSelect" + terminacion).closest(".wrap_dropdown_label").css("display", "block");
                    $("#formLocalidadSelect" + terminacion).closest(".wrap_dropdown_label").removeClass("is_edited");
                    $("#formLocalidadSelect" + terminacion).removeClass("is_edited");
                    $("#formLocalidadSelect" + terminacion).html("");
                    $("#formLocalidadSelect" + terminacion).html("<option value=''>Selecciona una localidad</option>");
                    datos.localidades.forEach(function (element) {
                        $("#formLocalidadSelect" + terminacion).append("<option value='" + element.id + "'>" + element.nombre + "</option>");

                    });
                    $("#formLocalidadSelect" + terminacion).attr("required", "required")

                    if (terminacion == "Propietario") {
                        if ($("#formDatosDelOrdenantePropietario").length > 0 && $("#formDatosDelOrdenantePropietario").is(":checked")) {
                            if ($("#formLocalidadSelectPropietario [value='" + $("#formIDLocalidad").val() + "']").length > 0) {
                                $("#formLocalidadSelectPropietario").val($("#formIDLocalidad").val());
                            }
                        }

                        if (localidad_propietario != -1) {
                            if ($("#formLocalidadSelectPropietario [value='" + localidad_propietario + "']").length > 0) {
                                $("#formLocalidadSelectPropietario").val(localidad_propietario);
                            }
                        } else {
                            if ($("#formIDLocalidadPropietarioSeleccionada").length) {
                                if ($("#formLocalidadSelectPropietario [value='" + $("#formIDLocalidadPropietarioSeleccionada").val() + "']").length > 0) {
                                    $("#formLocalidadSelectPropietario").val($("#formIDLocalidadPropietarioSeleccionada").val());
                                }
                            }
                        }
                    } else if (terminacion == "Usuario") {
                        if ($("#formDatosDelOrdenanteUsuario").length > 0 && $("#formDatosDelOrdenanteUsuario").is(":checked")) {
                            if ($("#formLocalidadSelectUsuario [value='" + $("#formIDLocalidad").val() + "']").length > 0) {
                                $("#formLocalidadSelectUsuario").val($("#formIDLocalidad").val());
                            }
                        }

                        if (localidad_usuario != -1) {
                            if ($("#formLocalidadSelectUsuario [value='" + localidad_usuario + "']").length > 0) {
                                $("#formLocalidadSelectUsuario").val(localidad_usuario);
                            }
                        } else {
                            if ($("#formIDLocalidadUsuarioSeleccionada").length) {
                                if ($("#formLocalidadSelectUsuario [value='" + $("#formIDLocalidadUsuarioSeleccionada").val() + "']").length > 0) {
                                    $("#formLocalidadSelectUsuario").val($("#formIDLocalidadUsuarioSeleccionada").val());
                                }
                            }
                        }
                    } else if (terminacion == "Origen") {
                        if (localidad_origen != -1) {
                            if ($("#formLocalidadSelectOrigen [value='" + localidad_origen + "']").length > 0) {
                                $("#formLocalidadSelectOrigen").val(localidad_origen);
                            }
                        } else {
                            if ($("#formIDLocalidadOrigenSeleccionada").length) {
                                if ($("#formLocalidadSelectOrigen [value='" + $("#formIDLocalidadOrigenSeleccionada").val() + "']").length > 0) {
                                    $("#formLocalidadSelectOrigen").val($("#formIDLocalidadOrigenSeleccionada").val());
                                }
                            }
                        }
                    } else if (terminacion == "Destino") {
                        if (localidad_destino != -1) {
                            if ($("#formLocalidadSelectDestino [value='" + localidad_destino + "']").length > 0) {
                                $("#formLocalidadSelectDestino").val(localidad_destino);
                            }
                        } else {
                            if ($("#formIDLocalidadDestinoSeleccionada").length) {
                                if ($("#formLocalidadSelectDestino [value='" + $("#formIDLocalidadDestinoSeleccionada").val() + "']").length > 0) {
                                    $("#formLocalidadSelectDestino").val($("#formIDLocalidadDestinoSeleccionada").val());
                                }
                            }
                        }
                    }

                    $("#formLocalidadSelect" + terminacion).closest(".wrap_dropdown_label").addClass("is_edited");
                    $("#formLocalidadSelect" + terminacion).addClass("is_edited");

                    $("#formLocalidadSelect" + terminacion).change();
                }
            }

            if (datos.id_provincia == 7) {
                if (terminacion == "Origen") {
                    show_message_alert("En las Islas Baleares, las recogidas y entregas se realizan en nuestras delegaciones", "warning");
                    /*	$.alert({
                            title: 'Aviso importante',
                            content: '<p>En las Islas Baleares, las recogidas y entregas se realizan en nuestras delegaciones de: ' + DESTINO_BALEARES + '</p>',
                            scrollToPreviousElement: false,
                            scrollToPreviousElementAnimate: false
                        });
                    */
                }
                //console.log("formCP", terminacion, datos.localidades[0].codigo_postal);
                if (datos.localidades[0].codigo_postal != undefined) $("#formCP" + terminacion).val(datos.localidades[0].codigo_postal);
            }
        } else {

            $("#formIDLocalidad" + terminacion).val("");

            $("#formLocalidad" + terminacion).css("display", "block");
            $("#formLocalidad" + terminacion).closest(".wrap_input_label").css("display", "block");
            $("#formLocalidad" + terminacion).closest(".wrap_input_label").addClass("is_edited");
            $("#formLocalidad" + terminacion).addClass("is_edited");
            $("#formLocalidad" + terminacion).val("");
            $("#formLocalidad" + terminacion).attr("required", "required")


            $("#formLocalidadSelect" + terminacion).css("display", "none");
            $("#formLocalidadSelect" + terminacion).closest(".wrap_dropdown_label").css("display", "none");
            $("#formLocalidadSelect" + terminacion).closest(".wrap_dropdown_label").removeClass("is_edited");
            $("#formLocalidadSelect" + terminacion).removeClass("is_edited");
            $("#formLocalidadSelect" + terminacion).html("");
            $("#formLocalidadSelect" + terminacion).removeAttr("required")

            $("#formProvincia" + terminacion).val("");
            $("#formProvincia" + terminacion).closest(".wrap_input_label").removeClass("is_edited");
            $("#formProvincia" + terminacion).removeClass("is_edited");

            if (datos.provincia != null) {
                $("#formProvincia" + terminacion).val(datos.provincia);
                $("#formIDProvincia" + terminacion).val(datos.id_provincia);
                $("#formProvincia" + terminacion).closest(".wrap_input_label").addClass("is_edited");
                $("#formProvincia" + terminacion).addClass("is_edited");
            }
            alert(datos.message);
        }
        loader_off();
    });
}

function set_is_edited_wrapper() {
    if ($('input:-webkit-autofill').length > 0) {
        $('input:-webkit-autofill').addClass("is_edited");
    }
    $(".is_edited").each(function () {
        $(this).closest(".wrap_input_label").addClass("is_edited");
        $(this).closest(".wrap_dropdown_label").addClass("is_edited");
        $(this).closest(".wrap_slider_label").addClass("is_edited");
    });
}

function show_message_alert(message, type) {

    var content_success = {};

    content_success.message = message;

    var notify_success = $.notify(content_success, {
        type: type,
        allow_dismiss: false,
        newest_on_top: false,
        mouse_over: false,
        showProgressbar: false,
        spacing: 10,
        timer: 2000,
        placement: {
            from: 'top',
            align: 'right'
        },
        offset: {
            x: 30,
            y: 30
        },
        delay: 1000,
        z_index: 10000,
        animate: {
            enter: 'animated bounce',
            exit: 'animated bounce'
        }
    });
}

function time() {
    var timestamp = Math.floor(new Date().getTime() / 1000)
    return timestamp;
}

function checkInitGetParams() {
    var allDatos = getAllUrlParams(window.location.href);

    for (var key in allDatos) {
        if (key == "incompleteUser") {
            show_message_alert("Debe completar sus datos para poder continuar", "danger");
        }
    }
}

function respuestaVerificacion(form) {
    loader_on();
    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/respuestaVerificacion",
        data: form.serialize(),
        dataType: 'json',
        success: function (data) {
            loader_off();
            if (data.response) {
                show_message_alert(data.mensaje, "success");
                $(".capaRespuesta").html("<h3>¡RESPUESTA ENVIADA!</h3>");
                window.location.href = data.url;
            } else {
                show_message_alert(data.mensaje, "danger");
            }
        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
            return false;
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
            return false;
        }
    });
}

$(document).ready(function () {
    if ($("#consultaventa").length) {

        $(".preg01si").click(function () {
            $("#pregunta01").fadeOut("slow", function () {
                $("#pregunta02").fadeIn("slow", function () {
                })
            });
        })
        $(".preg01no").click(function () {
            $("#pregunta01").fadeOut("slow", function () {
                $("#pregunta03").fadeIn("slow", function () {
                    notificaSeguimientoPedido(1);
                })
            });
        })

        $(".preg02si").click(function () {
            $("#pregunta02").fadeOut("slow", function () {
                $("#pregunta04").fadeIn("slow", function () {
                    notificaSeguimientoPedido(2);
                })
            });
        })

        $(".preg02no").click(function () {
            $("#pregunta02").fadeOut("slow", function () {
                $("#pregunta04").fadeIn("slow", function () {
                    notificaSeguimientoPedido(3);
                })
            });
        })

        $(".enviaOpinion01").click(function () {
            var aData = {};
            aData["mensaje"] = $("#formMensajeRemitente01").val();
            aData["u"] = $("#formIdU01").val();
            aData["p"] = $("#formIdP01").val();
            console.log($("#formMensajeRemitente01").val());

            enviaOpinion(aData);
        })
        $(".enviaOpinion02").click(function () {
            var aData = {};
            aData["mensaje"] = $("#formMensajeRemitente02").val();
            aData["u"] = $("#formIdU02").val();
            aData["p"] = $("#formIdP02").val();
            console.log($("#formMensajeRemitente02").val());

            enviaOpinion(aData);
        })
    }
})

function notificaSeguimientoPedido(idAction) {
    console.log("idAction", idAction);
    loader_on();
    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/notificaSeguimientoPedido",
        data: {
            u: $("#formIdU").val(),
            p: $("#formIdP").val(),
            a: idAction
        },
        dataType: 'json',
        success: function (data) {
            if (data.response) {

            } else {
                show_message_alert(data.mensaje, "danger");
            }
            loader_off();
        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        }
    });
}

function enviaOpinion(aData) {
    loader_on();
    $.ajax({
        type: 'POST',
        url: ROOTPATH_DOMAIN_IDIOMA + "ajax/productos/enviaOpinion",
        data: aData,
        dataType: 'json',
        success: function (data) {
            if (data.response) {

                $(".bloque").fadeOut("slow", function () {
                    $("#fin").fadeIn("slow", function () {

                    })
                });

            } else {
                show_message_alert(data.mensaje, "danger");
            }
            loader_off();
        },
        fail: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        },
        error: function (data) {
            show_message_alert(data.mensaje, "danger");
            loader_off();
        }
    });

}

$.validator.addMethod(
    "FechaValida",
    function (value, element) {
        var re = new RegExp(/[0-9]{2}\/[0-9]{2}\/[0-9]{4}/);
        return this.optional(element) || re.test(value);
    },
    "La fecha debe ser en formato dd/mm/aaaa."
);

function accentFold(inStr) {
    return inStr.replace(
        /([àáâãäå])|([çčć])|([èéêë])|([ìíîï])|([ñ])|([òóôõöø])|([ß])|([ùúûü])|([ÿ])|([æ])/g,
        function (str, a, c, e, i, n, o, s, u, y, ae) {
            if (a) return 'a';
            if (c) return 'c';
            if (e) return 'e';
            if (i) return 'i';
            if (n) return 'n';
            if (o) return 'o';
            if (s) return 's';
            if (u) return 'u';
            if (y) return 'y';
            if (ae) return 'ae';
        }
    );
}

/* FAQs */

$(document).ready(function () {
    $(".myAccordion").each(function () {
        $(this).find(">div").css("display", "none");
        $(this).find(">h3").click(function () {
            if ($(this).next().css("display") == "block") {
                $(this).parent().find(">div").slideUp();
                $(this).parent().find(">h3").removeClass("open");
            } else {
                $(this).parent().find(">div").slideUp();
                $(this).parent().find(">h3").removeClass("open");
                $(this).next().slideDown();
                $(this).addClass("open");
            }
        });
    });

    $(".myAccordion:eq(0)").find(">h3:first").next().slideDown();
    $(".myAccordion:eq(0)").find(">h3:first").addClass("open");

});

/* //FAQs */