<?php $this->renderPartial('/solicitacoes/_cabecalho', array('model' => $solicitacao)); ?>
<div class="form especificacao-funcional">
    <?php
    $form = $this->beginWidget('GxActiveForm', array(
        'id' => 'especificacao-funcional-form',
        'enableAjaxValidation' => true,
        'enableClientValidation' => true,
        'focus' => array($model, 'ESP_IDPROJETO'),
        'clientOptions' => array(
            'validateOnSubmit' => true,
            'validateOnChange' => false,
            'validateOnType' => false,
            'afterValidate' => "js:function(form, data, hasError) {
                        if(hasError) {
                                 $('html,body').scrollTop(100);
                                 return false;
                            } else {
                                return true;
                            }
                         }",
        ),
    ));
    if ($model->isNewRecord) {
        if(isset($solicitacao) && !$model->ESP_IDPROJETO)
            $model->ESP_IDPROJETO = $solicitacao->SOL_IDPROJETO;
        if (User::getSetor() == 6) {
            $model->ESP_ANALISTA = array(User::getId());
        }
        $model->ESP_TESTER = 11;
    }

    Yii::app()->clientScript->registerScript('submit', '
        $(document).ready( function() {
            $("#submit_close_button").click(function() {
                $(this).parents("form").append("<input type=\'hidden\' name=\'fechar\' value=\'true\'/>");
                return true;
            });
        })
        ');
    ?>

    <?php
    if(Yii::app()->user->hasFlash('success')) {
        Yii::app()->clientScript->registerScript(
       'success',
       'alert("'.Yii::app()->user->getFlash('success').'");',
       CClientScript::POS_READY
        );
    }
    ?>
    <?php echo FaHtml::getFormInfo($form, $model); ?>
      <?php
        $Projetos = FuncionariosProjetos::model()->getProjetos(User::getId());
        if(count($Projetos) == 1) {
            $model->ESP_IDPROJETO = array_keys($Projetos)[0];
        }
      ?>
    <?php echo $form->hiddenField($model, 'ESP_IDSOLICITACAO', array('type' => "hidden", 'value' => $ESP_IDSOLICITACAO)); ?>
    <div class="frm_col frm_col_1">
        <div class="row">
            <?php echo $form->labelEx($model, 'ESP_IDPROJETO'); ?>
            <?php echo $form->dropDownList($model, 'ESP_IDPROJETO', $Projetos, array('prompt' => 'Selecione')); ?>
            <?php echo $form->error($model, 'ESP_IDPROJETO'); ?>
        </div><!-- row -->
        <div class="row">
        <?php echo $form->label($model, 'ESP_ANALISTA'); ?>
        <?php
        $this->widget('application.extensions.multiselect.JMultiSelect', array(
            'model' => $model,
            'attribute' => 'ESP_ANALISTA',
            'data' => GxHtml::listDataEx(Funcionarios::model()->findAll("FUN_SITUACAO = 'A' and FUN_PRM_PRIVILEGIO in (3,6) and FUN_IDSETOR in(6,2) order by FUN_NOME"))));
        ?>
        </div>
        <div class="row">
            <?php echo $form->labelEx($model, 'ESP_PROGRAMADOR'); ?>
            <?php echo $form->dropDownList($model, 'ESP_PROGRAMADOR', GxHtml::listDataEx(Funcionarios::model()->findAll("FUN_SITUACAO = 'A' and FUN_PRM_PRIVILEGIO = '2' order by FUN_NOME")), array('prompt' => 'Selecione')); ?>
            <?php echo $form->error($model, 'ESP_PROGRAMADOR'); ?>
        </div><!-- row -->
        <div class="row">
            <?php echo $form->labelEx($model, 'ESP_TESTER'); ?>
            <?php echo $form->dropDownList($model, 'ESP_TESTER', GxHtml::listDataEx(Funcionarios::model()->findAll("FUN_SITUACAO = 'A' and FUN_PRM_PRIVILEGIO = '15' order by FUN_NOME")), array('prompt' => 'Selecione')); ?>
            <?php echo $form->error($model, 'ESP_TESTER'); ?>
        </div><!-- row -->
    </div>
    <div class="frm_col frm_col_2">
        <div class="row txtarea txtarea_pencrm txtarea_esp">
            <?php echo $form->labelEx($model, 'ESP_OBJETIVO'); ?>
            <?php echo $form->textArea($model, 'ESP_OBJETIVO'); ?>
            <?php echo $form->error($model, 'ESP_OBJETIVO'); ?>
        </div><!-- row -->
    </div>
    <fieldset class="fieldset-esp">
        <h1>Alterações na base de dados</h1>
        <div class="tabela fieldset-esp-content">    
        <?php
        foreach ($model->Tabelas as $Tabela) {
            $this->renderPartial('/especificacaoFuncionalTabelas/form', array('Tabela' => $Tabela));
        }
        ?>
        </div>
        <a href="javascript:void(0);" class="clone-tabela">+ Adicionar tabela afetada/nova</a>
    </fieldset>
    
    <div class="frm_col frm_col_1">
        <div class="row textarea txtarea_pencrm txtarea_esp">
            <?php echo $form->labelEx($model, 'ESP_FOMRSALTERADOS'); ?>
            <?php echo $form->textArea($model, 'ESP_FOMRSALTERADOS'); ?>
            <?php echo $form->error($model, 'ESP_FOMRSALTERADOS'); ?>
        
        </div><!-- row -->
    </div><!-- row -->
    <div class="frm_col frm_col_2">
        <div class="row textarea txtarea_pencrm txtarea_esp">
            <?php echo $form->labelEx($model, 'ESP_FORMSCRIADOS'); ?>
            <?php echo $form->textArea($model, 'ESP_FORMSCRIADOS'); ?>
            <?php echo $form->error($model, 'ESP_FORMSCRIADOS'); ?>
        </div><!-- row -->
    </div><!-- row -->

    <fieldset class="fieldset-esp">
        <h1>Simulação do problema</h1>
        <div class="simulacao fieldset-esp-content">
        <?php
        foreach ($model->Simulacoes as $Simulacao) {
            $this->renderPartial('/especificacaoFuncionalSimulacao/form', array('Simulacao' => $Simulacao));
        }
        ?>
        </div>
        <a href="javascript:void(0);" class="clone-simulacao">+ Adicionar nova situação</a>
    </fieldset><!-- row -->
    
    <fieldset class="fieldset-esp">
        <h1>Requisitos</h1>
        <div class="requisito fieldset-esp-content">
        <?php
        foreach ($model->Requisitos as $Requisito) {
            $this->renderPartial('/especificacaoFuncionalRequisitos/form', array('Requisito' => $Requisito));
        }
        ?>
        </div>
        <a href="javascript:void(0);" class="clone-requisito">+ Adicionar novo requisito</a>
    </fieldset>
    
    <fieldset class="fieldset-esp">
        <h1>Casos de Teste</h1>
        <div class="casos_teste fieldset-esp-content">    
        <?php
        foreach ($model->CasosTeste as $Teste) {
            $this->renderPartial('/especificacaoFuncionalCasosTeste/form', array('Teste' => $Teste));
        }
        ?>
        </div>
        <a href="javascript:void(0);" class="clone-casos-teste">+ Adicionar novo caso de teste</a>
    </fieldset>
    <div class="row">
    <?php
    echo FaHtml::saveButton("Salvar"), array('id' => 'submit_button', 'value' => 'save'));
    echo FaHtml::saveButton("Salvar e fechar"), array('id' => 'submit_close_button', 'name' => 'save_close', 'value' => 'save_close'));
    ?>
    </div>
    <?php
    $this->endWidget();
    ?>
