<?php

/**
 * 
 */
class SuperJssorComponent {

	public $opciones = NULL;

	function __construct() {
		$this->opciones = new VoidObject();
	}

	function __set($name, $value) {
		//Si la variable pertenece al slider, entonces se la asignamos, si no, se la asignamos al objeto vacío
		if (isset($this->$name)) {
			$this->$name = $value;
		} else {
			//Si la variable tiene algún "_" entonces es un sub elemento
			//Lo primero es ver cuantos elementos hay
			$variable_temporal = &$this->opciones;
			$array_variables = explode("_", $name);
			for ($i = 0; $i < count($array_variables); $i++) {
				if ($i == count($array_variables) - 1) {
					//Para el último elemento, asignamos directamente el valor
					$variable_temporal->{$array_variables[$i]} = $value;
				} else {
					//Si no es el último, creamos un nuevo objeto vacío
					if ($variable_temporal->{$array_variables[$i]} == NULL) {
						$variable_temporal->{$array_variables[$i]} = new VoidObject();
					}
					//Avanzamos la referencia de las variables
					$variable_temporal = &$variable_temporal->{$array_variables[$i]};
				}
			}
		}
	}

	function __get($name) {
		$retorno = NULL;
		if (isset($this->opciones->$name)) {
			$retorno = $this->opciones->$name;
		}
		return($retorno);
	}

	function muestra_opciones($nombre){
		$cadena = "var $nombre = {";
		//mostramos su valor usando esta función
		$cadena .= $this->opciones->muestra_opciones();
		$cadena .= "}; ";
		return($cadena);
	}
}

?>