# ***************************************************************************
# Notice: "styles." (and "temp.") objects are UNSET after template parsing!
# Use "lib." for persisting storage of objects.
# ***************************************************************************

# Clear out any constants in this reserved room!
styles.content >

# get content
styles.content.get = CONTENT
styles.content.get {
	table = tt_content
	select.orderBy = sorting
	select.where = colPos=0
	select.languageField = sys_language_uid
}

# get content, left
styles.content.getLeft < styles.content.get
styles.content.getLeft.select.where = colPos=1

# get content, right
styles.content.getRight < styles.content.get
styles.content.getRight.select.where = colPos=2

# get content, margin
styles.content.getBorder < styles.content.get
styles.content.getBorder.select.where = colPos=3

# get news
styles.content.getNews < styles.content.get
styles.content.getNews.select.pidInList = {$styles.content.getNews.newsPid}

# Edit page object:
styles.content.editPanelPage = COA
styles.content.editPanelPage {
	10 = EDITPANEL
	10 {
		allow = toolbar,move,hide
		label.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.page
		label.wrap = |&nbsp;<b>%s</b>
	}
}











# *********************************************************************
# "lib." objects are preserved from unsetting after template parsing
# *********************************************************************

# Creates persistent ParseFunc setup for non-HTML content. This is recommended to use (as a reference!)
lib.parseFunc {
	makelinks = 1
	makelinks.http.keep = {$styles.content.links.keep}
	makelinks.http.extTarget = {$styles.content.links.extTarget}
	makelinks.mailto.keep = path
	tags {
		link = TEXT
		link {
			current = 1
			typolink.parameter.data = parameters : allParams
			typolink.extTarget = {$styles.content.links.extTarget}
			typolink.target = {$styles.content.links.target}
			parseFunc.constants =1
		}
	}
	allowTags = {$styles.content.links.allowTags}
	denyTags = *
	sword = <span class="csc-sword">|</span>
	constants = 1

	nonTypoTagStdWrap.HTMLparser = 1
	nonTypoTagStdWrap.HTMLparser {
		keepNonMatchedTags = 1
		htmlSpecialChars = 2
	}
}

# good old parsefunc in "styles.content.parseFunc" is created for backwards compatibility. Don't use it, just ignore.
styles.content.parseFunc < lib.parseFunc

# Creates persistent ParseFunc setup for RTE content (which is mainly HTML) based on the "ts_css" transformation.
lib.parseFunc_RTE < lib.parseFunc
lib.parseFunc_RTE {
	//  makelinks >
	# Processing <table> and <blockquote> blocks separately
	externalBlocks = table, blockquote, ol,ul
	externalBlocks {
		# The blockquote content is passed into parseFunc again...
		blockquote.stripNL=1
		blockquote.callRecursive=1
		blockquote.callRecursive.tagStdWrap.HTMLparser = 1
		blockquote.callRecursive.tagStdWrap.HTMLparser.tags.blockquote.overrideAttribs = style="margin-bottom:0;margin-top:0;"

		ol.stripNL=1
		ol.stdWrap.parseFunc = < lib.parseFunc

		ul.stripNL=1
		ul.stdWrap.parseFunc = < lib.parseFunc

		table.stripNL=1
		table.stdWrap.HTMLparser = 1
		table.stdWrap.HTMLparser.tags.table.fixAttrib.class {
			default = contenttable
			always = 1
			list = contenttable
		}
		table.stdWrap.HTMLparser.keepNonMatchedTags = 1
		table.HTMLtableCells=1
		table.HTMLtableCells {
			default.callRecursive=1
			addChr10BetweenParagraphs=1
		}
	}
	nonTypoTagStdWrap.encapsLines {
		encapsTagList = div,p,pre,h1,h2,h3,h4,h5,h6
		remapTag.DIV = P
		nonWrappedTag = P
		innerStdWrap_all.ifBlank = &nbsp;
		addAttributes.P.class = bodytext
		addAttributes.P.class.setOnly=blank
	}
	nonTypoTagStdWrap.HTMLparser = 1
	nonTypoTagStdWrap.HTMLparser {
		keepNonMatchedTags = 1
		htmlSpecialChars = 2
	}
}


