$(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 _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": " "
}
}
});
});
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 = "Seleccionar 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 = "Seleccionar 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();
}
};