$(document).ready(function()
{
if ($.fn.dataTable != undefined) {
$.extend($.fn.dataTable.defaults,
{
"language":
{
"sProcessing": "Procesando...",
"sLengthMenu": "Mostrar _MENU_",
"sZeroRecords": "No se han encontrado resultados",
"sEmptyTable": "Sin datos todavía",
"sInfo": "Mostrando de la entrada _START_ a la _END_ de un total de _TOTAL_ entradas",
"sInfoEmpty": "Todavía no hay datos",
"sInfoFiltered": "(filtrado de _MENU_ entradas)",
"sSearchPlaceholder": "Buscar",
"sInfoPostFix": "",
"sSearch": "",
"sUrl": "",
"oPaginate": {
"sFirst": " ",
"sPrevious": " ",
"sNext": " ",
"sLast": " "
}
}
});
}
});
function preparaLugar(pais, provincia, poblacion, idInputPais,idInputProvincia, idInputLocalidad)
{
if(pais > 0)
{
actualizaProvincias(idInputLocalidad,idInputProvincia, idInputPais, provincia, pais, provincia, poblacion, undefined);
}
$('#'+idInputPais).on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) {
//console.log(e, clickedIndex, isSelected, previousValue, $(this).val(), $('#frmServicioProvincia').val(), $('#frmServicioProvincia').selectpicker("val"));
actualizaProvincias(idInputLocalidad,idInputProvincia, idInputPais, provincia);
});
/*$("body").on("change", "#"+idInputPais, function()
{
actualizaProvincias(idInputLocalidad,idInputProvincia, idInputPais, provincia);
});*/
if(provincia > 0)
{
actualizaCiudades(idInputLocalidad, idInputProvincia, idInputPais,poblacion, pais, provincia, poblacion, $("#"+idInputProvincia).val()*1);
}
$('#'+idInputProvincia).on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) {
//console.log(e, clickedIndex, isSelected, previousValue, $(this).val(), $('#frmServicioProvincia').val(), $('#frmServicioProvincia').selectpicker("val"));
if (isSelected == null)
return;
actualizaCiudades(idInputLocalidad, idInputProvincia, idInputPais, undefined, $("#"+idInputPais).val()*1, $("#"+idInputProvincia).val()*1);
});
/*
$("body").on("change", "#"+idInputProvincia, function()
{
actualizaCiudades(idInputLocalidad, idInputProvincia, idInputPais, undefined, $("#"+idInputPais).val()*1, $("#"+idInputProvincia).val()*1);
});*/
}
function actualizaProvincias(idCampoLocalidad, idCampoRegion, idCampoPais, idRegionPreEstablecida, forceIdPais, forceIdRegion,forceIdLocalidad, onFinish, textoSelect, textoLoading)
{
if(forceIdPais == undefined)
{
forceIdPais = $("#"+idCampoPais).val();
}
if(forceIdRegion == undefined)
{
forceIdRegion = $("#"+idCampoRegion).val();
}
if(forceIdLocalidad == undefined)
{
forceIdLocalidad = $("#"+idCampoLocalidad).val();
}
if(textoSelect == undefined)
{
textoSelect = "Seleccione la provincia";
}
if(textoLoading == undefined)
{
textoLoading = "Cargando...";
}
var data =
{
idPais: forceIdPais
};
$("#"+idCampoRegion).empty();
$("#"+idCampoRegion).append( "");
$("#"+idCampoRegion).selectpicker("refresh");
$("#"+idCampoRegion).selectpicker('val', 0);
var returned = $.ajax(
{
url: "ajax/Ubicacion.listadoRegiones.php?CSRF="+CSRF,
type: "POST",
dataType : "json",
data : data,
error: function(XMLHttpRequest, textStatus, errorThrown)
{
//ClassBlockUI.abrirBlockUIEstandarMensaje(XMLHttpRequest.responseText, true);
},
success: function(data)
{
$("#"+idCampoRegion).empty();
$("#"+idCampoRegion).append( "");
for(var index in data)
{
$("#"+idCampoRegion).append( "" );
}
if(idRegionPreEstablecida!=undefined && idRegionPreEstablecida !="")
{
$("#"+idCampoRegion).selectpicker("refresh");
$("#"+idCampoRegion).selectpicker('val', idRegionPreEstablecida);
}
else
{
$("#"+idCampoRegion).selectpicker("refresh");
$("#"+idCampoRegion).selectpicker('val', 0);
}
if(onFinish != undefined && typeof(onFinish) == "function")
{
onFinish();
}
}
});
}
function actualizaCiudades(idCampoLocalidad, idCampoRegion, idCampoPais, idLocalidadPreEstablecida, forceIdPais, forceIdRegion,forceIdLocalidad, onFinish, textoSelect, textoLoading)
{
if(forceIdPais == undefined)
{
forceIdPais = $("#"+idCampoPais).val();
}
if(forceIdRegion == undefined)
{
forceIdRegion = $("#"+idCampoRegion).val();
}
if(forceIdLocalidad == undefined)
{
forceIdLocalidad = $("#"+idCampoLocalidad).val();
}
if(textoSelect == undefined)
{
textoSelect = "Seleccione la localidad";
}
if(textoLoading == undefined)
{
textoLoading = "Cargando...";
}
var data =
{
idPais: forceIdPais,
idRegion: forceIdRegion
};
$("#"+idCampoLocalidad).empty();
$("#"+idCampoLocalidad).append( "");
$("#"+idCampoLocalidad).selectpicker("refresh");
$("#"+idCampoLocalidad).selectpicker('val', 0);
var returned = $.ajax(
{
url: "ajax/Ubicacion.listadoCiudades.php?CSRF="+CSRF,
type: "POST",
dataType : "json",
data : data,
error: function(XMLHttpRequest, textStatus, errorThrown)
{
//ClassBlockUI.abrirBlockUIEstandarMensaje(XMLHttpRequest.responseText, true);
},
success: function(data)
{
$("#"+idCampoLocalidad).empty();
$("#"+idCampoLocalidad).append( "");
for(var index in data)
{
$("#"+idCampoLocalidad).append( "" );
}
if(idLocalidadPreEstablecida!=undefined)
{
$("#"+idCampoLocalidad).selectpicker("refresh");
$("#"+idCampoLocalidad).selectpicker('val', idLocalidadPreEstablecida);
}
else
{
$("#"+idCampoLocalidad).selectpicker("refresh");
$("#"+idCampoLocalidad).selectpicker('val', 0);
}
if(onFinish != undefined && typeof(onFinish) == "function")
{
onFinish();
}
}
});
}
/*
ClassBlockUI.abrirBlockUIEstandar(contenedorIDAMostrar[, accionCerrar, headerText, extraClass, restaurarElemento]);
ClassBlockUI.abrirBlockUIEstandarMensaje(mensaje[, isAlertOrButtons, onClose]);
ClassBlockUI.abrirBlockUIConfirm(mensaje, textoBotonAceptar, accionBotonAceptar, textoBotonCancelar[, accionBotonCancelar]); //accionBotonCancelar="close"
ClassBlockUI.abrirBlockUIEsperePorFavor:([mensaje]);
*/
var ClassBlockUI =
{
restaurarElemento: function()
{
var data = $("body").data('blockUIEstandar.history');
if (data)
{
data.el.style.display = data.display;
data.el.style.position = data.position;
if (data.parent)
data.parent.appendChild(data.el);
$("body").removeData('blockUIEstandar.history');
$("#"+data.generatedId).remove();
}
},
abrirBlockUIEstandar: function(contenedorIDAMostrar, accionCerrar, headerText, extraClass, restaurarElemento)
{
if(restaurarElemento || restaurarElemento == undefined)
{
ClassBlockUI.restaurarElemento();
}
$(".modalAutoHide").modal("hide");
if($(".modal").length>0){$("body").addClass("modal-open")}
if(contenedorIDAMostrar == undefined || $("#"+contenedorIDAMostrar).length == 0){return;}
//var blockUIId="blockUI_"+new Date().getTime();
var blockUIId="blockUI_"+contenedorIDAMostrar;
extraClass = extraClass == undefined ? "" : extraClass; //modal-lg
var object = $("#"+contenedorIDAMostrar);
var node = object[0];
var data = {};
$("body").data('blockUIEstandar.history', data);
data.el = node;
data.parent = node.parentNode;
data.display = node.style.display;
data.position = node.style.position;
data.generatedId = blockUIId;
data.object = object;
if (data.parent)
data.parent.removeChild(node);
var header = headerText != undefined ? headerText : "";
var message = ''+
'
";
for(var index in isAlertOrButtons)
{
botonera += " "+isAlertOrButtons[index]["text"]+" ";
}
botonera += "
";
}
var message = '';
message += '").html(data);
if($el.prop('tagName') === 'INPUT'){
$('input', $html).attr('value', $el.val());
if($el.prop('checked')){
$('input', $html).attr('checked', 'checked');
}
} else if ($el.prop('tagName') === 'TEXTAREA'){
$('textarea', $html).html($el.val());
} else if ($el.prop('tagName') === 'SELECT'){
$('option:selected', $html).removeAttr('selected');
$('option', $html).filter(function(){
return ($(this).attr('value') === $el.val());
}).attr('selected', 'selected');
}
data = $html.html();
//console.log("Antes habia: "+data);
//console.log("Ahroa quiere poner: "+$html.html());
}
return data;
},
actualizarPreviewCarrito: function (data) {
$("#previewCarritoProductos").html(data["productos"]);
$(".btnAbreCarrito .contadorNumItems").html(data["numProductos"]);
$("#previewCarritoAhorras span, #teAhorrasCarrito span").html_formated(data["teAhorras"]);
$("#previewCarritoSubtotal span").html_formated(data["subtotal"]);
$("#previewCarritoTotal span").html_formated(data["total"]);
$(".previewCarritoTotal span").html_formated(data["totalPedido"]);
$(".previewCarritoEnvioTitulo").html(data["textoEnvio"]);
$(".previewCarritoEnvioProgreso span").css("width", data["progreso"]+"%");
if(data["gastosEnvio"][1]*1==0) {
$("#precioEntrega_1").html("
¡Gratis!");
} else
{
$("#precioEntrega_1").html("
"+data["gastosEnvio"][3]+"€ ("+data["gastosEnvio"][0]+"% IVA incluido)");
}
if (typeof tablatablaCarrito !== 'undefined' && tablatablaCarrito != null && tablatablaCarrito != undefined) {
tablatablaCarrito.ajax.reload(null, false);
tablatablaRegalos.ajax.reload(null, false);
ClassTiendaVirtualCarrito.actualizaTotales();
}
},
validarCupon: function () {
$.ajax(
{
url: "ajax/TiendaVirtualCupon.enviar.php",
type: "POST",
dataType : "json",
data : {
"cuponDescuento": $("#cuponDescuento").val(),
"CSRF": CSRF
},
success: function(data)
{
if(data["error_number"]<0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true);
}
else
{
$(".modal").modal("hide");
$("#cuponDescuento").val("");
ClassTiendaVirtualCarrito.actualizaTotales();
}
}
});
ClassBlockUI.abrirBlockUIEsperePorFavor();
},
actualizaTotales: function ()
{
var transporte = $("input[name=formTransporte]:checked").val();
var pais = $("#formEnvioPais").val();
var provincia = $("#formEnvioProvincia").val();
if (typeof tablatablaTotales != "undefined") {
tablatablaTotales.ajax.url('ajax/TiendaVirtualCarrito.getTotales.php?CSRF=' + CSRF + '&pais=' + pais + '&provincia=' + provincia + "&idTransporte=" + transporte).load();
}
}
};
var ClassTiendaVirtualPedidos =
{
initReactivaClicks: function(){
$(".mostrarPedidos.d-none, #filtrosHistorico").removeClass("d-none");
$(".mostrarPedidos label").addClass("inputIcon");
$(".form-control").removeClass().addClass("form-control-b");
if ($("#tablaHistoricoPedidos_length label i").length == 0) {
$("#tablaHistoricoPedidos_length label").append('
');
}
$(".iconoDetallePedido, .iconoImprimirFactura").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'bottom'});
$(".tooltipStandardHTML").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'bottom', contentAsHTML: true});
var numProductosPedido = 0;
var numPedidos = 0;
if (typeof tablatablaVerPedido != "undefined") {
numProductosPedido = tablatablaVerPedido.page.info().recordsDisplay;
}
if (typeof tablatablaHistoricoPedidos != "undefined") {
numPedidos = tablatablaHistoricoPedidos.page.info().recordsDisplay;
}
if (numProductosPedido > 10) {
$("#tablaVerPedido_wrapper .paginationFooter").removeClass("d-none");
}
if (numPedidos > 10) {
$("#tablaHistoricoPedidos_wrapper .paginationFooter").removeClass("d-none");
}
},
initConfirmarPedido: function(opciones_validacion, paisEnvio, provinciaEnvio, poblacionEnvio, paisFacturacion, provinciaFacturacion, poblacionFacturacion)
{
ClassTiendaVirtualPedidos.validacion_pedido=$("#frmCofirmarPedido").validate(opciones_validacion);
$("body").on("click", "#btn_confirmar_compra, #btn_confirmar_compra2", ClassTiendaVirtualPedidos.confirmarPedido);
preparaLugar(paisEnvio, provinciaEnvio, poblacionEnvio, "formEnvioPais", "formEnvioProvincia", "formEnvioLocalidad");
preparaLugar(paisFacturacion, provinciaFacturacion, poblacionFacturacion, "formFacturacionPais", "formFacturacionProvincia", "formFacturacionLocalidad");
$("#frmCofirmarPedido").on("change", "#copiarDireccionesCarrito", function()
{
if (!$(this).is(":checked")) {
$("#formDireccionFacturacion").css("display", "flex");
$(".formFacturacionTitulo").css("display", "block");
} else {
$.each($("input[name^='formEnvio'], select[name^='formEnvio']"), function (i, element) {
var value = $(element).val();
var inputFact = $("#"+$(element).attr("id").replace("Envio", "Facturacion"));
$(inputFact).val(value);
});
$("#formFacturacionProvincia").html($("#formEnvioProvincia").html());
$("#formFacturacionLocalidad").html($("#formEnvioLocalidad").html());
$("#formFacturacionProvincia").selectpicker('refresh');
$("#formFacturacionLocalidad").selectpicker('refresh');
$("#formFacturacionProvincia").selectpicker('val', $("#formEnvioProvincia").val());
$("#formFacturacionLocalidad").selectpicker('val', $("#formEnvioLocalidad").val());
$("#formDireccionFacturacion").css("display", "none");
$(".formFacturacionTitulo").css("display", "none");
}
});
$("#frmCofirmarPedido").on("change", "#generarFacturaCarrito", function()
{
if ($(this).is(":checked")) {
$("#formDireccionFacturacion").css("display", "flex");
$(".formFacturacionTitulo").css("display", "block");
} else {
$("#formDireccionFacturacion").css("display", "none");
$(".formFacturacionTitulo").css("display", "none");
}
});
$("#copiarDireccionesCarrito").trigger("change");
$("#generarFacturaCarrito").trigger("change");
},
envioValido: function(esValido)
{
if(esValido)
{
$(".finalizarPedido").show();
}
else
{
$(".finalizarPedido").hide();
ClassBlockUI.abrirBlockUIEstandarMensaje("Gastos de envío incorrectos, no hemos podido calcular los gastos de envío, disculpe las molestias.", true, false);
}
},
confirmarPedido: function()
{
$(".modal").modal("hide");
if (!$("#frmCofirmarPedido").valid())
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor, revisa los campos porque se han detectado los siguientes errores
"+ClassTiendaVirtualPedidos.validacion_pedido.invalidMessages("
"), true, false);
return;
}
if ($("input[name='forma_pago']:checked").val() == 4)
{
$.each($("#cargo-cuenta input"), function(i, e)
{
if ($(e).val().trim().length < 4)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Debe introducir un nº de cuenta válido", true);
return false;
}
});
}
var opcionesDatos =
{
url: "ajax/TiendaVirtualPedidos.procesarPedido.php?CSRF="+CSRF,
type: "POST",
dataType : "json",
data : $("#frmCofirmarPedido").serialize(),
success: function(data)
{
if(data["error_number"] < 0 )
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false);
}
else
{
$("#procesaPagoExterno").html(data["formularioFormaPago"]);
switch(data["forma_pago"]*1)
{
case 1:
{
ClassTiendaVirtualPedidos.pagoBanco();
break;
}
case 2:
{
ClassTiendaVirtualPedidos.pagoPaypal();
break;
}
case 3:
case 4:
default:
{
window.location = ("/tienda/pedido-realizado.html?idPedido=%idPedido%").replace("%idPedido%", data["idPedido"]);
break;
}
}
}
}
};
ClassBlockUI.abrirBlockUIEsperePorFavor();
$.ajax(opcionesDatos);
},
pagoPaypal:function()
{
ClassBlockUI.abrirBlockUIEsperePorFavor("");
$("#pagoPaypal").submit();
},
pagoBanco:function()
{
ClassBlockUI.abrirBlockUIEsperePorFavor();
$("#pagoBanco").submit();
}
};
var opciones = {};
var modalAtributos=false;
var modalMensaje = false;
/*var opcionesPeso = false;
var opcionesPaquetes = false;*/
var ClassTiendaVirtualProductos =
{
initAgregarProductoCarrito:function()
{
$(".cantidad").unbind("keyup").keyup(function()
{
ClassTiendaVirtualProductos.actualizarTotal($("#atributos_1").attr("id"), $("#atributos_1").find("option:selected").attr("data-suplemento")*1);
});
$(".cantidad").pressEnter(function(){
return;
});
$(".ficha_producto_atributos select").change(function()
{
ClassTiendaVirtualProductos.actualizarTotal($(this).attr("id"), $(this).find("option:selected").attr("data-suplemento")*1);
});
$(".btnAgregarCarrito").unbind("click").makeTagLink(function()
{
ClassTiendaVirtualProductos.agregarAlCarrito(true, $(this));
});
$(".btnAgregarCarritoListado, .btnPrevProducto").unbind("click").makeTagLink(function()
{
ClassTiendaVirtualProductos.agregarAlCarritoCompruebaAtributos(false, $(this));
});
$("body").on("click", ".inputCantidadMas", function () {
var input = $(this).parent().find("input");
var cantidad = $(input).val();
var nuevaCantidad = 1;
if (!isNaN(cantidad)) {
nuevaCantidad = cantidad*1+1;
}
$(input).val(nuevaCantidad)
ClassTiendaVirtualProductos.actualizarTotal($("#atributos_1").attr("id"), $("#atributos_1").find("option:selected").attr("data-suplemento")*1);
});
$("body").on("click", ".inputCantidadMenos", function () {
var input = $(this).parent().find("input");
var cantidad = $(input).val();
var nuevaCantidad = 0;
if (!isNaN(cantidad) && cantidad >= 1) {
nuevaCantidad = cantidad*1-1;
}
$(input).val(nuevaCantidad)
ClassTiendaVirtualProductos.actualizarTotal($("#atributos_1").attr("id"), $("#atributos_1").find("option:selected").attr("data-suplemento")*1);
});
$("body").on("click", "#itemPreviewFotos span", function () {
$("#itemPreviewFotos span").removeClass("seleccionada");
$(this).addClass("seleccionada");
var src = $(this).find("img").attr("src");
$("#itemPreviewFotoPrincipal").attr("src", src);
});
$("body").on("change", "#atributo_1, #atributo_2", function () {
var stock = $(this).find("option:selected").attr("data-stock");
ClassTiendaVirtualProductos.checkSinStock(stock, 1);
});
$("body").on("change", "#atributos_1, #atributos_2", function () {
var stock = $(this).find("option:selected").attr("data-stock");
ClassTiendaVirtualProductos.checkSinStock(stock, 2);
});
$(".ficha_producto_atributos select").trigger("change");
},
actualizarTotal:function(idAtributo, valorAtributo)
{
if(idAtributo!=undefined)
{
opciones[idAtributo] = valorAtributo;
}
//le anadido dividir entre 100 para que lo haga bien, sino suma decimales
var subtotal = ($("#ficha_producto_precio").val()*1);
var subtotal_sin_iva = ($("#ficha_producto_precio_sin_iva").val()*1);
var subtotal_original = ($("#ficha_producto_precio_original").val()*1);
var subtotal_original_sin_iva = ($("#ficha_producto_precio_original_sin_iva").val()*1);
for(var index in opciones)
{
if(index.match(/atributo_*/i) == null)
continue;
subtotal += opciones[index];
subtotal_original += opciones[index];
subtotal_sin_iva += opciones[index];
subtotal_original_sin_iva += opciones[index];
}
var cantidad = $(".cantidad").val()*1;
if(!isNaN(cantidad))
{
$("#productos_detalles_subtotal").html_formated((cantidad*subtotal), {numberOfDecimals: 2, decimalSeparator: ',', thousandSeparator: '.', symbol: ' €'});
$("#productos_detalles_subtotal_original").html_formated((cantidad*subtotal_original), {numberOfDecimals: 2,decimalSeparator: ',',thousandSeparator: '.',symbol: ' €'});
}
else
{
$("#productos_detalles_subtotal").html_formated(subtotal, {symbol: ' €'});
$("#productos_detalles_subtotal_original").html_formated(subtotal_original, {symbol: ' €'});
}
},
agregarAlCarritoCompruebaAtributos: function(mostrandoAtributos, este){
if(!usuarioIdentificado && !1)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Tienes que identificarse para poder añadir el producto al carrito", true, false);
return;
}
/*var tieneAtributos = este.attr("data-atributos");
if(mostrandoAtributos || !tieneAtributos)
{
ClassTiendaVirtualProductos.agregarAlCarrito(mostrandoAtributos, este);
}
else*/
{
ClassTiendaVirtualProductos.mostrarAtributosParaAgregarAlCarrito(este);
}
},
mostrarAtributosParaAgregarAlCarrito: function(este){
idProducto = este.attr("data-id");
var opcionesDatos =
{
type:"POST",
dataType:"json",
url:"ajax/TiendaVirtualCarrito.seleccionaAtributos.php?CSRF="+CSRF,
data:
{
id: idProducto
},
success: function(data, textStatus, XMLHttpRequest)
{
if(data["error_number"]<0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true);
}
else
{
/*if(Object.keys(data["atributos"]).length == 0)
{
ClassTiendaVirtualProductos.agregarAlCarrito(false, este);
}
else
*/
$("#itemPreviewDatos .itemPreviewContieneAtributos").html("");
if(Object.keys(data["atributos"]).length > 0)
{
var seleccionaAtributos = "
";
for(var idAtributo in data["atributos"])
{
seleccionaAtributos += '';
seleccionaAtributos += '';
}
seleccionaAtributos += '';
seleccionaAtributos += '
';
$("#itemPreviewDatos .itemPreviewContieneAtributos").html(seleccionaAtributos);
}
$("#itemPreviewDatos .itemPreviewMarca").html(data["producto"]["marca"]);
$("#itemPreviewDatos .itemPreviewProducto").html(data["producto"]["producto"]);
if (!data["producto"]["esOferta"]) {
$("#itemPreviewDatos .itemPreviewPrecio").addClass("d-none");
} else {
$("#itemPreviewDatos .itemPreviewPrecio").removeClass("d-none");
}
$("#itemPreviewDatos .itemPreviewPrecio").html(data["producto"]["precio"]);
$("#itemPreviewDatos .itemPreviewPrecioOferta").html(data["producto"]["precioOferta"]);
$("#itemPreviewFotoPrincipal").attr("src", data["producto"]["fotoPrincipal"]);
$("#itemPreviewFotos").html("");
$.each(data["producto"]["fotos"], function (i, e) {
var claseSeleccionada = e == data["producto"]["fotoPrincipal"] ? "seleccionada" : "";
$("#itemPreviewFotos").append('
');
});
if (data["producto"]["porcentajeDescuento"] > 0) {
$("#itemPreviewDatos .itemPreviewPorcDescuento").css({opacity: 1, visibility: "visible"});
} else {
$("#itemPreviewDatos .itemPreviewPorcDescuento").css({opacity: 0, visibility: "hidden"});
}
$("#itemPreviewDatos .itemPreviewPorcDescuento").html(data["producto"]["porcentajeDescuento"]+"%");
$("#itemPreviewDatos .itemPreviewCantidad").val(1);
$("#selectAtributos #itemPreviewProductoFotos .btnAnadirEliminarLista").tooltipster("destroy");
$("#selectAtributos #itemPreviewProductoFotos .btnAnadirEliminarLista").attr("data-id", idProducto);
$("#selectAtributos #itemPreviewProductoFotos .btnAnadirEliminarLista").removeClass("deseo").addClass(data["producto"]["claseDeseo"]);
$("#selectAtributos #itemPreviewProductoFotos .btnAnadirEliminarLista").attr("title", data["producto"]["tooltipDeseo"]);
$(".tooltipStandard").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'bottom', contentAsHTML: true});
$("#itemPreviewDatos #btnCatalogoComprarAgregarAhoraAtributos").attr("data-id", idProducto);
$("#itemPreviewDatos .itemPreviewAvisame").attr("data-id", idProducto);
$("#itemPreviewDatos #btnCatalogoComprarAgregarAhoraAtributos").attr("data-atributos", 1);
if ($("#atributo_1").length == 0 && $("#atributo_2").length == 0) {
ClassTiendaVirtualProductos.checkSinStock(data["producto"]["stock"]);
}
else {
$("#atributo_1").trigger("change");
$("#atributo_2").trigger("change");
}
$(".inputCantidad .cantidad").val(1);
modalAtributos = ClassBlockUI.abrirBlockUIEstandar("selectAtributos", undefined, "", "modal-lg");
}
}
};
$.ajax(opcionesDatos);
ClassBlockUI.abrirBlockUIEsperePorFavor();
},
agregarAlCarrito: function(mostrandoAtributos, este)
{
if(!usuarioIdentificado && !1)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Tienes que identificarse para poder añadir el producto al carrito", true, false);
}
else
{
var idProducto = este.attr("data-id");
var tieneAtributos = este.attr("data-atributos");
var atributos = {};
var atributosOk = true;
if(tieneAtributos == 1) {
$(".ficha_producto_atributos select").each(function()
{
atributos[$(this).attr("id")] = $(this).val();
if($(this).val() == "")
{
atributosOk=false;
}
});
}
if(!atributosOk)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Elige las opciones del producto", true, false);
return;
}
var data = atributos;//atributos;
data["idProducto"] = idProducto;
var nombreCantidad = "cantidad_"+idProducto;
if(!mostrandoAtributos)
{
data[nombreCantidad] = 1; //porque estamos agregando desde el listado del producto
}
else
{
data[nombreCantidad] = $(".cantidad").val();
}
if (isNaN(data[nombreCantidad]) || data[nombreCantidad] == "")
{
data[nombreCantidad] = 1;
}
if ($("#subProductos").length > 0) {
var formData = new FormData($('#subProductos')[0]);
var cantidadValida = false;
$.each($(".cantidadSecundaria"), function(i, e)
{
var val = $(e).val();
if (val != "" && val > 0)
{
cantidadValida = true;
return false;
}
});
if (!cantidadValida)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Revisa las cantidades", true);
return;
}
}
else
{
var formData = new FormData();
formData.append(nombreCantidad, data[nombreCantidad]);
formData.append("idProducto", data["idProducto"]);
}
var opcionesDatos =
{
type:"POST",
dataType:"json",
url:"ajax/TiendaVirtualCarrito.agregar.php?CSRF="+CSRF,
processData: false,
contentType: false,
data: formData,
success: function(data, textStatus, XMLHttpRequest)
{
if(data["error_number"]<0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false);
}
else
{
ClassTiendaVirtualCarrito.actualizarPreviewCarrito(data);
$(".modalAutoHide").modal("hide");
$.notify(
{
title: "
Aviso: ",
message: data["error_message"],
allow_dismiss: false
},
{
placement: {
from: "top",
align: "center"
},
delay: 2000,
//timer: 100000
});
}
}
};
$.ajax(opcionesDatos);
modalMensaje = ClassBlockUI.abrirBlockUIEsperePorFavor();
}
},
mostrarModalSinStock: function(producto)
{
ClassBlockUI.abrirBlockUIEstandar("sinStockModal", undefined, "", "productoSinStock");
},
checkSinStock: function(stock, tipo)
{
var extraSelector = tipo == undefined || tipo == 1 ? "#selectAtributos " : "#itemProductoFichaDatos ";
if(stock == "NULL")
{
$(extraSelector+".itemPreviewInput").css("display", "none");
$(extraSelector+"#btnCatalogoComprarAgregarAhoraAtributos").css("display", "none");
$(extraSelector+".btnAgregarCarrito").css("display", "none");
$(extraSelector+".itemPreviewSinStock").css("display", "none");
return;
}
if (stock <= 0)
{
$(extraSelector+".itemPreviewSinStock").css("display", "block");
$(extraSelector+".itemPreviewInput").css("display", "none");
$(extraSelector+"#btnCatalogoComprarAgregarAhoraAtributos").css("display", "none");
$(extraSelector+".btnAgregarCarrito").css("display", "none");
}
else
{
$(extraSelector+".itemPreviewSinStock").css("display", "none");
$(extraSelector+".itemPreviewInput").css("display", "block");
$(extraSelector+"#btnCatalogoComprarAgregarAhoraAtributos").css("display", "inline-block");
$(extraSelector+".btnAgregarCarrito").css("display", "inline-block");
}
}
};
var ClassUsuarios =
{
initModificarDatosPerfil: function(opciones_validacion, opciones_validacion_modificar_password, paisEnvio, provinciaEnvio, poblacionEnvio, paisFacturacion, provinciaFacturacion, poblacionFacturacion)
{
ClassUsuarios.opcValidacionModificarPassword = opciones_validacion_modificar_password;
ClassUsuarios.opcValidacionModificarDatosPerfil = opciones_validacion;
ClassUsuarios.validacionModificarDatosPerfil=$("#frmModificarDatosPerfil").validate(opciones_validacion);
$(document).ready(function()
{
$(".btnGuardarContrasena").unbind("click").makeTagLink(ClassUsuarios.modificarDatosPassword);
$(".btnGuardarCambios").unbind("click").makeTagLink(ClassUsuarios.modificarDatosPerfil);
$("#btnBaja").unbind("click").makeTagLink(ClassUsuarios.confirmacionBaja);
preparaLugar(paisEnvio, provinciaEnvio, poblacionEnvio, "formEnvioPais", "formEnvioProvincia", "formEnvioLocalidad");
preparaLugar(paisFacturacion, provinciaFacturacion, poblacionFacturacion, "formFacturacionPais", "formFacturacionProvincia", "formFacturacionLocalidad");
ClassUsuarios.actualizarDatos(true);
$("#copiarDirecciones").click(function()
{
ClassUsuarios.actualizarDatos(true);
});
$("#generarFactura").click(function()
{
ClassUsuarios.actualizarDatos(true);
});
});
},
actualizarDatos:function(actualizarSelects)
{
if($("#generarFactura").val() == 0 || $("#copiarDirecciones").is(":checked") == 1)
{
$("#formDireccionFacturacion, #formFacturacionGuardarCambios, .formFacturacionTitulo").addClass("d-none");
$("#formEnvioGuardarCambios").removeClass("d-none");
if (actualizarSelects)
{
$("#formDireccionFacturacion").removeClass("d-flex");
$("#formFacturacionProvincia").html($("#formEnvioProvincia").html());
$("#formFacturacionLocalidad").html($("#formEnvioLocalidad").html());
$("#formFacturacionProvincia").selectpicker('refresh');
$("#formFacturacionLocalidad").selectpicker('refresh');
$("#formFacturacionProvincia").selectpicker('val', $("#formEnvioProvincia").val());
$("#formFacturacionLocalidad").selectpicker('val', $("#formEnvioLocalidad").val());
}
$.each($("input[name^='formEnvio']"), function (i, element) {
var value = $(element).val();
var inputFact = $("#"+$(element).attr("id").replace("Envio", "Facturacion"));
$(inputFact).val(value);
});
}
else
{
$("#formDireccionFacturacion").addClass("d-flex");
$("#formFacturacionGuardarCambios, .formFacturacionTitulo, #formDireccionFacturacion").removeClass("d-none");
$("#formEnvioGuardarCambios").addClass("d-none");
}
},
modificarDatosPerfil:function()
{
ClassUsuarios.validacionModificarDatosPerfil.resetForm();
$(".bootstrap-select").removeClass("error");
Utils.sendStandardAjax("frmModificarDatosPerfil", "ajax/Usuarios.modificarDatos.php?CSRF="+CSRF, {opcionesValidacion: ClassUsuarios.opcValidacionModificarDatosPerfil, successCallback: null});
},
modificarDatosPassword: function()
{
Utils.sendStandardAjax("frmModificarContrasena", "ajax/Usuarios.modificarPassword.php?CSRF="+CSRF, {opcionesValidacion: ClassUsuarios.opcValidacionModificarPassword, successCallback: null, resetFormOnSuccess: true});
},
guardaClaveOlvidoPass: function ()
{
var opciones_validacion=
{
showLabels: false,
rules: {
passwordOlvido:
{
required: true,
minlength: 6
},
password2: {
equalTo: "#passwordOlvido"
}
}
};
Utils.sendStandardAjax("form_olvido", "ajax/Usuarios.guardaClave.php?CSRF="+CSRF, {opcionesValidacion: opciones_validacion, successCallback: "https://www.arnaudental.com/inicio.html"});
},
enviarOlvido: function()
{
Utils.sendStandardAjax("frmEnviarOlvido", "ajax/Usuarios.olvidarContrasena.php", {successCallback: null});
},
confirmacionBaja: function()
{
ClassBlockUI.abrirBlockUIConfirm("Si te das de baja perderás tu acceso y el historial de pedidos realizados.¿Estas seguro de que quieres darte de baja?", "SÍ, DARME DE BAJA", ClassUsuarios.enviarBaja, "NO, CONTINUAR", undefined, "modalDarBaja", "VAS A DARTE BAJA");
},
enviarBaja: function()
{
$(".modal").modal("hide");
var opcionesDatos =
{
type:"POST",
dataType:"json",
url:"ajax/Usuarios.baja.php?CSRF="+CSRF,
success: function(data, textStatus, XMLHttpRequest)
{
if(data["error_number"] >= 0) {
ClassBlockUI.abrirBlockUIEstandarMensaje("Te vamos a echar mucho de menos. Puedes volver a registrarte cuando quieras, nos vemos pronto", true, "logout.php", "modalDarBaja", "TE HAS DADO DE BAJA");
} else {
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false);
}
}
};
$.ajax(opcionesDatos);
ClassBlockUI.abrirBlockUIEsperePorFavor();
},
actualizaDni: function () {
//$("#formEnvioDNI").removeClass("required").removeClass("valid").removeClass("error");
//$("#formFacturacionDNI").removeClass("required").removeClass("valid").removeClass("error");
}
};