# Content header:
lib.stdheader = COA
lib.stdheader {

	# Create align style-attribute for <Hx> tags
	2 = LOAD_REGISTER
	2.headerStyle.field = header_position
	2.headerStyle.required = 1
	2.headerStyle.noTrimWrap = | style="text-align:|;"|

	# Create class="csc-firstHeader" attribute for <Hx> tags
	3 = LOAD_REGISTER
	3.headerClass = csc-firstHeader
	3.headerClass.if.value=1
	3.headerClass.if.equals.data = cObj:parentRecordNumber
	3.headerClass.noTrimWrap = | class="|"|

	# Date format:
	5 = TEXT
	5.field = date
	5.if.isTrue.field = date
	5.date = d/m Y
	5.wrap = <p class="csc-header-date">|</p>
	5.prefixComment = 2 | Header date:

	# This CASE cObject renders the header content:
	# currentValue is set to the header data, possibly wrapped in link-tags.
	10 = CASE
	10.setCurrent {
		field = header
		htmlSpecialChars = 1
		typolink.parameter.field = header_link
	}
	10.key.field = header_layout
	10.key.ifEmpty = {$content.defaultHeaderType}
	10.key.ifEmpty.override.data = register: defaultHeaderType

	10.1 = TEXT
	10.1.current = 1
	10.1.dataWrap = <h1{register:headerStyle}{register:headerClass}>|</h1>

	10.2 < .10.1
	10.2.dataWrap = <h2{register:headerStyle}{register:headerClass}>|</h2>

	10.3 < .10.1
	10.3.dataWrap = <h3{register:headerStyle}{register:headerClass}>|</h3>

	10.4 < .10.1
	10.4.dataWrap = <h4{register:headerStyle}{register:headerClass}>|</h4>

	10.5 < .10.1
	10.5.dataWrap = <h5{register:headerStyle}{register:headerClass}>|</h5>

	# Pops the used registers off the stack:
	98 = RESTORE_REGISTER
	99 = RESTORE_REGISTER

	# Post-processing:
	stdWrap.fieldRequired = header
	stdWrap.if {
		equals.field = header_layout
		value = 100
		negate = 1
	}

	stdWrap.editIcons = tt_content : header, [header_layout | header_position], [header_link|date]
	stdWrap.editIcons.beforeLastTag = 1
	stdWrap.editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.header

	stdWrap.dataWrap = <div class="csc-header csc-header-n{cObj:parentRecordNumber}">|</div>
	stdWrap.prefixComment = 2 | Header:
}















#******************************************************
# Including library for processing of some elements:
#******************************************************
includeLibs.tx_cssstyledcontent_pi1 = EXT:css_styled_content/pi1/class.tx_cssstyledcontent_pi1.php


#**********************************
# tt_content is started
#**********************************
tt_content >
tt_content = CASE
tt_content.key.field = CType
tt_content.stdWrap {

	spaceBefore.field = spaceBefore
	spaceAfter.field = spaceAfter
	space = {$content.space}

	innerWrap.cObject = CASE
	innerWrap.cObject {
		key.field = section_frame

		1 = TEXT
		1.value = <div class="csc-frame csc-frame-invisible">|</div>

		5 = TEXT
		5.value = <div class="csc-frame csc-frame-rulerBefore"></div>|

		6 = TEXT
		6.value = |<div class="csc-frame csc-frame-rulerAfter"></div>

		10 = TEXT
		10.value = <div class="csc-frame csc-frame-indent">|</div>

		11 = TEXT
		11.value = <div class="csc-frame csc-frame-indent3366">|</div>

		12 = TEXT
		12.value = <div class="csc-frame csc-frame-indent6633">|</div>

		20 = TEXT
		20.value = <div class="csc-frame csc-frame-frame1">|</div>

		21 = TEXT
		21.value = <div class="csc-frame csc-frame-frame2">|</div>
	}

	innerWrap2 = | <p class="csc-linkToTop"><a href="#">{LLL:EXT:css_styled_content/pi1/locallang.xml:label.toTop}</a></p>
	innerWrap2.insertData = 1
	innerWrap2.fieldRequired = linkToTop

	dataWrap = <a id="c{field:uid}"></a> |

	prepend = TEXT
	prepend.dataWrap = <a id="c{field:_LOCALIZED_UID}"></a>
	prepend.if.isTrue.field = _LOCALIZED_UID

	editPanel = 1
	editPanel {
		allow = move,new,edit,hide,delete
		line = 5
		label = %s
		onlyCurrentPid = 1
		previewBorder = 4
		edit.displayRecord = 1
	}

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

}



