public function html($client=null)
	{
		$this->setRendered(true);
		// children level 2 or deeper will be at the end of list so
		// when their parent get rendered they will be rendered too
		foreach($this->children as $child)
		{
			$child->setRendered(false);
		}
		$result = "<form id=\"".self::idPrefix."-{$this->id}\" enctype=\"multipart/form-data\" ";
		if(isset($this->action))
			$result .= "action=\"".$this->action."\" ";
		$method = 'post';
		if(isset($this->method))
			$method = strtolower($this->method);
		$result .= "method=\"{$method}\" ";
		$result .= ">";
		foreach($this->children as $child)
		{
			if(!$child->isRendered())
			{
				$result .= $child->html($client);
			}
		}
		if(isset($this->submit))
			$result .= "<input type=\"submit\" value=\"{$this->submit}\" class=\"btn primary\" />";
		$result .="</form>";
		if(isset($this->description) || isset($this->title))
		{
			$result  = "<div class=\"row\"><div class=\"span4\">".
				(isset($this->title)?"<h2>{$this->title}</h2>":'').
				(isset($this->description)?"<p>{$this->description}</p>":'').
				"</div><div class=\"span12\">".
				$result."</div></div>";
		}
		if(!is_null($client) and is_callable(array($this, $client)))
		{
			$result = $this->{$client}($result);
		}
		return $result;
	}