public static function parseChildren($config, Form_Elements_FieldsetModel $container)
	{
		$contextProfile = AgaviConfig::get('core.default_context');
		if(is_null($contextProfile))
		{
			$contextProfile = md5(microtime());
			AgaviConfig::set('core.default_context', $contextProfile);
		}
		$context = AgaviContext::getInstance();
		if(isset($config->items) and is_array($config->items))
		{
			foreach($config->items as $item)
			{
				if(isset($item->xtype))
				{
					switch($item->xtype)
					{
						case 'textfield':
							if(isset($item->inputType) and $item->inputType=='password')
								$model = array('Elements.PasswordField', 'Form');
							else
								$model = array('Elements.TextField', 'Form');
							break;
						case 'numberfield':
							$model = array('Elements.NumberField', 'Form');
							break;
						case 'combo':
							$model = array('Elements.ResourceField', 'Form');
							break;
						case 'datefield':
							$model = array('Elements.DateField', 'Form');
							break;
						case 'radiogroup':
							$model = array('Elements.RadioGroup', 'Form');
							break;
						case 'checkbox':
							$model = array('Elements.Checkbox', 'Form');
							break;
						case 'fieldset':
							$model = Form_Elements_FieldsetModel::fromJson($item, $container);
							break;
						case 'textarea':
							$model = array('Elements.TextArea', 'Form');
							break;
						default:
							$model = null;
					}
					if(is_array($model))
					{
						$el = $context->getModel($model[0], $model[1], array($item, $container));
						$container->addChild($el);
					}
					elseif(!is_null($model))
					{
						$container->addChild($model);
					}
				}
			}
		}
	}