<?php 
class EVAccion extends AppEvento{
	
	protected $_accion;
	protected $_enviaFormulario = false;
	
	/**
	 * Creacion de evento que se asignara la acción a realizar en el formulario que lo contenga
	 * @param String $evento Evento que hara que se asigne la accion 
	 * @param String $accion que se definira
	 */
	
	public function __construct($evento, $accion){
		$this->_accion = $accion;
		parent::__construct($evento);
	}
	
	/**
	 * 
	 * @param  $value Marca si 
	 */
	public function setEnviaFormulario( $value){
		$this->_enviaFormulario = $value;
		
	}
	
	
	private function renderEnviarFormulario(){
		if($this->_enviaFormulario){
			return '$(this).parentsUntil("form").parent().submit();';
		}
		return '';
	} 
	private function renderAccion(){
		
		$script = '
				$("'.$this->padre->getPadre()->identificadorScript().' #accion").val("'. $this->_accion .'");';
		return $script;
	}
	
	public function renderEvento(){

		if(!$this->padre->existeAccionFormulario($this->_accion))
			return 'alert("no existe la accion '. $this->_accion .'")';
		
		$script = '$("'. $this->padre->identificadorScript() .'").'.$this->disparador.'(function(){' 
		. $this->renderAccion()
		. $this->renderEnviarFormulario()
		. $this->renderCortarDisparador()
		.'});';
		
		return $script;
	}
	
	
} 