$(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 = "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 && idRegionPreEstablecida !="")
{
$("#"+idCampoRegion).val(idRegionPreEstablecida);
}
else
{
$("#"+idCampoRegion).val(0);
}
if(onFinish != undefined && typeof(onFinish) == "function")
{
onFinish();
}
}
});
}
function actualizaCiudades(idCampoLocalidad, idCampoRegion, idCampoPais, idLocalidadPreEstablecida, forceIdPais, forceIdRegion,forceIdLocalidad, onFinish, textoSelect, textoLoading)
{
if(forceIdPais == undefined)
{
forceIdPais = $("#"+idCampoPais).val();
}
if(forceIdRegion == undefined)
{
forceIdRegion = $("#"+idCampoRegion).val();
}
if(forceIdLocalidad == undefined)
{
forceIdLocalidad = $("#"+idCampoLocalidad).val();
}
if(textoSelect == undefined)
{
textoSelect = "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, 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 += '';
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, "modalStandard");
},
abrirBlockUIEsperePorFavor: function(mensaje)
{
if(mensaje == undefined){ mensaje = " Espere por favor... "; };
return ClassBlockUI.abrirBlockUIEstandarMensaje(mensaje, undefined, false, "modalStandard modalEspere");
}
};
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(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());
actualizaProvincias("form_poblacion_facturacion","form_provincia_facturacion", "form_pais_facturacion", $("#form_provincia_envio").val(), $("#form_pais_envio").val());
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());
//actualizaProvincias("form_provincia_facturacion", "form_pais_facturacion", $("#form_provincia_envio").val(), false, false, false);
$(".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");
}
}
else
{
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");
});
$(".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 porque se han detectado los siguientes errores
"+ClassUsuarios.validacionModificarDatosPerfil.invalidMessages("
"), true, false);
var errores = "";
ClassBlockUI.abrirBlockUIEstandarMensaje(errores,true, undefined, "modalStandard");
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, undefined, "modalStandard");
}
else
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined, "modalStandard");
// $(".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 porque se han detectado los siguientes errores
"+ClassUsuarios.validacionModificarPassword.invalidMessages("
"), true, undefined, "modalStandard");
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, undefined, "modalStandard");
}
else
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, "location", "modalStandard");
}
}
};
ClassBlockUI.abrirBlockUIEsperePorFavor();
$.ajax(opcionesDatos);
},
guardaClaveOlvidoPass: function ()
{
if(!$("#form_olvido").valid())
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor revise los campos porque se han detectado los siguientes errores
"+validacion.invalidMessages("
"), true, undefined, "modalStandard");
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, undefined, "modalStandard");
}
else
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, function(){window.location="index.php"}, "modalStandard");
}
}
};
$.ajax(opciones);
ClassBlockUI.abrirBlockUIEsperePorFavor();
},
enviarOlvido: function()
{
var validation = $("#frmEnviarOlvido").valid();
if(!validation)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor revise los campos porque se han detectado los siguientes errores
"+validacion.invalidMessages("
"), true, undefined, "modalStandard");
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, undefined, "modalStandard");
}
};
$.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});
$(".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))});
$("body").on("keyup input", ".actualizar_cantidad", function(event)
{
ClassTiendaVirtualCarrito.cantidadModificada($(this));
});
$(".btn_actualizar").unbind("click").makeTagLink(function(){ClassTiendaVirtualCarrito.actualizar()});
},
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())
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Revisa la cantidad, debe ser al menos 1", true);
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").hide();
},
actualizar:function()
{
if(!$("#cantidades").valid())
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Revisa la cantidad, debe ser al menos 1", 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
},
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
{
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 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(false, $(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);
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 && !0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("", 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 && !0)
{
ClassBlockUI.abrirBlockUIEstandarMensaje("", 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("", true, false);
return;
}
var data = atributos;//atributos;
data["idProducto"] = idProducto;
if(!mostrandoAtributos)
{
data["cantidad"] = $("#cantidad_"+idProducto).val(); //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 agregado")
//Actualiza el numero del carrito
if(data["actualizaNumProductos"])
{
ClassTiendaVirtualProductos.actualizaNumProductos($("#idProducto").val());
}
//Borrarmos los atributos temporales
$("#frmSeleccionaAtributos").html("");
if(modalAtributos)
{
modalAtributos.modal("hide");
}
$(".numProductosCarrito").addClass("carritoBlink").show();
numProductos = eval($(".numProductosCarrito").html()*1+ data["actualizaNumProductos"]*1);
$(".numProductosCarrito").html(numProductos);
if(modalMensaje) {
modalMensaje.modal("hide");
}
// modalAtributos.modal("hide");
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false);
setTimeout( function(){$(".numProductosCarrito").removeClass("carritoBlink") }, 2000);
$(".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});
activateDeactivateWarning(false,data["idProducto"]);
}
}
};
$.ajax(opcionesDatos);
modalMensaje = ClassBlockUI.abrirBlockUIEsperePorFavor();
}
}
};
var ClassTiendaVirtualPedidos =
{
initReactivaClicks: function(){
$(".tooltipStandard").not(".tooltipstered").tooltipster({animation: 'grow',interactive:true, position:'bottom', contentAsHTML: true});
},
initConfirmarPedidoCarrito: function(opciones_validacion)
{
ClassTiendaVirtualPedidos.validacion_pedido=$("#frmCofirmarPedido").validate(opciones_validacion);
$("#btn_confirmar_compra").makeTagLink(function(){ClassTiendaVirtualPedidos.confirmarPedido()});
},
initConfirmarPedido: function(opciones_validacion, provinciaEnvio, poblacionEnvio, provinciaFacturacion, poblacionFacturacion)
{
ClassTiendaVirtualPedidos.validacion_pedido=$("#frmCofirmarPedido").validate(opciones_validacion);
$("#btn_confirmar_compra").makeTagLink(function(){ClassTiendaVirtualPedidos.confirmarPedido()});
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_compra_copiar_direccion").click(function()
{
ClassTiendaVirtualPedidos.actualizarDatos(true);
});
},
actualizarDatos:function(actualidarSelects)
{
if(actualidarSelects)
{
if ($("#form_compra_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());
actualizaProvincias("form_poblacion_facturacion","form_provincia_facturacion", "form_pais_facturacion", $("#form_provincia_envio").val(), $("#form_pais_envio").val());
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());
//actualizaProvincias("form_provincia_facturacion", "form_pais_facturacion", $("#form_provincia_envio").val(), false, false, false);
$(".contieneFacturacion").css("display","none");
$("#frmCofirmarPedido").valid();
}
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");
}
}
else
{
if($("#form_compra_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");
});
$(".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");
}
}
},
envioValido: function(esValido)
{
if(esValido)
{
$(".finalizarPedido").show();
}
else
{
$(".finalizarPedido").hide();
ClassBlockUI.abrirBlockUIEstandarMensaje("", true, false);
}
},
confirmarPedido: function(desdeCarrito)
{
datosForm = null;
if(desdeCarrito == false)
{
if (!$("#frmCofirmarPedido").valid())
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor revise los campos porque se han detectado los siguientes errores
"+ClassTiendaVirtualPedidos.validacion_pedido.invalidMessages("
"), true, false);
return;
}
datosForm = $("#frmCofirmarPedido").serialize();
}
var opcionesDatos =
{
url: "ajax/TiendaVirtualPedidos.procesarPedido.php?CSRF="+CSRF,
type: "POST",
dataType : "json",
data : datosForm,
success: function(data)
{
if(data["error_number"] < 0 )
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false);
}
else
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, "/index.php?s=pedidos&id="+data["idPedido"]);
// window.location = "index.php?s=pedidos&id="+data["idPedido"];
}
}
};
ClassBlockUI.abrirBlockUIEsperePorFavor();
$.ajax(opcionesDatos);
},
pagoPaypal:function()
{
ClassBlockUI.abrirBlockUIEsperePorFavor("");
$("#pagoPaypal").submit();
},
pagoBanco:function()
{
ClassBlockUI.abrirBlockUIEsperePorFavor("");
$("#pagoBanco").submit();
}
};