# *****************
# CType: header
# *****************
# See Object path "lib.stdheader"
tt_content.header = COA
tt_content.header {
	10 = < lib.stdheader

	20 = TEXT
	20 {
		field = subheader
		required = 1

		dataWrap = <p class="csc-subheader csc-subheader-{field:layout}">|</p>
		htmlSpecialChars = 1

		editIcons = tt_content:subheader,layout
		editIcons.beforeLastTag = 1
		editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.subheader

		prefixComment = 2 | Subheader:
	}
}


# *****************
# CType: text
# *****************
tt_content.text = COA
tt_content.text {
	10 = < lib.stdheader

	20 = TEXT
	20 {
		field = bodytext
		required = 1

		parseFunc = < lib.parseFunc_RTE

		editIcons = tt_content:bodytext, rte_enabled
		editIcons.beforeLastTag = 1
		editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.bodytext

		prefixComment = 2 | Text:
	}
}


# *****************
# CType: image
# *****************
# (also used for rendering 'textpic' type):
tt_content.image = COA
tt_content.image.10 = < lib.stdheader
tt_content.image.20 = IMGTEXT
tt_content.image.20 {
	imgList.field = image
	textPos.field = imageorient
	imgPath = uploads/pics/
	imgObjNum = 1
	1 {
		file.import.current = 1
		file.width.field = imagewidth
		params = align="top"
		imageLinkWrap = 1
		imageLinkWrap {
			bodyTag = <body bgcolor="black">
			wrap = <a href="javascript:close();"> | </a>
			width = {$styles.content.imgtext.linkWrap.width}
			height = {$styles.content.imgtext.linkWrap.height}
			effects = {$styles.content.imgtext.linkWrap.effects}

			JSwindow = 1
			JSwindow.newWindow = {$styles.content.imgtext.linkWrap.newWindow}
			JSwindow.expand = 17,20

			enable.field = image_zoom
			enable.ifEmpty.typolink.parameter.field = image_link
			enable.ifEmpty.typolink.parameter.listNum.stdWrap.data = register : IMAGE_NUM_CURRENT
			enable.ifEmpty.typolink.returnLast = url

			typolink.parameter.field = image_link
			typolink.parameter.listNum.stdWrap.data = register : IMAGE_NUM_CURRENT
			typolink.target = {$styles.content.links.target}
			typolink.extTarget = {$styles.content.links.extTarget}
		}

		altText = TEXT
		altText {
			field = altText
			stripHtml = 1
			split.token.char = 10
			split.token.if.isTrue = {$styles.content.imgtext.imageTextSplit}
			split.returnKey.data = register : IMAGE_NUM_CURRENT
		}

		titleText < .altText
		titleText.field = titleText

		longdescURL < .altText
		longdescURL.field = longdescURL

		emptyTitleHandling = {$styles.content.imgtext.emptyTitleHandling}
		titleInLink = {$styles.content.imgtext.titleInLink}
		titleInLinkAndImg = {$styles.content.imgtext.titleInLinkAndImg}
	}

	maxW = {$styles.content.imgtext.maxW}
	maxW.override.data = register:maxImageWidth
	maxWInText = {$styles.content.imgtext.maxWInText}
	maxWInText.override.data = register:maxImageWidthInText

	equalH.field = imageheight
	spaceBelowAbove = 6

	image_compression.field = image_compression
	image_effects.field = image_effects

	noRows.field = image_noRows

	cols.field = imagecols
	border.field = imageborder
	caption {
		1 = TEXT
		1 {
			field = imagecaption
			required = 1
			parseFunc =< lib.parseFunc
			br = 1
			fontTag = <p class="csc-caption">|</p>
			wrapAlign.field = imagecaption_position
			split.token.char = 10
			split.token.if.isPositive = {$styles.content.imgtext.imageTextSplit} + {$styles.content.imgtext.captionSplit}
			split.returnKey.data = register : IMAGE_NUM_CURRENT
		}
	}
	# captionSplit is deprecated, use imageTextSplit instead
	captionSplit = {$styles.content.imgtext.captionSplit}
	# caption/alttext/title/longdescURL splitting
	imageTextSplit = {$styles.content.imgtext.imageTextSplit}

	borderCol = {$styles.content.imgtext.borderColor}
	borderThick = {$styles.content.imgtext.borderThick}
	colSpace = {$styles.content.imgtext.colSpace}
	rowSpace = {$styles.content.imgtext.rowSpace}
	textMargin = {$styles.content.imgtext.textMargin}

	editIcons = tt_content : image [imageorient|imagewidth|imageheight], [imagecols|image_noRows|imageborder],[image_link|image_zoom],[image_compression|image_effects|image_frames],imagecaption[imagecaption_position]
	editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.images

	caption.editIcons = tt_content : imagecaption[imagecaption_position]
	caption.editIcons.beforeLastTag=1
	caption.editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.caption

	stdWrap.prefixComment = 2 | Image block:
}


