$(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": "No hay ninguna entrada",
"sInfoFiltered": "(filtrado de _MENU_ entradas)",
"sSearchPlaceholder": "Buscar",
"sInfoPostFix": "",
"sSearch": "",
"sUrl": "",
"oPaginate": {
"sFirst": " ",
"sPrevious": " ",
"sNext": " ",
"sLast": " "
}
}
});
});
var SideBarMenu = (function (window, undefined) {
"use strict";
var params = {
'pattMatch': 'data-js-menulist',
'pattBtn': 'button',
'pattIdCatMatch': 'data-js-id-category',
'pattCurMatch': 'data-js-current-category',
'pattCur': 'current-category'
},
eventsListButton = function () {
$('[' + SideBarMenu.pattMatch + '="' + SideBarMenu.pattBtn + '"]').off('click').on('click', openListButton);
},
openListButton = function (e) {
$(e.currentTarget).toggleClass('menuList-button--opened');
$(e.currentTarget).parent().siblings('.menuList-list').toggleClass('menuList-list--opened');
},
selectCurrentCategory = function () {
/*
$('[' + SideBarMenu.pattCurMatch + '="' + SideBarMenu.pattCur + '"] [' + SideBarMenu.pattMatch + '="' + SideBarMenu.pattBtn + '"]').first().trigger('click');
$('[' + SideBarMenu.pattCurMatch + '="' + SideBarMenu.pattCur + '"]').parents('[' + SideBarMenu.pattIdCatMatch + ']').each(function (i, o) {
$(o).find('[' + SideBarMenu.pattMatch + '="' + SideBarMenu.pattBtn + '"]').first().trigger('click');
});
*/
$('[' + SideBarMenu.pattCurMatch + '="' + SideBarMenu.pattCur + '"]').find('[' + SideBarMenu.pattIdCatMatch + ']').each(function (i, o) {
$(o).find('[' + SideBarMenu.pattMatch + '="' + SideBarMenu.pattBtn + '"]').first().trigger('click');
});
},
init = function (newParams) {
var key;
if (typeof newParams === 'undefined') {
newParams = params;
}
for (key in newParams) {
if (this[key]) {
SideBarMenu[key] = this[key];
} else {
SideBarMenu[key] = params[key];
}
}
eventsListButton();
selectCurrentCategory();
};
return {
init: init
};
})(window);
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 = "Seleccione una provincia";
}
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 = "Seleccione 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();
}
}
});
}
/*
ClassBlockUI.abrirBlockUIEstandar(contenedorIDAMostrar[, accionCerrar, headerText]);
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)
{
ClassBlockUI.restaurarElemento();
$(".modalAutoHide").modal("hide");
if(contenedorIDAMostrar == undefined || $("#"+contenedorIDAMostrar).size() == 0){return;}
var blockUIId="blockUI_"+new Date().getTime();
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");});
}
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)
{
$(".modalAutoHide").modal("hide");
var blockUIId="blockUI_"+new Date().getTime();
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");};
}
$("#"+blockUIId+" ."+index).unbind("click").makeTagLink(isAlertOrButtons[index]["action"]);
}
}
var fnOnClose;
if(onClose==false)
{
fnOnClose = function(){modal.modal("hide");};
}
else if (typeof onClose === "function")
{
fnOnClose = function(){onClose()};
}
else if (onClose == "location")
{
fnOnClose = function(){$.query.go();};
}
else if (onClose == "back")
{
fnOnClose = function(){history.go(-1);};
}
else
{
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 = " Espere por favor..."; };
return ClassBlockUI.abrirBlockUIEstandarMensaje(mensaje);
}
};
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()
{
$(".tooltipStandardHTML").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'top', contentAsHTML: true});
$("#cantidad").unbind("keyup").keyup(function()
{
ClassTiendaVirtualProductos.actualizarTotal();
});
$(".ficha_producto_atributos select").change(function()
{
ClassTiendaVirtualProductos.actualizarTotal($(this).attr("id"), $(this).find("option:selected").attr("data-suplemento")*1);
});
$(".imagenColor img").click(function()
{
$(".imagenColor img").removeClass("imagenSeleccionada");
ClassTiendaVirtualProductos.actualizarTotal("atributos_8", $(this).attr("data-suplemento")*1);
$(this).addClass("imagenSeleccionada");
});
$(".imagenColorLetra img").click(function()
{
$(".imagenColorLetra img").removeClass("imagenSeleccionadaLetra");
ClassTiendaVirtualProductos.actualizarTotal("atributos_12", $(this).attr("data-suplemento")*1);
$(this).addClass("imagenSeleccionadaLetra");
});
$(".btnAgregarCarrito").unbind("click").makeTagLink(function()
{
ClassTiendaVirtualProductos.agregarAlCarritoCompruebaAtributos(true, $(this))
});
},
actualizarTotal:function(idAtributo, valorAtributo)
{
if(idAtributo!=undefined)
{
opciones[idAtributo] = valorAtributo*1;
}
//le anadido dividir entre 100 para que lo haga bien, sino suma decimales
var subtotal = ($("#ficha_producto_precio").val()*1);
var subtotal_original = ($("#ficha_producto_precio_original").val()*1);
for(var index in opciones)
{
if(index.match(/atributo_*/i) == null)
continue;
subtotal += opciones[index];
subtotal_original += opciones[index];
}
var c = $("#cantidad").val();
var replace = c.replace(",",".");
if(replace != undefined)
{
$("#cantidad").val(replace);
}
if(!isNaN($("#cantidad").val()*1))
{
if($("#cantidad").data("metros") == 1)
{
var t = parseFloat($("#cantidad").val()).toFixed(2);
if(!isNaN(t) && $("#cantidad").val().length >= 6)
{
$("#cantidad").val(t);
}
}
$("#productos_detalles_subtotal").html_formated(($("#cantidad").val()*subtotal), {numberOfDecimals: 2,decimalSeparator: ',',thousandSeparator: '.',symbol: ' €'});
$("#productos_detalles_subtotal_original").html_formated(($("#cantidad").val()*subtotal_original), {numberOfDecimals: 2,decimalSeparator: ',',thousandSeparator: '.',symbol: ' €'});
}
else
{
$("#productos_detalles_subtotal").html_formated(subtotal, {symbol: ' €'});
$("#productos_detalles_subtotal_original").html_formated(subtotal_original, {symbol: ' €'});
}
},
agregarAlCarritoCompruebaAtributos: function(mostrandoAtributos, este){
/*console.log(usuarioIdentificado);
console.log(1);*/
if(!usuarioIdentificado && !1)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Tiene que identificarse para poder añadir el producto al carrito", true, false);
return;
}
var tieneAtributos = este.attr("data-tieneAtributos");
if(mostrandoAtributos || tieneAtributos=="0")
{
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
{
ClassBlockUI.abrirBlockUIEstandar("selectAtributos", undefined, "Seleccione los atributos");
var seleccionaAtributos = "";
for(var idAtributo in data["atributos"])
{
seleccionaAtributos+='';
seleccionaAtributos+='
';
}
$("#btnCatalogoComprarAgregarAhoraAtributos").attr("data-idProducto", idProducto);
$("#frmSeleccionaAtributos").html(seleccionaAtributos);
}
}
}
};
$.ajax(opcionesDatos);
ClassBlockUI.abrirBlockUIEsperePorFavor();
},
agregarAlCarrito: function(mostrandoAtributos, este)
{
if(!usuarioIdentificado && !1)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Tiene 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 idCategoria = este.attr("data-categoria");
var tieneColor = este.attr("data-tienecolor");
var tieneColorLetra = este.attr("data-tienecolorletra");
var atributos = {};
var atributosOk = true;
var mensajeExtra = "";
if(tieneAtributos*1 || $("#selectAtributos").is(":visible"))
{
$(".ficha_producto_atributos select").each(function()
{
atributos[$(this).attr("id")] = $(this).val();
if($(this).val() == "")
{
atributosOk=false;
}
});
if(idCategoria == 4 || idCategoria == 2 || idCategoria == 3 || idCategoria == 1)
{
if(!$("#frmDatosProducto").valid())
{
atributosOk=false;
}
}
if((idCategoria == 4 || idCategoria == 2) && !$("#frmDatosProducto").valid())
{
if($(".imagenColor img").length > 0 && !$(".imagenColor img").hasClass("imagenSeleccionada"))
{
mensajeExtra += "Debes seleccionar un color";
}
ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor revise los campos marcados en distinto color porque se han detectado los siguientes errores
"+opciones_validacion.invalidMessages("
")+mensajeExtra, true, false);
return;
}
if(idCategoria == 1)
{
if(!$("#frmDatosProducto").valid())
{
if($(".imagenColor img").length > 0 && !$(".imagenColor img").hasClass("imagenSeleccionada"))
{
mensajeExtra += "Debes seleccionar un color";
}
ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor revise los campos marcados en distinto color porque se han detectado los siguientes errores
Debes añadir una cantidad en metros válida
"+mensajeExtra, true, false);
return;
}
}
if(tieneColor == 1)
{
if($(".imagenColor img").length > 0 && !$(".imagenColor img").hasClass("imagenSeleccionada"))
{
mensajeExtra += "
Debes seleccionar un color";
atributosOk=false;
}
else
{
atributos["atributos_8"] = $(".imagenSeleccionada").attr("data-id");
}
}
if(tieneColorLetra)
{
if($(".imagenColorLetra img").length > 0 && !$(".imagenColorLetra img").hasClass("imagenSeleccionadaLetra"))
{
mensajeExtra += "
Debes seleccionar el color de la letra";
atributosOk=false;
}
else
{
atributos["atributos_12"] = $(".imagenSeleccionadaLetra").attr("data-id");
}
}
}
if(!atributosOk)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor, elija las opciones del producto"+mensajeExtra, true, false);
return;
}
var data = atributos;//atributos;
data["idProducto"] = idProducto;
if(idCategoria == 4)
{
data["formAncho"] = $("#formAncho").val();
data["formAlto"] = $("#formAlto").val();
}
if(idCategoria == 2)
{
data["nombreBordado"] = $("#nombreBordado").val();
}
data["idCategoria"] = idCategoria;
data["metros"] = $("#cantidad").data("metros");
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"]==-55)
{
ClassTiendaVirtualProductos.mostrarAtributosParaAgregarAlCarrito(este);
}
else if(data["error_number"]<0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false);
}
else
{
ClassBlockUI.abrirBlockUIEstandar("productoAgregado", undefined, "Producto añadido con éxito")
//Actualiza el numero del carrito
if(data["actualizaNumProductos"])
{
ClassTiendaVirtualProductos.actualizaNumProductos($("#idProducto").val());
}
//Borrarmos los atributos temporales
$("#frmSeleccionaAtributos").html("");
}
}
};
$.ajax(opcionesDatos);
ClassBlockUI.abrirBlockUIEsperePorFavor();
}
}
};
var ClassTiendaVirtualCarrito=
{
initReactivaClicks:function()
{
$(".iconoEliminarCarrito, .btnActualizarCantidades").tooltipster({animation: 'grow',interactive:true, position:'bottom'});
$(".tooltipStandardHTML").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'bottom', contentAsHTML: true});
$(".tooltipStandard").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'bottom'});
$(".iconoEliminarCarrito").unbind("click").makeTagLink(function(){ClassTiendaVirtualCarrito.mostrarMensajeBorrarCarrito($(this))});
$(".actualizar_cantidad").unbind("keyup").keyup(function(){ClassTiendaVirtualCarrito.cantidadModificada($(this))});
$(".btn_actualizar").unbind("click").makeTagLink(function(){ClassTiendaVirtualCarrito.actualizar()});
},
mostrarMensajeBorrarCarrito: function(e)
{
ClassBlockUI.abrirBlockUIConfirm("¿Está seguro de que desea borrar este producto de su compra?", "Confirmar", function(){ClassTiendaVirtualCarrito.eliminarProductoCarrito(e)}, "Cancelar");
},
eliminarProductoCarrito:function(e)
{
var idProducto = e.attr("data-idCarrito");
if(isNaN(idProducto))
return;
//$("#cantidad_"+idProducto).val(0);
$("#actualizar_cantidad_"+idProducto).val(0);
ClassTiendaVirtualCarrito.actualizar();
},
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()
{
if(!$("#cantidades").valid())
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Revise las cantidades", true);
return;
}
ClassBlockUI.abrirBlockUIEsperePorFavor();
$.ajax(
{
url: "ajax/TiendaVirtualCarrito.actualizarCantidades.php",
type: "POST",
dataType : "json",
data : $("#cantidades").serialize(),
success: function(data)
{
if(data["error_number"] < 0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true);
}
else
{
window.location = window.location;
}
}
});
//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;
}
};
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'});
},
initConfirmarPedido: function(opciones_validacion, provinciaEnvio, poblacionEnvio, provinciaFacturacion, poblacionFacturacion)
{
ClassTiendaVirtualPedidos.validacion_pedido=$("#frmCofirmarPedido").validate(opciones_validacion);
$("#btn_confirmar_compra").makeTagLink(function(){ClassTiendaVirtualPedidos.confirmarPedido()});
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");
},
envioValido: function(esValido)
{
if(esValido)
{
$(".finalizarPedido").show();
}
else
{
$(".finalizarPedido").hide();
ClassBlockUI.abrirBlockUIEstandarMensaje("El peso del pedido no está soportado. Por favor contacte con nosotros para finalizar su pedido", true, false);
}
},
confirmarPedido: function()
{
if (!$("#frmCofirmarPedido").valid())
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor revise los campos marcados en distinto color porque se han detectado los siguientes errores
"+ClassTiendaVirtualPedidos.validacion_pedido.invalidMessages("
"), true, false);
return;
}
var opcionesDatos =
{
url: "ajax/TiendaVirtualPedidos.procesarPedido.php?CSRF="+CSRF,
type: "POST",
dataType : "json",
data : $("#frmCofirmarPedido").serialize()+"&idTransportista="+$("input[name=formTransporte]:checked").val(),
success: function(data)
{
if(data["error_number"] < 0 )
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false);
}
else
{
$("#procesaPagoExterno").html(data["formularioFormaPago"]);
switch(data["forma_pago"]*1)
{
case 1:
{
ClassTiendaVirtualPedidos.pagoBanco();
break;
}
case 2:
{
ClassTiendaVirtualPedidos.pagoPaypal();
break;
}
case 3:
default:
{
window.location = ("tienda-pedidoRealizado.html?idPedido=%idPedido%").replace("%idPedido%", data["idPedido"]);
break;
}
}
}
}
};
ClassBlockUI.abrirBlockUIEsperePorFavor();
$.ajax(opcionesDatos);
},
pagoPaypal:function()
{
ClassBlockUI.abrirBlockUIEsperePorFavor("");
$("#pagoPaypal").submit();
},
pagoBanco:function()
{
ClassBlockUI.abrirBlockUIEsperePorFavor("");
$("#pagoBanco").submit();
}
};
var ClassUsuarios =
{
initModificarDatosPerfil: function(opciones_validacion, opciones_validacion_modificar_password, paisEnvio, provinciaEnvio, poblacionEnvio, paisFacturacion, provinciaFacturacion, poblacionFacturacion)
{
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(paisEnvio, provinciaEnvio, poblacionEnvio, "form_pais_envio", "form_provincia_envio", "form_poblacion_envio");
preparaLugar(paisFacturacion, provinciaFacturacion, poblacionFacturacion, "form_pais_facturacion", "form_provincia_facturacion", "form_poblacion_facturacion");
$("#form_registro_copiar_direccion").click(function()
{
ClassUsuarios.actualizarDatos(true);
});
},
actualizarDatos:function(actualidarSelects)
{
if ($("#form_registro_copiar_direccion").val()==1)
{
$("#direccion_de_entrega_envio input, #direccion_de_entrega_envio select").each(function()
{
$("#"+$(this).attr("id").replace("envio","facturacion")).val($(this).val()).attr("readonly","readonly").addClass("readonly");
});
//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();
$(".contieneFacturacion").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");
});
$(".contieneFacturacion").css("display","block");
}
},
modificarDatosPerfil:function()
{
if (!$("#frmModificarDatosPerfil").valid())
{
//ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor revise los campos marcados en distinto color porque se han detectado los siguientes errores
"+ClassUsuarios.validacionModificarDatosPerfil.invalidMessages("
"), true, false);
var errores = "Por favor, revise 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 revise los campos marcados en distinto color 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 revise los campos marcados en distinto color 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 revise los campos marcados en distinto color 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 ClassDirecciones =
{
initModificarDirecciones: function(opciones_validacion)
{
ClassUsuarios.validacionModificarDatos = $("#formModificarDatos").validate(opciones_validacion);
$("#guardarDatos").unbind("click").makeTagLink(ClassDirecciones.guardarDirecciones);
$("#form_compra_copiar_direccion").change(function()
{
if($("#form_compra_copiar_direccion").val()*1 == 1)
{
$("#datosFacturacion").addClass("hidden");
$("#textoFacturacion").removeClass("hidden");
/*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("hidden");
$("#datosFacturacion").removeClass("hidden");
}
});
$(".modificarDatos").click(function(){
var bloqueID = $(this).parents(".padreDatos").attr("id");
var tipo = $(this).attr("data-id");
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 poblacion = $("#"+bloqueID+" .poblacionDireccion").attr("data-id");
var provincia = $("#"+bloqueID+" .provinciaDireccion").attr("data-id");
var pais = $("#"+bloqueID+" .paisDireccion").attr("data-id");
ClassDirecciones.setDatosForm(tipo,nombre,nif,telefono,direccion,cp,poblacion,provincia,pais);
ClassBlockUI.abrirBlockUIEstandar("modificarDatos", undefined, tipo == 1 ? "Modificar datos entrega" : "Modificar datos facturación")
});
},
guardarDirecciones: function()
{
if(!$("#formModificarDatos").valid())
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor revise los campos marcados en distinto color porque se han detectado los siguientes errores
"+ClassUsuarios.validacionModificarDatos.invalidMessages("
"), true, false);
return;
}
var opcionesDatos =
{
url: "ajax/Direcciones.modificarDatos.php?CSRF="+CSRF,
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,nif,telefono,direccion,cp,poblacion,provincia,pais)
{
$("#formModificarDatos #form_tipo").val(tipo);
$("#formModificarDatos #form_nombre").val(nombre);
$("#formModificarDatos #form_dni").val(nif);
$("#formModificarDatos #form_telefono").val(telefono);
$("#formModificarDatos #form_direccion").val(direccion);
$("#formModificarDatos #form_codigo_postal").val(cp);
preparaLugar(pais, provincia, poblacion, "form_pais", "form_provincia", "form_poblacion");
/*$("#formModificarDatos #form_poblacion").val(poblacion);
$("#formModificarDatos #form_provincia").val(provincia);*/
}
};