<?php 

class FRMFinalizado extends AppFormulario{
	
	
	public function init(){
		$this->_url_traseditar=	'/servicio/estados/id/'.$this->getObjeto()->id;
		parent::init();
		$this->setAddClassFormHorizontal(true);
	// Action	
		$this->setAction('/servicio/finalizado/id/'.$this->getObjeto()->id);
	// Campos
		$kilometrosVehiculoLlegada = new EFNumero('kilometrosVehiculoLlegada');
		$kilometrosVehiculoLlegada->setLabel('Km del coche:');
		$ev = new EVFocus(AppEvento::APP_EVENTO_LOAD);
		$kilometrosVehiculoLlegada->addEvento($ev, true);
		
		$this->addElement($kilometrosVehiculoLlegada);
		
		$fechaLlegada = new EFFecha('fechaServicioFin');
		$fechaLlegada->setLabel('Fecha Fin:');
		$this->addElement($fechaLlegada);
		
		$horaLlegada = new EFHora('horaServicioFin');
		$horaLlegada->setLabel('Hora Fin:');
		$this->addElement($horaLlegada);
		
		$submit = new EFSubmit('cerrar');
		$submit->setValue('Guardar');
		$this->addElement($submit);
		
		
	// Visual
	
		$fd = new VstFieldSet();
		$fd->addElement($kilometrosVehiculoLlegada);
		$fd->addElement($fechaLlegada);
		$fd->addElement($horaLlegada);
		$fd->addElement($submit);
		$this->addElementoVista($fd);
		
		/*$calculaRpk = new EVJquery(EVJquery::APP_EVENTO_CHANGE, '$("#resultadoParking").val($("#cantidadParking").val() * $("#precioParking").val())');
		$calculaRpk2 = new EVJquery(EVJquery::APP_EVENTO_CHANGE, '$("#resultadoParking").val($("#cantidadParking").val() * $("#precioParking").val())');
		
		$cantidadParking = new EFNumero('cantidadParking');
		$cantidadParking->setLabel('Parking: (cantidad)');
		$cantidadParking->addEvento($calculaRpk);
		$this->addElement($cantidadParking);
		
		
		
		$precioParking = new EFNumero('precioParking');
		$precioParking->setLabel('Precio Parking:');
		$precioParking->addEvento($calculaRpk2);
		$this->addElement($precioParking);
		
		$resultadoParking = new EFNumero('resultadoParking');
		$resultadoParking->setLabel('Resultado Parking:');
		$this->addElement($resultadoParking);
		
		*/
		
				
	}
	
	public function cerrarAccion($datos){
		
			$servicio = $this->getObjeto();
			if($this->isValid($datos)){
				try{
					$valores = $this->getValues();
					$servicio->calcularCierre($valores['fechaServicioFin'], $valores['horaServicioFin'], $valores['kilometrosVehiculoLlegada']);	
					//print_r($servicio);			
					$servicio->save();
					
					if(isset($_REQUEST['destino_autocomplete'])&& $_REQUEST['destino_autocomplete']){
						AppAjax::setValores($_REQUEST['destino_autocomplete'], $objeto->id);
					}elseif(strlen($this->_url_traseditar)>0){
						AppAjax::setRedirigir(BASEURL . $this->_url_traseditar);
					}
						
				} catch (Exception $e) {
					AppAjax::setMensajeError($this->identificadorScript(), $e->getMessage());
				}
				
			}else{
				foreach ($this->getElements() as $element){
					if($element instanceof AppElementoFormulario){
						if(count($element->getMessages()>1))
							foreach($element->getMessages() as $mensaje){
								AppAjax::setMensajeError($element->identificadorScript(), $mensaje);
							}
					}
							
				}
			}
	}
	

	public function __construct(Servicio $objeto){
		$this->_objeto = $objeto;
		parent::__construct();
	}
}