$(document).ready(function () {
if($.fn.dataTable != undefined)
{
$.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": " "
},
}
});
}
});
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 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("");
}
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();
}
}
});
}
/*
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, title, txtBton)
{
$(".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
title = title == null || title == undefined ? "Aviso" : title;
txtBton = txtBton == null || txtBton == undefined ? "Aceptar" : txtBton;
if(isAlertOrButtons==undefined) isAlertOrButtons=false;
if(onClose==undefined) onClose=false;
var botonera = "";
var botoneraEspecial = false;
if(isAlertOrButtons === false)
{
botonera = "";
}
else if (isAlertOrButtons === true)
{
botonera = ""+txtBton+"
";
}
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
{
fnOnClose = function(){window.location = onClose};
}
$("#"+blockUIId+" .btnCerrarBlockUIAlert, #"+blockUIId+" .btnCerrarModalEquis").unbind("click").makeTagLink(fnOnClose);
return modal;
},
abrirBlockUIConfirm: function(mensaje, textoAceptar, accionAceptar, textoCancelar, accionCancelar, extraClass, title)
{
accionCancelar = accionCancelar == undefined ? "close" : accionCancelar;
extraClass = extraClass == null || extraClass == undefined ? "" : extraClass;
var buttons =
{
"btnAceptarBUI_CONFIRM":
{
"text": textoAceptar,
"action": accionAceptar
},
"btnCancelarBUI_CONFIRM":
{
"text": textoCancelar,
"action": accionCancelar
}
};
return ClassBlockUI.abrirBlockUIEstandarMensaje(mensaje, buttons, false, extraClass, title);
},
abrirBlockUIEsperePorFavor: function(mensaje)
{
if(mensaje == undefined){ mensaje = " Espere por favor... "; };
return ClassBlockUI.abrirBlockUIEstandarMensaje(mensaje, undefined, false, "modalStandard modalEspere");
}
};
var _URL = window.URL || window.webkitURL;
var ClassUsuarios =
{
cropAction: 1,
cropContainerPreload: null,
initModificarDatosPerfil: function(idPais, idProvincia, idLocalidad, opciones_validacion, opciones_validacionPass)
{
preparaLugar(idPais, idProvincia, idLocalidad, "frmPerfilPais", "frmPerfilProvincia", "frmPerfilLocalidad");
ClassUsuarios.validacionModificarDatosPerfil = $("#frmPerfil").validate(opciones_validacion);
ClassUsuarios.validacionModificarPassword = $("#frmPerfilPassword").validate(opciones_validacionPass);
$("#btnGuardarPerfil").unbind("click").click(ClassUsuarios.modificarDatosPerfil);
$("#btnActualizarPass").unbind("click").click(ClassUsuarios.modificarPassword);
$("#btnBaja").unbind("click").makeTagLink(ClassUsuarios.confirmacionBaja);
$("#frmSubirFotoFile").change(ClassUsuarios.fotoPerfilChange);
$("input[name='frmPerfilProfesional']").change(ClassUsuarios.profesionalChange);
$("#btnGuardarCrop").unbind("click").click(ClassUsuarios.guardarFotosUsuario);
},
modificarPassword: function(e)
{
e.preventDefault();
if (!$("#frmPerfilPassword").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: $("#frmPerfilPassword").serialize(),
success: function(data)
{
if(data["error_number"] < 0 )
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false);
}
else
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false);
}
}
}
ClassBlockUI.abrirBlockUIEsperePorFavor();
$.ajax(opcionesDatos);
},
modificarDatosPerfil:function()
{
if (!$("#frmPerfil").valid())
{
ClassBlockUI.abrirBlockUIEstandarMensaje("Por favor revise los campos marcados en distinto color porque se han detectado los siguientes errores
"+ClassUsuarios.validacionModificarDatosPerfil.invalidMessages("
"), true, false, "");
return;
}
var $form = $('#frmPerfil');
var $inputs = $('input[type="file"]:not([disabled])', $form);
$inputs.each(function(_, input) {
if (input.files.length > 0) return
$(input).prop('disabled', true);
});
var formData = new FormData($form[0]);
$inputs.prop('disabled', false);
var frmPerfilProfesional = 0;
if ($("input[name='frmPerfilProfesional']:checked").length > 0)
{
frmPerfilProfesional = $("input[name='frmPerfilProfesional']:checked").val()*1;
}
formData.append("frmPerfilFacebook", $("#frmPerfilFacebook").val());
formData.append("frmPerfilInstagram", $("#frmPerfilInstagram").val());
formData.append("frmPerfilLinkedin", $("#frmPerfilLinkedin").val());
formData.append("frmPerfilWeb", $("#frmPerfilWeb").val());
formData.append("frmPerfilProfesional", frmPerfilProfesional);
formData.append("frmPerfilProfesionalCIF", $("#frmPerfilProfesionalCIF").val());
formData.append("frmPerfilProfesionalDNI", $("#frmPerfilProfesionalDNI").val());
var opcionesDatos =
{
url: "ajax/Usuarios.modificar.php?CSRF="+CSRF,
type: "POST",
dataType : "json",
data: formData,
cache: false,
contentType: false,
processData: false,
success: function(data)
{
if(data["error_number"] < 0 )
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false);
}
else
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false);
}
}
}
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, "modalStandardMed");
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, "modalStandardMed");
}
else
{
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, function(){window.location="https://www.oferingapp.com//inicio.html"}, "modalStandardMed");
}
}
};
$.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, "modalStandardMed");
}
};
$.ajax(opcionesDatos);
ClassBlockUI.abrirBlockUIEsperePorFavor();
},
confirmacionBaja: function()
{
ClassBlockUI.abrirBlockUIConfirm("Si te das de baja perderás tu acceso, tus favoritos, tus servicios y tu histórico de operaciones, ¿estas seguro de que quieres darte de baja?", "Sí, darme de baja", ClassUsuarios.enviarBaja, "No, continuar", undefined, "modalDarBaja modalMed", "Vas a darte de baja");
},
enviarBaja: function()
{
$(".modal").modal("hide");
var opcionesDatos =
{
type:"POST",
dataType:"json",
url:"ajax/Usuarios.baja.php?CSRF="+CSRF,
success: function(data, textStatus, XMLHttpRequest)
{
if(data["error_number"] >= 0) {
ClassBlockUI.abrirBlockUIEstandarMensaje("Te vamos a echar mucho de menos. Puedes volver a registrarte cuando quieras, nos vemos pronto", true, "logout.php", "modalDarBaja modalMed", "TE HAS DADO DE BAJA");
} else {
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, false);
}
}
};
$.ajax(opcionesDatos);
ClassBlockUI.abrirBlockUIEsperePorFavor();
},
fotoPerfilChange: function()
{
var input = $("#frmSubirFotoFile")[0];
if (input.files && input.files[0]) {
var filename = input.files[0].name;
var size = input.files[0].size;
var extension = (filename.substring(filename.lastIndexOf('.')+1, filename.length) || filename).toLowerCase();
var errores = "";
if(extension != "png" && extension != "jpg" && extension != "jpeg")
{
errores += "
El fichero debe ser de tipo JPG o PNG";
}
if(size > 8388608)
{
errores += "
El fichero debe tener un tamaño máximo de 8Mb";
}
if(errores == "")
{
ClassUsuarios.subirFoto();
}
else
{
ClassUsuarios.errorSubirFoto(errores);
return;
}
}
},
subirFoto: function()
{
var formData = new FormData();
formData.append('image', $('#frmSubirFotoFile')[0].files[0]);
formData.append('CSRF', CSRF);
$.ajax({
url: 'ajax/Usuarios.subirFotoPerfil.php',
data: formData,
type: 'POST',
dataType : "json",
contentType: false,
processData: false,
success: function(data, textStatus, XMLHttpRequest)
{
if(data["error_number"] >= 0) {
ClassUsuarios.cropFoto(data["file"]);
} else {
ClassBlockUI.abrirBlockUIEstandarMensaje(data["error_message"], true, undefined, "modalPeq");
}
}
});
ClassBlockUI.abrirBlockUIEsperePorFavor();
},
errorSubirFoto: function (errores) {
$(".modalAutoHide").modal("hide");
$("#frmSubirFotoFile").val("");
ClassBlockUI.abrirBlockUIEstandarMensaje("Se ha producido un error al guardar la imagen.
"+errores, true, undefined);
},
onCropped: function(response)
{
$(".cropControlRemoveCroppedImage").hide();
switch(ClassUsuarios.cropAction)
{
default:
case 1:
{
window.location = window.location;
break;
}
case 2:
{
$("#frmSubirFotoFile").val("");
$(".conFotoSubida img").attr("src", response.url+"?"+new Date().getTime());
$(".contieneFotoPerfil").removeClass("no-foto");
$(".modal").modal("hide");
}
}
},
cropFoto: function(file)
{
ClassUsuarios.cropAction = 1;
//Mostramos el cropic, guardar y btnCerrar
ClassBlockUI.abrirBlockUIEstandar("bloqueSubirFoto", undefined, "Cambia tu foto de perfil", "modalMed modalFull");
var croppicContainerPreloadOptions =
{
cropUrl:'ajax/Usuario.cambiarFotoPerfil.php?CSRF='+CSRF,
loadPicture: file+"?"+new Date().getTime(),
rotateFactor: 90,
scaleToFill: false,
doubleZoomControls: false,
enableMousescroll: false,
loaderHtml:'
',
//onError: function(errormsg){ console.log('onError:'+errormsg) },
//onBeforeImgUpload: function(){ console.log('onBeforeImgUpload') },
onAfterImgUpload: function()
{
$(".cropControlReset").hide();
$(".cropControlCrop").hide();
},
onBeforeImgCrop: function(){$("#btnGuardarCrop").hide(); },
onAfterImgCrop: ClassUsuarios.onCropped,
}
if(ClassUsuarios.cropContainerPreload!=null)
{
ClassUsuarios.cropContainerPreload.destroy()
}
ClassUsuarios.cropContainerPreload = new Croppic('imagenPerfilToCrop', croppicContainerPreloadOptions);
},
guardarFotosUsuario: function ()
{
ClassUsuarios.cropAction = 2;
$(".cropControlCrop").trigger("click");
$("#btnGuardarCrop").show();
},
profesionalChange: function () {
var checked1 = $("input[name='frmPerfilProfesional'][value='1']").is(":checked");
var checked2 = $("input[name='frmPerfilProfesional'][value='2']").is(":checked");
if (!checked1)
{
$("#frmPerfilProfesionalCIF").val("");
}
if (!checked2)
{
$("#frmPerfilProfesionalDNI").val("");
}
$("#frmPerfilProfesionalCIF").prop("readonly", !checked1);
$("#frmPerfilProfesionalDNI").prop("readonly", !checked2);
}
};