# *****************
# CType: textpic
# *****************
tt_content.textpic = COA
tt_content.textpic {
	10 = COA
	10.if.value = 25
	10.if.isLessThan.field = imageorient
	10.10 = < lib.stdheader

	20  = < tt_content.image.20
	20.text.10 = COA
	20.text.10 {
		if.value = 24
		if.isGreaterThan.field = imageorient
		10 = < lib.stdheader
		10.stdWrap.dataWrap = <div class="csc-textpicHeader csc-textpicHeader-{field:imageorient}">|</div>
	}
	20.text.20 = < tt_content.text.20
}


# *****************
# CType: bullet
# *****************
# Rendered by a PHP function specifically written to handle CE bullet lists. See css_styled_content/pi1/class.tx_cssstyledcontent_pi1.php
tt_content.bullets = COA
tt_content.bullets {
	10 = < lib.stdheader

	20 = USER
	20.userFunc = tx_cssstyledcontent_pi1->render_bullets
	20.field = bodytext

	20.innerStdWrap.parseFunc = < lib.parseFunc

	20.stdWrap {
		editIcons = tt_content: bodytext, [layout]
		editIcons.beforeLastTag = 1
		editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.bullets

		prefixComment = 2 | Bullet list:
	}
}


# *****************
# CType: table
# *****************
# Rendered by a PHP function specifically written to handle CE tables. See css_styled_content/pi1/class.tx_cssstyledcontent_pi1.php
tt_content.table = COA
tt_content.table {
	10 = < lib.stdheader

	20 = USER
	20.userFunc = tx_cssstyledcontent_pi1->render_table
	20.field = bodytext

	20.color {
		default =
		1 = #EDEBF1
		2 = #F5FFAA
	}
	20.tableParams_0 {
		border =
		cellpadding =
		cellspacing =
	}
	20.tableParams_1 {
		border =
		cellpadding =
		cellspacing =
	}
	20.tableParams_2 {
		border =
		cellpadding =
		cellspacing =
	}
	20.tableParams_3 {
		border =
		cellpadding =
		cellspacing =
	}
	20.innerStdWrap.wrap = <p>|</p>
	20.innerStdWrap.parseFunc = < lib.parseFunc

	20.stdWrap {
		editIcons = tt_content: cols, bodytext, [layout], [table_bgColor|table_border|table_cellspacing|table_cellpadding]
		editIcons.beforeLastTag = 1
		editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.table

		prefixComment = 2 | Table:
	}
}


