$(document).ready(function() {
});
function ejecutaForm(formulario){
var count_err = 0;
var formulario_validate = $("#"+formulario).validate();
var mensajes = '';
$( 'input[file-validation="required"]' ).each( function() {
var td_archivo = "#td_"+$(this).attr("name");
if($(this).attr("type") == "text" ){
td_archivo = "#"+$(this).attr("id");
}
if( $(this).val().trim() == '' || $(this).val().trim().length == 0){
count_err++;
$(td_archivo).attr("style", " border-style: solid; border-color: #F5A9A9; padding: 3px; border-width: 2px; ");
}else{
if ($(this).attr('class').indexOf('error_input') > 0) {
count_err++;
$(td_archivo).attr("style", " border-style: solid; border-color: red; padding: 3px; border-width: 2px; ");
if(typeof $(td_archivo).attr("data-mensaje") != "undefined"){
mensajes = mensajes + " " + $(td_archivo).attr("data-mensaje")
}
} else {
$(td_archivo).removeAttr("style");
}
}
});
if(formulario_validate && count_err == 0){
initDialog();
//RECOGEMOS LOS CONSENTIMIENTOS LEGALES
$("#dialog_consentimiento").dialog().dialog('open');
$('#dialog_consentimiento').on('dialogclose', function(event) {
if ($('#proteccionDatos').is(":checked")){
// Elimino los disabled
$("form[name="+formulario+"]").find(':input').attr('disabled', false);
$("#"+formulario).submit();
}else{
return false;
}
});
}else{
mensajes = "Hay campos obligatorios sin completar "+ mensajes
jAlert(mensajes,"Atencion!");
}
}
function cargaTipoCambio(valor){
if(valor!='%')
{
$("#tipoCambioTitular").load("oficina-virtual/gestiones/ajax/tipoCambioTitular.php",{
'valor': valor
});
}
else
$("#tipoCambioTitular").html("");
}
function compruebaPotencia(potencia, potenciaOrig, tipocliente, elemento){
$("#listadoArchivos").load("oficina-virtual/gestiones/ajax/listadoDocumentoCambioPotencia.php",{
'potencia': potencia,
'potenciaOrig': potenciaOrig,
'tipocliente': tipocliente,
})
var regex = /^[0-9]*\.?[0-9]*$/;
// Si no se valida con la expresión regular, mostramos un error.
if (!potencia.match(regex)){
alert("El valor introducido no es válido. Utiliza solo números y puntos.");
$("."+elemento).val("");
}
}
function ejecutafrmTitular(formulario){
var count_err = 0;
var formulario_validate = $("#"+formulario).validate();
var mensajes = '';
$( 'input[file-validation="required"]' ).each( function() {
var td_archivo = "#td_"+$(this).attr("name");
if($(this).attr("type") == "text"){
td_archivo = "#"+$(this).attr("id");
}else if( $(this).attr("type") == "checkbox"){
td_archivo = "."+$(this).attr("id");
}
if( $(this).val().trim() == '' || $(this).val().trim().length == 0){
count_err++;
$(td_archivo).attr("style", " border-style: solid; border-color: #F5A9A9; padding: 3px; border-width: 2px; ");
}else if($(this).is(':checkbox') && !$(this).is(':checked')){
count_err++;
$(td_archivo).attr("style", " border-style: solid; border-color: red; padding: 3px; border-width: 2px; ");
}else{
if ($(this).attr('class').indexOf('error_input') > 0) {
count_err++;
$(td_archivo).attr("style", " border-style: solid; border-color: red; padding: 3px; border-width: 2px; ");
if(typeof $(td_archivo).attr("data-mensaje") != "undefined"){
mensajes = mensajes + " " + $(td_archivo).attr("data-mensaje")
}
} else if($(this).is(':checkbox') && $(this).is(':checked')){
$(td_archivo).removeAttr("style");
}else {
$(td_archivo).removeAttr("style");
}
}
});
if(formulario_validate && count_err == 0){
envia_formulario_submit(formulario, 'oficina-virtual/ajax/crear_sepa_form_titular.php');
}else{
mensajes = "Hay campos obligatorios sin completar "+ mensajes
jAlert(mensajes,"Atencion!");
}
}
function ejecutafrmCuenta(formulario){
var count_err = 0;
var formulario_validate = $("#"+formulario).validate();
var mensajes = '';
$( 'input[file-validation="required"]' ).each( function() {
var td_archivo = "#td_"+$(this).attr("name");
if($(this).attr("type") == "text"){
td_archivo = "#"+$(this).attr("id");
}
if( $(this).val().trim() == '' || $(this).val().trim().length == 0){
count_err++;
$(td_archivo).attr("style", " border-style: solid; border-color: #F5A9A9; padding: 3px; border-width: 2px; ");
}else{
if ($(this).attr('class').indexOf('error_input') > 0) {
count_err++;
$(td_archivo).attr("style", " border-style: solid; border-color: red; padding: 3px; border-width: 2px; ");
if(typeof $(td_archivo).attr("data-mensaje") != "undefined"){
mensajes = mensajes + " " + $(td_archivo).attr("data-mensaje")
}
} else {
$(td_archivo).removeAttr("style");
}
}
});
if(formulario_validate && count_err == 0){
envia_formulario_submit(formulario, 'oficina-virtual/ajax/crear_sepa_form_cuenta.php');
}else{
mensajes = "Hay campos obligatorios sin completar "+ mensajes
jAlert(mensajes,"Atencion!");
}
}
function ejecutafrmCorrespondencia(formulario){
if($("#"+formulario).validate()){
envia_formulario_submit(formulario, 'oficina-virtual/gestiones/cambiar-dir-correspondencia/');
}else{
jAlert("Hay campos obligatorios sin completar","Atencion!");
}
}
/* Función de calculo de Iban */
function calcularIBAN(ncuenta) {
var aux;
var csiguientes;
var tmp;
var csiguientes;
var cpais = 'ES';
ncuenta = ncuenta + (cpais.charCodeAt(0) - 55).toString() + (cpais.charCodeAt(1) - 55).toString() + "00";
tmp = parseInt(ncuenta.substring(0, 9), 10) % 97;
if (tmp < 10){
aux = "0";
} else{
aux = "";
}
aux = aux + tmp.toString();
ncuenta = ncuenta.substring(9);
while (ncuenta!="") {
if (parseInt(aux, 10) < 10){
csiguientes = 8;
} else {
csiguientes = 7;
}
if (ncuenta.length < csiguientes){
aux = aux + ncuenta;
ncuenta = "";
} else{
aux = aux + ncuenta.substring(0, csiguientes);
ncuenta = ncuenta.substring(csiguientes);
}
tmp = parseInt(aux, 10) % 97;
if(tmp < 10){
aux = "0";
} else{
aux = "";
}
aux = aux + tmp.toString();
}
tmp = 98 - parseInt(aux, 10);
if(tmp < 10){
var codigo_iban = cpais + "0" + tmp.toString()+ncuenta;
} else{
var codigo_iban = cpais + tmp.toString()+ncuenta;
}
return codigo_iban;
}
function calculaDC(entidad, oficina,cuenta) {
var pesos = new Array();
pesos[0] = 6;
pesos[1] = 3;
pesos[2] = 7;
pesos[3] = 9;
pesos[4] = 10;
pesos[5] = 5;
pesos[6] = 8;
pesos[7] = 4;
pesos[8] = 2;
pesos[9] = 1;
var entidadInv = inv(entidad);
var oficinaInv = inv(oficina);
var cuentaInv = inv(cuenta);
var ofient = "" + oficinaInv + entidadInv
var suma =0;
for(a=0;a<8;a++){
suma += ofient.substr(a,1)*pesos[a];
}
var sumaCCC =0;
for(a=0;a<10;a++){
sumaCCC += cuentaInv.substr(a,1)*pesos[a];
}
var dc = 11 - (suma % 11)
var dcCcc = 11 - (sumaCCC % 11)
if (dc == 10) dc = 1;
if (dc == 11) dc = 0;
if (dcCcc == 10) dcCcc = 1;
if (dcCcc == 11) dcCcc = 0;
return ""+dc + dcCcc;
}
function inv(item) {
var ret = "";
for (a=0;a<=item.length;a++){
ret = ret + item.substr(item.length-a,1);
}
return ret
}
function validar_obligatorios(){
var error = 0;
var checkInput = (index,nodo) => {
var element = 0;
//AGREGAMOS SE VALIDEN LOS PATTERN
if(typeof $(nodo).attr('pattern') !== 'undefined'){
element = document.getElementById($(nodo).attr('id'));
}
if ($(nodo).attr("required") == 'required' && ($(nodo).val() == '' || (element && !element.checkValidity()) || $(nodo).hasClass('error_input') ) ){
$(nodo).parent().addClass("has-error");
$(nodo).addClass("error_input");
$(nodo).focus();
error++;
/*}else if ($(nodo).attr('required') == 'required' && $(nodo).hasClass('error_input')){
$(nodo).parent().addClass("has-error");
$(nodo).focus();
error++;*/
} else {
$(nodo).parent().removeClass("has-error");
$(nodo).removeClass("error_input");
}
};
$("form input").each(checkInput);
$("form select").each(checkInput);
$("form textarea").each(checkInput);
if(error == 0){
return true;
}else{
return false;
}
}
function envia_formulario_submit(formulario, url){
var fd = new FormData();
var datos_form = $("#"+formulario).serializeArray();
for (var i = 0; i < datos_form.length; i++) {
fd.append(datos_form[i].name, datos_form[i].value);
}
//Recorremos los campos disabled y los recorremos para mandarlos en el post.
var disabled_fields = $("form[name="+formulario+"]").find("[disabled='']");
disabled_fields.each(function(){
fd.append($(this).attr("name"),$(this).attr("value"))
});
$( 'input[type="file"]' ).each( function() {
fd.append($(this).attr("name"), $(this)[0].files[0]);
});
//RECOGEMOS LOS CONSENTIMIENTOS LEGALES
initDialog();
$("#dialog_consentimiento").dialog().dialog('open');
if (formulario != 'frmCorrespondencia') {
$("#cont_loader").show();
}
$('#dialog_consentimiento').on('dialogclose', function(event) {
if (!$('#proteccionDatos').is(":checked")){
return false;
}
$.ajax({
url: url,
type: 'post',
data: fd,
contentType: false,
processData: false,
async:false,
success: function(data){
$("#cont_loader").html(data);
$("#button_sbmt").hide();
$("#cont_msg_sepa").removeAttr("style");
},
});
});
}
/* Funcion que recibe por ajax los suministros de un cliente y los inserta en el select creado por jquery */
function cargar_select_contratos(){
$(".ocultar_aplica").hide();
$(".ocultar_contratos").hide();
var cliente_id = $("#idCliente").val();
var suministro_ticket = $("#idContrato").val();
$.post('recursos/php/devolver_contratos_cliente.php', {
"id_cliente" : cliente_id
},function(data){
if (!data.error) {
var contratos = '';
var contratos_mostrados = 0;
for (var i = 0; i < data.length; i++) {
if(data[i].id != suministro_ticket){
contratos += "";
contratos_mostrados++;
}
}
if (contratos_mostrados > 0) {
$("#cargar_contratos").html(contratos);
}else{
$(".cambia_todos").hide();
$("#check_all").val(2);
$("#aplicar_contratos").val(2);
$("#cargar_contratos").removeAttr("data-validation");
$("#aplicar_contratos").removeAttr("data-validation");
}
}else{
$(".cambia_todos").hide();
$("#check_all").val(2);
$("#aplicar_contratos").val(2);
}
},"json");
}
function validaCuenta(){
$("#iCuenta").val("");
$("#iIban").val("");
var entidad = $("#dc_entidad").val();
var sucursal = $("#dc_sucursal").val();
var control = $("#dc_control").val();
var cuenta = $("#dc_cuenta").val();
if(entidad != '' && sucursal != '' && control != '' && cuenta != ''){
var n_cuenta = entidad + '' + sucursal + '' + control + '' + cuenta;
var iban = calcularIBAN(n_cuenta);
var verifica_dc = calculaDC(entidad, sucursal,cuenta);
$("#iCuenta").val(n_cuenta);
if (verifica_dc == control && iban.length == 4) {
$("#iIban").val(iban);
}else{
if (verifica_dc != control) {
alert('El n\xFAmero de cuenta es incorrecto');
}else{
alert('No se pudo generar el c\xF3digo IBAN\nRevise el n\xFAmero de cuenta');
}
$("#iIban").val('');
}
}
}
function changePaisSepaValue(pais){
if(pais == 3){
$(".datos_banco").hide();
$(".div_sepa_internacional").show();
$("#iCuenta").removeAttr('data-validation');
$("#iIban").removeAttr('data-validation');
$("#dc_entidad").removeAttr('data-validation');
$("#dc_sucursal").removeAttr('data-validation');
$("#dc_control").removeAttr('data-validation');
$("#dc_cuenta").removeAttr('data-validation');
$("#iSwift").removeAttr('data-validation');
$("input[id^='dc_']").val('');
$("#iSwift").val('');
$("#iIban").val('');
$("#iCuenta").val('');
$("#iIbanInternacional").attr('data-validation','required');
}else{
$(".div_sepa_internacional").hide();
$(".datos_banco").show();
$("#iIban").attr("data-validation", "validate_min_length20");
$("#iIban").attr("data-validation", "validate_min_length4");
$("#dc_entidad").attr("data-validation", "validate_min_length4");
$("#dc_sucursal").attr("data-validation", "validate_min_length4");
$("#dc_control").attr("data-validation", "validate_min_length2");
$("#dc_cuenta").attr("data-validation", "validate_min_length10");
$("#iSwift").attr("data-validation", "required");
$("#iIbanInternacional").removeAttr('data-validation');
$("#iIbanInternacional").val('');
}
}
function validaIbanInternacional(iban_internacional, token){
if(iban_internacional != '' && iban_internacional.length > 0){
$.post('oficina-virtual/ajax/generar_iban.php', {'iban': iban_internacional, 'token': token }, function(data){
$("#iIbanInternacional").val('');
if(data == '-999'){
alert('Está intentando realizar una operación no válida.');
return false;
}else if(data == '-1' || data == -1){
// El IBAN no es valido
alert('El IBAN introducido es incorrecto');
return false;
}else if(data == '-2' || data == -2){
// El webservice ha devuelto error
alert('No se ha podido validar el IBAN');
return false;
}else{
var iban = data.toString().trim();
$("#iIbanInternacional").val(iban);
}
});
}
}
function generaSwift(entidad, token){
if(entidad != ''){
$.post('oficina-virtual/ajax/generar_swift.php', {'n_entidad':entidad, 'token': token }, function(data){
if(data == '-999'){
alert('Está intentando realizar una operación no válida.');
return false;
}else if(data != '-1'){
$("#iSwift").val(data);
}else{
$("#iSwift").val('');
}
});
}
}
function initDialog(){
//Checks de consentimiento: no se permite enviar el formulario si el primer check no se ha marcado
$("#dialog_consentimiento").dialog({
bgiframe: true,
autoOpen: false,
height: 380,
width: 620,
modal: true,
closeOnEscape: false,
title: i18next.t("oficinaVirtual:consentimientoExpresoParaTratamientoDatos"),
beforeClose: function(event, ui) {
if (!$('#proteccionDatos').is(":checked")){
var nombre_app = $('#nombre_app').attr('data-nombre');
jAlert(i18next.t("oficinaVirtual:debeAceptarPoliticaPrivacidad",{txt_nombreapp: nombre_app}),'¡'+i18next.t("oficinaVirtual:atencion")+'!');
}
},
buttons: {
"Cancelar": function() {
$('#proteccionDatos').attr("checked", false);
$(this).dialog('close');
},
"Aceptar": function() {
if ($('#proteccionDatos').is(":checked")) {
var url = location.href;
var usuario = $('#idCliente').val();
var id_cabecera = $('#idCabecera_aldro').val();
var check_lopd = 1;
var check_aldro = $('#proteccionDatos1').is(":checked") ? 1 : 0;
var check_pitma = $('#proteccionDatos2').is(":checked") ? 1 : 0;
var datos = {};
//recogemos todos los datos del formulario en un objeto
$("form").find(':input').each(function() {
datos[$(this).attr('name')] = $(this).val();
});
$.post("../../../ajax/consentimiento_legal.php", {
'check_lopd': check_lopd,
'check_aldro': check_aldro,
'check_pitma': check_pitma,
'id_cabecera': id_cabecera,
'url': url,
'usuario_id': usuario,
'datos': datos
});
}else {
var nombre_app = $('#nombre_app').attr('data-nombre');
var msg = i18next.t("oficinaVirtual:debeAceptarPoliticaPrivacidad",{txt_nombreapp:nombre_app})
jAlert(msg,'¡'+i18next.t("oficinaVirtual:atencion")+'!');
return false;
}
$(this).dialog('close');
}
}
});
}
function checkPais(tipoDocumentoId, paisId, documentoId){
var tipoDocumento = $(tipoDocumentoId).val();
if($("#id_lang").data("lang") == 'es'){
if(tipoDocumento == 'C' || tipoDocumento == 'N'){
$(paisId).val(73).prop('disabled', true);
$(documentoId).prop('maxLength', 9);
}else if(tipoDocumento == 'P') {
$(paisId + ' option[value="73"]').show();
$(paisId).val('').prop('disabled', false);
$(documentoId).prop('maxLength', 10);
} else if (tipoDocumento =='T' || tipoDocumento =='I') {
$(paisId).val('').prop('disabled', false);
$(paisId + " option[value='73']").hide();
$(documentoId).prop('maxLength', 10);
} else {
$(paisId + " option[value='73']").show();
$(paisId).val('').prop('disabled', false);
$(documentoId).prop('maxLength', 9);
}
} else {
if(tipoDocumento =='C' || tipoDocumento =='N' || tipoDocumento =='T'|| tipoDocumento =='CC'){
$(paisId + " option[value='177']").show();
$(paisId).val(177);
} else if (tipoDocumento =='P' || tipoDocumento =='I') {
$(paisId).val('');
$(paisId + " option[value='177']").hide();
} else {
$(paisId + " option[value='177']").show();
$(paisId).val('');
}
}
}