<?php

    session_start();

    if(empty($_SESSION['login_appquadrata'])){

        echo"<script language='javascript'>window.location='/appquadrata/login'</script>;";

        exit();

    }

?>

<!DOCTYPE html>

<?php

/*inicializamos valores para la configuracion del template*/

$setting_template='../../../settings_template.txt';

$variables=[];

$_Color='';

$_Template='';

$_Theme_Template='';

$_Css='';

$_Js='';

$_Css_Version='';

$_Js_Version='';

if (file_exists($setting_template)) {

    $lines = file($setting_template, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

    foreach ($lines as $line) {

        list($nombre_variable, $valor) = explode('=', $line);

        $variables[$nombre_variable] = $valor;

    }

    /*recogemos los valores de las variables*/

    if (isset($variables['Color'])) {

        $_Color = $variables['Color'];



        //echo "El color es: $_Color";

    }

    if (isset($variables['Template'])) {

        $_Template = $variables['Template'];

        //echo "El Template es: $_template";

    }

    if (isset($variables['Theme_Template'])) {

        $_Theme_Template = $variables['Theme_Template'];

        //echo "El Theme_Template es: $_Theme_Template";

    }

    if (isset($variables['css'])) {

        $_Css = $variables['css'];

        //echo "El css es: $_Css";

    }

    if (isset($variables['js'])) {

        $_Js = $variables['js'];

        //echo "El js es: $_Js";

    }

    if (isset($variables['Rows_Columns'])) {

        $_Rows_Columns = $variables['Rows_Columns'];

    }else{

        $_Rows_Columns=4;

    }

    if (isset($variables['css_version'])) {

        $_Css_Version = $variables['css_version'];

        //echo "El css es: $_Css";

    }

    if (isset($variables['js_version'])) {

        $_Js_Version = $variables['js_version'];

        //echo "El js es: $_Js";

    }

}

/*terminan valores de configuracion pára el template*/

?>

<html  style="background-color: rgb(241, 245, 249);" lang="es" class="<?php if($_Color!=''){ echo 'theme-user'; }else{ echo $_Theme_Template; }?>">

<meta http-equiv='Content-Type' content='text/html; charset=ISO-8859-1'>

<meta name='description' content='Información sobre contenido de tu pagina'>

<meta name='keywords' content='aqui van los tags para ser encontrados por los boots de google ejemplo fibora,ti hyper solutions'>

<meta charset="UTF-8" />

<HEAD>



<?php

    //Declaramos la variable time, para que al modificar un archivo, este no se guarde en cache y se vizualicen los cambios

    $time_log_assets=time();

    include('../../path.php');

    //require('../modelo/clientes.php');

    require(ROOT_CONTROLLER.'clientes.php');

    $Obj_clientes = new clientes(); 

?>



    <!---<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">---><!--se agrego esta dependencia para los iconos de lado izquierdo en los inputs-->

    <script src='https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.js'></script>

    <meta name="viewport" content="width=device-width,initial-scale=1">

    <!-- BEGIN: CSS Assets-->

    <link rel="stylesheet" href="../../../dist/css/<?=$_Css;?>?dummy=<?=$_Css_Version;?>" />

    <!-- END: CSS Assets-->

    <link rel="stylesheet" href="../../../dist/css/input_file.css?dummy=<?=$_Css_Version;?>" />

    <script src="../../../dist/js/noback.js?dummy=<?=$_Css_Version;?>" type="text/javascript"></script>

    <!--Comienza plugins JTABLE--->

    <script src="https://unpkg.com/sweetalert/dist/sweetalert.min.js"></script>

    <!--Termina plugins JTABLE--->

    <!---llamamos la libreria de tinymce--->

    <script defer src="../../../dist/tinymce/tinymce/main.js?dummy=<?=$_Js_Version;?>"></script>

    <link rel="stylesheet" href="../../../dist/tinymce/tinymce/estilos.css?dummy=<?=$_Css_Version;?>" />

    <script src="../../../dist/tinymce/tinymce/tinymce.min.js?dummy=<?=$_Js_Version;?>" referrerpolicy="origin"></script>

    <!---Terminamos de agregar editor tinymce--->

    <!-- Cropper.js CSS -->
    <link href="../../../dist/css/cropper.min.css?dummy=<?=$_Js_Version;?>" rel="stylesheet"/>

    <!---incluimos dependencias para el select con buscador-->

    <script src="https://code.jquery.com/jquery-3.7.1.js" integrity="sha256-eKhayi8LEQwp4NKxN+CfCh+3qOVUtJn3QNZ0TciWLP4=" crossorigin="anonymous"></script>

    <link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />

    <script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>

    <link rel="stylesheet" href="../../../dist/css/app_style.css?dummy=<?=$_Css_Version;?>" />

    <!--termina dependencias para el select con buscador--->

        

<?php



$action=!empty($_REQUEST['action'])?$_REQUEST['action']:'';

$_ScrollTo=!empty($_REQUEST['_ScrollTo'])?$_REQUEST['_ScrollTo']:'';

$_Buscar=!empty($_REQUEST['_Buscar'])?$_REQUEST['_Buscar']:'';

$_Action = $_Buscar!='' ? 'buscar' : '';

$_Pagina=!empty($_REQUEST['pagina'])?$_REQUEST['pagina']:'';

//DECLARAMOS VARIABLES PARA LA RELACION CON ENTIDAD PADRE
$_Clausula_Fk=!empty($_REQUEST['_Clausula_Fk'])?$_REQUEST['_Clausula_Fk']:'';

$_IdFk=!empty($_REQUEST['_IdFk'])?$_REQUEST['_IdFk']:'';

//DECLARAMOS VARIABLES PARA LA RELACION CON ENTIDAD BISABUELO
$_B_Clausula_Fk=!empty($_REQUEST['_B_Clausula_Fk'])?$_REQUEST['_B_Clausula_Fk']:'';

$_B_IdFk=!empty($_REQUEST['_B_IdFk'])?$_REQUEST['_B_IdFk']:'';

//DECLARAMOS VARIABLES PARA LA RELACION CON ENTIDAD ABUELO
$_A_Clausula_Fk=!empty($_REQUEST['_A_Clausula_Fk'])?$_REQUEST['_A_Clausula_Fk']:'';

$_A_IdFk=!empty($_REQUEST['_A_IdFk'])?$_REQUEST['_A_IdFk']:'';

$Id_Clientes=!empty($_REQUEST['Id_Clientes'])?$_REQUEST['Id_Clientes']:'';
$Imagen='';
$Id_Fk_Catalogo_Cliente_Pertenece='';
$Promotor='';
$Id_Fk_Catalogo_Esquema_Crediticio='';
$Esquema_Crediticio='';
$Id_Fk_Catalogo_Tipo_Persona='';
$Tipo_Persona='';
$Id_Fk_Regimen_Fiscal='';
$Regimen='';
$Nombre_Completo='';
$Apellido_Paterno='';
$Apellido_Materno='';
$RFC='';
$Razon_Social_Persona_Moral='';
$Fecha_Constitucion_Persona_Moral='';
$Nombre_De_Contacto_Persona_Moral='';
$Puesto_De_Contacto_Persona_Moral='';
$Id_Fk_Estado_Civil='';
$Estado_Civil='';
$Calle='';
$Numero_Exterior='';
$Numero_Interior='';
$Colonia='';
$Delegacion_Municipio='';
$Codigo_Postal='';
$Coordenadas='';
$Telefono_Oficina='';
$Extension='';
$No_De_Celular='';
$Correo_1='';
$Correo_2='';
$Correo_3='';
$Observaciones_Y_Notas='';
$Fecha_De_Registro='';
$Usuario_Que_Registra='';
$Fecha_De_Modificacion='';
$Usuario_Que_Modifico='';


switch ($action) {

    case 'editar':
        $_Case_Consult='Editar_Columna';
        echo"<TITLE>Editar clientes</TITLE>";
        break;

    default:
        $_Case_Consult='Registrar_Columna';
        echo"<TITLE>Registrar clientes</TITLE>";
        break;

}



require_once(ROOT_CHARACTER_FIX);

$Obj_fix_characters = new fix_characters();

require_once(ROOT_CONTROLLER.'clientes.php');

$Obj_clientes = new clientes();//para los datos del formulario

$Obj_clientes2 = new clientes();//para los datos del paginador


$isMobile = preg_match('/(iPhone|iPad|iPod|Android)/i', $_SERVER['HTTP_USER_AGENT']);

//lee las variables del formulario.

if (!empty($_POST))

{

    /*require_once(ROOT_CONFIG);      

    $Odbj_conexion = new odbconexion;

    $conexion=$Odbj_conexion->openconection();

    $consulta="SELECT * FROM clientes WHERE Id_Clientes='$Id_Clientes' ORDER BY Id_Clientes DESC";

    $Array_adapter_clientes=$conexion->query($consulta);

    $conexion->close();*/

    $Array_adapter_clientes=$Obj_clientes->getbyid_clientes($Id_Clientes);

    while($field_clientes=$Array_adapter_clientes->fetch_assoc())

    {

    $Imagen=$field_clientes['Imagen'];
   $Id_Fk_Catalogo_Cliente_Pertenece=$field_clientes['Id_Fk_Catalogo_Cliente_Pertenece'];
   $Promotor=$field_clientes['Promotor'];
   $Id_Fk_Catalogo_Esquema_Crediticio=$field_clientes['Id_Fk_Catalogo_Esquema_Crediticio'];
   $Esquema_Crediticio=$field_clientes['Esquema_Crediticio'];
   $Id_Fk_Catalogo_Tipo_Persona=$field_clientes['Id_Fk_Catalogo_Tipo_Persona'];
   $Tipo_Persona=$field_clientes['Tipo_Persona'];
   $Id_Fk_Regimen_Fiscal=$field_clientes['Id_Fk_Regimen_Fiscal'];
   $Regimen=$field_clientes['Regimen'];
   $Nombre_Completo=$field_clientes['Nombre_Completo'];
   $Apellido_Paterno=$field_clientes['Apellido_Paterno'];
   $Apellido_Materno=$field_clientes['Apellido_Materno'];
   $RFC=$field_clientes['RFC'];
   $Razon_Social_Persona_Moral=$field_clientes['Razon_Social_Persona_Moral'];
   $Fecha_Constitucion_Persona_Moral=$field_clientes['Fecha_Constitucion_Persona_Moral'];
   $Nombre_De_Contacto_Persona_Moral=$field_clientes['Nombre_De_Contacto_Persona_Moral'];
   $Puesto_De_Contacto_Persona_Moral=$field_clientes['Puesto_De_Contacto_Persona_Moral'];
   $Id_Fk_Estado_Civil=$field_clientes['Id_Fk_Estado_Civil'];
   $Estado_Civil=$field_clientes['Estado_Civil'];
   $Calle=$field_clientes['Calle'];
   $Numero_Exterior=$field_clientes['Numero_Exterior'];
   $Numero_Interior=$field_clientes['Numero_Interior'];
   $Colonia=$field_clientes['Colonia'];
   $Delegacion_Municipio=$field_clientes['Delegacion_Municipio'];
   $Codigo_Postal=$field_clientes['Codigo_Postal'];
   $Coordenadas=$field_clientes['Coordenadas'];
   $Telefono_Oficina=$field_clientes['Telefono_Oficina'];
   $Extension=$field_clientes['Extension'];
   $No_De_Celular=$field_clientes['No_De_Celular'];
   $Correo_1=$field_clientes['Correo_1'];
   $Correo_2=$field_clientes['Correo_2'];
   $Correo_3=$field_clientes['Correo_3'];
   $Observaciones_Y_Notas=$field_clientes['Observaciones_Y_Notas'];
   $Fecha_De_Registro=$field_clientes['Fecha_De_Registro'];
   $Usuario_Que_Registra=$field_clientes['Usuario_Que_Registra'];
   $Fecha_De_Modificacion=$field_clientes['Fecha_De_Modificacion'];
   $Usuario_Que_Modifico=$field_clientes['Usuario_Que_Modifico'];
   

    }

}?>    



<?php  

    $row_registers=0;

    $arreglo_registers = array();

    /*$Odbj_conexion = new odbconexion;

    $conexion=$Odbj_conexion->openconection();

    $consulta="SELECT * FROM clientes ORDER BY Id_Clientes ASC";

    $Array_adapter_clientes_registers=$conexion->query($consulta);

    $conexion->close();*/

    $Array_adapter_clientes_registers=$Obj_clientes2->get_clientes_paginador_frm();

    $rows_registers=$Array_adapter_clientes_registers->num_rows;

    while($field_clientes_register=$Array_adapter_clientes_registers->fetch_assoc())

    {

        $row_registers++;

        array_push($arreglo_registers, array("id" => $field_clientes_register['Id_Clientes'], "numero" => $row_registers));

   

    }

    //permisos de columnas para usuarios no admin
    $Rol_Usuario_Logued_App=$_SESSION['Rol_appquadrata'];
    $Id_Modulo_Fk_En_Modulo_App=0;
    $columnasConPermiso = [];
    try{  
        $Odbj_conexion = new odbconexion;
        $conexion=$Odbj_conexion->openconection();
        $consulta="SELECT p.Id_Permiso_App,p.Id_Fk_Rol,p.Id_Modulo_Fk,p.Registrar,p.Leer,p.Editar,p.Eliminar,p.Exportar,m.Id_Modulo_App,m.Titulo_Modulo,m.Descripcion_Modulo,m.Tipo_Menu,m.Href_Modulo,m.Tipo_Enlace,m.Icon_Fa_Modulo FROM permiso_app_appquadrata p JOIN modulo_app_appquadrata m ON Id_Modulo_Fk=Id_Modulo_App WHERE Id_Fk_Rol='$Rol_Usuario_Logued_App' AND Leer='Si' ORDER BY Id_Permiso_App DESC ";
        $Array_adapter_permiso_modulo=$conexion->query($consulta);
        while($Field_Permiso_Modulo=$Array_adapter_permiso_modulo->fetch_assoc())
        {
            $Id_Modulo_Fk_En_Modulo_App=$Field_Permiso_Modulo['Id_Modulo_Fk'];
        }

        $consulta_columna="SELECT p.Id_Fk_Rol,m.Id_Modulo_App,p.Titulo_Columna,p.Leer_Columna,p.Registrar_Columna,p.Editar_Columna FROM permiso_columna_appquadrata p JOIN modulo_app_appquadrata m ON Id_Modulo_Fk=Id_Modulo_App WHERE Id_Fk_Rol='$Rol_Usuario_Logued_App' AND $_Case_Consult='Si' AND Id_Modulo_Fk='$Id_Modulo_Fk_En_Modulo_App'";
        $Array_adapter_permiso_columna=$conexion->query($consulta_columna);
        $conexion->close();
        while($Field_Permiso_columna=$Array_adapter_permiso_columna->fetch_assoc())
        {
            $columnasConPermiso[] = $Field_Permiso_columna['Titulo_Columna'];
        }

    }catch (Exception $e) {

        echo 'Excepcion capturada: ',  $e->getMessage(), "";

    }

?> 



<script language='JavaScript'> 

var statSend = false;

function checkSubmit() {

    if (!statSend) {

        statSend = true;

        return true;

    } else {

        alert('La Informaci\u00F3n ya se est\u00E1 enviando, por favor espere...');

        return false;

    }

}

</script> 

<style>

     ::-webkit-scrollbar {

        display: none;

    }



</style>

</HEAD>

    <center>

    <BODY onload="noback();">

  <?php

    //Comienza form del formulario

echo "<div class='intro-y box form-box'>";

    

    switch ($action) {

    case 'editar':

        echo "

            <div class='flex items-center p-5 border-b border-slate-200/60 dark:border-darkmode-400'>

                <h2 class='font-medium text-base mr-auto'>

                    EDITAR CLIENTES

                </h2>";

            if($rows_registers>1){

                foreach ($arreglo_registers as $elemento) {

                    if ($elemento["id"] === $Id_Clientes) {

                        $numeroEncontrado = $elemento["numero"];

                        break; // Detén el bucle una vez que se encuentre el elemento

                    }

                }

                echo "<p class='mr-3'>".$numeroEncontrado."/".$rows_registers."</p>";



                if($numeroEncontrado>1){

                    $registerPrev=$numeroEncontrado-1;

                    

                    foreach ($arreglo_registers as $elemento) {

                        if ($elemento["numero"] === $registerPrev) {

                            $idEncontradoPrev = $elemento["id"];

                            break; // Detén el bucle una vez que se encuentre el elemento

                        }

                    }

                    echo "<form action='./formulario.php' method='Post' onsubmit='loadingpage();'>

                        <input type='hidden' value='$idEncontradoPrev' name='Id_Clientes'>

                        <input name='action' value='editar' type='hidden'>

                        <button type='submit' class='btn-navigation-registers'><svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' icon-name='chevron-left' data-lucide='chevron-left' class='lucide chevron-left w-6 h-6 mr-1 mt-1'><path d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'></path><circle cx='12' cy='12' r='3'></circle></svg></button>

                    </form>";

                }



                if($numeroEncontrado<$row_registers){

                    $registerNext=$numeroEncontrado+1;

                    

                    foreach ($arreglo_registers as $elemento) {

                        if ($elemento["numero"] === $registerNext) {

                            $idEncontradoNext = $elemento["id"];

                            break; // Detén el bucle una vez que se encuentre el elemento

                        }

                    }

                    echo "<form action='./formulario.php' method='Post' onsubmit='loadingpage();'>

                        <input type='hidden' value='$idEncontradoNext' name='Id_Clientes'>

                        <input name='action' value='editar' type='hidden'>

                        <button type='submit' class='btn-navigation-registers'><svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' icon-name='chevron-right' data-lucide='chevron-right' class='lucide chevron-right w-6 h-6 mr-1 mt-1'><path d='M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z'></path><circle cx='12' cy='12' r='3'></circle></svg></button>

                    </form>";

                }

            }

        echo "</div>";

        break;

    

    default:

        echo"

            <div class='flex items-center p-5 border-b border-slate-200/60 dark:border-darkmode-400'>

                <h2 class='font-medium text-base mr-auto'>

                    REGISTRAR CLIENTES

                </h2>

            </div>";

        break;

    }



    switch($_Rows_Columns){

        case 1:

        $cols_columns=12;

        break;

        case 2:

        $cols_columns=6;

        break;

        case 3:

        $cols_columns=4;

        break;

        case 4:

        $cols_columns=3;

        break;

        default:

        $cols_columns=12;

        break;



    }



    echo "<div class='p-5'>

            <form name='registrar'onsubmit='loadingpage();return checkSubmit();' action='../bussines/guardar.php' method='Post' enctype='multipart/form-data'>      

            <div class='grid grid-cols-12 gap-x-5'>

                <div class='col-span-12 xl:col-span-12'>";

                    echo "<input type='hidden' name='_ScrollTo' value='$_ScrollTo'>";

                    echo "<input type='hidden' name='_Pagina' value='$_Pagina'>";

                    echo "<input type='hidden' name='Id_Clientes' value='$Id_Clientes'>";

                    echo "<div class='grid grid-cols-12 gap-x-5'>";

                      echo " 

                                <div class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns media-center' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Imagen', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <label for='update-profile-form-7' class='form-label'>Imagen: </label>";

                                        if ($Imagen=='') {

                                            echo"<img id='blahImagen' src='../../../dist/images/upload.gif'  style='border-style: inset;width:140px;height:140px;border-radius:150px;padding:7px;margin:auto;' />";

                                        }else{

                                            if (file_exists($Imagen)) {

                                                if (@exif_imagetype($Imagen)) {

                                                    $time=time();

                                                    $time=filectime($Imagen);

                                                    echo"<input type='hidden' name='Imagen' value='$Imagen'>";

                                                    echo"<img id='blahImagen' src='$Imagen?dummy=$time' alt='Empresa'  style='border-style: inset;width:140px;height:140px;border-radius:150px;padding:7px;margin:auto;' />";

                                                }else{

                                                    echo"<img id='blahImagen' src='../../../dist/images/upload.gif'  style='border-style: inset;width:140px;height:140px;border-radius:150px;padding:7px;margin:auto;' />";

                                                }

                                            }else{

                                                echo"<img id='blahImagen' src='../../../dist/images/upload.gif'  style='border-style: inset;width:140px;height:140px;border-radius:150px;padding:7px;margin:auto;' />";   

                                            }

                                        }

                             echo "
                                <div class=\"content-btn-media-UI\">
                                    <input type='file' name='Imagen_file' id='Imagen_file' class='inputfile inputfile-2' accept='image/x-png,image/gif,image/jpeg' onchange=\"document.getElementById('spanImagen').innerHTML=this.files[0].name;document.getElementById('blahImagen').src = window.URL.createObjectURL(this.files[0]);\"  style='max-width:80%;'/>

                                      <label for='Imagen_file'><svg xmlns='http://www.w3.org/2000/svg' class='iborrainputfile' width='20' height='17' viewBox='0 0 20 17'><path d='M10 0l-5.2 4.9h3.3v5.1h3.8v-5.1h3.3l-5.2-4.9zm9.3 11.5l-3.2-2.1h-2l3.4 2.6h-3.5c-.1 0-.2.1-.2.1l-.8 2.3h-6l-.8-2.2c-.1-.1-.1-.2-.2-.2h-3.6l3.4-2.6h-2l-3.2 2.1c-.4.3-.7 1-.6 1.5l.6 3.1c.1.5.7.9 1.2.9h16.3c.6 0 1.1-.4 1.3-.9l.6-3.1c.1-.5-.2-1.2-.7-1.5z'></path></svg><span class='iborrainputfile' id='spanImagen'>Seleccionar archivo</span>

                                      </label>
                                  </div>";

                            echo "</div>";

                            
                               

                            if($_Clausula_Fk=="Id_Fk_Catalogo_Cliente_Pertenece"){

                                echo "<input type='hidden' name='Id_Fk_Catalogo_Cliente_Pertenece' value='{$_IdFk}'>";

                            }else{  

                                echo " 

                                <div class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Id_Fk_Catalogo_Cliente_Pertenece', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <!--<label for='update-profile-form-7' class='form-label'>Id Fk Catalogo Cliente Pertenece: </label>-->
                                    <label for='update-profile-form-7' class='form-label'>Seleccionar Catalogo Cliente Pertenece: </label>";

                                    echo "<select name='Id_Fk_Catalogo_Cliente_Pertenece' id='Id_Fk_Catalogo_Cliente_Pertenece' class='select-search form-control' onchange=\"asignarValoresId_Fk_Catalogo_Cliente_Pertenece(this.options[this.selectedIndex])\" >

                                        <option value='' selected disabled>Selecciona un registro</option>";

                                        $Odbj_conexion = new odbconexion;

                                        $conexion=$Odbj_conexion->openconection();

                                        $consulta="SELECT * FROM catalogo_cliente_pertenece";

                                        $Adapter_catalogo_cliente_pertenece=$conexion->query($consulta);

                                        $conexion->close();

                                        while($Field_catalogo_cliente_pertenece=$Adapter_catalogo_cliente_pertenece->fetch_assoc())

                                        {

                                            if($Field_catalogo_cliente_pertenece['Id_Catalogo_Cliente_Pertenece']==$Id_Fk_Catalogo_Cliente_Pertenece){

                                                echo "<option  data-Promotor='{$Field_catalogo_cliente_pertenece['Promotor']}' value='{$Field_catalogo_cliente_pertenece['Id_Catalogo_Cliente_Pertenece']}' selected>{$Field_catalogo_cliente_pertenece['Promotor']}</option>";

                                            }else{

                                                echo "<option  data-Promotor='{$Field_catalogo_cliente_pertenece['Promotor']}' value='{$Field_catalogo_cliente_pertenece['Id_Catalogo_Cliente_Pertenece']}'>{$Field_catalogo_cliente_pertenece['Promotor']}</option>";

                                            }

                                        }

                                    echo "</select>";

                                echo "

                                </div>

                                "; 

                            }

                              echo " 

                                <div class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Promotor', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <label for='update-profile-form-7' class='form-label'>Promotor: </label>

                                    <input id='Promotor_Disabled' value='$Promotor' type='text' class='form-control'  placeholder='Promotor' disabled>

                                    <input id='Promotor' name='Promotor' value='$Promotor' type='hidden' class='form-control'  placeholder='Promotor' >

                                </div>";
                               

                            if($_Clausula_Fk=="Id_Fk_Catalogo_Esquema_Crediticio"){

                                echo "<input type='hidden' name='Id_Fk_Catalogo_Esquema_Crediticio' value='{$_IdFk}'>";

                            }else{  

                                echo " 

                                <div class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Id_Fk_Catalogo_Esquema_Crediticio', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <!--<label for='update-profile-form-7' class='form-label'>Id Fk Catalogo Esquema Crediticio: </label>-->
                                    <label for='update-profile-form-7' class='form-label'>Tipo de Registro: </label>";

                                    echo "<select name='Id_Fk_Catalogo_Esquema_Crediticio' id='Id_Fk_Catalogo_Esquema_Crediticio' class='select-search form-control' onchange=\"asignarValoresId_Fk_Catalogo_Esquema_Crediticio(this.options[this.selectedIndex])\" >

                                        <option value='' selected disabled>Selecciona un registro</option>";

                                        $Odbj_conexion = new odbconexion;

                                        $conexion=$Odbj_conexion->openconection();

                                        $consulta="SELECT * FROM catalogo_esquema_crediticio";

                                        $Adapter_catalogo_esquema_crediticio=$conexion->query($consulta);

                                        $conexion->close();

                                        while($Field_catalogo_esquema_crediticio=$Adapter_catalogo_esquema_crediticio->fetch_assoc())

                                        {

                                            if($Field_catalogo_esquema_crediticio['Id_Catalogo_Esquema_Crediticio']==$Id_Fk_Catalogo_Esquema_Crediticio){

                                                echo "<option  data-Titulo_Tipo_Registro='{$Field_catalogo_esquema_crediticio['Titulo_Tipo_Registro']}' value='{$Field_catalogo_esquema_crediticio['Id_Catalogo_Esquema_Crediticio']}' selected>{$Field_catalogo_esquema_crediticio['Titulo_Tipo_Registro']}</option>";

                                            }else{

                                                echo "<option  data-Titulo_Tipo_Registro='{$Field_catalogo_esquema_crediticio['Titulo_Tipo_Registro']}' value='{$Field_catalogo_esquema_crediticio['Id_Catalogo_Esquema_Crediticio']}'>{$Field_catalogo_esquema_crediticio['Titulo_Tipo_Registro']}</option>";

                                            }

                                        }

                                    echo "</select>";

                                echo "

                                </div>

                                "; 

                            }

                              echo " 

                                <div class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Esquema_Crediticio', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <label for='update-profile-form-7' class='form-label'>Esquema Crediticio: </label>

                                    <input id='Esquema_Crediticio_Disabled' value='$Esquema_Crediticio' type='text' class='form-control'  placeholder='Esquema Crediticio' disabled>

                                    <input id='Esquema_Crediticio' name='Esquema_Crediticio' value='$Esquema_Crediticio' type='hidden' class='form-control'  placeholder='Esquema Crediticio' >

                                </div>";
                               

                            if($_Clausula_Fk=="Id_Fk_Catalogo_Tipo_Persona"){

                                echo "<input type='hidden' name='Id_Fk_Catalogo_Tipo_Persona' value='{$_IdFk}'>";

                            }else{  

                                echo " 

                                <div class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Id_Fk_Catalogo_Tipo_Persona', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <!--<label for='update-profile-form-7' class='form-label'>Id Fk Catalogo Tipo Persona: </label>-->
                                    <label for='update-profile-form-7' class='form-label'>Régimen Fiscal: </label>";

                                    echo "<select id='Id_Fk_Catalogo_Tipo_Persona' name='Id_Fk_Catalogo_Tipo_Persona'  class='select-search form-control' onchange=\"asignarValoresId_Fk_Catalogo_Tipo_Persona(this.options[this.selectedIndex])\" required>

                                        <option value='' selected disabled>Selecciona un registro</option>";

                                        $Odbj_conexion = new odbconexion;

                                        $conexion=$Odbj_conexion->openconection();

                                        $consulta="SELECT * FROM catalogo_tipo_persona";

                                        $Adapter_catalogo_tipo_persona=$conexion->query($consulta);

                                        $conexion->close();

                                        while($Field_catalogo_tipo_persona=$Adapter_catalogo_tipo_persona->fetch_assoc())

                                        {

                                            if($Field_catalogo_tipo_persona['Id_Catalogo_Tipo_Persona']==$Id_Fk_Catalogo_Tipo_Persona){

                                                echo "<option  data-Titulo='{$Field_catalogo_tipo_persona['Titulo']}' value='{$Field_catalogo_tipo_persona['Id_Catalogo_Tipo_Persona']}' selected>{$Field_catalogo_tipo_persona['Titulo']}</option>";

                                            }else{

                                                echo "<option  data-Titulo='{$Field_catalogo_tipo_persona['Titulo']}' value='{$Field_catalogo_tipo_persona['Id_Catalogo_Tipo_Persona']}'>{$Field_catalogo_tipo_persona['Titulo']}</option>";

                                            }

                                        }

                                    echo "</select>";

                                echo "

                                </div>

                                "; 

                            }

                              echo " 

                                <div class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Tipo_Persona', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <label for='update-profile-form-7' class='form-label'>Tipo Persona: </label>

                                    <input id='Tipo_Persona_Disabled' value='$Tipo_Persona' type='text' class='form-control'  placeholder='Tipo Persona' disabled>

                                    <input id='Tipo_Persona' name='Tipo_Persona' value='$Tipo_Persona' type='hidden' class='form-control'  placeholder='Tipo Persona' >

                                </div>";
                               

                            if($_Clausula_Fk=="Id_Fk_Regimen_Fiscal"){

                                echo "<input type='hidden' name='Id_Fk_Regimen_Fiscal' value='{$_IdFk}'>";

                            }else{  

                                // echo " 

                                // <div class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Id_Fk_Regimen_Fiscal', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                //     <!--<label for='update-profile-form-7' class='form-label'>Id Fk Regimen Fiscal: </label>-->
                                //     <label for='update-profile-form-7' class='form-label'>Seleccionar Regimen Fiscal: </label>";

                                //     echo "<select name='Id_Fk_Regimen_Fiscal' id='Id_Fk_Regimen_Fiscal' class='select-search form-control' onchange=\"asignarValoresId_Fk_Regimen_Fiscal(this.options[this.selectedIndex])\" >

                                //         <option value='' selected disabled>Selecciona un registro</option>";

                                //         $Odbj_conexion = new odbconexion;

                                //         $conexion=$Odbj_conexion->openconection();

                                //         $consulta="SELECT * FROM regimen_fiscal";

                                //         $Adapter_regimen_fiscal=$conexion->query($consulta);

                                //         $conexion->close();

                                //         while($Field_regimen_fiscal=$Adapter_regimen_fiscal->fetch_assoc())

                                //         {

                                //             if($Field_regimen_fiscal['Id_Regimen_Fiscal']==$Id_Fk_Regimen_Fiscal){

                                //                 echo "<option  data-Regimen_Tributario='{$Field_regimen_fiscal['Regimen_Tributario']}' value='{$Field_regimen_fiscal['Id_Regimen_Fiscal']}' selected>{$Field_regimen_fiscal['Regimen_Tributario']}</option>";

                                //             }else{

                                //                 echo "<option  data-Regimen_Tributario='{$Field_regimen_fiscal['Regimen_Tributario']}' value='{$Field_regimen_fiscal['Id_Regimen_Fiscal']}'>{$Field_regimen_fiscal['Regimen_Tributario']}</option>";

                                //             }

                                //         }

                                //     echo "</select>";

                                echo " 
                                <div class='mt-3 col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Id_Fk_Regimen_Fiscal', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">
                                    <label for='update-profile-form-7' class='form-label'>Régimen Tributario: </label>";

                                echo "<select name='Id_Fk_Regimen_Fiscal' id='Id_Fk_Regimen_Fiscal' class='select-search form-control' onchange=\"asignarValoresId_Fk_Regimen_Fiscal(this.options[this.selectedIndex])\">
                                        <option value='' selected disabled>Selecciona un registro</option>
                                    </select>";


                                echo "

                                </div>

                                "; 

                            }

                              echo " 

                                <div class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Regimen', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <label for='update-profile-form-7' class='form-label'>Regimen: </label>

                                    <input id='Regimen_Disabled' value='$Regimen' type='text' class='form-control'  placeholder='Regimen' disabled>

                                    <input id='Regimen' name='Regimen' value='$Regimen' type='hidden' class='form-control'  placeholder='Regimen' >

                                </div>";
                                 echo " 

                                <div id='Nombre_Completos' class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Nombre_Completo', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <label for='update-profile-form-7' class='form-label'>Nombre(s): </label>

                                   <input id='Nombre_Completo' name='Nombre_Completo' value='$Nombre_Completo' type='text' class='form-control'  placeholder='Nombre Completo' >

                                </div>";
                                 echo " 

                                <div id='Apellido_Paternos' class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Apellido_Paterno', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <label for='update-profile-form-7' class='form-label'>Apellido Paterno: </label>

                                   <input id='Apellido_Paterno' name='Apellido_Paterno' value='$Apellido_Paterno' type='text' class='form-control'  placeholder='Apellido Paterno' >

                                </div>";
                                 echo " 

                                <div id='Apellido_Maternos' class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Apellido_Materno', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <label for='update-profile-form-7' class='form-label'>Apellido Materno: </label>

                                   <input id='Apellido_Materno' name='Apellido_Materno' value='$Apellido_Materno' type='text' class='form-control'  placeholder='Apellido Materno' >

                                </div>";
                                 echo " 

                                <div class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('RFC', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <label for='update-profile-form-7' class='form-label'>RFC: </label>

                                   <input id='RFC' name='RFC' value='$RFC' type='text' class='form-control'  placeholder='RFC'  required>
                                    <small id='rfc-feedback' class='text-danger' style='display:none;'></small>

                                </div>";

                                 echo " 

                                <div id='Razon_Social_Persona_Morals' class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Razon_Social_Persona_Moral', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <label for='update-profile-form-7' class='form-label'>Razon Social Persona Moral: </label>

                                   <input id='Razon_Social_Persona_Moral' name='Razon_Social_Persona_Moral' value='$Razon_Social_Persona_Moral' type='text' class='form-control'  placeholder='Razon Social Persona Moral' >

                                </div>";
                                 echo " 

                                <div id='Fecha_Constitucion_Persona_Morals' class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Fecha_Constitucion_Persona_Moral', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <label for='update-profile-form-7' class='form-label'>Fecha Constitucion Persona Moral: </label>

                                   <input id='Fecha_Constitucion_Persona_Moral' name='Fecha_Constitucion_Persona_Moral' value='$Fecha_Constitucion_Persona_Moral' type='date' class='form-control'  placeholder='Fecha Constitucion Persona Moral' >

                                </div>";
                                 echo " 

                                <div id='Nombre_De_Contacto_Persona_Morals' class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Nombre_De_Contacto_Persona_Moral', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <label for='update-profile-form-7' class='form-label'>Nombre De Contacto Persona Moral: </label>

                                   <input id='Nombre_De_Contacto_Persona_Moral' name='Nombre_De_Contacto_Persona_Moral' value='$Nombre_De_Contacto_Persona_Moral' type='text' class='form-control'  placeholder='Nombre De Contacto Persona Moral' >

                                </div>";
                                 echo " 

                                <div id='Puesto_De_Contacto_Persona_Morals' class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Puesto_De_Contacto_Persona_Moral', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <label for='update-profile-form-7' class='form-label'>Puesto De Contacto Persona Moral: </label>

                                   <input id='Puesto_De_Contacto_Persona_Moral' name='Puesto_De_Contacto_Persona_Moral' value='$Puesto_De_Contacto_Persona_Moral' type='text' class='form-control'  placeholder='Puesto De Contacto Persona Moral' >

                                </div>";
                               

                            if($_Clausula_Fk=="Id_Fk_Estado_Civil"){

                                echo "<input type='hidden' name='Id_Fk_Estado_Civil' value='{$_IdFk}'>";

                            }else{  

                                echo " 

                                <div id='Id_Fk_Estado_Civils' class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Id_Fk_Estado_Civil', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <!--<label for='update-profile-form-7' class='form-label'>Id Fk Estado Civil: </label>-->
                                    <label for='update-profile-form-7' class='form-label'>Seleccionar Estado Civil: </label>";

                                    echo "<select name='Id_Fk_Estado_Civil' id='Id_Fk_Estado_Civil' class='select-search form-control' onchange=\"asignarValoresId_Fk_Estado_Civil(this.options[this.selectedIndex])\" >

                                        <option value='' selected disabled>Selecciona un registro</option>";

                                        $Odbj_conexion = new odbconexion;

                                        $conexion=$Odbj_conexion->openconection();

                                        $consulta="SELECT * FROM catalogo_estado_civil";

                                        $Adapter_catalogo_estado_civil=$conexion->query($consulta);

                                        $conexion->close();

                                        while($Field_catalogo_estado_civil=$Adapter_catalogo_estado_civil->fetch_assoc())

                                        {

                                            if($Field_catalogo_estado_civil['Id_Catalogo_Estado_Civil']==$Id_Fk_Estado_Civil){

                                                echo "<option  data-Estado_Civil='{$Field_catalogo_estado_civil['Estado_Civil']}' value='{$Field_catalogo_estado_civil['Id_Catalogo_Estado_Civil']}' selected>{$Field_catalogo_estado_civil['Estado_Civil']}</option>";

                                            }else{

                                                echo "<option  data-Estado_Civil='{$Field_catalogo_estado_civil['Estado_Civil']}' value='{$Field_catalogo_estado_civil['Id_Catalogo_Estado_Civil']}'>{$Field_catalogo_estado_civil['Estado_Civil']}</option>";

                                            }

                                        }

                                    echo "</select>";

                                echo "

                                </div>

                                "; 

                            }

                              echo " 

                                <div id='Id_Fk_Estado_Civilss' class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Estado_Civil', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <label for='update-profile-form-7' class='form-label'>Estado Civil: </label>

                                    <input id='Estado_Civil_Disabled' value='$Estado_Civil' type='text' class='form-control'  placeholder='Estado Civil' disabled>

                                    <input id='Estado_Civil' name='Estado_Civil' value='$Estado_Civil' type='hidden' class='form-control'  placeholder='Estado Civil' >

                                </div>";
                                 echo " 

                                <div class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Calle', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <label for='update-profile-form-7' class='form-label'>Calle: </label>

                                   <input id='Calle' name='Calle' value='$Calle' type='text' class='form-control'  placeholder='Calle' >

                                </div>";
                                 echo " 

                                <div class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Numero_Exterior', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <label for='update-profile-form-7' class='form-label'>Numero Exterior: </label>

                                   <input id='Numero_Exterior' name='Numero_Exterior' value='$Numero_Exterior' type='text' class='form-control'  placeholder='Numero Exterior' >

                                </div>";
                                 echo " 

                                <div class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Numero_Interior', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <label for='update-profile-form-7' class='form-label'>Numero Interior: </label>

                                   <input id='Numero_Interior' name='Numero_Interior' value='$Numero_Interior' type='text' class='form-control'  placeholder='Numero Interior' >

                                </div>";
                                 echo " 

                                <div class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Colonia', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <label for='update-profile-form-7' class='form-label'>Colonia: </label>

                                   <input id='Colonia' name='Colonia' value='$Colonia' type='text' class='form-control'  placeholder='Colonia' >

                                </div>";
                                 echo " 

                                <div class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Delegacion_Municipio', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <label for='update-profile-form-7' class='form-label'>Delegacion Municipio: </label>

                                   <input id='Delegacion_Municipio' name='Delegacion_Municipio' value='$Delegacion_Municipio' type='text' class='form-control'  placeholder='Delegacion Municipio' >

                                </div>";
                                 echo " 

                                <div class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Codigo_Postal', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <label for='update-profile-form-7' class='form-label'>Codigo Postal: </label>

                                   <input id='Codigo_Postal' name='Codigo_Postal' value='$Codigo_Postal' type='number' class='form-control'  placeholder='Codigo Postal' >

                                </div>";
                                 echo " 

                                <div class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Coordenadas', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <label for='update-profile-form-7' class='form-label'>Coordenadas: </label>

                                   <input id='Coordenadas' name='Coordenadas' value='$Coordenadas' type='text' class='form-control'  placeholder='Coordenadas' >

                                </div>";
                                 echo " 

                                <div class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Telefono_Oficina', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <label for='update-profile-form-7' class='form-label'>Telefono Oficina: </label>

                                    <input id='Telefono_Oficina'  onkeypress='return event.charCode >= 48 && event.charCode <= 57' name='Telefono_Oficina' value='$Telefono_Oficina' type='tel' class='form-control' placeholder='Telefono Oficina' >

                                </div>";
                                 echo " 

                                <div class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Extension', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <label for='update-profile-form-7' class='form-label'>Extension: </label>

                                   <input id='Extension' name='Extension' value='$Extension' type='text' class='form-control'  placeholder='Extension' >

                                </div>";
                                 echo " 

                                <div class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('No_De_Celular', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <label for='update-profile-form-7' class='form-label'>No De Celular: </label>

                                    <input id='No_De_Celular'  onkeypress='return event.charCode >= 48 && event.charCode <= 57' name='No_De_Celular' value='$No_De_Celular' type='tel' class='form-control' placeholder='No De Celular' >

                                </div>";
                                 echo " 

                                <div class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Correo_1', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <label for='update-profile-form-7' class='form-label'>Correo 1: </label>

                                   <input id='Correo_1' name='Correo_1' value='$Correo_1' type='email' class='form-control'  placeholder='Correo 1' >

                                </div>";
                                 echo " 

                                <div class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Correo_2', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <label for='update-profile-form-7' class='form-label'>Correo 2: </label>

                                   <input id='Correo_2' name='Correo_2' value='$Correo_2' type='email' class='form-control'  placeholder='Correo 2' >

                                </div>";
                                 echo " 

                                <div class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Correo_3', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <label for='update-profile-form-7' class='form-label'>Correo 3: </label>

                                   <input id='Correo_3' name='Correo_3' value='$Correo_3' type='email' class='form-control'  placeholder='Correo 3' >

                                </div>";
                                 echo " 

                                <div class='mt-3  col-span-12 lg:col-span-$cols_columns xl:col-span-$cols_columns' ".(($Rol_Usuario_Logued_App <= 2) || (in_array('Observaciones_Y_Notas', $columnasConPermiso) && $Rol_Usuario_Logued_App > 2) ? "" : "style='display:none;'").">

                                    <label for='update-profile-form-7' class='form-label'>Observaciones Y Notas: </label>

                                    <textarea id='editor'  style='/*width:600px;*/height:300px;' name='Observaciones_Y_Notas' placeholder='Observaciones Y Notas'>{$Observaciones_Y_Notas}</textarea>

                                </div>";
                                                   

echo "          

                   </div><!---Este div cierra el grid para los campos del formulario -->     

                </div>

            </div>";


        //Datos que vamos a mantener en cualquier situacion 
            $params = [];
            if (!empty($_Clausula_Fk))   $params[] = '_Clausula_Fk=' . urlencode($_Clausula_Fk);
            if (!empty($_IdFk))          $params[] = '_IdFk=' . urlencode($_IdFk);
            if (!empty($_A_Clausula_Fk)) $params[] = '_A_Clausula_Fk=' . urlencode($_A_Clausula_Fk);
            if (!empty($_A_IdFk))        $params[] = '_A_IdFk=' . urlencode($_A_IdFk);
            if (!empty($_B_Clausula_Fk)) $params[] = '_B_Clausula_Fk=' . urlencode($_B_Clausula_Fk);
            if (!empty($_B_IdFk))        $params[] = '_B_IdFk=' . urlencode($_B_IdFk);
            
            // Parámetros obligatorios
            $params[] = 'action=' . urlencode($_Action);
            $params[] = 'buscar=' . urlencode($_Buscar);
            $params[] = 'pagina=' . urlencode($_Pagina);
            $params[] = '_Id_Registro=' . urlencode($Id_Clientes);
            $params[] = '_ScrollTo=' . urlencode($_ScrollTo);
            // Construcción de la URL
            $_Url_Param = './?' . implode('&', $params);

         switch ($action) {

            case 'editar':
            
            echo "<div class='flex justify-end mt-4'>
                    <input type='hidden' name='action' value='editar'>
                    <a href='$_Url_Param' class='btn btn-danger flex items-center w-20 mr-auto'> Cancelar</a>
                    <button type='submit' class='btn btn-primary'>Guardar</button>
                </div>";
            break;

            case 'duplicar':
            
            echo "<div class='flex justify-end mt-4'>
                    <input type='hidden' name='action' value='duplicar'>
                    <a href='$_Url_Param' class='btn btn-danger flex items-center w-20 mr-auto'> Cancelar</a>
                    <button type='submit' class='btn btn-primary'>Guardar</button>
                </div>";
            break;

            default:
            
            echo "<div class='flex justify-end mt-4'>
                    <input type='hidden' name='action' value='registrar'>
                    <a href='$_Url_Param' class='btn btn-danger flex items-center w-20 mr-auto'> Cancelar</a>
                    <button type='submit' class='btn btn-primary'>Guardar</button>
                </div>";
            break;

        }                

echo "
        <!-- Campos para la relacion con entidad padre -->
        <input type='hidden' name='_IdFk' value='$_IdFk'>
        <input type='hidden' name='_Clausula_Fk' value='$_Clausula_Fk'>

        <!-- Campos para la relacion con entidad bisabuelo _B -->
        <input type='hidden' name='_B_IdFk' value='$_B_IdFk'>
        <input type='hidden' name='_B_Clausula_Fk' value='$_B_Clausula_Fk'>

        <!-- Campos para la relacion con entidad abuelo _A -->
        <input type='hidden' name='_A_IdFk' value='$_A_IdFk'>
        <input type='hidden' name='_A_Clausula_Fk' value='$_A_Clausula_Fk'>

";

echo "  </form>

        </div>

    </div>";





    //Termina form del formulario

?>

<script defer>
document.addEventListener('DOMContentLoaded', () => {
  const RFC_INPUT_ID = 'RFC';
  const FEEDBACK_ID  = 'rfc-feedback';
  // Ajusta según tu estructura real (clientes/view/ajax)
  const AJAX_URL     = `${location.origin}/appquadrata/home/clientes/view/ajax/check_rfc.php`;

  const rfcInput = document.getElementById(RFC_INPUT_ID);
  const feedback = document.getElementById(FEEDBACK_ID);
  const form     = rfcInput ? rfcInput.closest('form') : null;
  if (!rfcInput || !form) return;

  const actionInput = form.querySelector('input[name="action"]');
  const idInput     = form.querySelector('input[name="Id_Clientes"]');
  const excludeId   = (actionInput && actionInput.value === 'editar' && idInput) ? (idInput.value || '') : '';

  const submitButtons = form.querySelectorAll('button[type="submit"]');
  let lastCheck = { value: '', exists: false, msg: '' };
  let blockSubmit = false;
  let debTimer = null;

  function setSubmitEnabled(enabled){
    submitButtons.forEach(btn => {
      btn.disabled = !enabled;
      if (!enabled) btn.setAttribute('data-disabled-by', 'rfc-check');
      else if (btn.getAttribute('data-disabled-by') === 'rfc-check') btn.removeAttribute('data-disabled-by');
    });
  }

  function showFeedback(msg){
    if (msg) {
      feedback.textContent = msg;
      feedback.style.display = 'block';
      rfcInput.classList.add('is-invalid');
    } else {
      feedback.textContent = '';
      feedback.style.display = 'none';
      rfcInput.classList.remove('is-invalid');
    }
  }

  async function safeFetchJSON(url, body){
    const resp = await fetch(url, {
      method: 'POST',
      headers: {'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'},
      body
    });
    const raw = await resp.text();
    try { return { okHTTP: resp.ok, data: JSON.parse(raw), raw }; }
    catch { return { okHTTP: resp.ok, data: null, raw }; }
  }

  async function checkRFC(force=false){
    let val = (rfcInput.value || '').trim().toUpperCase();
    rfcInput.value = val;
    if (val === '') { showFeedback(''); setSubmitEnabled(true); blockSubmit = false; return; }

    if (!force && lastCheck.value === val) {
      blockSubmit = lastCheck.exists;
      setSubmitEnabled(!blockSubmit);
      showFeedback(blockSubmit ? lastCheck.msg : '');
      return;
    }

    const body = new URLSearchParams();
    body.set('rfc', val);
    if (excludeId) body.set('exclude_id', excludeId);

    try {
      //alert("📤 Enviando al AJAX:\n" + body.toString()); // debug
      const { okHTTP, data, raw } = await safeFetchJSON(AJAX_URL, body);
//      alert("📩 Respuesta del servidor:\n" + (data ? JSON.stringify(data, null, 2) : raw.slice(0,600))); // debug

      if (!okHTTP || !data) {
        showFeedback('No se pudo validar el RFC en este momento.');
        setSubmitEnabled(false); blockSubmit = true; return;
      }

      if (data.ok) {
        if (data.exists) {
          const msg = `RFC ya existe y pertenece a: ${data.owner}`;
          showFeedback(msg);
          setSubmitEnabled(false); blockSubmit = true;
          lastCheck = { value: val, exists: true, msg };
        } else {
          showFeedback('');
          setSubmitEnabled(true); blockSubmit = false;
          lastCheck = { value: val, exists: false, msg: '' };
        }
      } else {
        showFeedback(data.error || 'Error al validar RFC.');
        setSubmitEnabled(false); blockSubmit = true;
      }
    } catch (e) {
      showFeedback('Error de red al validar RFC.');
      alert('❌ Excepción en fetch:\n' + (e?.message || e));
      setSubmitEnabled(false); blockSubmit = true;
    }
  }

  function debouncedCheck(){ clearTimeout(debTimer); debTimer = setTimeout(() => checkRFC(false), 300); }

  rfcInput.addEventListener('input', debouncedCheck);
  rfcInput.addEventListener('blur', () => checkRFC(true));
  form.addEventListener('submit', async (ev) => {
    await checkRFC(true);
    if (blockSubmit) { ev.preventDefault(); ev.stopPropagation(); rfcInput.focus(); }
  });

  if ((rfcInput.value || '').trim() !== '') checkRFC(true);
});
</script>

<script>
// === UI Tipo de Persona (compatible con Select2) ===
// Respeta exactamente los IDs dados por ti.

const SELECT_ID = 'Id_Fk_Catalogo_Tipo_Persona';

const CAMPOS_PERSONA_FISICA = [
  'Nombre_Completo',
  'Apellido_Paterno',
  'Apellido_Materno',
  'Nombre_Completos',          // Label
  'Apellido_Paternos',         // Label
  'Apellido_Maternos',
  'Id_Fk_Estado_Civils',
  'Id_Fk_Estado_Civils'
];

const CAMPOS_PERSONA_MORAL = [
  'Razon_Social_Persona_Moral',
  'Fecha_Constitucion_Persona_Moral',
  'Nombre_De_Contacto_Persona_Moral',
  'Puesto_De_Contacto_Persona_Moral',
  'Razon_Social_Persona_Morals',        // Label
  'Fecha_Constitucion_Persona_Morals',  // Label
  'Nombre_De_Contacto_Persona_Morals',  // Label
  'Puesto_De_Contacto_Persona_Morals'   // Label
];

// ---------- Utilidades ----------
function contenedorDeCampo(el) {
  let nodo = el;
  while (nodo && nodo !== document.body) {
    if (nodo.classList) {
      const cls = nodo.className || '';
      if (
        /\bform-group\b/.test(cls) ||
        /\bmb-3\b/.test(cls) ||
        /\bmb-2\b/.test(cls) ||
        /\bcol-\d/.test(cls) ||
        /\brow\b/.test(cls) ||
        /\binput-group\b/.test(cls)
      ) return nodo;
    }
    nodo = nodo.parentElement;
  }
  return el;
}

function esLabelId(id) {
  // Heurística basada en tu convención: los labels terminan con "s"
  // (p. ej. Nombre_Completos). Si prefieres, cambia a verificación de tagName LABEL.
  return id.endsWith('s');
}

function toggleCampos(ids, mostrar) {
  ids.forEach(id => {
    const el = document.getElementById(id);
    if (!el) return;
    const wrap = contenedorDeCampo(el);
    wrap.style.display = mostrar ? '' : 'none';
  });
}

function resetCampo(el) {
  if (!el) return false;

  // Si es un label, no limpiamos
  if (el.tagName === 'LABEL') return false;

  // Inputs comunes
  if (el.tagName === 'INPUT') {
    const tipo = (el.type || '').toLowerCase();
    if (['text','email','number','tel','url','search','password','date','datetime-local','time','month','week','color'].includes(tipo)) {
      if (el.value !== '') { el.value = ''; dispatch(el); return true; }
      return false;
    }
    if (tipo === 'checkbox' || tipo === 'radio') {
      if (el.checked) { el.checked = false; dispatch(el); return true; }
      return false;
    }
    if (tipo === 'file') {
      if (el.value) { el.value = ''; dispatch(el); return true; }
      return false;
    }
    // Otros tipos: intentamos value genérico
    if (el.value) { el.value = ''; dispatch(el); return true; }
    return false;
  }

  // Textarea
  if (el.tagName === 'TEXTAREA') {
    if (el.value !== '') { el.value = ''; dispatch(el); return true; }
    return false;
  }

  // Select (incluye select2 oculto)
  if (el.tagName === 'SELECT') {
    const tenia = el.value && el.value !== '';
    // Limpieza estándar
    el.selectedIndex = -1;
    el.value = '';
    // Select2 (si aplica) refleja cambios al disparar "change"
    dispatch(el);
    return !!tenia;
  }

  return false;
}

function dispatch(el) {
  // Disparamos eventos para que cualquier listener (ej. validaciones) reaccione
  el.dispatchEvent(new Event('input', { bubbles: true }));
  el.dispatchEvent(new Event('change', { bubbles: true }));
}

function limpiarCampos(ids) {
  let limpiados = 0;
  ids.forEach(id => {
    const el = document.getElementById(id);
    if (!el) return;

    // Si el ID corresponde a un label (por convención), no lo limpiamos.
    if (esLabelId(id)) return;

    // En ocasiones el input está dentro del contenedor con ese ID (ej. label con input hijo)
    // Intento directo
    if (resetCampo(el)) {
      limpiados++;
      efectoLimpieza(el);
      return;
    }

    // Búsqueda de inputs hijos si el id apunta a un contenedor
    const childs = el.querySelectorAll('input, select, textarea');
    childs.forEach(hijo => {
      if (resetCampo(hijo)) {
        limpiados++;
        efectoLimpieza(hijo);
      }
    });
  });
  return limpiados;
}

function efectoLimpieza(el) {
  // Highlight sutil para confirmar al usuario que el campo fue limpiado
  const wrap = contenedorDeCampo(el);
  const prev = wrap.style.boxShadow;
  wrap.style.boxShadow = '0 0 0 3px rgba(255, 193, 7, .5)'; // amarillo suave
  setTimeout(() => { wrap.style.boxShadow = prev || ''; }, 600);
}

function ocultarAmbos() {
  toggleCampos(CAMPOS_PERSONA_FISICA, false);
  toggleCampos(CAMPOS_PERSONA_MORAL, false);
}

// Al cambiar de tipo, primero limpia el grupo que se ocultará y luego muestra el correspondiente.
function aplicarVistaPorTipo(valor) {
  if (valor === '1') {
    // Se mostrará FÍSICA → limpiar y ocultar MORAL
    const n = limpiarCampos(CAMPOS_PERSONA_MORAL);
    toggleCampos(CAMPOS_PERSONA_MORAL, false);
    toggleCampos(CAMPOS_PERSONA_FISICA, true);
    
  } else if (valor === '2') {
    // Se mostrará MORAL → limpiar y ocultar FÍSICA
    const n = limpiarCampos(CAMPOS_PERSONA_FISICA);
    toggleCampos(CAMPOS_PERSONA_FISICA, false);
    toggleCampos(CAMPOS_PERSONA_MORAL, true);
    
  } else {
    // Sin selección válida
    const n1 = limpiarCampos(CAMPOS_PERSONA_FISICA);
    const n2 = limpiarCampos(CAMPOS_PERSONA_MORAL);
    ocultarAmbos();
    
  }
}

// ---- Soporte para formularios inyectados dinámicamente ----
function esperarElemento(selector, timeoutMs = 10000) {
  return new Promise((resolve, reject) => {
    const el = document.querySelector(selector);
    if (el) return resolve(el);

    const obs = new MutationObserver(() => {
      const e2 = document.querySelector(selector);
      if (e2) {
        obs.disconnect();
        resolve(e2);
      }
    });
    obs.observe(document.documentElement, { childList: true, subtree: true });

    setTimeout(() => {
      obs.disconnect();
      reject(new Error('Timeout esperando ' + selector));
    }, timeoutMs);
  });
}

// Vincula eventos (compatible con Select2: usa change en el <select> real)
function bindEventosSelect2(selectEl) {
  // Estado inicial
  ocultarAmbos();
  // Si viene con valor precargado
  aplicarVistaPorTipo(selectEl.value);

  // Evento nativo
  selectEl.addEventListener('change', function () {
    aplicarVistaPorTipo(this.value);
  });

  // Fallback
  selectEl.addEventListener('input', function () {
    aplicarVistaPorTipo(this.value);
  });

  // Observa el contenedor visual de Select2 por re-render
  const contId = 'select2-' + SELECT_ID + '-container';
  const cont = document.getElementById(contId);
  if (cont) {
    const mo = new MutationObserver(() => {
      aplicarVistaPorTipo(selectEl.value);
    });
    mo.observe(cont, { childList: true, characterData: true, subtree: true });
  }
}

// ---------- Arranque ----------
document.addEventListener('DOMContentLoaded', async () => {
  try {
    const selectEl = await esperarElemento('#' + SELECT_ID);
    bindEventosSelect2(selectEl);
  } catch (e) {
    // Si no aparece el select a tiempo, no hacemos nada.
  }
});

document.addEventListener('input', function (e) {
  const el = e.target;

  // Aplica solo a inputs de texto y textareas
  if (el.tagName === 'INPUT' && el.type === 'text') {
    el.value = el.value.toUpperCase();
  }

  if (el.tagName === 'TEXTAREA') {
    el.value = el.value.toUpperCase();
  }


});



</script>


    </BODY>
    
    <!---nuevo script eliminar imagenes--->
    <div id="toast-container" style="position: fixed; top: 20px; right: 20px; z-index: 9999;"></div>

    <!--Modal para Imagenes Crop--->
    <div id="cropModal" style="display:none; position:fixed; z-index:9999; top:0; left:0; width:100vw; height:100vh; background:rgba(0,0,0,0.8); align-items:center; justify-content:center;">
      <div style="background:#fff; padding:10px; border-radius:8px; width:90vw; max-width:450px; max-height:90vh; display:flex; flex-direction:column;">
        <h5 style="text-align:center;">Recorta tu imagen</h5>
        <div style="flex:1; overflow:auto; text-align:center;">
          <img id="imageToCrop" src="" style="max-width:100%; max-height:70vh;">
        </div>
        <div style="width: -webkit-fill-available;margin-top:10px; text-align:right;display: flex;justify-content: space-between;">
          <button onclick="closeCropModal()" class="btn btn-danger" style="background:#dc3545;">Cancelar</button>
          <button onclick="cropImage()" class="btn btn-primary" style="background:#0d6efd;">Recortar</button>
        </div>
      </div>
    </div>
    <!--End Modal para Imagenes Crop--->
    
    <script>
    document.addEventListener("DOMContentLoaded", function () {
        const inputsFile = document.querySelectorAll("input[type='file']");

        function showToast(message, type = 'success') {
            const toast = document.createElement("div");
            toast.textContent = message;
            toast.style.padding = "12px 20px";
            toast.style.marginBottom = "10px";
            toast.style.backgroundColor = type === 'error' ? "#dc3545" : "#28a745";
            toast.style.color = "white";
            toast.style.borderRadius = "4px";
            toast.style.boxShadow = "0 2px 8px rgba(0,0,0,0.3)";
            toast.style.fontSize = "14px";
            toast.style.opacity = "0.95";
            toast.style.textAlign = "center";
            document.getElementById("toast-container").appendChild(toast);

            setTimeout(() => {
                toast.remove();
            }, 3500);
        }

        inputsFile.forEach(function (input) {
            
            //const inputId = input.id;
            //reemplazamos el id por el nombre, ya que el nombre es un identificador y esto nos ayuda a mejorar la validacion
            const inputId = input.name;

            if (!input.dataset.btnQuitarAgregado) {
                const btn = document.createElement("button");
                btn.type = "button";
                btn.className = "delete-media-UI";
                btn.innerHTML = `
                  <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" 
                       fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" 
                       stroke-linejoin="round" class="lucide lucide-trash2-icon lucide-trash-2">
                    <path d="M10 11v6"/>
                    <path d="M14 11v6"/>
                    <path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"/>
                    <path d="M3 6h18"/>
                    <path d="M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"/>
                  </svg>
                  Quitar archivo
                `;

                btn.style.clear = "both";
                btn.style.display = "none";

                const wrapper = input.closest('.inputfile-wrapper') || input.parentElement;
                if (wrapper) {
                    wrapper.appendChild(btn);
                } else {
                    input.insertAdjacentElement("afterend", btn);
                }

                input.dataset.btnQuitarAgregado = "true";

                input.addEventListener("change", function () {
                    btn.style.display = input.files.length > 0 ? "inline-flex" : "none";
                });

                btn.addEventListener("click", function () {
                    input.value = "";
                    btn.style.display = "none";

                    let mensajeToast = "Archivo eliminado correctamente.";

                    //if (inputId.includes("imagen")) {
                    if(inputId.endsWith("_file")){
                        const id = inputId.replace("_file", "");
                        const img = document.getElementById("blah" + id);
                        const span = document.getElementById("span" + id);
                        const hiddenInput = document.querySelector(`input[name='imagen_${id.split('_')[1]}']`);
                        if (img) img.src = "../../../dist/images/upload.gif";
                        if (span) span.textContent = "Seleccionar archivo";
                        if (hiddenInput) hiddenInput.value = "";
                    }

                    //if (inputId === "video_principal") {
                    if (!inputId.startsWith("archivo_") && !inputId.endsWith("_file")) {
                        const contenedor = document.getElementById("video_preview_" + inputId);
                        const hiddenInput = document.querySelector("input[name='hidden_" + inputId + "']");
                        if (contenedor) contenedor.innerHTML = `<p style="color:white;">No video</p>`;
                        if (hiddenInput) hiddenInput.value = "";
                        mensajeToast = "Video eliminado del formulario. Aún puede previsualizarse en caché.";
                    }

                    if (inputId.startsWith("archivo_")) {
                        const num = inputId.replace("archivo_", "");
                        const canvas = document.getElementById(num + "Canvas");
                        const icon = document.getElementById("img" + num);
                        const hiddenInput = document.querySelector(`input[name='${num}']`);
                        if (canvas) canvas.style.display = "none";
                        if (icon) {
                            icon.style.display = "block";
                            icon.src = "../../../dist/images/img_pdf.png";
                        }
                        if (hiddenInput) hiddenInput.value = "";
                    }

                    showToast(mensajeToast);
                });

                // Mostrar botón si ya hay archivo en modo edición
                let mostrarBtn = false;

                if(inputId.endsWith("_file")){
                    const num = inputId.replace("_file", "");
                    const hidden = document.querySelector(`input[name='${num}']`);
                    if (hidden && hidden.value.trim() !== "") mostrarBtn = true;
                }

                //if (inputId === "video_principal") {
                if (!inputId.startsWith("archivo_") && !inputId.endsWith("_file")) {
                    const hidden = document.querySelector("input[name='hidden_" + inputId + "']");
                    if (hidden && hidden.value.trim() !== "") mostrarBtn = true;
                }

                if (inputId.startsWith("archivo_")) {
                    const num = inputId.replace("archivo_", "");
                    const hidden = document.querySelector(`input[name='${num}']`);
                    if (hidden && hidden.value.trim() !== "") mostrarBtn = true;
                }

                if (mostrarBtn) {
                    btn.style.display = "inline-flex";
                }
            }
        });
    });
    </script>
    <!--end nuevo script eliminar imagenes-->
    <script src="../../../dist/js/form_keypad.js?time=<?=$_Js_Version;?>"></script> 

    <script>

        function asignarValoresId_Fk_Catalogo_Cliente_Pertenece(selectedOption) {

            if (!selectedOption) return;


            //const valor_Promotor = selectedOption.dataset.Promotor || "";

            const valor_Promotor = selectedOption.getAttribute('data-Promotor') || "";

            document.getElementById("Promotor").value = valor_Promotor;

            document.getElementById("Promotor_Disabled").value = valor_Promotor;
            

        }

    </script>
                               <script>

        function asignarValoresId_Fk_Catalogo_Esquema_Crediticio(selectedOption) {

            if (!selectedOption) return;


            //const valor_Titulo_Tipo_Registro = selectedOption.dataset.Titulo_Tipo_Registro || "";

            const valor_Titulo_Tipo_Registro = selectedOption.getAttribute('data-Titulo_Tipo_Registro') || "";

            document.getElementById("Esquema_Crediticio").value = valor_Titulo_Tipo_Registro;

            document.getElementById("Esquema_Crediticio_Disabled").value = valor_Titulo_Tipo_Registro;
            

        }

    </script>
                               <script>
function asignarValoresId_Fk_Catalogo_Tipo_Persona(selectedOption) {
    if (!selectedOption) return;

    // 0) Asigna los textos como ya lo hacías
    const valor_Titulo = selectedOption.getAttribute('data-Titulo') || "";
    const inpTipo = document.getElementById("Tipo_Persona");
    const inpTipoDisabled = document.getElementById("Tipo_Persona_Disabled");
    if (inpTipo) inpTipo.value = valor_Titulo;
    if (inpTipoDisabled) inpTipoDisabled.value = valor_Titulo;

    // 1) Obtener ID del tipo persona
    const idTipo = parseInt(selectedOption.value, 10) || 0;

    // 2) Referencia al select de Régimen Fiscal
    const regimenSel = document.getElementById('Id_Fk_Regimen_Fiscal');
    if (!regimenSel) {
        return;
    }

    // 3) Si no hay tipo válido, limpiar régimen y salir
    if (!idTipo || idTipo <= 0) {
        regimenSel.innerHTML = "<option value='' selected disabled>Selecciona un registro</option>";
        return;
    }

    // 4) Mostrar Loading
    regimenSel.disabled = true;
    regimenSel.innerHTML = "<option value='' disabled selected>Cargando...</option>";

    // 5) AJAX (AJUSTA ESTA RUTA si es necesario)
    const AJAX_URL_REGIMEN = "/appquadrata/home/clientes/view/ajax/get_regimen_fiscal_por_tipo.php";
    const url = AJAX_URL_REGIMEN + "?tipo=" + encodeURIComponent(idTipo);

    // Depuración

    fetch(url, { method: "GET", headers: { "Accept": "application/json" } })
        .then(res => {
            return res.json().catch(() => ({ ok: false, msg: "JSON inválido", data: [] }));
        })
        .then(json => {
            if (!json.ok) {
                regimenSel.innerHTML = "<option value='' selected disabled>Error cargando datos</option>";
                regimenSel.disabled = false;
                return;
            }

            // 6) Construir opciones
            let html = "<option value='' disabled selected>Selecciona un registro</option>";
            for (const item of (json.data || [])) {
                html += `<option value="${item.id}">${item.text}</option>`;
            }
            regimenSel.innerHTML = html;
            regimenSel.disabled = false;

            // 7) Disparar change por si usas Select2/algún plugin o lógica propia
            regimenSel.dispatchEvent(new Event('change', { bubbles: true }));
        })
        .catch(err => {
            regimenSel.innerHTML = "<option value='' selected disabled>Error de conexión</option>";
            regimenSel.disabled = false;
        });
}

        



    </script>
                               <script>

        function asignarValoresId_Fk_Regimen_Fiscal(selectedOption) {

            if (!selectedOption) return;


            //const valor_Regimen_Tributario = selectedOption.dataset.Regimen_Tributario || "";

            const valor_Regimen_Tributario = selectedOption.getAttribute('data-Regimen_Tributario') || "";

            document.getElementById("Regimen").value = valor_Regimen_Tributario;

            document.getElementById("Regimen_Disabled").value = valor_Regimen_Tributario;
            

        }

    </script>
                               <script>

        function asignarValoresId_Fk_Estado_Civil(selectedOption) {

            if (!selectedOption) return;


            //const valor_Estado_Civil = selectedOption.dataset.Estado_Civil || "";

            const valor_Estado_Civil = selectedOption.getAttribute('data-Estado_Civil') || "";

            document.getElementById("Estado_Civil").value = valor_Estado_Civil;

            document.getElementById("Estado_Civil_Disabled").value = valor_Estado_Civil;
            

        }

    </script>
                                  

<script type="text/javascript">

    window.onload=function(){

        window.scrollTo(0,0);

        window.parent.scrollTo(0,0);

        if(parent.document.getElementById('loadingpage')){

            parent.document.getElementById('loadingpage').style.display='none';

        }

    }



    function loadingpage(){

        if(parent.document.getElementById('loadingpage')){

          parent.document.getElementById('loadingpage').style.display='block'; 

        }

    }

</script>

<script>

    //document.getElementsByClassName('').select2();

    $('.select-search').select2();

</script>   


    <!---CODIGO PARA IMAGENES CROP--->
    <script src="../../../dist/js/cropper.min.js"></script>
    <script>
    let cropper = null;
    let currentInput = null;
    let currentPreview = null;

    document.addEventListener('DOMContentLoaded', () => {
      document.querySelectorAll('.data-img-crop input[type="file"]').forEach(input => {
        input.addEventListener('change', handleFileChange);
      });
    });

    function handleFileChange(event) {
      const input = event.target;
      const file = input.files?.[0];
      if (!file) return;

      currentInput = input;
      currentPreview = input.closest('.data-img-crop').querySelector('.data-preview-img-crop');

      const reader = new FileReader();
      reader.onload = function (e) {
        const image = document.getElementById('imageToCrop');

        // Destruir cropper si existe
        if (cropper) {
          cropper.destroy();
          cropper = null;
        }

        // Forzar recarga de la imagen para evitar superposición
        image.removeAttribute('src'); // limpia completamente
        image.onload = () => {
          cropper = new Cropper(image, {
            aspectRatio: 1,
            viewMode: 1,
            autoCropArea: 1,
            responsive: true
          });

          document.getElementById('cropModal').style.display = 'flex';
        };

        setTimeout(() => {
          image.src = e.target.result; // recargar después de limpiar
        }, 10); // delay mínimo para forzar el onload correctamente
      };

      reader.readAsDataURL(file);
    }

    function cropImage() {
      if (!cropper) return;

      const canvas = cropper.getCroppedCanvas({ width: 300, height: 300 });
      canvas.toBlob(blob => {
        const url = URL.createObjectURL(blob);

        // Mostrar preview
        if (currentPreview) {
          currentPreview.src = url;
        }

        // Reemplazar archivo en input
        const file = new File([blob], 'cropped.png', { type: 'image/png' });
        const dataTransfer = new DataTransfer();
        dataTransfer.items.add(file);
        currentInput.files = dataTransfer.files;

        closeCropModal();
      }, 'image/png');
    }

    function closeCropModal() {
      document.getElementById('cropModal').style.display = 'none';

      // Destruir cropper
      if (cropper) {
        cropper.destroy();
        cropper = null;
      }

      // Limpiar imagen para evitar duplicados
      const image = document.getElementById('imageToCrop');
      image.removeAttribute('src');

      // Reset inputs
      currentInput = null;
      currentPreview = null;
    }
    </script>
    <!---END CODIGO PARA IMAGENES CROP--->
    <script src="../../../dist/js/app.js"></script> 

    </center>
</HTML>