<?php

/*
   +-----------------------------------------------------------------+
   | Actualizaciones:                                                |
   |-----------------------------------------------------------------| 
   | 30-AGO-2018(YMRP): Se incluye validaciones al paso de Codeudor  |
   |                    para garantizar que solo uno de los pasos se |
   |                    encuentre activo. Req 2749 Mto Proyecto      |
   +-----------------------------------------------------------------+
*/

class cf_solCred_Asistido extends General{

   private $asociado;
   private $parametros;
   private $dom;
   private $xml;
   private $producto;
   private $asistido;

   function __construct(gr_nucleo_Asociado $asociado=null) {
      parent::__construct();
      $this->asociado=$this->getAsociado();
      $this->parametros=null;
      $this->xml=null;
   }

   public function setParametros($parametros) {
      $this->parametros=$parametros;
   }

   public function setParametro($parametro,$valor) {
      if($this->parametros==null) {
         $this->parametros=array();
      }
      $this->parametros[$parametro]=$valor;
   }

   public function getRadicacion($request) {
      $request['tipo_asistido']='Radicacion';
      $this->setParametros($request);
   }

   public function getSimulacion($request) {
      $request['tipo_asistido']='Simulacion';
      $this->setParametros($request);
   }

   public function cargarInfo() {
      try {
         if(!isset($this->parametros['v_capital_cuota'])||!isset($this->parametros['q_cuota'])||!isset($this->parametros['v_monto_max'])) {
            $usuario_web=Configuracion::getUsuarioConexion();
            if(Configurar::getFuncionario()->getNusuari()!=$usuario_web) {
               $asociado2=Configuracion::unserialize("gr_nucleo_Asociado");
               $k_idterc=$asociado2->getK_idterc();
               if(isset($this->parametros['n_k_conven'])&&$this->parametros['n_k_conven']!=''){
                  $sql="DECLARE BEGIN pk_we_consultar_credito.pr_consulta_condiciones('TRUE',:n_k_producto,:n_k_modali,{$asociado2->getK_idterc()},:xml,:n_k_conven,:n_k_usuari); END;";
               }else{
                  $sql="DECLARE BEGIN pk_we_consultar_credito.pr_consulta_condiciones('TRUE',:n_k_producto,:n_k_modali,{$asociado2->getK_idterc()},:xml); END;";
               }
               Configuracion::serialize($asociado2);
            } else {
               $k_idterc=$this->asociado->getK_idterc();
               if(isset($this->parametros['n_k_conven'])&&$this->parametros['n_k_conven']!=''){
                  $sql="DECLARE BEGIN pk_we_consultar_credito.pr_consulta_condiciones('FALSE',:n_k_producto,:n_k_modali,{$this->asociado->getK_idterc()},:xml,:n_k_conven); END;";
               }else{
                  $sql="DECLARE BEGIN pk_we_consultar_credito.pr_consulta_condiciones('FALSE',:n_k_producto,:n_k_modali,{$this->asociado->getK_idterc()},:xml); END;";
               }
            }
            if(isset($this->parametros['n_k_conven'])&&$this->parametros['n_k_conven']!=''){
               $parametrosSql=array(
                  'xml'=> array(
                     'valor'=>'',
                     'longitud'=>'CLOB'
                  ),
                  'n_k_producto'=> array(
                     'valor'=>$this->parametros['producto'],
                     'longitud'=>-1
                  ),
                  'n_k_modali'=> array(
                     'valor'=>$this->parametros['modalidad'],
                     'longitud'=>-1
                  ),
                  'n_k_conven'=> array(
                     'valor'=>$this->parametros['n_k_conven'],
                     'longitud'=>-1
                  ),
                  'n_k_usuari'=>array(
                     'valor'=>Configurar::getFuncionario()->getNusuari(),
                     'longitud'=>-1
                  )
               );
            }else{
               $parametrosSql=array(
                  'xml'=> array(
                     'valor'=>'',
                     'longitud'=>'CLOB'
                  ),
                  'n_k_producto'=> array(
                     'valor'=>$this->parametros['producto'],
                     'longitud'=>-1
                  ),
                  'n_k_modali'=> array(
                     'valor'=>$this->parametros['modalidad'],
                     'longitud'=>-1
                  )
               );
            }
            $info=Configurar::getDb()->ejecutaSentencia($sql,$parametrosSql);
            $domDoc=new DOMDocument();
            $domDoc->loadXML(utf8_encode($parametrosSql['xml']['valor']));
            if(!isset($this->parametros['v_capital_cuota'])) {
               $this->parametros['v_capital_cuota']=$domDoc->getElementsByTagName('V_CAPITAL_CUOTA');
               $this->parametros['v_capital_cuota']=$this->parametros['v_capital_cuota']->item(0);
               $this->parametros['v_capital_cuota']=$this->parametros['v_capital_cuota']->nodeValue;
            }
            if(!isset($this->parametros['q_cuota'])) {
               $this->parametros['q_cuota']=$domDoc->getElementsByTagName('V_NUMERO_CUOTAS');
               $this->parametros['q_cuota']=$this->parametros['q_cuota']->item(0);
               $this->parametros['q_cuota']=$this->parametros['q_cuota']->nodeValue;
            }
            if(!isset($this->parametros['v_monto_max'])) {
               $this->parametros['v_monto_max']=$domDoc->getElementsByTagName('V_MONTO_CREDITO');
               $this->parametros['v_monto_max']=$this->parametros['v_monto_max']->item(0);
               $this->parametros['v_monto_max']=$this->parametros['v_monto_max']->nodeValue;
            }
            if(!isset($this->parametros['v_netoliq_max'])) {
               $this->parametros['v_netoliq_max']=$domDoc->getElementsByTagName('V_LIQUID');
               $this->parametros['v_netoliq_max']=$this->parametros['v_netoliq_max']->item(0);
               $this->parametros['v_netoliq_max']=$this->parametros['v_netoliq_max']->nodeValue;
            }
            /*-----------------!!! 03-DIC-2018(ACCV) ------------------+
            | Se incluye la opci�n de mostrar un cupo y/o neto m�ximo  |
            | sin tener en cuenta las condiciones de capacidad de pago |
            | (47 y 95), para que el usuario pueda simular por el tope |
            | m�ximo, y pueda ajustar su capacidad de pago, para       |
            | alcanzarlo                                               |
            +----------------------------------------------------------*/
            $this->parametros['i_calcul']=$domDoc->getElementsByTagName('i_calcul')->item(0)->nodeValue;                     //!!! 03-DIC-2018(ACCV), nuevo
            $this->parametros['v_netscp']=$domDoc->getElementsByTagName('v_netscp')->item(0)->nodeValue;                     //!!! 03-DIC-2018(ACCV), nuevo
            $this->parametros['v_monscp']=$domDoc->getElementsByTagName('v_monscp')->item(0)->nodeValue;                     //!!! 03-DIC-2018(ACCV), nuevo
            $this->parametros['n_tdatad']=$domDoc->getElementsByTagName('n_tdatad')->item(0)->nodeValue;                     //!!! 26-ENE-2019(ACCV), nuevo
			$this->parametros['i_cuouni']=$domDoc->getElementsByTagName('i_cuouni')->item(0)->nodeValue;                     //!!! 11-NOV-2020(RIPC)  Nuevo Elemento. FLJ_MTO:24476            
            $this->setParametro('n_xml', utf8_encode($parametrosSql['xml']['valor']));                                       //!!! 02-MAR-2017(ACCV)
         } else {
            $this->parametros['v_monto_max']=str_replace("$","",str_replace(",","",$this->parametros['v_monto_max']));
            $this->parametros['v_capital_cuota']=str_replace("$","",str_replace(",","",$this->parametros['v_capital_cuota']));
            $this->parametros['v_netoliq_max'] = $this->parametros['v_netoliq_max'];                                         //!!! 03-DIC-2018(ACCV), nuevo
            $this->parametros['i_calcul'] = $this->parametros['i_calcul'];                                                   //!!! 03-DIC-2018(ACCV), nuevo
            $this->parametros['v_netscp'] = $this->parametros['v_netscp'];                                                   //!!! 03-DIC-2018(ACCV), nuevo
            $this->parametros['v_monscp'] = $this->parametros['v_monscp'];                                                   //!!! 03-DIC-2018(ACCV), nuevo
            $this->parametros['n_tdatad'] = $this->parametros['n_tdatad'];                                                   //!!! 26-ENE-2019(ACCV), nuevo
			$this->parametros['i_cuouni'] = $this->parametros['i_cuouni'];                                                   //!!! 11-NOV-2020(RIPC)  Nuevo Elemento. FLJ_MTO:24476            
            /*--------------------!!! 02-MAR-2017(ACCV) ----------------------+
            | Cuando se han consultado previamente los topes de la solicitud  |
            | se generaba error porque no encontraba el xml a evaluar. Por lo |
            | que se almacena el XML en memoria, para usarlo cuando lleguen   |
            | los datos de topes, y as� tenerlos, a�n cuando no se realice la |
            | consulta a la base de datos                                     |
            +-----------------------------------------------------------------*/
            $domDoc=new DOMDocument();
            $domDoc->loadXML($this->getParametro('n_xml'));                                      //!!! 02-MAR-2017(ACCV)
         }
         $num_asistido='';
         if(isset($this->parametros['i_modopc_asistido'])){
            $this->parametros['tipo_asistido']='personalizado';
         }
         $conResumen=!(isset($this->parametros['conResumen'])&&$this->parametros['conResumen']=='N');
         
         //09-JUL-2016(AFG) Envio de parametros al asistido.
         //$this->parametros['p_segvid'] = $domDoc->getElementsByTagName('p_segvid')->item(0)->nodeValue; 
         $param['modalidad_segvid'] = $domDoc->getElementsByTagName('modalidad_segvid')->item(0)->nodeValue;
         $param['p_segvid'] = $domDoc->getElementsByTagName('p_segvid')->item(0)->nodeValue;
         $param['i_otrcon'] = $domDoc->getElementsByTagName('i_otrcon')->item(0)->nodeValue;
         if($param['i_otrcon'] == 'M'){
            $param['p_otrconp'] = $domDoc->getElementsByTagName('ppotrcon')->item(0)->nodeValue;
         }else if($param['i_otrcon'] == 'P'){
            $param['p_otrconf'] = $domDoc->getElementsByTagName('ppotrcon')->item(0)->nodeValue;
         }         
         $param['p_otrcon'] = $domDoc->getElementsByTagName('ppotrcon')->item(0)->nodeValue;         
         $param['v_otrcon'] = $domDoc->getElementsByTagName('v_otrcon')->item(0)->nodeValue;         
         $param['i_capita'] = $domDoc->getElementsByTagName('i_capita')->item(0)->nodeValue;
         $param['p_capita'] = $domDoc->getElementsByTagName('p_capita')->item(0)->nodeValue;
         $param['v_capitaliz'] = $domDoc->getElementsByTagName('v_capitaliz')->item(0)->nodeValue;         
         $param['modalidad_capita'] = $domDoc->getElementsByTagName('modalidad_capita')->item(0)->nodeValue;
         $param['i_segvid'] = $domDoc->getElementsByTagName('i_segvid')->item(0)->nodeValue;
         $param['i_capotr'] = $domDoc->getElementsByTagName('i_capotr')->item(0)->nodeValue;
         $param['p_capadi'] = $domDoc->getElementsByTagName('p_capadi')->item(0)->nodeValue;
         
         //09-JUL-2016(AFG) Almacenamiento de parametros en memoria.
         $this->setParametro('modalidad_segvid_ori', $param['modalidad_segvid']);
         $this->setParametro('p_segvid_ori', $param['p_segvid']);
         $this->setParametro('i_otrcon_ori', $param['i_otrcon']);         
         $this->setParametro('p_otrcon_ori', $param['p_otrcon']);
         $this->setParametro('v_otrcon_ori', $param['v_otrcon']);
         $this->setParametro('i_capita_ori', $param['i_capita']);
         $this->setParametro('p_capita_ori', $param['p_capita']);
         $this->setParametro('v_capitaliz_ori', $param['v_capitaliz']);
         $this->setParametro('modalidad_capita_ori', $param['modalidad_capita']);
         $this->setParametro('i_capotr_ori', $param['i_capotr']);
         $this->setParametro('i_segvid_ori', $param['i_segvid']);
         
         switch($this->parametros['tipo_asistido']) {
            case 'Simulacion':
               //09-JUL-2016(AFG) envio de arreglo con los parametros al asistido
               $this->asistido=new gr_asistido_Asistido($conResumen,19,$param);
               $num_asistido='19';
               break;
            case 'Radicacion':
               $this->asistido=new gr_asistido_Asistido($conResumen,28);
               $num_asistido='28';
               break;
            case 'personalizado':
               $this->asistido=new gr_asistido_Asistido($conResumen,$this->parametros['i_modopc_asistido']);
               $num_asistido=$this->parametros['i_modopc_asistido'];
               break;
         }
         if(!isset($this->parametros['n_k_conven'])){
            $this->parametros['n_k_conven']='';
         }
         $this->asistido->setParametros($this->parametros);
         if(!isset($this->parametros['sufijo'])){
            $this->parametros['sufijo']='';
         }
         $idIncognita2=(trim($this->parametros['sufijo'])==''?'incognita2':'incognita2_'.$this->parametros['sufijo']);
         $idIncognita=(trim($this->parametros['sufijo'])==''?'incognita':'incognita_'.$this->parametros['sufijo']);
         $idInput_cf_solCred_v_perpag_pri=(trim($this->parametros['sufijo'])==''?'input_cf_solCred_v_perpag_pri':'input_cf_solCred_v_perpag_pri_'.$this->parametros['sufijo']);
         $idInput_cf_solCred_n_cumplerng=(trim($this->parametros['sufijo'])==''?'input_cf_solCred_n_cumplerng':'input_cf_solCred_n_cumplerng_'.$this->parametros['sufijo']);
         $idA_MODALIDAD_CREDITO_D=(trim($this->parametros['sufijo'])==''?'A_MODALIDAD_CREDITO_D':'A_MODALIDAD_CREDITO_D_'.$this->parametros['sufijo']);
         $idDom_a_dato_calcular_simulacion=(trim($this->parametros['sufijo'])==''?'dom_a_dato_calcular_simulacion':'dom_a_dato_calcular_simulacion_'.$this->parametros['sufijo']);
         $idDom_cf_solCred_valor_monto=(trim($this->parametros['sufijo'])==''?'dom_cf_solCred_valor_monto':'dom_cf_solCred_valor_monto_'.$this->parametros['sufijo']);
         $idDom_num_cuotas=(trim($this->parametros['sufijo'])==''?'dom_num_cuotas':'dom_num_cuotas_'.$this->parametros['sufijo']);
         $idInput_cf_solCred_q_cuota=(trim($this->parametros['sufijo'])==''?'input_cf_solCred_q_cuota':'input_cf_solCred_q_cuota_'.$this->parametros['sufijo']);
         $idDom_valor_cuota=(trim($this->parametros['sufijo'])==''?'dom_valor_cuota':'dom_valor_cuota_'.$this->parametros['sufijo']);
         $idDom_cf_solCred_valor_cuota=(trim($this->parametros['sufijo'])==''?'dom_cf_solCred_valor_cuota':'dom_cf_solCred_valor_cuota_'.$this->parametros['sufijo']);
         $idDom_cf_solCred_medio_pago=(trim($this->parametros['sufijo'])==''?'dom_cf_solCred_medio_pago':'dom_cf_solCred_medio_pago_'.$this->parametros['sufijo']);
         $idDom_cf_solCred_perpag=(trim($this->parametros['sufijo'])==''?'dom_cf_solCred_perpag':'dom_cf_solCred_perpag_'.$this->parametros['sufijo']);
         $idDom_cf_solCred_tipnom=(trim($this->parametros['sufijo'])==''?'dom_cf_solCred_tipnom':'dom_cf_solCred_tipnom_'.$this->parametros['sufijo']);
         $idDom_cf_solCred_perpag_i=(trim($this->parametros['sufijo'])==''?'dom_cf_solCred_perpag_i':'dom_cf_solCred_perpag_i_'.$this->parametros['sufijo']);
         $idIs_cf_solCred_cuoext=(trim($this->parametros['sufijo'])==''?'is_cf_solCred_cuoext':'is_cf_solCred_cuoext_'.$this->parametros['sufijo']);
         $idIs_cf_solCred_RecogerCreditos=(trim($this->parametros['sufijo'])==''?'is_cf_solCred_RecogerCreditos':'is_cf_solCred_RecogerCreditos_'.$this->parametros['sufijo']);
         $idDom_tit_cf_solCred_cont_descnom=(trim($this->parametros['sufijo'])==''?'dom_tit_cf_solCred_cont_descnom':'dom_tit_cf_solCred_cont_descnom_'.$this->parametros['sufijo']);
         $idPaso_cf_solCred_Amortizacion=(trim($this->parametros['sufijo'])==''?'paso_cf_solCred_Amortizacion':'paso_cf_solCred_Amortizacion_'.$this->parametros['sufijo']);
         //19-SEP-2016 (AFG) Nueva variable de recarga en el paso de seguros
         $idPaso_cf_solCred_Recalcular=(trim($this->parametros['sufijo'])==''?'paso_cf_solCred_Recalcular':'paso_cf_solCred_Recalcular_'.$this->parametros['sufijo']);
         $idPaso_cf_solCred_CuoExt=(trim($this->parametros['sufijo'])==''?'paso_cf_solCred_CuoExt':'paso_cf_solCred_CuoExt_'.$this->parametros['sufijo']);
         $idPaso_cf_solCred_RecogerCreditos=(trim($this->parametros['sufijo'])==''?'paso_cf_solCred_RecogerCreditos':'paso_cf_solCred_RecogerCreditos_'.$this->parametros['sufijo']);
         $idPaso_cf_solCred_Aceptacion=(trim($this->parametros['sufijo'])==''?'paso_cf_solCred_Aceptacion':'paso_cf_solCred_Aceptacion_'.$this->parametros['sufijo']);
         $idPaso_gr_requisitosGenerales_Consultar=(trim($this->parametros['sufijo'])==''?'paso_gr_requisitosGenerales_Consultar':'paso_gr_requisitosGenerales_Consultar_'.$this->parametros['sufijo']);
         
         /*------------------!!! 20-MAY-2019(ACCV) ---------------------+
         | Se modifica para que el paso de datos de contacto, no sea    |
         | presentado, si el asistido es un subasistido dentro de otra  |
         | opción, puesto que allí, debería ser implementado            |
         +--------------------------------------------------------------*/
         if($this->parametros['mostrarDatosContacto'] == "N") {       //!!! 20-MAY-2019(ACCV), nuevo bloque
            $this->asistido->removePaso('cf_solCred_DatosContacto');
         }                                                            //!!! 20-MAY-2019(ACCV), nuevo bloque
         $componente=$this->asistido->getPaso('cf_solCred_DatosContacto');
         if(!empty($componente)) {
            /*---------------------!!! 18-NOV-2016(ACCV) ------------------------+
            | Nueva funci�n para permitir la presentaci�n de los promotores      |
            | asociados a las zonas del negocio seleccionado                     |
            +--------------------------------------------------------------------*/
            $componente->setOnEnter(
               "var n_k_negoci = '';".
               "if($('A_CODIGO_NEGOCIO')!= null){".
                  "if($('A_CODIGO_NEGOCIO').value != '-1'){".
                     "n_k_negoci = $('A_CODIGO_NEGOCIO').value;".
                  "}".
                  "crearDivModal('dv_gr_datosContactoRegla_Formul', 'cf_solCred_DatosContacto_Espera');".
                  "Linix.cargarPagina('dv_gr_datosContactoRegla_Formul', 'lnxSeccion.php', 'valorMetodo=Y&objeto=cf_solCred_Asistido&metodo=ActualizarDatosContacto&A_CODIGO_NEGOCIO='+n_k_negoci, null, {".
                     "onSuccess: function(){".
                        "eliminarDivModal('cf_solCred_DatosContacto_Espera');".
                     "}".
                  "});".
               "}");                                           //!!! 18-NOV-2016(ACCV)
            $componente=$componente->getComponente();
            $componente->setParametros($this->parametros);
            $componente->setAsociado($this->asociado);
            $componente->cargarInfo();
            if(!$componente->isMostrable()) {
               $this->asistido->removePaso('cf_solCred_DatosContacto');
            }
         }
         
         /*-------------------------!!! 07-SEP-2016(CMT)  ----------------------------+
         | Se adiciona paso de beneficiarios en seguros de vida.                      \
         +----------------------------------------------------------------------------*/
         $componenteBeneficiario=$this->asistido->getPaso('cf_solCred_Beneficiarios');
         if(!empty($componenteBeneficiario)) {
               $componenteBeneficiario->setId('cf_solCred_Beneficiarios');
            $componente=$componenteBeneficiario->getComponente();
            $onEnter.="
               var paso=this.options.pasos[solicitado-1].paso.getElement('.contenido');
               var queryPhp=this.toQueryObjectCompleto();

               queryPhp['servicio']='Y';
               queryPhp['objeto']='cf_solCred_Beneficiarios';
               queryPhp['metodo']='Parametros';

               Linix.cargarPagina(paso,'lnxSeccion.php', queryPhp);
            ";
            $componenteBeneficiario->setOnEnter($onEnter);
         }
         
         /*---------------------!!! 26-FEB-2018(YMRP) -------------------------+
         | Se modifica para que en los asistidos de Eventos y Seguros se oculte|
         | el paso de Garantias y Codeudores. Req 822 de MtoProyectos.         |
         +--------------------------------------------------------------------*/
         if($this->parametros['mostrarGarantCodeud'] == "N") {       //!!! 20-MAY-2019(ACCV), condición modificada  
            $this->asistido->removePaso('cf_solCred_GarantiaCodeudor');
         }
         if($this->parametros['mostrarformasDesembolso'] == "N") {      //!!! 03-JUL-2019(SAOS), condición modificada
            $this->asistido->removePaso('ts_formasDesembolso_Formas');
         }
         /*----------------------!!! 30-AGO-2018(YMRP) ------------------------+
         | Si el parámetro sufijo está registrado, se removerá el paso de codeu|
         | dor no solidario.    Req 2749 de MtoProyectos.                      |
         +--------------------------------------------------------------------*/        

         if($this->parametros['mostrarGarantCodeud'] == "N") {      //!!! 20-MAY-2019(ACCV), condición modificada
            $this->asistido->removePaso('cf_solCred_GarantiaCodeudor_NoDeudor');
         }
          
         $componente=$this->asistido->getPaso('cf_solCred_GarantiaCodeudor_NoDeudor');
         if(!empty($componente)) {
            $componente=$componente->getComponente();
            $componente->setParametro("sufijo",$this->parametros['sufijo']);
         }    

         $componente=$this->asistido->getPaso('cf_solCred_GarantiaCodeudor');
         if(!empty($componente)) {
            $componente=$componente->getComponente();
            $componente->setParametro("sufijo",$this->parametros['sufijo']);
         }

         /*----------------------!!! 30-AGO-2018(YMRP) ------------------------+
         | Se incluye una validaci�n para garantizar que solo se tenga activo  |
         | uno de los pasos de Codeudor.  Req 2749 de MtoProyectos.            |
         +--------------------------------------------------------------------*/        
         $o_deudor=$this->asistido->getPaso('cf_solCred_GarantiaCodeudor');
         $o_nodeud=$this->asistido->getPaso('cf_solCred_GarantiaCodeudor_NoDeudor');
         if((!empty($o_deudor))&&(!empty($o_nodeud))){
         $error = "Se present&oacute; un error, por favor valide que no tenga activo los pasos de Codeudor y Deudor No solidario al mismo tiempo";
         throw new cf_solCred_Excepcion($error);
         }
         
         $componente=$this->asistido->getPaso('cf_solCred_CondicionRadicacion');
         if(!empty($componente)) {
            $componente=$componente->getComponente();
            $componente->setParametros($this->parametros);
         }         
         $ts_formasDesembolso_Formas=null;
         $componente=$this->asistido->getPaso('ts_formasDesembolso_Formas');
         if(!empty($componente)) {
            $ts_formasDesembolso_Formas=$componente->getComponente();
            $ts_formasDesembolso_Formas->setParametros(array(
               "k_producto"=>$this->parametros['producto'],
               "k_modali"=>$this->parametros['modalidad'],
               "k_idterc"=>$k_idterc,
               "sufijo"=>$this->parametros['sufijo']
            ));
         }

         $componente=$this->asistido->getPaso('cf_solCred_DatosComplementarios');
         if(!empty($componente)) {
            
            /*-------------------------!!! 17-FEB-2015(ACCV) -------------------------------+
            | Se modifica para que ya no eval�e el tipo de n�mina al ingresar a la secci�n  |
            | de datos complementarios, para mostrar o no el campo de autoriza descuento, ya|
            | que este campo, no ser� mostrado en este punto, sino que cada entidad lo      |
            | podr� colocar como una aceptaci�n. Esto se hizo debido a que se solicitaba,   |
            | que de acuerdo a la definici�n de la n�mina, unas veces solicitara el         |
            | descuento, y otras no, y no necesariamente variaba seg�n el tipo de n�mina    |
            +-------------------------------------------------------------------------------*/
            /*$componente->setOnEnter("
if($('{$idDom_cf_solCred_tipnom}').value=='N'){
   $('{$idDom_cf_solCred_cont_descnom}').setStyle('display','');
   $('{$idDom_tit_cf_solCred_cont_descnom}').setStyle('display','');
}else{
   $('{$idDom_cf_solCred_cont_descnom}').setStyle('display','none');
   $('{$idDom_tit_cf_solCred_cont_descnom}').setStyle('display','none');
}
            ");*/
            $componente=$componente->getComponente();
            $componente->setParametros($this->parametros);
         }
         $componente=$this->asistido->getPaso('cf_solCred_VariablesRadicacion');
         $usuario_web=Configuracion::getUsuarioConexion();
         if(Configurar::getFuncionario()->getNusuari()!=$usuario_web) {
            $asociado2=Configuracion::unserialize("gr_nucleo_Asociado");
            $k_idterc=$asociado2->getK_idterc();
            $Aanumnit=$asociado2->getAanumnit();
            $Nnasocia=$asociado2->getNnasocia();
            $k_nomina=$asociado2->getK_nomina();
            $n_nomina=$asociado2->getN_nomina();
            $esFuncionario='TRUE';
            Configuracion::serialize($asociado2);
         } else {
            $k_idterc=$this->asociado->getK_idterc();
            $Aanumnit=$this->asociado->getAanumnit();
            $Nnasocia=$this->asociado->getNnasocia();
            $k_nomina=$this->asociado->getK_nomina();
            $n_nomina=$this->asociado->getN_nomina();
            $esFuncionario='FALSE';
         }
         $this->parametros['V_CODIGOINTERNO']=$k_idterc;
         $this->parametros['k_nomina']=$k_nomina;
         $this->parametros['n_nomina']=$n_nomina;
         $this->parametros['A_CODIGO_CLIENTE']=$Aanumnit;
         $this->parametros['A_NOMBRE']=utf8_decode($Nnasocia);
         $this->parametros['modalidad_d']=General::toCodificadoDecode($this->parametros['modalidad_d']);
         if($this->parametros['dato_calcular_simulacion_d']=='NUMERO_CUOTA') {
            $this->parametros['dato_calcular_simulacion_d_k']='P';
         } else {
            $this->parametros['dato_calcular_simulacion_d_k']='C';
         }
         if($this->parametros['modalidad_simular_d']=='MONTO_SOLICITADO') {
            $this->parametros['modalidad_simular_d_k']='M';
         } else {
            $this->parametros['modalidad_simular_d_k']='N';
         }         
         if(!empty($componente)) {
            $componente->getComponente()->setParametros($this->parametros);
            $componente_2=$this->asistido->getPaso('cf_solCred_CondicionRadicacion');
            if(!empty($componente_2)) {
               /*-------------------------!!! 05-MAY-2014(ACCV) -------------------------------+
               | Se adiciona el campo "Valor maximo a recibir", en esta seccion, el cual sera  |
               | mostrado en vez de "cupo disponible", cuando el usuario elija suministrar el  |
               | valor a recibir                                                               |
               /*-------------------------!!! 03-DIC-2018(ACCV) -------------------------------+
               | Se incluye la opci�n de mostrar un cupo y/o neto m�ximo sin tener en cuenta   |
               | las condiciones de capacidad de pago (47 y 95), para que el usuario pueda     |
               | simular por el tope m�ximo, y pueda ajustar su capacidad de pago, para        |
               | alcanzarlo. Por lo que en este punto se adicionan las consideraciones de esos |
               | nuevos campos, en caso de que est�n habilitados                               |
               +-------------------------------------------------------------------------------*/
               $componente->setOnEnter("               
                  var i_cuouni = '".$this->getParametro("i_cuouni")."';               
                  if($('{$idIncognita}').value=='P'){
                     $('{$idDom_num_cuotas}').setStyle('display','none');
                     $('{$idDom_valor_cuota}').setStyle('display','');
                     $('{$idDom_cf_solCred_valor_cuota}').addClass('requerido');
                     if (i_cuouni == 'FALSE'){
					    $('{$idDom_cf_solCred_valor_cuota}').addClass('mayorCero');
                     }
                     $('{$idInput_cf_solCred_q_cuota}').removeClass('requerido');
                     $('{$idInput_cf_solCred_q_cuota}').removeClass('mayorCero');
                  }else{
                     $('{$idDom_num_cuotas}').setStyle('display','');
                     $('{$idDom_valor_cuota}').setStyle('display','none');
                     $('{$idInput_cf_solCred_q_cuota}').addClass('requerido');
                     $('{$idInput_cf_solCred_q_cuota}').addClass('mayorCero');
                     $('{$idDom_cf_solCred_valor_cuota}').removeClass('requerido');
                     $('{$idDom_cf_solCred_valor_cuota}').removeClass('mayorCero');
                  }
                  if($('{$idIncognita2}').value=='M'){
                     $('{$idDom_a_dato_calcular_simulacion}').innerHTML=".((isset($this->parametros['etiqueta_dato_calcular_simulacion']))?"'".$this->parametros['etiqueta_dato_calcular_simulacion']."'":"'Monto total de la solicitud'").";
                     $('dom_netoliq_max').setStyle('display','none');
                     $('dom_netoliq_max_scp').setStyle('display','none');
                     $('dom_cupo_max').setStyle('display','');
                     $('dom_cupo_max_scp').setStyle('display','');
                  }else{
                     $('{$idDom_a_dato_calcular_simulacion}').innerHTML=".((isset($this->parametros['etiqueta_dato_calcular_simulacion']))?"'".$this->parametros['etiqueta_dato_calcular_simulacion']."'":"'Valor que desea recibir'").";
                     $('dom_netoliq_max').setStyle('display','');
                     $('dom_netoliq_max_scp').setStyle('display','');
                     $('dom_cupo_max').setStyle('display','none');
                     $('dom_cupo_max_scp').setStyle('display','none');
                  }  
               ");
            } else {
               $onEnter="";
               if($this->parametros['dato_calcular_simulacion_d']=='NUMERO_CUOTA') {
                  $onEnter.="$('{$idDom_num_cuotas}').setStyle('display','none');
                           $('{$idDom_valor_cuota}').setStyle('display','');
                           $('{$idDom_cf_solCred_valor_cuota}').addClass('requerido');
                           $('{$idDom_cf_solCred_valor_cuota}').addClass('mayorCero');
                           $('{$idInput_cf_solCred_q_cuota}').removeClass('requerido');
                           $('{$idInput_cf_solCred_q_cuota}').removeClass('mayorCero');";
               } else {
                  $onEnter.="$('{$idDom_num_cuotas}').setStyle('display','');
                           $('{$idDom_valor_cuota}').setStyle('display','none');
                           $('{$idInput_cf_solCred_q_cuota}').addClass('requerido');
                           $('{$idInput_cf_solCred_q_cuota}').addClass('mayorCero');
                           $('{$idDom_cf_solCred_valor_cuota}').removeClass('requerido');
                           $('{$idDom_cf_solCred_valor_cuota}').removeClass('mayorCero');";
               }
               if($this->parametros['modalidad_simular_d']=='MONTO_SOLICITADO') {
                  $onEnter.="$('{$idDom_a_dato_calcular_simulacion}').innerHTML=".((isset($this->parametros['etiqueta_dato_calcular_simulacion']))?"'".$this->parametros['etiqueta_dato_calcular_simulacion']."'":"'Monto total de la solicitud'").";";
               } else {
                  $onEnter.="$('{$idDom_a_dato_calcular_simulacion}').innerHTML=".((isset($this->parametros['etiqueta_dato_calcular_simulacion']))?"'".$this->parametros['etiqueta_dato_calcular_simulacion']."'":"'Valor que desea recibir'").";";
               }
               $componente->setOnEnter($onEnter);
            }
            /*-------------------!!! 10-MAY-2019(JCH) -------------------------+
            | Se ejecuta metodo al cargar el paso solo si no tiene el paso de  |
            | multiples formas depago, para que valide si la nomina            |
            | esta asociada para debito automatico, ya que esta accion solo se |
            | ejecuta cuando se cambia el valor del select de medio de pago.   |
            | En caso de que tenga el paso de multiples fomas de pago se       |
            | remueve el evento ONCHANGE ya que el debito se evaluara en el    |
            | el paso de multiples formas de pago                              |
            +-----------------------------------------------------------------*/
            if(!$this->asistido->existePaso('jst_cf_formasPago_multiplesFormasPago')){
               $componente->setOnEnter(
                  $componente->getOnEnter().
                  '  let sltNomina=$("'.$idDom_cf_solCred_medio_pago.'");
                     if(sltNomina && gr_mediosPago_DebitoAutomatico){
                        gr_mediosPago_DebitoAutomatico.validarDebitoAutomatico(sltNomina.value, sltNomina);
                     }
                  '
               );
            }else{
               $componente->setOnEnter(
                  $componente->getOnEnter().
                  '  let sltNomina=$("'.$idDom_cf_solCred_medio_pago.'");
                     sltNomina && sltNomina.removeAttribute("onchange");
                  '
               );
            }

            $componente->setOnLeave("
                           new Request({
                              url: 'lnxSeccion.php',
                              method: 'post',
                              onSuccess: function(responseText, responseXML){
                                 var num=parseInt(responseText,0);
                                 this.options.mostrarAceptacion=".(($this->parametros['mostrarPasoAceptacion']!='N')?'num>0':'false').";
                              }.bind(this)
                           }).send('servicio=Y&objeto=cf_solCred_Aceptacion&metodo=numAceptaciones&sufijo=".$this->parametros['sufijo']."&nomina='+$('{$idDom_cf_solCred_medio_pago}').value+'&producto={$this->parametros['producto']}');
                           ".$componente->getOnLeave());
            $componente_i=$componente->getComponente();
            $componente_i->setParametros($this->parametros);
            $componente_i->cargarInfo();
            $deltaPaso=1;
            $p_extrao=$componente_i->getPExtrao();
            if($componente_i->isAplicaCuoext()) {
               $paso=new gr_asistido_Paso($componente->getPosicion()+$deltaPaso,"Abonos Extraordinarios");
               $deltaPaso++;
               $paso->setComponente("<div id=\"{$idPaso_cf_solCred_CuoExt}\"></div>");
               $componente_2=$this->asistido->getPaso('cf_solCred_CondicionRadicacion');
               if(empty($componente_2)) {
                  $paso->setOnEnter("
                     if(!$('{$idIs_cf_solCred_cuoext}').checked){
                        $('{$idPaso_cf_solCred_CuoExt}').innerHTML='';
                        this.options.pasos[solicitado-1].deshabilitado=true;
                     }else{
                        this.options.pasos[solicitado-1].deshabilitado=false;
                     }
                     if(anterior<solicitado){
                        if(!$('{$idIs_cf_solCred_cuoext}').checked){
                           this.setPaso(solicitado+1,false);
                           return false;
                        }
                        Linix.cargarPagina('{$idPaso_cf_solCred_CuoExt}','lnxSeccion.php','servicio=Y&objeto=cf_solCred_CuoExt&metodo=cuotaExt&modalidad={$this->parametros['modalidad']}&nomina='+$('{$idDom_cf_solCred_medio_pago}').value+'&perpri='+$('{$idInput_cf_solCred_v_perpag_pri}').value+'&perpag='+$('{$idDom_cf_solCred_perpag}').value+'&q_cuota='+$('{$idInput_cf_solCred_q_cuota}').value+'&v_monto='+$('{$idDom_cf_solCred_valor_monto}').value+'&v_cuota='+$('{$idDom_cf_solCred_valor_cuota}').value+'&n_i_monto=".$this->parametros['modalidad_simular_d_k']."&sufijo=".$this->parametros['sufijo']."&p_extrao={$p_extrao}');
                     }else{
                        if(!$('{$idIs_cf_solCred_cuoext}').checked){
                           this.setPaso(solicitado-1,false);
                           return false;
                        }
                     }
                  ");
               } else {
                   /* ----------------------------------------------------------- |
                  |                 YGJ 01-MAR-2021 (FDL)                        |                                        |
                  | Al finalizar el asistido no se crea Flujo debido a que son   |
                  | demasiadas las cuotas extra y la trama no se procesa completa|
                  | Se agrega setOnLeave y se modifica setOnEnter para que       |
                  | contemple inhabilitar valores en cero.                       |
                  | ------------------------------------------------------------ */
                  
                  $paso->setOnLeave("
                     Formulario.inhabilitarSiExtInactivo('cf_solCred_CuoExt_tabla_inputs','TRUE');
                     Formulario.inhabilitarSiInactivo('cf_solCred_CuoExt_tabla_inputs','TRUE');
                     ");
                  $paso->setOnEnter("
                     Formulario.habilitarInactivos('cf_solCred_CuoExt_tabla_inputs','TRUE');
                     Formulario.habilitarInactivosExt('cf_solCred_CuoExt_tabla_inputs','TRUE');

                     if(!$('{$idIs_cf_solCred_cuoext}').checked){
                        $('{$idPaso_cf_solCred_CuoExt}').innerHTML='';
                        this.options.pasos[solicitado-1].deshabilitado=true;
                     }else{
                        this.options.pasos[solicitado-1].deshabilitado=false;
                     }
                     if(anterior<solicitado){
                        if(!$('{$idIs_cf_solCred_cuoext}').checked){
                           this.setPaso(solicitado+1,false);
                           return false;
                        }
                        Linix.cargarPagina('{$idPaso_cf_solCred_CuoExt}','lnxSeccion.php','servicio=Y&objeto=cf_solCred_CuoExt&metodo=cuotaExt&modalidad={$this->parametros['modalidad']}&nomina='+$('{$idDom_cf_solCred_medio_pago}').value+'&perpri='+$('{$idInput_cf_solCred_v_perpag_pri}').value+'&perpag='+$('{$idDom_cf_solCred_perpag}').value+'&q_cuota='+$('{$idInput_cf_solCred_q_cuota}').value+'&v_monto='+$('{$idDom_cf_solCred_valor_monto}').value+'&v_cuota='+$('{$idDom_cf_solCred_valor_cuota}').value+'&n_i_monto='+$('{$idIncognita2}').value+'&sufijo=".$this->parametros['sufijo']."&p_extrao={$p_extrao}');
                     }else{
                        if(!$('{$idIs_cf_solCred_cuoext}').checked){
                           this.setPaso(solicitado-1,false);
                           return false;
                        }
                     }
                  ");
               }

               $this->asistido->addPaso($paso,true);
            }
            $AAmortizacion=$componente_i->getAAmortizacion();
            if($componente_i->isAplicaRecogeCreditos()) {
               $paso=new gr_asistido_Paso($componente->getPosicion()+$deltaPaso,"Recoger Creditos");
               $deltaPaso++;
               $paso->setComponente("<div id=\"{$idPaso_cf_solCred_RecogerCreditos}\"></div>");
               $componente_2=$this->asistido->getPaso('cf_solCred_CondicionRadicacion');
               if(empty($componente_2)) {
                  $paso->setOnEnter("
   if(!$('{$idIs_cf_solCred_RecogerCreditos}').checked){
      $('{$idPaso_cf_solCred_RecogerCreditos}').innerHTML='';
      this.options.pasos[solicitado-1].deshabilitado=true;
   }else{
      this.options.pasos[solicitado-1].deshabilitado=false;
   }
   if(anterior<solicitado){
      if(!$('{$idIs_cf_solCred_RecogerCreditos}').checked){
         this.setPaso(solicitado+1,false);
         return false;
      }else{
         Linix.cargarPagina('{$idPaso_cf_solCred_RecogerCreditos}','lnxSeccion.php','servicio=Y&objeto=cf_solCred_RecogerCreditos&metodo=RecogerCreditos&modalidad={$this->parametros['modalidad']}&nomina='+$('{$idDom_cf_solCred_medio_pago}').value+'&perpri='+$('{$idInput_cf_solCred_v_perpag_pri}').value+'&perpag='+$('{$idDom_cf_solCred_perpag}').value+'&q_cuota='+$('{$idInput_cf_solCred_q_cuota}').value+'&v_monto='+$('{$idDom_cf_solCred_valor_monto}').value+'&v_cuota='+$('{$idDom_cf_solCred_valor_cuota}').value+'&n_i_monto=".$this->parametros['modalidad_simular_d_k']."&p_extrao={$p_extrao}'+'&i_amorti={$AAmortizacion}&incognita=".$this->parametros['dato_calcular_simulacion_d_k']."&sufijo=".$this->parametros['sufijo']."&n_cumplerng='+$('{$idInput_cf_solCred_n_cumplerng}').value);
      }
   }else{
      if(!$('{$idIs_cf_solCred_RecogerCreditos}').checked){
         this.setPaso(solicitado-1,false);
         return false;
      }
   }
                  ");
               } else {
                  $paso->setOnEnter("
   if(!$('{$idIs_cf_solCred_RecogerCreditos}').checked){
      $('{$idPaso_cf_solCred_RecogerCreditos}').innerHTML='';
      this.options.pasos[solicitado-1].deshabilitado=true;
   }else{
      this.options.pasos[solicitado-1].deshabilitado=false;
   }
   if(anterior<solicitado){
      if(!$('{$idIs_cf_solCred_RecogerCreditos}').checked){
         this.setPaso(solicitado+1,false);
         return false;
      }else{
         Linix.cargarPagina('{$idPaso_cf_solCred_RecogerCreditos}','lnxSeccion.php','servicio=Y&objeto=cf_solCred_RecogerCreditos&metodo=RecogerCreditos&modalidad={$this->parametros['modalidad']}&nomina='+$('{$idDom_cf_solCred_medio_pago}').value+'&perpri='+$('{$idInput_cf_solCred_v_perpag_pri}').value+'&perpag='+$('{$idDom_cf_solCred_perpag}').value+'&q_cuota='+$('{$idInput_cf_solCred_q_cuota}').value+'&v_monto='+$('{$idDom_cf_solCred_valor_monto}').value+'&v_cuota='+$('{$idDom_cf_solCred_valor_cuota}').value+'&n_i_monto='+$('{$idIncognita2}').value+'&p_extrao={$p_extrao}'+'&i_amorti={$AAmortizacion}&incognita='+$('{$idIncognita}').value+'&sufijo=".$this->parametros['sufijo']."&n_cumplerng='+$('{$idInput_cf_solCred_n_cumplerng}').value);
      }
   }else{
      if(!$('{$idIs_cf_solCred_RecogerCreditos}').checked){
         this.setPaso(solicitado-1,false);
         return false;
      }
   }
                  ");
               }
               $this->asistido->addPaso($paso,true);
            }
            //09-JUL-2016(AFG) Adici�n del paso seguro de vida al asistido de creditos.
            if ($this->asistido->existePaso("gr_formulario_generar_10247")) {
               $componenteseg = $this->asistido->getPaso('gr_formulario_generar_10247');
               $componenteseg->setId('cf_solCred_SegVida');          //!!! 06-OCT-2016(ACCV)
               $componenteseg->setComponente("<div id=\"{$idPaso_cf_solCred_Recalcular}\"></div>");
               if(!empty($componenteseg)) {
                  /*-----------------!!! 14-NOV-2017(ACCV) ------------------+
                  | Inclusi�n de lecturas de incognitas del formulario, en   |
                  | caso de que los datos se encuentren all�                 |
                  +----------------------------------------------------------*/
                  $componenteseg->setOnEnter("
                  
   if(anterior<solicitado){
   var param;   
   param=this.toQueryObjectCompleto();
   Object.erase(param,'servicio');
   Object.erase(param,'objeto');
   Object.erase(param,'metodo');
   Object.erase(param,'modalidad');
   Object.erase(param,'nomina');
   Object.erase(param,'perpri');
   Object.erase(param,'perpag');
   Object.erase(param,'q_cuota');
   Object.erase(param,'p_extrao');
   Object.erase(param,'v_monto');
   Object.erase(param,'v_cuota');
   Object.erase(param,'n_i_monto');
   Object.erase(param,'i_amorti');
   
   param['servicio'] = 'Y';
   param['objeto']   = 'cf_solCred_Recalcular';
   param['metodo'] = 'SeguroVida';
   param['modalidad'] = $this->parametros['modalidad']
   param['omitir_funcionalidad'] = '{$this->parametros['omitir_funcionalidad']}';
   param['modalidad_d']          = $('{$idA_MODALIDAD_CREDITO_D}').value;
   param['v_monto_max']          = '{$this->parametros['v_monto_max']}';
   param['nomina']               = $('{$idDom_cf_solCred_medio_pago}').value;
   param['perpag_i']             = (($('{$idDom_cf_solCred_perpag_i}')!=null)?$('{$idDom_cf_solCred_perpag_i}').value:$('{$idInput_cf_solCred_v_perpag_pri}').value);
   param['perpri']               = $('{$idInput_cf_solCred_v_perpag_pri}').value;
   param['perpag']               = $('{$idDom_cf_solCred_perpag}').value;
   param['q_cuota']              = $('{$idInput_cf_solCred_q_cuota}').value;
   if($('{$idIncognita}')){
      param['incognita']            = $('{$idIncognita}').value;
   }
   param['v_monto']              = $('{$idDom_cf_solCred_valor_monto}').value;
   param['v_cuota']              = $('{$idDom_cf_solCred_valor_cuota}').value;
   if ($('{$idIncognita2}')){
      param['n_i_monto']         = $('{$idIncognita2}').value;
   }else{
      param['n_i_monto']            = '{$this->parametros['modalidad_simular_d_k']}';
   }
   param['p_extrao']             = '{$p_extrao}';
   param['sufijo']               = '{$this->parametros['sufijo']}';
   param['i_amorti']             = '{$AAmortizacion}';
   param['n_cumplerng']          = $('{$idInput_cf_solCred_n_cumplerng}').value;
   param['p_segvid']             = '{$param['p_segvid']}';
   param['modalidad_segvid']     = '{$param['modalidad_segvid']}';
   param['i_otrcon']             = '{$param['i_otrcon']}';
   if(param['i_otrcon'] =='M'){      
      param['p_otrconp'] = '{$param['p_otrconp']}';
   }else if(param['i_otrcon'] =='P'){
      param['p_otrconf'] = '{$param['p_otrconf']}';   
   }
   param['v_otrcon']             = '{$param['v_otrcon']}';
   param['i_capita']             = '{$param['i_capita']}';
   param['p_capita']             = '{$param['p_capita']}';
   param['v_capitaliz']          = '{$param['v_capitaliz']}';
   param['modalidad_capita']     = '{$param['modalidad_capita']}'; 
   param['i_segvid']             = '{$param['i_segvid']}';
   param['i_capotr']             = '{$param['i_capotr']}';               
                  
   crearDivModal('detalleContenido','claseDivModal');
   var n_carga = 'TRUE';
   if (anterior == this.getPosicionPaso('cf_solCred_Capitalizacion')) {
      n_carga = 'FALSE';
   }
   param['n_cargar'] = n_carga;
   Linix.cargarPagina('{$idPaso_cf_solCred_Recalcular}','lnxSeccion.php',param,null,{
      onSuccess: function(responseTree,responseElements,responseHTML,responseJavaScript) {
         eliminarDivModal('claseDivModal');
      }
   });
   
   }");} 
               $deltaPaso++;
            }
            //09-JUL-2016(AFG) Adici�n del paso otros conceptos al asistido de creditos.
            if ($this->asistido->existePaso("gr_formulario_generar_10250")) {
               $componentecap=$this->asistido->getPaso('gr_formulario_generar_10250');
               /*-------------------!!! 06-OCT-2016(ACCV) ----------------------+
               | Se modifica para que el paso de capitalizaci�n, tambi�n se     |
               | maneje recarg�ndose cuando el usuario ingresa en �l, para      |
               | intentar asegurar que los datos mostrados, corresponden a las  |
               | condiciones de simulaci�n definidas en el paso de variables de |
               | simulaci�n, porque antes, los datos cargados, correspond�an con|
               | las condiciones del asociado al ingresar a la opci�n (los      |
               | m�ximos valores posibles para el monto y el plazo)             |
               +----------------------------------------------------------------*/
               $componentecap->setId('cf_solCred_Capitalizacion');
               $componentecap->setComponente("<div id=\"cf_solcred_Capitalizacion\"></div>");
               $componentecap->setOnEnter("if(anterior<solicitado ){ ".
                                             "crearDivModal('detalleContenido','cf_solCred_EsperaCapitali'); ".
                                             "var n_carga = 'TRUE';".
                                             "if (anterior == this.getPosicionPaso('cf_solCred_SegVida')) {".
                                                "n_carga = 'FALSE';".
                                             "}".
                                             "var o_parame = this.toQueryObjectCompleto(); ".
                                             "o_parame['objeto'] = 'cf_solCred_Recalcular'; ".
                                             "o_parame['metodo'] = 'Capitalizacion'; ".
                                             "o_parame['servicio'] = 'Y'; ".
                                             "o_parame['n_cargar'] = n_carga; ".
                                             "o_parame['nomina'] = $('{$idDom_cf_solCred_medio_pago}').value; ".
                                             "o_parame['perpag_i'] = (($('{$idDom_cf_solCred_perpag_i}')!=null)?$('{$idDom_cf_solCred_perpag_i}').value:$('{$idInput_cf_solCred_v_perpag_pri}').value); ".
                                             "o_parame['perpag'] = $('{$idDom_cf_solCred_perpag}').value; ".
                                             "o_parame['q_cuota'] = $('{$idInput_cf_solCred_q_cuota}').value; ".
                                             "o_parame['v_cuota'] = $('{$idDom_cf_solCred_valor_cuota}').value; ".
                                             "o_parame['i_amorti'] = '{$AAmortizacion}'; ".
                                             "Linix.cargarPagina('cf_solcred_Capitalizacion', ".
                                                                 "'lnxSeccion.php', o_parame, null, { ".
                                                " onSuccess: function(){ eliminarDivModal('cf_solCred_EsperaCapitali'); } ".
                                             " }); ".
                                          "}");
               
               $deltaPaso++;
            }   
            /* -----------------------!!! 5-ABR-2017(JCM) ------------------------------+
            | Se a�ade la lectura del paso para la captura de referencias.              |
            +------------------------------------------------------------------------- */
            if ($this->asistido->existePaso("cf_solCred_Referencias")) {
                $pasoImpuestos = $this->asistido->getPaso('cf_solCred_Referencias');
                $pasoImpuestos->setComponente("<div id=\"paso_cf_solCred_Referencias\"></div>");
                $pasoImpuestos->setOnEnter("
                    if(anterior<solicitado){                    
                        $('paso_cf_solCred_Referencias').innerHTML=''; 
                        var queryObject=this.toQueryObjectCompleto();
                        queryObject['servicio']='Y';
                        queryObject['valorMetodo']='Y';
                        queryObject['objeto']='cf_solCred_Referencias';
                        queryObject['metodo']='Referencias';
                        gr_gui_Plantilla.presentar({
                            path:['cf','solCred','Referencias'],                        
                            contenedor:$('paso_cf_solCred_Referencias'),
                            parametros:queryObject
                        });
                    }"
                );
            }   
            
            $paso=new gr_asistido_Paso($componente->getPosicion()+$deltaPaso,"Ciclo de Amortizaci&oacute;n");
            $deltaPaso++;
            $componente_2=$this->asistido->getPaso('cf_solCred_CondicionRadicacion');
            // 27-JUL-2016 (AFG) llamado a la funci�n toQueryObjectCompleto para la inclusi�n de parametros
            if(empty($componente_2)) {
               /*---------------------!!! 14-NOV-2017(ACCV) -----------------------+
               | Correcci�n para env�o del objeto, mpetodo, modalidad e incognita  |
               +-------------------------------------------------------------------*/
               $paso->setOnEnter("
if(anterior<solicitado){
   var param;   
   param=this.toQueryObjectCompleto();
   Object.erase(param,'servicio');
   Object.erase(param,'objeto');
   Object.erase(param,'metodo');
   Object.erase(param,'modalidad');
   Object.erase(param,'nomina');
   Object.erase(param,'perpri');
   Object.erase(param,'perpag');
   Object.erase(param,'q_cuota');
   Object.erase(param,'p_extrao');
   Object.erase(param,'v_monto');
   Object.erase(param,'v_cuota');
   Object.erase(param,'n_i_monto');
   Object.erase(param,'i_amorti');
   
   param['servicio'] = 'Y';
   param['objeto']   = 'cf_solCred_Amortizacion';
   param['metodo'] = 'amortizacion';
   param['modalidad'] = '".$this->parametros['modalidad']."';
   param['omitir_funcionalidad'] = '{$this->parametros['omitir_funcionalidad']}';
   param['modalidad_d']          = $('{$idA_MODALIDAD_CREDITO_D}').value;
   param['v_monto_max']          = '{$this->parametros['v_monto_max']}';
   param['nomina']               = $('{$idDom_cf_solCred_medio_pago}').value;
   param['perpag_i']             = (($('{$idDom_cf_solCred_perpag_i}')!=null)?$('{$idDom_cf_solCred_perpag_i}').value:$('{$idInput_cf_solCred_v_perpag_pri}').value);
   param['perpri']               = $('{$idInput_cf_solCred_v_perpag_pri}').value;
   param['perpag']               = $('{$idDom_cf_solCred_perpag}').value;
   param['q_cuota']              = $('{$idInput_cf_solCred_q_cuota}').value;
   param['incognita']            = '{$this->parametros['dato_calcular_simulacion_d_k']}';
   param['v_monto']              = $('{$idDom_cf_solCred_valor_monto}').value;
   param['v_cuota']              = $('{$idDom_cf_solCred_valor_cuota}').value;
   param['n_i_monto']            = '{$this->parametros['modalidad_simular_d_k']}';
   param['p_extrao']             = '{$p_extrao}';
   param['sufijo']               = '{$this->parametros['sufijo']}';
   param['i_amorti']             = '{$AAmortizacion}';
   param['n_cumplerng']          = $('{$idInput_cf_solCred_n_cumplerng}').value;
   param['p_segvid']             = '{$param['p_segvid']}';
   param['modalidad_segvid']     = '{$param['modalidad_segvid']}';
   param['i_otrcon']             = '{$param['i_otrcon']}';
   if(param['i_otrcon'] =='M'){      
      param['p_otrconp'] = '{$param['p_otrconp']}';
   }else if(param['i_otrcon'] =='P'){
      param['p_otrconf'] = '{$param['p_otrconf']}';   
   }
   param['v_otrcon']             = '{$param['v_otrcon']}';
   param['i_capita']             = '{$param['i_capita']}';
   param['p_capita']             = '{$param['p_capita']}';
   param['v_capitaliz']          = '{$param['v_capitaliz']}';
   param['modalidad_capita']     = '{$param['modalidad_capita']}'; 
   param['i_segvid']             = '{$param['i_segvid']}';
   param['i_capotr']             = '{$param['i_capotr']}';  
   
   crearDivModal('detalleContenido','claseDivModal');
   Linix.cargarPagina('{$idPaso_cf_solCred_Amortizacion}','lnxSeccion.php',param,null,{
      onSuccess: function(responseTree,responseElements,responseHTML,responseJavaScript) {
         eliminarDivModal('claseDivModal');
      }
   });
}
               ");
            } else {
               // 27-JUL-2016 (AFG) llamado a la funci�n toQueryObjectCompleto para la inclusi�n de parametros               
               /*-------------------!!! 02-MAR-2017(ACCV) -------------------+
               | Se previene la generaci�n de errores si los nuevos campos   |
               | para seguros, no est�n incluidos en el formulario           |
               +-------------------------------------------------------------*/               
               $paso->setOnEnter("
if(anterior<solicitado){
   var send;
   send = this.toQueryObjectCompleto();
   Object.erase(send,'servicio');
   Object.erase(send,'objeto');
   Object.erase(send,'metodo');
   Object.erase(send,'modalidad');
   Object.erase(send,'nomina');
   Object.erase(send,'perpri');
   Object.erase(send,'perpag');
   Object.erase(send,'q_cuota');
   Object.erase(send,'p_extrao');
   Object.erase(send,'v_monto');
   Object.erase(send,'v_cuota');
   Object.erase(send,'n_i_monto');
   Object.erase(send,'i_amorti');
   
   send['servicio']     = 'Y';
   send['objeto']       = 'cf_solCred_Amortizacion';
   send['metodo']       = 'amortizacion';
   send['modalidad']    = '{$this->parametros['modalidad']}';   
   send['modalidad_d']  = $('{$idA_MODALIDAD_CREDITO_D}').value;
   send['v_monto_max']  = '{$this->parametros['v_monto_max']}';
   send['nomina']       = $('{$idDom_cf_solCred_medio_pago}').value;
   send['perpag_i']     = (($('{$idDom_cf_solCred_perpag_i}')!=null)?$('{$idDom_cf_solCred_perpag_i}').value:$('{$idInput_cf_solCred_v_perpag_pri}').value);
   send['perpri']       = $('{$idInput_cf_solCred_v_perpag_pri}').value;
   send['perpag']       = $('{$idDom_cf_solCred_perpag}').value;
   send['q_cuota']      = $('{$idInput_cf_solCred_q_cuota}').value; 
   send['incognita']    = $('{$idIncognita}').value;
   send['v_monto']      = $('{$idDom_cf_solCred_valor_monto}').value;
   send['sufijo']       = '{$this->parametros['sufijo']}';
   send['v_cuota']      = $('{$idDom_cf_solCred_valor_cuota}').value;  
   send['n_i_monto']    = $('{$idIncognita2}').value;
   send['p_extrao']     = '{$p_extrao}';
   send['i_amorti']     = '{$AAmortizacion}';
   send['n_cumplerng']  = $('{$idInput_cf_solCred_n_cumplerng}').value;
   send['omitir_funcionalidad'] = '{$this->parametros['omitir_funcionalidad']}';
   send['p_segvid']             = '{$param['p_segvid']}';
   send['modalidad_segvid']     = '{$param['modalidad_segvid']}';
   send['i_otrcon']             = '{$param['i_otrcon']}';
   if('{$param['i_otrcon']}' == 'M'){
      if($('V_POROTRCON') != null){
         send['p_otrcon'] = $('V_POROTRCON').value;   
      }
   }else{
      if($('A_FACOTRCON') != null){
         send['p_otrcon'] = $('A_FACOTRCON').value;
      }
   }
   if($('V_VALOTRCON') != null){
      send['v_otrcon'] = $('V_VALOTRCON').value;
   }
   send['i_capita'] = '{$param['i_capita']}';
   if($('V_PORCAPITA') != null){
      send['p_capita'] = $('V_PORCAPITA').value;
   }
   if($('V_VALTOTCAP') != null){
      send['v_capitaliz'] = $('V_VALTOTCAP').value;
   }
   send['modalidad_capita'] = '{$param['modalidad_capita']}';
   send['i_segvid'] = '{$param['i_segvid']}';
   send['i_capotr'] = '{$param['i_capotr']}';
   
   crearDivModal('detalleContenido','claseDivModal');
   Linix.cargarPagina('{$idPaso_cf_solCred_Amortizacion}','lnxSeccion.php',send,null,{
      onSuccess: function(responseTree,responseElements,responseHTML,responseJavaScript) {
         eliminarDivModal('claseDivModal');
      }
   });
}
               ");
            }
            $paso->setComponente("<div id=\"{$idPaso_cf_solCred_Amortizacion}\"></div>");
            $this->asistido->addPaso($paso,true);
            $deltaPaso+=3;
            if(empty($ts_formasDesembolso_Formas)){
               $deltaPaso--;
            }
            $cf_solCred_DatosComplementarios=$this->asistido->getPaso('cf_solCred_DatosComplementarios');
            if(empty($cf_solCred_DatosComplementarios)) {
               $deltaPaso--;
            }
            /*-------------------------!!! 27-OCT-2014(ACCV) -------------------------+
            | Se adiciona la posibilidad de que la secci�n de garant�as no sea        |
            | obligatoria                                                             |
            +----------------------!!! 30-AGO-2018(YMRP) -----------------------------+
            | Se incluye la validaci�n para remover el paso de No Deudor cuando el pri|
            | vilegio no se encuentre asignado. Caso 2749 Mto Proyectos.              |
            +------------------------------------------------------------------------*/
            $o_garant = $this->asistido->getPaso('cf_solCred_GarantiaCodeudor'); // !!! 27-OCT-2014(ACCV), nueva asignaci�n
            $o_nodeud = $this->asistido->getPaso('cf_solCred_GarantiaCodeudor_NoDeudor'); // !!! 27-OCT-2014(ACCV), nueva asignaci�n
            if(empty($o_garant)&&(empty($o_nodeud))) { // !!! 30-AGO-2018(YMRP) Nueva condicion // !!! 27-OCT-2014(ACCV), nueva condici�n
               $deltaPaso--;
            }
            if($this->parametros['mostrarPasoAceptacion']!='N'){
               /*--------------------!!! 04-ABR-2019(ACCV) ------------------+
               | Se modifica para que el paso siempre se agregue al final del|
               | asistido                                                    |
               +-------------------------------------------------------------*/
               $paso=new gr_asistido_Paso($this->asistido->getNumPasos()+1,"Aceptacion");
               $deltaPaso++;
               $paso->setComponente("<div id=\"{$idPaso_cf_solCred_Aceptacion}\"></div>");
               $paso->setOnEnter("
   if(anterior<solicitado){
      if(!this.options.mostrarAceptacion){
         $('{$idPaso_cf_solCred_Aceptacion}').innerHTML='';
         this.setPaso(solicitado+1,false);
         return false;
      }
      Linix.cargarPagina('{$idPaso_cf_solCred_Aceptacion}','lnxSeccion.php','servicio=Y&objeto=cf_solCred_Aceptacion&metodo=aceptacion&nomina='+$('{$idDom_cf_solCred_medio_pago}').value+'&sufijo=".$this->parametros['sufijo']."&producto={$this->parametros['producto']}');
   }else{
      if(!this.options.mostrarAceptacion){
         $('{$idPaso_cf_solCred_Aceptacion}').innerHTML='';
         this.setPaso(solicitado-1,false);
         return false;
      }
   }
                  ");
               $this->asistido->addPaso($paso,true);
            }
            ///////////////////////////////////////////////////////////////////////////////                
            /*--------------------!!! 05-MAY-2019(ACCV) ------------------+
            | Se modifica para que el paso de requisitos no se agregue en |
            | la clase, sino por privilegios, y de acuerdo a la definición|
            | de la tabla WE1801                                          |
            +-------------------------------------------------------------*/
            $paso = $this->asistido->getPaso("gr_requisitosGenerales_Consultar");
            if($paso){
            if(($this->parametros['mostrarPasoRequisitosGenerales']!='N')){               
            $paso->setComponente("<div id=\"{$idPaso_gr_requisitosGenerales_Consultar}\"></div>");
            $paso->setOnEnter("
if(anterior<solicitado){
   var completo='';
   var send;
   var optionsL=this.options;
   var i=0,itop=optionsL.pasos.length;
   var paso=optionsL.pasos[i].paso;
   while(i<itop){
      send=paso.toQueryString().parseQueryString();
      Object.erase(send,'servicio');
      Object.erase(send,'objeto');
      Object.erase(send,'metodo');
      Object.erase(send,'btnPDF');
      if(i==0){
         completo+=Object.toQueryString(send);
      }else{
         completo+='&'+Object.toQueryString(send);
      }
      i++;
      if(typeOf(optionsL.pasos[i])=='null'){
         break;
      }
      paso=optionsL.pasos[i].paso;
   }
   if($('{$idIncognita}')==null){
      completo+='&incognita=".$this->parametros['dato_calcular_simulacion_d_k']."';
   }
   if($('{$idIncognita2}')==null){
      completo+='&incognita2=".$this->parametros['modalidad_simular_d_k']."';
   }
   Linix.cargarPagina('{$idPaso_gr_requisitosGenerales_Consultar}','lnxSeccion.php','servicio=Y&objeto=gr_requisitosGenerales_Consultar&metodo=Consultar&objetoTrama=cf_solCred_Radicar&'+decodeURIComponent(completo));
}
               ");
             }else{
                  $this->asistido->removePaso('gr_requisitosGenerales_Consultar');
               }                                            
            //sea grega para modificar el titulo del paso
            //$paso=$this->asistido->getPaso('gr_requisitosGenerales_Consultar');
            //$componente=$paso->getComponente();
            //agregar parametros con $componente->setParametro();
            //$componente->cargarInfo();
            //$paso->setTitulo($componente->getComponente()->getParametro("TITULO_COMPONENTE"));
            }
            ///////////////////////////////////////////////////////////////////////////////
            if(!isset($this->parametros['radicar'])||$this->parametros['radicar']!='N'){
            $this->asistido->setEventosResumen("
if(siguiente>this.pasoActual){
   var completo='';
   var send;
   var optionsL=this.options;
   var i=0,itop=optionsL.pasos.length;
   var paso=optionsL.pasos[i].paso;
   while(i<itop){      
      send=paso.toQueryString().parseQueryString();
      Object.erase(send,'servicio');
      Object.erase(send,'objeto');
      Object.erase(send,'metodo');
      Object.erase(send,'btnPDF');
      if(i==0){
         completo+=Object.toQueryString(send);
      }else{
         completo+='&amp;'+Object.toQueryString(send);
      }
      i++;
      if(typeOf(optionsL.pasos[i])=='null'){
         break;
      }
      paso=optionsL.pasos[i].paso;
   }
   if($('{$idIncognita}')==null){
      completo+='&amp;incognita=".$this->parametros['dato_calcular_simulacion_d_k']."';
   }
   if($('{$idIncognita2}')==null){
      completo+='&amp;incognita2=".$this->parametros['modalidad_simular_d_k']."';
   }
   Modalbox.show('lnxSeccion.php',{
      title: 'Resultado solicitud de credito',
      params: 'servicio=Y&amp;BTNPDF=IMPRIMIR&amp;objeto=cf_solCred_Radicar&amp;metodo=radicar&amp;'+completo
   });
   $('detalleContenido').innerHTML='';
}
","");
            }else{
               $this->asistido->setMuestraBotonesResumen("true","false");
            }
            if(!$conResumen){
               $this->asistido->getPaso($this->asistido->getNumPasos())->setMostrarBtnAnterior("true");
               $this->asistido->getPaso($this->asistido->getNumPasos())->setMostrarBtnSiguiente("false");
            }
         }
         $this->asistido->setPrepararEnvioMasivo("
            Object.erase(queryObject,'servicio');
            Object.erase(queryObject,'objeto');
            Object.erase(queryObject,'metodo');
            Object.erase(queryObject,'btnPDF');
            return queryObject;
         ");
         
         /*-----------------------!!! 03-DIC-2018(ACCV) ----------------------+
         | Se incluye un nuevo paso para registrar m�ltiples formas de pago, y|
         | en este punto se implementan validaciones requeridas por el proceso|
         | para asegurar que los datos del nuevo paso, sean v�lidos           |
         +--------------------------------------------------------------------*/
         if($this->asistido->existePaso('jst_cf_formasPago_multiplesFormasPago')){             //!!! 03-DIC-2018(ACCV), nuevo bloque
            $o_multfp=$this->asistido->getPaso('jst_cf_formasPago_multiplesFormasPago');
            $o_multfp->setComponente("<script type='text/javascript'>Linix.incluirJs('cf', 'solCred', 'MultFormasPago');</script>");
            /*-------------------!!! 10-MAY-2019(JCH) -------------------------+
            | Se inluye la validacion para el paso del debito automatico, para |
            | que evalue los medios de pago de las multiples formas de pago.   |
            +-----------------------------------------------------------------*/
            $o_multfp->setOnEnter('
               if (anterior < solicitado){
                  Linix.incluirJs("gr","mediosPago","DebitoAutomatico", false, ()=>{
                     gr_mediosPago_DebitoAutomatico.validaRemuevePasoDebito();
                     Cf_solCred_MultFormasPago.ingresarPaso(anterior, solicitado, this, presentado=>{
                        if(!presentado || presentado=="N"){
                           let sltNomina=$("'.$idDom_cf_solCred_medio_pago.'");
                           if(sltNomina){
                              gr_mediosPago_DebitoAutomatico.validarDebitoAutomatico(sltNomina.value, sltNomina, this.getPasoActual()+1);
                           }
                        }
                     });
                  });
               }
            ');
            //$o_multfp->setOnEnter('Cf_solCred_MultFormasPago.ingresarPaso(anterior, solicitado, this);');
            // !!!(LGB) 12-SEP-2019, Se actualiza el codigo al salir del paso
            $o_multfp->setOnLeave("
               var contenedorPaso = this.options.pasos[this.pasoActual - 1].paso;
               var valorCuota = contenedorPaso.getElement('#valorCuota');
               if (this.pasoActual < siguiente && valorCuota){
                  var inputsNomina = contenedorPaso.getElements('input[name$=A_MEDIO_PAGO]');
                  var totalFormaPago = contenedorPaso.getElement('#totalFormaPago');
                  var inputTotal = contenedorPaso.getElement('#total');
                  var inputsValor = contenedorPaso.getElements('input[name$=V_VALOR_PAGO_X_FORMA_PAGO]');
                  var numeroUno = Number(Linix.eliminarFormatoNumericoSimple(valorCuota.value));
                  var numeroDos = Number(Linix.eliminarFormatoNumericoSimple(totalFormaPago.value));
                  if (numeroUno == numeroDos) {
                    inputTotal.style.color = '#706F70';
                    Formulario.removeError(totalFormaPago.parentNode.parentNode);
                  } else {
                    inputTotal.style.color = '#FF0000';
                    Formulario.removeError(totalFormaPago.parentNode.parentNode);
                    Formulario.addError(totalFormaPago.parentNode.parentNode, 'El valor total debe ser igual al valor del cuota pactada');
                    return false;
                  }
                  for (var i = inputsNomina.length - 1; i >= 0; i--) {
                    inputValidacion = inputsNomina[i].value;
                    for (var j = inputsNomina.length - 1; j >= 0; j--) {
                      if (i != j) {
                        if (inputValidacion == inputsNomina[j].value && inputValidacion != '') {
                          Formulario.addError(inputsNomina[i], 'Esta nomina esta repetida');
                          Formulario.addError(inputsNomina[j], 'Esta nomina esta repetida');
                          return false;
                        } else {
                          Formulario.removeError(inputsNomina[i]);
                          Formulario.removeError(inputsNomina[j]);
                        }
                     }
                  };
                  //validamos que si se digita  un valor mayor a 0 se debe seleccionar tambien una forma de pago
                  for(var i=inputsValor.length - 1;i >= 0; i--){
               
                     name=inputsValor[i].name.split(':');
                     name2=name.split(',');
                     num=name2[1];
                  
                     nomina ='R_MULTIPLEFORMAPAGOCREDITO:'+num+':A_MEDIO_PAGO';
                     inputNomina = $$('input[name$='+nomina+']')[0];
                  
                     if( (inputNomina.value == '' || inputNomina.value == null) && inputsValor[i].value > 0) {
                           Formulario.addError(inputNomina, 'Selecciona nomina para un valor mayor a 0');
                           return false;

                     }else{
                           Formulario.removeError(inputNomina);
                     }    
                  }
               }
            };");  // !!! 07-JUL-2018(ACCV), tomado de cf_formasPago_asistido  // !!! 03-DIC-2018(ACCV), tomado de cf_formasPago_asistido
         }                                                                                     //!!! 03-DIC-2018(ACCV), nuevo bloque
         
         if($this->asistido->existePaso('jst_cf_solCred_DatosVehiculo')){
            if($this->parametros['n_tdatad'] != 'VEHICULO'){
               $this->asistido->removePaso('jst_cf_solCred_DatosVehiculo');
            }
         }
         if($this->asistido->existePaso('jst_cf_solCred_DatosInmueble')){
            if($this->parametros['n_tdatad'] != 'INMUEBLE'){
               $this->asistido->removePaso('jst_cf_solCred_DatosInmueble');
            }
         }
         $o_paso = $this->asistido->getPaso('jst_cf_solCred_DatosVehiculo');
         if(empty($o_paso)){
            $o_paso = $this->asistido->getPaso('jst_cf_solCred_DatosInmueble');
         }
         if(!empty($o_paso)){
            $o_paso->setOnLeave("return Cf_solCred_DatosAdicionales.cargarDatos(this, siguiente);");
         }

         /*-------------------!!! 15-MAY-2019(JCH) --------------------------+
         |En el primer paso del asistido de simulacion, se agrega un mensaje |
         |al asistido cuando el cliente NO tiene una consulta VIGENTE a la   |
         |central de riesgo por defecto definida en el parametro general 863 |
         |Si el parametro no esta definido, no hace la validacion.           |
         +------------------------------------------------------------------*/
         if($this->asistido->existePaso(1) && $num_asistido=='19'){
            $paso1=$this->asistido->getPaso(1);
            $datosConsu=array();
            try {
               $apCenRie = new ap_centralRiesgo_Consultar();
               $datosConsu=json_decode($apCenRie->getInfoParaConsultar(), true);
            }catch(Excepcion $e){
               $datosConsu["error"]=$e->getMessage();
            }
            if(empty($datosConsu["error"]) && !empty($datosConsu["k_cenrie_defecto"]) && 
               $datosConsu["ESTADO_CONSULTA"] !== 'VIGENTE'){
               $paso1->setOnEnter($paso1->getOnEnter().'
                  if(!$("msjCentralRiesgo")){
                     let cajaMensaje =  new Element("div#msjCentralRiesgo", {
                                          html:`<div style="text-align: center;color: #8a6d3b;background-color: #fcf8e3;font-size: 20px;
                                                border-radius: 7px;padding: 9px;margin-top: 0px;">
                                                Est&aacute; simulando sin una consulta vigente a central de riesgo</div>
                                                </div>`,
                                          styles: {
                                             paddingTop: "10px",
                                             paddingBottom: "10px"
                                          }
                                       });
                     this.options.contenedor.grab(cajaMensaje, "top");
                  }
               ');
            }
         }

         //20/FEB/2016 (CDCV) se agrega el paso de confirmacion
         /*---------------------!!! 30-AGO-2018(YMRP) ------------------------+
         | Se modifica el bloque de excepci�n para que permita almacenar el   |
         | error Antes: //$error=Error::getErrorVisible($e->getMessage());    |
         | Caso 2749 Mto Proyecto                                             |
         +-------------------------------------------------------------------*/
         $this->prepararPasoConfirmacion();
      } catch(Exception $e) {
         $ex = "Lo sentimos, no podemos procesar su solicitud. Por favor verifique la informaci&oacute;n registrada o intente m&aacute;s tarde. Gracias.<br />";
         $error=Excepcion::almacenarError("CW - cf_solCred_Asistido :: ".$e->getMessage(),$ex , $this->getTipoAsociado()); 
         if($error!='') {
            throw new cf_solCred_Excepcion($error);
         } else {
            throw $e;
         }
      }
   }
   
   //20/FEB/2016 (CDCV) se agrega el paso de confirmacion
   public function prepararPasoConfirmacion(){
      $idIncognita2=(trim($this->parametros['sufijo'])==''?'incognita2':'incognita2_'.$this->parametros['sufijo']);
      $idIncognita=(trim($this->parametros['sufijo'])==''?'incognita':'incognita_'.$this->parametros['sufijo']);
      $sql="DECLARE BEGIN pk_we_ca_rng_cfccc036.pr_evaluar_manejo_credito_web(:v_k_parame,:xml); END;";
      $parametrosSql=array(
         'v_k_parame'=> array(
            'valor'=>$this->parametros['modalidad'],
            'longitud'=>-1
         ),
         'xml'=> array(
            'valor'=>'',
            'longitud'=>1
         )
      );
      Configurar::getDb()->ejecutaSentencia($sql,$parametrosSql);
      $conWorkflow=utf8_encode($parametrosSql['xml']['valor']);
      if($conWorkflow=='Y'){
         $asistido=$this->asistido;
         $asistido->setEventosResumen("","");
         $asistido->setParametro("preProcesamiento","
            var queryObject={};
            if($('{$idIncognita}')==null){
               queryObject['incognita']='".$this->parametros['dato_calcular_simulacion_d_k']."';
            }
            if($('{$idIncognita2}')==null){
               queryObject['incognita2']='".$this->parametros['modalidad_simular_d_k']."';
            }
            return queryObject;
         ");
         $asistido->setParametro('tituloConfirmacion',"'Registrar evento'");
         $asistido->setParametro("conConfirmacion", "Y");
         $asistido->setParametro("tipoConfirmacion", "ajax");
         $asistido->setParametro("getQueryPorPaso", "true");
         $asistido->setParametro("parametrosConfirmacion", "'objeto=cf_solCred_Radicar&metodo=Finalizar'");
         $asistido->setParametro("onLeaveConfirmacion","$('detalleContenido').innerHTML='';");
      }
   }

   public function asHtml() {
      $this->cargarInfo();
      return $this->asistido->asHtml();
   }
   
   /*---------------------!!! 18-NOV-2016(ACCV) ------------------------+
   | Nueva funci�n para permitir la presentaci�n de los promotores      |
   | asociados a las zonas del negocio seleccionado                     |
   +--------------------------------------------------------------------*/
   public function getActualizarDatosContacto($o_parame){
      $o_paso   = $this->asistido->getPaso('cf_solCred_DatosContacto');
      $n_pagina = "";
      if(!empty($o_paso)) {
         $o_datcon = $o_paso->getComponente();
         $o_datcon->setParametro('A_CODIGO_NEGOCIO', $o_parame["A_CODIGO_NEGOCIO"]);
         $n_pagina = $o_datcon->asHtml();
      }
      return $n_pagina;
   }
   
   public function getValCondicDatosAdicionales($o_parame){
      $o_objeto = new gr_wf_Workflow();
      $n_trama = $o_objeto->getCreatrama($o_parame);
      $n_sql = "BEGIN pk_we_consultar_credito.pr_validar_condic_datos_adicio(:n_xml, :n_json); END;";
      $o_parsql = array("n_xml"  => array("valor" => $n_trama, "longitud" => "CLOB"),
                        "n_json" => array("valor" => "",       "longitud" => "CLOB"));
      Configurar::getDb()->ejecutaSentencia($n_sql, $o_parsql);
      return $o_parsql["n_json"]["valor"];
   }

}

?>