# *****************
# CType: uploads
# *****************
# Rendered by a PHP function specifically written to handle CE filelists. See css_styled_content/pi1/class.tx_cssstyledcontent_pi1.php
tt_content.uploads = COA
tt_content.uploads {
	10 = < lib.stdheader

	20 = USER
	20.userFunc = tx_cssstyledcontent_pi1->render_uploads
	20.field = media

	20 {
		# Rendering for each file (e.g. rows of the table) as a cObject
		itemRendering = COA
		itemRendering {
			wrap = <tr class="tr-odd tr-first">|</tr> |*| <tr class="tr-even">|</tr> || <tr class="tr-odd">|</tr> |*|

			10 = TEXT
			10.data = register:linkedIcon
			10.wrap = <td class="csc-uploads-icon">|</td>
			10.if.isPositive.field = layout

			20 = COA
			20.wrap = <td class="csc-uploads-fileName">|</td>
			20.1 = TEXT
			20.1 {
				data = register:linkedLabel
				wrap = <p>|</p>
			}
			20.2 = TEXT
			20.2 {
				data = register:description
				wrap = <p class="csc-uploads-description">|</p>
				required = 1
				htmlSpecialChars = 1
			}

			30 = TEXT
			30.if.isTrue.field = filelink_size
			30.data = register:fileSize
			30.wrap = <td class="csc-uploads-fileSize">|</td>
			30.bytes = 1
			30.bytes.labels = {$styles.content.uploads.filesizeBytesLabels}
		}
	}

	20.color {
		default =
		1 = #EDEBF1
		2 = #F5FFAA
	}
	20.tableParams_0 {
		border =
		cellpadding =
		cellspacing =
	}
	20.tableParams_1 {
		border =
		cellpadding =
		cellspacing =
	}
	20.tableParams_2 {
		border =
		cellpadding =
		cellspacing =
	}
	20.tableParams_3 {
		border =
		cellpadding =
		cellspacing =
	}

	20.linkProc {
		target = _blank
		jumpurl = {$styles.content.uploads.jumpurl}
		jumpurl.secure = {$styles.content.uploads.jumpurl_secure}
		jumpurl.secure.mimeTypes = {$styles.content.uploads.jumpurl_secure_mimeTypes}
		removePrependedNumbers = 1

		iconCObject = IMAGE
		iconCObject.file.import.data = register : ICON_REL_PATH
		iconCObject.file.width = 150
	}

	20.filesize {
		bytes = 1
		bytes.labels = {$styles.content.uploads.filesizeBytesLabels}
	}

	20.stdWrap {
		editIcons = tt_content: media, layout [table_bgColor|table_border|table_cellspacing|table_cellpadding], filelink_size, imagecaption
		editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.filelist

		prefixComment = 2 | File list:
	}
}


# ******************
# CType: multimedia
# ******************
tt_content.multimedia = COA
tt_content.multimedia {
	10 = < lib.stdheader

	20 = MULTIMEDIA
	20.file.field = multimedia
	20.file.wrap = uploads/media/
	20.file.listNum = 0
	20.params.field = bodytext

	20.stdWrap {
		editIcons = tt_content: multimedia, bodytext
		editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.multimedia

		prefixComment = 2 | Multimedia element:
	}
}


# ******************
# CType: mailform
# ******************
tt_content.mailform = COA
tt_content.mailform.10 = < lib.stdheader
tt_content.mailform.20 = FORM
tt_content.mailform.20 {
	layout = <tr><td class="csc-form-labelcell">###LABEL###</td><td class="csc-form-fieldcell">###FIELD###</td></tr>
	labelWrap.wrap = <p class="csc-form-label">|</p>
	commentWrap.wrap = <p class="csc-form-comment">|</p>
	radioWrap.wrap = <span class="csc-form-radio">|</span><br />
	REQ = 1
	REQ.labelWrap.wrap = <p class="csc-form-label-req">|</p>
	COMMENT.layout = <tr><td colspan="2" class="csc-form-commentcell">###LABEL###</td></tr>
	target = {$styles.content.mailform.target}
	goodMess = {$styles.content.mailform.goodMess}
	badMess = {$styles.content.mailform.badMess}
	redirect.field = pages
	redirect.listNum = 0
	recipient.field = subheader
	data.field = bodytext
	locationData = 1

	stdWrap.wrap = <table border="0" cellspacing="1" cellpadding="1" class="csc-mailform">  | </table>
	stdWrap {
		editIcons = tt_content: bodytext, pages, subheader
		editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.form

		prefixComment = 2 | Mail form inserted:
	}
}


