<?xml version="1.0" encoding="UTF-8"?>
<tsRef>
	<type id="cObj"/>
	<type id="array"/>
	<type id="int"/>
	<type id="intList"/>
	<type id="double"/>
	<type id="boolean"/>
	<type id="string"/>
	<type id="ADMPANEL"/>
	<type id="ARR_languages_strings" name="ARR_languages_strings">
		<property name="default" type="string"/>
		<property name="en" type="string"/>
		<property name="dk" type="string"/>
		<property name="de" type="string"/>
		<property name="no" type="string"/>
		<property name="it" type="string"/>
		<property name="fr" type="string"/>
		<property name="nl" type="string"/>
		<property name="cz" type="string"/>
		<property name="pl" type="string"/>
		<property name="si" type="string"/>
		<property name="fi" type="string"/>
		<property name="tr" type="string"/>
		<property name="se" type="string"/>
		<property name="pt" type="string"/>
		<property name="ru" type="string"/>
		<property name="ro" type="string"/>
		<property name="ch" type="string"/>
		<property name="sk" type="string"/>
		<property name="lt" type="string"/>
		<property name="is" type="string"/>
		<property name="hr" type="string"/>
		<property name="hu" type="string"/>
		<property name="gl" type="string"/>
		<property name="th" type="string"/>
		<property name="gr" type="string"/>
		<property name="hk" type="string"/>
		<property name="eu" type="string"/>
		<property name="bg" type="string"/>
		<property name="br" type="string"/>
		<property name="et" type="string"/>
		<property name="ar" type="string"/>
		<property name="he" type="string"/>
		<property name="ua" type="string"/>
		<property name="lv" type="string"/>
		<property name="jp" type="string"/>
		<property name="vn" type="string"/>
		<property name="ca" type="string"/>
		<property name="ba" type="string"/>
		<property name="kr" type="string"/>
		<property name="eo" type="string"/>
		<property name="my" type="string"/>
		<property name="hi" type="string"/>
	</type>
	<type id="CARRAY" extends="stdWrap" name="CARRAY">
		<property name="1" type="cObj">
			<description><![CDATA[This is a numerical "array" of content-objects (cObjects). The order by which you specific the objects is not important as the array will be sorted before it's parsed!

]]></description>
		</property>
		<property name="2" type="cObj">
			<description><![CDATA[This is a numerical "array" of content-objects (cObjects). The order by which you specific the objects is not important as the array will be sorted before it's parsed!

]]></description>
		</property>
		<property name="3" type="cObj">
			<description><![CDATA[This is a numerical "array" of content-objects (cObjects). The order by which you specific the objects is not important as the array will be sorted before it's parsed!

]]></description>
		</property>
		<property name="4" type="cObj">
			<description><![CDATA[This is a numerical "array" of content-objects (cObjects). The order by which you specific the objects is not important as the array will be sorted before it's parsed!

]]></description>
		</property>
	</type>
	<type id="CARRAY+TDParams" extends="CARRAY" name="CARRAY+TDParams">
		<property name="TDParams" type="string">
			<description><![CDATA[<TD>-params
      NOTE: This applies ONLY if "CARRAY +TDParams" is set to be data type
This property is used only in some cases where CARRAY is used. Please look out for a note about that in the various cases.
]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="CASE" extends="cObjArray" name="CASE">
		<property name="default" type="cObj">
			<description><![CDATA[The default object, if not defined, nothing is returned in the default case.
]]></description>
		</property>
		<property name="if" type="if">
			<description><![CDATA[if "if" returns false nothing is returned

]]></description>
		</property>
		<property name="key" type="stdWrap">
			<description><![CDATA[If the value of this key is defined, that object will be returned, otherwise the default-object will be returned.
<pre>key = helloWorld
helloWorld = <a href="/index.php/TSref/TEXT" title="TSref/TEXT">TEXT</a>

helloWorld.value = this item will be returned
</pre>
]]></description>
		</property>
		<property name="setCurrent" type="stdWrap">
			<description><![CDATA[Sets the "current"-value.

]]></description>
		</property>
		<property name="stdWrap" type="stdWrap">
			<description><![CDATA[stdwrap properties, applied on the returned object.
]]></description>
		</property>
	</type>
	<type id="CLEARGIF" name="CLEARGIF">
		<property name="height" type="stdWrap">
			<description><![CDATA[<img>-data:height /stdWrap
]]></description>
			<default><![CDATA[1]]></default>
		</property>
		<property name="width" type="stdWrap">
			<description><![CDATA[<img>-data:width /stdWrap
]]></description>
			<default><![CDATA[1]]></default>
		</property>
		<property name="wrap" type="stdWrap">
			<description><![CDATA[wrap/stdWrap
]]></description>
			<default><![CDATA[ | <BR>]]></default>
		</property>
	</type>
	<type id="cObjArray">
		<property name="1" type="cObj">
			<description><![CDATA[This is a numerical "array" of content-objects (cObjects).
]]></description>
		</property>
		<property name="2" type="cObj">
			<description><![CDATA[This is a numerical "array" of content-objects (cObjects).
]]></description>
		</property>
		<property name="3" type="cObj">
			<description><![CDATA[This is a numerical "array" of content-objects (cObjects).
]]></description>
		</property>
		<property name="4" type="cObj">
			<description><![CDATA[This is a numerical "array" of content-objects (cObjects).
]]></description>
		</property>
	</type>
	<type id="COBJ_ARRAY" extends="cObjArray">
		<property name="if" type="if">
			<description><![CDATA[if "if" returns false the COA is NOT rendered]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="stdWrap" type="stdWrap">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="wrap" type="stdWrap">
			<description><![CDATA[wrap/stdWrap
]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="COA" extends="COBJ_ARRAY">
  </type>
	<type id="COA_INT" extends="COBJ_ARRAY">
		<property name="includeLibs" type="stdWrap">
			<description><![CDATA[list of resources/stdWrap
(This property is used only if the object is COA_INT!, See introduction.)
This is a comma-separated list of resources that are included as PHP-scripts (with include_once() function) if this script is included.
This is possible to do because any include-files will be known before the scripts are included. That's not the case with the regular PHP_SCRIPT cObject.]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="COLUMNS">
		<property name="TDparams" type="stdWrap">
			<description><![CDATA[<TD>-params/stdWrap
]]></description>
			<default><![CDATA[valign=top]]></default>
		</property>
		<property name="1" type="cObj">
			<description><![CDATA[This is the content-object for each column!!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="2" type="cObj">
			<description><![CDATA[This is the content-object for each column!!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="3" type="cObj">
			<description><![CDATA[This is the content-object for each column!!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="4" type="cObj">
			<description><![CDATA[This is the content-object for each column!!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="after" type="cObj">
			<description><![CDATA[This is a cObject placed after the columns-table!!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="gapBgCol" type="stdWrap">
			<description><![CDATA[HTML-color /stdWrap
background-color for the gap-tablecells]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="gapLineCol" type="stdWrap">
			<description><![CDATA[HTML-color /stdWrap
      Line color]]></description>
			<default><![CDATA[black]]></default>
		</property>
		<property name="gapLineThickness" type="stdWrap">
			<description><![CDATA[int /stdWrap
      lineThickness of the dividerline in the gap between cells
0 = no line]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="gapWidth" type="stdWrap">
			<description><![CDATA[int /stdWrap
      Width of the gap between columns.
0 = no gap]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="if" type="if">
			<description><![CDATA[if "if" returns false the columns are not rendered!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="rows" type="stdWrap">
			<description><![CDATA[int (Range: 2-20)/stdWrap
      The number of rows  in the columns.]]></description>
			<default><![CDATA[2]]></default>
		</property>
		<property name="stdWrap" type="stdWrap">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="tableParams" type="stdWrap">
			<description><![CDATA[<TABLE>-params/stdWrap
]]></description>
			<default><![CDATA[border=0 cellspacing=0 cellpadding=0]]></default>
		</property>
		<property name="totalWidth" type="stdWrap">
			<description><![CDATA[int/stdWrap
			The total-width of the columns+gaps]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="CONFIG">
		<property name="ATagParams" type="string">
			<description><![CDATA[<A>-params
      Additional parameters to all links in TYPO3 (excluding menu-links)

Example:
To blur links, insert:
onFocus="blurLink(this)"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="MP_defaults" type="string">
			<description><![CDATA[Allows you to set a list of page id numbers which will always have a certain "&MP=..." parameter added.

Syntax:
[id],[id],... : [MP-var] | [id],[id],... : [MP-var] | ...

Example:
config.MP_defaults = 36,37,48 : 2-207

This will by default add "&MP=2-207" to all links pointing to pages 36,37 and 48]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="MP_disableTypolinkClosestMPvalue" type="boolean">
			<description><![CDATA[If set, the typolink function will not try to find the closest MP value for the id.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="MP_mapRootPoints" type="string">
			<description><![CDATA[list of PIDs/string
      Defines a list of ID numbers from which the MP-vars are automatically calculated for the branch.
The result is used just like MP_defaults are used to find MP-vars if none has been specified prior to the call to t3lib_tstemplate::linkData().
You can specify "root" as a special keyword in the list of IDs and that will create a map-tree for the whole site (but this may be VERY processing intensive if there are many pages!).
The order of IDs specified may have a significance; Any ID in a branch which is processed already (by a previous ID root point) will not be processed again.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="USERNAME_substToken" type="string">
			<description><![CDATA[The is the token used on the page, which should be substituted with the current username IF a front-end user is logged in! If no login, the substitution will not happen.]]></description>
			<default><![CDATA[<!--###USERNAME###-->]]></default>
		</property>
		<property name="USERUID_substToken" type="string">
			<description><![CDATA[The is the token used on the page, which should be substituted with the current users UID IF a front-end user is logged in! If no login, the substitution will not happen.
This value has no default value and only if you specify a value for this token will a substitution process take place.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="absRefPrefix" type="string">
			<description><![CDATA[If this value is set, then all relative links in TypoScript are prepended with this string. Used to convert relative paths to absolute paths.

Note: This values is automatically set to the dirname of the index.php script in case simulateStaticDocuments is set to "PATH_INFO".
If you're working on a server where you have both internal and external access, you might to yourself a favour and set the absRefPrefix to the url and path of you site, eg. http://www.typo3.org/. If you do not, you risk to render pages to cache from the internal network and thereby prefix image-references and links with a non-accessible path from outside.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="additionalHeaders" type="string">
			<description><![CDATA[strings divided by "|"
      This is additional headers. You separate each header by a vertical line "|".  Normally TYPO3 does not send any headers with the Header()-function in PHP.

Examples:
Content-type: text/vnd.wap.wml
(this will sent a content-header for a WAP-site)

Content-type: image/gif | Expires: Mon, 26 Jul 1997 05:00:00 GMT
(this will sent a content-header for a GIF-file and a Expires header)

Location: www.typo3.org
(This redirects the page to www.typo3.org)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="admPanel" type="ADMPANEL">
			<description><![CDATA[boolean / ADMPANEL properties
      If set, the admin panel appears in the bottom of pages.

NOTE: In addition the panel must be enabled for the user as well, using the TSconfig for the user! See adminguide documentation.

SEE: Admin Panel section]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="baseURL" type="string">
			<description><![CDATA[This writes the <base> tag in the header of the document. Set this to the value that is expected to be the URL, and append a "/" to the end of the string.

Example:
config.baseURL = http://typo3.org/sub_dir/]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="beLoginLinkIPList" type="string">
			<description><![CDATA[[IP-number]
      If set and REMOTE_ADDR matches one of the listed IP-numbers (Wild-card, *, allowed) then a link to the typo3/ login scrip with redirect pointing back to the page is shown.

NOTE: beLoginLinkIPList_login and/or beLoginLinkIPList_logout (see below) must be defined if the link should show up!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="beLoginLinkIPList_login" type="string">
			<description><![CDATA[HTML code wrapped with the login link, see 'beLoginLinkIPList'

Example:
<HR><B>LOGING</B>]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="beLoginLinkIPList_logout" type="string">
			<description><![CDATA[HTML code wrapped with the logout link, see above]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="cache" type="array">
			<description><![CDATA[The maximum cache lifetime of a page can not only be determined the start and stop times of content elements on the page itself, but also by arbitrary records on any other page. However, the page has to be configured so that TYPO3 knows, which records' start and stop times to include. Otherwise, the cache entry will be used although a start/stop date already passed by.

To include records of type <tablename> on page <pid> into the cache lifetime calculation of page <page-id>, add the following TypoScript:
config.cache.<page-id> = <tablename>:<pid>

Thus, if you want to include the fe_users records on page 2 in the cache lifetime calculation for page 10, add the following TypoScript:
config.cache.10 = fe_users:2

Multiple record sources can be added as comma-separated list, e.g.
config.cache.10 = fe_users:2,tt_news:11

In order to consider records for the cache lifetime of all pages, use the *all* keyword:
config.cache.all = fe_users:2]]></description>
			<default><![CDATA[]]></default>
		</property>
		<property name="cache_clearAtMidnight" type="boolean">
			<description><![CDATA[With this setting the cache always expires at midnight of the day, the page is scheduled to expire.]]></description>
			<default><![CDATA[false]]></default>
		</property>
		<property name="cache_period" type="int">
			<description><![CDATA[int, seconds
      The number of second a page may remain in cache.
This value is overridden by the value set in the page-record (field="cache_timeout") if this value is greater than zero.]]></description>
			<default><![CDATA[86400 (=24H)]]></default>
		</property>
		<property name="compensateFieldWidth" type="double">
			<description><![CDATA[this floating point value will be used by the FORMS cObject to compensate the length of the formfields text and input.
This feature is useful, if the page-option "smallFormFields" is set. In that case Netscape renders formfields much longer than IE. If you want the two browsers to display the same size formfields, use a value of approx "0.6" for netscape-browsers.

Example:
[browser = netscape]
  config.compensateFieldWidth = 0.6
[global]

This option may be overridden in the FORMS-cObject.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="content_from_pid_allowOutsideDomain" type="boolean">
			<description><![CDATA[Using the "Show content from this page instead" feature allows you to insert content from the current domain only. Setting this option will allow content included from anywhere in the page tree!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="debug" type="boolean">
			<description><![CDATA[If set any debug-information in the TypoScript code is output. Currently this applies only to the menu-objects]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="defaultGetVars" type="array">
			<description><![CDATA[Allows to set default values for GET parameters. Default value is taken only if the GET parameter isn't defined. Array notation is done with dots, e.g.:

test[var1] will be written as text.var1

Example:

config.defaultgetVars {
    test.var1.var2.p3 = 15
    L = 3
}
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="disableAllHeaderCode" type="boolean">
			<description><![CDATA[If this is set, none of the features of the PAGE-object is processed and the content of the page will be the result of the cObject array (1,2,3,4...) of the PAGE-object.  This means that the result of the cObject should include everything from the <HTML> .... to the </HTML> tag !!
Use this feature in templates supplying other content-types than HTML. That could be an image or a WAP-page!]]></description>
			<default><![CDATA[false]]></default>
		</property>
		<property name="disableCharsetHeader" type="boolean">
			<description><![CDATA[By default a header "content-type:text/html; charset..." is sent. This option will disable that.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="disablePageExternalUrl" type="boolean">
			<description><![CDATA[If set, pages with doktype "External Url" will not trigger jumpUrl in TSFE. This may help you to have external urls open inside you framesets.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="disablePrefixComment" type="boolean">
			<description><![CDATA[If set, the stdWrap property "prefixComment" will be disabled, thus preventing any revealing and spaceconsuming comments in the HTML source code.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="disablePreviewNotification" type="boolean">
			<description><![CDATA[Disables the "preview" notification box completely]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="doctype" type="string">
			<description><![CDATA[If set, then a document type declaration (and an XML prologue) will be generated. The value can either be a complete doctype or one of the following keywords:

"xhtml_trans" for XHTML 1.0 Transitional doctype.
"xhtml_frames" for XHTML 1.0 Frameset doctype.
"xhtml_strict" for XHTML 1.0 Strict doctype.
"xhtml_basic" for XHTML basic doctype.
"xhtml_11" for XHTML 1.1 doctype.
"xhtml+rdf_10" for XHTML+RDFa 1.0 doctype.
"xhtml_2" for XHTML 2 doctype.
"html5" for HTML5
"none" for NO doctype at all.

Note that the keywords also change the way TYPO3 generates some of the XHTML tags to ensure valid XML. If you set doctype to a string, then you must also set config.xhtmlDoctype (see below).

See "config.htmlTag_setParams" and "config.htmlTag_langKey" for more details on the effect on the html tag.
]]></description>
			<default><![CDATA[Default is a DOCTYPE like this:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
]]></default>
		</property>
		<property name="doctypeSwitch" type="boolean">
			<description><![CDATA[If set, the order of <?xml...> and <!DOCTYPE...> will be reversed. This is needed for MSIE to be standards compliant with XHTML.

Background:
By default TYPO3 outputs the XML/DOCTYPE in compliance with the standards of XHTML. However a browser like MSIE will still run in "quirks-mode" unless the <?xml> and <DOCTYPE> tags are ordered opposite. But this breaks CSS validation...
With this option designers can decide for themselves what they want then.

If you want to check the compatibility-mode of your webbrowser you can do so with a simple JavaScript that can be inserted on a TYPO3 page like this:

page.headerData.1 = TEXT
page.headerData.1.value = <script>alert(document.compatMode);</script>

If your browser has detected the DOCTYPE correctly it will report "CSS1Compat"
If you are not running in compliance mode you will get some other message. MSIE will report "BackCompat" for instance - this means it runs in quirks-mode, supporting all the old "browser-bugs".]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="enableContentLengthHeader" type="boolean">
			<description><![CDATA[If set, a header "content-length: [bytes of content]" is sent.

If a PHP_SCRIPT_EXT object is detected on the page or if the Backend user is logged in, this is disabled. The reason is that the content length header cannot include the lenght of these objects and the content-length will cut of the lenght of the document in some browsers.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="extTarget" type="string">
			<description><![CDATA[default external target. Used by typolink if no extTarget is set]]></description>
			<default><![CDATA[_top]]></default>
		</property>
		<property name="fileTarget" type="string">
			<description><![CDATA[Default file link target. Used by typolink if no fileTarget is set. ]]></description>
			<default><![CDATA[
			]]></default>
		</property>
		<property name="forceTypeValue" type="int">
			<description><![CDATA[Force the &type value of all TYPO3 generated links to a specific value (except if overruled by local forceTypeValue values).
Useful if you run a template with special content at - say &type=95 - but still wants to keep your targets neutral. Then you set your targets to blank and this value to the type value you wish.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="frameReloadIfNotInFrameset" type="boolean">
			<description><![CDATA[If set, then the current page will check if the page object name (eg. "page" or "frameset") exists as "parent.[name]" (eg. "parent.page") and if not the page will be reloaded in top frame. This secures that links from search engines to pages inside a frameset will load the frameset.
Works only with type-values different from zero.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="ftu" type="boolean">
			<description><![CDATA[If set, the "&ftu=...." GET-fallback identification is inserted.
"&ftu=[hash]" is always inserted in the links on the first page a user hits. If it turns out in the next hit that the user has cookies enabled, this variable is not set anymore as the cookies does the job. If no cookies is accepted the "ftu" remains set for all links on the site and thereby we can still track the user.

You should not set this feature if grabber-spiders like Teleport are going to grab your site!
You should not set this feature if you want search-engines to index your site (in conjunction with the simulateStaticDocuments feature!)

You can also ignore this feature if you're certain, website users will use cookies.
 "ftu" means fe_typo_user ("fe" is "frontend").]]></description>
			<default><![CDATA[false]]></default>
		</property>
		<property name="headerComment " type="string">
			<description><![CDATA[The content is added before the "TYPO3 Content Management Framework" comment in the <head> section of the page. Use this to insert a note like that "Programmed by My-Agency" ...]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="htmlTag_dir" type="string">
			<description><![CDATA[Sets text direction for whole document (useful for display of Arabic, Hebrew pages).

Basically the value becomes the attribute value of "dir" for the <html> tag.

Values:
rtl = Right-To-Left (for Arabic / Hebrew)
ltr = Left-To-Right (Default for other languages)

Example:
config.htmlTag_dir = rtl]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="htmlTag_langKey" type="string">
			<description><![CDATA[Allows you to set the language value for the attributes "xml:lang" and "lang" in the <html> tag (when using "config.doctype = xhtml*").

The values must follow the format specified in IETF RFC 3066

Example:
config.htmlTag_langKey = en-US]]></description>
			<default><![CDATA[en]]></default>
		</property>
		<property name="htmlTag_setParams" type="string">
			<description><![CDATA[Sets the attributes for the <html> tag on the page. If you set "config.doctype" to a keyword enabling XHTML then some attributes are already set. This property allows you to override any preset attributes with you own content if needed.

Special: If you set it to "none" then no attributes will be set at any event.

Example:
config.htmlTag_setParams =  xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="incT3Lib_htmlmail " type="boolean">
			<description><![CDATA[Include t3lib/class.t3lib_htmlmail.php]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="includeLibrary" type="string">
			<description><![CDATA[This includes a phpfile.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="index_descrLgd" type="int">
			<description><![CDATA[This indicates how many chars to preserve as description for an indexed page. This may be used in the search result display.]]></description>
			<default><![CDATA[200]]></default>
		</property>
		<property name="index_enable" type="boolean">
			<description><![CDATA[Enables cached pages to be indexed.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="index_externals" type="boolean">
			<description><![CDATA[If set, external media linked to on the pages is indexed as well.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="inlineStyle2TempFile" type="boolean">
			<description><![CDATA[If set, the inline styles TYPO3 controls in the core are written to a file,  typo3temp/stylesheet_[hashstring].css, and the header will only contain the link to the stylesheet.
The file hash is based solely on the content of the styles.

Depends on the compatibility mode (see Tools>Install>Update wizard):
compatibility mode < 4.0:   0
compatibility mode >= 4.0:   1

Example:
config.inlineStyle2TempFile = 1]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="insertDmailerBoundaries" type="boolean">
			<description><![CDATA[If set, boundary marks will be set around all records inserted on the page with cObjects CONTENT and RECORD. They are inserted as HTML-comments and do no harm.
Used by the Direct Mail module in TYPO3 to segmentize a page by categories.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="intTarget" type="string">
			<description><![CDATA[default internal target. Used by typolink if no target is set]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="jumpurl_enable" type="boolean">
			<description><![CDATA[Jumpurl is a concept where external links are redirected from the index_ts.php script, which first logs which url it was. This logging of external links is only interesting if you use the internal stat-table in TYPO3.]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="jumpurl_mailto_disable" type="boolean">
			<description><![CDATA[Disables the use of jumpUrl when linking to email-adresses.]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="language" type="string">
			<description><![CDATA[Language key. See stdWrap.lang for more information.
Select between:
English  (default) = [empty]
Danish = dk
German = de
Norwegian = no
Italian = it
etc...

Value must correspond with the key used for backend system language if there is one. See inside config_default.php or look at the translation page on TYPO3.org for the official 2-byte key for a given language. Notice that selecting the official key is important if you want labels in the correct language from "locallang" files.
If the language you need is not yet a system language in TYPO3 you can use an artificial string of your choice and provide values for it via the TypoScript template where the property "_LOCAL_LANG" for most plugins will provide a way to override/add values for labels. The keys to use must be looked up in the locallang-file used by the plugin of course.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="language_alt" type="string">
			<description><![CDATA[If "config.language" (above) is used, this can be set to another language key which will be used for labels if a label was not found for the main language. For instance a brazil portuguese website might specify "pt" as alternative language which means the portuguese label will be shown if none was available in the main language, brazil portuguese. This feature makes sense if one language is incompletely translated and close to another language.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="linkVars" type="string">
			<description><![CDATA[HTTP_GET_VARS, which should be passed on with links in TYPO3. This is compiled into a string stored in $GLOBALS["TSFE"]->linkVars

The values are rawurlencoded in PHP.

You can specify a range of valid values by appending a () after each value. If this range does not match, the variable won't be appended to links. This is very important to prevent that the cache system gets flooded with forged values.

The range may containing one of these values:
[a]-[b] - A range of allowed integer valuesint - Only integer values are allowed[a]|[b]|[c] - A list of allowed strings (whitespaces will be removed)/[regex]/ - Match against a regular expression (PCRE style)

Example:
config.linkVars = L, print
This will add "&L=[L-value]&print=[print-value]" to all links in TYPO3.

config.linkVars = L(1-3), print
Same as above, but "&L=[L-value]" will only be added if the current value is 1, 2 or 3.
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="locale_all" type="string">
			<description><![CDATA[PHP: setlocale("LC_ALL", [value]);
value-examples: deutsch, de_DE, danish, portuguese, spanish, french, norwegian, italian. See www.php.net for other value. Also on linux, look at /usr/share/locale/

TSFE->localeCharset is intelligently set to the assumed charset of the locale strings. This is used in stdWrap.strftime to convert locale strings to the renderCharset of the frontend.

Example:
This will render dates in danish made with stdWrap/strftime:
locale_all = danish
locale_all = da_DK]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="lockFilePath" type="string">
			<description><![CDATA[This is used to lock paths to be "inside" this path.
Used by "filelist" in stdWrap]]></description>
			<default><![CDATA[fileadmin/]]></default>
		</property>
		<property name="mainScript" type="string">
			<description><![CDATA[This lets you specify an alternative "mainScript" which is the document that TYPO3 expects to be the default doc. This is used in form-tags and other places where TYPO3 needs to refer directly to the main-script of the application]]></description>
			<default><![CDATA[index.php]]></default>
		</property>
		<property name="meaningfulTempFilePrefix" type="boolean">
			<description><![CDATA[If set it will try to render a meaningful prefix before temporary image files.
Works with GIFBUILDER files (taking content from the Gifbuilder TEXT objects), menus (taking the title of the menu item) and scaled images (using original filename base).]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="message_page_is_being_generated" type="string">
			<description><![CDATA[Alternative HTML message that appears if a page is being generated.
Normally when a page is being generated a temporary copy is stored in the cache-table with an expire-time of 30 seconds.

It is possible to use some keywords that are replaced with the corresponding values. Possible keywords are: ###TITLE###, ###REQUEST_URI###]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="message_preview" type="string">
			<description><![CDATA[Alternative message in HTML that appears when the preview function is active!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="message_preview_workspace" type="string ">
			<description><![CDATA[Alternative message in HTML that appears when the preview function is active in a draft workspace. You can use sprintf() placeholders for Workspace title (first) and number (second).

Examples:
config.message_preview_workspace = <div class="previewbox">Displaying workspace named "%s" (number %s)!</div>
config.message_preview_workspace = <div class="previewbox">Displaying workspace number %2$s named "%1$s"!</div>]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="metaCharset" type="string">
			<description><![CDATA[Charset used for the output document. For example in the meta tag:
<meta http-equiv="Content-Type" content="text/html; charset=...>

Is used for a) HTML meta-tag, b) HTTP header (unless disabled with .disableCharsetHeader) and c) xhtml prologues (if available)

If renderCharset and metaCharset are different the output content is automatically converted to metaCharset before output and likewise are values posted back to the page converted from metaCharset to renderCharset for internal processing. This conversion takes time of course so there is another good reason to use the same charset for both.]]></description>
			<default><![CDATA[value of ".renderCharset"]]></default>
		</property>
		<property name="moveJsFromHeaderToFooter" type="boolean">
			<description><![CDATA[
			If set, all Javascript (includes and inline) will be moved to the bottom of the HTML document, which is after content and before the closing body tag
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="namespaces" type="array">
			<description><![CDATA[array of strings
			This property enables you to add xml namespaces (xmlns) to the html tag. The configuration

namespaces.dc = http://purl.org/dc/elements/1.1/
namespaces.foaf = http://xmlns.com/foaf/0.1/

will result in a html tag like

<html xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:foaf="http://xmlns.com/foaf/0.1/">

This is especially useful if you want to add RDFa or microformats to your html.
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="noPageTitle" type="int">
			<description><![CDATA[If you only want to have the sitename (from the template record) in your <title> tag, set this to 1. If the value is 2 then the <title> tag is not printed at all.
Please take note that this tag is required for XHTML compliant output, so you should only disable this tag if you generate it manually already.]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="noScaleUp" type="boolean">
			<description><![CDATA[Normally images are scaled to the size specified via TypoScript. This also forces small images to be scaled to a larger size. This is not always a good thing.
If this property is set, images are not allowed to be scaled up in size. This parameter clears the $this->mayScaleUp var of the class t3lib_stdgraphics (often "gifbuilder").]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="no_cache" type="boolean">
			<description><![CDATA[If this is set to true, the page will not be cached. If set to false, it's ignored. Other parameters may have set it to true of other reasons.]]></description>
			<default><![CDATA[-]]></default>
		</property>
		<property name="notification_email_charset" type="string">
			<description><![CDATA[Alternative charset for the notification mails.]]></description>
			<default><![CDATA[utf-8]]></default>
		</property>
		<property name="notification_email_encoding" type="string">
			<description><![CDATA[This sets the encoding of plaintext emails (notification messages). The default encoding is "quoted-printable". But setting this to eg. "base64" will encode the content with base64 encoding.

Values possible:
base64
quoted-printable
8bit]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="notification_email_urlmode" type="string">
			<description><![CDATA[This option allows you to handle URL's in plain text emails so long URLS of more than 76 chars are not broken. This option can be either empty or "76" or "all".
If the string is blank, all links in plaintext emails are untouched.
If it's set to 76 then all links longer then 76 characters are stored in the database and a hash is sent in the GET-var ?RDCT=[md5/20] to the index.php script which finds the proper link in the database and issues a location header (redirection).
If the value is "all" then ALL "http://" links in the message are converted.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="pageGenScript" type="string">
			<description><![CDATA[Alternative page generation script for applications using index_ts.php for initialization, caching, stating and so on. This script is included in the global scope of index_ts.php-script and thus you may include libraries here. Always use include_once for libraries.
Remember not to output anything from such an included script. All content must be set into $TSFE->content. Take a look at typo3/sysext/cms/tslib/pagegen.php

NOTE: This option is ignored if

$TYPO3_CONF_VARS["FE"]["noPHPscriptInclude"]=1;

is set in localconf.php.]]></description>
			<default><![CDATA[typo3/sysext/cms/tslib/pagegen.php]]></default>
		</property>
		<property name="pageRendererTemplateFile" type="string">
			<description><![CDATA[
			Sets the template for page renderer class (t3lib_PageRenderer).

Example:

pageRendererTemplateFile = fileadmin/test_pagerender.html
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="pageTitleFirst" type="boolean">
			<description><![CDATA[If set (and the page title is printed) then the page-title will be printed BEFORE the template title.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="pageTitleSeparator" type="string">
			<description><![CDATA[The signs which should be printed in the title tag between the website name and the page title.]]></description>
			<default><![CDATA[:]]></default>
		</property>
		<property name="prefixLocalAnchors" type="string">
			<description><![CDATA[If set to one of the keywords, the content will have all local anchors in links prefixed with the path of the script. Basically this means that <a href="#"> will be transformed to <a href="path/path/script?params#">. This procedure is necessary if the <base> tag is set in the script (eg. if "realurl" extension is used to produce Speaking URLs).

Keywords are the same as for "xhtml_cleaning", see above.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="removeDefaultCss" type="boolean">
			<description><![CDATA[Remove CSS generated by _CSS_DEFAULT_STYLE configuration of extensions.]]></description>
			<default><![CDATA[false]]></default>
		</property>
		<property name="removeDefaultJS" type="string">
			<description><![CDATA[If set, the default JavaScript in the header will be removed.
The default JavaScript is the blurLink function and browser detection variables.

Special case: if the value is "external" then the default JavaScript is written to a temporary file and included from that file. See "inlineStyle2TempFile" below.

Depends on the compatibility mode (see Tools>Install>Update wizard):
compatibility mode < 4.0:   0
compatibility mode >= 4.0:   1

Example:
config.removeDefaultJS = external
config.removeDefaultJS = 1]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="minifyJS" type="boolean">
			<description><![CDATA[This setting is deprecated and will be removed with TYPO3 6.0! Use config.compressJs instead, which has the same effect.]]></description>
			<default><![CDATA[false]]></default>
		</property>
		<property name="minifyCSS" type="boolean">
			<description><![CDATA[This setting is deprecated and will be removed with TYPO3 6.0! Use config.compressCss instead, which has the same effect.]]></description>
			<default><![CDATA[false]]></default>
		</property>
		<property name="compressJs" type="boolean">
			<description><![CDATA[Enabling this option together with $TYPO3_CONF_VARS['FE']['compressionLevel'] in the Install Tool delivers Frontend JavaScript files using GZIP compression.

This can significantly reduce file sizes of linked JavaScript files and thus decrease loading times.

Please not that this requires .htaccess to be adjusted, as otherwise the files will not be readable by the user agent. Please see the description of $TYPO3_CONF_VARS['FE']['compressionLevel'] in the Install Tool.

Example:

config.compressJs = 1
			]]></description>
			<default><![CDATA[false]]></default>
		</property>
		<property name="compressCss" type="boolean">
			<description><![CDATA[If set, CSS files will be minified and compressed.

Minification will remove all excess space. The more significant compression step (using Gzip compression) requires $TYPO3_CONF_VARS['FE']['compressionLevel'] to be enabled in the Install Tool together with the gzip-related compressionLevel options in .htaccess, as otherwise the files will not be readable by the user agent.

Example:

config.compressCss = 1]]></description>
			<default><![CDATA[false]]></default>
		</property>
		<property name="concatenateJs" type="boolean">
			<description><![CDATA[Setting config.concatenateJs merges Javascript files referenced in the Frontend together.

Example:

config.concatenateJs = 1

Note: TYPO3 comes with a built-in concatenation handler, but you can also register your own one using $GLOBALS['TYPO3_CONF_VARS']['FE']['jsConcatenateHandler'].

Example:

$GLOBALS['TYPO3_CONF_VARS']['FE']['jsConcatenateHandler'] = t3lib_extMgm::extPath($_EXTKEY) . 'Classes/class.tx_myext_jsConcatenateHandler.php:tx_myext_jsConcatenateHandler->concatenateJs';]]></description>
			<default><![CDATA[false]]></default>
		</property>
		<property name="concatenateCss" type="boolean">
			<description><![CDATA[Setting config.concatenateCss merges Stylesheet files referenced in the Frontend together.

Example:

config.concatenateCss = 1

Note: TYPO3 comes with a built-in concatenation handler, but you can also register your own using $GLOBALS['TYPO3_CONF_VARS']['FE']['cssConcatenateHandler'].

Example:

$GLOBALS['TYPO3_CONF_VARS']['FE']['cssConcatenateHandler'] = t3lib_extMgm::extPath($_EXTKEY) . 'Classes/class.tx_myext_cssConcatenateHandler.php:tx_myext_cssConcatenateHandler->concatenateCss';]]></description>
			<default><![CDATA[false]]></default>
		</property>
		<property name="renderCharset" type="string">
			<description><![CDATA[Charset used for rendering internally of the page content. It is highly recommended that this value is the same as the charset of the content coming from the main data source (eg. the database). Thus you don't need to do any other conversion.
All strings from locallang files and locale strings are (and should be) converted to "renderCharset" during rendering.

If you need another output charset than the render charset, see "metaCharset" below.

]]></description>
			<default><![CDATA[UTF-8]]></default>
		</property>
		<property name="sendCacheHeaders" type="boolean">
			<description><![CDATA[If set, TYPO3 will output cache-control headers to the client based mainly on  whether the page was cached internally. This feature allows client browsers and/or reverse proxies to take load of TYPO3 websites.

The conditions for allowing client caching are:
page was cachedNo *_INT or *_EXT objects were on the page (eg. USER_INT)No frontend user is logged inNo backend user is logged in

If these conditions are met, the headers sent are:
Last-Modified [SYS_LASTCHANGED of page id]Expires [expire time of page cache]Etag [md5 of content]Cache-Control: max-age: [seconds til expiretime]Pragma: public

In case caching is not allowed, these headers are sent to avoid client caching:
Cache-Control: private

Notice that enabling the browser caches means you have to consider how log files are written. Because when a page is cached on the client it will not invoke a request to the webserver, thus not writing the request to the log. There should be ways to circumvent these problems but they are outside the domain of TYPO3 in any case.

Tip: Enabling cache-control headers might confuse editors seeing old content served from the browser cache. "Shift-Reload" will bypass both browser- and reverse-proxy caches and even make TYPO3 regenerate the page. Teach them that trick!

Thanks to Ole Tange, www.forbrug.dk for co-authoring this feature.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="sendCacheHeaders_onlyWhenLoginDeniedInBranch" type="boolean">
			<description><![CDATA[If this is set, then cache-control headers allowing client caching is sent only if user-logins are disabled for the branch. This feature makes it easier to manage client caching on sites where you have a mixture of static pages and dynamic sections with user logins.

The background problem is this: In TYPO3 the same URL can show different content depending on whether a user is logged in or not. If a user is logged in, cache-headers will never allow client caching. But if the same URL was visited without a login prior to the login (allowing caching) the user will still see the page from cache when logged in (and so thinks he is not logged in anyway)! The only general way to prevent this is to have a different URL for pages when users are logged in (which the extension "realurl" can accomplish).

Another way to solve the problem is using this option in combination with disabling and enabling logins in various sections of the site. In the page records ("Advanced" page types) you can disable frontend user logins for branches of the page tree. Since many sites only needs the login in a certain branch of the page tree, disabling it in all other branches makes it much easier to use cache-headers in combination with logins; Cache-headers should simply be sent when logins are not allowed and never be send when logins are allowed! Then there will never be problems with logins and same-URLs.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="setJS_mouseOver" type="boolean">
			<description><![CDATA[If set, the over() and out() JavaScript functions are forced to be included]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="setJS_openPic" type="boolean">
			<description><![CDATA[If set, the openPic JavaScript function is forced to be included]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="simulateStaticDocuments" type="string">
			<description><![CDATA[boolean/string
			If set TYPO3 makes all links in another way than usual. This can be used with Apache compiled with mod_rewrite and configured in httpd.conf for use of this in the ".htaccess"-files.
Include this in the .htaccess file
RewriteEngine On
RewriteRule   ^[^/]*\.html$  index.php

This means that any "*.html"-documents should be handled by index.php.
Now if is done, TYPO3 will interprete the url of the html-document like this:
[title].[id].[type].html
Title is optional and only usefull for the entries in the apache log-files. You may omit both [title] and [type] but if title is present, type must also be there!.

Example:
TYPO3 will interprete this as page with uid=23 and type=1 :
Startpage.23.1.html

TYPO3 will interprete this as the page with alias = "start" and the type is zero (default):
start.html

Alternative option (PATH_INFO):
Instead of using the rewrite-module in apache (eg. if you're running Windows!) you can use the PATH_INFO variable from PHP.
It's very simple. Just set simulateStaticDocuments to "PATH_INFO" and you're up and running!

Also: See below, .absRefPrefix

Example (put in Setup-field of your template):
config.simulateStaticDocuments = PATH_INFO]]></description>
			<default><![CDATA[default is defined by a configuration option in localconf.php. It's
$TYPO3_CONF_VARS["FE"]["simulateStaticDocuments"] = 1;
This affects all sites in the database.
You can also set this value to the string  "PATH_INFO"]]></default>
		</property>
		<property name="simulateStaticDocuments_addTitle" type="int">
			<description><![CDATA[If not zero, TYPO3 generates urls with the title in, limited to the first [simulateStaticDocuments_addTitle] number of chars.

Example:
Startpage.23.1.html
instead of the default, "23.1.html", without the title.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="simulateStaticDocuments_dontRedirectPathInfoError" type="boolean">
			<description><![CDATA[Regarding PATH_INFO mode:
When a page is requested by "PATH_INFO" method it must be configured in order to work properly. If PATH_INFO is not configured, the index_ts.php script sends a location header to the correct page. However if you better like an error message outputted, just set this option.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="simulateStaticDocuments_noTypeIfNoTitle" type="boolean">
			<description><![CDATA[If set, then the type-value will not be set in the simulated filename if the type value is zero anyways. However the filename must be without a title.

Example:
"Startpage.23.0.html" would still be "Startpage.23.0.html"
"23.0.html" would be "23.html" (that is without the zero)
"23.1.html" would still be "23.1.html" ]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="simulateStaticDocuments_pEnc" type="string">
			<description><![CDATA[Allows you to also encode additional parameters into the simulated filename.

Example:
You have a news-plugin. The main page has the url "Page_1.228.0.html" but when one clicks on a news item the url will be "Page_1.228.0.html?&tx_mininews_pi1[showUid]=2&cHash=b8d239c224" instead.
Now, this URL will not be indexed by external search-engines because of the query-string (everything after the "?" mark). This property avoids this problem by encoding the parameters. These are the options:

Value set to "base64":
This will transform the filename used to this value: "Page_1.228+B6JnR4X21pbmluZXdzX3BpMVtzaG93VWlkXT0yJmNIYXNoPWI4ZDIzOWMyMjQ_.0.html". The querystring has simply been base64-encoded (and some more...) and added to the HTML-filename (so now external search-engines will find this!). The really great thing about this that the filename is self-reliant because the filename contains the parameters. The downside to it is the very very long filename.

Value set to "md5":
This will transform the filename used to this value:
"Page_1.228+M57867201f4a.0.html". Now, what a lovely, short filename! Now all the parameters has been hashed into a 10-char string inserted into the filename. At the same time an entry has been added to a cache table in the database so when a request for this filename reaches the frontend, then the REAL parameter string is found in the database! The really great thing about this is that the filename is very short (opposite to the base64-method). The downside to this is that IF you clear the database cache table at any time, the URL here does NOT work until a page with the link has been generated again (re-inserting the parameter list into the database).

NOTICE: From TYPO3 3.6.0 the encoding will work only on parameters that are manually entered in the list set by .simulateStaticDocuments_pEnc_onlyP (see right below) or those parameters that various plugins might allow in addition. This is to limit the run-away risk when many parameters gets combined.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="simulateStaticDocuments_pEnc_onlyP" type="string">
			<description><![CDATA[A list of variables that may be a part of the md5/base64 encoded part of a simulate_static_document virtual filename (see property in the row above).

Example:
simulateStaticDocuments_pEnc_onlyP = tx_maillisttofaq_pi1[pointer], L, print

-> this will allow the "pointer" parameter for the extension "maillisttofaq" to be included (in addition to whatever vars the extension sets itself) and further the parameter "L" (could be language selection) and "print" (could be print-version).]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="simulateStaticDocuments_replacementChar" type="string">
			<description><![CDATA[Word separator for URLs generated by simulateStaticDocuments. If set to
hyphen, this option allows search engines to index keywords in URLs. Before TYPO3 4.0 this character was hard-coded to underscore.

Depends on the compatibility mode (see Tools>Install>Update wizard):
compatibility mode < 4.0:   underscore "_"
compatibility mode >= 4.0:   hyphen "-"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="spamProtectEmailAddresses" type="string">
			<description><![CDATA["ascii" / -10 to 10
			If set, then all email addresses in typolinks will be encrypted so spam bots cannot detect them.

If you set this value to a number, then the encryption is simply an
offset of character values. If you set this value to "-2" then all
characters will have their ASCII value offset by "-2". To make this
possible, a little JavaScript code is added to every generated web page!
(It is recommended to set the value in the range from -5 to 1 since setting it to >= 2 means a "z" is converted to "|" which is a special character in TYPO3 tables syntax – and that might confuse columns in tables. Now hardcoded range)

Alternatively you can set this value to the keyword "ascii". This way every
character of the "mailto:" address will be translated to a Unicode HTML
notation. Have a look at the example to see how this works.

Example:
mailto:a@b.c will be converted to
mailto:&#97;&#64;&#98;&#46;&#99;
The big advantage of this method is that it doesn't need any JavaScript!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="spamProtectEmailAddresses_atSubst" type="string">
			<description><![CDATA[Substitute label for the at-sign (@).]]></description>
			<default><![CDATA[(at)]]></default>
		</property>
		<property name="spamProtectEmailAddresses_lastDotSubst" type="string">
			<description><![CDATA[Substitute label for the last dot in the email address.
Example: (dot)]]></description>
			<default><![CDATA[Default: . ( <= just a simple dot)]]></default>
		</property>
		<property name="stat" type="boolean">
			<description><![CDATA[Enable stat logging at all.]]></description>
			<default><![CDATA[true]]></default>
		</property>
		<property name="stat_apache" type="boolean">
			<description><![CDATA[Enable logging to the logfile "stat_apache_logfile"]]></description>
			<default><![CDATA[false]]></default>
		</property>
		<property name="stat_apache_logfile" type="string">
			<description><![CDATA[This defines the name of the logfile where TYPO3 writes an Apache-style logfile to. The location of the directory is defined by $TYPO3_CONF_VARS["FE"]["logfile_dir"]  which must exist and be writable. It can be relative (to PATH_site) or absolute, but in any case it must be within the regular allowed paths of TYPO3 (meaning for absolute paths that it must be within the "lockRootDir" set up in $TYPO3_CONF_VARS).

It is also possible to use date markers in the filename as they are provided by the PHP function strftime(). This will enable a natural rotation of the logfiles.

Example:
config.stat_apache_logfile = typo3_%Y%m%d.log

This will create daily log files (eg. typo3_20060321.log).]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="stat_apache_niceTitle" type="string">
			<description><![CDATA[boolean / string
			If set, the URL will be transliterated from the renderCharset to ASCII (eg ä => ae, à => a, &#945; "alpha" => a), which yields nice and readable page titles in the log. All non-ASCII characters that cannot be converted will be changed to underscores.

If set to "utf-8", the page title will be converted to UTF-8 which results
in even more readable titles, if your log analyzing software supports it.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="stat_apache_noHost" type="boolean">
			<description><![CDATA[If true the HTTP_HOST is - if available - NOT inserted instead of the IP-address]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="stat_apache_noRoot" type="boolean">
			<description><![CDATA[If set, the root part (level 0) of the path will be removed from the path. This makes a shorter name in case you have only a redundant part like "home" or "my site".]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="stat_apache_notExtended" type="boolean">
			<description><![CDATA[If true the logfile is NOT written in Apache extended format]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="stat_apache_pagenames" type="string">
			<description><![CDATA[The "pagename" simulated for apache.
Default:    "[path][title]--[uid].html"
Codes:
[title] = inserts title, no special characters and shortend to 30 chars.
[uid] = the id
[alias] = any alias
[type] = the type (typeNum)
[path] = the path of the page.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="stat_excludeBEuserHits" type="boolean">
			<description><![CDATA[If set a pagehit is not logged if a user is logged in into TYPO3.]]></description>
			<default><![CDATA[false]]></default>
		</property>
		<property name="stat_excludeIPList" type="string">
			<description><![CDATA[list of strings
			If the REMOTE_ADDR is in the list of IP-addresses, it's also not logged.
Can use wildcard, eg. "192.168.1.*"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="stat_mysql" type="boolean">
			<description><![CDATA[Enable logging to the MySQL table sys_stat.]]></description>
			<default><![CDATA[false]]></default>
		</property>
		<property name="stat_pageLen" type="int">
			<description><![CDATA[int 1-100
			The length of the page name (at the end of the path) written to the logfile/database.]]></description>
			<default><![CDATA[30]]></default>
		</property>
		<property name="stat_titleLen" type="int">
			<description><![CDATA[int 1-100
			The length of the page names in the path written to logfile/database]]></description>
			<default><![CDATA[20]]></default>
		</property>
		<property name="stat_typeNumList" type="intList">
			<description><![CDATA[List of pagetypes that should be registered in the statistics table, sys_stat.
If no types are listed, all types are logged.
Default is "0,1" which normally logs all hits on framesets and hits on content keeping pages. Of course this depends on the template design.]]></description>
			<default><![CDATA[0,1]]></default>
		</property>
		<property name="sword_noMixedCase" type="boolean">
			<description><![CDATA[Used by the parseFunc-substitution of search Words (sword):
If set, the words MUST be the exact same case as the search word was.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="sword_standAlone" type="boolean">
			<description><![CDATA[Used by the parseFunc-substitution of search Words (sword):
If set, the words MUST be surrounded by whitespace in order to be marked up.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="sys_language_mode" type="string">
			<description><![CDATA[Setting various modes of handling localization.
The syntax is "[keyword] ; [value]".

Possible keywords are:

[default] - The system will look for a translation of the page (from "Alternative Page Language" table) and if it is not found it will fall back to the default language and display that.

content_fallback - [ Recommended ] The system will always operate with the selected language even if the page is not translated with a page overlay record. This will keep menus etc. translated. However, the content on the page can still fall back to another language, defined by the value of this keyword, eg. "content_fallback ; 1,0" to fall back to the content of sys_language_uid 1 and if that is not present either, to default (0)

strict - The system will report an error if the requested translation does not exist. Basically this means that all pages with gray background in the Web>Info / Localization overview module will fail (they would otherwise fall back to default language in one or another way)

ignore - The system will stay with the selected language even if the page is not translated and there's no content available in this language, so you can handle that situation on your own then.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="sys_language_overlay" type="string">
			<description><![CDATA[boolean / keyword
			If set, records from certain tables selected by the CONTENT cObject using the "languageField" setting will select the default language (0) instead of any language set by sys_language_uid / sys_language_mode. In addition the system will look for a translation of the selected record and overlay configured fields.
The requirements for this is that the table is configured with "languageField" and "transOrigPointerField" in the [ctrl] section of $TCA. Also, exclusion of certain fields can be done with the "l10n_mode" directive in the field-configuration of $TCA.

For backend administration this requires that you configure the "Web>Page" module to display content elements accordingly; That each default element is shown and next to it any translation found. This configuration can be done with Page TSconfig for a section of the website using the object path "mod.web_layout.defLangBinding = 1".

Keyword:
hideNonTranslated : If this keyword is used a record that has no translation will not be shown. The default is that records with no translation will show up in the default language.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="sys_language_softExclude" type="string">
			<description><![CDATA[Setting additional "exclude" flags for l10n_mode in TCA for frontend rendering. Works exactly like sys_language_softMergeIfNotBlank (see that for details - same Syntax!).

Fields set in this property will override if the same field is set for "sys_language_softMergeIfNotBlank".]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="sys_language_softMergeIfNotBlank" type="string">
			<description><![CDATA[Setting additional "mergeIfNotBlank" fields from TypoScript.

Background:
In TCA you can configure "l10n_mode" - localization mode - for each field. Two of the options affect how the frontend displays content; The values "exclude" and "mergeIfNotBlank" (see "TYPO3 Core API" document for details). The first ("exclude") simply means that the field when found in a translation of a record will not be overlaid the default records field value. The second ("mergeIfNotBlank") means that it will be overlaid only if it has a non-blank value.
Since it might be practical to set up fields for "mergeIfNotBlank" on a per-site basis this options allows you to override additional fields from tables.

Syntax:
 [table]:[field],  [table]:[field],  [table]:[field], ...

Example:
config.sys_language_softMergeIfNotBlank = tt_content:image , tt_content:header

This setting means that the header and image field of content elements will be used from the translation only if they had a non-blank value. For the image field this might be very practical because it means that the image(s) from the default translation will be used unless other images are inserted!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="sys_language_uid" type="int">
			<description><![CDATA[This value points to the uid of a record from the "sys_language" table and if set, this means that various parts of the frontend display code will select records which are assigned to this language. See ->SELECT

Internally, the value is depending on whether a Alternative Page Language record can be found with that language. If not, the value will default to zero (default language) except if "sys_language_mode" is set to a value like "content_fallback".]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="titleTagFunction " type="string">
			<description><![CDATA[function-name
			Passes the default <title>-tag content to this function. No typoScript parameters are passed though.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="typolinkCheckRootline" type="boolean">
			<description><![CDATA[If set, then every "typolink" is checked whether it's linking to a page within the current rootline of the site.
If not, then TYPO3 searches for the first found domain record (without redirect) in that rootline from out to in.
If found (another domain), then that domain is prepended the link, the external target is used instead and thus the link jumps to the page in the correct domain.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="typolinkEnableLinksAcrossDomains" type="boolean">
			<description><![CDATA[This option enables to create links across domains using current domain's linking scheme.

If this option is not set, then all cross-domain links will be generated as

"http://domain.tld/index.php?id=12345" (where 12345 is page id). If this option is set and current site uses, for example, simulateStatic, then links will be generated as "http://domain.tld/PageTitle.12345.html" (includes RTE links too). Setting this option requires that domains, where pages are linked, have the same configuration for:

- linking scheme (i.e. all use simulateStatic or RealURL or CoolURI but not any mixture)

- all domains have identical localization settings (config.sys_language_XXX directives)

- all domains have the same set of languages defined

This option implies "config.typolinkCheckRootline=1", which will be activated automatically. Setting value of "config. typolinkCheckRootline" inside TS template will have no effect.

Disclaimer: it must be understood that while link is generated to another domain, it is still generated in the context of current domain. No side effects are known at the time of writing of this documentation but they may exist. If any side effects are found, this documentation will be updated to include them.]]></description>
			<default><![CDATA[false]]></default>
		</property>
		<property name="typolinkEnableLinksAcrossDomains" type="boolean">
			<description><![CDATA[This option enables to create links across domains using current domain's linking scheme.

If this option is not set, then all cross-domain links will be generated as

"http://domain.tld/index.php?id=12345" (where 12345 is page id). If this option is set and current site uses, for example, simulateStatic, then links will be generated as "http://domain.tld/PageTitle.12345.html" (includes RTE links too). Setting this option requires that domains, where pages are linked, have the same configuration for:

- linking scheme (i.e. all use simulateStatic or RealURL or CoolURI but not any mixture)
- all domains have identical localization settings (config.sys_language_XXX directives)
- all domains have the same set of languages defined

This option implies "config.typolinkCheckRootline=1", which will be activated automatically. Setting value of "config. typolinkCheckRootline" inside TS template will have no effect.

Disclaimer: it must be understood that while link is generated to another domain, it is still generated in the context of current domain. No side effects are known at the time of writing of this documentation but they may exist. If any side effects are found, this documentation will be updated to include them.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="typolinkLinkAccessRestrictedPages" type="string">
			<description><![CDATA[integer (page id) / keyword "NONE"
			If set, typolinks pointing to access restricted pages will still link to the page even though the page cannot be accessed. If the value of this setting is an integer it will be interpreted as a page id to which the link will be directed.
If the value is "NONE" the original link to the page will be kept although it will generate a page-not-found situation (which can of course be picked up properly by the page-not-found handler and present a nice login form).

See "showAccessRestrictedPages" for menu objects as well (similar feature for menus)

Example:
config.typolinkLinkAccessRestrictedPages = 29
config.typolinkLinkAccessRestrictedPages_addParams = &return_url=###RETURN_URL###&pageId=###PAGE_ID###

Will create a link to page with id 29 and add GET parameters where the return URL and original page id is a part of it.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="typolinkLinkAccessRestrictedPages_addParams" type="string">
			<description><![CDATA[See "typolinkLinkAccessRestrictedPages" above]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="uniqueLinkVars" type="boolean">
			<description><![CDATA[It might happen that TYPO3 generates links with the same parameter twice or more. This is no problem because only the last parameter is used, thus the problem is just a cosmetical one.]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="xhtmlDoctype" type="string">
			<description><![CDATA[Sets the document type for the XHTML version of the generated page.

If config.doctype is set to a string then config.xhtmlDoctype must be set to one of these keywords:

"xhtml_trans" for XHTML 1.0 Transitional doctype.
"xhtml_frames" for XHTML 1.0 Frameset doctype.
"xhtml_strict" for XHTML 1.0 Strict doctype.
"xhtml_basic" for XHTML basic doctype.
"xhtml_11" for XHTML 1.1 doctype.
"xhtml_2" for XHTML 2 doctype.


This is an example to use MathML 2.0 in an XHTML 1.1 document:

config.doctype (
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
"http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd">
)
config.xhtmlDoctype = xhtml_11

Default:
same as config.doctype if set to a keyword]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="xhtml_cleaning" type="string">
			<description><![CDATA[Tries to clean up the output to make it XHTML compliant and a bit more. THIS IS NOT COMPLETE YET, but a "pilot" to see if it makes sense anyways. For now this is what is done:

What it does at this point:
- All tags (img,br,hr) is ended with "/>" - others?
- Lowercase for elements and attributes
- All attributes in quotes
- Add "alt" attribute to img-tags if it's not there already.

What it does NOT do (yet) according to XHTML specs.:
- Wellformedness: Nesting is NOT checked
- name/id attribute issue is not observed at this point.
- Certain nesting of elements not allowed. Most interesting, <PRE> cannot contain img, big,small,sub,sup ...
- Wrapping scripts and style element contents in CDATA - or alternatively they should have entitites converted.
- Setting charsets may put some special requirements on both XML declaration/ meta-http-equiv. (C.9)
- UTF-8 encoding is in fact expected by XML!!
- stylesheet element and attribute names are NOT converted to lowercase
- ampersands (and entities in general I think) MUST be converted to an entity reference! (&amps;). This may mean further conversion of non-tag content before output to page. May be related to the charset issue as a whole.
- Minimized values not allowed: Must do this: selected="selected"

Please see the class t3lib_parsehtml for details.
You can enable this function by the following values:

all = the content is always processed before it may be stored in cache.
cached = only if the page is put into the cache,
output = only the output code just before it's echoed out.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="xmlprologue" type="string">
			<description><![CDATA[If empty (not set) then the default XML 1.0 prologue is set, when the doctype is set to a known keyword (eg xhtml_11):

<?xml version="1.0" encoding="[config.renderCharset]">

If set to one of the know keywords then a standard prologue will be set:
"xml_10" XML 1.0 prologue (see above)
"xml_11" XML 1.1 prologue

If "none" then the default XML prologue is not set.
Any other string is used as the XML prologue itself.]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="CONTENT">
		<property name="renderObj" type="cObj">
			<description><![CDATA[
]]></description>
			<default><![CDATA[< [tablename]]]></default>
		</property>
		<property name="select" type="select">
			<description><![CDATA[The SQL-statement is set here!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="slide" type="slide">
			<description><![CDATA[int/stdWrap
			If set and no content element is found by the select command, then the rootLine will be traversed back until some content is found.

Possible values are "-1" (slide back up to the siteroot), "1" (only the current level) and "2" (up from one level back).

Use -1 in combination with collect.

.collect (integer/stdWrap): If set, all content elements found on current and parent pages will be collected. Otherwise, the sliding would stop after the first hit. Set this value to the amount of levels to collect on, or use "-1" to collect up to the siteroot.
.collectFuzzy (boolean/stdWrap): Only useful in collect mode. If no content elements have been found for the specified depth in collect mode, traverse further until at least one match has occurred.
.collectReverse (boolean/stdWrap): Change order of elements in collect mode. If set, elements of the current page will be on the bottom.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="stdWrap" type="stdWrap">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="table" type="stdWrap">
			<description><![CDATA[TableName/stdWrap
			The table, the content should come from.
In standard-configurations this will be "tt_content"
NOTE: Only tables allowed are "pages" or tables prefixed with one of these: "tt_", "tx_", "ttx_", "fe_", "user_" or "static_"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="wrap" type="stdWrap">
			<description><![CDATA[wrap/stdWrap
			Wrap the whole content-story...]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="slide" extends="stdWrap">
		<property name="collect" type="stdWrap">
			<description><![CDATA[int/stdWrap
			If set, all content elements found on current and parent pages will be collected. Otherwise, the sliding would stop after the first hit. Set this value to the amount of levels to collect on, or use “-1” to collect up to the siteroot.
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="collectFuzzy" type="stdWrap">
			<description><![CDATA[boolean/stdWrap
			Only useful in collect mode. If no content elements have been found for the specified depth in collect mode, traverse further until at least one match has occurred.
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="collectReverse" type="stdWrap">
			<description><![CDATA[boolean/stdWrap
			Change order of elements in collect mode. If set, elements of the current page will be at the bottom.
]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="CTABLE">
		<property name="bm" type="stdWrap">
			<description><![CDATA[CARRAY + TDParams/stdWrap
			bottomMenu]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="c" type="stdWrap">
			<description><![CDATA[CARRAY + TDParams/stdWrap
			content-cell ]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="cMargins" type="stdWrap">
			<description><![CDATA[margins/stdWrap
			Distance around the content-cell "c"]]></description>
			<default><![CDATA[0,0,0,0]]></default>
		</property>
		<property name="cWidth" type="stdWrap">
			<description><![CDATA[pixels/stdWrap
			Width of the content-cell "c"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="lm" type="stdWrap">
			<description><![CDATA[CARRAY+TDParams/stdWrap
			leftMenu]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="offset" type="stdWrap">
			<description><![CDATA[x,y/stdWrap
			Offset from upper left corner]]></description>
			<default><![CDATA[0,0 = intet]]></default>
		</property>
		<property name="rm" type="stdWrap">
			<description><![CDATA[CARRAY+TDParams/stdWrap
			rightMenu]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="tableParams" type="stdWrap">
			<description><![CDATA[<TABLE>-params/stdWrap
]]></description>
			<default><![CDATA[border=0 cellspacing=0 cellpadding=0]]></default>
		</property>
		<property name="tm" type="stdWrap">
			<description><![CDATA[CARRAY+TDParams/stdWrap
			topMenu]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="stdWrap" type="stdWrap">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="EDITPANEL">
		<property name="allow" type="string">
			<description><![CDATA[Define which functions are accessible. Further this list may be reduced, if the BE_USER does not have permission to perform the action
Values should be listed separated by comma. This is the options you can choose between:
toolbar,edit,new,delete,move,hide
(toolbar is a general list of icons regarding the page, so use this for pagerecords only)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="edit.displayRecord" type="boolean">
			<description><![CDATA[If set, then the record edited is displayed above the editing form.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="innerWrap" type="wrap">
			<description><![CDATA[Wraps the edit panel]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="label" type="string">
			<description><![CDATA[Title for the panel. You can insert the record title with %s

Example:
Section: <B>%s</B>]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="line" type="int">
			<description><![CDATA[boolean / int
			If set, a black line will appear after the panel. This value will indicate the distance from the black line to the panel]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="newRecordFromTable" type="string">
			<description><![CDATA[Will display a panel for creation of new element (in the top of list) on the page from that table.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="newRecordInPid" type="int">
			<description><![CDATA[Define a page ID where new records (except new pages) will be created.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="onlyCurrentPid" type="boolean">
			<description><![CDATA[If set, only records with a pid matching the current id (TSFE->id) will be shown with the panel.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="outerWrap" type="wrap">
			<description><![CDATA[Wraps the whole edit panel including the black line (if configured)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="previewBorder" type="int">
			<description><![CDATA[boolean / int
			If set, the hidden/starttime/endtime/fe_user elements which are previewed will have a border around.
The integer value denotes the thickness of the border]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="previewBorder.innerWrap" type="string">
			<description><![CDATA[wrap / HTML color
			innerWrap wraps the content elements (including the icons) inside the preview border (an HTML table).

outerWrap wraps the whole content element including the border.

color denotes the color of the border.]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="FE_TABLE">
		<property name="allowEdit" type="string">
			<description><![CDATA[allowEdit.[field]
			Same as above ("allowNew") but this controls which fields that may be written in case of an update of a record (and not a new submission)
Please pay attension to the property below!  ("overrideEdit")]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="allowNew" type="string">
			<description><![CDATA[allowNew.[field]
			This property is in charge of which fields that may be written from the frontend.

Example:
This defines that subject is a field, that may be submitted from the frontend. If a value is not submitted, subject is filled with the default value (see above).
The field "hidden" on the other hand cannot be changed from the frontend. "hidden" will gain the value from the default definition (see above). If fields are set to "0" (zero) it's the same as if they were not defined in this array.

allowNew {
  subject = 1
  hidden = 0
}]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="autoInsertPID" type="boolean">
			<description><![CDATA[Works with new records: Insert automatically the PID of the page, where the submitted data is sent to. Any "pid" supplied from the submitted data will override. This is for convenience.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="default" type="string">
			<description><![CDATA[default.[field] This property is in charge of which default-values is used for the table:

Example:
This defines the default values used for new records. These values will be overridden with any value submitted instead (as long as the submitted fields are allowed due to "allowNew")
default {
  subject = This is the default subject value!
  hidden = 1
  parent = 0
}]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="doublePostCheck" type="string">
			<description><![CDATA[string (fieldname)
			Specifies a fieldname (integer) into which an integer-hash compiled of the submitted data is inserted. If the field is set, then submissions are checked whether another record with this value already exists. If so, the record is NOT inserted, because it's expected to be a "double post" (posting the same data more than once)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="overrideEdit" type="string">
			<description><![CDATA[This works like default-values above but is values inserted after the submitted values has beed processed. This means that opposite to default-values overwritten by the submitted values, these values override the submitted values.

Example:
In this case overrideEdit secures that if a user updates his record (if he "own" it) the "hidden"-field will be set no matter what.

overrideEdit {
  hidden = 1
}]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="processScript" type="string">
			<description><![CDATA[Include-script to be used for processing of incoming data to the table. The script is included from a function in the class tslib_fetce
This is the really important option, because whether or not you are going to utilize the "cleaning"/"authorization" features of the properties above depend on how you write your script to process data and put it in the database.
A very good example is to look at "media/scripts/guest_submit.inc"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="separator" type="string">
			<description><![CDATA[Separator character used when the submitted data is an array from eg. a multiple selector box.]]></description>
			<default><![CDATA[chr(10) (linebreak)]]></default>
		</property>
		<property name="userIdColumn" type="string">
			<description><![CDATA[string (field)
			This is a string that points to the column of a record where the user-id of the current fe_user should be inserted. This fe_user-uid is inserted/updated both by "new" and "edit"]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="FILE">
		<property name="altText" type="stdWrap">
			<description><![CDATA[For <img> output only!

If no alttext is specified, it will use an empty alttext]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="emptyTitleHandling" type="string">
			<description><![CDATA[Value can be "keepEmpty" to preserve an empty title attribute, or "useAlt" to use the alt attribute instead.
]]></description>
			<default><![CDATA[useAlt
]]></default>
		</property>
		<property name="file" type="stdWrap">
			<description><![CDATA[resource/stdWrap
			If the resource is jpg,gif,jpeg,png the image is inserted as an image-tag. Al other formats is read and inserted into the HTML-code.
The maximum filesize of documents to be read is set to 1024 kb internally!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="linkWrap" type="stdWrap">
			<description><![CDATA[wrap/stdWrap
			(before ".wrap")]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="longdescURL" type="stdWrap">
			<description><![CDATA[For <img> output only!

"longdesc" attribute (URL pointing to document with extensive details about image).]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="stdWrap" type="stdWrap">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="wrap" type="stdWrap">
			<description><![CDATA[wrap/stdWrap
]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="FORM_dataArray">
		<property name="10" type="FORM_dataArray_element">
			<description><![CDATA[alternative way to define form Elements]]></description>
			<default><![CDATA[]]></default>
		</property>
		<property name="20" type="FORM_dataArray_element">
			<description><![CDATA[alternative way to define form Elements]]></description>
			<default><![CDATA[]]></default>
		</property>
		<property name="30" type="FORM_dataArray_element">
			<description><![CDATA[alternative way to define form Elements]]></description>
			<default><![CDATA[]]></default>
		</property>
		<property name="40" type="FORM_dataArray_element">
			<description><![CDATA[alternative way to define form Elements]]></description>
			<default><![CDATA[]]></default>
		</property>
	</type>
	<type id="FORM_dataArray_element">
		<property name="label" type="string">
			<description><![CDATA[]]></description>
			<default><![CDATA[]]></default>
		</property>
		<property name="type" type="string">
			<description><![CDATA[]]></description>
			<default><![CDATA[]]></default>
		</property>
		<property name="name" type="string">
			<description><![CDATA[]]></description>
			<default><![CDATA[]]></default>
		</property>
		<property name="value" type="string">
			<description><![CDATA[]]></description>
			<default><![CDATA[]]></default>
		</property>
		<property name="required" type="boolean">
			<description><![CDATA[]]></description>
			<default><![CDATA[]]></default>
		</property>
	</type>
	<type id="FORM">
		<property name="CHECK.layout" type="string">
			<description><![CDATA[Alternative layout for checkboxes]]></description>
			<default><![CDATA[the "layout"-property]]></default>
		</property>
		<property name="COMMENT.layout" type="string">
			<description><![CDATA[Alternative layout for comments.]]></description>
			<default><![CDATA[the "layout"-property]]></default>
		</property>
		<property name="LABEL.layout" type="string">
			<description><![CDATA[Alternative layout for label types]]></description>
			<default><![CDATA[the "layout"-property]]></default>
		</property>
		<property name="RADIO.layout" type="string">
			<description><![CDATA[Alternative layout for radiobuttons]]></description>
			<default><![CDATA[the "layout"-property]]></default>
		</property>
		<property name="REQ" type="REQ">
			<description><![CDATA[boolean
			Defines if required-fields should be checked and marked up]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="accessibility" type="boolean">
			<description><![CDATA[If set, then the form will be compliant with accessibility guidelines (XHTML compliant). This includes:

label string will be wrapped in <label for="formname[fieldname-hash]"> ... </label>All form elements will have an id-attribute carrying the formname with the md5-hashed fieldname appended

Notice: In TYPO3 4.0 and later, CSS Styled Content is configured to produce accessible forms by default.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="arrayReturnMode" type="boolean">
			<description><![CDATA[If set, the <form> tags and the form content will be returned in an array as separate elements including other pratical values. This mode is for use in extensions where the array return value can be more useful.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="badMess" type="string">
			<description><![CDATA[Prefixed Message for the formevaluation in case of missing required fields.
This message is shown above the list of fields.

NOTE: May be overridden by the property override feature of the formdata (see above)]]></description>
			<default><![CDATA[No message]]></default>
		</property>
		<property name="commentWrap" type="stdWrap">
			<description><![CDATA[Comments: Wrap for comments IF you use ###COMMENT###]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="compensateFieldWidth" type="double">
			<description><![CDATA[Overriding option to the config-value of the same name. See "CONFIG" above.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="data" type="stdWrap">
			<description><![CDATA[This is the data that sets up the form. See above.
"||" can be used instead of linebreaks]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="dataArray" type="FORM_dataArray">
			<description><![CDATA[This is an alternative way to define the form-fields. Instead of using the syntax with vertical separator bars suggested by the .data property, you can define the elements in regular TypoScript style arrays.
.dataArray is added to the input in .data if any.
Every entry in the dataArray is numeric and has three main properties, label, type, value and required. 'label' and 'value' has stdWrap properties.
There is an alternative property to .value, which is .valueArray. This is also an array in the same style with numeric entries which has properties label, value and selected. 'label' has stdWrap properties.

Example:
  dataArray {
    10.label = Name:
    10.type = name=input
    10.value = [Enter name]
    10.required = 1
    20.label = Eyecolor
    20.type = eyecolor=select
    20.valueArray {
      10.label = Blue
      10.value = 1
      20.label = Red
      20.value = 2
      20.selected = 1
    }
    40.type = submit=submit
    40.value = Submit
  }


This is the same as this line in the .data property:

Name: | *name=input | [Enter name]
Eyecolor: | eyecolor=select | Blue=1, *Red=2
| submit=submit | Submit

Why do it this way?  Good question, but doing it this way has a tremendous advantage because labels are all separated from the codes. In addition it's much easier to pull out or insert new elements in the form.
Inserting an email-field after the name field would be like this:
  dataArray {
    15.label = Email:
    15.type = input
    15.value = your@email.com
    15.specialEval = EMAIL
  }

Or translating the form to danish (setting config.language to 'dk'):

  dataArray {
    10.label.lang.dk = Navn:
    10.value.lang.dk = [Indtast dit navn]
    20.label.lang.dk = Øjenfarve
    20.valueArray {
      10.label.lang.dk = Blå
      20.label.lang.dk = Rød
    }
    40.value.lang.dk = Send
  }
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="dontMd5FieldNames" type="boolean">
			<description><![CDATA[The IDs generated for all elements in a form are md5 hashes from the fieldname. Setting this to true will disable this behaviour and use a cleaned fieldname, prefixed with the form name as the ID, instead.
This can be useful to style specifically named fields with CSS.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="emailMess" type="string">
			<description><![CDATA[Message if a field evaluated to be an email adresse did not validate.

NOTE: May be overridden by the property override feature of the formdata (see above)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="fieldPrefix" type="string">
			<description><![CDATA[Alternative prefix for the name of the fields in this form. Otherwise, all fields are prefixed with the form name (either a unique hash or the name set in the "formName" property). If set to "0", there will be no prefix at all.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="fieldWrap" type="stdWrap">
			<description><![CDATA[Field: Wraps the fields]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="formName" type="string">
			<description><![CDATA[An alternative name for this form. Default will be a unique (random) hash.

<form name="...">]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="goodMess" type="string">
			<description><![CDATA[Message for the formevaluation function in case of correctly filled form.

NOTE: May be overridden by the property override feature of the formdata (see above)]]></description>
			<default><![CDATA[No message]]></default>
		</property>
		<property name="hiddenFields" type="cObjArray">
			<description><![CDATA[Used to set hiddenFields from TS.

Example:
hiddenFields.pid = TEXT
hiddenFields.pid.value = 2

This makes a hidden-field with the name "pid" and value "2".]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="image" type="IMAGE">
			<description><![CDATA[If this is a valid image the submitbutton is rendered as this image!!

NOTE: CurrentValue is set to the caption-label before generating the image.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="labelWrap" type="stdWrap">
			<description><![CDATA[Labels: Wraps the label]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="layout" type="string">
			<description><![CDATA[This defines how the label and the field are placed towards each other.

Example:
This substitutes the "###FIELD###" with the field data and the "###LABEL###' with labeldata.

<tr><td>###FIELD###</td><td> ###LABEL###</td></tr>

You can also use the marker ###COMMENT### which is ALSO the label value inserted, but wrapped in .commentWrap stdWrap-properties (see below)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="locationData" type="string">
			<description><![CDATA[boolean / string
			If this value is true, then a hidden-field called "locationData" is added to the form. This field wil be loaded with a value like this:
[page id]:[current record table]:[current record id]
For example, if a formfield is inserted on page with uid = "100", as a page-content item from the table "tt_content" with id "120", then the value would be "100:tt_content:120".
The value is use by eg. the cObject SEARCHRESULT. If the value $GLOBALS["HTTP_POST_VARS"]["locationData"] is detected here, the search is done as if it was performed on this page! This is very usefull if you want a search functionality implemented on a page with the "stype" field set to "L1" which means that the search is carried out from the first level in the rootline.
Suppose you want the search to submit to a dedicated searchpage where ever. This page will then know - because of locationData - that the search was submittet from another place on the website.
If "locationData" is not only true but also set to "HTTP_POST_VARS" then the value will insert the content of $GLOBALS["HTTP_POST_VARS"]["locationData"] instead of the true location data of the page. This should be done with search-fields as this will carry the initial searching start point with.
NOTE: May be overridden by the property override feature of the formdata (see above)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="method" type="string">
			<description><![CDATA[form-method

			Example:
GET]]></description>
			<default><![CDATA[POST]]></default>
		</property>
		<property name="noValueInsert" type="boolean">
			<description><![CDATA[By default values that are submitted to the same page (and thereby same form, eg. at searchforms) are re-inserted in the form instead of any default-data that might be set up.
This, however, applies ONLY if the "no_cache=1" is set! (a page being cached may not include user-specific defaults in the fields of course...)
If you set this flag, "noValueInsert", the content will always be the default content.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="noWrapAttr" type="boolean">
			<description><![CDATA[If this value is true then all wrap attributes of textarea elements are suppressed. This is needed for XHTML-compliancy.

The wrap attributes can also be disabled on a per-field basis by using the special keyword "disabled" as the value of the wrap attribute.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="no_cache" type="string">
			<description><![CDATA[Default no_cache-option]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="params" type="string">
			<description><![CDATA[form-element tag parameters
			Extra parameters to form elements

Example:
params = style="width:200px;"
params.textarea = style="width:300px;"
params.check =

This sets the default to 200 px width, but excludes check-boxes and sets textareas to 300.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="radioWrap" type="stdWrap">
			<description><![CDATA[Wraps the labels for radiobuttons]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="radioWrap.accessibilityWrap" type="wrap">
			<description><![CDATA[Defines how radio buttons are wrapped when accessibility mode is turned on (see below “accessibility” property)
			default:

			<fieldset###RADIO_FIELD_ID###><legend>###RADIO_GROUP_LABEL###</legend>|</fieldset>
			]]></description>
			<default><![CDATA[<fieldset###RADIO_FIELD_ID###><legend>###RADIO_GROUP_LABEL###</legend>|</fieldset>
]]></default>
		</property>
		<property name="radioInputWrap" type="stdWrap">
			<description><![CDATA[Wraps the input element and label of a radio button.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="recipient" type="stdWrap">
			<description><![CDATA[(list of) string /stdWrap
			Email recipient of the formmail content (generates the hiddenfield "recipient")]]></description>
			<default><![CDATA[No email]]></default>
		</property>
		<property name="redirect" type="stdWrap">
			<description><![CDATA[URL to redirect to (generates the hidden field "redirect")

Integer: this is regarded to be a page in TYPO3
String: this is regarded to be a normal url
Empty; the current page is chosen.

NOTE: If this value is set the target of this overriddes the target of the "type".]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="stdWrap" type="stdWrap">
			<description><![CDATA[Wraps the hole form (before formtags is added)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="target" type="string">
			<description><![CDATA[target
			Default target of the form. ]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="type" type="int">
			<description><![CDATA[Type (action="" of the form):

Integer: this is regarded to be a page in TYPO3
String: this is regarded to be a normal URL (eg. "formmail.php" or "fe_tce_db.php")
Empty: the current page is chosen.

NOTE: If type is integer/empty the form will be submitted to a page in TYPO3 and if this page has a value for target/no_cache, then this will be used instead of the default target/no_cache below.

NOTE: If the redirect-value is set, the redirect-target overrides the target set by the action-url

NOTE: May be overridden by the property override feature of the formdata (see above)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="wrapFieldName" type="wrap">
			<description><![CDATA[This wraps  the fieldnames before they are applied to the form-field tags.

Example:
If value is tx_myextension[input][  |  ]  then the fieldname "email" would be wrapped to this value: tx_myextension[input][email]]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="REQ">
		<property name="fieldWrap" type="stdWrap">
			<description><![CDATA[Field: Wraps the fields, but for reuired fields]]></description>
			<default><![CDATA[the "fieldWrap"-property]]></default>
		</property>
		<property name="labelWrap" type="stdWrap">
			<description><![CDATA[Labels: Wraps the label, but for reuired fields]]></description>
			<default><![CDATA[the "labelWrap"-property]]></default>
		</property>
		<property name="layout" type="string">
			<description><![CDATA[The same as "layout" above, but for reuired fields]]></description>
			<default><![CDATA[the "layout"-property]]></default>
		</property>
	</type>
	<type id="FRAMESET">
		<property name="1" type="FRAME">
			<description><![CDATA[Configuration of frames and nested framesets.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="2" type="FRAME">
			<description><![CDATA[Configuration of frames and nested framesets.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="3" type="FRAME">
			<description><![CDATA[Configuration of frames and nested framesets.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="4" type="FRAME">
			<description><![CDATA[Configuration of frames and nested framesets.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="cols" type="string">
			<description><![CDATA[<frameset>-data:cols
			Cols]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="params" type="string">
			<description><![CDATA[<frameset>-params
			Example:
border="0" framespacing="0" frameborder="NO"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="rows" type="string">
			<description><![CDATA[<frameset>-data:rows
			Rows]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="FRAME">
		<property name="name" type="string">
			<description><![CDATA[<frame>-data:name
			Manually set name of frame

NOTE: Is set automatically and should not be overridden under normal conditions!]]></description>
			<default><![CDATA[value of ".obj"]]></default>
		</property>
		<property name="obj" type="string">
			<description><![CDATA[pointer to toplevel object-name
			toplevel object-name of a PAGE / FRAMESET

Example:
"left", "page", "frameset"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="options" type="string">
			<description><![CDATA[url-parameters
			Example:
print=1&othervar=anotherthing
would add '&print=1&othervar=anotherthing' to the ".src"-content (if not ".src" is set manually!!)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="params" type="string">
			<description><![CDATA[<frame>-params
			Example:
scrolling="AUTO" noresize frameborder="NO"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="src" type="string">
			<description><![CDATA[<frame>-data:src
			Manually set the src of the frame

NOTE: Is set automatically and should not be overridden under normal conditions!]]></description>
			<default><![CDATA[could be index.php?$id&$type ]]></default>
		</property>
	</type>
	<type id="GifBuilderObj">
		<property name="if" type="if">
			<description><![CDATA[.if (->if)  is a property of all gifbuilder-objects. If the property is present and NOT set, the object is NOT rendered! This corresponds to the functionallity of ".if" of the stdWrap-function.]]></description>
		</property>
	</type>
	<type id="GIFBUILDER">
		<property name="1" type="GifBuilderObj">
			<description><![CDATA[.if (->if)  is a property of all gifbuilder-objects. If the property is present and NOT set, the object is NOT rendered! This corresponds to the functionallity of ".if" of the stdWrap-function.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="2" type="GifBuilderObj">
			<description><![CDATA[.if (->if)  is a property of all gifbuilder-objects. If the property is present and NOT set, the object is NOT rendered! This corresponds to the functionallity of ".if" of the stdWrap-function.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="3" type="GifBuilderObj">
			<description><![CDATA[.if (->if)  is a property of all gifbuilder-objects. If the property is present and NOT set, the object is NOT rendered! This corresponds to the functionallity of ".if" of the stdWrap-function.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="4" type="GifBuilderObj">
			<description><![CDATA[.if (->if)  is a property of all gifbuilder-objects. If the property is present and NOT set, the object is NOT rendered! This corresponds to the functionallity of ".if" of the stdWrap-function.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="XY" type="string">
			<description><![CDATA[x,y +calc
			Size of the gif-file. ]]></description>
			<default><![CDATA[100,20]]></default>
		</property>
		<property name="backColor" type="string">
			<description><![CDATA[GraphicColor
			Background color for the gif]]></description>
			<default><![CDATA[white]]></default>
		</property>
		<property name="format" type="string">
			<description><![CDATA["gif" / "jpg"
			Output type.
"jpg"/"jpeg" = jpg-image]]></description>
			<default><![CDATA[gif]]></default>
		</property>
		<property name="maxHeight" type="int">
			<description><![CDATA[pixels
			Maximal heigth of gif-file]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="maxWidth" type="int">
			<description><![CDATA[pixels
			Maximal width of gif-file]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="offset" type="string">
			<description><![CDATA[x,y +calc
			Offset all objects on the gif.]]></description>
			<default><![CDATA[0,0]]></default>
		</property>
		<property name="quality" type="int">
			<description><![CDATA[posint (10-100)
			JPG-quality (if ".format" = jpg/jpeg)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="reduceColors" type="int">
			<description><![CDATA[posint (1-255)
			Reduce the number of colors (if gif-file)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="transparentBackground" type="boolean">
			<description><![CDATA[Set this flag to render the background transparent. TYPO3 makes the color found at position 0,0 of the image (upper left corner) transparent.
If you render text you should leave the niceText option OFF as the result with probably be more precise without the niceText antialiasing hack]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="transparentColor" type="stdWrap">
			<description><![CDATA[HTMLColor /stdWrap
			Specify a color that should be transparent

Example-values:
#ffffcc
red
255,255,127

Option:
transparentColor.closest = 1
This will allow for the closest color to be matched instead. You may need this if you image is not garanteed "clean".

NOTE: You may experience that this doesn't work if you use reduceColors-option or render text with niceText-option.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="workArea" type="string">
			<description><![CDATA[x,y,w,h + calc
			Define the workarea on the giffile. All the GifBuilderObj's will see this as the dimensions of the gif-file regarding alignment, overlaying of images an so on. Only will TEXT-objects exceeding the boundaries of the workarea print outside this area.]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="ADJUST" extends="GifBuilderObj">
		<property name="value" type="string">
			<description><![CDATA[This lets you adjust the input-levels like in Photoshops "levels"-dialog. If you need to adjust gamma, look at the EFFECT-object.
Example:

20 = ADJUST
20.value = inputLevels = 13,230

properties:

inputLevels: low,high
outputLevels: low, high
autoLevels: -
]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="BOX" extends="GifBuilderObj">
		<property name="align" type="string">
			<description><![CDATA[VHalign
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="color" type="string">
			<description><![CDATA[GraphicColor
			fill-color]]></description>
			<default><![CDATA[black]]></default>
		</property>
		<property name="dimensions" type="string">
			<description><![CDATA[x,y,w,h +calc
			Dimensions of a filled box.
x,y    is the offset.
w,h    is the dimensions. Dimensions of 1 will result in 1-pixel wide lines!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="opacity" type="int">
			<description><![CDATA[pos-int (1-100)
			Dimensions of a filled box.
Opacity (i.e. inverse of transparency, e.g. 100% opacity = 0% transparency)]]></description>
			<default><![CDATA[100
]]></default>
		</property>
	</type>
	<type id="CROP" extends="GifBuilderObj">
		<property name="align" type="string">
			<description><![CDATA[VHalign
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="backColor" type="string">
			<description><![CDATA[GraphicColor
]]></description>
			<default><![CDATA[The original backColor]]></default>
		</property>
		<property name="crop" type="string">
			<description><![CDATA[x,y,v,h + calc
			x,y is offset of the crop-frame,
v,h  is the dimensions]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="ELLIPSE" extends="GifBuilderObj">
		<property name="dimensions" type="string">
			<description><![CDATA[x,y,w,h +calc
Dimensions of a filled ellipse.
x,y    is the offset.
w,h    is the dimensions. Dimensions of 1 will result in 1-pixel wide lines!

Example:
file  =  GIFBUILDER
file  {
 XY  =  200,200
 format  =  jpg
 quality  =  100
 10  =  ELLIPSE
 10.dimensions  =  100,100,50,50
 10.color  =  red

]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="color" type="string">
			<description><![CDATA[GraphicColor
fill-color

Example:
file  =  GIFBUILDER
file  {
 XY  =  200,200
 format  =  jpg
 quality  =  100
 10  =  ELLIPSE
 10.dimensions  =  100,100,50,50
 10.color  =  red

]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="EFFECT" extends="GifBuilderObj">
		<property name="value" type="string">
			<description><![CDATA[.value = [Varnavn] = [value] | [Varnavn] = [value]

Example:
20 = EFFECT
20.value = gamme=1.3 | flip | rotate=180


gamma: 0.5 - 3.0
blur: 1-99
sharpen: 1-99
solarize: 0-99
swirl: 0-100
wave: ampli , length
charcoal: 0-100
gray: -
edge: 0-99
emboss: -
flip: - (Vertical flipping)
flop: - (Horizontal flipping)
rotate: 0-360 (Rotation)
colors: 2-255
shear: -90 - 90 (Horizontal shearing)
invert: - (invert the colors)
]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="EMBOSS" extends="GifBuilderObj">
		<property name="blur" type="int">
			<description><![CDATA[posint (1-99)
			Blurring of the shadow. Above 40 only values of 40,50,60,70,80,90 means something.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="highColor" type="string">
			<description><![CDATA[GraphicColor
			Upper border-color]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="intensity" type="int">
			<description><![CDATA[posint(0-100)
			How "massive" the emboss is. This value can - if it has a high value combined with a blurred shadow - create a kind of soft-edged outline.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="lowColor" type="string">
			<description><![CDATA[GraphicColor
			lower border-color]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="offset" type="string">
			<description><![CDATA[x,y
			Offset of the emboss]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="opacity" type="int">
			<description><![CDATA[posint (1-100)
			Opacity (transparency^-1)
100% opacity = 0% transparency). Only active with a value for blur.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="textObjNum" type="int">
			<description><![CDATA[pos-int
			Must point to the TEXT-object if these shadow-properties are not properties to a TEXT-object directly ("stand-alone-shadow"). Then the shadow needs to know which TEXT-object it should be a shadow of!
If - on the other hand - the shadow is a property to a text-object, this property is not needed.]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="GB_IMAGE" extends="GifBuilderObj">
		<property name="align" type="string">
			<description><![CDATA[VHalign
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="file" type="imgResource">
			<description><![CDATA[The imagefile]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="mask" type="imgResource">
			<description><![CDATA[Optional mask-image for the imagefile.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="offset" type="string">
			<description><![CDATA[x,y +calc
			Offset ]]></description>
			<default><![CDATA[0,0]]></default>
		</property>
		<property name="tile" type="string">
			<description><![CDATA[x,y
			tile x,y times.
Maximum times is 20 each direction. If you need more, use a larger image.]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="OUTLINE" extends="GifBuilderObj">
		<property name="color" type="string">
			<description><![CDATA[GraphicColor
			Outline color]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="textObjNum" type="int">
			<description><![CDATA[pos-int
			Must point to the TEXT-object if these shadow-properties are not properties to a TEXT-object directly ("stand-alone-shadow"). Then the shadow needs to know which TEXT-object it should be a shadow of!
If - on the other hand - the shadow is a property to a text-object, this property is not needed.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="thickness" type="string">
			<description><![CDATA[x,y
			Thickness in each direction, range 1-2]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="SCALE" extends="GifBuilderObj">
		<property name="height" type="string">
			<description><![CDATA[pixels + calc
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="params" type="string">
			<description><![CDATA[ImageMagickParams
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="width" type="string">
			<description><![CDATA[pixels + calc
]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="SHADOW" extends="GifBuilderObj">
		<property name="blur" type="int">
			<description><![CDATA[posint (1-99)
			Blurring of the shadow. Above 40 only values of 40,50,60,70,80,90 means something.

NOTE: Unfortunately the blurring capabilities of ImageMagick is not very mature in the version 4.2.9. This is addressed in the later version 5.2.0 where a gaussian blur-function is added. BUT as we do cannot use the latest ImageMagick development yet, this is not utilized so far.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="color" type="string">
			<description><![CDATA[GraphicColor
			Shadow color]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="intensity" type="int">
			<description><![CDATA[posint(0-100)
			How "massive" the shadow is. This value can - if it has a high value combined with a blurred shadow - create a kind of soft-edged outline.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="offset" type="string">
			<description><![CDATA[x,y
			Shadow offset]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="opacity" type="int">
			<description><![CDATA[posint (1-100)
			Opacity (transparency^-1)
100% opacity = 0% transparency). Only active with a value for blur.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="textObjNum" type="int">
			<description><![CDATA[pos-int
			Must point to the TEXT-object if these shadow-properties are not properties to a TEXT-object directly ("stand-alone-shadow"). Then the shadow needs to know which TEXT-object it should be a shadow of!
If - on the other hand - the shadow is a property to a text-object, this property is not needed.]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="GB_TEXT" extends="GifBuilderObj">
		<property name="align" type="string">
			<description><![CDATA[align
			Alignment of the text]]></description>
			<default><![CDATA[left]]></default>
		</property>
		<property name="angle" type="string">
			<description><![CDATA[degree
			Rotation degrees of the text.

NOTE: Angle is not available if spacing/wordSpacing is set.]]></description>
			<default><![CDATA[0
Range: -90 til 90]]></default>
		</property>
		<property name="antiAlias" type="boolean">
			<description><![CDATA[FreeType antialiasing. Notice, the default mode is "on"!

Note: This option is not available if .niceText is enabled]]></description>
			<default><![CDATA[1]]></default>
		</property>
		<property name="breakWidth" type="int">
			<description><![CDATA[Defines the maximum width for an object, overlapping elements will force an automatic line break.
			]]></description>
			<default><![CDATA[
			]]></default>
		</property>
		<property name="breakSpace" type="float">
			<description><![CDATA[Defines a value that is multiplied by the line height of the current element.
			]]></description>
			<default><![CDATA[1.0]]></default>
		</property>
		<property name="doNotStripHTML" type="boolean">
			<description><![CDATA[If set, HTML-tags in the string inserted are NOT removed. Any other way HTML-code is removed by default!]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="emboss" type="EMBOSS">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="fontColor" type="stdWrap">
			<description><![CDATA[GraphicColor /stdWrap
			Font color]]></description>
			<default><![CDATA[black]]></default>
		</property>
		<property name="fontFile" type="string">
			<description><![CDATA[Font face (truetype font you can upload!!)]]></description>
			<default><![CDATA[Nimbus (Arial-clone)]]></default>
		</property>
		<property name="fontSize" type="int">
			<description><![CDATA[posint
			Font size]]></description>
			<default><![CDATA[12]]></default>
		</property>
		<property name="hide" type="boolean">
			<description><![CDATA[If this is true, the text is NOT printed.
This feature may be used if you need a shadow-object to base a shadow on the text, but do not want the text to print.]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="hideButCreateMap" type="boolean">
			<description><![CDATA[If this option is set, the text will not be rendered. Shadows and emboss will, though, so don't apply these!! But this feature is also meant only to enable a text to generate the imageMap coordinates without rendering itself.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="imgMap" type="IMGMAP">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="iterations" type="int">
			<description><![CDATA[posint
			How many times the text should be "printed" onto it self. This will add the effect of bold text.

Note: This option is not available if .niceText is enabled]]></description>
			<default><![CDATA[1]]></default>
		</property>
		<property name="maxWidth" type="int">
			<description><![CDATA[pixels
			Sets the maximum width in pixels, the text must be. Reduces the fontSize if the text does not fit within this width.

Does not support setting alternative fontSizes in splitRendering options.

(By Rene Fritz <r.fritz@colorcube.de>)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="niceText" type="boolean">
			<description><![CDATA[This is a very popular feature that helps to render small letters much nicer than the freetype library can normally do. But it also loads the system very much!
The principle of this function is to create a black/white giffile in twice or more times the size of the actual gif-file and then print the text onto this is a scaled dimension. Afterwards ImageMagick (IM) scales down the mask and masks the font color down on the original gif-file through the temporary mask.
The fact that the font  is  actually rendered in the double size and scaled down adds a more homogenous shape to the lettes. Some fonts are more critical than others though.  If you do not need the quality, then don't use the function.

Some properties:
.before = IM-params before scale
.after = IM-params after scale
.sharpen = sharpen-value for the mask (after scaling), integer 0-99 (this enables you to make the text crisper if it's too blurred!)
.scaleFactor = scaling-factor, int 2-5]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="offset" type="string">
			<description><![CDATA[x,y +calc
			Offset of the text]]></description>
			<default><![CDATA[0,0]]></default>
		</property>
		<property name="outline" type="OUTLINE">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="shadow" type="SHADOW">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="spacing" type="int">
			<description><![CDATA[posint
			Pixel-distance between letters. This may render ugly!]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="splitRendering.compX" type="string">
			<description><![CDATA[Split the rendering of a string into separate processes with individual configurations. By this method a certain range of characters can be rendered with another font face or size. This is very useful if you want to use separate fonts for strings where you have latin characters combined with eg. Japanese and there is a separate font file for each.
You can also render keywords in another font/size/color.

Properties:
splitRendering.compX = Additional pixelspace between parts, x direction
splitRendering.compY = Additional pixelspace between parts, y direction
splitRendering.[array] = keyword  [charRange, highlightWord]
splitRendering.[array] {
  fontFile = Alternative font file for this rendering
  fontSize = Alternative font size for this rendering
  color = Alternative color for this rendering, works ONLY without "niceText"
  xSpaceBefore = x-Space before this part
  xSpaceAfter = x-Space after this part
  ySpaceBefore = y-Space before this part
  ySpaceAfter =  y-Space after this part
}

Keyword: charRange
splitRendering.[array].value = Commaseparated list of character ranges (eg. "100-200") given as Unicode character numbers. The list accepts optional starting and ending points, eg. " - 200" or " 200 -" and single values, eg. "65, 66, 67"

Keyword: highlightWord
splitRendering.[array].value = Word to highlight, makes a case sensitive search for this.

Limitations:
The pixelcompensation values are not corrected for scale factor used with niceText. Basically this means that when niceText is used, these values will have only the half effect.When word spacing is used the "highlightWord" mode doesn't work.The color override works only without "niceText".

Example:
  10.splitRendering.compX = 2
  10.splitRendering.compY = -2
  10.splitRendering.10 = charRange
  10.splitRendering.10 {
    value = 200-380 , 65, 66
    fontSize = 50
    fontFile =  t3lib/fonts/nimbus.ttf
    xSpaceBefore = 30
  }
  10.splitRendering.20 = highlightWord
  10.splitRendering.20 {
    value = TheWord
    color = red
  }]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="splitRendering.compY" type="string">
			<description><![CDATA[Split the rendering of a string into separate processes with individual configurations. By this method a certain range of characters can be rendered with another font face or size. This is very useful if you want to use separate fonts for strings where you have latin characters combined with eg. Japanese and there is a separate font file for each.
You can also render keywords in another font/size/color.

Properties:
splitRendering.compX = Additional pixelspace between parts, x direction
splitRendering.compY = Additional pixelspace between parts, y direction
splitRendering.[array] = keyword  [charRange, highlightWord]
splitRendering.[array] {
  fontFile = Alternative font file for this rendering
  fontSize = Alternative font size for this rendering
  color = Alternative color for this rendering, works ONLY without "niceText"
  xSpaceBefore = x-Space before this part
  xSpaceAfter = x-Space after this part
  ySpaceBefore = y-Space before this part
  ySpaceAfter =  y-Space after this part
}

Keyword: charRange
splitRendering.[array].value = Commaseparated list of character ranges (eg. "100-200") given as Unicode character numbers. The list accepts optional starting and ending points, eg. " - 200" or " 200 -" and single values, eg. "65, 66, 67"

Keyword: highlightWord
splitRendering.[array].value = Word to highlight, makes a case sensitive search for this.

Limitations:
The pixelcompensation values are not corrected for scale factor used with niceText. Basically this means that when niceText is used, these values will have only the half effect.When word spacing is used the "highlightWord" mode doesn't work.The color override works only without "niceText".

Example:
  10.splitRendering.compX = 2
  10.splitRendering.compY = -2
  10.splitRendering.10 = charRange
  10.splitRendering.10 {
    value = 200-380 , 65, 66
    fontSize = 50
    fontFile =  t3lib/fonts/nimbus.ttf
    xSpaceBefore = 30
  }
  10.splitRendering.20 = highlightWord
  10.splitRendering.20 {
    value = TheWord
    color = red
  }]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="text" type="stdWrap">
			<description><![CDATA[This is text text-string on the gif-file. The item is rendered only if this string is not empty.
The cObj->data-array is loaded with the page-record, if for example the GIFBUILDER-object is used by GMENU or IMGMENU]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="textMaxLength" type="int">
			<description><![CDATA[The maximum length of the text.  This is just a natural break that prevents incidental rendering of very long texts!]]></description>
			<default><![CDATA[100]]></default>
		</property>
		<property name="wordSpacing" type="int">
			<description><![CDATA[posint
			Pixel-distance between words.]]></description>
			<default><![CDATA[= ".spacing"*2]]></default>
		</property>
	</type>
	<type id="WORKAREA" extends="GifBuilderObj">
		<property name="clear" type="string">(isset)
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="set" type="string">
			<description><![CDATA[x,y,w,h + calc
			Sets another workarea
]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="HMENU">
		<property name="1" type="mObj">
			<description><![CDATA[Required!
Defines which menuObj that should render the menuitems on the various levels.
1 is the first level, 2 is the second level, 3 is the third level, 4 is ....

Example:
temp.sidemenu = HMENU
temp.sidemenu.1 = GMENU  ]]></description>
			<default><![CDATA[ (no menu)]]></default>
		</property>
		<property name="2" type="mObj">
			<description><![CDATA[Defines which menuObj that should render the menuitems on the various levels.
1 is the first level, 2 is the second level, 3 is the third level, 4 is ....

Example:
temp.sidemenu = HMENU
temp.sidemenu.1 = GMENU  ]]></description>
			<default><![CDATA[ (no menu)]]></default>
		</property>
		<property name="3" type="mObj">
			<description><![CDATA[Defines which menuObj that should render the menuitems on the various levels.
1 is the first level, 2 is the second level, 3 is the third level, 4 is ....

Example:
temp.sidemenu = HMENU
temp.sidemenu.1 = GMENU  ]]></description>
			<default><![CDATA[ (no menu)]]></default>
		</property>
		<property name="4" type="mObj">
			<description><![CDATA[Defines which menuObj that should render the menuitems on the various levels.
1 is the first level, 2 is the second level, 3 is the third level, 4 is ....

Example:
temp.sidemenu = HMENU
temp.sidemenu.1 = GMENU  ]]></description>
			<default><![CDATA[ (no menu)]]></default>
		</property>
		<property name="addQueryString" type="string">
			<description><![CDATA[see typolink.addQueryString

Notice: This works only for special=language.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="alwaysActivePIDlist" type="stdWrap">
			<description><![CDATA[List of Integers /stdWrap
			This is a list of page UID numbers that will always be regarded as active menu items and thereby automatically opened regardless of the rootline.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="begin" type="int">
			<description><![CDATA[int +calc
			The first item in the menu.

Example:
This results in a menu, where the first two items are skipped starting with item number 3:
  begin = 3  

Notice: Affects all sub menus as well. (See "minItems" for notice)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="entryLevel" type="int">
			<description><![CDATA[Defines at which level in the rootLine, the menu should start.
Default is "0" which gives us a menu of the very first pages on the site.
If the value is < 0, entryLevel is chosen from "behind" in the rootLine. Thus "-1" is a menu with items from the outermost level, "-2" is the level before the outermost...]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="excludeDoktypes" type="intList">
			<description><![CDATA[list of integers
			Enter the list of page document types (doktype) to exclude from menus. By default pages that are "not in menu" (5) are excluded and those marked for backend user access only (6). ]]></description>
			<default><![CDATA[5,6]]></default>
		</property>
		<property name="excludeUidList" type="int">
			<description><![CDATA[list of integers
			This is a list of page uid's to exclude when the select statement is done. Comma-separated. You may add "current" to the list to exclude the current page.

Example:
The pages with these uid-number will NOT be within the menu!! Additionally the current page is always excluded too.
  excludeUidList = 34,2,current]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="if" type="if">
			<description><![CDATA[If "if" returns false, the menu is not generated]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="includeNotInMenu" type="boolean">
			<description><![CDATA[If set, pages with type "Not in menu" will be included in menus.
The number "5" will simply be removed from the current dok-type list (which is by default "5,6" but can be changed by "excludeDoktypes", see above).]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="maxItems" type="int">
			<description><![CDATA[The maximum items in the menu. More items will be ignored.

Notice: Affects all sub menus as well. (See "minItems" for notice)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="minItems" type="int">
			<description><![CDATA[The minimum items in the menu. If the number of pages does not reach this level, a dummy-page with the title "..." and uid=[currentpage_id] is inserted.

Notice: Affects all sub menus as well. To set the value for each menu level individually, set the properties in the menu objects (see "Common properties" table).]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="protectLvar" type="string">
			<description><![CDATA[boolean / keyword
			If set, then for each page in the menu it will be checked if an Alternative Page Language record for the language defined in "config.sys_language_uid" (typically defined via &L) exists for the page. If that is not the case and the pages "Localization settings" have the "Hide page if no translation for current language exists" flag set, then the menu item will link to a non accessible page that will yield an error page to the user. Setting this option will prevent that situation by simply adding "&L=0" for such pages, meaning that they will switch to the default language rather than keeping the current language.
The check is only carried out if a translation is requested ("config.sys_language_uid" is not zero).

Keyword: "all"
When set to "all" the same check is carried out but it will not look if "Hide page if no translation for current language exists" is set - it always reverts to default language if no translation is found.

For these options to make sense, they should only be used when "config.sys_language_mode" is not set to "content_fallback".]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="special" type="HMENU_SPECIAL">
			<description><![CDATA["directory" / "list" / "updated" / "browse" / "rootline" / "keywords" / "language"
			(See tsref for details:
			<a href="http://typo3.org/documentation/document-library/references/doc_core_tsref/4.1.0/view/8/11/#id4080403">
			http://typo3.org/documentation/document-library/references/doc_core_tsref/4.1.0/view/8/11/#id4080403</a> )]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="stdWrap" type="stdWrap">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="wrap" type="stdWrap">
			<description>wrap/stdWrap<![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="HMENU_SPECIAL">
		<property name="value" type="stdWrap">
			<description><![CDATA[list of page-uid's /stdWrap]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="directory" extends="HMENU_SPECIAL"/>
	<type id="list" extends="HMENU_SPECIAL"/>
	<type id="updated" extends="HMENU_SPECIAL">
		<property name="mode" type="string">
			<description><![CDATA[Which field in the pages-table to use. Default is "SYS_LASTCHANGED" (which is updated when a page is generated to the youngest tstamp of the records on the page), "manual" or "lastUpdated" will use the field "lastUpdated" (set manually in the page-record) and "tstamp" will use the "tstamp"-field of the pagerecord, which is set automatically when the record is changed. "crdate" will use "crdate"-field of the pagerecord. "starttime" will use the starttime field.

Fields with zero value is not selected anyway.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="depth" type="string">
			<description><![CDATA[By default (if the value is not an integer) the depth is 20 levels. The range is 1-20. A depth of 1 means only the start id, depth of 2 means start-id + first level. NOTE: depth is relative to beginAtLevel.
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="beginAtLevel" type="int">
			<description><![CDATA[Determines starting level for the pagetrees generated based on .value and .depth. Zero is default and includes the start id. 1=starts with the first row of subpages, 2=starts with the second row of subpages. Depth is relative to this starting point.
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="maxAge" type="string">
			<description><![CDATA[Seconds+calc.
			Pages with update-dates older than currenttime minus this number of seconds will not be shown in the menu no matter what. Default is "not used". You may use +-*/ for calculations.
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="limit" type="int">
			<description><![CDATA[Max number of items in the menu. Default is 10, max is 100.
			]]></description>
			<default><![CDATA[10
]]></default>
		</property>
		<property name="excludeNoSearchPages" type="boolean">
			<description><![CDATA[If set, pages marked "No search" is not included into special-menus.
Support for Mount Pages: Yes.
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="rootline" extends="HMENU_SPECIAL">
		<property name="range" type="string">
			<description><![CDATA[rootline creates a menu with pages from the "rootline" (see earlier in this reference)

.range = [begin-level] | [end-level] (same way as you reference the .entryLevel for HMENU)

This...

page.2 = HMENU
page.2.special = rootline
page.2.special.range = 1|-2
page.2.special.targets.3 = page
page.2.1 = TMENU
page.2.1.target = _top
page.2.1.wrap = <HR> | <HR>
page.2.1.NO {
  linkWrap = | >
}
... creates a menu like this:

Page level 1 > Page level 2 > Page level 3 > Page level 4 >

(The menu starts at level 1 and does NOT link to the current page (-2 is the level before). Further all pages on level 3 will have "page" as target and all other "_top")
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="reverseOrder" type="boolean">
			<description><![CDATA[If set to true, the order of the rootline menu elements will be reversed.
			]]></description>
			<default><![CDATA[false]]></default>
		</property>
		<property name="targets" type="string">
			<description><![CDATA[.targets.[0-x]  targets

			This...

page.2 = HMENU
page.2.special = rootline
page.2.special.range = 1|-2
page.2.special.targets.3 = page
page.2.1 = TMENU
page.2.1.target = _top
page.2.1.wrap = <HR> | <HR>
page.2.1.NO {
  linkWrap = | >
}

... creates a menu like this:

Page level 1 > Page level 2 > Page level 3 > Page level 4 >

(The menu starts at level 1 and does NOT link to the current page (-2 is the level before). Further all pages on level 3 will have "page" as target and all other "_top")

			]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="browse" extends="HMENU_SPECIAL">
		<property name="items" type="string">
			<description><![CDATA[.items  ( "|" separated list of "itemnames")
			This kind of menu is built of items given by a list from the property ".item". Each element in the list (sep. by "|") is either a reserved itemname (see list) with a predefined function or a userdefined name which you can assign a link to any page. Note that the current page cannot be the root-page of a site.
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="items.prevnextToSection" type="boolean">
			<description><![CDATA[items.prevnextToSection (boolean) - if set, the "prev" and "next" navigation will jump to the next section when it reaches the end of pages in the current section.
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="next" type="HMENU_SPECIAL_browseItem">
			<description><![CDATA[next / prev : links to next page / previous page. Next and previous pages are from the same "pid" as the current page id (or "value") - that is the next item in a menu with the current page. Also referred to as current level.

If ".prevnextToSection" is set then next/prev will link to the first page of next section / last page of previous section.
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="prev" type="HMENU_SPECIAL_browseItem">
			<description><![CDATA[next / prev : links to next page / previous page. Next and previous pages are from the same "pid" as the current page id (or "value") - that is the next item in a menu with the current page. Also referred to as current level.

If ".prevnextToSection" is set then next/prev will link to the first page of next section / last page of previous section.
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="nextsection" type="HMENU_SPECIAL_browseItem">
			<description><![CDATA[nextsection / prevsection : links to next section / previous section. A section is defined as the subpages of a page on the same level as the parent (pid) page of the current page. Will not work if parent page of current page is the root page of the site.
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="prevsection" type="HMENU_SPECIAL_browseItem">
			<description><![CDATA[nextsection / prevsection : links to next section / previous section. A section is defined as the subpages of a page on the same level as the parent (pid) page of the current page. Will not work if parent page of current page is the root page of the site.
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="nextsection_last" type="HMENU_SPECIAL_browseItem">
			<description><![CDATA[Where nextsection/prevsection links to the first page in a section, these links to the last pages. If there is only one page in the section that will be both first and last. Will not work if parent page of current page is the root page of the site.
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="prevsection_last" type="HMENU_SPECIAL_browseItem">
			<description><![CDATA[Where nextsection/prevsection links to the first page in a section, these links to the last pages. If there is only one page in the section that will be both first and last. Will not work if parent page of current page is the root page of the site.
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="first" type="HMENU_SPECIAL_browseItem">
			<description><![CDATA[First / Last page on current level. If there is only one page on the current level that page will be both first and last.
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="last" type="HMENU_SPECIAL_browseItem">
			<description><![CDATA[First / Last page on current level. If there is only one page on the current level that page will be both first and last.
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="up" type="HMENU_SPECIAL_browseItem">
			<description><![CDATA[Links to the parent (pid) page of the current page. (up 1 level) Will always be available
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="index" type="HMENU_SPECIAL_browseItem">
			<description><![CDATA[Links to the parent of the parent page of the current page (up 2 levels). May not be available if that page is out of the rootline.
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="HMENU_SPECIAL_browseItem">
		<property name="target" type="string">
			<description><![CDATA[optional/alternative target of the item]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="uid" type="int">
			<description><![CDATA[.  (uid of page) - optional/alternative page-uid to link to
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="fields" type="string">
			<description><![CDATA[.[itemnames].fields.[fieldname]  (string)
 override field "fieldname" in pagerecord.]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="keywords" extends="HMENU_SPECIAL">
		<property name="mode" type="string">
			<description><![CDATA[Which field in the pages-table to use for sorting. Default is "SYS_LASTCHANGED" (which is updated when a page is generated to the youngest tstamp of the records on the page), "manual" or "lastUpdated" will use the field "lastUpdated" (set manually in the page-record) and "tstamp" will use the "tstamp"-field of the pagerecord, which is set automatically when the record is changed. "crdate" will use "crdate"-field of the pagerecord. "starttime" will use the starttime field.
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="depth" type="string">
			<description><![CDATA[By default (if the value is not an integer) the depth is 20 levels. The range is 1-20. A depth of 1 means only the start id, depth of 2 means start-id + first level. NOTE: depth is relative to beginAtLevel.
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="beginAtLevel" type="int">
			<description><![CDATA[Determines starting level for the pagetrees generated based on .value and .depth. Zero is default and includes the start id. 1=starts with the first row of subpages, 2=starts with the second row of subpages. Depth is relative to this starting point.
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="limit" type="int">
			<description><![CDATA[Max number of items in the menu. Default is 10, max is 100.
			]]></description>
			<default><![CDATA[10
]]></default>
		</property>
		<property name="excludeNoSearchPages" type="boolean">
			<description><![CDATA[If set, pages marked "No search" is not included into special-menus.
Support for Mount Pages: Yes.
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="entryLevel" type="string">
			<description><![CDATA[.entryLevel = where in the rootline the search begins. Standard rootline syntax (-x to x)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="setKeywords" type="stdWrap">
			<description><![CDATA[.setKeywords (/stdWrap) = lets you define the keywords manually by defining them as a commaseparated list. If this property is defined, it overrides the default, which is the keywords of the current page.
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="keywordsField" type="string">
			<description><![CDATA[.keywordsField = defines the field in the pages-table in which to search for the keywords. Default is the fieldname "keyword". No check is done to see if the field you enter here exists, so enter an existing field, OK?!]]></description>
			<default><![CDATA["keyword"
]]></default>
		</property>
		<property name="keywordsField.sourceField" type="string">
			<description><![CDATA[.keywordsField.sourceField = defines the field from the current page from which to take the keywords being matched. The default is "keyword". (Notice that ".keywordsField" is only setting the page-record field to search in !)]]></description>
			<default><![CDATA["keyword"
]]></default>
		</property>
	</type>
	<type id="language" extends="HMENU_SPECIAL"/>
	<type id="userdefined" extends="HMENU_SPECIAL">
		<property name="file" type="string">
			<description><![CDATA[.file  [resource]  =  filename of the php-file to include. (Just like cObject PHP_SCRIPT)
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="userfunction" extends="HMENU_SPECIAL">
		<property name="userFunc" type="string">
			<description><![CDATA[.userFunc = function-name
			Calls a user function/method in class which should (as with "userdefined" above) return an array with page records for the menu.
]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="mObj">
		<property name="alternativeSortingField" type="string">
			<description><![CDATA[Normally the menuitems are sorted by the fields "sorting" in the pages- and tt_content-table. Here you can enter a list of fields that is used in the SQL- "ORDER BY" statement instead.

Examples (for "pages" table):
alternativeSortingField = title desc
(This will render the menu in reversed alphabetical order)

LIMITATIONS:
This property works with normal menus, sectionsIndex menus and special-menus of type "directory".]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="begin" type="int">
			<description><![CDATA[int +calc
			The first item in the menu.

Example:
This results in a menu, where the first two items are skipped starting with item number 3:
  begin = 3  

Takes precedence over HMENU.begin]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="imgNameNotRandom" type="boolean">
			<description><![CDATA[If set, the image names of menuitems is not randomly assigned. Usefull switch if you're manipulating these images with some external JavaScript

NOTE: Don't set this if you're working with a menu with sectionIndex! In that case you need special unique names of items based on something else than the uid of the parent page of course!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="imgNamePrefix" type="string">
			<description><![CDATA[prefix for the imagenames. This prefix is appended with the uid of the page.]]></description>
			<default><![CDATA["img"]]></default>
		</property>
		<property name="itemArrayProcFunc" type="string">
			<description><![CDATA[function-name
			The first variable passed to this function is the "menuArr" array with the menuitems as they are collected based on the type of menu.
You're free to manipulate or add to this array as you like. Just remember to return the array again!

Note:
.parentObj property is hardcoded to be a reference to the calling tslib_menu object. Here you'll find eg. ->id to be the uid of the menu item generating a submenu and such.

Presetting element state
You can override element states like SPC, IFSUB, ACT, CUR or USR by setting the key ITEM_STATE in the page records. See cObject HMENU/special=userdefined for more information.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="maxItems" type="int">
			<description><![CDATA[The maximum items in the menu. More items will be ignored.

Takes precedence over HMENU.maxItems]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="minItems" type="int">
			<description><![CDATA[The minimum items in the menu. If the number of pages does not reach this level, a dummy-page with the title "..." and uid=[currentpage_id] is inserted.

Takes precedence over HMENU.minItems]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="sectionIndex" type="string">
			<description><![CDATA[This is a property that all menuObj's share. If it's set, then the menu will not consist of links to pages on the "next level" but rather links to the parent page to the menu, but in addition "#"-links to the cObjects rendered on the page. In other words, the menuitems will be links to the content elements (with colPos=0!) on the page. A section index.

.sectionIndex = [boolean]

If you set this, all content elements (from tt_content table) of "Column" = "Normal" and the "Index"-check box clicked are selected. This corresponds to the "Menu/Sitemap" content element when "Section index" is selected as type.

.sectionIndex.type = "all" / "header"

If you set this additional property to "all", then the "Index"-checkbox is not considered and all content elements with colPos=0 is selected.

If this property is "header" then only content elements with a visible header-layout (and a non-empty 'header'-field!) is selected. In other words, if the header layout of an element is set to "Hidden" then the page will not appear in the menu.

The data-record /Behind the scene:

When the menu-records are selected it works like this: The parent page record is used as the "base" for the menu-record. That means that any "no_cache" or "target"-properties of the parent page is used for the whole menu.

But of course some fields from the tt_content records are transfered: This is how it mapped:

$temp[$row[uid]]=$basePageRow;

$temp[$row[uid]]["title"]=$row["header"];

$temp[$row[uid]]["subtitle"]=$row["subheader"];

$temp[$row[uid]]["starttime"]=$row["starttime"];

$temp[$row[uid]]["endtime"]=$row["endtime"];

$temp[$row[uid]]["fe_group"]=$row["fe_group"];

$temp[$row[uid]]["media"]=$row["media"];

$temp[$row[uid]]["header_layout"]=$row["header_layout"];

$temp[$row[uid]]["bodytext"]=$row["bodytext"];

$temp[$row[uid]]["image"]=$row["image"];

$temp[$row[uid]]["sectionIndex_uid"]=$row["uid"];

Basically this shows that

- the field "header" and "subheader" from tt_content are mapped to "title" and "subtitle" in the pages-record. Thus you shouldn't need to change your standard menu-objects to fit this thing...

- the fields "starttime", "endtime", "fe_group", "media" from tt_content are mapped to the same fields in a pages-record.

- the fields "header_layout", "bodytext" and "image" are mapped to non-existing fields in the page-record

- a new field, "sectionIndex_uid" is introduced in the page-record which is detected by the function t3lib_tstemplate->linkData(). If this field is present in a pagerecord, the linkData()-function will prepend a hash-mark and the number of the field.

NOTE:

You cannot create submenus to sectionIndex-menus. That doesn't make any sense as these elements are not pages and thereby have no "childs".
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="showAccessRestrictedPages" type="string">
			<description><![CDATA[integer (page id) / keyword "NONE"
			If set, pages in the menu will include pages with frontend user group access enabled.  However the page is of course not accessible and therefore the URL in the menu will be linked to the page with the ID of this value. On that page you could put a login form or other message.
If the value is "NONE" the link will not be changed and the site will perform page-not-found handling when clicked (which can be used to capture the event and act accordingly of course).

Properties:
.addParam = Additional parameter for the URL, which can hold two markers; ###RETURN_URL### which will be substituted with the link the page would have had if it had been accessible and ###PAGE_ID### holding the page id of the page coming from (could be used to look up which fe_groups was required for access.

Example:
showAccessRestrictedPages = 22
showAccessRestrictedPages.addParams = &return_url=###RETURN_URL###&pageId=###PAGE_ID###

The example will link access restricted menu items to page id 22 with the return URL in the GET var "return_url" and the page id in the GET var "pageId".]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="submenuObjSuffixes" type="string">
			<description><![CDATA[Defines a suffix for alternative sub-level menu objects. Useful to create special submenus depending on their parent menu element. See example below.

Example:
This example will generate a menu where the menu objects for the second level will differ depending on the number of the first level item for which the submenu is rendered. The second level objects used are "2" (the default), "2a" and "2b" (the alternatives). Which of them is used is defined by "1.submenuObjSuffixes" which has the configuration "a |*| |*| b". This configuration means that the first menu element will use configuration "2a" and the last will use "2b" while anything in between will use "2" (no suffix applied)

page.200 = HMENU
page.200 {
  1 = TMENU
  1.wrap = <div style="width:200px; border: 1px solid;">|</div>
  1.expAll = 1
  1.submenuObjSuffixes = a |*|  |*| b
  1.NO.allWrap = <b>|</b><br/>

  2 = TMENU
  2.NO.allWrap = <div style="background:red;">|</div>

  2a = TMENU
  2a.NO.allWrap = <div style="background:yellow;">|</div>

  2b = TMENU
  2b.NO.allWrap = <div style="background:green;">|</div>
}

The result can be seen in the image below (applied on the testsite package):



Applies to GMENU, TMENU, GMENU_LAYERS, TMENU_LAYERS and GMENU_FOLDOUT on >= 2nd level in a menu.]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="GMENU">
		<property name="ACT" type="GMENU_itemState">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for menu items which are found in the rootLine]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="ACTRO" type="GMENU_itemState">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for menu items which are found in the rootLine]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="ACTIFSUB" type="GMENU_itemState">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for menu items which are found in the rootLine and has subpages]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="ACTIFSUBRO" type="GMENU_itemState">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for menu items which are found in the rootLine and has subpages]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="CUR" type="GMENU_itemState">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for a menu item if the item is the current page.]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="CURRO" type="GMENU_itemState">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for a menu item if the item is the current page.]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="CURIFSUB" type="GMENU_itemState">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for a menu item if the item is the current page and has subpages.]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="CURIFSUBRO" type="GMENU_itemState">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for a menu item if the item is the current page and has subpages.]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="IFSUB" type="GMENU_itemState">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for menu items which has subpages]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="IFSUBRO" type="GMENU_itemState">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for menu items which has subpages]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="NO" type="GMENU_itemState">
			<description><![CDATA[Boolean / (config)
			The default "Normal" state rendering of Item. This is required for all menus.
If you specify properties for the "NO" property you do not have to set it "1". Otherwise with no properties setting "NO=1" will render the menu anyways (for TMENU this may make sense).

The simplest menu TYPO3 can generate is then:

page.20 = HMENU
page.20.1 = TMENU
page.20.1.NO = 1

That will be pure <a> tags wrapped around page titles.]]></description>
			<default><![CDATA[1]]></default>
		</property>
		<property name="SPC" type="GMENU_itemState">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for 'Spacer' pages.
Spacers are pages of the doktype "Spacer". These are not viewable pages but "placeholders" which can be used to divide menuitems.

Note: Rollovers doesn't work with spacers, if you use GMENU!]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="USERDEF1" type="GMENU_itemState">
			<description><![CDATA[Boolean / (config)
			Userdefined, see .itemArrayProcFunc for details on how to use this.
You can set the ITEM_STATE values USERDEF1 and USERDEF2 (+...RO) from a script/userfunction processing the menu item array. See HMENU/special=userdefined or the property .itemArrayProcFunc of the menu objects.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="USERDEF1RO" type="GMENU_itemState">
			<description><![CDATA[Boolean / (config)
			Userdefined, see .itemArrayProcFunc for details on how to use this.
You can set the ITEM_STATE values USERDEF1 and USERDEF2 (+...RO) from a script/userfunction processing the menu item array. See HMENU/special=userdefined or the property .itemArrayProcFunc of the menu objects.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="USERDEF2" type="GMENU_itemState">
			<description><![CDATA[Boolean / (config)
			(See above)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="USERDEF2RO" type="GMENU_itemState">
			<description><![CDATA[Boolean / (config)
			(See above)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="USR" type="GMENU_itemState">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for menu items which are access restricted pages that a user has access to.]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="USRRO" type="GMENU_itemState">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for menu items which are access restricted pages that a user has access to.]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="addParams" type="string">
			<description><![CDATA[Additional parameter for the menu-links.
Example:
"&some_var=some%20value"
Must be rawurlencoded.
Applies to GMENU, TMENU, IMGMENU]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="IProcFunc" type="string">
			<description><![CDATA[The internal array "I" is passed to this function and expected returned as well. Subsequent to this function call the menu item is compiled by implode()'ing the array $I[parts] in the passed array. Thus you may modify this if you need to.
See example on the testsite and in media/scripts/example_itemArrayProcFunc.php]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="RO" type="boolean">
			<description><![CDATA[RollOver configuration enabled / disabled.
If this is true, RO becomes a GIFBUILDER-object defining the layout of the menuitem when the mouse rolls over it]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="[Common Item States, see above]" type="GIFBUILDER">
			<description><![CDATA[This is the GIFBUILDER-options for each category of menuitem that can be generated.

NOTE: For the GMENU series you can also define the RollOver configuration for the item states. This means that you define the GIFBUILDER object for the 'Active' state by ACT and the RollOver GIFBUILDER object for the 'Active' state by ACTRO.
This pattern goes for ALL the states except the SPC state.

SPECIAL:
The ->OptionSplit function is run on the whole GIFBUILDER-configuration before the items are generated.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="accessKey" type="boolean">
			<description><![CDATA[If set access-keys are set on the menu-links]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="applyTotalH" type="string">
			<description><![CDATA[objNumsList (offset)

			This adds the total height of the previously generated menuitems to the offset of the GifBuilderObj's mentioned in this list.

Example:
This is useful it you want to create a menu with individual items but a common background image that extends to the whole area behind the menu. Then you should setup the background image in each GIFBUILDER-object and include the object-number in this list.
Look at the implementation in static_template "styles.gmenu.bug"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="applyTotalW" type="string">
			<description><![CDATA[objNumsList (offset)
			This adds the total width of the previously generated menuitems to the offset of the GifBuilderObj's mentioned in this list.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="collapse" type="boolean">
			<description><![CDATA[If set, "active" menuitems that has expanded the next level on the menu will now collapse that menu again.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="debugItemConf" type="string">
			<description><![CDATA[Outputs (by the debug()-function) the configuration arrays for each menuitem. Useful to debug optionSplit things and such...
Applies to GMENU, TMENU, IMGMENU]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="disableAltText" type="boolean">
			<description><![CDATA[If set, the alt-parameter of the images are not set. You can do it manually by "imgParams" (see below)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="distributeX" type="int">
			<description><![CDATA[int+
			If set, the total width of all the menuitems will be equal to this number of pixels by adding/subtracting an equal amount of pixels to each menu items width.
Will overrule any setting for ".useLargestItemX"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="distributeY" type="int">
			<description><![CDATA[int+
			If set, the total height of all the menuitems will be equal to this number of pixels by adding/subtracting an equal amount of pixels to each menu items height.
Will overrule any setting for ".useLargestItemY"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="expAll" type="Boolean">
			<description><![CDATA[If this is true, the menu will always show the menu on the level underneath the menuitem. This corresponds to a situation where a user has clicked a menuitem and the menu folds out the next level. This can enable that to happen on all items as default.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="forceTypeValue" type="int">
			<description><![CDATA[If set, the &type parameter of the link is forced to this value regardless of target. Overrides the global equivalent in 'config' if set.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="JSWindow" type="boolean">
			<description><![CDATA[If set, the links of the menu-items will open by JavaScript in a pop-up window.

.newWindow boolean, that lets every menuitem open in its own window opposite to opening in the same window for each click.

.params is the list of parameters sent to the JavaScript open-window function, eg:
width=200,height=300,status=0,menubar=0

NOTE: Does not work with JSMENU's]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="max" type="string">
			<description><![CDATA[x,y (calcInt)"

			Forces the menu as a whole to these maximum dimensions]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="min" type="x,y (calcInt)">
			<description><![CDATA[Forces the menu as a whole to these minimum dimensions]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="noBlur" type="boolean">
			<description><![CDATA[Normally graphical links are "blurred" if the browser is MSIE. Blurring removes the ugly box around a clicked link.
If this property is set, the link is NOT blurred (browser-default) with "onFocus".]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="overrideId" type="int">
			<description><![CDATA[integer (page-id)
			If set, then all links in the menu will point to this pageid. Instead the real uid of the page is sent by the parameter "&real_uid=[uid]".
This feature is smart, if you have inserted a menu from somewhere else, perhaps a shared menu, but wants the menuitems to call the same page, which then generates a proper output based on the real_uid.
Applies to GMENU, TMENU, IMGMENU]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="removeObjectsOfDummy" type="string">
			<description><![CDATA[objNumsList

			If the menu is forced to a certain minimum dimension, this is a list of objects in the gifbuilder-object that is removed for this last item. This is important to do if the menuitems has elements that should only be applied if the item is actually a menuitem!!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="stdWrap" type="stdWrap">
			<description><![CDATA[Wraps the whole item using stdWrap

Example:
2 = TMENU
2 {
  stdWrap.dataWrap = <ul class="{register :
     parentProperty}"> | </ul>
  NO {
    ...
  }
}]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="target" type="string">
			<description><![CDATA[target

			Target of the menulinks]]></description>
			<default><![CDATA[self]]></default>
		</property>
		<property name="submenuObjSuffixes" type="string">
			<description><![CDATA[Defines a suffix for alternative sub-level menu objects. Useful to create special submenus depending on their parent menu element. See example below.

Example:
This example will generate a menu where the menu objects for the second level will differ depending on the number of the first level item for which the submenu is rendered. The second level objects used are "2" (the default), "2a" and "2b" (the alternatives). Which of them is used is defined by "1.submenuObjSuffixes" which has the configuration "a |*| |*| b". This configuration means that the first menu element will use configuration "2a" and the last will use "2b" while anything in between will use "2" (no suffix applied)

page.200 = HMENU
page.200 {
  1 = TMENU
  1.wrap = <div style="width:200px; border: 1px solid;">|</div>
  1.expAll = 1
  1.submenuObjSuffixes = a |*|  |*| b
  1.NO.allWrap = <b>|</b><br/>

  2 = TMENU
  2.NO.allWrap = <div style="background:red;">|</div>

  2a = TMENU
  2a.NO.allWrap = <div style="background:yellow;">|</div>

  2b = TMENU
  2b.NO.allWrap = <div style="background:green;">|</div>
}

The result can be seen in the image below (applied on the testsite package):



Applies to GMENU, TMENU, GMENU_LAYERS, TMENU_LAYERS and GMENU_FOLDOUT on >= 2nd level in a menu.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="useLargestItemX" type="boolean">
			<description><![CDATA[If set, then the width of all menuitems will be equal to the largest of them all.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="useLargestItemY" type="boolean">
			<description><![CDATA[If set, then the height of all menuitems will be equal to the largest of them all.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="wrap" type="wrap">
			<description><![CDATA[Wraps only if there were items in the menu!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="wrapItemAndSub" type="stdWrap">Wrap/stdWrap
			<description><![CDATA[Wraps the whole item and any submenu concatenated to it.]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="GMENU_itemState" extends="GIFBUILDER">
		<property name="ATagParams" type="string">
			<description><![CDATA[Additional parameters]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="ATagTitle" type="stdWrap">
			<description><![CDATA[string /stdWrap

			which defines the title attribute of the a-tag. (See TMENUITEM also)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="additionalParams" type="string">
			<description><![CDATA[string /stdWrap

			Define parameters that are added to the end of the URL. This must be code ready to insert after the last parameter.

For details, see typolink->additionalParams]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="allStdWrap" type="stdWrap">
			<description><![CDATA[stdWrap of the whole item]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="allWrap" type="stdWrap">
			<description><![CDATA[wrap /stdWrap

			Wraps the whole item]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="altImgResource" type="imgResouce">
			<description><![CDATA[Defines an alternative image to use. If an image returns here, it will override any GIFBUILDER configuration.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="altTarget" type="string">
			<description><![CDATA[Alternative target which overrides the target defined for the GMENU]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="imgParams" type="string">
			<description><![CDATA[params

			Parameters for the <img>-tag]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="noLink" type="boolean">
			<description><![CDATA[If set, the item is NOT linked!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="subst_elementUid" type="boolean">
			<description><![CDATA[If set, "{elementUid}" is substituted with the item uid.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="wrap" type="wrap">
			<description><![CDATA[Wrap of the menu item]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="GMENU_FOLDOUT" extends="GMENU">
		<property name="adjustItemsH" type="int">
			<description><![CDATA[Adjusts the height calculation of the menulayers of the first level (called Top)

Example:
-10

This value will substract 10 pixels from the height of the layer in calculations.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="adjustSubItemsH" type="int">
			<description><![CDATA[Adjusts the height calculation of the menulayers of the second level (subitems, called Sub)
See above]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="arrowImgParams" type="string">
			<description><![CDATA[<img> params
			Parameters to the arrow-image.

Example:
hspace=5 vspace=7]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="arrowNO" type="imgResource">
			<description><![CDATA[If both arrowNO and arrowACT is defined and valid imgResources then these images are use as "traditional arrows" that indicates whether an item is expanded (active) or not.
NO is normal, ACT is expanded
The image is inserted just before the menuitem. If you want to change the position, put the marker ###ARROW_IMAGE### into the wrap of the item and the image will be put there instead.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="bottomContent" type="cObj">
			<description><![CDATA[Content for the bottom layer that covers the end of the menu. ]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="bottomHeight" type="int">
			<description><![CDATA[pixels
			Sets the height of the bottom layer. Is important if the bottomlayer  contains either content or a background color: Else the layer will be clipped.]]></description>
			<default><![CDATA[100]]></default>
		</property>
		<property name="displayActiveOnLoad" type="boolean">
			<description><![CDATA[If set, then the active menu items will fold out "onLoad"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="dontLinkIfSubmenu" type="boolean">
			<description><![CDATA[If set, items that has a submenu is not linked. Items without a submenu are always linked in the regular ways.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="dontWrapInTable" type="boolean">
			<description><![CDATA[By default every menuitem on the first level is wrapped in a table:
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0><TR><TD>
[menu item HTML here..]
</TD></TR></TABLE>
Doing this ensures that the layers renders equally in the supported browsers. However you might need to disable that which is what you can do by setting this flag.
Note: Using <TBODY> in this tables seems to break Netscape 4+]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="foldSpeed" type="int">
			<description><![CDATA[int, range 1-100

			How many steps in an animation? Choose 1 for no animation.]]></description>
			<default><![CDATA[1]]></default>
		</property>
		<property name="foldTimer" type="int">
			<description><![CDATA[The timeout in the animation, these are milliseconds.]]></description>
			<default><![CDATA[40]]></default>
		</property>
		<property name="JSWindow" type="boolean">
			<description><![CDATA[If set, the links of the menu-items will open by JavaScript in a pop-up window.

.newWindow boolean, that lets every menuitem open in its own window opposite to opening in the same window for each click.

.params is the list of parameters sent to the JavaScript open-window function, eg:
width=200,height=300,status=0,menubar=0

NOTE: Does not work with JSMENU's]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="menuBackColor" type="string">
			<description><![CDATA[HTML-color

			Background color behind menu. If not set, transparent (which will not work very well in case .foldSpeed is set to something else than 1. But see for yourself)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="menuHeight" type="int">
			<description><![CDATA[Height of the whole menulayer. Seems to be not so important.]]></description>
			<default><![CDATA[400]]></default>
		</property>
		<property name="menuOffset" type="string">
			<description><![CDATA[x,y

			Offset of the menu main layer on the page. From upperleft corner]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="menuWidth" type="int">
			<description><![CDATA[pixels
			Width of the whole menu main layer. Important to set, especially for the bottomlayer as it is clipped by this value. Always try to set this to the width in pixels of the menu]]></description>
			<default><![CDATA[170]]></default>
		</property>
		<property name="stayFolded" type="boolean">
			<description><![CDATA[Stay open when you click a new toplink? (Level 1)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="submenuObjSuffixes" type="string">
			<description><![CDATA[Defines a suffix for alternative sub-level menu objects. Useful to create special submenus depending on their parent menu element. See example below.

Example:
This example will generate a menu where the menu objects for the second level will differ depending on the number of the first level item for which the submenu is rendered. The second level objects used are "2" (the default), "2a" and "2b" (the alternatives). Which of them is used is defined by "1.submenuObjSuffixes" which has the configuration "a |*| |*| b". This configuration means that the first menu element will use configuration "2a" and the last will use "2b" while anything in between will use "2" (no suffix applied)

page.200 = HMENU
page.200 {
  1 = TMENU
  1.wrap = <div style="width:200px; border: 1px solid;">|</div>
  1.expAll = 1
  1.submenuObjSuffixes = a |*|  |*| b
  1.NO.allWrap = <b>|</b><br/>

  2 = TMENU
  2.NO.allWrap = <div style="background:red;">|</div>

  2a = TMENU
  2a.NO.allWrap = <div style="background:yellow;">|</div>

  2b = TMENU
  2b.NO.allWrap = <div style="background:green;">|</div>
}

The result can be seen in the image below (applied on the testsite package):



Applies to GMENU, TMENU, GMENU_LAYERS, TMENU_LAYERS and GMENU_FOLDOUT on >= 2nd level in a menu.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="subMenuOffset" type="string">
			<description><![CDATA[x,y
			Offset of the submenu for each menuitem. This is important because if you don't set this value the items will appear ontop of their "parent"]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="MENU_LAYERS">
		<property name="blankStrEqFalse" type="boolean">
			<description><![CDATA[If set, then the properties topOffset,leftOffset, xPosOffset, yPosOffset are considered "blank" if they are really blank strings - not just "zero". You should enable this if you wish to be able to work with zero offsets. This is typically the case if you use relative positioning.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="bordersWithin" type="string">
			<description><![CDATA[l,t,r,b,l,t
			Keep borders of the layer within these limits in pixels. Zero is 'not set'
(Syntax: List of integers, evaluated clockwise: Left, Top, Right, Bottom, Left, Top)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="directionLeft" type="boolean">
			<description><![CDATA[Set this, if you want the items to be right-aligned (pop's out towards the left).
Does not work with Opera at this time because I don't know how to make Opera read the width of each layer.
If you set the width of the menu-layers in .layerStyles this might work no matter what.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="directionUp" type="boolean">
			<description><![CDATA[Set this, if you want the items to be bottom-aligned (pop's out upwards instead of downwards).]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="displayActiveOnLoad" type="boolean">
			<description><![CDATA[If set, the submenu-layer of the active menuitem is opened at page-load. If .freezeMouseover is also set and there is RO defined for the main menu items, the menuitem belonging to the displayed submenu is also shown.

Properties:
.onlyOnLoad (boolean)
If set, then the display of the active item will happen only when the page is loaded. The display will not be restored on mouseout of other items.

Warning: If you are cascading GMENU_LAYER objects make sure that all elements before this element (for which you set this attribute) also has this attribute set!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="dontFollowMouse" type="boolean">
			<description><![CDATA[If set and lockPosition is blank (so that the menu layer follows the mouse) then the menu will NOT follow the mouse but still it will appear where the mouse cursor hit the trigger-element. Usefull if you don't know the exact positions of elements.

Warning: You should not set displayActiveOnLoad for menus with this feature enabled (because the absolute position of the layer is not known).]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="dontHideOnMouseUp" type="boolean">
			<description><![CDATA[If set, the menu will not hide it's layers when the mouse botton is clicked. Usefull if your menuitems loads the pages in another frame]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="freezeMouseover" type="boolean">
			<description><![CDATA[If set, any mouseout effect of main menuitems is removed not on roll-out but when another element is rolled over (or the layer is hidden/default layer restored)

Properties:
.alwaysKeep (boolean)
If set, the freezed element will always stay, even if the submenu is hidden.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="hideMenuTimer" type="int">
			<description><![CDATA[int+

			This is the number of milliseconds to wait before the submenu will disappear if hideMenuWhenNotOver  is set]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="hideMenuWhenNotOver" type="int">
			<description><![CDATA[int+

			If set (> 1) then the menu will hide it self whenever a user moves the cursor away from the menu. The value of this parameter determines the width (pixels) of the zone around the element until the mousepointer is considered to be far enough away to hide the layer.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="JSWindow" type="boolean">
			<description><![CDATA[If set, the links of the menu-items will open by JavaScript in a pop-up window.

.newWindow boolean, that lets every menuitem open in its own window opposite to opening in the same window for each click.

.params is the list of parameters sent to the JavaScript open-window function, eg:
width=200,height=300,status=0,menubar=0

NOTE: Does not work with JSMENU's]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="layerStyle" type="&lt;DIV&gt;-tag params">
			<description><![CDATA[Parameters for the <DIV>-layer-tags in the HTML-document. You might probably not need change this.

Example:
position:absolute; VISIBILITY: hidden; ]]></description>
			<default><![CDATA[position:absolute; visibility: hidden; ]]></default>
		</property>
		<property name="layer_menu_id" type="string">
			<description><![CDATA[If you want to specifically name a menu on a page. Probably you don't need that!

Warning: Don't use underscore and special characters in this string. Stick to alpha-numeric.]]></description>
			<default><![CDATA[[random 6 char hashstring]]]></default>
		</property>
		<property name="leftOffset" type="int">
			<description><![CDATA[The offset of menuitems from left border of browser. Should be set rather than defining it in the .layerStyle property. Must be set in order to use directionLeft.
Used with either lockPosition=y or yPosOffset defined.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="lockPosition" type="string">
			<description><![CDATA["x" / "y" / ""

			If this is set to "x" or "y" the menu on the layers is locked and does not follow the mouse-cursor (which it does if this is not set).
"x" or "y" defines respectively that the summed width (x) or height (y) is added to the x or y offset of the menu. That means that you should set this value to "x" if you have a horizontal GMENU_LAYERS and to "y" if you have a verical menu.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="lockPosition_addSelf" type="boolean">
			<description><![CDATA[Normally the width and height of the items (+lockPosition_adjust) are summed up after the item has been rendered. This is good if the direction of the menulayers is right- og downwards.
But if you use directionLeft/directionUp, you might want to add the width of the items before.
If so, set this flag.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="lockPosition_adjust" type="int">
			<description><![CDATA[A number which is added to the width/height of the menuitems in order  to compensate for eg. hspace or other things between the images in the GMENU_LAYERS]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="relativeToParentLayer" type="boolean">
			<description><![CDATA[If set, then the layer will be positioned relative to the previous layer (parent) in a cascaded series of xMENU_LAYERS. Basically the relative position of the parent layer is just added to the offset of the current menu.

Warning: This property makes sense only if there really is a previous GMENU_LAYER to get position from! So you must have a cascaded menu!

Additional Properties:
.addWidth = Adds the width of the parent layer
.addHeight = Adds the height of the parent layer]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="relativeToTriggerItem" type="boolean">
			<description><![CDATA[This allows you to position the menu layers relative to the item that triggers it. However you should be aware of the following facts:
This does not work with Netscape 4 - the position of the trigger layer will be calculated to zero and thus the offset for all menu layers will be 0,0 + your values. This feature will wrap the menu item in some <div>-tags right before the whole item is wrapped by the .wrap code (for GMENU_LAYERS) or .allWrap (for TMENU_LAYERS). The bottom line of this is: 1) If your menu is horizontal, always wrap your menu items in a table so linebreaks does not appear because of the <div>-tags and 2) make sure the wrapping of the table cell is done with the .wrap/.allWrap properties respectively.Works only effectively on the first xMENU_LAYER in a cascade. For succeeding xMENU_LAYERS items please use "relativeToParentLayer".
If set, properties xPosOffset, yPosOffset and lockPosition* are not functional (properties directionLeft, directionUp, topOffset and leftOffset are still active)

Additional Properties:
.addWidth = Adds the width of the trigger element
.addHeight = Adds the height of the trigger element]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="setFixedHeight" type="int">
			<description><![CDATA[See "setFixedWidth". Same, but for height.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="setFixedWidth" type="int">
			<description><![CDATA[For GMENU_LAYERS the width and heights of the element is normally known from the graphical item. For TMENU_LAYERS this cannot be known in the same way. Therefore you can use .setFixedWidth and .setFixedHeight to set these values to a number you find reasonable. Of course this may be blasted by the browsers rendering if the font gets out of proportions etc.
Alternatively you may want to use the property "relativeToTriggerItem" which will position your menu layers relative to the item you roll over. This has some drawbacks though. A middle solution is to use a menu with lockPosition set to blank and dontFollowMouse set to true. Then you need only specify either an x or y coordinate to follow and the item will appear where the mouse hits the element.
Notice: Active if value is NOT a blank str. Setting this value to zero means that no width is calculated for the items in GMENU_LAYERS.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="topOffset" type="int">
			<description><![CDATA[The offset of menuitems from top of browser. Should be set rather than defining it in the .layerStyle property. Must be set in order to use directionUp.
Used with either lockPosition=x or xPosOffset defined.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="xPosOffset" type="int">
			<description><![CDATA[The offset of the menu from the point where it's "activated" (if lockPosition is false) / from topleft page corner (if lockPosition is set)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="yPosOffset" type="int">
			<description><![CDATA[As above, but for the y-dimension.]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="TMENU_LAYERS" extends="TMENU,MENU_LAYERS"/>
	<type id="GMENU_LAYERS" extends="GMENU,MENU_LAYERS"/>
	<type id="IMGMENU">
		<property name="ACT" type="IMGMENUITEM">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for menu items which are found in the rootLine]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="ACTRO" type="IMGMENUITEM">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for menu items which are found in the rootLine]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="ACTIFSUB" type="IMGMENUITEM">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for menu items which are found in the rootLine and has subpages]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="ACTIFSUBRO" type="IMGMENUITEM">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for menu items which are found in the rootLine and has subpages]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="CUR" type="IMGMENUITEM">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for a menu item if the item is the current page.]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="CURRO" type="IMGMENUITEM">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for a menu item if the item is the current page.]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="CURIFSUB" type="IMGMENUITEM">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for a menu item if the item is the current page and has subpages.]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="CURIFSUBRO" type="IMGMENUITEM">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for a menu item if the item is the current page and has subpages.]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="IFSUB" type="IMGMENUITEM">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for menu items which has subpages]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="IFSUBRO" type="IMGMENUITEM">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for menu items which has subpages]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="NO" type="IMGMENUITEM">
			<description><![CDATA[Boolean / (config)
			The default "Normal" state rendering of Item. This is required for all menus.
If you specify properties for the "NO" property you do not have to set it "1". Otherwise with no properties setting "NO=1" will render the menu anyways (for TMENU this may make sense).

The simplest menu TYPO3 can generate is then:

page.20 = HMENU
page.20.1 = TMENU
page.20.1.NO = 1

That will be pure <a> tags wrapped around page titles.]]></description>
			<default><![CDATA[1]]></default>
		</property>
		<property name="SPC" type="IMGMENUITEM">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for 'Spacer' pages.
Spacers are pages of the doktype "Spacer". These are not viewable pages but "placeholders" which can be used to divide menuitems.

Note: Rollovers doesn't work with spacers, if you use GMENU!]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="USERDEF1" type="IMGMENUITEM">
			<description><![CDATA[Boolean / (config)
			Userdefined, see .itemArrayProcFunc for details on how to use this.
You can set the ITEM_STATE values USERDEF1 and USERDEF2 (+...RO) from a script/userfunction processing the menu item array. See HMENU/special=userdefined or the property .itemArrayProcFunc of the menu objects.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="USERDEF1RO" type="IMGMENUITEM">
			<description><![CDATA[Boolean / (config)
			Userdefined, see .itemArrayProcFunc for details on how to use this.
You can set the ITEM_STATE values USERDEF1 and USERDEF2 (+...RO) from a script/userfunction processing the menu item array. See HMENU/special=userdefined or the property .itemArrayProcFunc of the menu objects.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="USERDEF2" type="IMGMENUITEM">
			<description><![CDATA[Boolean / (config)
			(See above)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="USERDEF2RO" type="IMGMENUITEM">
			<description><![CDATA[Boolean / (config)
			(See above)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="USR" type="IMGMENUITEM">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for menu items which are access restricted pages that a user has access to.]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="USRRO" type="IMGMENUITEM">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for menu items which are access restricted pages that a user has access to.]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="addParams" type="string">
			<description><![CDATA[Additional parameter for the menu-links.
Example:
"&some_var=some%20value"
Must be rawurlencoded.
Applies to GMENU, TMENU, IMGMENU]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="[Common Item States, see above]" type="IMGMENUITEM">
			<description><![CDATA[This is the TMENUITEM-options for each category of menuitem that can be generated.

SPECIAL:
The ->OptionSplit function is run on the whole GIFBUILDER-configuration before the items are generated.

.distrib is (x,y,v,h +calc) of the distribution of the menuitems. This provides a way to space each item from the other. The codes "textX" and "textY" can be used for the width (X) and height (Y) dimension of each link.
This works by adding a WORKAREA-GifBuilderObj between each of the IMGMENUITEM ("subset" of a GIFBUILDER-object) and this workarea defines where the text should be printed. As such the "x,y" defines the offset the next item will have (this should be the width of the previous in many cases!) and "v,h" defines the dimensions of the current item.
Consider this example taken from the static_template "template: MM":
    NO.distrib = textX+10, 0, textX+10, textY+5
In the future TypoScript may provide better ways to position GIFBUILDER-objects on the image-maps!

ImgMap is automatically used on the links! (that is the ".imgMap" property of the text-objects in the GIFBUILDER-objects is set automatically, unless is allready set.)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="dWorkArea" type="string">
			<description><![CDATA[offset + calc
			Main offset of the GIFBUILDER-items (also called the "distribution")]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="debugItemConf" type="string">
			<description><![CDATA[Outputs (by the debug()-function) the configuration arrays for each menuitem. Useful to debug optionSplit things and such...
Applies to GMENU, TMENU, IMGMENU]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="debugRenumberedObject" type="boolean">
			<description><![CDATA[if set, the final GIFBUILDER object configuration is output in order for you to debug your configuration]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="forceTypeValue" type="int">
			<description><![CDATA[If set, the &type parameter of the link is forced to this value regardless of target.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="imgMapExtras" type="string">
			<description><![CDATA[<area...>-tags
			Extra <area...>tags for the image-map]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="JSWindow" type="boolean">
			<description><![CDATA[If set, the links of the menu-items will open by JavaScript in a pop-up window.

.newWindow boolean, that lets every menuitem open in its own window opposite to opening in the same window for each click.

.params is the list of parameters sent to the JavaScript open-window function, eg:
width=200,height=300,status=0,menubar=0

NOTE: Does not work with JSMENU's]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="main" type="GIFBUILDER">
			<description><![CDATA[Main configuration of the image-map! This defines the "underlay"!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="noBlur" type="boolean">
			<description><![CDATA[Normally graphical links are "blurred" if the browser is MSIE. Blurring removes the ugly box around a clicked link.
If this property is set, the link is NOT blurred (browser-default) with "onFocus".]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="overrideId" type="int">
			<description><![CDATA[integer (page-id)
			If set, then all links in the menu will point to this pageid. Instead the real uid of the page is sent by the parameter "&real_uid=[uid]".
This feature is smart, if you have inserted a menu from somewhere else, perhaps a shared menu, but wants the menuitems to call the same page, which then generates a proper output based on the real_uid.
Applies to GMENU, TMENU, IMGMENU]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="params" type="string">
			<description><![CDATA[<img>-params
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="target" type="string">
			<description><![CDATA[target
			Target of the menulinks]]></description>
			<default><![CDATA[self]]></default>
		</property>
		<property name="wrap" type="wrap">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="IMGMENUITEM">
		<property name="1" type="GifBuilderObj">
			<description><![CDATA[NOTE:
The way a imagemap is made is this; All IMGMENUITEMS are included in one big Gifbuilderobj (and renumbered!!). Because of this, Gifbuilderobjects on the next level will not be able to access the data of each menuitem.
Also the feature of using [##.w] and [##.h] with +calc is currently not supported by IMGMENUITEMs.
Therefore all IMAGE-objects on the first level is checked; if "file" or "mask" for any IMAGE-objects are set to "GIFBUILDER", the Gifbuilder-object is parsed to see if any TEXT-objects are present and if so, the TEXT-object is "checked" - which means, that the stdWrap-function is called at a time where the $cObj->data-array is set to the actual menuitem.
In the example below, the text of each menuitem is rendered by letting the title be rendered on a mask instead of directly on the image. Please observe that the "NO.10"-object is present in order for the image-map coordinates to be generated!!

  NO.6 = IMAGE
  NO.6.file = masked_pencolor*.gif
  NO.6.mask = GIFBUILDER
  NO.6.mask {
    XY = 500, 200
    backColor = black
    10 = TEXT
    10 {
      text.field = title
      fontFile = fileadmin/fonts/caflisch.ttf
      fontSize = 34
      fontColor = white
      angle = 15
      offset = 48,110
    }
    20 = EFFECT
    20.value = blur=80
  }
  NO.10 = TEXT
  NO.10 {
    text.field = title
    fontFile = fileadmin/fonts/caflisch.ttf
    fontSize = 34
    angle = 15
    offset = 48,110
    hideButCreateMap = 1
  }]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="2" type="GifBuilderObj">
			<description><![CDATA[NOTE:
The way a imagemap is made is this; All IMGMENUITEMS are included in one big Gifbuilderobj (and renumbered!!). Because of this, Gifbuilderobjects on the next level will not be able to access the data of each menuitem.
Also the feature of using [##.w] and [##.h] with +calc is currently not supported by IMGMENUITEMs.
Therefore all IMAGE-objects on the first level is checked; if "file" or "mask" for any IMAGE-objects are set to "GIFBUILDER", the Gifbuilder-object is parsed to see if any TEXT-objects are present and if so, the TEXT-object is "checked" - which means, that the stdWrap-function is called at a time where the $cObj->data-array is set to the actual menuitem.
In the example below, the text of each menuitem is rendered by letting the title be rendered on a mask instead of directly on the image. Please observe that the "NO.10"-object is present in order for the image-map coordinates to be generated!!

  NO.6 = IMAGE
  NO.6.file = masked_pencolor*.gif
  NO.6.mask = GIFBUILDER
  NO.6.mask {
    XY = 500, 200
    backColor = black
    10 = TEXT
    10 {
      text.field = title
      fontFile = fileadmin/fonts/caflisch.ttf
      fontSize = 34
      fontColor = white
      angle = 15
      offset = 48,110
    }
    20 = EFFECT
    20.value = blur=80
  }
  NO.10 = TEXT
  NO.10 {
    text.field = title
    fontFile = fileadmin/fonts/caflisch.ttf
    fontSize = 34
    angle = 15
    offset = 48,110
    hideButCreateMap = 1
  }]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="3" type="GifBuilderObj">
			<description><![CDATA[NOTE:
The way a imagemap is made is this; All IMGMENUITEMS are included in one big Gifbuilderobj (and renumbered!!). Because of this, Gifbuilderobjects on the next level will not be able to access the data of each menuitem.
Also the feature of using [##.w] and [##.h] with +calc is currently not supported by IMGMENUITEMs.
Therefore all IMAGE-objects on the first level is checked; if "file" or "mask" for any IMAGE-objects are set to "GIFBUILDER", the Gifbuilder-object is parsed to see if any TEXT-objects are present and if so, the TEXT-object is "checked" - which means, that the stdWrap-function is called at a time where the $cObj->data-array is set to the actual menuitem.
In the example below, the text of each menuitem is rendered by letting the title be rendered on a mask instead of directly on the image. Please observe that the "NO.10"-object is present in order for the image-map coordinates to be generated!!

  NO.6 = IMAGE
  NO.6.file = masked_pencolor*.gif
  NO.6.mask = GIFBUILDER
  NO.6.mask {
    XY = 500, 200
    backColor = black
    10 = TEXT
    10 {
      text.field = title
      fontFile = fileadmin/fonts/caflisch.ttf
      fontSize = 34
      fontColor = white
      angle = 15
      offset = 48,110
    }
    20 = EFFECT
    20.value = blur=80
  }
  NO.10 = TEXT
  NO.10 {
    text.field = title
    fontFile = fileadmin/fonts/caflisch.ttf
    fontSize = 34
    angle = 15
    offset = 48,110
    hideButCreateMap = 1
  }]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="4" type="GifBuilderObj">
			<description><![CDATA[NOTE:
The way a imagemap is made is this; All IMGMENUITEMS are included in one big Gifbuilderobj (and renumbered!!). Because of this, Gifbuilderobjects on the next level will not be able to access the data of each menuitem.
Also the feature of using [##.w] and [##.h] with +calc is currently not supported by IMGMENUITEMs.
Therefore all IMAGE-objects on the first level is checked; if "file" or "mask" for any IMAGE-objects are set to "GIFBUILDER", the Gifbuilder-object is parsed to see if any TEXT-objects are present and if so, the TEXT-object is "checked" - which means, that the stdWrap-function is called at a time where the $cObj->data-array is set to the actual menuitem.
In the example below, the text of each menuitem is rendered by letting the title be rendered on a mask instead of directly on the image. Please observe that the "NO.10"-object is present in order for the image-map coordinates to be generated!!

  NO.6 = IMAGE
  NO.6.file = masked_pencolor*.gif
  NO.6.mask = GIFBUILDER
  NO.6.mask {
    XY = 500, 200
    backColor = black
    10 = TEXT
    10 {
      text.field = title
      fontFile = fileadmin/fonts/caflisch.ttf
      fontSize = 34
      fontColor = white
      angle = 15
      offset = 48,110
    }
    20 = EFFECT
    20.value = blur=80
  }
  NO.10 = TEXT
  NO.10 {
    text.field = title
    fontFile = fileadmin/fonts/caflisch.ttf
    fontSize = 34
    angle = 15
    offset = 48,110
    hideButCreateMap = 1
  }]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="distrib" type="string">
			<description><![CDATA[.distrib is (x,y,v,h +calc) of the distribution of the menuitems. This provides a way to space each item from the other. The codes "textX" and "textY" can be used for the width (X) and height (Y) dimension of each link.
This works by adding a WORKAREA-GifBuilderObj between each of the IMGMENUITEM ("subset" of a GIFBUILDER-object) and this workarea defines where the text should be printed. As such the "x,y" defines the offset the next item will have (this should be the width of the previous in many cases!) and "v,h" defines the dimensions of the current item.
Consider this example taken from the static_template "template: MM":
    NO.distrib = textX+10, 0, textX+10, textY+5
In the future TypoScript may provide better ways to position GIFBUILDER-objects on the image-maps! ]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="JSMENU">
		<property name="1" type="JSMENUITEM">
			<description><![CDATA[levels-config]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="2" type="JSMENUITEM">
			<description><![CDATA[levels-config]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="3" type="JSMENUITEM">
			<description><![CDATA[levels-config]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="4" type="JSMENUITEM">
			<description><![CDATA[levels-config]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="SPC" type="boolean">
			<description><![CDATA[If set, spacer can go into the menu, else not.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="firstLabelGeneral" type="string">
			<description><![CDATA[General firstlabel. May be overridden by the one set in each JSMENUITEM]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="forceTypeValue" type="int">
			<description><![CDATA[If set, the &type parameter of the link is forced to this value regardless of target.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="levels" type="int">
			<description><![CDATA[int, 1-5
			How many levels there are]]></description>
			<default><![CDATA[1]]></default>
		</property>
		<property name="menuName" type="string">
			<description><![CDATA[JavaScript menu name.
If you have more than one JSMENU on the page, you should set this value for each one.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="target" type="string">
			<description><![CDATA[target
			Decides target of the menu-links]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="wrap" type="wrap">
			<description><![CDATA[wrap around the selector-boxes]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="wrapAfterTags" type="wrap">
			<description><![CDATA[wrap around the selector-boxes with wrap and form-tags og JS-code.]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="JSMENUITEM">
		<property name="additionalParams" type="string">
			<description><![CDATA[Additional parameters to the <select> box. Eg, you could set the width with a style-parameter like this:
style="width: 200px;"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="alwaysLink" type="boolean">
			<description><![CDATA[If set an item in the menu selector will always link. This takes precedence over "noLink".]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="elements" type="int">
			<description><![CDATA[int+
			Initial number of elements in the menu.  This is of course overruled by the actual menu item texts.]]></description>
			<default><![CDATA[5]]></default>
		</property>
		<property name="firstLabel" type="string">
			<description><![CDATA[First label in top of the menu (default is blank)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="noLink" type="boolean">
			<description><![CDATA[Normally the selection of a menu item in the selector box will update the selector on the next level (if there is a next level) and if there are no items for that selector (because there were no subpages), then the link jumps to the page of itself.
If this flag is set, however, no menuitems in the selector box will ever link to anything. Only update the content of the next selector box on next level.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="showActive" type="boolean">
			<description><![CDATA[if set, the active level will be selected, if present]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="showFirst" type="boolean">
			<description><![CDATA[if set, the first link will be shown when the menu is updated.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="width" type="int">
			<description><![CDATA[int+
			Initial width of the boxes set by a number of _ (underscores)]]></description>
			<default><![CDATA[14]]></default>
		</property>
		<property name="wrap" type="wrap">
			<description><![CDATA[wraps the selectorbox]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="TMENU">
		<property name="ACT" type="TMENUITEM">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for menu items which are found in the rootLine]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="ACTRO" type="TMENUITEM">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for menu items which are found in the rootLine]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="ACTIFSUB" type="TMENUITEM">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for menu items which are found in the rootLine and has subpages]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="ACTIFSUBRO" type="TMENUITEM">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for menu items which are found in the rootLine and has subpages]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="CUR" type="TMENUITEM">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for a menu item if the item is the current page.]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="CURRO" type="TMENUITEM">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for a menu item if the item is the current page.]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="CURIFSUB" type="TMENUITEM">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for a menu item if the item is the current page and has subpages.]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="CURIFSUBRO" type="TMENUITEM">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for a menu item if the item is the current page and has subpages.]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="IFSUB" type="TMENUITEM">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for menu items which has subpages]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="IFSUBRO" type="TMENUITEM">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for menu items which has subpages]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="NO" type="TMENUITEM">
			<description><![CDATA[Boolean / (config)
			The default "Normal" state rendering of Item. This is required for all menus.
If you specify properties for the "NO" property you do not have to set it "1". Otherwise with no properties setting "NO=1" will render the menu anyways (for TMENU this may make sense).

The simplest menu TYPO3 can generate is then:

page.20 = HMENU
page.20.1 = TMENU
page.20.1.NO = 1

That will be pure <a> tags wrapped around page titles.]]></description>
			<default><![CDATA[1]]></default>
		</property>
		<property name="SPC" type="TMENUITEM">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for 'Spacer' pages.
Spacers are pages of the doktype "Spacer". These are not viewable pages but "placeholders" which can be used to divide menuitems.

Note: Rollovers doesn't work with spacers, if you use GMENU!]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="USERDEF1" type="TMENUITEM">
			<description><![CDATA[Boolean / (config)
			Userdefined, see .itemArrayProcFunc for details on how to use this.
You can set the ITEM_STATE values USERDEF1 and USERDEF2 (+...RO) from a script/userfunction processing the menu item array. See HMENU/special=userdefined or the property .itemArrayProcFunc of the menu objects.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="USERDEF1RO" type="TMENUITEM">
			<description><![CDATA[Boolean / (config)
			Userdefined, see .itemArrayProcFunc for details on how to use this.
You can set the ITEM_STATE values USERDEF1 and USERDEF2 (+...RO) from a script/userfunction processing the menu item array. See HMENU/special=userdefined or the property .itemArrayProcFunc of the menu objects.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="USERDEF2" type="TMENUITEM">
			<description><![CDATA[Boolean / (config)
			(See above)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="USERDEF2RO" type="TMENUITEM">
			<description><![CDATA[Boolean / (config)
			(See above)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="USR" type="TMENUITEM">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for menu items which are access restricted pages that a user has access to.]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="USRRO" type="TMENUITEM">
			<description><![CDATA[Boolean / (config)
			Enable/Configuration for menu items which are access restricted pages that a user has access to.]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="addParams" type="string">
			<description><![CDATA[Additional parameter for the menu-links.
Example:
"&some_var=some%20value"
Must be rawurlencoded.
Applies to GMENU, TMENU, IMGMENU]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="IProcFunc" type="string">
			<description><![CDATA[function-name
			The internal array "I" is passed to this function and expected returned as well. Subsequent to this function call the menu item is compiled by implode()'ing the array $I[parts] in the passed array. Thus you may modify this if you need to.
See example on the testsite and in media/scripts/example_itemArrayProcFunc.php]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="[Common Item States, see above]" type="TMENUITEM">
			<description><![CDATA[This is the TMENUITEM-options for each category of menuitem that can be generated.

SPECIAL:
The ->OptionSplit function is run on the whole GIFBUILDER-configuration before the items are generated.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="accessKey" type="boolean">
			<description><![CDATA[If set access-keys are set on the menu-links]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="collapse" type="boolean">
			<description><![CDATA[If set, "active" menuitems that has expanded the next level on the menu will now collapse that menu again.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="debugItemConf" type="string">
			<description><![CDATA[Outputs (by the debug()-function) the configuration arrays for each menuitem. Useful to debug optionSplit things and such...
Applies to GMENU, TMENU, IMGMENU]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="expAll" type="stdWrap">boolean/stdWrap
			<description><![CDATA[If this is true, the menu will always show the menu on the level underneath the menuitem. This corresponds to a situation where a user has clicked a menuitem and the menu folds out the next level. This can enable that to happen on all items as default.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="forceTypeValue" type="int">
			<description><![CDATA[If set, the &type parameter of the link is forced to this value regardless of target.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="JSWindow" type="boolean">
			<description><![CDATA[If set, the links of the menu-items will open by JavaScript in a pop-up window.

.newWindow boolean, that lets every menuitem open in its own window opposite to opening in the same window for each click.

.params is the list of parameters sent to the JavaScript open-window function, eg:
width=200,height=300,status=0,menubar=0

NOTE: Does not work with JSMENU's]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="noBlur" type="boolean">
			<description><![CDATA[Normally links are "blurred" if the browser is MSIE. Blurring removes the ugly box around a clicked link.
If this property is set, the link is NOT blurred (browser-default) with "onFocus".]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="overrideId" type="int">
			<description><![CDATA[integer (page-id)
			If set, then all links in the menu will point to this pageid. Instead the real uid of the page is sent by the parameter "&real_uid=[uid]".
This feature is smart, if you have inserted a menu from somewhere else, perhaps a shared menu, but wants the menuitems to call the same page, which then generates a proper output based on the real_uid.
Applies to GMENU, TMENU, IMGMENU]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="stdWrap" type="stdWrap">
			<description><![CDATA[Wraps the whole item using stdWrap

Example: see GMENU.stdWrap]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="submenuObjSuffixes" type="string">
			<description><![CDATA[Defines a suffix for alternative sub-level menu objects. Useful to create special submenus depending on their parent menu element. See example below.

Example:
This example will generate a menu where the menu objects for the second level will differ depending on the number of the first level item for which the submenu is rendered. The second level objects used are "2" (the default), "2a" and "2b" (the alternatives). Which of them is used is defined by "1.submenuObjSuffixes" which has the configuration "a |*| |*| b". This configuration means that the first menu element will use configuration "2a" and the last will use "2b" while anything in between will use "2" (no suffix applied)

page.200 = HMENU
page.200 {
  1 = TMENU
  1.wrap = <div style="width:200px; border: 1px solid;">|</div>
  1.expAll = 1
  1.submenuObjSuffixes = a |*|  |*| b
  1.NO.allWrap = <b>|</b><br/>

  2 = TMENU
  2.NO.allWrap = <div style="background:red;">|</div>

  2a = TMENU
  2a.NO.allWrap = <div style="background:yellow;">|</div>

  2b = TMENU
  2b.NO.allWrap = <div style="background:green;">|</div>
}

The result can be seen in the image below (applied on the testsite package):



Applies to GMENU, TMENU, GMENU_LAYERS, TMENU_LAYERS and GMENU_FOLDOUT on >= 2nd level in a menu.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="target" type="string">
			<description><![CDATA[target
			Target of the menulinks]]></description>
			<default><![CDATA[self]]></default>
		</property>
		<property name="wrap" type="wrap">
			<description><![CDATA[Wraps only if there were items in the menu!]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="TMENUITEM">
		<property name="ATagBeforeWrap" type="boolean">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="ATagParams" type="stdWrap">
			<description><![CDATA[<A>-params /stdWrap
			Additional parameters

Example:
class="board"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="ATagTitle" type="stdWrap">
			<description><![CDATA[Allows you to specify the "title" attribute of the <a> tag around the menu item.

Example:
ATagTitle.field = abstract // description

This would use the abstract or description field for the <a title=""> attribute.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="RO" type="boolean">
			<description><![CDATA[if set, rollOver is enabled for this link]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="RO_chBgColor" type="string">
			<description><![CDATA[If property RO is set (see below) then you can set this property to a certain set of parameters which will allow you to change the background color of eg. the tablecell when the mouse rolls over you text-link.

Syntax:
[over-color] | [out-color] | [id-prefix]

Example:
page = PAGE
page.typeNum = 0
page.10 = HMENU
page.10.wrap = <table border=1>|</table>
page.10.1 = TMENU
page.10.1.NO {
  allWrap = <tr><td valign=top id="1tmenu{elementUid}" style="background:#eeeeee;">|</td></tr>
  subst_elementUid = 1
  RO_chBgColor = #cccccc | #eeeeee | 1tmenu
  RO = 1
}

This example will start out with the table cells in #eeeeee and change them to #cccccc (and back) when rolled over. The "1tmenu" string is a unique id for the menu items. You may not need it (unless the same menu items are more than once on a page), but the important thing is that the id of the table cell has the exact same label before the {elementUid} (red marks). The other important thing is that you DO set a default background color for the cell with the style-attribute (blue marking). If you do not, Mozilla browsers will behave a little strange by not capturing the mouseout event the first time it's triggered. ]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="additionalParams" type="stdWrap">
			<description><![CDATA[Define parameters that are added to the end of the URL. This must be code ready to insert after the last parameter.

For details, see typolink->additionalParams]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="after" type="stdWrap">
			<description><![CDATA[HTML /stdWrap
			The series of "before..." properties are duplicated to "after..." properties as well. The only difference is that the output generated by the .after.... properties are placed after the link and not before.
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="afterImg" type="imgResource">The series of "before..." properties are duplicated to "after..." properties as well. The only difference is that the output generated by the .after.... properties are placed after the link and not before.
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="afterImgLink" type="boolean">
			<description><![CDATA[If set, this image is linked with the same <A> tag as the text
			The series of "before..." properties are duplicated to "after..." properties as well. The only difference is that the output generated by the .after.... properties are placed after the link and not before.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="afterImgTagParams" type="string">
			<description><![CDATA[<img>-params
			The series of "before..." properties are duplicated to "after..." properties as well. The only difference is that the output generated by the .after.... properties are placed after the link and not before.
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="afterROImg" type="imgResource">
			<description><![CDATA[If set, ".afterImg" and ".afterROImg" is expected to create a rollOver-pair.
			The series of "before..." properties are duplicated to "after..." properties as well. The only difference is that the output generated by the .after.... properties are placed after the link and not before. ]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="afterWrap" type="wrap">
			<description><![CDATA[wrap around the ".after"-code
			The series of "before..." properties are duplicated to "after..." properties as well. The only difference is that the output generated by the .after.... properties are placed after the link and not before.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="allStdWrap" type="stdWrap">
			<description><![CDATA[stdWrap of the whole item]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="allWrap" type="stdWrap">
			<description><![CDATA[wrap /stdWrap
			Wraps the whole item]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="altTarget" type="string">
			<description><![CDATA[target
			Alternative target overriding the target property of the TMENU if set.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="before" type="stdWrap">
			<description><![CDATA[HTML /stdWrap
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="beforeImg" type="imgResource">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="beforeImgLink" type="boolean">
			<description><![CDATA[If set, this image is linked with the same <A> tag as the text]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="beforeImgTagParams" type="string">
			<description><![CDATA[<img>-params
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="beforeROImg" type="imgResource">
			<description><![CDATA[If set, ".beforeImg" and ".beforeROImg" is expected to create a rollOver-pair. ]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="beforeWrap" type="wrap">
			<description><![CDATA[wrap around the ".before"-code]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="doNotLinkIt" type="boolean">
			<description><![CDATA[if set, the linktext are not linked at all!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="doNotShowLink" type="boolean">
			<description><![CDATA[if set, the text will not be shown at all (smart with spacers)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="linkWrap" type="wrap">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="stdWrap" type="stdWrap">
			<description><![CDATA[stdWrap to the link-text! ]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="stdWrap2" type="stdWrap">
			<description><![CDATA[stdWrap to the total link-text and ATag.  (Notice that the plain default value passed to stdWrap function is "|".)]]></description>
			<default><![CDATA[ | ]]></default>
		</property>
		<property name="subst_elementUid" type="boolean">
			<description><![CDATA[If set, all appearances of the string '{elementUid}' in the total element html-code (after wrapped in .allWrap} is substituted with the uid number of the menu item.
This is useful if you want to insert an identification code in the HTML in order to manipulate properties with JavaScript.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="wrapItemAndSub " type="wrap">
			<description><![CDATA[Wraps the whole item and any submenu concatenated to it.]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="stringList"/>
	<type id="charRangeMap" extends="array"/>
	<type id="wrap"/>
	<type id="wrapSplitChar" extends="wrap">
		<property name="splitChar" type="string">
			<description><![CDATA[defines an alternative splitting character (default is "|" - the vertical line)]]></description>
			<default><![CDATA[|]]></default>
		</property>
	</type>
	<type id="HRULER">
		<property name="lineColor" type="string">
			<description><![CDATA[The color of the ruler.]]></description>
			<default><![CDATA[black]]></default>
		</property>
		<property name="lineThickness" type="stdWrap">
			<description><![CDATA[integer, range: 1-50]]></description>
			<default><![CDATA[1]]></default>
		</property>
		<property name="spaceLeft" type="int">
			<description><![CDATA[space before the line (to the left)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="spaceRight" type="int">
			<description><![CDATA[space after the line (to the right)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="stdWrap" type="stdWrap">
			<description><![CDATA[ ]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="tableWidth" type="string">
			<description><![CDATA[Width of the ruler ("width" attribute in a table)]]></description>
			<default><![CDATA[99%]]></default>
		</property>
	</type>
	<type id="HTML">
		<property name="value" type="stdWrap">
			<description><![CDATA[Raw HTML-code.]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="HTMLparser">
		<property name="allowTags" type="string">
			<description><![CDATA[Default allowed tags]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="globalNesting" type="string">
			<description><![CDATA[List of tags (among the already set tags), which will be forced to have the nesting-flag set to "global"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="htmlSpecialChars" type="int">
			<description><![CDATA[values: -1 / 0 / 1 / 2
			This regards all content which is NOT tags:
"0" means "disabled" - nothing is done
"1" means the content outside tags is htmlspecialchar()'ed (PHP-function which converts &"<> to &...;)
"2" is the same as "1" but entities like "&amp;" or "&#234" are untouched.
"-1" does the opposite of "1" - converts < to <, > to >, &quot; to " etc.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="keepNonMatchedTags" type="string">
			<description><![CDATA[If set (true=1), then all tags are kept regardless of tags present as keys in $tags-array.
If "protect", then the preserved tags have their <> converted to < and >
Default is to REMOVE all tags, which are not specifically assigned to be allowed! So you might probably want to set this value!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="localNesting" type="string">
			<description><![CDATA[List of tags (among the already set tags), which will be forced to have the nesting-flag set to true]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="noAttrib" type="string">
			<description><![CDATA[List of tags (among the already set tags), which will be forced to have the allowedAttribs value set to zero (which means, all attributes will be removed.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="removeTags" type="string">
			<description><![CDATA[List of tags (among the already set tags), which will be configured so they are surely removed.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="rmTagIfNoAttrib" type="string">
			<description><![CDATA[List of tags (among the already set tags), which will be forced to have the rmTagIfNoAttrib set to true]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="tags.[tagname]" type="HTMLparser_tags">
			<description><![CDATA[Either set this property to 0 or 1 to allow or deny the tag. If you enter ->HTMLparser_tags properties, those will automatically overrule this option, thus it's not needed then.
[tagname] in lowercase.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="xhtml_cleaning" type="boolean">
			<description><![CDATA[Cleans up the content for XHTML compliance. Still slightly experimental and supports only some clean up operations (like convertion tags and attributes to lower case).]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="HTMLparser_tags">
		<property name="allowedAttribs" type="string">
			<description><![CDATA['0' (zero) = no attributes allowed, '[commalist of attributes]' = only allowed attributes. If blank/not set, all attributes are allowed.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="fixAttrib" type="array">
			<description><![CDATA[fixAttrib.[attribute].always = true / false
If set, the attribute is always processed. Normally an attribute is processed only if it exists

fixAttrib.[attribute].casesensitiveComp = true / false
If set, the comparison in .removeIfEquals and .list will be case-sensitive. At this point, it's insensitive.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="fixAttrib.[attribute]" type="HTMLparser_tags_fixAttrib">
			<description><![CDATA[If no attribute exists by this name, this value is set as default value (if this value is not blank)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="nesting" type="">
			<description><![CDATA[If set true, then this tag must have starting and ending tags in the correct order. Any tags not in this order will be discarded. Thus '</B><B><I></B></I></B>' will be converted to '<B><I></B></I>'.
Is the value "global" then true nesting in relation to other tags marked for "global" nesting control is preserved. This means that if <B> and <I> are set for global nesting then this string '</B><B><I></B></I></B>' is converted to '<B></B>']]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="overrideAttribs" type="string">
			<description><![CDATA[If set, this string is preset as the attributes of the tag. ]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="protect" type="boolean">
			<description><![CDATA[If set, the tag <> is converted to < and >]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="remap" type="string">
			<description><![CDATA[If set, the tagname is remapped to this tagname]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="rmTagIfNoAttrib" type="boolean">
			<description><![CDATA[If set, then the tag is removed if no attributes happend to be there.]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="HTMLparser_tags_fixAttrib">
		<property name="default" type="string">
			<description><![CDATA[If no attribute exists by this name, this value is set as default value (if this value is not blank)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="list" type="stringList">
			<description><![CDATA[Attribute value must be in this list. If not, the value is set to the first element.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="prefixLocalAnchors" type="integer">
			<description><![CDATA[If the first char is a "#" character (anchor of fx. <a> tags) this will prefix either a relative or absolute path.
If the value is "1" you will get the absolute path (t3lib_div::getIndpEnv('TYPO3_REQUEST_URL'))
If the value is "2" you will get the relative path (stripping of t3lib_div::getIndpEnv('TYPO3_SITE_URL'))

Example:

...fixAttrib.href.prefixLocalAnchors = 1]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="prefixRelPathWith" type="string">
			<description><![CDATA[If the value of the attribute seems to be a relative URL (no scheme like "http" and no "/" as first char) then that value of this property will be prefixed the attribute.

Example:

...fixAttrib.src.prefixRelPathWith = http://192.168.230.3/typo3/32/dummy/]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="range" type="intList">
			<description><![CDATA[Setting integer range. ]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="removeIfEquals" type="string">
			<description><![CDATA[If the attribute value matches the value set here, then it is removed.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="removeIfFalse" type="stingList">
			<description><![CDATA[boolean/"blank" string
If set, then the attribute is removed if it is "false". If this value is set to "blank" then the value must be a blank string (that means a "zero" value will not be removed)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="set" type="string">
			<description><![CDATA[Force the attribute value to this value.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="trim" type="boolean">
			<description><![CDATA[If any of these keys are set, the value is passed through the respective PHP-functions.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="unset" type="boolean">
			<description><![CDATA[ If set, the attribute is unset.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="userFunc" type="string">
			<description><![CDATA[User function for processing of the attribute.

Example:

...fixAttrib.href.userFunc = tx_realurl->test_urlProc]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="IMAGE">
		<property name="altText" type="stdWrap">
			<description><![CDATA[If no alttext is specified, it will use an empty alttext

("alttext" is the old spelling of this attribute. It will be used only if "altText" does not specify a value or properties)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="border" type="int">
			<description><![CDATA[Value of the "border" attribute of the image tag.]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="emptyTitleHandling" type="string">
			<description><![CDATA[Value can be "keepEmpty" to preserve an empty title attribute, or "useAlt" to use the alt attribute instead.
]]></description>
			<default><![CDATA[useAlt
]]></default>
		</property>
		<property name="file" type="imgResource">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="if" type="if">
			<description><![CDATA[if "if" returns false the image is not shown!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="imageLinkWrap" type="imageLinkWrap">
			<description><![CDATA[boolean / imageLinkWrap

CAUTION: only active if set to 1:
imageLinkWrap = 1

Additional Note: ONLY active if linkWrap is NOT set and file is NOT GIFBUILDER (as it works with the original imagefile)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="titleText" type="stdWrap">
			<description><![CDATA[If no titletext is specified, it will use the alttext instead. If no alttext is specified, it will use an empty alttext]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="linkWrap" type="wrap">
			<description><![CDATA[(before ".wrap")]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="longdescURL" type="stdWrap">
			<description><![CDATA["longdesc" attribute (URL pointing to document with extensive details about image).]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="params" type="stdWrap">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="stdWrap" type="stdWrap">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="wrap" type="wrap">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="IMG_RESOURCE">
		<property name="file" type="imgResource">
			<description><![CDATA[ ]]></description>
			<default><![CDATA[]]></default>
		</property>
		<property name="stdWrap" type="stdWrap">
			<description><![CDATA[ ]]></description>
			<default><![CDATA[]]></default>
		</property>
	</type>
	<type id="IMGMAP">
		<property name="altText" type="string">
			<description><![CDATA[Value of the alt-attribute.

(Used from TEXT Gifbuilding objects, this has stdWrap properties. Otherwise not)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="explode" type="intList">
			<description><![CDATA[This "explodes" or "implodes" the image-map. Useful to let the hot area cover a little more than just the letters of the text.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="noBlur" type="boolean">
			<description><![CDATA[Normally graphical links are "blurred" if the browser is MSIE. This removes the ugly box around a link.
If this property is set, the link is NOT blurred with "onFocus".]]></description>
			<default><![CDATA[For IMGMENU menu objects provided automatically]]></default>
		</property>
		<property name="target" type="target">
			<description><![CDATA[target for link]]></description>
			<default><![CDATA[For IMGMENU menu objects provided automatically]]></default>
		</property>
		<property name="titleText" type="string">
			<description><![CDATA[Value of the title attribute.

(Used from TEXT Gifbuilding objects, this has stdWrap properties. Otherwise not)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="url" type="string">
			<description><![CDATA[url to link]]></description>
			<default><![CDATA[For IMGMENU menu objects provided automatically]]></default>
		</property>
	</type>
	<type id="IMGTEXT" extends="cObjArray">
		<property name="1" type="IMAGE">
			<description><![CDATA[Rendering of the images
The register "IMAGE_NUM" is set with the number of image being rendered for each rendering of a image-object. Starting with zero.
The image-object should not be of type GIFBUILDER!
Important:
"file.import.current = 1" fetches the name of the images!
</description>]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="2" type="IMAGE">
			<description><![CDATA[Rendering of the images
The register "IMAGE_NUM" is set with the number of image being rendered for each rendering of a image-object. Starting with zero.
The image-object should not be of type GIFBUILDER!
Important:
"file.import.current = 1" fetches the name of the images!
</description>]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="3" type="IMAGE">
			<description><![CDATA[Rendering of the images
The register "IMAGE_NUM" is set with the number of image being rendered for each rendering of a image-object. Starting with zero.
The image-object should not be of type GIFBUILDER!
Important:
"file.import.current = 1" fetches the name of the images!
</description>]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="altText" type="stdWrap">
			<description><![CDATA[Default altText/titleText if no alternatives are provided by the ->IMAGE cObjects

If no alttext is specified, it will use an empty alttext]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="border" type="stdWrap ">
			<description><![CDATA[If true, a border i generated around the images.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="borderCol" type="stdWrap">
			<description><![CDATA[Color of the border, if ".border" is set]]></description>
			<default><![CDATA[black]]></default>
		</property>
		<property name="borderThick" type="stdWrap">
			<description><![CDATA[Width of the border around the pictures]]></description>
			<default><![CDATA[1]]></default>
		</property>
		<property name="caption" type="stdWrap">
			<description><![CDATA[Caption]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="captionAlign" type="stdWrap">
			<description><![CDATA[Caption alignment]]></description>
			<default><![CDATA[default = ".textPos"]]></default>
		</property>
		<property name="captionSplit" type="boolean">
			<description><![CDATA[If this is set, the caption text is split by the character (or string) from ".token" , and every item is displayed under an image each in the image block.
.token = (string /stdWrap) Character to split the caption elements (default is chr(10))
.cObject = cObject, used to fetch the caption for the split
.stdWrap = stdWrap properties used to render the caption.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="colRelations" type="stdWrap">
			<description><![CDATA[This value defines the width-relations of the images in the columns of IMGTEXT. The syntax is "[int] : [int] : [int] : ..." for each column. If there are more imagecolumns than figures in this value, it's ignored. If the relation between two of these figures exceeds 10, this function is ignore.
It works only fully if all images are downscaled by their maxW-definition.

Example:
If 6 images are placed in three columns and their width's are high enough to be forcibly scaled, this value will scale the images in the to be eg. 100, 200 and 300  pixels from left to right
1 : 2 : 3]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="colSpace" type="stdWrap">
			<description><![CDATA[space between columns]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="cols" type="stdWrap ">
			<description><![CDATA[Columns]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="editIcons" type="string">
			<description><![CDATA[(See stdWrap.editIcons)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="emptyTitleHandling" type="string">
			<description><![CDATA[Value can be "keepEmpty" to preserve an empty title attribute, or "useAlt" to use the alt attribute instead.
]]></description>
			<default><![CDATA[useAlt
]]></default>
		</property>
		<property name="equalH" type="stdWrap">
			<description><![CDATA[If this value is greater than zero, it will secure that images in a row has the same height. The width will be calculated.
If the total width of the images raise above the "maxW"-value of the table the height for each image will be scaled down equally so that the images still have the same height but is within the limits of the totalWidth.
Please note that this value will override the properties "width", "maxH", "maxW", "minW", "minH" of the IMAGE-objects generating the images. Furthermore it will override the "noRows"-property and generate a table with no columns instead!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="image_compression" type="stdWrap">
			<description><![CDATA[Image Compression:
0= Default
1= Dont change! (removes all parameters for the image_object!!)
(adds gif-extension and color-reduction command)
10= GIF/256
11= GIF/128
12= GIF/64
13= GIF/32
14= GIF/16
15= GIF/8
(adds jpg-extension and quality command)
20= IM: -quality 100
21= IM: -quality 90 <=> Photoshop 60     (JPG/Very High)
22= IM: -quality 80    (JPG/High)
23= IM: -quality 70
24= IM: -quality 60 <=> Photoshop 30   (JPG/Medium)
25= IM: -quality 50
26= IM: -quality 40  (JPG/Low)
27= IM: -quality 30 <=> Photoshop 10
28= IM: -quality 20   (JPG/Very Low)

The default ImageMagick quality seems to be 75. This equals Photoshop quality 45. Images compressed with ImageMagick with the same visual quality as a Photoshop-compressed image seems to be largely 50% greater in size!!

NOTE: Works ONLY if IMAGE-obj is NOT GIFBUILDER]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="image_effects" type="stdWrap">
			<description><![CDATA[Adds these commands to the parameteres for the scaling. This function has no effect if "image_compression" above is set to 1!!

1 => "-rotate 90",
2 => "-rotate 270",
3 => "-rotate 180",
10 => "-colorspace GRAY",
11 => "-sharpen 70",
20 => "-normalize",
23 => "-contrast",
25 => "-gamma 1.3",
26 => "-gamma 0.8"

NOTE: Works ONLY if IMAGE-obj is NOT GIFBUILDER]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="image_frames" type="array ">
			<description><![CDATA[Frames:
.key points to the frame used.

".image_frames.x" is imgResource-mask (".m")properties which will override to the [imgResource].m properties of the imageObjects. This is used to mask the images into a frame. See how it's done in the default configuration and IMGTEXT in the static_template-table.

Example:
1 {
  mask = media/uploads/darkroom1_mask.jpg
  bgImg = GIFBUILDER
  bgImg {
    XY = 100,100
    backColor = {$bgCol}
  }
  bottomImg = GIFBUILDER
  bottomImg {
    XY = 100,100
    backColor = black
  }
  bottomImg_mask = media/uploads/darkroom1_bottom.jpg
}

NOTE: This cancels the jpg-quality settings sent as ordinary ".params" to the imgResource. In addition the output of this operation will always be jpg or gif!
NOTE: Works ONLY if IMAGE-obj is NOT GIFBUILDER]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="imgList" type="stdWrap">
			<description><![CDATA[list of images from ".imgPath"

Example:
This imports the list of images from tt_content's image-field
"imgList.field = image"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="imgMax" type="stdWrap">
			<description><![CDATA[max number of images]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="imgObjNum" type="int">
			<description><![CDATA[ +optionSplit
Here you define, which IMAGE-cObjects from the array "1,2,3,4..." in this object that should render the images.
"current" is set to the image-filename.

Example:
"imgObjNum = 1 |*||*| 2":
This would render the first two images with "1. ..." and the last image with "2. ...", provided that the ".imgList" contains 3 images.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="imgPath" type="stdWrap">
			<description><![CDATA[Path to the images

Example:
"uploads/pics/"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="imgStart" type="stdWrap">
			<description><![CDATA[start with image-number ".imgStart"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="longdescURL" type="stdWrap">
			<description><![CDATA[Default longdescURL if no alternatives are provided by the ->IMAGE cObjects

"longdesc" attribute (URL pointing to document with extensive details about image).]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="maxW" type="stdWrap">
			<description><![CDATA[max width of the image-table.
This will scale images not in the right size! Takes the number of columns into account!

NOTE: Works ONLY if IMAGE-obj is NOT GIFBUILDER]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="maxWInText" type="stdWrap">
			<description><![CDATA[max width of the image-table, if the text is wrapped around the image-table (on the left or right side).
This will scale images not in the right size! Takes the number of columns into account!

NOTE: Works ONLY if IMAGE-obj is NOT GIFBUILDER]]></description>
			<default><![CDATA[50% of maxW]]></default>
		</property>
		<property name="noCols" type="stdWrap">
			<description><![CDATA[If set, the columns are not made in the table. The images are all put in one row separated by a clear giffile to space them apart.
If noRows is set, noCols will be unset. They cannot be set simultaneously.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="noRows" type="stdWrap">
			<description><![CDATA[If set, the rows are not divided by a table-rows. Thus images are more nicely shown if the height differs a lot (normally the width is the same!)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="noStretchAndMarginCells" type="boolean">
			<description><![CDATA[If set (1), the cells used to add left and right margins plus stretch out the table will not be added. You will loose the ability to set margins for the object if entered "in text". So it's not recommended, but it has been requested by some people for reasons.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="rowSpace" type="stdWrap">
			<description><![CDATA[space between rows]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="rows" type="stdWrap">
			<description><![CDATA[Rows (higher priority thab "cols")]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="spaceBelowAbove" type="stdWrap">
			<description><![CDATA[Pixelsspace between content an images when position of image is above or belox text (but not in text)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="stdWrap" type="stdWrap">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="tableStdWrap" type="stdWrap">
			<description><![CDATA[This passes the final <table> code for the image block to the stdWrap function.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="text" type="stdWrap">
			<description><![CDATA[Use this to import / generate the content, that should flow around the imageblock.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="textMargin" type="stdWrap">
			<description><![CDATA[margin between the image and the content]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="textMargin_outOfText" type="boolean">
			<description><![CDATA[If set, the textMargin space will still be inserted even if the image is placed above or below the text.
This flag is only for a kind of backwards compatibility because this "feature" was recently considered a bug and thus corrected. So if anyone has depended on this way things are done, you can compensate with this flag.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="textPos" type="stdWrap">
			<description><![CDATA[Textposition:
bit[0-2]: 000 = centre, 001 = right, 010 = left
bit[3-5]: 000 = over, 001 = under, 010 text

0 - Above: Centre
1 - Above: Right
2 - Above: Left
8 - Below: Centre
9 - Below: Right
10 - Below: Left
17 - In Text: Right
18 - In Text: Left
25 - In Text: Right (no wrap)
26 - In Text: Left (no wrap)]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="LOAD_REGISTER" extends="array">
		<property name="[myRegisterVar1]" type="stdWrap">
			<description><![CDATA[Example:
(This sets "contentWidth", "label" and "head")

page.27 = LOAD_REGISTER
page.27 {
  contentWidth = 500

  label.field = header

  head = some text
  head.wrap = <B> | </B>
}]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="[myRegisterVar2]" type="stdWrap">
			<default><![CDATA[
]]></default>
		</property>
		<property name="[myRegisterVar3]" type="stdWrap">
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="META" extends="array">
		<property name="REFRESH" type="stdWrap">
			<description><![CDATA[Metatag
If value is empty (after trimming) the metatag is not generated.
[seconds]; [url, leave blank for same page]
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="DESCRIPTION" type="stdWrap">
			<description><![CDATA[Metatag
If value is empty (after trimming) the metatag is not generated.
If the "key" (eg. "REFRESH" or "DESCRIPTION") is "REFRESH" (caseinsensitive), then the "http-equiv"-attribute is used in the metatag instead of "name".

Examples:
.REFRESH =  [seconds]; [url, leave blank for same page]
.DESCRIPTION = This is the description of the content in this document
.KEYWORDS = This is the keywords...]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="KEYWORDS" type="stdWrap">
			<description><![CDATA[Metatag
If value is empty (after trimming) the metatag is not generated.
Examples:
.KEYWORDS = This, is, the, list, of, keywords]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="[myMetaTag]" type="stdWrap">
			<description><![CDATA[Metatag
If value is empty (after trimming) the metatag is not generated.
ofcause you can specify your own meta tags too...]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="MULTIMEDIA">
		<property name="file" type="stdWrap">
			<description><![CDATA[The multimedia file. Types are:
txt, html, htm:Inserted directly
class:Java-applet
swf:Flash animation
swa, dcr:ShockWave Animation
wav,au:Sound
avi,mov,asf,mpg,wmv:Movies (AVI, QuickTime, MPEG4)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="params" type="stdWrap">
			<description><![CDATA[This is parameters for the multimedia-objects. Use this to enter stuff like with and height:

Example:
width=200
height=300

... will generate a tag like '<embed .... width="200" height="300">'
height=

An empty string will remove the parameter from the embed-tag]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="stdWrap" type="stdWrap">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="OTABLE" extends="cObjArray">
		<property name="1" type="cObj">
			<description><![CDATA[the object which should be rendered at the specified position. You have to set this to a contenttype (IMAGE, TEXT,...)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="2" type="cObj">
			<description><![CDATA[the object which should be rendered at the specified position. You have to set this to a contenttype (IMAGE, TEXT,...)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="3" type="cObj">
			<description><![CDATA[the object which should be rendered at the specified position. You have to set this to a contenttype (IMAGE, TEXT,...)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="offset" type="intList">
			<description><![CDATA[Offset from upper left corner

Note:
Actually the datatype is "x,y,r,b,w,h":
x,y is offset from upperleft corner
r,b is offset (margin) to right and bottom
w is the required width of the content field
h is the required height of the content field

All measures is in pixels.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="tableParams" type="string">
			<description><![CDATA[
]]></description>
			<default><![CDATA[border=0 cellspacing=0 cellpadding=0]]></default>
		</property>
	</type>
	<type id="PHP_SCRIPT">
		<property name="file" type="string">
			<description><![CDATA[File that will be included. This file must be valid PHP-code! It's included with "include()";

Directions:
1) All content must be put into $content. No output must be echo'ed out!

2) Call $GLOBALS["TSFE"]->set_no_cache(), if you want to disable caching of the page. Set this during development! And set it, if the content you create may not be cached.

NOTE: If you have a parsing error in your include script the $GLOBALS["TSFE"]->set_no_cache() function is NOT executed and thereby does not disable caching. Upon a parse-error you must manually clear the page-cache after you have corrected your error!
3) the array $conf contains the configuration for the PHP_SCRIPT cObject. Try debug($conf) to see the content printed out for debugging!
See later in this manual for an introduction to writing your own PHP include-scripts.]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="PHP_SCRIPT_EXT">
		<property name="file" type="string">
			<description><![CDATA[File that will be included. This file must be valid PHP-code! It's included with "include()";

Purpose:
This works like PHP_SCRIPT_INT, because a divider string is also inserted in the content for this kind of include-script. But the difference is that the content is divided as the very last thing before it's output to the browser.
This basically means that PHP_SCRIPT_EXT (external, because it's included in the global space in index_ts.php file!!) can output data directly with echo-statements!
This is a very "raw" version of PHP_SCRIPT because it's not included from inside an object and you have only very few standard functions from TYPO3 to call.
This is the fastest option of all three PHP_SCRIPT-cObjects, because the page-data is all cached and your dynamic content is generated by a raw php-script

Rules:
- All content can be either 1) echo'ed out directly, or 2) returned in $content.
- calls to $GLOBALS["TSFE"]->set_no_cache() and $GLOBALS["TSFE"]->set_cache_timeout_default() makes no sense in this situation.
- parsing errors does not interfere with caching
- In the global name-space, the array $REC contains the current record when the file was "inserted" on the page, and $CONF-array contains the configuration for the script.
- Don't mess with the global vars named $EXTiS_*  ]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="includeLibs" type="stringList">
			<description><![CDATA[This is a comma-separated list of resources that are included as PHP-scripts (with include_once() function) if this script is included.
This is possible to do because any include-files will be known before the scripts are included. That's not the case with the regular PHP_SCRIPT cObject.]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="PHP_SCRIPT_INT">
		<property name="file" type="string">
			<description><![CDATA[File that will be included. This file must be valid PHP-code! It's included with "include()";

Purpose:
This basically works like PHP_SCRIPT. But the vital difference is that inserting a PHP_SCRIPT_INT (internal opposed to external, see below) merely inserts a divider-string in the code and then serializes the current cObj and puts it in the $GLOBALS["TSFE"]->config["INTincScript"]-array. This array is saved with the cached page-content.
Now, the point is, that including a script like this lets you avoid disabling pagecaching. The reason is that the cached page contains the divider string and when a "static" page is fetched from cache, it's divided by that string and the dynamic content object is inserted.
This is the compromise option of all three PHP_SCRIPT-cObjects, because the page-data is all cached, but still the pagegen.php script is included, which initializes all the classes, objects and so. What you gain here is an environment for your script almost exactly the same as PHP_SCRIPT because your script is called from inside a class tslib_cObj object. You can work with all functions of the tslib_cObj-class. But still all the "static" pagecontent is only generated once, cached and only your script is dynamically rendered.

Rules:
- calls to $GLOBALS["TSFE"]->set_no_cache() and $GLOBALS["TSFE"]->set_cache_timeout_default() makes no sense in this situation.
- parsing errors does not interfere with caching
- Be aware that certain global variables may not be set as usual and be available as usual when working in this mode. Most scripts should work out-of-the-box with this option though.
- Dependence and use of LOAD_REGISTER is fragile because the PHP_SCRIPT_INT is not rendered until after the cached content and due to this changed order of events, use of LOAD_REGISTER may not work.
- You can not nest PHP_SCRIPT_INT and PHP_SCRIPT_EXT in PHP_SCRIPT_INT. You may nest PHP_SCRIPT cObjects though.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="includeLibs" type="stringList">
			<description><![CDATA[This is a comma-separated list of resources that are included as PHP-scripts (with include_once() function) if this script is included.
This is possible to do because any include-files will be known before the scripts are included. That's not the case with the regular PHP_SCRIPT cObject.]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="RECORDS">
		<property name="conf" type="array">
			<description><![CDATA[Config-array which renders records from table tablename]]></description>
			<default><![CDATA[If this is NOT defined, the rendering of the records is done with the toplevel-object [tablename] - just like the cObject, CONTENT!]]></default>
		</property>
		<property name="dontCheckPid" type="boolean">
			<description><![CDATA[Normally a record cannot be selected, if it's parent page (pid) is not accessible for the website user. This option disables that check.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="source" type="stdWrap">
			<description><![CDATA[List of record-id's, optionally with appended table-names.

Example:
tt_content_34, 45, tt_links_56]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="tables" type="stringList">
			<description><![CDATA[List of accepted tables. If any items in the ".source"-list is not prepended with a tablename, the first table in this list is assumed to be the table for such records.
Also tablenames configured in .conf is allowed.

Example:
tables = tt_content, tt_address, tt_links
conf.tx_myexttable = TEXT
conf.tx_myexttable.value = Hello world

This adds the tables tt_content, tt_address, tt_links, tx_myexttable]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="wrap" type="wrap">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="SEARCHRESULT">
		<property name="addExtUrlsAndShortCuts" type="boolean">
			<description><![CDATA[If set, then the doktypes 3 and 4 (External URLS and Shortcuts) are added to the doktypes being searched.
However at this point in time, no pages will be select if they do not have at least one tt_content record on them! That is because the pages and tt_content (or other) table is joined. So there must at least one occurance of a tt_content element on a External URL / Shortcut page for them to show up.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="allowedCols" type="string">
			<description><![CDATA[List (separated by ":") of allowed table-cols.

Example:
pages.title:tt_content.bodytext]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="languageField.[2nd table]" type="string">
			<description><![CDATA[Setting a field name to filter language on. This works like the "languageField" setting in ->select

Example:

languageField.tt_content = sys_language_uid]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="layout" type="string">
			<description><![CDATA[This defines how the search content is shown.

Example:
This substitutes the following fields:
###RANGELOW###:The low result range, eg. "1"
###RANGEHIGH###:The high result range, eg. "10"
###TOTAL###:The total results
###RESULT###:The result itself
###NEXT###:The next-button
###PREV###:The prev-button]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="next" type="cObj">
			<description><![CDATA[This cObject will be wrapped by a link to the next searchresult. This is the code substituting the "###NEXT###"-mark]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="noOrderBy" type="boolean">
			<description><![CDATA[If this is set, the result is NOT sorted after lastUpdated, tstamp for the pages-table.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="noResultObj" type="cObj">
			<description><![CDATA[the cObject used if the search results in no rows.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="prev" type="cObj">
			<description><![CDATA[This cObject will be wrapped by a link to the prev searchresult. This is the code substituting the "###PREV###"-mark]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="range" type="int">
			<description><![CDATA[The number of results at a time!]]></description>
			<default><![CDATA[20]]></default>
		</property>
		<property name="renderObj" type="cObj">
			<description><![CDATA[the cObject to render the searchresults
$cObj->data array is set to the resulting record from the search.
Please note, that in all fields are named [tablename]_[fieldnam]. Thus the pagetitle is in the field "pages_title".
Apart from this, these fields from the pages-table are also present:
uid]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="renderWrap" type="wrap">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="resultObj" type="cObj">
			<description><![CDATA[the cObject prepended in the search results returns rows]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="stdWrap" type="stdWrap">
			<description><![CDATA[Wrap the whole content...]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="target" type="target">
			<description><![CDATA[target til next/prev links!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="wrap" type="wrap">
			<description><![CDATA[Wrap the whole content...]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="TEMPLATE">
		<property name="markerWrap" type="wrap">
			<description><![CDATA[This is the wrap the markers is wrapped with. The default value is ### | ### resulting in the markers to be presented as ###[marker_key]###.
Any whitespace around the wrap-items is stripped before they are set around the marker_key.]]></description>
			<default><![CDATA[### | ###]]></default>
		</property>
		<property name="marks" type="array">
			<description><![CDATA[This is an array of marks-markers (case-sensitive).
A mark is defined by one markers in the template. The marker must be wrapped by "###" on both sides. Opposite to subparts, you may NOT insert the subpart-markers inside HTML-comment-tags! (They will not be removed).
Marks are substituted bya str_replace-function. The subparts loaded in the register is available also to the cObjects of markers (only if .nonCachedSubst is not set!).]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="nonCachedSubst" type="boolean">
			<description><![CDATA[If set, then the substitution mode of this cObject is totally different. Normally the raw template is read and divided into the sections denoted by the marks, subparts and wraps keys. The good thing is high speed, because this "pre-parsed" template is cached. The bad thing is that templates that depends on incremental substition (where the order of substition is important) will not work so well.
By setting this flag, markers are first substituted by str_replace in the template - one by one. Then the subparts are substituted one by one. And finally the wraps one by one.
Obviously you loose the ability to refer to other parts in the template with the register-keys as described above. ]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="relPathPrefix" type="string">
			<description><![CDATA[Finds all relative references (eg. to images or stylesheets) and prefixes this value.
If you specify properties (uppercase) these will match HTML tags and specify alternative paths for them. See example below.
If the property is named "style" it will set alternative path for the "url()" wrapper that may be in <style> sections.

Example:
page.10 = TEMPLATEpage.10 {  template = FILE  template.file = fileadmin/template.html  relPathPrefix = fileadmin/
  relPathPrefix.IMG = fileadmin/img/}

Inthis example all relative paths found are prefixed "fileadmin/" unless it was the src attribute of an img tag in which case the path prefixed is "fileadmin/img/"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="subparts" type="array">
			<description><![CDATA[This is an array of subpart-markers (case-sensitive).
A subpart is defined by two markers in the template. The markers must be wrapped by "###" on both sides. You may insert the subpart-markers inside HTML-comment-tags!!

Example:
subparts {
  HELLO = TEXT
  HELLO.value = En subpart er blevet erstattet!!
}

In the templates:
<!--  start of subpart: ###HELLO### -->
This is the HTML.code, that will be loaded in the register and replaced with the result...
<!-- end ###HELLO### -->

NOTE:
Before the content-objects of each subpart is generated, all subparts in the array are extracted and loaded into the register so that you can load them from there later on.
The register-key for each subparts code is "SUBPART_[theSubpartkey]".
In addition the current-value is loaded with the content of each subpart just before the cObject for the subpart is parsed. That makes it quite easy to load the subpart of the cObject (eg: ".current=1")
Eg. this subpart above has the register-key "SUBPART_HELLO".
This is valid ONLY if the property .nonCachedSubst is not set! (see below)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="substMarksSeparately" type="boolean">
			<description><![CDATA[If set, then marks are substituted in the content AFTER the substitution of subparts and wraps.
Normally marks are not substituted inside of subparts and wraps when you are using the default cached mode of the TEMPLATE cObject. That is a problem if you have marks inside of subparts! But setting this flag will make the marker-substitution a non-cached, subsequent process.
Another solution is to turn of caching, see below.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="template" type="cObj">
			<description><![CDATA[This must be loaded with the template-code. If not the object returns nothing.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="workOnSubpart" type="string">
			<description><![CDATA[This is an optional definition of a subpart, that we decide to work on. In other words; if you define this value that subpart is extracted from the template and is the basis for this whole templateobject.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="wraps" type="array">
			<description><![CDATA[This is an array of wraps-markers (case-sensitive).
This is shown best by an example:
Example:
subparts {
  MYLINK = TEXT
  MYLINK.value = <A href="#"> | </A>
}

In the template:
This is <!--###MYLINK###-->a link to my<!--###MYLINK###--> page!

In this example the MYLINK subpart will be substituted by the wrap which is the content returned by the MYLINK cObject.]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="TEXT" extends="stdWrap">
		<property name="value" type="value">
			<description><![CDATA[text, wrap with stdWrap properties]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="USER">
		<property name="includeLibs" type="stringList">
			<description><![CDATA[(This property applies only if the object is created as USER_INT)
This is a comma-separated list of resources that are included as PHP-scripts (with include_once() function) if this script is included.
This is possible to do because any include-files will be known before the scripts are included. That's not the case with the regular PHP_SCRIPT cObject.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="userFunc" type="string">
			<description><![CDATA[The name of the function. If you specify the name with a '->' in, it's intepreted as a call to a method in a class.
Two parameters are sent: A content variable (which is empty in this case, but not when used from stdWrap function .postUserFunc and .preUserFunc) and the second parameter is an array with the properties of this cObject if any.

Example:
This TypoScript will display all content element headers of a page in reversed order. Please take a look in media/scripts/example_callfunction.php!!
(Also demonstrated on the testsite, page

page = PAGE
page.typeNum=0
includeLibs.something = media/scripts/example_callfunction.php

page.30 = USER
page.30 {
  userFunc = user_various->listContentRecordsOnPage
  reverseOrder = 1
}]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="USER_INT">
		<property name="includeLibs" type="stringList">
			<description><![CDATA[(This property applies only if the object is created as USER_INT)
This is a comma-separated list of resources that are included as PHP-scripts (with include_once() function) if this script is included.
This is possible to do because any include-files will be known before the scripts are included. That's not the case with the regular PHP_SCRIPT cObject.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="userFunc" type="string">
			<description><![CDATA[The name of the function. If you specify the name with a '->' in, it's intepreted as a call to a method in a class.
Two parameters are sent: A content variable (which is empty in this case, but not when used from stdWrap function .postUserFunc and .preUserFunc) and the second parameter is an array with the properties of this cObject if any.

Example:
This TypoScript will display all content element headers of a page in reversed order. Please take a look in media/scripts/example_callfunction.php!!
(Also demonstrated on the testsite, page

page = PAGE
page.typeNum=0
includeLibs.something = media/scripts/example_callfunction.php

page.30 = USER
page.30 {
  userFunc = user_various->listContentRecordsOnPage
  reverseOrder = 1
}]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="TLO">
		<property name="FEData" type="array">
			<description><![CDATA[Array of tablenames.
Here you can configure how data submitted from the front-end should be processed, which script and so on.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="config" type="CONFIG">
			<description><![CDATA[Global configuration.
These values are stored with cached pages which means they are also accessible when retrieving a cached page.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="constants" type="CONSTANTS">
			<description><![CDATA[Site-specific constants, eg. a general email-adresse. These constants may be substituted in the text throughout the pages. The substitution is done by parseFunc. (Option: constants=1)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="includeLibs" type="array">
			<description><![CDATA[With this you can include php-files with function libraries for use in your includescript in TYPO3.
Please see the PAGE-object, which has the same property.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="resources" type="array">
			<description><![CDATA[Resources in list (internal)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="sitetitle" type="array">
			<description><![CDATA[SiteTitle (internal)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="types" type="array">
			<description><![CDATA[Types (internal)
type=99 reserved for plaintext display ]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="_GIFBUILDER" type="TLO_GIFBUILDER"/>
	</type>
	<type id="PAGE" extends="cObjArray">
		<property name="10" type="cObj">
			<description><![CDATA[the object which should be rendered in the page. You have to set this to a contenttype (IMAGE, TEXT, HTML...)
You can specify as much elements in this array as you want.

Example:

page.10 = TEXT
page.10.value = Here goes the header
page.20 = TEXT
page.20.value = Hello World!
page.30 = TEXT
page.30.value = Here goes the footer]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="20" type="cObj">
			<description><![CDATA[the object which should be rendered in the page. You have to set this to a contenttype (IMAGE, TEXT, HTML...)
You can specify as much elements in this array as you want.

Example:

page.10 = TEXT
page.10.value = Here goes the header
page.20 = TEXT
page.20.value = Hello World!
page.30 = TEXT
page.30.value = Here goes the footer]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="30" type="cObj">
			<description><![CDATA[the object which should be rendered in the page. You have to set this to a contenttype (IMAGE, TEXT, HTML...)
You can specify as much elements in this array as you want.

Example:

page.10 = TEXT
page.10.value = Here goes the header
page.20 = TEXT
page.20.value = Hello World!
page.30 = TEXT
page.30.value = Here goes the footer]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="CSS_inlineStyle" type="string">
			<description><![CDATA[This value is just passed on as inline css (in-document css encapsulated in <style>-tags)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="adminPanelStyles" type="boolean">
			<description><![CDATA[Will include CSS styles for the Admin Panel.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="bgImg" type="imgResource">
			<description><![CDATA[Background image on the page. This is automatically added to the body-tag.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="bodyTag" type="string">
			<description><![CDATA[Bodytag on the page

Example:
page.bodyTag = <body bgcolor="{$bgCol}">]]></description>
			<default><![CDATA[<body bgcolor="#FFFFFF">]]></default>
		</property>
		<property name="bodyTagAdd" type="string">
			<description><![CDATA[This content is added to the end of the bodyTag.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="bodyTagCObject" type="cObj">
			<description><![CDATA[This is default bodytag overridden by ".bodyTag" if that is set.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="bodyTagMargins" type="int">
			<description><![CDATA[margins in the bodytag.

Property:
.useCSS = 1 (boolean) - will set a "BODY {margin: ...}" line in the in-document style declaration - for XHTML compliance.

Example:
value 4
adds leftmargin="4" topmargin="4" marginwidth="4" marginheight="4"  to the bodyTag.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="cssInline" type="CARRAY">
			<description><![CDATA[Use cObjects for creating inline CSS

Example:

cssInline {
    10 = TEXT
    10.value = h1 {margin:15px;}

    20 = TEXT
    20.value = h1 span {color: blue;}
}
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="config" type="CONFIG">
			<description><![CDATA[configuration for the page. Any entries override the same entries in the toplevel-object "config".]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="extOnReady" type="CARRAY">
			<description><![CDATA[ExtJS specific, adds inline javascript, wrapped in Ext.onReady.

Example:

page.extOnReady {

   10 = TEXT

   10.value = Ext.Msg.alert("Typoscript Message","Hello World!");

}

will produce following source:

Ext.onReady(function() {Ext.Msg.alert("Typoscript Message","Hello World!"); });
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="footerData" type="CARRAY">
			<description><![CDATA[Same as headerData above, except that this block gets included at the bottom of the page (just before the closing body tag).
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="frameSet" type="FRAMESET">
			<description><![CDATA[if any properties is set to this property, the page is made into a frameset.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="headTag" type="string">
			<description><![CDATA[Head-tag if alternatives are wanted]]></description>
			<default><![CDATA[<head>]]></default>
		</property>
		<property name="headerData" type="cObjArray">
			<description><![CDATA[Inserts content in the header-section. Could be JavaScripts, meta-tags, other stylesheet references.
Is inserted after all the style-definitions.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="hover" type="string">
			<description><![CDATA[The color of a link when the mouse moves over it! (only MSIE). Uses in-document stylesheet.

Deprecated. Use stylesheet instead.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="hoverStyle" type="string">
			<description><![CDATA[Additional style information to the hover-color.

Example:
page.hoverStyle = font: bold; text-decoration: none;

Deprecated. Use stylesheet instead.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="includeCSS" type="array">
			<description><![CDATA[Inserts a stylesheet (just like the .stylesheet property) by allows to setting up more than a single stylesheet, because you can enter files in an array.

The file definition must be a valid "resource" datatype, otherwise nothing is inserted.

Each file has optional properties:

.media - setting the media attribute of the <style> tag.

.title - setting the title of the <style> tag.

.alternate - If set (boolean) then the rel-attribute will be "alternate stylesheet"

.import - If set (boolean) then the @import way of including a stylesheet is used instead of <link>

.allWrap - wraps the complete tag, useful for conditional comments.

.external - If set, there is no file existence check. Useful for inclusion of external files.

.disableCompression - If config.minifyCSS is enabled, this disables the compression of this file.

.excludeFromConcatenation - If config.concatenateCss is enabled, this prevents the file from being concatenated.

Example:

includeCSS {
  file1 = fileadmin/mystylesheet1.css

  file2 = stylesheet_uploaded_to_template*.css
  file2.title = High contrast
  file2.media = print

  ie6Style = fileadmin/css/style3.css
  ie6Style.allWrap = <!--[if lte IE 7]>|<![endif]-->

  cooliris = http://www.cooliris.com/shared/resources/css/global.css
  cooliris.external = 1
}
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="includeJS" type="array">
			<description><![CDATA[Inserts one or more (Java)Scripts in <script> tags.

The file definition must be a valid "resource" datatype, otherwise nothing is inserted. This means that remote files cannot be referenced (i.e. using "http://..."), except by using the ".external" property.

Each file has optional properties:

.type - setting the MIME type of the script (default: text/javascript)

.forceOnTop - boolean flag. If set, this file will be added on top of all other files.

.allWrap - wraps the complete tag, useful for conditional comments.

.external - If set, there is no file existence check. Useful for inclusion of external files.

.disableCompression - If config.minifyJS is enabled, this disables the compression of this file.

.excludeFromConcatenation - If config.concatenateJs is enabled, this prevents the file from being concatenated.

Example:

includeJS {
  file1 = fileadmin/helloworld.js
  file1.type = application/x-javascript
  file2 = javascript_uploaded_to_template*.js
}]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="includeJSlibs" type="array">
			<description><![CDATA[Adds JS library files to head of page.

The file definition must be a valid "resource" datatype, otherwise nothing is inserted. This means that remote files cannot be referenced (i.e. using "http://..."), except by using the ".external" property.

Each file has optional properties:

.allWrap - wraps the complete tag, useful for conditional comments.

.external - If set, there is no file existence check. Useful for inclusion of external files.

Example:

includeJSlibs.twitter = http://twitter.com/javascripts/blogger.js

includeJSlibs.twitter.external = 1
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="includeJSFooter" type="array">
			<description><![CDATA[resource
			Same as includeJS above, except that this block gets included at the bottom of the page (just before the closing body tag).
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="includeJSFooterlibs" type="array">
			<description><![CDATA[	Same as includeJSlibs above, except that this block gets included at the bottom of the page (just before the closing body tag).
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="includeLibs" type="array">
			<description><![CDATA[With this you may include php-files. This does the same as "includeLibrary" in ->CONFIG but this can include more than one file. These files are included after the file of includeLibrary.

NOTE:
The toplevel object "includeLibs" and the scripts defined with this property is added to each other. Script-keys (that is the "array of strings"-value, like below "ts_address") from this property of the page overrides any scripts-keys from the toplevel "includeLibs" property!
The script-filenames are of the datatype "resource".

Example:
includeLibs.ts_address = lib_filename.php
includeLibs.ts_shop = lib_filename.php

Please do not use the prefix shown above ("ts_") as this will probably be used by the standard TYPO3 libraries that will appear in the future. ]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="inlineLanguageLabel" type="array">
			<description><![CDATA[array of strings
			ExtJS specific, adds language labels to the page.

Example:

inlineLanguageLabel {
   label1 = 123
   label2 = 456
}

will produce following source:

TYPO3.lang = {"label1":"123","label2":"456"};
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="inlineSettings" type="array">
			<description><![CDATA[array of strings
ExtJS specific, adds settings to the page.

Example:

page.inlineSettings {
   setting1 = Hello
   setting2 = GoOnTop
}

will produce following source:

TYPO3.settings = {"TS":{"setting1":"Hello","setting2":"GoOnTop"}};
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="insertClassesFromRTE" type="boolean">
			<description><![CDATA[If set, the classes for the Rich Text Editor configured in Page TSconfig is inserted in as the first thing in the Style-section right after the setting of the stylesheet.

.add_mainStyleOverrideDefs = [* / list of tags ] - will add all the "RTE.default. mainStyleOverride_add" - tags configured as well.

Might be deprecated soon. Most likely the RTE should be configured by the stylesheet instead. Stay tuned...]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="javascriptLibs" type="array">
			<description><![CDATA[array of Strings
	This allows to include the JavaScript libraries that are shipped with the TYPO3 Core.

javascriptLibs {

     # include prototype
   Prototype = 1

     # include Scriptaculous
   Scriptaculous = 1

     # adds modules dragdrop and controls to Scriptaculous
   Scriptaculous.modules = dragdrop,controls

     # include ExtCore
   ExtCore = 1

     # include ExtCore debug file (uncompressed)
   ExtCore.debug = 1

     # includes ExtJS
   ExtJs = 1

     # include ext-all.css
   ExtJs.css = 1

     # include default theme
   ExtJs.theme = 1

    # load specific adapter (jquery|prototype|yui)
   ExtJs.adapter = ...

     # initialize QuickTips
   ExtJs.quickTips = 1

     # includes ExtJS debug file (uncompressed)
   ExtJs.debug = 1

		#load SVG library
		SVG = 1

		#add SVG debug
		SVG.debug = 1

		#force render with flash
		SVG.forceFlash = 1
}
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="jsInline" type="CARRAY">
			<description><![CDATA[Use cObjects for creating inline JavaScript

Example:

page.jsInline {
10 = TEXT
10.dataWrap = var pageId = {TSFE:id};
}

Note:

with config.removeDefaultJS = external, the inlineJS is moved to external file.
with config.compressJs = 1, the jsInline will be minified as well.
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="jsFooterInline" type="CARRAY">
			<description><![CDATA[Same jsInline above, except that the JavaScript gets inserted at the bottom of the page (just before the closing body tag).
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="meta" type="META">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="noLinkUnderline" type="boolean">
			<description><![CDATA[Disables link-underlining. Uses in-document stylesheet.

Deprecated. Use stylesheet instead.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="shortcutIcon" type="string">
			<description><![CDATA[Favicon of the page. Create a reference to an icon here!
Browsers that support favicons display them in the browser's address bar, next to the site's name in lists of bookmarks, and next to the page's title in a Tabbed Document Interface.

Note:
This must be a valid ".ico"-file (iconfile)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="smallFormFields" type="boolean">
			<description><![CDATA[Renders formfields like textarea, input and select-boxes small with "verdana size 1" font.
Uses in-document stylesheet.

Tip:
Use this together with the config-option "compensateFieldWidth" set to "0.6" for netscape-browsers in order to render the small form fields in the same width!

Deprecated. Use stylesheet instead.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="stdWrap" type="stdWrap">
			<description><![CDATA[Wraps the content of the the cObject array with stdWrap options]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="stylesheet" type="string">
			<description><![CDATA[Inserts a stylesheet in the <HEAD>-section of the page;
page.stylesheet = myStyleSheet.css
leads to
<link rel="stylesheet" href="myStyleSheet.css">]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="typeNum" type="int">
			<description><![CDATA[This decides the the typeId of the page. The value defaults to 0 for the first
found PAGE object, but it MUST be set and be unique as soon you use more than one such object (watch this if you use frames on your page)!]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="wrap" type="wrap">
			<description><![CDATA[Wraps the content of the the cObject array]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="TLO_GIFBUILDER" extends="array">
		<property name="charRangeMap" type="charRangeMap">
			<description><![CDATA[You can configure some global settings for GIFBUILDER by a top level object named "_GIFBUILDER". One of the available properties of the global GIFBUILDER configuration is "charRangeMap".

.charRangeMap

By this property you can globally configure mapping of font files for certain character ranges. For instance you might need GIFBUILDER to produce gif files with a certain font for latin characters while you need to use another true type font for Japanese glyphs. So what you need is to specify the usage of another font file when characters fall into another range of Unicode values.

In the GIFBUILDER object this is possible with the "splitRendering" option but if you have hundreds of GIFBUILDER objects around your site it is not very efficient to add 5-10 lines of configuration for each time you render text. Therefore this global setting allows you to match the basename of the main font face with an alternative font.]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="addParams" extends="array">
		<property name="[myTagProperty]" type="stdWrap">
			<description><![CDATA[This defines the content of each added property to the tag.
If there is a tag-property with this name already (case-sensitive!) that property will be overridden!
If the returned value is a blank string (but not zero!) then the existing (if any) property will not be overridden.
Example:
img.addParams.border = 0]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="_offset" type="int">
			<description><![CDATA[Use this to define which tag you want to manipulate.
1 is the first tag in the input, 2 is the second, -1 is the last, -2 is the second last]]></description>
			<default><![CDATA[1]]></default>
		</property>
	</type>
	<type id="CONSTANTS">
		<property name="[myConstant]" type="string">
			<description><![CDATA[Constants.

Examples:
.EMAIL =  email@email.com
Now if parseFunc anywhere is configured with constants=1 then all cases of the string ###EMAIL### will be substituted in the text.
see ->parseFunc]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="encapsLines">
		<property name="addAttributes" type="array">
			<description><![CDATA[Attributes to set in the encapsulation tag.

Example:
addAttributes.P {
  style=padding-bottom:0px; margin-top:1px; margin-bottom:1px;
  align=center
}

([tagname] is in uppercase.)

.setOnly =
exists : This will set the value ONLY if the property does not already exist
blank : This will set the value ONLY if the property does not already exist OR is blank ("")

Default is to always override/set the attributes value.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="defaultAlign" type="stdWrap">
			<description><![CDATA[If set, this value is set as the default "align" value of the wrapping tags, both from .encapsTagList, .bypassEncapsTagList and .nonWrappedTag]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="encapsLinesStdWrap.[tagname]" type="stdWrap">
			<description><![CDATA[Wraps the content inside all encapsulated lines.
([tagname] is in uppercase.)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="encapsTagList" type="stringList">
			<description><![CDATA[List of tags which qualify as encapsulating tags. Must be lowercase.

Example:
encapsTagList = div, p

This setting will recognize the red line below as encapsulated lines:

First line of text
Some <div>text</div>
<p>Some text</p>
<div>Some text</div>
<B>Some text</B>]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="innerStdWrap_all" type="stdWrap">
			<description><![CDATA[Wraps the content inside all lines, whether they are encapsulated or not.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="nonWrappedTag" type="string">
			<description><![CDATA[For all non-wrapped lines, you can set here which tag it should be wrapped in. Example would be "P". This is an alternative to .wrapNonWrappedLines and has the advantage that it's attributes are set by .addAttributes as well as defaultAlign. Thus you can easier match the wrapping tags used for nonwrapped and wrapped lines.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="remapTag.[tagname]" type="string">
			<description><![CDATA[Enter a new tag name here if you wish the tagname of any encapsulation to be unified to a single tag name.

For instance, setting this value to "remapTags.P=DIV" would convert:

<p>Some text</p>
<div>Some text</div>

to

<div>Some text</div>
<div>Some text</div>

([tagname] is in uppercase.)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="removeWrapping" type="boolen">
			<description><![CDATA[If set, then all existing wrapping will be removed.

This:

First line of text
Some <div>text</div>
<p>Some text</p>
<div>Some text</div>
<B>Some text</B>

becomes this:

First line of text
Some <div>text</div>
Some text
Some text
<B>Some text</B>]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="wrapNonWrappedLines" type="wrap">
			<description><![CDATA[Wrapping for non-encapsulated lines

Example:
.wrapNonWrappedLines = <P>|</P>

This:

First line of text
<p>Some text</p>

becomes this:

<P>First line of text</P>
<p>Some text</p>]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="filelink">
		<property name="ATagBeforeWrap" type="boolean">
			<description><![CDATA[If set, the link is first wrapped with ".wrap" and then the <A>-tag.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="ATagParams" type="stdWrap">
			<description><![CDATA[Additional parameters

Example:
class="board"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="altText" type="stdWrap">
			<description><![CDATA[For icons (image made with "iconCObject" must have their own properties)

If no alttext is specified, it will use an empty alttext]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="emptyTitleHandling" type="string">
			<description><![CDATA[Value can be "keepEmpty" to preserve an empty title attribute, or "useAlt" to use the alt attribute instead.
]]></description>
			<default><![CDATA[useAlt
]]></default>
		</property>
		<property name="file" type="stdWrap">
			<description><![CDATA[stdWrap of the label (by default the label is the filename) after having been wrapped with A-tag!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="icon" type="stdWrap">
			<description><![CDATA[Set if icon should be shown]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="iconCObject" type="cObj">
			<description><![CDATA[Enter a cObject to use alternatively for the icons, eg. IMAGE type.
If this is set, it'll substitute the use of the thumbs-script for display of thumbnails.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="icon_image_ext_list" type="stringList">
			<description><![CDATA[This is the extensions that should render as thumbsnails instead of icons.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="icon_link" type="boolean">
			<description><![CDATA[If the icon should be linked also]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="jumpurl" type="filelink.jumpurl">
			<description><![CDATA[boolean
			Decides if the link should call the script with the jumpurl paramter in order to register any clicks in the stat.
This has the advantage that any clicks on the file will register in the stat.
The disadvantage is, that users cant right-click and select "Save Target As" in the browser.

Extra properties:
.secure (boolean)If set, then the file pointed to by jumpurl is NOT redirected to, but rather it's read from the file and returned with a correct header. This option adds a hash and locationData to the url and there MUST be access to the record in order to download the file. If the fileposition on the server is furthermore secured by a .htaccess file preventing ANY access, you've got secure download here!

.secure.mimeTypes (list of mimetypes, syntax [ext] = [mimetype]

Example:
.secure = 1
.secure.mimeTypes = pdf=application/pdf, doc=application/msword

.parameter = [string/stdWrap]; By default the jumpurl link will use the current pid and typeNum.
If you need alternative values (e.g. for logging) you can specify them here.
For options see typolink.parameter]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="labelStdWrap" type="stdWrap">
			<description><![CDATA[stdWrap options for the label (by default the label is the filename) before being wrapped with the A-tags.
Use this to eg. import another label from a database field or such.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="longdescURL" type="stdWrap">
			<description><![CDATA[For icons (image made with "iconCObject" must have their own properties)

"longdesc" attribute (URL pointing to document with extensive details about image).]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="path" type="stdWrap">
			<description><![CDATA[Example:
"uploads/media/"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="removePrependedNumbers" type="boolean">
			<description><![CDATA[if set, any 2-digit prepended numbers ("eg _23") in the filename is removed.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="size" type="stdWrap">
			<description><![CDATA[Set if size should be shown]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="stdWrap" type="stdWrap">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="target" type="string">
			<description><![CDATA[_self / _top / _blank / ...
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="wrap" type="wrap">
			<description><![CDATA[Wraps the links.]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="filelink.jumpurl">
		<property name="secure" type="boolean">
			<description><![CDATA[If set, then the file pointed to by jumpurl is NOT redirected to, but rather it's read from the file and returned with a correct header. This option adds a hash and locationData to the url and there MUST be access to the record in order to download the file. If the fileposition on the server is furthermore secured by a .htaccess file preventing ANY access, you've got secure download here!

  .secure.mimeTypes = list of mimetypes, syntax [ext] = [mimetype]

Example:

jumpurl.secure = 1

jumpurl.secure.mimeTypes = pdf=application/pdf, doc=application/msword]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="secure.mimetypes" type="string">
			<description><![CDATA[.secure.mimeTypes = list of mimetypes, syntax [ext] = [mimetype]

Example:

jumpurl.secure = 1

jumpurl.secure.mimeTypes = pdf=application/pdf, doc=application/msword]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="parameter" type="stdWrap">
			<description><![CDATA[string/stdWrap
			By default the jumpurl link will use the current pid and typeNum.
If you need alternative values (e.g. for logging) you can specify them here.
For options see typolink.parameter
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="if">
		<property name="directReturn" type="boolean">
			<description><![CDATA[If this property exists the true/false of this value is returned. Could be used to set true/false by TypoScript constant]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="equals" type="stdWrap">
			<description><![CDATA[returns false if content does not equal ".value"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="isFalse" type="stdWrap">
			<description><![CDATA[If the content is "false"... (empty or zero)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="isGreaterThan" type="stdWrap">
			<description><![CDATA[returns false if content is not greater than ".value"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="isInList" type="stdWrap">
			<description><![CDATA[returns false if content is not in the comma-separated list ".value".
The list in ".value" may not have spaces between elements!!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="isLessThan" type="stdWrap">
			<description><![CDATA[returns false if content is not less than ".value"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="isPositive" type="stdWrap">
			<description><![CDATA[returns false if content is not positive]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="isTrue" type="stdWrap">
			<description><![CDATA[If the content is "true".... (not empty string and not zero)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="negate" type="boolean">
			<description><![CDATA[This negates the result just before it exits. So if anything above returns true the overall returns ends up returning false!!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="value" type="stdWrap">
			<description><![CDATA["value" (the comparison value mentioned above)]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="imageLinkWrap">
		<property name="JSwindow" type="stdWrap">
			<description><![CDATA[boolean/stdWrap
			The image will be opened in a new window which is fitted to the dimensions of the image!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="JSwindow.altUrl" type="stdWrap">
			<description><![CDATA[If this returns anything, the URL shown in the JS-window is NOT showpic.php but the url given here!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="JSwindow.altUrl_noDefaultParams" type="boolean">
			<description><![CDATA[If this is set, the image parameters are not appended to the altUrl
automatically. This is useful if you want to create them with a userfunction
instead.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="JSwindow.expand" type="intList">
			<description><![CDATA[x and y is added to the window dimensions.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="JSwindow.newWindow" type="boolean">
			<description><![CDATA[Each picture will open in a new window!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="alternativeTempPath" type="string">
			<description><![CDATA[Enter an alternative path to use for temp images. Must be found in the list in TYPO3_CONF_VARS[FE][allowedTempPaths]]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="bodyTag" type="string">
			<description><![CDATA[Body tag of the new window]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="directImageLink" type="boolean">
			<description><![CDATA[If true, a link to the generated image file will be returned directly (showpic.php is not used)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="linkParams" type="typolink">
			<description><![CDATA[Allows the manipulation of the generated typolink if JSwindow is not used.

			Example:
			linkParams.ATagParams.dataWrap =  class="{$styles.content.imgtext.linkWrap.lightboxCssClass}" rel="{$styles.content.imgtext.linkWrap.lightboxRelAttribute}"
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="effects" type="string">
			<description><![CDATA[Example:
gamma=1,3 | sharpen=80 | solarize=70]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="enable" type="stdWrap">
			<description><![CDATA[The image is linked ONLY if this is true!!]]></description>
			<default><![CDATA[0]]></default>
		</property>
		<property name="file" type="stdWrap">
			<description><![CDATA[Override the path of the image which is displayed]]></description>
			<default><![CDATA[
			]]></default>
		</property>
		<property name="height" type="int">
			<description><![CDATA[Range:  1-1000
If you add "m" to either the width or height, the image will be held in proportions and width/height works as max-dimensions]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="sample" type="boolean">
			<description><![CDATA[If set, -sample is used to scale images instead of -geometry. Sample does not use antialiasing and is therefore much faster.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="stdWrap" type="stdWrap">
			<description><![CDATA[->stdWrap
			Enable stdWrap for the image.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="target" type="string">
			<description><![CDATA[NOTE: Only if ".JSwindow" is set]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="title" type="string">
			<description><![CDATA[page title of the new window (HTML)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="typolink" type="typolink">
			<description><![CDATA[NOTE: This overrides the imageLinkWrap if it returns anything!!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="width" type="int">
			<description><![CDATA[Range: 1-1000
If you add "m" to either the width or height, the image will be held in proportions and width/height works as max-dimensions]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="wrap" type="wrap">
			<description><![CDATA[Wrap of the image, which is output between the body-tags]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="imgResource">
		<property name="alternativeTempPath" type="string">
			<description><![CDATA[Enter an alternative path to use for temp images. Must be found in the list in TYPO3_CONF_VARS[FE][allowedTempPaths]]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="ext" type="stdWrap">
			<description><![CDATA[
]]></description>
			<default><![CDATA[web]]></default>
		</property>
		<property name="frame" type="int">
			<description><![CDATA[Chooses which frame in an gif-animation or pdf-file.
"" = first frame (zero)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="height" type="stdWrap">
			<description><![CDATA[see ".width"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="import" type="stdWrap">
			<description><![CDATA[value should be set to the path of the file
with stdWrap you get the filename from the data-array

Example:
This returns the first image in the field "image" from the data-array:
.import = uploads/pics/
.import.field = image
.import.listNum = 0]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="m" type="mask">
			<description><![CDATA[NOTE: Mask for the image.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="maxH" type="stdWrap">
			<description><![CDATA[Max height]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="maxW" type="stdWrap">
			<description><![CDATA[Max width]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="minH" type="int">
			<description><![CDATA[Min height (overrules maxW/maxH)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="minW" type="int">
			<description><![CDATA[Min width (overrules maxW/maxH)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="params" type="string">
			<description><![CDATA[ImageMagick command-line:
fx. "-rotate 90" or "-negate"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="sample" type="boolean">
			<description><![CDATA[If set, -sample is used to scale images instead of -geometry. Sample does not use antialiasing and is therefore much faster.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="stripProfile" type="boolean">
			<description><![CDATA[If set, IM-command will use a stripProfile-command which shrinks the generated thumbnails. See Install Tool for options and details.

If im_useStripProfileByDefault is set in the install tool, you can deactivate it by setting stripProfile=0.

Example:

10 = IMAGE
10.file = fileadmin/images/image1.jpg
10.file.stripProfile = 1
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="width" type="stdWrap">
			<description><![CDATA[If both the width and the heigth are set and one of the numbers is appended by an "m", the proportions will be preserved and thus width/height are treated as maximum dimensions for the image. The image will be scaled to fit into width/height rectangle.

If both the width and the heigth are set and at least one of the numbers is appended by a "c", cropscaling will be enabled. This means that the proportions will be preserved and the image will be scaled to fit around a rectangle with width/height dimensions. Then, a centered portion from inside of the image (size defined by width/height) will be cut out.
The "c" can have a percentage value (-100 ... +100) after it, which defines how much the cropping will be moved off the center to the border.

Notice that you can only use "m" or "c" at the same time!

Examples:
This crops 120x80px from the center of the scaled image:
.width = 120c.height = 80c

This crops 100x100px; from landscape-images at the left and portrait-images centered:
.width = 100c-100.height = 100c

This crops 100x100px; from landscape-images a bit right of the center and portrait-images a bit upper than centered:
.width = 100c+30
.height = 100c-25]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="noScale" type="boolean">
			<description><![CDATA[If set, image will never be scaled. Only width and height are calculated according to the other properties, so that image is _displayed_ resized, but original files is used. Example:

 file = test.jpg // has 1600 x 1200 pixels)
 file.width = 240m
 file.height = 240m
 file.noScale = 1

results in

 <img src="test.jpg" width="240" height="180" />
 // note src="test.jpg" is the _original_ file.

Usage:

 For creating PDFs or printing of pages the original file could provide much better quality as a recaled one
			]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="mask">
		<property name="bgImg" type="imgResource">
			<description><![CDATA[NOTE: Both "m.mask" and "m.bgImg" must be valid images.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="bottomImg" type="imgResource">
			<description><![CDATA[An image masked by "m.bottomImg_mask" onto "m.bgImg" before the imgResources is masked by "m.mask".
Both "m.bottomImg" and "m.bottomImg_mask" is scaled to fit the size of the imgResource image!
This is most often used to create an underlay for the imgResource.
NOTE: Both "m.bottomImg" and "m.bottomImg_mask" must be valid images.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="bottomImg_mask" type="imgResource">
			<description><![CDATA[(optional)
NOTE: Both "m.bottomImg" and "m.bottomImg_mask" must be valid images.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="mask" type="imgResource">
			<description><![CDATA[The mask by which the image is masked onto "m.bgImg". Both "m.mask" and "m.bgImg" is scaled to fit the size of the imgResource image!
NOTE: Both "m.mask" and "m.bgImg" must be valid images.]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="makelinks">
		<property name="http" type="makelinksHttp">
			<description><![CDATA[]]></description>
			<default><![CDATA[]]></default>
		</property>
		<property name="mailto" type="makelinksMailto">
			<description><![CDATA[]]></description>
			<default><![CDATA[]]></default>
		</property>
	</type>
	<type id="makelinksHttp">
		<property name="ATagBeforeWrap" type="boolean">
			<description><![CDATA[If set, the link is first wrapped with http.wrap and then the <A>-tag.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="ATagParams" type="stdWrap">
			<description><![CDATA[Additional parameters

Example:
class="board"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="extTarget" type="string">
			<description><![CDATA[The target of the link]]></description>
			<default><![CDATA[_top]]></default>
		</property>
		<property name="keep" type="stringList">
			<description><![CDATA[list: "scheme","path","query"
As default the link-text will be the full domain-name of the link.

Examples:
http://www.webaddress.rld/test/doc.php?id=3
"": www.webaddress.rld
"scheme": http://www.webaddress.rld
"scheme,path": http://www.webaddress.rld/test/doc.php
"scheme,path,query": http://www.webaddress.rld/test/doc.php?id=3]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="wrap" type="wrap">
			<description><![CDATA[wrap around the link]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="makelinksMailto">
		<property name="ATagBeforeWrap" type="boolean">
			<description><![CDATA[If set, the link is first wrapped with mailto.wrap and then the <A>-tag.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="ATagParams" type="stdWrap">
			<description><![CDATA[Additional parameters

Example:
class="board"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="wrap" type="wrap">
			<description><![CDATA[wrap around the link]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="numRows">
		<property name="select" type="select">
			<description><![CDATA[Select query for the operation.

The property "selectFields" is overridden internally with "count(*)".]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="table" type="string">
			<description><![CDATA[The name of the database table
]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="numberFormat">
		<property name="decimals" type="stdWrap">
			<description><![CDATA[integer / stdWrap
Number of decimals the formated number will have. Defaults to 0, so that your input will be rounded off in that case.
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="dec_point" type="stdWrap">
			<description><![CDATA[string / stdWrap
Character that devides the decimals from the rest. Defaults to "."
]]></description>
			<default><![CDATA[.]]></default>
		</property>
		<property name="thousand_sep" type="stdWrap">
			<description><![CDATA[string / stdWrap
Character that devides the thousands of the number. Defaults to ",", set an empty value to have no thousands separator.
]]></description>
			<default><![CDATA[,]]></default>
		</property>
	</type>
	<type id="parseFunc">
		<property name="allowTags" type="stringList">
			<description><![CDATA[List of tags, which are allowed to exist in code!
Highest priority: If a tag is found in allowTags, denyTags is ignored!!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="constants" type="boolean">
			<description><![CDATA[The toplevel-defined constants will be substituted in the text. The constant-name is wrapped in "###".

Example:
constants.EMAIL =  email@email.com
(NOTE: This is toplevel TypoScript!)
All cases of the string ###EMAIL### will be substituted in the text. The constants are defined as a toplevel object. ]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="denyTags" type="stringList">
			<description><![CDATA[List of tags, which may NOT exist in code! (use "*" for all.)
Lowest priority: If a tag is NOT found in allowTags, denyTags is checked. If denyTags is not "*" and the tag is not found in the list, the tag may exist!

Example:
This allows <B>, <I>, <A> and <IMG> -tags to exist
.allowTags = b,i,a,img
.denyTags = *]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="externalBlocks " type="stringList">
			<description><![CDATA[This allows you to pre-split the content passed to parseFunc so that only content outside the blocks with the given tags is parsed.
Extra properties:
.[tagname] {
  callRecursive = [boolean]; If set, the content of the block is directed into parseFunc again. Otherwise the content is just passed through with no other processing than stdWrap (see below)
  callRecursive.dontWrapSelf = [boolean]; If set, the tags of the block is not wrapped around the content returned from parseFunc.
  callRecursive.alternativeWrap = Alternative wrapping instead of the original tags.
  callRecursive.tagStdWrap = ->stdWrap processing of the block-tags.
  stdWrap = ->stdWrap processing of the whole block (regardless of whether callRecursive was set.)
  stripNLprev = [boolean]; Strips off last linebreak of the previous outside block
  stripNLnext = [boolean]; Strips off first linebreak of the next outside block
  stripNL = [boolean]: Does both of the above.

   HTMLtableCells = [boolean]; If set, then the content is expected to be a table and every table-cell is traversed.
   # Below, default is all cells and 1,2,3... overrides for specific cols.
   HTMLtableCells.[default/1/2/3/...] {
     callRecursive = [boolean]; The content is parsed through current parseFunc
      stdWrap = ->stdWrap processing of the content in the cell
      tagStdWrap = -> The <TD> tag is processed by ->stdWrap
   }
   HTMLtableCells.addChr10BetweenParagraphs = [boolean]; If set, then all </P><P> appearances will have a chr(10) inserted between them
}

Example:
This example is used to split regular bodytext content so that tables and blockquotes in the bodytext are processed correctly. The blockquotes are passed into parseFunc again (recursively) and further their top/bottom margins are set to 0 (so no apparent linebreaks are seen)
The tables are also displayed with a number of properties of the cells overridden.
tt_content.text.20.parseFunc.externalBlocks {
  blockquote.callRecursive=1
  blockquote.callRecursive.tagStdWrap.HTMLparser = 1
  blockquote.callRecursive.tagStdWrap.HTMLparser {
    tags.blockquote.fixAttrib.style.list = margin-bottom:0;margin-top:0;
    tags.blockquote.fixAttrib.style.always=1
  }
  blockquote.stripNLprev=1
  blockquote.stripNLnext=1

  table.stripNL=1
  table.stdWrap.HTMLparser = 1
  table.stdWrap.HTMLparser {
    tags.table.overrideAttribs = border=0 cellpadding=2 cellspacing=1 style="margin-top:10px; margin-bottom:10px;"
    tags.tr.allowedAttribs=0
    tags.td.overrideAttribs = valign=top bgcolor="#eeeeee" style="font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;font-size : 10px;"
  }
}]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="if" type="if">
			<description><![CDATA[if "if" returns false the input value is not parsed, but returned directly.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="makelinks" type="makelinks">
			<description><![CDATA[Set it to 1 for conversion
Convert webadresses prefixed with "http://" and mail-adresses prefixed with "mailto:"
to links.
Example:
makelinks = 1
makelinks.http.keep = path
makelinks.http.extTarget = _blank
makelinks.mailto.keep = path]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="nonTypoTagStdWrap" type="stdWrap">
			<description><![CDATA[Like .plainTextStdWrap. Difference:
.plainTextStdWrap works an ALL non-tag pieces in the text. .nonTypoTagStdWrap is post processing of all text (including tags) between special TypoTags (unless .breakoutTypoTagContent is not set for the TypoTag)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="nonTypoTagUserFunc" type="string">
			<description><![CDATA[Like .userFunc. Differences is (like nonTypoTagStdWrap) that this is post processing of all content pieces around TypoTags while .userFunc processes all non-tag content. (Notice: .breakoutTypoTagContent must be set for the TypoTag if it's excluded from nonTypoTagContent)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="plainTextStdWrap" type="stdWrap">
			<description><![CDATA[This is stdWrap properties for all non-tag content. ]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="short" type="array">
			<description><![CDATA[Like constants above, but local.

Example:
This substitutes all occurencies of "T3" with "TYPO3 CMS" and "T3web" with a link to typo3.org.
short {
  T3 = TYPO3 CMS
  T3web = <a href="http://typo3.org">typo3</a>
}]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="sword" type="wrap">
			<description><![CDATA[Marks up any words from the GET-method send array sword_list[] in the text. The word MUST be at least two characters long!
NOTE: works only with $GLOBALS["TSFE"]->no_cache==1]]></description>
			<default><![CDATA[<font color="red">|</font>]]></default>
		</property>
		<property name="tags" type="tags">
			<description><![CDATA[Here you can define custom tags that will parse the content to something.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="userFunc" type="string">
			<description><![CDATA[This passes the non-tag content to a function of your own choice. Similar to eg. .postUserFunc in stdWrap.
Remember the function name must possibly be prepended "user_"]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="plugin">
		<property name="_CSS_DEFAULT_STYLE" type="string">
			<description><![CDATA[Use this to have some default CSS styles inserted in the header section of the document. Most likely this will provide a default acceptable display from the plugin, but should ideally be cleared and moved to an external stylesheet.
This value is for all plugins read by the pagegen script when making the header of the document.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="_DEFAULT_PI_VARS.[piVar-key]" type="string">
			<description><![CDATA[Allows you to set default values of the piVars array which most plugins are using (and should use) for data exchange with themselves.
This works only if the plugin calls $this->pi_setPiVarDefaults().]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="_LOCAL_LANG.[lang-key].[label-key]" type="string">
			<description><![CDATA[Can be used to override the default locallang labels for the plugin.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="includeLibs" type="stringList">
			<description><![CDATA[Property setting up the USER / USER_INT object of the plugin]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="userFunc" type="string">
			<description><![CDATA[Property setting up the USER / USER_INT object of the plugin]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="select">
		<property name="andWhere" type="stdWrap">
			<description><![CDATA[SQL-where without "AND"!,
Example:
andWhere = doktype = 1]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="begin" type="int ">
			<description><![CDATA[begin with record number value

Special keyword: "total" is substituted with count(*)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="groupBy" type="string">
			<description><![CDATA[SQL-groupBy without "group by"! Eg. "CType"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="join" type="string">
			<description><![CDATA[Enter tablename for JOIN , LEFT OUTER JOIN and RIGHT OUTER JOIN respectively.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="languageField" type="string">
			<description><![CDATA[If set, this points to the field in the record which holds a reference to a record in sys_language table. And if set, the records returned by the select-function will be selected only if the value of this field matches the $GLOBALS["TSFE"]->sys_language_uid (which is set by the config.sys_language_uid option)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="max" type="int ">
			<description><![CDATA[max records

Special keyword: "total" is substituted with count(*)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="markers" type="array">
			<description><![CDATA[array of markers
			The markers defined in this section can be used, wrapped in the usual ###markername### way, in any other property of select.
Each value is properly escaped and quoted to prevent SQL injection problems. This provides a way to safely use external data
(e.g. database fields, GET/POST parameters) in a query.
<markername>.value (value) sets the value directly
<markername>.commaSeparatedList (bool) If set the value is interpreted as a comma separated list of values. Each value in
the list is individually escaped and quoted.
(stdWrap properties ...) All stdWrap properties can be used for each markername

Example:

page.60 = CONTENT
page.60 {
  table = tt_content
  select {
      pidInList = 73
      where = header != ###whatever###
      orderBy = ###sortfield###
      markers {
        whatever.data = GP:first
        sortfield.value = sor
        sortfield.wrap = |ting
      }
  }
}
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="orderBy" type="string">
			<description><![CDATA[without "order by"! Eg. "sorting, title"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="pidInList" type="stdWrap">
			<description><![CDATA[
list of page_id]]></description>
			<default><![CDATA[this]]></default>
		</property>
		<property name="selectFields" type="string">
			<description><![CDATA[List of fields to select, or "count(*)".]]></description>
			<default><![CDATA[*]]></default>
		</property>
		<property name="uidInList" type="intList">
			<description><![CDATA[list of page_id
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="where" type="string">
			<description><![CDATA[SQL-where without "where"!, Eg. " (title LIKE '%SOMETHING%' AND NOT doktype) "]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="split" extends="cObjArray">
		<property name="1" type="stdWrap">
			<description><![CDATA[The object that should treat the value.
NOTE: The "current"-value is set to the value of current item, when the objects are called. See "stdWrap" / current.

Example (stdWrap used):
1.current = 1
1.wrap = <B> | </B>

Example (CARRAY used):
1 {
  10 = TEXT
  10.current = 1
  10.wrap = <B> | </B>
  20 = CLEARGIF
  20.height = 20
}]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="2" type="stdWrap">
			<description/>
			<default><![CDATA[
]]></default>
		</property>
		<property name="3" type="stdWrap">
			<description/>
			<default><![CDATA[
]]></default>
		</property>
		<property name="cObjNum" type="int">
			<description><![CDATA[+optionSplit
This is a pointer the array of this object ("1,2,3,4"), that should treat the items, resulting from the split.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="max" type="stdWrap">
			<description><![CDATA[max number of splits]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="min" type="stdWrap">
			<description><![CDATA[min number of splits.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="returnKey" type="stdWrap">
			<description><![CDATA[Instead of parsing the split result, just return this element of the index immediately.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="token" type="stdWrap">
			<description><![CDATA[string or character (token) used to split the value]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="wrap" type="wrap ">
			<description><![CDATA[Defines a wrap for each item.]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="stdWrap">
		<property name="HTMLparser" type="HTMLparser">
			<description><![CDATA[boolean / HTMLparser
This object allows you to parse the HTML-content and make all kinds of advanced filterings on the content.
Value must be set and properties are those of ->HTMLparser.
(See adminguide for ->HTMLparser options)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="TCAselectItem" type="array">
			<description><![CDATA[Resolves a comma seperated list of values into the TCA item representation.

.table (string): The Table to look up
.field (string): The field to resolve
.delimiter (string): Delimiter for concatenating multiple elements.

Notice: Currently this works only with TCA fields of type "select" which are not database relations.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="addParams" type="addParams">
			<description><![CDATA[Lets you add tag-parameters to the content if the content is a tag!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="age" type="string">
			<description><![CDATA[If enabled with a "1" (number, integer) the content is seen as a date (UNIX-time) and the difference from present time and the content-time is returned as one of these four variations:
"xx min" or "xx hrs" or "xx days" or "xx yrs"
The limits between which layout is used are 60 minutes, 24 hours, 365 days,

NOTE:
If you set this property with a non-integer, it's used to format the four units. Use eight values to format both singular and plural values, where the first four values are the plural values and the last four are singular. This is the default string:

" min| hrs| days| yrs| min| hour| day| year"

Set another string if you want to change the units. You may include the "-signs. They are removed anyway.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="append" type="cObj">
			<description><![CDATA[cObject appended to content (after)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="br" type="boolean">
			<description><![CDATA[PHP function nl2br(); Converts linebreaks to <br />-tags]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="brTag" type="string">
			<description><![CDATA[All ASCII-codes of "10" (CR) is substituted with value]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="bytes" type="boolean">
			<description><![CDATA[Will format the input (an integer) as bytes: bytes, kb, mb

If you add a value for the property "labels" you can alter the default suffixes. Labels for bytes, kilo, mega and giga are separated by vertical bar (|) and possibly encapsulated in "". Eg: " | K| M| G" (which is the default value)
Thus:

bytes.labels = " | K| M| G"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="cObject" type="cObj">
			<description><![CDATA[Loads content from a content-object]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="case" type="case">
			<description><![CDATA[Converts case

- upper: Converts to upper case (default)
- lower: Converts to lower case
- capitalize: Capitalize words

Uses "renderCharset" for the operation.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="char" type="int">
			<description><![CDATA[Content is set to the chr(value).
PHP: $content=chr(intval($conf["char"]);]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="crop" type="string">
			<description><![CDATA[Crops the content to a certain length
Syntax: +/- (chars) = from left / from right | [string] | [boolean: keep whole words]

Examples:
20 | ...    => max 20 characters. If more, the value will be truncated to first 20 chars and prepended with "..."
-20 | ... => max 20 characters. If more, the value will be truncated to last 20 chars and appended with "..."
20 | ... | 1 => max 20 characters. If more, the value will be truncated to last 20 chars and appended with "...". If the division is in the middle of a word, the remains of that word is removed.

Uses "renderCharset" for the operation.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="cropHTML" type="string">
			<description><![CDATA[Crops the content to a certain length. In contrast to stdWrap.crop it respects HTML tags. It does not crop inside tags and closes open tags. Entities (like ">") are counted as one char. See stdWrap.crop below for a syntax description and examples.

Note that stdWrap.crop should not be used if stdWrap.cropHTML is already used.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="csConv" type="string">
			<description><![CDATA[Convert the charset of the string from the charset given as value to the current rendering charset of the frontend (renderCharset).]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="current" type="boolean">
			<description><![CDATA[Sets the content to the "current"-value (see ->split)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="data" type="getText">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="dataWrap" type="string">
			<description><![CDATA[The content is parsed for sections of {...} and the content of {...} is of the type getText and substituted with the result of getText.

Example:
This should result in a font-tag where the fontsize is decided by the global variable "size":
<font size="{global : size}"> | </font>]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="date" type="string">
			<description><![CDATA[The content should be data-type "UNIX-time". Returns the content formatted as a date.
$content=Date($conf["date"], $content);

Example where a timestamp is imported:
.value.field = tstamp
.value.date = ]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="debug" type="boolean">
			<description><![CDATA[Prints content with HTMLSpecialChars() and <PRE></PRE>: Usefull for debugging which value stdWrap actually ends up with, if you're constructing a website with TypoScript.
Should be used under construction only.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="debugData" type="boolean">
			<description><![CDATA[Prints the current data-array, $cObj->data, directly to browser. This is where ".field" gets data from.
Should be used under construction only. ]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="debugFunc" type="boolean">
			<description><![CDATA[Prints the content directly to browser with the debug() function.
Should be used under construction only.
Set to value "2" the content will be printed in a table - looks nicer.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="doubleBrTag" type="string">
			<description><![CDATA[All double-line-breaks are substituted with this value.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="editIcons" type="string">
			<description><![CDATA[If not empty, then insert an icon linking to the typo3/alt_doc.php with some parameters to build and backend user edit form for certain fields.
The value of this property is a list of fields from a table to edit. It's assumed that the current record of the cObj is the record to be edited.
Syntax: optional tablename : comma list of fieldnames[list of pallette-field names separated by | ]

.beforeLastTag (1,0,-1): If set (1), the icon will be inserted before the last HTML tag in the content. If -1 the icon will be prepended to the content. If zero (0) the icon is appended in the end of the content.

.styleAttribute (string): Adds a style-attribute to the icon image with this value. For instance you can set "position:absolute" if you want a non-destructive insertion of the icon. Notice: For general styling all edit icons has the class "frontEndEditIcons" which can be addressed from the stylesheet of the site.

.iconTitle (string): The title attribute of the image tag.

.iconImg (HTML): Alternative HTML code instead of the default icon shown. Can be used to set another icon for editing (for instance a red dot or otherwise... :-)

Example:
This will insert an edit icon which links to a form where the header and bodytext fields are displayed and made available for editing (provided the user has access!).
editIcons = tt_content : header, bodytext

Or this line that puts the header_align and date field into a "palette" which means they are displayed on a single line below the header field. This saves some space.
editIcons = header[header_align|date], bodytext
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="editPanel" type="EDITPANEL">
			<description><![CDATA[boolean / editPanel]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="encapsLines" type="encapsLines">
			<description><![CDATA[Lets you split the content by chr(10) and proces each line independently. Used to format content made with the RTE.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="field" type="string">
			<description><![CDATA[Sets the content to the value $cObj->data[field]

Example: Set content to the value of field "title": ".field = title"
$cObj->data changes. See the description for the data type "getText"/field!

Note: You can also divide fieldnames by "//". Say, you set "nav_title // title" as the value, then the content from the field nav_title will be returned unless it is a blank string, in which case the title-field's value is returned.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="fieldRequired" type="string">
			<description><![CDATA[value in this field MUST be set]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="filelink" type="filelink">
			<description><![CDATA[Used to make lists of links to files.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="filelist" type="stdWrap">
			<description><![CDATA[Reads a directory and returns a list of files.
The value is exploded by "|" into parameters:
1: The path
2: comma-list of allowed extensions (no spaces between); if empty all extensions goes.
3: sorting: name, size, ext, date, mdate (modification date)
4: reverse: Set to "r" if you want a reversed sorting
5: fullpath_flag: If set, the filelist is returned with complete paths, and not just the filename]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="fontTag" type="wrap">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="hash" type="stdWrap">
			<description><![CDATA[Returns a hashed value of the current content. Use one of the alogrithms which are available in PHP. For a list of supported algorithms see http://www.php.net/manual/en/function.hash-algos.php

Example:

page.10 = TEXT
page.10 {
    value = test@example.com
    hash = md5
    wrap = <img src="http://www.gravatar.com/avatar/|" />
}]]></description>
			<default><![CDATA[]]></default>
		</property>
		<property name="htmlSpecialChars" type="boolean">
			<description><![CDATA[Passes the content through htmlspecialchars()-PHP-function
Additional property ".preserveEntities" will preserve entities so only non-entity chars are affected.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="if" type="if">
			<description><![CDATA[If the if-object returns false, stdWrap returns "" immediately]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="ifBlank" type="stdWrap">
			<description><![CDATA[Same as "ifEmpty" but the check is done using strlen().]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="ifEmpty" type="stdWrap">
			<description><![CDATA[if the content is empty (trimmed) at this point, the content is loaded with "ifEmpty". Zeros are treated as empty values!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="innerWrap" type="stdWrap">
			<description><![CDATA[Wraps the content]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="innerWrap2" type="stdWrap">
			<description><![CDATA[same as .innerWrap (but watch the order in which they are executed)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="insertData" type="boolean">
			<description><![CDATA[If set, then the content string is parsed like .dataWrap above.

Example:
Displays the page title:
10 = TEXT
10.value = This is the page title: {page:title}
10.insertData = 1]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="intval" type="boolean">
			<description><![CDATA[PHP function intval(); Returns an integer.
PHP: $content=intval($content);]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="keywords" type="boolean">
			<description><![CDATA[splits the content by characters "," ";" and chr(10) (return), trims each value and returns a comma-separated list of the values.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="lang" type="ARR_languages_strings">
			<description><![CDATA[This is used to define optional language specific values.
If the global language key set by the ->config property .language is found in this array, then this value is used instead of the default input value to stdWrap.

Example:
config.language = de
page.10 = TEXT
page.10.value = I am a Berliner!
page.10.lang.de = Ich bin ein Berliner!

Output will be "Ich bin..." instead of "I am..."]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="listNum" type="string">
			<description><![CDATA[Explodes the content with "," (comma) and the content is set to the item[value].

Special keyword: "last" is set to the last element of the array!

.splitChar (string):
Defines the string used to explode the value. If splitChar is an integer, the character with that number is used (eg. "10" to split lines...).
Default: "," (comma)

.listNum = rand:
Returns a random item out of th elist

.stdWrap (stdWrap properties):
stdWrap properties of the listNum...

Examples:

We have a value of "item 1, item 2, item 3, item 4":
This would return "item 3":
.listNum = last - 1


This way, the subtitle field changes on every reload:
page.5 = COA_INT
page.5 {
  10 = TEXT
  10 {
    field = subtitle
    stdWrap.listNum = rand
  }
}
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="noTrimWrap" type="wrap">
			<description><![CDATA[This wraps the content with the values val1 and val2 in the example below - including surrounding whitespace! - without trimming the values. Note that this kind of wrap requires a "|"  character to begin and end the wrap.

Example:
| val1 | val2 |]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="numRows" type="numRows">
			<description><![CDATA[Returns the number of rows resulting from the select]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="numberFormat" type="numberFormat">
			<description><![CDATA[Formats a float value to any number format you need (e.g. prices)

With this property you can format a float value and display it like you want, for example as a price. It's a wrapper for PHP's number_format() function.
You can define how many decimals you want and which separators you want for decimals and thousands.

Examples:

lib.myPrice = TEXT
lib.myPrice {
  value = 0.8
  numberFormat {
    decimals = 2
    dec_point = ,
  }
  noTrimWrap = || €|
}
# Will result in "0,80 €"


lib.carViews = CONTENT
lib.carViews {
  table = tx_mycarext_car
  select.pidInList = 42
  renderObj = TEXT
  renderObj {
    field = views
    numberFormat.thousands_sep = .
  }
}
# Will result in something like "2.055"
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="offsetWrap" type="intList">
			<description><![CDATA[This wraps the input in a table with columns to the left and top that offsets the content by the values of x,y. Based on the cObject OTABLE.

.tableParams / .tdParams /stdWrap
- used to manipulate tableParams/tdParams (default width=99%)  of the offset. Default: See OTABLE.

.stdWrap
- stdWrap properties wrapping the offsetWrap'ed output]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="outerWrap" type="stdWrap">
			<description><![CDATA[Wraps the complete content]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="override" type="stdWrap">
			<description><![CDATA[if "override" returns something else than "" or zero (trimmed), the content is loaded with this! ]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="parseFunc" type="parseFunc">
			<description><![CDATA[object path reference / parseFunc
Processing instructions for the content.
Notice: If you enter a string as value this will be taken as a reference to an object path globally in the TypoScript object tree. This will be the basis configuration for parseFunc merged with any properties you add here. It works exactly like references does for content elements.

Example:
parseFunc = < lib.parseFunc_RTE
parseFunc.tags.myTag = TEXT
parseFunc.tags.myTag.value = This will be inserted when <myTag> is found!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="postCObject" type="cObj">
			<description><![CDATA[cObject appended the content]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="postUserFunc" type="string">
			<description><![CDATA[Calling a PHP-function or method in a class, passing the current content to the function as first parameter and any properties as second parameter. Please see the description of the cObject USER for in-depth information.

Example:
You can paste this example directly into a new template record.

page = PAGE
page.typeNum=0
includeLibs.something = media/scripts/example_callfunction.php

page.10 = TEXT
page.10 {
  value = Hello World
  postUserFunc = user_reverseString
  postUserFunc.uppercase = 1
}

page.20 = TEXT
page.20 {
  value = Hello World
  postUserFunc = user_various->reverseString
  postUserFunc.uppercase = 1
  postUserFunc.typolink = 11
}]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="postUserFuncInt" type="string">
			<description><![CDATA[Calling a PHP-function or method in a class, passing the current content to the function as first parameter and any properties as second parameter. The result will be rendered non-cached, outside the main page-rendering. Please see the description of the cObject USER_INT and PHP_SCRIPT_INT for in-depth information.
Supplied by Jens Ellerbrock]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="preCObject" type="cObj">
			<description><![CDATA[cObject prepended the content ]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="preIfEmptyListNum" type="string">
			<description><![CDATA[(as "listNum" below)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="preUserFunc" type="string">
			<description><![CDATA[Calling a PHP-function or method in a class, passing the current content to the function as first parameter and any properties as second parameter.
See .postUserFunc]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="prefixComment" type="string">
			<description><![CDATA[Prefixes content with a HTML comment with the second part of input string (divided by "|") where first part is an integer telling how many trailing tabs to put before the comment on a new line.
The content is parsed through insertData.

Example:
prefixComment = 2 | CONTENT ELEMENT, uid:{field:uid}/{field:CType}

Will indent the comment with 1 tab (and the next line with 2+1 tabs)
(Added in TYPO3 >3.6.0RC1)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="prepend" type="cObj">
			<description><![CDATA[cObject prepended to content (before)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="prioriCalc" type="boolean">
			<description><![CDATA[Calculation of the value using operators -+*/%^ plus respects priority to + and - operators and parenthesis levels ().
. (period) is decimal delimiter.
Returns a doublevalue.
If .prioriCalc is set to "intval" an integer is returned.
There is no errorchecking and division by zero or other invalid values may generate strange results. Also you use a proper syntax because future modifications to the function used may allow for more operators and features.

Examples:
100%7 = 2
-5*-4 = 20
+6^2 = 36
6 ^(1+1) = 36
-5*-4+6^2-100%7  = 54
-5 * (-4+6) ^ 2 - 100%7 = 98
-5 * ((-4+6) ^ 2) - 100%7 = -22]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="rawUrlEncode" type="boolean">
			<description><![CDATA[Passes the content through rawurlencode()-PHP-function]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="removeBadHTML" type="boolean">
			<description><![CDATA[Removes "bad" HTML code based on a pattern that filters away HTML that is considered dangerous for XSS bugs.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="replacement" type="boolean">
			<description><![CDATA[Allows to execute search/replace-functionality. Optionally PCRE-regex are supported (see: http://www.php.net/manual/en/function.preg-replace.php) A numeric index allows multiple replacements at once.

Example:

20 = TEXT
20 {
  value = There_is_a_cat,_a_dog_and_a_tiger_in_da_hood!_Yeah!
  stdWrap.replacement {
    10 {
      search = _
      replace.char = 32
    }
    20 {
      search = in da hood
      replace = around the block
    }
    30 {
      search = #a (Cat|Dog|Tiger)#i
      replace = an animal
      useRegExp = 1
    }
  }
}
]]></description>
			<default><![CDATA[]]></default>
		</property>
		<property name="required" type="boolean">
			<description><![CDATA[This flag requires the content to be set to some value after any content-import and treatment that might have happend now (data, field, current, listNum, trim). Zero's is NOT regarded as empty! Use "if" instead!
If the content i empty, "" is returned immediately.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="round" type="array">
			<description><![CDATA[Round a number.

Additional properties:

.roundType = round (default) | ceil | floor
.decimals = 0 (default) or number of digits after decimal separator (only with roundType = round)


Example:
temp.number = TEXT
temp.number {
  value = 3.14159
  round.roundType = round
}

or

temp.number = TEXT
temp.number {
  value = 3.14159
  round.decimals = 2
}]]></description>
			<default><![CDATA[]]></default>
		</property>
		<property name="setContentToCurrent" type="boolean">
			<description><![CDATA[Sets the current value to the incoming content of the function.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="setCurrent" type="stdWrap">
			<description><![CDATA[Sets the "current"-value. This is normally set from some outside routine, so be careful with this. But it might be handy to do this]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="space" type="stdWrap">
			<description><![CDATA[[space /stdWrap
			spaceBefore]   |   [spaceAfter]

Additional property:
.useDiv = 1
If set, a clear gif is not used by rather a <div> tag with a style-attribute setting the height. (Affects spaceBefore and spaceAfter as well).]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="spaceAfter" type="stdWrap">
			<description><![CDATA[Pixels space after. Done with a clear-gif; <img ...><BR>]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="spaceBefore" type="stdWrap">
			<description><![CDATA[Pixels space before. Done with a clear-gif; <img ...><BR>]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="split" type="split">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="stdWrap" type="stdWrap">
			<description><![CDATA[Recursive call to stdWrap function]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="strftime" type="string">
			<description><![CDATA[Exactly like "date" above. See the PHP-manual (strftime) for the codes, or datatype "strftime-conf".
This formatting is useful if the locale is set in advance in the CONFIG-object. See this.

Properties:
.charset  : Can be set to the charset of the output string if you need to convert it to renderCharset. Default is to take the intelligently guessed charset from t3lib_cs.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="stripHtml" type="boolean">
			<description><![CDATA[Strips all html-tags.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="substring" type="stringList">
			<description><![CDATA[Returns the substring with [p1] and [p2] send as the 2nd and 3rd parameter to the PHP substring function.

Uses "renderCharset" for the operation.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="tableStyle" type="tableStyle">
			<description><![CDATA[Wraps content with table-tags]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="textStyle" type="textStyle">
			<description><![CDATA[Wraps content in font-tags]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="trim" type="boolean">
			<description><![CDATA[PHP-function trim(); Removes whitespace around value]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="typolink" type="typolink">
			<description><![CDATA[Wraps the content with a link-tag]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="wrap" type="wrapSplitChar">
			<description><![CDATA[]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="wrap2" type="wrapSplitChar">
			<description><![CDATA[same as .wrap (but watch the order in which they are executed)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="wrap3" type="wrapSplitChar">
			<description><![CDATA[same as .wrap (but watch the order in which they are executed)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="wrapAlign" type="stdWrap">
			<description><![CDATA[Wraps content with <div style=text-align:[value];"> | </div> if align is set]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="SVG">
		<property name="width" type="stdWrap">
			<description><![CDATA[int/stdWrap
			width of SVG
]]></description>
			<default><![CDATA[600]]></default>
		</property>
		<property name="height" type="stdWrap">
			<description><![CDATA[int/stdWrap
			height of SVG
]]></description>
			<default><![CDATA[400]]></default>
		</property>
		<property name="src" type="stdWrap">
			<description><![CDATA[file resource/stdWrap
			SVG file resource
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="value" type="stdWrap">
			<description><![CDATA[XML/stdWrap
			SVG raw XML. When src is defined the file will be loaded and value is ignored.

Example:
10 = SVG
10 {
   width = 600
   height = 600
   value (
	<rect x="100" y="100" width="500" height="200" fill="white" stroke="black" stroke-width="5px"/>
	<line x1="0" y1="200" x2="700" y2="200" stroke="red" stroke-width="20px"/>
        <polygon points="185 0 125 25 185 100" transform="rotate(135 125 25)" />
        <circle cx="190" cy="150" r="40" stroke="black" stroke-width="2" fill="yellow"/>
   )
   noscript.cObject = TEXT
   noscript.cObject.value = no svg rendering possible, use a browser
}
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="noscript" type="stdWrap">
			<description><![CDATA[text/stdWrap
			Output if SVG output is not possible
]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="tableStyle">
		<property name="align" type="stdWrap">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="border" type="stdWrap">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="cellpadding" type="stdWrap">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="cellspacing" type="stdWrap">
			<description><![CDATA[
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="color.default" type="string">
			<description><![CDATA[[default],[1],[2] = User defined
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="color.field" type="string">
			<description><![CDATA[Set to fieldname from the $cObj->data-array]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="params" type="string">
			<description><![CDATA[HTML table parameters
]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="tags" extends="array">
		<property name="[myHtmlTag]" type="cObject">
			<description><![CDATA[Every entry in the Array... corresponds to a tag, that will be parsed. The elements MUST be in lowercase.
Every entry must be set to a content-object.
"current" is set to the content of the tag, eg <TAG>content</TAG>: here "current" is set to "content".
Parameters:
Parameters of the tag is set in $cObj->parameters (key is lowercased):
<TAG COLOR="red">content</TAG>
=> $cObj->parameters[color] = red
Special added properties to the content-object:
$cObj->parameters[allParams]:  this is automatically set to the whole parameter-string of the tag, eg ' color="red"'
[cObject].stripNL: is a boolean option, which tells parseFunc that NewLines before and after content of the tag should be stripped.
[cObject].breakoutTypoTagContent: is a boolean option, which tells parseFunc that this block of content is breaking up the nonTypoTag content and that the content after this must be re-wrapped.

Examples:
tags.bold = TEXT
tags.bold {
  current = 1
  wrap = <B> | </B>
}
tags.bold.stripNL = 1]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="textStyle">
		<property name="align.field" type="align">
			<description><![CDATA[Set to fieldname from the $cObj->data-array]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="altWrap" type="wrap">
			<description><![CDATA[If this value is set, the wrapping with a font-tag based on font,size and color is NOT done. Rather the element is wrapped with this value.
Use it to assign a stylesheet by setting this value to eg.

<div class="text"> | </div>]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="color.1" type="string">
			<description><![CDATA[[1],[2] = User defined]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="color.default" type="stdWrap">
			<description><![CDATA[[default] = User defined]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="color.field" type="string">
			<description><![CDATA[Set to fieldname from the $cObj->data-array

See "content.php" for the colors available]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="face.default" type="stdWrap">
			<description><![CDATA[[default] = User defined]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="face.field" type="string">
			<description><![CDATA[Set to fieldname from the $cObj->data-array

[1] = "Times New Roman";
[2] = "Verdana,Arial,Helvetica,Sans serif";
[3] = "Arial,Helvetica,Sans serif";]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="properties.default" type="stdWrap">
			<description><![CDATA[[default] = User defined (This value will be used whenever ".field" is false!)]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="properties.field" type="int">
			<description><![CDATA[Set to fieldname from the $cObj->data-array

The property values goes like this:
bit 0: <B>
bit 1: <I>
bit 2: <U>
bit 3: (uppercase)

Thus a value of 5 would result in bold and underlined text]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="size.default" type="stdWrap">
			<description><![CDATA[[default] = User defined]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="size.field" type="string">
			<description><![CDATA[Set to fieldname from the $cObj->data-array

[1] = 1;
[2] = 2;
[3] = 3;
[10] = "+1";
[11] = "-1";]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
	<type id="typolink">
		<property name="ATagBeforeWrap" type="boolean">
			<description><![CDATA[If set, the link is first wrapped with ".wrap" and then the <A>-tag.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="ATagParams" type="stdWrap">
			<description><![CDATA[Additional parameters

Example:
class="board"]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="JSwindow_params" type="string">
			<description><![CDATA[Preset values for opening the window. This example lists almost all possible attributes:
status=1,menubar=1,scrollbars=1,resizable=1,location=1,directories=1,toolbar=1]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="jumpurl" type="filelink.jumpurl">
			<description><![CDATA[boolean
			Decides if the link should call the script with the jumpurl parameter in order to register any clicks in the stat. This works the same as "filelink.jumpurl", see more details there.
Example:
typolink.jumpurl =1
typolink.jumpurl.secure =1
typolink.jumpurl.secure.mimeTypes = list of mimetypes, syntax [ext] = [mimetype]
]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="addQueryString" type="boolean">
			<description><![CDATA[Add the QUERY_STRING to the start of the link. Notice that this does not check for any duplicate parameters! This is not a problem (only the last parameter of the same name will be applied), but enable "config.uniqueLinkVars" if you still don't like it.

.method: If set to to GET or POST then then the parsed query arguments (GET or POST data) will be used. This settings are useful if you use URL processing extensions like Real URL, which translate part of the path into query arguments.
It's also possible to get both, POST and GET data, on setting this to
"POST,GET" or "GET,POST". The last method in this sequence takes
precedence and overwrites the parts that are also present for the first
method.

.exclude: List of query arguments to exclude from the link (eg L or cHash).]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="additionalParams" type="stdWrap">
			<description><![CDATA[This is parameters that are added to the end of the url. This must be code ready to insert after the last parameter.

Example:
'&print=1'
'&sword_list[]=word1&sword_list[]=word2'

Applications:
This is very useful when linking to pages from a searchresult. The searchwords are stored in the register-key SWORD_PARAMS and can be insert directly like this:
.additionalParams.data = register:SWORD_PARAMS

NOTE: This is only active for internal links!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="extTarget" type="stdWrap">
			<description><![CDATA[target used for external links]]></description>
			<default><![CDATA[_top]]></default>
		</property>
		<property name="fileTarget" type="string">
			<description><![CDATA[Default file link target. Used by typolink if no fileTarget is set. ]]></description>
			<default><![CDATA[
			]]></default>
		</property>
		<property name="no_cache" type="stdWrap">
			<description><![CDATA[Adds a "&no_cache=1"-parameter to the link]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="parameter" type="stdWrap">
			<description><![CDATA[This is the data, that ->typolink uses to create the link. The value is trimmed and if it's empty, ->typolink returns the input value untouched.

NOTE: If used from parseFunc, this value should be imported by:
typolink.parameter.data = parameters : allParams

Examples:
Internal links:
integers (51): creates a link to page with uid = 51
filerefs (fileadmin/somedir/thedoc.html): creates a link to the file on the local server.
strings (some_alias):  creates a link to the page with alias = "some_alias"

External links:
email-adresses (name@email.com): creates a link to the email-addr.
domains (www.domain.com): creates link to http://-page

The input is parsed like this:
First the parameter is splitted by character-space. This provides a way to pass more parameters. See "target" below here.
If a "@" is in the string, it's an email
If a period (.) is in the string AND if the period (.) is found before a slash (/) is found OR if a doubleslash is found, then it's a URL
If a slash (/) is found, it's a filereference. If the file/directory does not exist on the server, the link is NOT made!

Now the input can be an alias or page-id. If the input is an integer it's a page-id, if it's two comma separated integers, it's a id/type pair, else it's an alias. For page-id's or aliases you can prepend a "#" mark with a number indication tt_content record number on the page to jump to! (if .section-property is present, it overrides this).
If you insert only "#234" where "234" is the tt_content record number, it links to the current page-id
Notice: The parameter can contain a keyword that hands over link generation to an external function. See example below this table!

Target
Target is normally defined by the "extTarget" and "target" properties of typolink. But you may override this target by adding the new target after the parameter separated by a whitespace. Thus the target becomes the second parameter.
If the "Target" parameter is set to the "-" character, then it's the same as no target passed to the function. This feature enables you to still pass a class as third parameter and title as fourth parameter without setting the target also.

Open in windows with fixed dimensions (JavaScript)
It is possible to open the link in a window opened by JavaScript (with "window.open"). For this, just set the target value to "123x456" where 123 is the window width and 456 is the window height. You can also specify additional parameters to the function by entering them separated from the width and height with a colon ":". For instance "230x450:resizable=0,location=1" will disable resizing of the window and enable the location bar.
Also see property "JSwindow".

Class
If you specify a third parameter separated by whitespace in the parameter value this becomes the class-parameter of the link. This class parameter is inserted in the link-tag before any values from .ATagParams which means this class value will override any class value set in ATagParams (at least for MSIE). If set to "-", then it's the same as no class passed to the function. This feature enables you to still pass a title as fourth parameter without setting the class also.

Title
The title attribute is normally specified via .ATagParams or directly via the .title property. But you may override this value by adding the desired title as the fourth parameter (parameters separated by whitespace) to typolink.

Examples of multiparameters:
Consider this .parameter value passed to this function:

51  _blank  blueLink

This would result in a link approx like this:

<A href="?id=51" target="_blank" class="blueLink">]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="returnLast" type="string">
			<description><![CDATA[If set to "url" then it will return the URL of the link ($this->lastTypoLinkUrl)
If set to "target" it will return the target of the link.
So, in these two cases you will not get the value wrapped but the url or target value returned!]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="section" type="stdWrap">
			<description><![CDATA[If this value is present, it's prepended with a "#" and placed after any internal url to another page in TYPO3.
This is used create a link, which jumps from one page directly the section on another page.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="target" type="stdWrap">
			<description><![CDATA[target used for internal links]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="title" type="stdWrap">
			<description><![CDATA[Sets the title parameter of the A-tag.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="useCacheHash" type="boolean">
			<description><![CDATA[If set, the additionalParams list is exploded and calculated into a hashstring appended to the url, like "&cHash=ae83fd7s87". When the caching mechanism sees this value, it calculates the same value on the server based on incoming values in HTTP_GET_VARS, excluding id,type,no_cache,ftu,cHash,MP values. If the incoming cHash value matches the calculated value, the page may be cached based on this.
The [SYS][encryptionKey] is included in the hash in order to make it unique for the server and non-predictable.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="userFunc" type="string">
			<description><![CDATA[This passes the link-data compiled by the typolink function to a user-defined function for final manipulation.
The $content variable passed to the user-function (first parameter) is an array with the keys "TYPE",  "TAG", "url", "targetParams" and "aTagParams".
TYPE is an indication of link-kind: mailto, url, file, page
TAG is the full <A>-tag as generated and ready from the typolink function.
The latter three is combined into the 'TAG' value after this formula:

<a href="'.$finalTagParts['url'].'"'.
           $finalTagParts['targetParams'].
           $finalTagParts['aTagParams'].'>

The userfunction must return an <A>-tag.]]></description>
			<default><![CDATA[
]]></default>
		</property>
		<property name="wrap" type="wrap">
			<description><![CDATA[Wraps the links.]]></description>
			<default><![CDATA[
]]></default>
		</property>
	</type>
</tsRef>
