<?php
Yii::app()->getClientScript()->registerScriptFile(Yii::app()->baseUrl.'/js/bootstrap2-toggle.js');
Yii::app()->getClientScript()->registerCssFile(Yii::app()->baseUrl.'/css/bootstrap2-toggle.css');
Yii::import('application.modules.contable.models.*');
?>

<div class="form">

<?php $form = $this->beginWidget('bootstrap.widgets.TbActiveForm', [
    'id' => 'pagos-masivos-form',
    'enableAjaxValidation' => false,
    'type' => 'horizontal',
]); ?>

<?php $this->widget('bootstrap.widgets.TbAlert', [
    'block' => true,
    'fade' => true,
    'closeText' => '×',
    'alerts' => [
        'success' => ['block' => true, 'fade' => true, 'closeText' => '×'],
        'error' => ['block' => true, 'fade' => true, 'closeText' => '×'],
    ],
]); ?>
<?php foreach (Yii::app()->user->getFlashes() as $key => $message) {
    echo '<div class="alert alert-'.$key.'">'.$message."</div>\n";
} ?>
    <br>
    <p class="help-block">Campos con <span class="required">*</span> son requeridos.</p>
    <br>
	<div class="row">
		<div class="span8">
      <?= $form->textFieldRow($model, 'nombre_archivo', ['style' => 'width:100%']); ?>
    </div>
    <div class="span8">
			<?= $form->textFieldRow($model, 'descripcion', ['style' => 'width:100%']); ?>
    </div>
    <div class="span8">
    <div class="control-group ">
             <?php echo $form->labelEx($model, 'fecha_pago', ['class' => 'control-label']); ?>
          <div class="controls">
            <?php  $this->widget('zii.widgets.jui.CJuiDatePicker', [
                    'model' => $model,
                    'attribute' => 'fecha_pago',
                    'value' => $model->fecha_pago,
                    'language' => 'es',
                    'htmlOptions' => ['readonly' => 'readonly', 'style' => 'width:140px'],
                      //additional javascript options for the date picker plugin
                    'options' => [
                            'autoSize' => true,
                            'defaultDate' => $model->fecha_pago,
                            //'dateFormat'=>'yy-m-d',
                            'dateFormat' => 'dd-mm-yy',
                            'buttonImage' => Yii::app()->baseUrl.'/images/calendar.png',
                            'buttonImageOnly' => true,
                            'buttonText' => 'Fecha del pago',
                            'selectOtherMonths' => true,
                            'showAnim' => 'slide',
                            'showButtonPanel' => true,
                            'showOn' => 'button',
                            //'maxDate'=> "+0D",
                            'showOtherMonths' => true,
                            'changeMonth' => 'true',
                            'changeYear' => 'true',
                        ],
            ]); ?> 
          </div>
        </div>
		</div>
    <div class="span8">
      <?= $form->dropDownListRow($model,'id_param_banco',  CHtml::listData(ParametrosBancos::model()->findAll(['condition' => 'estatus=true and blnborrado=false']), 'id', 'descripcion'),
                                                                    ['prompt' => '-- SELECCIONE EL BANCO -- ', 'style' => 'width:100%',
                                                                            'ajax' => ['type' => 'POST',
                                                                                'url' => CHtml::normalizeUrl(['/Comun/BusquedaParametrosBancoTipoServicio']), //url to call.
                                                                                'update' => '#'.CHtml::activeId($model, 'id_banco_tipo_servicio'), //selector to update
                                                                                'beforeSend' => 'function(xkr){'
                                                                                .' $("#'.CHtml::activeId($model, 'id_banco_tipo_servicio').'").empty();'
                                                                                .' $("#'.CHtml::activeId($model, 'id_banco_tipo_servicio').'").append(\'<option value="">-- TIPO DE SERVICIO --</option>\');'
                                                                                .' $("#'.CHtml::activeId($model, 'id_tipo_pagos_masivos').'").val(\'\').change();;'
                                                                                .' $("#'.CHtml::activeId($model, 'tipo_descarga').'").val(0);'
                                                                                .' buscarTipoDeOperacion();'
                                                                                .' $("#mensaje_tipo_descarga").html("");'
                                                                                .' }',
                                                                                'data' => ['idParametro' => 'js:this.value'],
                                                                            ], ]); ?>            
        </div> 
        <div class="span8">
            <?= $form->dropDownListRow($model, 'id_banco_tipo_servicio', CHtml::listData(EstructuraArchivoBanco::model()->with('idBancoTipoServicio.idTipoServicio')->findAll([
                                                                                                                                'select' => "id_banco_tipo_servicio, nombre ||' ' ||codigo_servicio as encabezado",
                                                                                                                                'condition' => 'id_param_bancos=:id_param_bancos',
                                                                                                                                'params' => [':id_param_bancos' => (int) $model->id_param_banco],
                                                                                                                                'order' => 'nombre', ]), 'id_banco_tipo_servicio', 'encabezado'), ['style' => 'width:100%', 'prompt' => '-- TIPO DE SERVICIO --']); ?>
            
        </div> 
        <div id="seccion_tipo_descarga" class="span8 search-form control-group " style="display: <?=(($model->id_banco_tipo_servicio == '') ? 'none' : 'block'); ?>">
          <label class="control-label">Tipo de descargas</label>
          <div class="controls">
            <div id="mensaje_tipo_descarga" class="success"></div>
            <div id="tipo_descarga" class="span8 search-form control-group " style="display:<?=(($model->id_banco_tipo_servicio == '') ? 'none' : 'block'); ?>">
              <?= $form->radioButtonList($model, 'mixta', [
                                                          '1' => 'Descarga solo los pagos al mismo banco<br> <span class="help-block"><i class=" icon-info-sign"></i> Al seleccionar esta opci&oacute;n, solo se mostrar&aacute; los procesos que tengan registrados n&uacute;meros de cuentas al banco seleccionado</span>',
                                                          '2' => 'Descarga solo los pagos a otros banco <br><span class="help-block"><i class=" icon-info-sign"></i> Al seleccionar esta opci&oacute;n, solo se mostrar&aacute; los procesos que tengan registrados n&uacute;meros de  cuentas diferentes al banco seleccionado</span>',
                                                          '3' => 'Descarga los pagos unificados<br><span class="help-block"><i class=" icon-info-sign"></i> Al seleccionar esta opci&oacute;n, se mostrar&aacute; los procesos sin importar el n&uacute;mero de cuentas</span>',
                                                         ],
                                                          ['onchange' => 'seleccionTipoDescarga($(this).val())',
                                                                        ]); ?>
                
            </div>

          </div>
        </div>
    <div class="span8 search-form">
      <?= $form->dropDownListRow($model,'id_tipo_pagos_masivos',
                CHtml::listData(TituloProcesoPago::model()->findAll(['condition' => 'id in(1,2,3,9,7,10) AND blnborrado=false']), 'id', 'nombre_proceso'), ['style' => 'width:100%', 'prompt' => '-- SELECCIONE EL TIPO DE PROCESO --', 'onchange' => 'buscarTipoDeOperacion()']);
        ?>
      <?= $form->hiddenField($model, 'tipo_descarga'); ?>
    </div>
  </div>

  <h3>Proceso</h1>
  <?php $this->widget('ext.selgridview.BootSelGridView', [
    'id' => 'pagos-grid',
    'dataProvider' => $model->searchGenerar(),
    'selectionChanged' => 'js:seleccionOperaciones',
    'ajaxUpdate' => true, //false if you want to reload aentire page (useful if sorting has an effect to other widgets)
    'afterAjaxUpdate' => 'reinstallDatePicker',
    'filter' => $model, //if not exist search filters
    'selectableRows' => 100,
    'columns' => [
        [
            'class' => 'CCheckBoxColumn',
            'value' => '$data["id"]',
        ],
        [
            'header' => 'Cédula',
            'name' => 'cedula',
            'value' => '$data["cedula"]',
               // 'filter' => true,
        ],
        [
            'header' => 'Nombres',
            'value' => '$data["nombre"]',
               // 'filter' => true,
        ],
        [
            'header' => 'Apellidos',
            'value' => '$data["apellidos"]',
               // 'filter' => true,
        ],
        [
          'header' => 'Unidad',
          'name' => 'id_unidad',
          'value' => '$data["unidad"]',
          'filter' => CHtml::listData(Unidad::model()->findAll('blnborrado= false'), 'idunidad', 'descripcion'),
        ],
        [
            'header' => 'Proceso',
            'value' => '$data["proceso"]',
            'filter' => false,
        ],
        [
            'header' => 'Monto a ser depositado',
            'name' => 'monto_pagar',
            'value' => 'number_format($data["monto_pagar"],2,",",".")',
            'filter' => false,
        ],
        [
            'header' => 'Fecha de la solicitud',
            'name' => 'fecha_solicitud',
            'value' => '$data["fecha_solicitud"]',
            'type' => 'date',
            'class' => 'SYDateColumn',
        ],
        [
            'header' => 'Fecha de aprobación',
            'name' => 'fecha_registro',
            'value' => 'date("d-m-Y",strtotime($data["fecha_registro"]))',
            'class' => 'SYDateColumn',
        ],
    ],
]); ?>
   <?= $form->hiddenField($model, 'id_procesos_seleccionados'); ?>
  <div class="form-actions text-center" style="padding-left: 0;">
    <?php $this->widget('bootstrap.widgets.TbButton', [
      'buttonType' => 'submit',
      'type' => 'primary',
      'label' => $model->isNewRecord ? 'Generar' : 'modificar',
    ]); ?>
  </div>