# ******************
# CType: search
# ******************
tt_content.search = COA
tt_content.search.10 = < lib.stdheader
# Result:
tt_content.search.20 = SEARCHRESULT
tt_content.search.20 {
	allowedCols = pages.title-subtitle-keywords-description : tt_content.header-bodytext-imagecaption : tt_address.name-title-address-email-company-city-country : tt_links.title-note-note2-url : tt_board.subject-message-author-email : tt_calender.title-note : tt_products.title-note-itemnumber
	languageField.tt_content = sys_language_uid
	renderObj = COA
	renderObj {

		10 = TEXT
		10.field = pages_title
		10.htmlSpecialChars = 1
		10.typolink {
			parameter.field = uid
			target = {$styles.content.searchresult.resultTarget}
			additionalParams.data = register:SWORD_PARAMS
			additionalParams.required = 1
			additionalParams.wrap = &no_cache=1
		}
		10.htmlSpecialChars = 1
		10.wrap = <h3 class="csc-searchResultHeader">|</h3>

		20 = COA
		20 {
			10 = TEXT
			10.field = tt_content_bodytext
			10.stripHtml = 1
			10.htmlSpecialChars = 1
		}
		20.stdWrap.crop = 200 | ...
		20.stdWrap.wrap = <p class="csc-searchResult">|</p>
	}

	layout = COA
	layout {
		wrap = <table border="0" cellspacing="0" cellpadding="2" class="csc-searchResultInfo"><tr> | </tr></table> ###RESULT###

		10 = TEXT
		10.data = LLL:EXT:css_styled_content/pi1/locallang.xml:search.resultRange
		10.wrap = <td class="csc-searchResultRange"><p>|</p></td>

		20 = TEXT
		20.value = ###PREV###&nbsp;&nbsp;&nbsp;###NEXT###
		20.wrap = <td class="csc-searchResultPrevNext"><p>|</p></td>
	}

	noResultObj = COA
	noResultObj {
		10 = TEXT
		10.data = LLL:EXT:css_styled_content/pi1/locallang.xml:search.emptySearch
		10.wrap = <h3 class="csc-noSearchResultMsg">|</h3>
	}

	next = TEXT
	next.data = LLL:EXT:css_styled_content/pi1/locallang.xml:search.searchResultNext

	prev = TEXT
	prev.data = LLL:EXT:css_styled_content/pi1/locallang.xml:search.searchResultPrev

	target = {$styles.content.searchresult.target}
	range = 20

	stdWrap.prefixComment = 2 | Search result:
}

# Form:
tt_content.search.30 < tt_content.mailform.20
tt_content.search.30 {
	goodMess = {$styles.content.searchform.goodMess}
	redirect >
	recipient >
	data >
	dataArray {
		10.label.data = LLL:EXT:css_styled_content/pi1/locallang.xml:search.searchWord
		10.type = sword=input
		20.label.data = LLL:EXT:css_styled_content/pi1/locallang.xml:search.searchIn
		20.type = scols=select
		20.valueArray {
			10.label.data = LLL:EXT:css_styled_content/pi1/locallang.xml:search.headersKeywords
			10.value = pages.title-subtitle-keywords-description:tt_content.header
			20.label.data = LLL:EXT:css_styled_content/pi1/locallang.xml:search.pageContent
			20.value = tt_content.header-bodytext-imagecaption
		}
		30.type = stype=hidden
		30.value = L0
		40.type = submit=submit
		40.value.data = LLL:EXT:css_styled_content/pi1/locallang.xml:search.searchButton
	}
	type.field = pages
	type.listNum = 0
	locationData = HTTP_POST_VARS
	no_cache = 1

	stdWrap.wrap = <table border="0" cellspacing="1" cellpadding="1" class="csc-searchform">  | </table>
	stdWrap {
		editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.search

		prefixComment = 2 | Search form inserted:
	}
}


