$(document).ready(function()
{
$.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).change(function()
{
actualizaProvincias(idInputLocalidad,idInputProvincia, idInputPais, provincia);
});
if(provincia > 0)
{
actualizaCiudades(idInputLocalidad, idInputProvincia, idInputPais,poblacion, pais, provincia, poblacion, $("#"+idInputProvincia).val()*1);
}
$("#"+idInputProvincia).change(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 = "Selecciona una ciudad";
}
if(textoLoading == undefined)
{
textoLoading = "Cargando...";
}
var data =
{
idPais: forceIdPais
};
$("#"+idCampoRegion).empty();
$("#"+idCampoRegion).append( "");
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)
{
$("#"+idCampoRegion).val(idRegionPreEstablecida);
}
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 = "Selecciona una localidad";
}
if(textoLoading == undefined)
{
textoLoading = "Cargando...";
}
var data =
{
idPais: forceIdPais,
idRegion: forceIdRegion
};
$("#"+idCampoLocalidad).empty();
$("#"+idCampoLocalidad).append( "");
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).val(idLocalidadPreEstablecida);
}
if(onFinish != undefined && typeof(onFinish) == "function")
{
onFinish();
}
}
});
}
function actualizaCursos(idCampoCurso, idCampoUniversidad, idCursoPreEstablecida, forceIdUniversidad,forceIdCurso, onFinish, textoSelect, textoLoading)
{
if(forceIdUniversidad == undefined)
{
forceIdUniversidad = $("#"+idCampoUniversidad).val();
}
if(forceIdCurso == undefined)
{
forceIdCurso = $("#"+idCampoCurso).val();
}
if(textoSelect == undefined)
{
textoSelect = "Selecciona tu curso";
}
if(textoLoading == undefined)
{
textoLoading = "Cargando...";
}
var data =
{
idUniversidad: forceIdUniversidad,
idCurso: forceIdCurso
};
$("#"+idCampoCurso).empty();
$("#"+idCampoCurso).append( "");
var returned = $.ajax(
{
url: "ajax/Universidad.listadoCursos.php?CSRF="+CSRF,
type: "POST",
dataType : "json",
data : data,
error: function(XMLHttpRequest, textStatus, errorThrown)
{
//ClassBlockUI.abrirBlockUIEstandarMensaje(XMLHttpRequest.responseText, true);
},
success: function(data)
{
$("#"+idCampoCurso).empty();
$("#"+idCampoCurso).append( "");
for(var index in data)
{
$("#"+idCampoCurso).append( "" );
}
if(idCursoPreEstablecida!=undefined)
{
$("#"+idCampoCurso).val(idCursoPreEstablecida);
}
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").size()>0){$("body").addClass("modal-open")}
if(contenedorIDAMostrar == undefined || $("#"+contenedorIDAMostrar).size() == 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").html(data["teAhorras"]);
$("#previewCarritoSubtotal span").html(data["subtotal"]);
$("#previewCarritoIVA span").html(data["IVA"]);
$("#previewCarritoTotal span").html(data["total"]);
$("#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);
}
if (typeof tablatablaTotales !== 'undefined' && tablatablaTotales != null && tablatablaTotales != undefined) {
tablatablaTotales.ajax.reload(null, false);
}
},
actualizaTotales: function ()
{
var transporte = $("input[name=formTransporte]:checked").val();
var pais = $("#formEnvioPais").val();
var provincia = $("#formEnvioProvincia").val();
tablatablaTotales.ajax.url('ajax/TiendaVirtualCarrito.getTotales.php?CSRF='+CSRF+'&pais='+pais+'&provincia='+provincia+"&idTransporte="+transporte).load();
}
};
var ClassTiendaVirtualPedidos =
{
initReactivaClicks: function(){
$(".tooltipStandardHTML").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'bottom', contentAsHTML: true});
$(".tooltipStandard").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'bottom'});
//$(".btnAgregarUnidad").unbind("click");
//$("body").on("click", ".btnAgregarUnidad", function () {
$(".inputCantidadProductoSecundario").unbind("keyup").keyup(function(){
idProducto = $(this).attr("data-id");
cantidadProducto = $(".input_cantidad_"+idProducto).val();
cantidad = cantidadProducto;
ClassTiendaVirtualPedidos.calculaPrecioProducto(idProducto, cantidad);
ClassTiendaVirtualPedidos.compruebaStock($(this), true);
});
$(".btnAgregarUnidad").unbind("click").makeTagLink(function(){
idProducto = $(this).attr("data-id");
cantidadProducto = $(".input_cantidad_"+idProducto).val();
cantidad = parseInt(cantidadProducto)+1;
ClassTiendaVirtualPedidos.calculaPrecioProducto(idProducto, cantidad);
ClassTiendaVirtualPedidos.compruebaStock($(this), true);
});
//$("body").on("click", ".btnQuitarUnidad", function () {
$(".btnQuitarUnidad").unbind("click").makeTagLink(function(){
idProducto = $(this).attr("data-id");
cantidadProducto = $(".input_cantidad_"+idProducto).val();
cantidad = 0;
if(cantidadProducto > 0) {
cantidad = parseInt(cantidadProducto) - 1;
}
ClassTiendaVirtualPedidos.calculaPrecioProducto(idProducto, cantidad);
ClassTiendaVirtualPedidos.compruebaStock($(this), true);
/*
if(cantidadProducto >0)
{
cantidad = parseInt(cantidadProducto)-1;
$(".input_cantidad_"+idProducto).val(cantidad);
precioOferta = $("#precioOfertaTablaProductosSecundarios_"+idProducto).attr("data-preciooferta");
$(".subTotalTablaProductosSecundarios_"+idProducto).html_formated(precioOferta*cantidad, {numberOfDecimals: 2,decimalSeparator: ',',thousandSeparator: '.',symbol: '€'});
}
else if(cantidadProducto == 0)
{
$(".subTotalTablaProductosSecundarios_"+idProducto).html_formated(0, {numberOfDecimals: 2,decimalSeparator: ',',thousandSeparator: '.',symbol: '€'});
}*/
});
},
compruebaStock: function(este, esInput, mostrandoAtributos)
{
return true;
},
calculaPrecioProducto: function(idProducto, cantidad)
{
if(cantidad >0) {
$(".input_cantidad_" + idProducto).val(cantidad);
precioOferta = $("#precioOfertaTablaProductosSecundarios_"+idProducto).attr("data-preciooferta");
$(".subTotalTablaProductosSecundarios_"+idProducto).html_formated(precioOferta*cantidad, {numberOfDecimals: 2,decimalSeparator: ',',thousandSeparator: '.',symbol: '€'});
}
else if(cantidad == 0)
{
$(".input_cantidad_" + idProducto).val(cantidad);
$(".subTotalTablaProductosSecundarios_"+idProducto).html_formated(0, {numberOfDecimals: 2,decimalSeparator: ',',thousandSeparator: '.',symbol: '€'});
}
},
initConfirmarPedido: function(tipoUsuario, opciones_validacion, paisEnvio, provinciaEnvio, poblacionEnvio, paisFacturacion, provinciaFacturacion, poblacionFacturacion, idUsuario)
{
ClassTiendaVirtualPedidos.validacion_pedido=$("#frmCofirmarPedido").validate(opciones_validacion);
$("#btn_confirmar_compra").makeTagLink(function(){ClassTiendaVirtualPedidos.confirmarPedido(tipoUsuario)});
preparaLugar(paisEnvio, provinciaEnvio, poblacionEnvio, "formEnvioPais", "formEnvioProvincia", "formEnvioLocalidad");
//preparaLugar(paisFacturacion, provinciaFacturacion, poblacionFacturacion, "formFacturacionPais", "formFacturacionProvincia", "formFacturacionLocalidad");
$("#copiarDireccionesCarrito").click(function(){
ClassTiendaVirtualPedidos.preparaDirecciones(tipoUsuario)
});
var transporte = $("input[name=formTransporte]:checked").val()*1;
if(idUsuario<=0)
{
ClassTiendaVirtualPedidos.preparaDirecciones(tipoUsuario, transporte == 2 ? undefined : true);
}
else
{
ClassTiendaVirtualPedidos.preparaDirecciones(tipoUsuario, transporte == 2 ? false : true);
}
$(".opcionPago").click(function(){
if(!$(this).hasClass("opcionPagoTransferencia"))
{
$(".transferenciaBancariaInfo").hide();
}
else
{
$(".transferenciaBancariaInfo").show();
}
});
},
preparaDirecciones: function(tipoUsuario, forzarMismosDatos){
var transporte = $("input[name=formTransporte]:checked").val();
var mismosDatos = forzarMismosDatos != undefined ? forzarMismosDatos : $("#copiarDireccionesCarrito").is(":checked");
if(transporte == 2)
{
$("#formDireccionEnvio").css("display", "none");
$(".copiarDirecciones").css("display", "none");
$("#contieneFormDireccionFacturacion").show();
mismosDatos = forzarMismosDatos != undefined ? forzarMismosDatos : false;
}
else
{
$("#formDireccionEnvio").css("display", "flex");
$(".copiarDirecciones").css("display", "block");
$("#contieneFormDireccionFacturacion").hide();
}
if(mismosDatos)
{
$("#formDireccionFacturacion").hide();
}
else
{
$("#formDireccionFacturacion").show();
var elements = ["formFacturacionNombre", "formFacturacionDNI", "formFacturacionTelefono", "formFacturacionDireccion", "formFacturacionCodPostal", "formFacturacionProvincia", "formFacturacionLocalidad"];
for(var index in elements)
{
if($("#"+elements[index]).val() == "")
{
if(!$("#"+elements[index].replace("Facturacion", "Envio")).is("select"))
{
$("#"+elements[index]).val($("#"+elements[index].replace("Facturacion", "Envio")).val())
}
else if($("#"+elements[index].replace("Facturacion", "Envio")).val()>0)
{
$("#"+elements[index]).val($("#"+elements[index].replace("Facturacion", "Envio")).find("option:selected").text())
}
}
}
}
if(tipoUsuario*1 == 1)
{
ClassTiendaVirtualCarrito.actualizaTotales();
}
else
{
ClassTiendaVirtualClienteCarrito.actualizaTotales();
}
},
envioValido: function(esValido)
{
if(esValido)
{
$(".finalizarPedido").show();
}
else
{
$(".finalizarPedido").hide();
ClassBlockUI.abrirBlockUIEstandarMensaje("", true, false);
}
},
confirmarPedido: function(tipoUsuario)
{
if (!$("#frmCofirmarPedido").valid())
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor revisa los campos porque se han detectado los siguientes errores
"+ClassTiendaVirtualPedidos.validacion_pedido.invalidMessages("
"), true, false);
return;
}
var opcionesDatos =
{
url: "ajax/TiendaVirtualPedidos.procesarPedido.php?CSRF="+CSRF+"&tipoUsuario="+tipoUsuario,
type: "POST",
dataType : "json",
data : $("#frmCofirmarPedido").serialize(),
success: function(data)
{
var callbackOK = false;
if(data["error_number"] < 0 )
{
errorMessage="";
var lastError = "";
for(i in data["info"])
{
if(typeof(data["info"][i]) == "function")
continue;
errorMessage+=data["info"][i]+"\r\n";
$("#"+i).focus();
$("#"+i).addClass("error");
lastError = i;
}
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"]+errorMessage, true, false);
}
else
{
gtagPurchase = data["gtagPurchase"];
gtagPurchase["event_callback"] = function() {
if (callbackOK)
{
return;
}
callbackOK = true;
switch(data["forma_pago"]*1)
{
case 1:
{
ClassTiendaVirtualPedidos.pagoBanco();
break;
}
case 2:
{
ClassTiendaVirtualPedidos.pagoPaypal();
break;
}
case 3:
case 5:
default:
{
window.location = data["enlacePedidoRealizado"];
break;
}
}
};
$("#procesaPagoExterno").html(data["formularioFormaPago"]);
gtag('event', 'purchase', gtagPurchase);
}
}
};
ClassBlockUI.abrirBlockUIEsperePorFavor();
$.ajax(opcionesDatos);
},
pagoPaypal:function()
{
ClassBlockUI.abrirBlockUIEsperePorFavor("");
$("#pagoPaypal").submit();
},
pagoBanco:function()
{
ClassBlockUI.abrirBlockUIEsperePorFavor("");
$("#pagoBanco").submit();
}
};
var modalAtributos=false;
var modalMensaje = false;
var ClassTiendaVirtualProductos =
{
actualizaNumProductos:function(idProducto)
{
var num_productos = $(".num_productos:eq(0)").text().replace(/[^0-9]/g, "")*1;
if(num_productos+1 == 1)
{
$(".num_productos").html("1 Producto");
}
else
{
$(".num_productos").html((num_productos+1)+" Productos");
}
},
initAgregarProductoCarrito:function()
{
$("#cantidad").unbind("keyup").keyup(function()
{
ClassTiendaVirtualProductos.actualizarTotal();
});
$("#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.agregarAlCarritoCompruebaAtributos(true, $(this))
});
$(".btnAgregarCarritoListado").unbind("click").makeTagLink(function()
{
ClassTiendaVirtualProductos.agregarAlCarritoCompruebaAtributos(false, $(this))
});
},
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);
console.log(subtotal, subtotal_original,subtotal_sin_iva, subtotal_original_sin_iva);
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]; }
if(!isNaN($("#cantidad").val()*1))
{
$("#productos_detalles_subtotal .tituloPrecioOferta .importeOferta").html_formated(($("#cantidad").val()*subtotal_sin_iva), {numberOfDecimals: 2,decimalSeparator: ',',thousandSeparator: '.',symbol: '€'});
$("#productos_detalles_subtotal_original .tituloPrecio .precio").html_formated(($("#cantidad").val()*subtotal_original_sin_iva), {numberOfDecimals: 2,decimalSeparator: ',',thousandSeparator: '.',symbol: '€'});
$("#productos_detalle_iva_incluido .importeIVAIncluido").html_formated(($("#cantidad").val()*subtotal), {numberOfDecimals: 2,decimalSeparator: ',',thousandSeparator: '.',symbol: '€'});
}
else
{
$("#productos_detalles_subtotal .tituloPrecioOferta .importeOferta").html_formated(subtotal_sin_iva, {symbol: '€'});
$("#productos_detalles_subtotal_original .tituloPrecio .precio").html_formated(subtotal_original_sin_iva, {symbol: '€'});
$("#productos_detalle_iva_incluido .importeIVAIncluido").html_formated(subtotal, {numberOfDecimals: 2,decimalSeparator: ',',thousandSeparator: '.',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-tieneAtributos"); if(mostrandoAtributos || !tieneAtributos)
{
ClassTiendaVirtualProductos.agregarAlCarrito(mostrandoAtributos, este);
}
else
{
ClassTiendaVirtualProductos.mostrarAtributosParaAgregarAlCarrito(este);
}
},
mostrarAtributosParaAgregarAlCarrito: function(este){
idProducto = este.attr("data-idProducto");
var opcionesDatos =
{
type:"POST",
dataType:"json",
url:"ajax/TiendaVirtualCarrito.seleccionaAtributos.php?CSRF="+CSRF,
data:
{
idProducto: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
{
modalAtributos=ClassBlockUI.abrirBlockUIEstandar("selectAtributos", undefined, "");
var seleccionaAtributos = "
";
for(var idAtributo in data["atributos"])
{
seleccionaAtributos+='';
seleccionaAtributos+='';
}
seleccionaAtributos+='
';
$("#btnCatalogoComprarAgregarAhoraAtributos").attr("data-idProducto", idProducto);
$("#btnCatalogoComprarAgregarAhoraAtributos").attr("data-tieneatributos", 1);
$("#frmSeleccionaAtributos").html(seleccionaAtributos);
}
}
}
};
$.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-idProducto");
var tieneAtributos = este.attr("data-tieneatributos");
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;
if(!mostrandoAtributos)
{
data["cantidad"] = 1; //porque estamos agregando desde el listado del producto
}
else
{
data["cantidad"] = $("#cantidad").val();
}
var opcionesDatos =
{
type:"POST",
dataType:"json",
url:"ajax/TiendaVirtualCarrito.agregar.php?CSRF="+CSRF,
data: data,
success: function(data, textStatus, XMLHttpRequest)
{
if(data["error_number"]<0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false);
}
else
{
//ClassBlockUI.abrirBlockUIEstandar("productoAgregado", undefined, "Producto añadido al carrito")
//Actualiza el numero del carrito
if(data["actualizaNumProductos"])
{
ClassTiendaVirtualProductos.actualizaNumProductos($("#idProducto").val());
}
//Borrarmos los atributos temporales
$("#frmSeleccionaAtributos").html("");
if(modalAtributos)
{
modalAtributos.modal("hide");
}
ClassTiendaVirtualClienteProductos.actualizarPreviewCarrito(data);
if(modalMensaje) {
modalMensaje.modal("hide");
}
// modalAtributos.modal("hide");
$.notify(
{
title: "
Aviso: ",
message: data["error_message"],
},
{
placement: {
from: "top",
align: "center"
},
delay: 10000
});
//ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false);
$(".listadoProductosCarrito").html(data["datosCarrito"]);
$(".precioBloqueCarrito").html(data["total"]);
$(".iconoEliminarCarritoBloque").unbind("click").makeTagLink(function(){ClassTiendaVirtualCarrito.mostrarMensajeBorrarCarrito($(this),2)});
$(".tooltipStandardHTML").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'bottom', contentAsHTML: true});
}
}
};
$.ajax(opcionesDatos);
modalMensaje = ClassBlockUI.abrirBlockUIEsperePorFavor();
}
},
actualizarPreviewCarrito: function (data) {
$(".numProductosCarrito").addClass("carritoBlink").show();
setTimeout( function(){$(".numProductosCarrito").removeClass("carritoBlink") }, 2000);
$(".numProductosCarrito").html(data["numProductos"]);
$("#previewCarritoProductos").html(data["productos"]);
$("#previewCarritoAhorras span, #teAhorrasCarrito span").html(data["teAhorras"]);
$("#previewCarritoSubtotal span").html(data["subtotal"]);
$("#previewCarritoIVA span").html(data["IVA"]);
$("#previewCarritoTotal span").html(data["total"]);
$("#previewCarritoEnvioTitulo").html(data["textoEnvio"]);
$("#previewCarritoEnvioProgreso span").css("width", data["progreso"]+"%");
if (typeof tablatablaCarrito !== 'undefined' && tablatablaCarrito != null && tablatablaCarrito != undefined) {
tablatablaCarrito.ajax.reload(null, false);
ClassTiendaVirtualCarrito.actualizaTotales();
}
},
};
var ClassUsuarios =
{
initModificarDatosPerfil: function(opciones_validacion, opciones_validacion_modificar_password, provinciaEnvio, poblacionEnvio, provinciaFacturacion, poblacionFacturacion, idUniversidad, idCurso)
{
ClassUsuarios.validacionModificarPassword=$("#frmModificarContrasena").validate(opciones_validacion_modificar_password);
$(".btnModificarDatosPassword").unbind("click").makeTagLink(ClassUsuarios.modificarDatosPassword);
ClassUsuarios.validacionModificarDatosPerfil=$("#frmModificarDatosPerfil").validate(opciones_validacion);
$(".btnGuardarDatos").unbind("click").makeTagLink(ClassUsuarios.modificarDatosPerfil);
preparaLugar(28, provinciaEnvio, poblacionEnvio, "form_pais_envio", "form_provincia_envio", "form_poblacion_envio");
//preparaLugar(28, provinciaFacturacion, poblacionFacturacion, "form_pais_facturacion", "form_provincia_facturacion", "form_poblacion_facturacion");
if(idUniversidad > 0)
{
actualizaCursos("form_idCurso", "form_idUniversidad", idCurso, idUniversidad,idCurso);
}
$("#form_idUniversidad").unbind("change").change(function()
{
actualizaCursos("form_idCurso", "form_idUniversidad", $("#form_idCurso").val(), $("#form_idUniversidad").val(),idCurso);
});
$("#form_registro_copiar_direccion").click(function()
{
ClassUsuarios.actualizarDatos(true);
});
},
actualizarDatos:function(actualidarSelects)
{
if ($("#form_registro_copiar_direccion").val()==1)
{
$("#direccion_de_entrega_envio input").each(function()
{
if($(this).attr("id") == "form_pais_envio")
{
return;
}
$("#"+$(this).attr("id").replace("envio","facturacion")).val($(this).val());
});
$("#direccion_de_entrega_envio select").each(function()
{
if($(this).attr("id") == "form_pais_envio")
{
return;
}
$("#"+$(this).attr("id").replace("envio","facturacion")).val($(this).children("option:checked").html());
});
//actualizar los paises, regiones y ciudades, y dejar marcado el que corresponda
//actualizaPaises("form_pais_facturacion", $("#form_pais_envio").val(), false, true);
/*$("#form_pais_facturacion").val($("#form_pais_envio").val());
if(actualidarSelects)
{
actualizaProvincias("form_provincia_facturacion", "form_pais_facturacion", $("#form_provincia_envio").val(), false, false, false);
actualizaCiudades("form_poblacion_facturacion", "form_provincia_facturacion", "form_pais_facturacion", $("#form_poblacion_envio").val(),$("#form_pais_envio").val(),$("#form_provincia_envio").val(),$("#form_poblacion_envio").val());
} */
//$("#frmModificarDatosPerfil").valid();
//$(".datosFacturacionRegistro").css("display","none");
}
else
{
$("#direccion_de_entrega_facturacion input, #direccion_de_entrega_facturacion select").each(function()
{
$("#"+$(this).attr("id").replace("envio","facturacion")).removeAttr("readonly").removeClass("readonly");
});
//$(".datosFacturacionRegistro").css("display","flex");
}
},
modificarDatosPerfil:function()
{
if (!$("#frmModificarDatosPerfil").valid())
{
//ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor revisa los campos porque se han detectado los siguientes errores
"+ClassUsuarios.validacionModificarDatosPerfil.invalidMessages("
"), true, false);
var errores = "Por favor, revisa los campos marcados en distinto color.";
ClassBlockUI.abrirBlockUIEstandarMensaje(errores,true);
return;
}
var opcionesDatos =
{
url: "ajax/Usuarios.modificarDatos.php?CSRF="+CSRF,
type: "POST",
dataType : "json",
data : $("#frmModificarDatosPerfil").serialize(),
success: function(data)
{
if(data["error_number"] < 0 )
{
errorMessage="";
var lastError = "";
for(i in data["info"])
{
if(typeof(data["info"][i]) == "function")
continue;
errorMessage+=data["info"][i]+"\r\n";
//$("#"+i).focus();
lastError = i;
}
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"]+errorMessage, true, false);
}
else
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true);
// $(".cropImgWrapper img, #imagenPerfilToCrop img").attr("src", $(".img_registroPredeterminada").attr("src"));
// if(idFotoPerfil>0)
// {
// $('.img_registroPredeterminada').attr("data-id", idFotoPerfil);
//}
}
}
}
ClassBlockUI.abrirBlockUIEsperePorFavor();
$.ajax(opcionesDatos);
},
modificarDatosPassword: function()
{
if (!$("#frmModificarContrasena").valid())
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor revisa los campos porque se han detectado los siguientes errores
"+ClassUsuarios.validacionModificarPassword.invalidMessages("
"), true, false);
return;
}
var opcionesDatos =
{
url: "ajax/Usuarios.modificarPassword.php?CSRF="+CSRF,
type: "POST",
dataType : "json",
data : $("#frmModificarContrasena").serialize(),
success: function(data)
{
if(data["error_number"] < 0 )
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false);
}
else
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, "location");
}
}
};
ClassBlockUI.abrirBlockUIEsperePorFavor();
$.ajax(opcionesDatos);
},
guardaClaveOlvidoPass: function ()
{
if(!$("#form_olvido").valid())
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor revisa los campos porque se han detectado los siguientes errores
"+validacion.invalidMessages("
"), true, false);
return;
}
var opciones=
{
url: "ajax/Usuarios.guardaClave.php?CSRF="+CSRF,
type: "POST",
dataType : "json",
data: $("#form_olvido").serialize(),
success: function(data, textStatus, XMLHttpRequest)
{
if (data["error_number"]<0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false);
}
else
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, function(){window.location="/index.php"});
}
}
};
$.ajax(opciones);
ClassBlockUI.abrirBlockUIEsperePorFavor();
},
enviarOlvido: function()
{
var validation = $("#frmEnviarOlvido").valid();
if(!validation)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor revisa los campos porque se han detectado los siguientes errores
"+validacion.invalidMessages("
"), true, false);
return;
}
var opcionesDatos =
{
type:"POST",
dataType:"json",
url:"ajax/Usuarios.olvidarContrasena.php", data: $("#frmEnviarOlvido").serialize(),
success: function(data, textStatus, XMLHttpRequest)
{
if(data["error_number"]*1 == 0)
{
$("#frmEnviarOlvido").clearForm();
//window.location = "index.php";
}
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false);
}
};
$.ajax(opcionesDatos);
ClassBlockUI.abrirBlockUIEsperePorFavor();
}
};
var ClassCursoUniversidadCarrito=
{
init:function()
{
$(".btnAgregarCarritoCursoUniversidad").unbind("click").makeTagLink(function(){ClassCursoUniversidadCarrito.agregarUniversidadCursoCarrito($(this))});
$(".btnAbreEnviarPresupuesto").makeTagLink(function(){ClassCursoUniversidadCarrito.abreEnviarPDFPresupuesto($(this))});
},
agregarUniversidadCursoCarrito:function(e)
{
idUniversidadCurso = e.attr("data-idUniversidadCurso");
ClassBlockUI.abrirBlockUIEsperePorFavor();
$.ajax(
{
url: "ajax/UniversidadCursoCarrito.agregarProductos.php?idUniversidadCurso="+idUniversidadCurso+"&CSRF="+CSRF,
type: "POST",
dataType : "json",
success: function(data)
{
if(data["error_number"] < 0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true);
}
else
{
window.location = "/es/estudiantes/tienda-carrito.html";
}
}
});
//cargar de nuevo el carrito si esta abierto
},
abreEnviarPDFPresupuesto:function(e)
{
// event.preventDefault();
//console.log(e.attr("data-idUniversidadCurso"));
ClassBlockUI.abrirBlockUIEstandar("bloqueEnviarPresupuesto", undefined, "Envia presupuesto en pdf");
$("#idUniversidadCurso").val(e.attr("data-iduniversidadcurso"));
}
};
var ClassTiendaVirtualClienteCarrito=
{
initReactivaClicks:function()
{
ClassTiendaVirtualClienteCarrito.refrescarTabla();
$("body").on("click", ".btnCarrito", function()
{
$(".overlay, #previewCarrito").addClass("active");
$("html, body").addClass("no-scroll");
});
$("#previewCarrito").on("click", "#previewCarritoCerrar", function()
{
$(".overlay, #previewCarrito").removeClass("active");
$("html, body").removeClass("no-scroll");
});
$("body").on("click", ".itemCarritoMas", function () {
var input = $(this).parent().find("input");
var form = $(this).parents("form").attr("id");
var cantidad = $(input).val();
var nuevaCantidad = 1;
if (!isNaN(cantidad)) {
nuevaCantidad = cantidad*1+1;
}
$(input).val(nuevaCantidad);
if (cantidad != nuevaCantidad)
ClassTiendaVirtualClienteCarrito.actualizar("#"+form);
});
$("body").on("click", ".itemCarritoMenos", function () {
var input = $(this).parent().find("input");
var form = $(this).parents("form").attr("id");
var cantidad = $(input).val();
var nuevaCantidad = 1;
if (!isNaN(cantidad) && cantidad > 1) {
nuevaCantidad = cantidad*1-1;
}
$(input).val(nuevaCantidad);
if (cantidad != nuevaCantidad)
ClassTiendaVirtualClienteCarrito.actualizar("#"+form);
});
$("body").on("click", ".itemPreviewCarritoEliminar, .itemCarritoEliminar", function () {ClassTiendaVirtualClienteCarrito.eliminarLineaProducto($(this).attr("data-id"))});
//$(".iconoEliminarCarrito, .btnActualizarCantidades").tooltipster({animation: 'grow',interactive:true, position:'bottom'});
//$(".iconoEliminarCarrito").unbind("click").makeTagLink(function(){ClassTiendaVirtualClienteCarrito.mostrarMensajeBorrarCarrito($(this),1)});
//$(".iconoEliminarCarritoBloque").unbind("click").makeTagLink(function(){ClassTiendaVirtualClienteCarrito.mostrarMensajeBorrarCarrito($(this),2)});
//$(".actualizar_cantidad").unbind("keyup input").bind('keyup input', function(){ClassTiendaVirtualClienteCarrito.cantidadModificada($(this))});
//$(".btn_actualizar").unbind("click").makeTagLink(function(){ClassTiendaVirtualClienteCarrito.actualizar()});
},
refrescarTabla: function ()
{
$(".tooltipStandardHTML").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'bottom', contentAsHTML: true});
$(".tooltipStandard").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'bottom', contentAsHTML: true});
},
mostrarMensajeBorrarCarrito: function(e, tipo)
{
ClassBlockUI.abrirBlockUIConfirm("¿Estás seguro de que deseas borrar este producto de tu compra?", "Confirmar",
function(){
if(tipo==1)
{
ClassTiendaVirtualClienteCarrito.eliminarProductoCarrito(e);
}
else
{
ClassTiendaVirtualClienteCarrito.eliminarProductoCarritoBloque(e);
}
}, "Cancelar");
},
eliminarProductoCarrito:function(e)
{
var idProducto = e.attr("data-idCarrito");
if(isNaN(idProducto))
return;
$("#actualizar_cantidad_"+idProducto).val(0);
ClassTiendaVirtualClienteCarrito.actualizar();
},
eliminarProductoCarritoBloque:function(e)
{
var idProducto = e.attr("data-idCarrito");
if(isNaN(idProducto))
return;
ClassTiendaVirtualClienteCarrito.eliminarLineaProducto(idProducto);
},
cantidadModificada:function(e)
{
var idProducto = e.attr("data-idCarrito");
if(isNaN(idProducto))
return;
$("input[name='actualizar_cantidad_"+idProducto+"']").each(function(){$(this).val(e.val())});
//$("#actualizar_cantidad_"+idProducto).val(e.val());
ClassTiendaVirtualClienteCarrito.cantidadModificadaActualizarInfo(idProducto);
},
cantidadModificadaActualizarInfo:function(idProducto)
{
if(!$("#cantidades").valid())
return;
$(".pvpMostrarTotal[data-id="+idProducto+"]").each(function(){$(this).html("-");});
$(".total_compra_numero").html(" - ");
$(".btnActualizarCantidades[data-idCarrito="+idProducto+"]").each(function(){$(this).removeClass("ocultarActualizarCantidades")});
$(".btnActualizarCantidades").unbind("click").makeTagLink(function(){ClassTiendaVirtualClienteCarrito.actualizar()});
$("#btn_comprar").addClass("hidden");
},
actualizar: function(idFormulario)
{
idFormulario = idFormulario == undefined ? "#cantidades" : idFormulario;
if(!$(idFormulario).valid())
{
ClassBlockUI.abrirBlockUIEstandarMensaje("", true);
return;
}
ClassBlockUI.abrirBlockUIEsperePorFavor();
$.ajax(
{
url: "ajax/TiendaVirtualCarrito.actualizarCantidades.php?tipoUsuario=2",
type: "POST",
dataType : "json",
data : $(idFormulario).serialize(),
success: function(data)
{
if(data["error_number"] < 0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true);
}
else
{
ClassTiendaVirtualClienteCarrito.actualizarPreviewCarrito(data);
$(".modal").modal("hide");
//window.location = window.location;
}
}
});
//cargar de nuevo el carrito si esta abierto
},
eliminarLineaProducto:function(idProducto)
{
$.ajax(
{
url: "ajax/TiendaVirtualCarrito.eliminarProducto.php?tipoUsuario=2&idProducto="+idProducto,
type: "POST",
dataType : "json",
success: function(data)
{
if(data["error_number"] < 0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true);
}
else
{
ClassTiendaVirtualClienteCarrito.actualizarPreviewCarrito(data);
$(".modal").modal("hide");
//window.location = window.location;
}
}
});
ClassBlockUI.abrirBlockUIEsperePorFavor();
//cargar de nuevo el carrito si esta abierto
},
renderTablaCarrito: function(data, type, row, meta){
if(type === 'display'){
var api = new $.fn.dataTable.Api(meta.settings);
var $el = $('input, select, textarea', api.cell({ row: meta.row, column: meta.col }).node());
//var $html = $(data).wrap('
').parent();
var $html = $("
").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").html(data["teAhorras"]);
$("#previewCarritoSubtotal span").html(data["subtotal"]);
$("#previewCarritoIVA span").html(data["IVA"]);
$("#previewCarritoTotal span").html(data["total"]);
$("#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);
}
if (typeof tablatablaTotales !== 'undefined' && tablatablaTotales != null && tablatablaTotales != undefined) {
tablatablaTotales.ajax.reload(null, false);
}
},
actualizaTotales: function ()
{
var transporte = $("input[name=formTransporte]:checked").val();
var pais = $("#formEnvioPais").val();
var provincia = $("#formEnvioProvincia").val();
tablatablaTotales.ajax.url('ajax/TiendaVirtualCarrito.getTotales.php?tipoUsuario=2&CSRF='+CSRF+'&pais='+pais+'&provincia='+provincia+"&idTransporte="+transporte).load();
}
};
var modalAtributos=false;
var modalMensaje = false;
var ClassTiendaVirtualClienteProductos =
{
actualizaNumProductos:function(idProducto)
{
var num_productos = $(".num_productos:eq(0)").text().replace(/[^0-9]/g, "")*1;
if(num_productos+1 == 1)
{
$(".num_productos").html("1 Producto");
}
else
{
$(".num_productos").html((num_productos+1)+" Productos");
}
},
initAgregarProductoCarrito:function()
{
$("#cantidad").unbind("keyup").keyup(function()
{
ClassTiendaVirtualClienteProductos.actualizarTotal();
});
$("#cantidad").pressEnter(function(){
return;
});
$(".ficha_producto_atributos select").change(function()
{
ClassTiendaVirtualClienteProductos.actualizarTotal($(this).attr("id"), $(this).find("option:selected").attr("data-suplemento")*1);
});
$(".btnAgregarCarrito").unbind("click").makeTagLink(function()
{
ClassTiendaVirtualClienteProductos.agregarAlCarritoCompruebaAtributos(true, $(this))
});
$(".btnAgregarCarritoListado").unbind("click").makeTagLink(function()
{
ClassTiendaVirtualClienteProductos.agregarAlCarritoCompruebaAtributos(false, $(this))
});
},
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);
//console.log(subtotal, subtotal_original,subtotal_sin_iva, subtotal_original_sin_iva);
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]; }
if(!isNaN($("#cantidad").val()*1))
{
$("#productos_detalles_subtotal .tituloPrecioOferta .importeOferta").html_formated(($("#cantidad").val()*subtotal_sin_iva), {numberOfDecimals: 2,decimalSeparator: ',',thousandSeparator: '.',symbol: '€'});
$("#productos_detalles_subtotal_original .tituloPrecio .precio").html_formated(($("#cantidad").val()*subtotal_original_sin_iva), {numberOfDecimals: 2,decimalSeparator: ',',thousandSeparator: '.',symbol: '€'});
$("#productos_detalle_iva_incluido .importeIVAIncluido").html_formated(($("#cantidad").val()*subtotal), {numberOfDecimals: 2,decimalSeparator: ',',thousandSeparator: '.',symbol: '€'});
}
else
{
$("#productos_detalles_subtotal .tituloPrecioOferta .importeOferta").html_formated(subtotal_sin_iva, {symbol: '€'});
$("#productos_detalles_subtotal_original .tituloPrecio .precio").html_formated(subtotal_original_sin_iva, {symbol: '€'});
$("#productos_detalle_iva_incluido .importeIVAIncluido").html_formated(subtotal, {numberOfDecimals: 2,decimalSeparator: ',',thousandSeparator: '.',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-tieneAtributos"); if(mostrandoAtributos || !tieneAtributos)
{
ClassTiendaVirtualClienteProductos.agregarAlCarrito(mostrandoAtributos, este);
}
else
{
ClassTiendaVirtualClienteProductos.mostrarAtributosParaAgregarAlCarrito(este);
}
},
mostrarAtributosParaAgregarAlCarrito: function(este){
idProducto = este.attr("data-idProducto");
var opcionesDatos =
{
type:"POST",
dataType:"json",
url:"ajax/TiendaVirtualCarrito.seleccionaAtributos.php?CSRF="+CSRF,
data:
{
idProducto: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)
{
ClassTiendaVirtualClienteProductos.agregarAlCarrito(false, este);
}
else
{
modalAtributos=ClassBlockUI.abrirBlockUIEstandar("selectAtributos", undefined, "");
var seleccionaAtributos = "
";
for(var idAtributo in data["atributos"])
{
seleccionaAtributos+='';
seleccionaAtributos+='';
}
seleccionaAtributos+='
';
$("#btnCatalogoComprarAgregarAhoraAtributos").attr("data-idProducto", idProducto);
$("#btnCatalogoComprarAgregarAhoraAtributos").attr("data-tieneatributos", 1);
$("#frmSeleccionaAtributos").html(seleccionaAtributos);
}
}
}
};
$.ajax(opcionesDatos);
ClassBlockUI.abrirBlockUIEsperePorFavor();
},
agregarAlCarrito: function(mostrandoAtributos, este, comprobarStock)
{
if(!usuarioIdentificado && !1)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Tienes que identificarse para poder añadir el producto al carrito", true, false);
}
else
{
if(comprobarStock == true || comprobarStock == undefined) {
if (!ClassTiendaVirtualPedidos.compruebaStock(este, false, mostrandoAtributos)) {
return;
}
}
este = $(este);
var idProducto = este.attr("data-idProducto");
var tieneAtributos = este.attr("data-tieneatributos");
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;
if(!mostrandoAtributos)
{
data["cantidad"] = 1; //porque estamos agregando desde el listado del producto
}
else
{
data["cantidad"] = $("#cantidad").val();
}
var formData = new FormData($('#formProductosSecundarios')[0]);
var opcionesDatos =
{
type:"POST",
dataType:"json",
url:"ajax/TiendaVirtualClienteCarrito.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
{
//ClassBlockUI.abrirBlockUIEstandar("productoAgregado", undefined, "Producto añadido al carrito")
//Actualiza el numero del carrito
if(data["actualizaNumProductos"])
{
ClassTiendaVirtualClienteProductos.actualizaNumProductos($("#idProducto").val());
}
//Borrarmos los atributos temporales
$("#frmSeleccionaAtributos").html("");
if(modalAtributos)
{
modalAtributos.modal("hide");
}
ClassTiendaVirtualClienteProductos.actualizarPreviewCarrito(data);
if(modalMensaje) {
modalMensaje.modal("hide");
}
// modalAtributos.modal("hide");
$.notify(
{
title: "
Aviso: ",
message: data["error_message"],
},
{
placement: {
from: "top",
align: "center"
},
delay: 10000,
//timer: 100000
});
//ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false);
$(".listadoProductosCarrito").html(data["datosCarrito"]);
$(".precioBloqueCarrito").html(data["total"]);
$(".iconoEliminarCarritoBloque").unbind("click").makeTagLink(function(){ClassTiendaVirtualCarrito.mostrarMensajeBorrarCarrito($(this),2)});
$(".tooltipStandardHTML").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'bottom', contentAsHTML: true});
}
}
};
$.ajax(opcionesDatos);
modalMensaje = ClassBlockUI.abrirBlockUIEsperePorFavor();
}
},
actualizarPreviewCarrito: function (data) {
$(".numProductosCarrito").addClass("carritoBlink").show();
setTimeout( function(){$(".numProductosCarrito").removeClass("carritoBlink") }, 2000);
$(".numProductosCarrito").html(data["numProductos"]);
$("#previewCarritoProductos").html(data["productos"]);
$("#previewCarritoAhorras span, #teAhorrasCarrito span").html(data["teAhorras"]);
$("#previewCarritoSubtotal span").html(data["subtotal"]);
$("#previewCarritoIVA span").html(data["IVA"]);
$("#previewCarritoTotal span").html(data["total"]);
$("#previewCarritoEnvioTitulo").html(data["textoEnvio"]);
$("#previewCarritoEnvioProgreso span").css("width", data["progreso"]+"%");
if (typeof tablatablaCarrito !== 'undefined' && tablatablaCarrito != null && tablatablaCarrito != undefined) {
tablatablaCarrito.ajax.reload(null, false);
ClassTiendaVirtualClienteCarrito.actualizaTotales();
}
},
};