BOOL CHtmlProperties::AddKey(CReg *pReg, CRKey *pRk)
{
	CRKey *pType = pReg->GetKey( "type" );

	if ( pRk != NULL )
	{
		char type[ CWF_STRSIZE ];
		LPREGVALUE prv = NULL;
		while ( ( prv = (LPREGVALUE)pRk->GetNext( prv ) ) != NULL )
		{		
			// Get type
			if ( pType == NULL ) m_dwParams = 0, m_szParams[ 0 ][ 0 ] = 0;

			// Get variable type
			else if ( pType->Get( prv->cpkey, type, sizeof( type ) ) )
				GetParams( type );

			// No params
			else m_dwParams = 0, m_szParams[ 0 ][ 0 ] = 0;
											
			// Image
			if ( m_dwParams > 0 )
			{
				// Check for group name
				if ( *prv->cpkey == '*' )
					GetPropList().Add( PROPTYPE_GROUP, 0, 0, &prv->cpkey[ 1 ], NULL, 0 );

				else if ( !strcmpi( m_szParams[ 0 ], "image" ) )
					GetPropList().Add(	PROPTYPE_FILE, PROPEDIT_COMBOEDIT, 1,
										prv->cpkey, prv->data, prv->size );

				else if ( !strcmpi( m_szParams[ 0 ], "diskimg" ) )
					GetPropList().Add(	PROPTYPE_FILE, PROPEDIT_FILE, 0,
										prv->cpkey, prv->data, prv->size );

				else if ( !strcmpi( m_szParams[ 0 ], "rgb" ) )
					GetPropList().Add(	PROPTYPE_RGBSTR, PROPEDIT_RGB, 0,
										prv->cpkey, prv->data, prv->size );

				else if ( !strcmpi( m_szParams[ 0 ], "slider" ) )
				{
					if ( m_dwParams < 2 ) m_lParams[ 1 ] = 0;
					if ( m_dwParams < 3 ) m_lParams[ 2 ] = 100;

					GetPropList().Add(	PROPTYPE_STR, PROPEDIT_SLIDER, 0,
										prv->cpkey, prv->data, prv->size,
										m_lParams[ 1 ], m_lParams[ 2 ] );
				} // end else if

				else if ( !strcmpi( m_szParams[ 0 ], "combo" ) )
					GetPropList().Add(	PROPTYPE_STR, PROPEDIT_COMBO, 2,
										prv->cpkey, prv->data, prv->size );


				// String
				else GetPropList().Add(	PROPTYPE_STR, PROPEDIT_EDIT, 0,
										prv->cpkey, prv->data, prv->size );
			
			} // end if

			// Check for group name
			else if ( *prv->cpkey == '*' )
				GetPropList().Add( PROPTYPE_GROUP, 0, 0, &prv->cpkey[ 1 ], NULL, 0 );

			else if ( *prv->pcdata == '#' )
			{
				GetPropList().Add(	PROPTYPE_RGBSTR, PROPEDIT_RGB, 0,
									prv->cpkey, prv->data, prv->size );
			} // end if

			// Assume string
			else GetPropList().Add(	PROPTYPE_STR, PROPEDIT_EDIT, 0,
									prv->cpkey, prv->data, prv->size );

		} // end while

	} // end if

	return TRUE;

/*	if ( pRk == NULL ) return FALSE;

	LPREGVALUE prv = NULL;
	while ( ( prv = (LPREGVALUE)pRk->GetNext( prv ) ) != NULL )
	{		
		if ( prv->data != NULL )
		{
			// Check for group name
			if ( *prv->cpkey == '*' )
				GetPropList().Add( PROPTYPE_GROUP, 0, 0, &prv->cpkey[ 1 ], NULL, 0 );

			else if ( *prv->pcdata == '#' )
			{
				GetPropList().Add(	PROPTYPE_RGBSTR, PROPEDIT_RGB, 0,
									prv->cpkey, prv->data, prv->size );
			} // end if

			// Add the property
			else GetPropList().Add(	PROPTYPE_STR, PROPEDIT_EDIT, 0,
									prv->cpkey, prv->data, prv->size );
		} // end if
		
	} // end while

	return TRUE;
*/
}