<?php

class Zend_View_Helper_Lp003ItensSegurados extends Zend_View_Helper_Abstract {

	public function Lp003ItensSegurados($params) {
	    $selectIntensidades = $this->getSelectIntensidades();
        $selectEstadios = $this->getSelectEstadiosFenologicos($params['id_cultura']);
  
?>

            <table width="100%" class="grid" cellpadding="1" cellspacing="1">
                <thead>
                    <tr>
                        <th>Item</th>
                        <th>Quadra</th>
                        <th>Área</th>
                        <th>Variedade</th>
                        <th>Estádio Fenológico</th>
                        <?foreach ($params['campos_especializacao'] as $campoEspecializacao):?>
                        	<th><?=$campoEspecializacao['ds_nome_exibicao']?></th>
                        <?endforeach?>
                    </tr>
                </thead>
                <tbody align="center">
                    <?
                    foreach($params['itens_segurados'] as $ItemSegurado):
                        $id_intensidade = array_key_exists($ItemSegurado['id_item_segurado'], $params['valores']) ? $params['valores'][$ItemSegurado['id_item_segurado']]['id_intensidade'] : '0';
                        $id_estadio_fenologico = array_key_exists($ItemSegurado['id_item_segurado'], $params['valores']) ? $params['valores'][$ItemSegurado['id_item_segurado']]['id_estadio_fenologico'] : '0';
                    ?>
                    <tr>
                        <td>
                             <?=$ItemSegurado['nr_item_segurado']?>
                             <input type="hidden" name="itens_segurados[<?=$ItemSegurado['id_item_segurado']?>]" id="itens_segurados-<?=$ItemSegurado['id_item_segurado']?>" value="<?=$ItemSegurado['id_item_segurado']?>">
                        </td>
                        <td><?=$ItemSegurado['ds_item_segurado']?></td>
                        <td><?=$ItemSegurado['vl_area']?></td>
                        <td><?=$ItemSegurado['ds_nome_variedade']?></td>

                        <td>
                            <?=str_replace(array('{id_item_segurado}','{checked_'.$id_estadio_fenologico.'}'), array($ItemSegurado['id_item_segurado'],'selected'), $selectEstadios)?>
                        </td>
                     
                        <?foreach ($params['campos_especializacao'] as $campoEspecializacao):?>
                        <td>
                            <?
                            echo $this->getInput(
                                $campoEspecializacao, 
                                $ItemSegurado['id_item_segurado'], 
                                array_key_exists($ItemSegurado['id_item_segurado'], $params['valores']) ? $params['valores'][$ItemSegurado['id_item_segurado']][$campoEspecializacao['ds_nome_campo']] : null) 
                             ?>
                             </td>
                        <?endforeach?>

                    </tr>
                    <?endforeach?>
                </tbody>
            </table>
<?
	}

    public function getSelectEstadiosFenologicos($idCultura) {
        
        $selectEstadios = '<select id="id_estadio_fenologico-{id_item_segurado}" name="id_estadio_fenologico[{id_item_segurado}]">';
        $selectEstadios .= '<option value=""></option>';
        
        $Model_Culturas = new Produto_Model_Culturas();
        
        $Estadios = $Model_Culturas->getEstadiosByCultura($idCultura);
        
        foreach ($Estadios as $Estadio) {
            $selectEstadios .= '<option value="'.$Estadio['id_estadio_fenologico'].'"{checked_'.$Estadio['id_estadio_fenologico'].'}>'.$Estadio['ds_nome_estadio_fenologico'].'</option>';
        }
        $selectEstadios .= '</select>';
        
        return $selectEstadios;
    }
    
    public function getSelectIntensidades() {
        
        $selectIntensidades = '<select id="id_intensidade-{id_item_segurado}" name="id_intensidade[{id_item_segurado}]">';
        $selectIntensidades .= '<option value=""></option>';
        
        $Model_Intensidades = new Sinistro_Model_Intensidades();
        
        $Intensidades = $Model_Intensidades->getIntensidades();
        
        foreach ($Intensidades as $Intensidade) {
            $selectIntensidades .= '<option value="'.$Intensidade['id_intensidade'].'"{checked_'.$Intensidade['id_intensidade'].'}>'.$Intensidade['ds_intensidade'].'</option>';
        }
        $selectIntensidades .= '</select>';
        
        return $selectIntensidades;
    }
    
    public function getInput($Campo, $idItemSegurado, $value = null) {
        $input = '';
        if ($Campo['value']) {
            $value = $Campo['value'];
        }

        $checked = $value ? ' checked' : '';

        switch ($Campo['ds_tipo']) {
            case 'select':
                $input .= '<select name="'.$Campo['ds_nome_campo'].'['.$idItemSegurado.']">';
                $input .= '<option value=""></option>';
                foreach ($Campo['ar_opcoes'] as $dsValue=>$dsCaption) {
                    $selected = (($value == $dsValue) ? ' selected' : '');
                    $input .= '<option value="'.$dsValue.'"'.$selected.'>'.$dsCaption.'</option>';
                }
                $input .= '</select>';
                break;
            case 'result':
                $input .= $value;
                break;
            case 'label-hidden':
                $input .= '<label for="'.$Campo['ds_nome_campo'].'_'.$idItemSegurado.'">'.$value.'</label>';
                $input .= '<input type="hidden" name="'.$Campo['ds_nome_campo'].'['.$idItemSegurado.']" id="'.$Campo['ds_nome_campo'].'_'.$idItemSegurado.'" value="'.$value.'" />';
                break;
            case 'checkbox':
                $input .= '<input type="hidden" name="'.$Campo['ds_nome_campo'].'['.$idItemSegurado.']" value="0"><input type="checkbox" name="'.$Campo['ds_nome_campo'].'['.$idItemSegurado.']" id="'.$Campo['ds_nome_campo'].'-'.$idItemSegurado.'" value="1"'.$checked.'>';
                break;
            case 'radio':
                foreach ($Campo['ar_opcoes']as $dsValue=>$dsCaption) {
                    $checked = ($value == $dsValue) ? ' checked' : '';
                    if ($value and $dsValue == 1) {
                        $checked = ' checked';
                    } elseif (!is_null($value) and !$value and  $dsValue == 0) {
                        $checked = ' checked';
                    } else {
                        $checked = '';
                    }
                    $input .= ' <input type="radio" name="'.$Campo['ds_nome_campo'].'['.$idItemSegurado.']" id="'.$Campo['ds_nome_campo'].'-'.$idItemSegurado.'-'.$dsValue.'" value="'.$dsValue.'"'.$checked.'><label for="'.$Campo['ds_nome_campo'].'-'.$idItemSegurado.'-'.$dsValue.'">'.$dsCaption.'</label>';
                }
                break;
            default:
                $input .= '<input id="'.$Campo['ds_nome_campo'].'" type="text" name="'.$Campo['ds_nome_campo'].'['.$idItemSegurado.']" value="'.$value.'" class="'.$Campo['ds_class'].'" size="5" maxlenght="6" '.$Campo['readonly'].' />';
        }
        return $input;
    }
}