<?php $this->endWidget(); ?>

</div><!-- form -->
<?php 
    Yii::app()->clientScript->registerScript('tipo_operacion', '

        function buscarTipoDeOperacion(){
               var id_tipo_pagos_masivos  = $("#'.CHtml::activeId($model, 'id_tipo_pagos_masivos').'").val();
               let tipo_descarga  = $("#'.CHtml::activeId($model, 'tipo_descarga').'").val();
               let id_banco_tipo_servicio  = $("#'.CHtml::activeId($model, 'id_banco_tipo_servicio').'").val();
               let id_param_banco  = $("#'.CHtml::activeId($model, 'id_param_banco').'").val();
                $.fn.yiiGridView.update(\'pagos-grid\', {
                    data: $(this).serialize() + \'&id_tipo_pagos_masivos=\' + id_tipo_pagos_masivos
                                              + \'&tipo_descarga=\' + tipo_descarga
                                              + \'&id_banco_tipo_servicio=\' + id_banco_tipo_servicio
                                              + \'&id_param_banco=\' + id_param_banco,
                });
                return false;
        };
        function seleccionTipoDescarga(id){
               $("#'.CHtml::activeId($model, 'tipo_descarga').'").val(id);
               buscarTipoDeOperacion();
        };
        function seleccionOperaciones(){
          var arraySel = $("#pagos-grid").selGridView("getAllSelection");
          var stringSel=arraySel.join(\',\');

          $("#'.CHtml::activeId($model, 'id_procesos_seleccionados').'").val(stringSel);
        }
    ', CClientScript::POS_HEAD);
    Yii::app()->clientScript->registerScript('tipoDescarga', '
      $("#'.CHtml::activeId($model, 'id_banco_tipo_servicio').'").change(function(){
        let id =$(this).val();
            $.ajax({
                    url:"'.CController::createUrl('/Comun/VerifivarTipoDescarga').'",
                    cache: false,
                    type: "POST",
                    dataType: "json",
                    data: ({id:id}),
                    beforeSend: function(xkr){
                       $("#tipo_descarga").slideUp("fast");
                       $("#seccion_tipo_descarga").slideUp("fast");
                       $("#'.CHtml::activeId($model, 'tipo_descarga').'").val(0);
                       $("#mensaje_tipo_descarga").html("");
                    },
                    success: function(data){

                      if(data.id_tipo_descarga >0){
                        $("#seccion_tipo_descarga").slideDown("fast");
                        if(data.id_tipo_descarga == 1){
                            $("#'.CHtml::activeId($model, 'tipo_descarga').'").val(1);
                            $("#mensaje_tipo_descarga").html("Descargar procesos que cotengan número de cuentas de este mismo banco");
                        }
                        if(data.id_tipo_descarga == 2){
                          $("#'.CHtml::activeId($model, 'tipo_descarga').'").val(2);
                            $("#mensaje_tipo_descarga").html("Descargar procesos que cotengan número de cuentas de otros banco");
                        }
                        if(data.id_tipo_descarga == 3){
                          $("#tipo_descarga").slideDown("fast");
                        }                        
                      }
                    }
            });
      });
      ');

    ?>

<script type="text/javascript">
    $(document).on('ready', function () {
        reinstallDatePicker()
    })

    function reinstallDatePicker() {
        $.datepicker.setDefaults($.datepicker.regional['es']);
        $.datepicker.setDefaults({ dateFormat: 'dd-mm-yy' });
    }
</script>