</div><!-- form -->
<?php
$cs = Yii::app()->getClientScript();
$cs->registerScriptFile(FaHtml::getJsUrl('jquery.validationEngine.js'));
$cs->registerScriptFile(FaHtml::getJsUrl('jquery.validationEngine-br.js'));
$cs->registerCssFile(FaHtml::getCssUrl('validationEngine.jquery.css'));
?>
<script type="text/javascript">
    add_tabela = function () {
        $.post('<?php echo Yii::app()->request->baseUrl ?>/index.php?r=especificacaoFuncionalTabelas/form', {}, function (data) {
            $('.tabela').append(data);
        });
    };
    add_campo = function (tabela) {
        var id_tabela = $(tabela).prop('data-id');
        $.post('<?php echo Yii::app()->request->baseUrl ?>/index.php?r=especificacaoFuncionalCampos/form', {'tabela': id_tabela}, function (data) {
            $(tabela).find('.div-campo').append(data);
        });
    };
    add_simulacao = function () {
        $.post('<?php echo Yii::app()->request->baseUrl ?>/index.php?r=especificacaoFuncionalSimulacao/form', {}, function (data) {
            $('.simulacao').append(data);
        });
    };
    add_requisito = function () {
        $.post('<?php echo Yii::app()->request->baseUrl ?>/index.php?r=especificacaoFuncionalRequisitos/form', {}, function (data) {
            $('.requisito').append(data);
        });
    };
    add_casos_teste = function () {
        $.post('<?php echo Yii::app()->request->baseUrl ?>/index.php?r=especificacaoFuncionalCasosTeste/form', {}, function (data) {
            $('.casos_teste').append(data);
        });
    };
   $(document).on("click", (".clone-simulacao"), function(e){
        e.preventDefault();
        add_simulacao();
    });

   $(document).on("click", (".excluir-simulacao"), function(e){
        e.preventDefault();
        if(confirm('Tem certeza que deseja excluír este item?'))
            $(this).parents(".div-simulacao").remove();
    });

   $(document).on("click", (".clone-requisito"), function(e){
        e.preventDefault();
        add_requisito();
    });

   $(document).on("click", (".excluir-requisito"), function(e){
        e.preventDefault();
        if(confirm('Tem certeza que deseja excluír este item?'))
            $(this).parents(".div-requisito").remove();
    });

   $(document).on("click", (".clone-tabela"), function(e){
        e.preventDefault();
        add_tabela();
    });

   $(document).on("click", (".excluir-tabela"), function(e){
        e.preventDefault();
        if(confirm('Tem certeza que deseja excluír este item?'))
            $(this).parents(".div-tabela").remove();
    });

   $(document).on("click", (".clone-campo"), function(e){
        e.preventDefault();
        div_tabela = $(this).parents(".div-tabela");
        add_campo(div_tabela);
    });

   $(document).on("click", (".excluir-campo"), function(e){
        e.preventDefault();
        if(confirm('Tem certeza que deseja excluír este item?'))
            $(this).parents(".campo").remove();
    });

    $(document).on("click", ".clone-casos-teste", function(e){
        e.preventDefault();
        add_casos_teste();
    });

    $(document).on("click", ".excluir-casos-teste", function(e){
        e.preventDefault();
        if(confirm('Tem certeza que deseja excluír este item?'))
            $(this).parents(".div-casos-teste").remove();
    });


    $(document).ajaxComplete(function () {
        $('#especificacao-funcional-form').validationEngine();
    });

    $(document).ready(function() {
        var selected = $('#EspecificacaoFuncional_ESP_TESTER :selected').text();
        if(selected == 'Selecione') {
            $("#EspecificacaoFuncional_ESP_TESTER").find('option[value="130"]').prop('selected',true);
        }
    });
</script>