$(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 = ''+ ''; $("body").append(message); var modal = $("#"+blockUIId); modal.find(".modal-body").append(node); $("#"+contenedorIDAMostrar).show(); modal.find(".modal-dialog").addClass("zoomInDown"); modal.modal({backdrop: false}); modal.on('hidden.bs.modal', function () { ClassBlockUI.restaurarElemento(); }) if(accionCerrar==undefined) //boton cerrar tiene accion por defecto { $("#"+blockUIId+" .btnCerrarModalEquis").makeTagLink(function(){ modal.modal("hide"); if($(".modal").size()>0){$("body").addClass("modal-open")} }); } else if(accionCerrar==false) //oculta el boton cerrar { $("#"+blockUIId+" .btnCerrarModalEquis").hide(); } else //boton cerrar con accion especial { $("#"+blockUIId+" .btnCerrarModalEquis").makeTagLink(accionCerrar); } return modal; }, abrirBlockUIEstandarMensaje: function(mensaje, isAlertOrButtons, onClose, extraClass) { $(".modalAutoHide").modal("hide"); if($(".modal").size()>0){$("body").addClass("modal-open")} var blockUIId="blockUI_"+new Date().getTime(); extraClass = extraClass == null || extraClass == undefined ? "" : extraClass; //modal-lg if(isAlertOrButtons==undefined) isAlertOrButtons=false; if(onClose==undefined) onClose=false; var botonera = ""; var botoneraEspecial = false; if(isAlertOrButtons === false) { botonera = ""; } else if (isAlertOrButtons === true) { botonera = "
Aceptar
"; } else { botoneraEspecial = true; botonera = "
"; for(var index in isAlertOrButtons) { botonera += " "+isAlertOrButtons[index]["text"]+" "; } botonera += "
"; } var message = ''; message += ''; $("body").append(message); var modal = $("#"+blockUIId); modal.find(".modal-dialog").addClass("zoomInDown"); modal.modal({backdrop: false}); modal.on('hidden.bs.modal', function () { modal.remove(); }) //Acciones de los botones especiales if(botoneraEspecial) { for(var index in isAlertOrButtons) { if(isAlertOrButtons[index]["action"] == "close") { isAlertOrButtons[index]["action"] = function(){ modal.modal("hide"); if($(".modal").size()>0){$("body").addClass("modal-open")} }; } $("#"+blockUIId+" ."+index).unbind("click").makeTagLink(isAlertOrButtons[index]["action"]); } } var fnOnClose; if(onClose==false) { fnOnClose = function(){ modal.modal("hide"); if($(".modal").size()>0){$("body").addClass("modal-open")} }; } else if (typeof onClose === "function") { fnOnClose = function(){onClose()}; } else if (onClose == "location") { fnOnClose = function(){window.location.reload()}; } else if (onClose == "back") { fnOnClose = function(){history.go(-1);}; } else { if(onClose.indexOf("/") !=0 && onClose.indexOf("http") !=0) { onClose = "/"+onClose; } fnOnClose = function(){window.location = onClose}; } $("#"+blockUIId+" .btnCerrarBlockUIAlert, #"+blockUIId+" .btnCerrarModalEquis").unbind("click").makeTagLink(fnOnClose); return modal; }, abrirBlockUIConfirm: function(mensaje, textoAceptar, accionAceptar, textoCancelar, accionCancelar) { accionCancelar = accionCancelar == undefined ? "close" : accionCancelar; var buttons = { "btnAceptarBUI_CONFIRM": { "text": textoAceptar, "action": accionAceptar }, "btnCancelarBUI_CONFIRM": { "text": textoCancelar, "action": accionCancelar } }; return ClassBlockUI.abrirBlockUIEstandarMensaje(mensaje, buttons, false, ""); }, abrirBlockUIEsperePorFavor: function(mensaje) { if(mensaje == undefined){ mensaje = "
Loading ... Espera por favor...
"; }; return ClassBlockUI.abrirBlockUIEstandarMensaje(mensaje, undefined, false, "modalStandard modalEspere"); } }; var ClassDirecciones = { initModificarDirecciones: function(opciones_validacion, tipoUsuario) { ClassUsuarios.validacionModificarDatos = $("#formModificarDatos").validate(opciones_validacion); ClassDirecciones.tipoUsuario = tipoUsuario; $("#guardarDatos").unbind("click").makeTagLink(ClassDirecciones.guardarDirecciones); $("#form_compra_copiar_direccion").change(function() { if($("#form_compra_copiar_direccion").val()*1 == 1) { $("#datosFacturacion").addClass("d-none"); $("#textoFacturacion").removeClass("d-none"); /*var bloqueID = "datosEntrega"; var nombre = $("#"+bloqueID+" .nombreDireccion").html(); var nif = $("#"+bloqueID+" .nifDireccion").html(); var telefono = $("#"+bloqueID+" .telefonoDireccion").html(); var direccion = $("#"+bloqueID+" .direccionDireccion").html(); var cp = $("#"+bloqueID+" .codigoPostalDireccion").html(); var poblacionID = $("#"+bloqueID+" .poblacionDireccion").attr("data-id"); var provinciaID = $("#"+bloqueID+" .provinciaDireccion").attr("data-id"); var poblacion = $("#"+bloqueID+" .poblacionDireccion").html(); var provincia = $("#"+bloqueID+" .provinciaDireccion").html(); bloqueID = "datosFacturacion"; $("#"+bloqueID+" .nombreDireccion").html(nombre); $("#"+bloqueID+" .nifDireccion").html(nif); $("#"+bloqueID+" .telefonoDireccion").html(telefono); $("#"+bloqueID+" .direccionDireccion").html(direccion); $("#"+bloqueID+" .codigoPostalDireccion").html(cp); $("#"+bloqueID+" .poblacionDireccion").attr("data-id",poblacionID); $("#"+bloqueID+" .provinciaDireccion").attr("data-id",provinciaID); $("#"+bloqueID+" .poblacionDireccion").html(poblacion); $("#"+bloqueID+" .provinciaDireccion").html(provincia);*/ } else { $("#textoFacturacion").addClass("d-none"); $("#datosFacturacion").removeClass("d-none"); } }); $(".modificarDatos").unbind("click").makeTagLink(function(){ var bloqueID = $(this).parents(".padreDatos").attr("id"); var tipo = $(this).attr("data-id"); var nombre = $("#"+bloqueID+" .nombreDireccion").html(); var razonSocial = $("#"+bloqueID+" .razonSocial").html(); var nif = $("#"+bloqueID+" .nifDireccion").html(); var telefono = $("#"+bloqueID+" .telefonoDireccion").html(); var direccion = $("#"+bloqueID+" .direccionDireccion").html(); var cp = $("#"+bloqueID+" .codigoPostalDireccion").html(); var poblacion = $("#"+bloqueID+" .poblacionDireccion").attr("data-id"); var provincia = $("#"+bloqueID+" .provinciaDireccion").attr("data-id"); var pais = $("#"+bloqueID+" .paisDireccion").attr("data-id"); ClassDirecciones.setDatosForm(tipo,nombre,razonSocial,nif,telefono,direccion,cp,poblacion,provincia,pais,tipoUsuario); ClassBlockUI.abrirBlockUIEstandar("modificarDatos", undefined, tipo == 1 ? "Modificar datos de entrega" : "Modificar datos de facturación", "modal-md") }); }, guardarDirecciones: function() { if(!$("#formModificarDatos").valid()) { ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor revisa los campos porque se han detectado los siguientes errores

"+ClassUsuarios.validacionModificarDatos.invalidMessages("
"), true, false); return; } var opcionesDatos = { url: "ajax/Direcciones.modificarDatos.php?CSRF="+CSRF+"&tipoUsuario="+ClassDirecciones.tipoUsuario, type: "POST", dataType : "json", data : $("#formModificarDatos").serialize(), success: function(data) { if(data["error_number"]*1 >= 0) { window.location = window.location; } else { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false); } } } ClassBlockUI.abrirBlockUIEsperePorFavor(); $.ajax(opcionesDatos); }, setDatosForm: function(tipo,nombre,razonSocial,nif,telefono,direccion,cp,poblacion,provincia,pais, tipoUsuario) { $("#formModificarDatos #form_tipo").val(tipo); $("#formModificarDatos #form_nombre").val(nombre); $("#formModificarDatos #form_razonSocial").val(razonSocial); $("#formModificarDatos #form_dni").val(nif); $("#formModificarDatos #form_telefono").val(telefono); $("#formModificarDatos #form_direccion").val(direccion); $("#formModificarDatos #form_codigo_postal").val(cp); if(tipo == 1) { $("#formModificarDatos #form_pais").val(pais); $("#datosFormEnvio").show(0); $("#datosFormFact").hide(0); preparaLugar(pais, provincia, poblacion, "form_pais", "form_provincia", "form_poblacion"); } else { $("#formModificarDatos #form_dir_pais").val(pais); $("#formModificarDatos #form_dir_provincia").val(provincia); $("#formModificarDatos #form_dir_poblacion").val(poblacion); $("#datosFormEnvio").hide(0); $("#datosFormFact").show(0); } /*$("#formModificarDatos #form_poblacion").val(poblacion); $("#formModificarDatos #form_provincia").val(provincia);*/ } }; var ClassTiendaVirtualCarrito= { initReactivaClicks:function() { ClassTiendaVirtualCarrito.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) ClassTiendaVirtualCarrito.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) ClassTiendaVirtualCarrito.actualizar("#"+form); }); $("body").on("click", ".itemPreviewCarritoEliminar, .itemCarritoEliminar", function () {ClassTiendaVirtualCarrito.eliminarLineaProducto($(this).attr("data-id"))}); //$(".iconoEliminarCarrito, .btnActualizarCantidades").tooltipster({animation: 'grow',interactive:true, position:'bottom'}); //$(".iconoEliminarCarrito").unbind("click").makeTagLink(function(){ClassTiendaVirtualCarrito.mostrarMensajeBorrarCarrito($(this),1)}); //$(".iconoEliminarCarritoBloque").unbind("click").makeTagLink(function(){ClassTiendaVirtualCarrito.mostrarMensajeBorrarCarrito($(this),2)}); //$(".actualizar_cantidad").unbind("keyup input").bind('keyup input', function(){ClassTiendaVirtualCarrito.cantidadModificada($(this))}); //$(".btn_actualizar").unbind("click").makeTagLink(function(){ClassTiendaVirtualCarrito.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) { ClassTiendaVirtualCarrito.eliminarProductoCarrito(e); } else { ClassTiendaVirtualCarrito.eliminarProductoCarritoBloque(e); } }, "Cancelar"); }, eliminarProductoCarrito:function(e) { var idProducto = e.attr("data-idCarrito"); if(isNaN(idProducto)) return; $("#actualizar_cantidad_"+idProducto).val(0); ClassTiendaVirtualCarrito.actualizar(); }, eliminarProductoCarritoBloque:function(e) { var idProducto = e.attr("data-idCarrito"); if(isNaN(idProducto)) return; ClassTiendaVirtualCarrito.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()); ClassTiendaVirtualCarrito.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(){ClassTiendaVirtualCarrito.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", type: "POST", dataType : "json", data : $(idFormulario).serialize(), success: function(data) { if(data["error_number"] < 0) { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); } else { ClassTiendaVirtualCarrito.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?idProducto="+idProducto, type: "POST", dataType : "json", success: function(data) { if(data["error_number"] < 0) { ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true); } else { ClassTiendaVirtualCarrito.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?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(); } }, };