# ******************
# CType: login
# ******************
tt_content.login < tt_content.mailform
tt_content.login.10 = < lib.stdheader
tt_content.login.20 {
	goodMess = {$styles.content.loginform.goodMess}
	redirect >
	recipient >
	data >
	dataArray {
		10.label.data = LLL:EXT:css_styled_content/pi1/locallang.xml:login.username
		10.type = *user=input
		20.label.data = LLL:EXT:css_styled_content/pi1/locallang.xml:login.password
		20.type = *pass=password
		30.type = logintype=hidden
		30.value = login
		40.type = submit=submit
		40.value.data = LLL:EXT:css_styled_content/pi1/locallang.xml:login.login
	}
	type.field = pages
	type.listNum = 0
	target = {$styles.content.loginform.target}
	locationData = 0
	hiddenFields.pid = TEXT
	hiddenFields.pid {
		value = {$styles.content.loginform.pid}
		override.field = pages
		override.listNum = 1
	}

	stdWrap.wrap = <table border="0" cellspacing="1" cellpadding="1" class="csc-loginform">  | </table>
	stdWrap {
		editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.login

		prefixComment = 2 | Login/Logout form:
	}
}
[loginUser = *]
tt_content.login.20 {
	dataArray >
	dataArray {
		10.label.data = LLL:EXT:css_styled_content/pi1/locallang.xml:login.username
		10.label.wrap = |&nbsp;<!--###USERNAME###-->
		30.type = logintype=hidden
		30.value = logout
		40.type = submit=submit
		40.value.data = LLL:EXT:css_styled_content/pi1/locallang.xml:login.logout
	}
}
[global]


# ******************
# CType: splash
# ******************
# Deprecated element.
# Still here for backwards compliance with plugins using the "text box" type.
tt_content.splash = CASE
tt_content.splash.key.field = splash_layout
tt_content.splash.stdWrap {
	prefixComment = 2 | Textbox inserted (Deprecated)
}
tt_content.splash.default = COA
tt_content.splash.default {
	20 = CTABLE
	20 {
		c.1 = < tt_content.text
		lm.1 = IMAGE
		lm.1.file {
			import = uploads/pics/
			import.field = image
			import.listNum = 0
			maxW.field = imagewidth
			maxW.ifEmpty = 200
		}
		cMargins = 30,0,0,0
	}
}
tt_content.splash.1 < tt_content.splash.default
tt_content.splash.1.20.lm.1.file >
tt_content.splash.1.20.lm.1.file = GIFBUILDER
tt_content.splash.1.20.lm.1.file {
	XY = [10.w]+10,[10.h]+10
	backColor = {$content.splash.bgCol}
	backColor.override.data = register:pageColor
	format = jpg
	5 = BOX
	5.dimensions = 3,3,[10.w],[10.h]
	5.color = #333333
	7 = EFFECT
	7.value = blur=99|blur=99|blur=99|blur=99|blur=99|blur=99|blur=99
	10 = IMAGE
	10.file {
		import = uploads/pics/
		import.field = image
		import.listNum = 0
		maxW.field = imagewidth
		maxW.ifEmpty = 200
	}
}
// The image frames are not available unless TypoScript code from styles.content.imgFrames.x is provided manually:
tt_content.splash.2 < tt_content.splash.default
#tt_content.splash.2.20.lm.1.file.m < styles.content.imgFrames.1
tt_content.splash.3 < tt_content.splash.default
#tt_content.splash.3.20.lm.1.file.m < styles.content.imgFrames.2

// From plugin.postit1, if included:
tt_content.splash.20 = < plugin.postit1




