public static function fromJson($config, Form_Elements_FieldsetModel $form=null)
	{
		$contextProfile = AgaviConfig::get('core.default_context');
		if(is_null($contextProfile))
		{
			$contextProfile = md5(microtime());
			AgaviConfig::set('core.default_context', $contextProfile);
		}
		$context = AgaviContext::getInstance();
		$fieldset = $context->getModel('Elements.Fieldset', 'Form', array($config, $form));
		$children = array();
		$columns = count($config->items);
		$rows = count($config->items[0]->items);
		for($i=0; $i<$rows; $i++)
		{
			for($j=0; $j<$columns; $j++)
			{
				if(isset($config->items[$j]->items[$i]))
				{
					$children[] = $config->items[$j]->items[$i];
				}
			}
		}
		$tmp = new stdClass();
		$tmp->items = $children;
		self::parseChildren($tmp, $fieldset);
		$form->addChild($fieldset);
		if(!is_null($form))
			foreach($fieldset->children as $child)
			{
				$form->addChild($child);
			}
		return $fieldset;
	}