# ****************
# CType: menu
# ****************
tt_content.menu = COA
tt_content.menu {
	10 = < lib.stdheader

	20 = CASE
	20 {
		key.field = menu_type

		# "Menu of these pages"
		default = HMENU
		default.wrap = <div class="csc-menu csc-menu-def">|</div>
		default {
			special = list
			special.value.field = pages
			1 = TMENU
			1.NO.allWrap = <p>|</p>
			1.NO.stdWrap.htmlSpecialChars = 1
			1.target = {$content.pageFrameObj}
		}

		# "Menu of subpages to these pages"
		1 < .default
		1.special = directory
		1.wrap = <div class="csc-menu csc-menu-1">|</div>

		# "Sitemap"
		2 = HMENU
		2.wrap = <div class="csc-menu csc-menu-2">|</div>
		2 {
			1 = TMENU
			1.NO.allWrap = <p class="csc-sitemap csc-sitemap-level1">|</p>
			1.NO.stdWrap.htmlSpecialChars = 1
			1.target = {$content.pageFrameObj}
			1.expAll = 1

			2 < .1
			2.NO.allWrap = <p class="csc-sitemap csc-sitemap-level2">|</p>

			3 < .1
			3.NO.allWrap = <p class="csc-sitemap csc-sitemap-level3">|</p>

			4 < .1
			4.NO.allWrap = <p class="csc-sitemap csc-sitemap-level4">|</p>
			4.expAll = 0
		}

		# "Section index (pagecontent w/Index checked)"
		3 < styles.content.get
		3.wrap = <div class="csc-menu csc-menu-3">|</div>
		3.select.andWhere = sectionIndex<>0
		3.select.pidInList.override.field = pages
		3.renderObj = TEXT
		3.renderObj {
			fieldRequired = header
			trim=1
			field = header
			htmlSpecialChars = 1
			wrap = <p class="csc-section">|</p>
			typolink.parameter.field = pid
			typolink.section.field = uid
		}

		# "Menu of subpages to these pages (with abstract)"
		4 < .1
		4.wrap = <div class="csc-menu csc-menu-4">|</div>
		4.1.NO {
			allWrap = <p>|</p>
			after.required = 1
			after.data = field : abstract // field : description // field : subtitle
			after.htmlSpecialChars = 1
			after.wrap = </p><p class="csc-abstract">|
		}

		# "Recently updated pages"
		5 < .default
		5.wrap = <div class="csc-menu csc-menu-5">|</div>
		5.special = updated
		5.special {
			maxAge = 3600*24*7
			excludeNoSearchPages = 1
		}

		# "Related pages (based on keywords)"
		6 < .default
		6.wrap = <div class="csc-menu csc-menu-6">|</div>
		6.special = keywords
		6.special {
			excludeNoSearchPages = 1
		}

		# "Menu of subpages to these pages + sections"
		7 < .1
		7.wrap = <div class="csc-menu csc-menu-7">|</div>
		7.1.expAll = 1
		7.2 < .7.1
		7.2.sectionIndex = 1
		7.2.sectionIndex.type = header
		7.2.NO.allWrap = <p class="csc-section">|</p>
	}

	20.stdWrap {
		editIcons = tt_content: menu_type, pages
		editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.menuSitemap

		prefixComment = 2 | Menu/Sitemap element:
	}
}


# ****************
# CType: shortcut
# ****************
# Should be a complete copy from the old static template "content (default)"
tt_content.shortcut = COA
tt_content.shortcut {
	20 = CASE
	20.key.field = layout
	20.0= RECORDS
	20.0 {
		source.field = records
		tables = {$content.shortcut.tables}
	}
	20.1= RECORDS
	20.1 {
		source.field = records
		tables = {$content.shortcut.tables}
	}

	20.stdWrap {
		editIcons = tt_content: records
		editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.recordList

		prefixComment = 2 | Inclusion of other records (by reference):
	}
}


# ****************
# CType: list
# ****************
# Should be a complete copy from the old static template "content (default)" (except "lib.stdheader")
tt_content.list = COA
tt_content.list {
	10 = < lib.stdheader

	20 = CASE
	20.key.field = list_type

	20.stdWrap {
		editIcons = tt_content: list_type, layout, select_key, pages [recursive]
		editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.plugin

		prefixComment = 2 | Plugin inserted:
	}
}


# ****************
# CType: script
# ****************
# OBSOLETE! Please make extensions instead. The "script" content element was meant for these custom purposes in the past. Today extensions will do the job better.
tt_content.script = TEXT
tt_content.script {
	value =

	prefixComment = 2 | Script element (Deprecated)
}


# ****************
# CType: div
# ****************
tt_content.div = TEXT
tt_content.div {
	value =
	prefixComment = 2 | Div element
}


# ****************
# CType: html
# ****************
# This truely IS a content object, launched from inside the PHP class of course.
# Should be a complete copy from the old static template "content (default)"
tt_content.html = TEXT
tt_content.html {
	field = bodytext

	editIcons = tt_content:bodytext
	editIcons.beforeLastTag = 1
	editIcons.iconTitle.data = LLL:EXT:css_styled_content/pi1/locallang.xml:eIcon.html

	prefixComment = 2 | Raw HTML content:
}


# ****************
# Default error msg:
# ****************
tt_content.default = TEXT
tt_content.default {
	field = CType
	wrap = <p style="background-color: yellow;"><b>ERROR:</b> Content Element type "|" has no rendering definition!</p>

	prefixComment = 2 | Unknown element message:
}


