<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2007 rel. 3 sp1 (http://www.altova.com) by BogeblM (EMBRACE) -->
<InfoGlueExport>
	<root-content content-id="8934">
		<name>CalendarAdmin</name>
		<publishDateTime>2009-01-21T21:28:00.000+01:00</publishDateTime>
		<expireDateTime>2019-01-21T21:28:00.000+01:00</expireDateTime>
		<isBranch>true</isBranch>
		<isProtected>2</isProtected>
		<contentTypeDefinitionId>10</contentTypeDefinitionId>
		<repositoryId>71</repositoryId>
		<children content-id="8935">
			<name>Components</name>
			<publishDateTime>2009-01-21T21:28:00.000+01:00</publishDateTime>
			<expireDateTime>2019-01-21T21:28:00.000+01:00</expireDateTime>
			<isBranch>true</isBranch>
			<isProtected>2</isProtected>
			<contentTypeDefinitionId>10</contentTypeDefinitionId>
			<repositoryId>71</repositoryId>
			<children content-id="8936">
				<name>Calendar components</name>
				<publishDateTime>2005-08-19T13:47:00.000+02:00</publishDateTime>
				<expireDateTime>2015-08-19T13:47:00.000+02:00</expireDateTime>
				<isBranch>true</isBranch>
				<isProtected>2</isProtected>
				<contentTypeDefinitionId>4</contentTypeDefinitionId>
				<repositoryId>71</repositoryId>
				<children content-id="8937">
					<name>Portlet component</name>
					<publishDateTime>2005-08-19T13:47:00.000+02:00</publishDateTime>
					<expireDateTime>2015-08-19T13:47:00.000+02:00</expireDateTime>
					<isBranch>false</isBranch>
					<isProtected>2</isProtected>
					<contentTypeDefinitionId>4</contentTypeDefinitionId>
					<repositoryId>71</repositoryId>
					<contentVersions content-version-id="11076">
						<stateId>3</stateId>
						<modifiedDateTime>2008-11-02T22:22:02.000+01:00</modifiedDateTime>
						<versionComment>sssss</versionComment>
						<isCheckedOut>false</isCheckedOut>
						<isActive>true</isActive>
						<language language-id="3">
							<name>Svenska</name>
							<languageCode>sv</languageCode>
							<charset>utf-8</charset>
						</language>
						<versionModifier>Administrator</versionModifier>
						<escapedVersionValue>&lt;article xmlns="x-schema:ArticleSchema.xml"&gt;&lt;attributes&gt;&lt;Name&gt;&lt;![CDATA[Portlet componentcdataEnd&lt;/Name&gt;&lt;Template&gt;&lt;![CDATA[$templateLogic.getDeliveryContext().setEvaluateFullPage(false)
$templateLogic.getDeliveryContext().setTrimResponse(true)

#set($portletName = $templateLogic.componentLogic.getPropertyValue("Portlet", false))
#set($actionName = $templateLogic.componentLogic.getPropertyValue("Action", false))
#if($templateLogic.getHttpServletRequest().getParameter("eventId") != "")
  #set($actionName = "ViewEvent!publicGU")
#end

#set($width = $templateLogic.componentLogic.getPropertyValue("width"))
#set($height = $templateLogic.componentLogic.getPropertyValue("height"))
#set($numberOfItems = $templateLogic.componentLogic.getPropertyValue("numberOfItems"))

#set($calendarPortlet = $portalLogic.getPortletWindow($portletName, "p$templateLogic.componentLogic.infoGlueComponent.id"))
$calendarPortlet.setAttribute("componentId", $templateLogic.componentLogic.infoGlueComponent.id)
$calendarPortlet.setAttribute("numberOfItems", $numberOfItems)

$calendarPortlet.setAttribute("cssUrl", "http://www.gu.se/ViewPage.action?siteNodeId=101891")

$templateLogic.getDeliveryContext().setUseFullUrl(true)
$templateLogic.getDeliveryContext().setDisableNiceUri(true)
#set($returnAddress = $templateLogic.currentPageUrl)

#set($url = $templateLogic.componentLogic.getPageUrl("detailUrl"))
##set($url = $templateLogic.getPageUrl($templateLogic.siteNodeId, $templateLogic.languageId, $templateLogic.contentId))
$calendarPortlet.setAttribute("detailUrl", $url)
$calendarPortlet.setAttribute("logoutUrl", "/infoglueDeliverWorking/ExtranetLogin!logout.action?returnAddress=$returnAddress")
$templateLogic.getDeliveryContext().setUseFullUrl(false)
$templateLogic.getDeliveryContext().setDisableNiceUri(false)

$calendarPortlet.setAttribute("languageCode", $templateLogic.locale.language)
$calendarPortlet.setAttribute("siteNodeId", $templateLogic.siteNodeId)
$calendarPortlet.setParameter("action", $actionName)
#if($templateLogic.componentLogic.getPropertyValue("CalendarId") != "")
  $calendarPortlet.setParameter("calendarId", $templateLogic.componentLogic.getPropertyValue("CalendarId"))
#end
#if($templateLogic.getParameterValue("eventId") != "")
  $calendarPortlet.setParameter("eventId", $templateLogic.getParameterValue("eventId"))
#end
#if($templateLogic.componentLogic.getPropertyValue("CategoryAttribute") != "")
  $calendarPortlet.setParameter("categoryAttribute", $templateLogic.componentLogic.getPropertyValue("CategoryAttribute"))
#end
#if($templateLogic.getRequestParameter("categoryAttribute") != "")
	$calendarPortlet.setAttribute("categoryAttribute", $templateLogic.getRequestParameter("categoryAttribute"))
#end
#if($templateLogic.componentLogic.getPropertyValue("CategoryNames") != "")
  $calendarPortlet.setParameter("categoryNames", $templateLogic.componentLogic.getPropertyValue("CategoryNames"))
#end
#if($templateLogic.getRequestParameter("categoryNames") != "")
	$calendarPortlet.setAttribute("categoryNames", $templateLogic.getRequestParameter("categoryNames"))
#end

#if($templateLogic.getRequestParameter("startDateTime") != "")
  $calendarPortlet.setAttribute("startDateTime", $templateLogic.getRequestParameter("startDateTime"))
#end
#if($templateLogic.getRequestParameter("endDateTime") != "")
  $calendarPortlet.setAttribute("endDateTime", $templateLogic.getRequestParameter("endDateTime"))
#end
#if($templateLogic.getRequestParameter("calendarMonth") != "")
  $calendarPortlet.setAttribute("calendarMonth", $templateLogic.getRequestParameter("calendarMonth"))
#end
#if($templateLogic.getRequestParameter("freeText") != "")
  $calendarPortlet.setAttribute("freeText", $templateLogic.getRequestParameter("freeText"))
#end

#set($roles = $templateLogic.getObjectWithName("java.util.ArrayList"))
#foreach($role in $templateLogic.getPrincipal().roles)
  #set($void = $roles.add($role.name))
#end
$calendarPortlet.setAttribute("infoglueRemoteUserRoles", $roles)

#set($groups = $templateLogic.getObjectWithName("java.util.ArrayList"))
#foreach($group in $templateLogic.getPrincipal().groups)

  #set($void = $groups.add($group.name))
#end
$calendarPortlet.setAttribute("infoglueRemoteUserGroups", $groups)

$calendarPortlet.setParameter("includedLanguages", $templateLogic.locale.language)

$calendarPortlet.render()
cdataEnd&lt;/Template&gt;&lt;ComponentProperties&gt;&lt;![CDATA[&lt;?xml version='1.0' encoding='UTF-8'?&gt;&lt;properties&gt;&lt;property name='Portlet' displayName='Portlet' type='textfield' entity='' multiple='false' assetBinding='false' isPuffContentForPage='false' allowedContentTypeDefinitionNames='' description='' defaultValue='' WYSIWYGEnabled='false' WYSIWYGToolbar='' dataProvider='' dataProviderParameters='' autoCreateContent='false' autoCreateContentMethod='' autoCreateContentPath='' customMarkup=''/&gt;&lt;property name='Action' displayName='Action' type='textfield' entity='' multiple='false' assetBinding='false' isPuffContentForPage='false' allowedContentTypeDefinitionNames='' description='' defaultValue='' WYSIWYGEnabled='false' WYSIWYGToolbar='' dataProvider='' dataProviderParameters='' autoCreateContent='false' autoCreateContentMethod='' autoCreateContentPath='' customMarkup=''/&gt;&lt;property name='CalendarId' displayName='CalendarId' type='select' multiple='false' assetBinding='false' isPuffContentForPage='false' description='Välj kalendrar' defaultValue='' dataProvider='org.infoglue.deliver.integration.dataproviders.RemoteXMLPropertyOptionsDataProvider' dataProviderParameters='serviceUrl=http://localhost:8080/infoglueCalendar/CalendarRESTServlet;charset=iso8859-1' allowMultipleSelections='true'&gt;&lt;/property&gt;&lt;property name='CategoryAttribute' displayName='CategoryAttribute' type='textfield' entity='' multiple='false' assetBinding='false' isPuffContentForPage='false' allowedContentTypeDefinitionNames='' description='' defaultValue='' WYSIWYGEnabled='false' WYSIWYGToolbar='' dataProvider='' dataProviderParameters='' autoCreateContent='false' autoCreateContentMethod='' autoCreateContentPath='' customMarkup=''/&gt;&lt;property name='CategoryNames' displayName='CategoryNames' type='textfield' entity='' multiple='false' assetBinding='false' isPuffContentForPage='false' allowedContentTypeDefinitionNames='' description='' defaultValue='' WYSIWYGEnabled='false' WYSIWYGToolbar='' dataProvider='' dataProviderParameters='' autoCreateContent='false' autoCreateContentMethod='' autoCreateContentPath='' customMarkup=''/&gt;&lt;property name='detailUrl' displayName='detailUrl' type='binding' entity='SiteNode' multiple='false' assetBinding='false' isPuffContentForPage='false' allowedContentTypeDefinitionNames='' description='' defaultValue='' WYSIWYGEnabled='false' WYSIWYGToolbar='' dataProvider='' dataProviderParameters='' autoCreateContent='false' autoCreateContentMethod='' autoCreateContentPath='' customMarkup=''/&gt;&lt;property name='numberOfItems' displayName='numberOfItems' type='textfield' entity='' multiple='false' assetBinding='false' isPuffContentForPage='false' allowedContentTypeDefinitionNames='' description='' defaultValue='' WYSIWYGEnabled='false' WYSIWYGToolbar='' dataProvider='' dataProviderParameters='' autoCreateContent='false' autoCreateContentMethod='' autoCreateContentPath='' customMarkup=''/&gt;&lt;/properties&gt;cdataEnd&lt;/ComponentProperties&gt;&lt;GroupName&gt;&lt;![CDATA[OthercdataEnd&lt;/GroupName&gt;&lt;RelatedComponents&gt;&lt;/RelatedComponents&gt;&lt;ComponentLabels&gt;&lt;/ComponentLabels&gt;&lt;IGAuthorFullName&gt;&lt;![CDATA[System AdministratorcdataEnd&lt;/IGAuthorFullName&gt;&lt;IGAuthorEmail&gt;&lt;![CDATA[mattias.bogeblad@modul1.secdataEnd&lt;/IGAuthorEmail&gt;&lt;/attributes&gt;&lt;/article&gt;</escapedVersionValue>
					</contentVersions>
					<contentVersions content-version-id="11077">
						<stateId>3</stateId>
						<modifiedDateTime>2008-11-02T22:13:32.000+01:00</modifiedDateTime>
						<versionComment>ssss</versionComment>
						<isCheckedOut>false</isCheckedOut>
						<isActive>true</isActive>
						<language language-id="1">
							<name>English</name>
							<languageCode>en</languageCode>
							<charset>utf-8</charset>
						</language>
						<versionModifier>Administrator</versionModifier>
						<escapedVersionValue>&lt;?xml version='1.0' encoding='UTF-8'?&gt;&lt;article xmlns='x-schema:ArticleSchema.xml'&gt;&lt;attributes&gt;&lt;Name&gt;&lt;![CDATA[Portlet componentcdataEnd&lt;/Name&gt;&lt;Template&gt;&lt;![CDATA[$templateLogic.getDeliveryContext().setEvaluateFullPage(false)&#xd;
$templateLogic.getDeliveryContext().setTrimResponse(true)&#xd;
&#xd;
#set($portletName = $templateLogic.componentLogic.getPropertyValue("Portlet", false))&#xd;
#set($actionName = $templateLogic.componentLogic.getPropertyValue("Action", false))&#xd;
#if($templateLogic.getHttpServletRequest().getParameter("eventId") != "")&#xd;
  #set($actionName = "ViewEvent!publicGU")&#xd;
#end&#xd;
&#xd;
#set($width = $templateLogic.componentLogic.getPropertyValue("width"))&#xd;
#set($height = $templateLogic.componentLogic.getPropertyValue("height"))&#xd;
#set($numberOfItems = $templateLogic.componentLogic.getPropertyValue("numberOfItems"))&#xd;
&#xd;
#set($calendarPortlet = $portalLogic.getPortletWindow($portletName, "p$templateLogic.componentLogic.infoGlueComponent.id"))&#xd;
$calendarPortlet.setAttribute("componentId", $templateLogic.componentLogic.infoGlueComponent.id)&#xd;
$calendarPortlet.setAttribute("numberOfItems", $numberOfItems)&#xd;
&#xd;
$calendarPortlet.setAttribute("cssUrl", "http://www.gu.se/ViewPage.action?siteNodeId=101891")&#xd;
&#xd;
$templateLogic.getDeliveryContext().setUseFullUrl(true)&#xd;
$templateLogic.getDeliveryContext().setDisableNiceUri(true)&#xd;
#set($returnAddress = $templateLogic.currentPageUrl)&#xd;
&#xd;
#set($url = $templateLogic.componentLogic.getPageUrl("detailUrl"))&#xd;
##set($url = $templateLogic.getPageUrl($templateLogic.siteNodeId, $templateLogic.languageId, $templateLogic.contentId))&#xd;
$calendarPortlet.setAttribute("detailUrl", $url)&#xd;
$calendarPortlet.setAttribute("logoutUrl", "/infoglueDeliverWorking/ExtranetLogin!logout.action?returnAddress=$returnAddress")&#xd;
$templateLogic.getDeliveryContext().setUseFullUrl(false)&#xd;
$templateLogic.getDeliveryContext().setDisableNiceUri(false)&#xd;
&#xd;
$calendarPortlet.setAttribute("languageCode", $templateLogic.locale.language)&#xd;
$calendarPortlet.setAttribute("siteNodeId", $templateLogic.siteNodeId)&#xd;
$calendarPortlet.setParameter("action", $actionName)&#xd;
#if($templateLogic.componentLogic.getPropertyValue("CalendarId") != "")&#xd;
  $calendarPortlet.setParameter("calendarId", $templateLogic.componentLogic.getPropertyValue("CalendarId"))&#xd;
#end&#xd;
#if($templateLogic.getParameterValue("eventId") != "")&#xd;
  $calendarPortlet.setParameter("eventId", $templateLogic.getParameterValue("eventId"))&#xd;
#end&#xd;
#if($templateLogic.componentLogic.getPropertyValue("CategoryAttribute") != "")&#xd;
  $calendarPortlet.setParameter("categoryAttribute", $templateLogic.componentLogic.getPropertyValue("CategoryAttribute"))&#xd;
#end&#xd;
#if($templateLogic.getRequestParameter("categoryAttribute") != "")&#xd;
	$calendarPortlet.setAttribute("categoryAttribute", $templateLogic.getRequestParameter("categoryAttribute"))&#xd;
#end&#xd;
#if($templateLogic.componentLogic.getPropertyValue("CategoryNames") != "")&#xd;
  $calendarPortlet.setParameter("categoryNames", $templateLogic.componentLogic.getPropertyValue("CategoryNames"))&#xd;
#end&#xd;
#if($templateLogic.getRequestParameter("categoryNames") != "")&#xd;
	$calendarPortlet.setAttribute("categoryNames", $templateLogic.getRequestParameter("categoryNames"))&#xd;
#end&#xd;
&#xd;
#if($templateLogic.getRequestParameter("startDateTime") != "")&#xd;
  $calendarPortlet.setAttribute("startDateTime", $templateLogic.getRequestParameter("startDateTime"))&#xd;
#end&#xd;
#if($templateLogic.getRequestParameter("endDateTime") != "")&#xd;
  $calendarPortlet.setAttribute("endDateTime", $templateLogic.getRequestParameter("endDateTime"))&#xd;
#end&#xd;
#if($templateLogic.getRequestParameter("calendarMonth") != "")&#xd;
  $calendarPortlet.setAttribute("calendarMonth", $templateLogic.getRequestParameter("calendarMonth"))&#xd;
#end&#xd;
#if($templateLogic.getRequestParameter("freeText") != "")&#xd;
  $calendarPortlet.setAttribute("freeText", $templateLogic.getRequestParameter("freeText"))&#xd;
#end&#xd;
&#xd;
#set($roles = $templateLogic.getObjectWithName("java.util.ArrayList"))&#xd;
#foreach($role in $templateLogic.getPrincipal().roles)&#xd;
  #set($void = $roles.add($role.name))&#xd;
#end&#xd;
$calendarPortlet.setAttribute("infoglueRemoteUserRoles", $roles)&#xd;
&#xd;
#set($groups = $templateLogic.getObjectWithName("java.util.ArrayList"))&#xd;
#foreach($group in $templateLogic.getPrincipal().groups)&#xd;
&#xd;
  #set($void = $groups.add($group.name))&#xd;
#end&#xd;
$calendarPortlet.setAttribute("infoglueRemoteUserGroups", $groups)&#xd;
&#xd;
$calendarPortlet.setParameter("includedLanguages", $templateLogic.locale.language)&#xd;
&#xd;
$calendarPortlet.render()&#xd;
cdataEnd&lt;/Template&gt;&lt;ComponentProperties&gt;&lt;![CDATA[&lt;?xml version='1.0' encoding='UTF-8'?&gt;&lt;properties&gt;&lt;property name='Portlet' type='textfield' entity='' multiple='false' allowedContentTypeDefinitionNames='' description=''/&gt;&lt;property name='Action' type='textfield' entity='' multiple='false' allowedContentTypeDefinitionNames='' description=''/&gt;&lt;property name='CalendarId' type='textfield' entity='' multiple='false' allowedContentTypeDefinitionNames='' description=''/&gt;&lt;property name='CategoryAttribute' type='textfield' entity='' multiple='false' allowedContentTypeDefinitionNames='' description=''/&gt;&lt;property name='CategoryNames' type='textfield' entity='' multiple='false' allowedContentTypeDefinitionNames='' description=''/&gt;&lt;property name='detailUrl' type='binding' entity='SiteNode' multiple='false' allowedContentTypeDefinitionNames='' description=''/&gt;&lt;property name='numberOfItems' type='textfield' entity='' multiple='false' allowedContentTypeDefinitionNames='' description=''/&gt;&lt;/properties&gt;cdataEnd&lt;/ComponentProperties&gt;&lt;GroupName&gt;&lt;![CDATA[OthercdataEnd&lt;/GroupName&gt;&lt;RelatedComponents&gt;&lt;![CDATA[cdataEnd&lt;/RelatedComponents&gt;&lt;IGAuthorFullName&gt;&lt;![CDATA[System AdministratorcdataEnd&lt;/IGAuthorFullName&gt;&lt;IGAuthorEmail&gt;&lt;![CDATA[mattias.bogeblad@modul1.secdataEnd&lt;/IGAuthorEmail&gt;&lt;/attributes&gt;&lt;/article&gt;</escapedVersionValue>
					</contentVersions>
					<contentVersions content-version-id="11089">
						<stateId>0</stateId>
						<modifiedDateTime>2009-01-21T21:33:40.000+01:00</modifiedDateTime>
						<versionComment>new working version</versionComment>
						<isCheckedOut>false</isCheckedOut>
						<isActive>true</isActive>
						<language language-id="1">
							<name>English</name>
							<languageCode>en</languageCode>
							<charset>utf-8</charset>
						</language>
						<versionModifier>Administrator</versionModifier>
						<escapedVersionValue>&lt;?xml version='1.0' encoding='UTF-8'?&gt;&lt;article xmlns='x-schema:ArticleSchema.xml'&gt;&lt;attributes&gt;&lt;Template&gt;&lt;![CDATA[$templateLogic.getDeliveryContext().setEvaluateFullPage(false)&#xd;
$templateLogic.getDeliveryContext().setTrimResponse(true)&#xd;
&#xd;
#set($portletName = $templateLogic.componentLogic.getPropertyValue("Portlet", false))&#xd;
#set($actionName = $templateLogic.componentLogic.getPropertyValue("Action", false))&#xd;
#if($templateLogic.getHttpServletRequest().getParameter("eventId") != "")&#xd;
  #set($actionName = "ViewEvent!publicGU")&#xd;
#end&#xd;
&#xd;
#set($width = $templateLogic.componentLogic.getPropertyValue("width"))&#xd;
#set($height = $templateLogic.componentLogic.getPropertyValue("height"))&#xd;
#set($numberOfItems = $templateLogic.componentLogic.getPropertyValue("numberOfItems"))&#xd;
&#xd;
#set($calendarPortlet = $portalLogic.getPortletWindow($portletName, "p$templateLogic.componentLogic.infoGlueComponent.id"))&#xd;
$calendarPortlet.setAttribute("componentId", $templateLogic.componentLogic.infoGlueComponent.id)&#xd;
$calendarPortlet.setAttribute("numberOfItems", $numberOfItems)&#xd;
&#xd;
##$calendarPortlet.setAttribute("cssUrl", "http://www.gu.se/ViewPage.action?siteNodeId=101891")&#xd;
&#xd;
$templateLogic.getDeliveryContext().setUseFullUrl(true)&#xd;
$templateLogic.getDeliveryContext().setDisableNiceUri(true)&#xd;
#set($returnAddress = $templateLogic.currentPageUrl)&#xd;
&#xd;
#set($url = $templateLogic.componentLogic.getPageUrl("detailUrl"))&#xd;
##set($url = $templateLogic.getPageUrl($templateLogic.siteNodeId, $templateLogic.languageId, $templateLogic.contentId))&#xd;
$calendarPortlet.setAttribute("detailUrl", $url)&#xd;
$calendarPortlet.setAttribute("logoutUrl", "/infoglueDeliverWorking/ExtranetLogin!logout.action?returnAddress=$returnAddress")&#xd;
$templateLogic.getDeliveryContext().setUseFullUrl(false)&#xd;
$templateLogic.getDeliveryContext().setDisableNiceUri(false)&#xd;
&#xd;
$calendarPortlet.setAttribute("languageCode", $templateLogic.locale.language)&#xd;
$calendarPortlet.setAttribute("siteNodeId", $templateLogic.siteNodeId)&#xd;
$calendarPortlet.setParameter("action", $actionName)&#xd;
#if($templateLogic.componentLogic.getPropertyValue("CalendarId") != "")&#xd;
  $calendarPortlet.setParameter("calendarId", $templateLogic.componentLogic.getPropertyValue("CalendarId"))&#xd;
#end&#xd;
#if($templateLogic.getParameterValue("eventId") != "")&#xd;
  $calendarPortlet.setParameter("eventId", $templateLogic.getParameterValue("eventId"))&#xd;
#end&#xd;
#if($templateLogic.componentLogic.getPropertyValue("CategoryAttribute") != "")&#xd;
  $calendarPortlet.setParameter("categoryAttribute", $templateLogic.componentLogic.getPropertyValue("CategoryAttribute"))&#xd;
#end&#xd;
#if($templateLogic.getRequestParameter("categoryAttribute") != "")&#xd;
	$calendarPortlet.setAttribute("categoryAttribute", $templateLogic.getRequestParameter("categoryAttribute"))&#xd;
#end&#xd;
#if($templateLogic.componentLogic.getPropertyValue("CategoryNames") != "")&#xd;
  $calendarPortlet.setParameter("categoryNames", $templateLogic.componentLogic.getPropertyValue("CategoryNames"))&#xd;
#end&#xd;
#if($templateLogic.getRequestParameter("categoryNames") != "")&#xd;
	$calendarPortlet.setAttribute("categoryNames", $templateLogic.getRequestParameter("categoryNames"))&#xd;
#end&#xd;
&#xd;
#if($templateLogic.getRequestParameter("startDateTime") != "")&#xd;
  $calendarPortlet.setAttribute("startDateTime", $templateLogic.getRequestParameter("startDateTime"))&#xd;
#end&#xd;
#if($templateLogic.getRequestParameter("endDateTime") != "")&#xd;
  $calendarPortlet.setAttribute("endDateTime", $templateLogic.getRequestParameter("endDateTime"))&#xd;
#end&#xd;
#if($templateLogic.getRequestParameter("calendarMonth") != "")&#xd;
  $calendarPortlet.setAttribute("calendarMonth", $templateLogic.getRequestParameter("calendarMonth"))&#xd;
#end&#xd;
#if($templateLogic.getRequestParameter("freeText") != "")&#xd;
  $calendarPortlet.setAttribute("freeText", $templateLogic.getRequestParameter("freeText"))&#xd;
#end&#xd;
&#xd;
#set($roles = $templateLogic.getObjectWithName("java.util.ArrayList"))&#xd;
#foreach($role in $templateLogic.getPrincipal().roles)&#xd;
  #set($void = $roles.add($role.name))&#xd;
#end&#xd;
$calendarPortlet.setAttribute("infoglueRemoteUserRoles", $roles)&#xd;
&#xd;
#set($groups = $templateLogic.getObjectWithName("java.util.ArrayList"))&#xd;
#foreach($group in $templateLogic.getPrincipal().groups)&#xd;
&#xd;
  #set($void = $groups.add($group.name))&#xd;
#end&#xd;
$calendarPortlet.setAttribute("infoglueRemoteUserGroups", $groups)&#xd;
&#xd;
$calendarPortlet.setParameter("includedLanguages", $templateLogic.locale.language)&#xd;
&#xd;
$calendarPortlet.render()&#xd;
cdataEnd&lt;/Template&gt;&lt;ComponentProperties&gt;&lt;![CDATA[&lt;?xml version='1.0' encoding='UTF-8'?&gt;&lt;properties&gt;&lt;property name='Portlet' type='textfield' entity='' multiple='false' allowedContentTypeDefinitionNames='' description=''/&gt;&lt;property name='Action' type='textfield' entity='' multiple='false' allowedContentTypeDefinitionNames='' description=''/&gt;&lt;property name='CalendarId' type='textfield' entity='' multiple='false' allowedContentTypeDefinitionNames='' description=''/&gt;&lt;property name='CategoryAttribute' type='textfield' entity='' multiple='false' allowedContentTypeDefinitionNames='' description=''/&gt;&lt;property name='CategoryNames' type='textfield' entity='' multiple='false' allowedContentTypeDefinitionNames='' description=''/&gt;&lt;property name='detailUrl' type='binding' entity='SiteNode' multiple='false' allowedContentTypeDefinitionNames='' description=''/&gt;&lt;property name='numberOfItems' type='textfield' entity='' multiple='false' allowedContentTypeDefinitionNames='' description=''/&gt;&lt;/properties&gt;cdataEnd&lt;/ComponentProperties&gt;&lt;Name&gt;&lt;![CDATA[Portlet componentcdataEnd&lt;/Name&gt;&lt;GroupName&gt;&lt;![CDATA[OthercdataEnd&lt;/GroupName&gt;&lt;RelatedComponents&gt;&lt;![CDATA[cdataEnd&lt;/RelatedComponents&gt;&lt;Description&gt;&lt;![CDATA[cdataEnd&lt;/Description&gt;&lt;ComponentTasks&gt;&lt;![CDATA[cdataEnd&lt;/ComponentTasks&gt;&lt;PreTemplate&gt;&lt;![CDATA[cdataEnd&lt;/PreTemplate&gt;&lt;ComponentLabels&gt;&lt;![CDATA[cdataEnd&lt;/ComponentLabels&gt;&lt;IGAuthorFullName&gt;&lt;![CDATA[System AdministratorcdataEnd&lt;/IGAuthorFullName&gt;&lt;IGAuthorEmail&gt;&lt;![CDATA[mattias.bogeblad@modul1.secdataEnd&lt;/IGAuthorEmail&gt;&lt;/attributes&gt;&lt;/article&gt;</escapedVersionValue>
					</contentVersions>
					<creator>Administrator</creator>
				</children>
				<children content-id="8938">
					<name>Event detalj komponent</name>
					<publishDateTime>2005-08-22T17:09:00.000+02:00</publishDateTime>
					<expireDateTime>2015-08-22T17:09:00.000+02:00</expireDateTime>
					<isBranch>false</isBranch>
					<isProtected>2</isProtected>
					<contentTypeDefinitionId>4</contentTypeDefinitionId>
					<repositoryId>71</repositoryId>
					<contentVersions content-version-id="11078">
						<stateId>0</stateId>
						<modifiedDateTime>2006-08-01T11:32:35.000+02:00</modifiedDateTime>
						<versionComment>No comment</versionComment>
						<isCheckedOut>false</isCheckedOut>
						<isActive>true</isActive>
						<language language-id="3">
							<name>Svenska</name>
							<languageCode>sv</languageCode>
							<charset>utf-8</charset>
						</language>
						<versionModifier>inkinej</versionModifier>
						<escapedVersionValue>&lt;?xml version='1.0' encoding='UTF-8'?&gt;&lt;article xmlns='x-schema:ArticleSchema.xml'&gt;&lt;attributes&gt;&lt;Name&gt;&lt;![CDATA[cdataEnd&lt;/Name&gt;&lt;Template&gt;&lt;![CDATA[#set($portletName = "infoglueCalendar.WebworkDispatcherPortlet")&#xd;
#set($actionName = "ViewEvent!doPublicGU")&#xd;
#set($numberOfItems = $templateLogic.componentLogic.getPropertyValue("numberOfItems"))&#xd;
&#xd;
#set($calendarPortlet = $portalLogic.getPortletWindow($portletName, "p$templateLogic.componentLogic.infoGlueComponent.id"))&#xd;
$calendarPortlet.setAttribute("componentId", $templateLogic.componentLogic.infoGlueComponent.id)&#xd;
$calendarPortlet.setAttribute("numberOfItems", $numberOfItems)&#xd;
$calendarPortlet.setAttribute("detailUrl", $templateLogic.componentLogic.getPageUrl("detailUrl"))&#xd;
$calendarPortlet.setAttribute("languageCode", $templateLogic.locale.language)&#xd;
$calendarPortlet.setAttribute("siteNodeId", $templateLogic.siteNodeId)&#xd;
$calendarPortlet.setParameter("action", $actionName)&#xd;
#if($templateLogic.componentLogic.getPropertyValue("CalendarId") != "")&#xd;
  $calendarPortlet.setParameter("calendarId", $templateLogic.componentLogic.getPropertyValue("CalendarId"))&#xd;
#end&#xd;
#if($templateLogic.getParameterValue("eventId") != "")&#xd;
  $calendarPortlet.setParameter("eventId", $templateLogic.getParameterValue("eventId"))&#xd;
#end&#xd;
&#xd;
&lt;!-- before render --&gt;&#xd;
&#xd;
$calendarPortlet.render()&#xd;
&#xd;
&lt;!-- after render --&gt;&#xd;
&#xd;
&lt;br /&gt;&lt;br /&gt;&#xd;
cdataEnd&lt;/Template&gt;&lt;ComponentProperties&gt;&lt;![CDATA[cdataEnd&lt;/ComponentProperties&gt;&lt;GroupName&gt;&lt;![CDATA[Basic PagescdataEnd&lt;/GroupName&gt;&lt;RelatedComponents&gt;&lt;![CDATA[cdataEnd&lt;/RelatedComponents&gt;&lt;/attributes&gt;&lt;/article&gt;</escapedVersionValue>
						<contentCategories content-category-id="3779">
							<attributeName>Område</attributeName>
							<contentVersionId>11078</contentVersionId>
							<categoryId>323</categoryId>
						</contentCategories>
						<contentCategories content-category-id="3780">
							<attributeName>Område</attributeName>
							<contentVersionId>11078</contentVersionId>
							<categoryId>324</categoryId>
						</contentCategories>
						<contentCategories content-category-id="3781">
							<attributeName>Område</attributeName>
							<contentVersionId>11078</contentVersionId>
							<categoryId>309</categoryId>
						</contentCategories>
						<contentCategories content-category-id="3782">
							<attributeName>Område</attributeName>
							<contentVersionId>11078</contentVersionId>
							<categoryId>106</categoryId>
						</contentCategories>
						<contentCategories content-category-id="3783">
							<attributeName>Fakultet</attributeName>
							<contentVersionId>11078</contentVersionId>
							<categoryId>52</categoryId>
						</contentCategories>
					</contentVersions>
					<contentVersions content-version-id="11079">
						<stateId>3</stateId>
						<modifiedDateTime>2006-05-10T11:16:14.000+02:00</modifiedDateTime>
						<versionComment>hiuhih</versionComment>
						<isCheckedOut>false</isCheckedOut>
						<isActive>true</isActive>
						<language language-id="3">
							<name>Svenska</name>
							<languageCode>sv</languageCode>
							<charset>utf-8</charset>
						</language>
						<versionModifier>Administrator</versionModifier>
						<escapedVersionValue>&lt;?xml version='1.0' encoding='UTF-8'?&gt;&lt;article xmlns='x-schema:ArticleSchema.xml'&gt;&lt;attributes&gt;&lt;Name&gt;&lt;![CDATA[cdataEnd&lt;/Name&gt;&lt;Template&gt;&lt;![CDATA[#set($portletName = "infoglueCalendar.WebworkDispatcherPortlet")&#xd;
#set($actionName = "ViewEvent!doPublicGU")&#xd;
#set($numberOfItems = $templateLogic.componentLogic.getPropertyValue("numberOfItems"))&#xd;
&#xd;
#set($calendarPortlet = $portalLogic.getPortletWindow($portletName, "p$templateLogic.componentLogic.infoGlueComponent.id"))&#xd;
$calendarPortlet.setAttribute("componentId", $templateLogic.componentLogic.infoGlueComponent.id)&#xd;
$calendarPortlet.setAttribute("numberOfItems", $numberOfItems)&#xd;
$calendarPortlet.setAttribute("detailUrl", $templateLogic.componentLogic.getPageUrl("detailUrl"))&#xd;
$calendarPortlet.setAttribute("languageCode", $templateLogic.locale.language)&#xd;
$calendarPortlet.setAttribute("siteNodeId", $templateLogic.siteNodeId)&#xd;
$calendarPortlet.setParameter("action", $actionName)&#xd;
#if($templateLogic.componentLogic.getPropertyValue("CalendarId") != "")&#xd;
  $calendarPortlet.setParameter("calendarId", $templateLogic.componentLogic.getPropertyValue("CalendarId"))&#xd;
#end&#xd;
#if($templateLogic.getParameterValue("eventId") != "")&#xd;
  $calendarPortlet.setParameter("eventId", $templateLogic.getParameterValue("eventId"))&#xd;
#end&#xd;
$calendarPortlet.render()&#xd;
&#xd;
&lt;br /&gt;&lt;br /&gt;&#xd;
cdataEnd&lt;/Template&gt;&lt;ComponentProperties&gt;&lt;![CDATA[cdataEnd&lt;/ComponentProperties&gt;&lt;GroupName&gt;&lt;![CDATA[Basic PagescdataEnd&lt;/GroupName&gt;&lt;RelatedComponents&gt;&lt;![CDATA[cdataEnd&lt;/RelatedComponents&gt;&lt;/attributes&gt;&lt;/article&gt;</escapedVersionValue>
					</contentVersions>
					<contentVersions content-version-id="11080">
						<stateId>3</stateId>
						<modifiedDateTime>2005-11-07T18:54:34.000+01:00</modifiedDateTime>
						<versionComment>Publicerar mallar en sista gång</versionComment>
						<isCheckedOut>false</isCheckedOut>
						<isActive>true</isActive>
						<language language-id="3">
							<name>Svenska</name>
							<languageCode>sv</languageCode>
							<charset>utf-8</charset>
						</language>
						<versionModifier>Administrator</versionModifier>
						<escapedVersionValue>&lt;?xml version='1.0' encoding='UTF-8'?&gt;&lt;article xmlns='x-schema:ArticleSchema.xml'&gt;&lt;attributes&gt;&lt;Name&gt;&lt;![CDATA[cdataEnd&lt;/Name&gt;&lt;Template&gt;&lt;![CDATA[#set($portletName = "infoglueCalendar.WebworkDispatcherPortlet")&#xd;
#set($actionName = "ViewEvent!doPublicGU")&#xd;
#set($numberOfItems = $templateLogic.componentLogic.getPropertyValue("numberOfItems"))&#xd;
&#xd;
#set($calendarPortlet = $portalLogic.getPortletWindow($portletName, "p$templateLogic.componentLogic.infoGlueComponent.id"))&#xd;
$calendarPortlet.setAttribute("componentId", $templateLogic.componentLogic.infoGlueComponent.id)&#xd;
$calendarPortlet.setAttribute("numberOfItems", $numberOfItems)&#xd;
$calendarPortlet.setAttribute("detailUrl", $templateLogic.componentLogic.getPageUrl("detailUrl"))&#xd;
$calendarPortlet.setAttribute("languageCode", $templateLogic.locale.language)&#xd;
$calendarPortlet.setAttribute("siteNodeId", $templateLogic.siteNodeId)&#xd;
$calendarPortlet.setParameter("action", $actionName)&#xd;
#if($templateLogic.componentLogic.getPropertyValue("CalendarId") != "")&#xd;
  $calendarPortlet.setParameter("calendarId", $templateLogic.componentLogic.getPropertyValue("CalendarId"))&#xd;
#end&#xd;
#if($templateLogic.getParameterValue("eventId") != "")&#xd;
  $calendarPortlet.setParameter("eventId", $templateLogic.getParameterValue("eventId"))&#xd;
#end&#xd;
$calendarPortlet.render()&#xd;
&#xd;
&lt;br /&gt;&lt;br /&gt;&#xd;
cdataEnd&lt;/Template&gt;&lt;ComponentProperties&gt;&lt;![CDATA[cdataEnd&lt;/ComponentProperties&gt;&lt;GroupName&gt;&lt;![CDATA[Basic PagescdataEnd&lt;/GroupName&gt;&lt;RelatedComponents&gt;&lt;![CDATA[cdataEnd&lt;/RelatedComponents&gt;&lt;/attributes&gt;&lt;/article&gt;</escapedVersionValue>
					</contentVersions>
					<contentVersions content-version-id="11081">
						<stateId>3</stateId>
						<modifiedDateTime>2005-11-07T00:41:37.000+01:00</modifiedDateTime>
						<versionComment>Publicerar version 1.0</versionComment>
						<isCheckedOut>false</isCheckedOut>
						<isActive>true</isActive>
						<language language-id="1">
							<name>English</name>
							<languageCode>en</languageCode>
							<charset>utf-8</charset>
						</language>
						<versionModifier>Administrator</versionModifier>
						<escapedVersionValue>&lt;?xml version='1.0' encoding='UTF-8'?&gt;&lt;article xmlns='x-schema:ArticleSchema.xml'&gt;&lt;attributes&gt;&lt;Name&gt;&lt;![CDATA[cdataEnd&lt;/Name&gt;&lt;Template&gt;&lt;![CDATA[#set($portletName = "infoglueCalendar.WebworkDispatcherPortlet")&#xd;
#set($actionName = "ViewEvent!doPublicGU")&#xd;
#set($numberOfItems = $templateLogic.componentLogic.getPropertyValue("numberOfItems"))&#xd;
&#xd;
#set($calendarPortlet = $portalLogic.getPortletWindow($portletName, "p$templateLogic.componentLogic.infoGlueComponent.id"))&#xd;
$calendarPortlet.setAttribute("componentId", $templateLogic.componentLogic.infoGlueComponent.id)&#xd;
$calendarPortlet.setAttribute("numberOfItems", $numberOfItems)&#xd;
$calendarPortlet.setAttribute("detailUrl", $templateLogic.componentLogic.getPageUrl("detailUrl"))&#xd;
$calendarPortlet.setAttribute("languageCode", $templateLogic.locale.language)&#xd;
$calendarPortlet.setAttribute("siteNodeId", $templateLogic.siteNodeId)&#xd;
$calendarPortlet.setParameter("action", $actionName)&#xd;
#if($templateLogic.componentLogic.getPropertyValue("CalendarId") != "")&#xd;
  $calendarPortlet.setParameter("calendarId", $templateLogic.componentLogic.getPropertyValue("CalendarId"))&#xd;
#end&#xd;
#if($templateLogic.getParameterValue("eventId") != "")&#xd;
  $calendarPortlet.setParameter("eventId", $templateLogic.getParameterValue("eventId"))&#xd;
#end&#xd;
$calendarPortlet.render()&#xd;
&#xd;
&lt;br /&gt;&lt;br /&gt;&#xd;
cdataEnd&lt;/Template&gt;&lt;ComponentProperties&gt;&lt;![CDATA[cdataEnd&lt;/ComponentProperties&gt;&lt;GroupName&gt;&lt;![CDATA[Basic PagescdataEnd&lt;/GroupName&gt;&lt;RelatedComponents&gt;&lt;![CDATA[cdataEnd&lt;/RelatedComponents&gt;&lt;/attributes&gt;&lt;/article&gt;</escapedVersionValue>
					</contentVersions>
					<creator>Administrator</creator>
				</children>
				<children content-id="8939">
					<name>Eventlista komponent</name>
					<publishDateTime>2005-08-31T10:53:00.000+02:00</publishDateTime>
					<expireDateTime>2015-08-31T10:53:00.000+02:00</expireDateTime>
					<isBranch>false</isBranch>
					<isProtected>2</isProtected>
					<contentTypeDefinitionId>4</contentTypeDefinitionId>
					<repositoryId>71</repositoryId>
					<contentVersions content-version-id="11082">
						<stateId>0</stateId>
						<modifiedDateTime>2007-09-28T10:53:22.000+02:00</modifiedDateTime>
						<versionComment>No comment</versionComment>
						<isCheckedOut>false</isCheckedOut>
						<isActive>true</isActive>
						<language language-id="3">
							<name>Svenska</name>
							<languageCode>sv</languageCode>
							<charset>utf-8</charset>
						</language>
						<versionModifier>Administrator</versionModifier>
						<escapedVersionValue>&lt;?xml version='1.0' encoding='UTF-8'?&gt;&lt;article xmlns='x-schema:ArticleSchema.xml'&gt;&lt;attributes&gt;&lt;Name&gt;&lt;![CDATA[cdataEnd&lt;/Name&gt;&lt;Template&gt;&lt;![CDATA[#set($title = "Kalender")&#xd;
#if($templateLogic.locale.language == "en")&#xd;
  #set($title = "Calendar")&#xd;
#end&#xd;
&#xd;
&lt;h2&gt;$title&lt;/h2&gt;&#xd;
&#xd;
#set($portletName = "infoglueCalendar.WebworkDispatcherPortlet")&#xd;
#set($actionName = "ViewEventList!shortListGU")&#xd;
#set($numberOfItems = $templateLogic.componentLogic.getPropertyValue("numberOfItems"))&#xd;
&#xd;
#set($calendarPortlet = $portalLogic.getPortletWindow($portletName, "p$templateLogic.componentLogic.infoGlueComponent.id"))&#xd;
$calendarPortlet.setAttribute("componentId", $templateLogic.componentLogic.infoGlueComponent.id)&#xd;
$calendarPortlet.setAttribute("numberOfItems", $numberOfItems)&#xd;
$calendarPortlet.setAttribute("detailUrl", $templateLogic.componentLogic.getPageUrl("detailUrl"))&#xd;
$calendarPortlet.setAttribute("languageCode", $templateLogic.locale.language)&#xd;
$calendarPortlet.setAttribute("siteNodeId", $templateLogic.siteNodeId)&#xd;
$calendarPortlet.setParameter("action", $actionName)&#xd;
#if($templateLogic.componentLogic.getPropertyValue("CalendarId") != "")&#xd;
  $calendarPortlet.setParameter("calendarId", $templateLogic.componentLogic.getPropertyValue("CalendarId"))&#xd;
#end&#xd;
#if($templateLogic.getParameterValue("eventId") != "")&#xd;
  $calendarPortlet.setParameter("eventId", $templateLogic.getParameterValue("eventId"))&#xd;
#end&#xd;
$calendarPortlet.setParameter("includedLanguages", $templateLogic.locale.language)&#xd;
&#xd;
$calendarPortlet.render()&#xd;
&#xd;
&lt;br /&gt;&lt;br /&gt;&#xd;
cdataEnd&lt;/Template&gt;&lt;ComponentProperties&gt;&lt;![CDATA[&lt;?xml version="1.0" encoding="UTF-8"?&gt;&#xd;
&lt;properties&gt;&#xd;
  &lt;property name="numberOfItems" type="textfield"/&gt;&#xd;
&lt;/properties&gt;cdataEnd&lt;/ComponentProperties&gt;&lt;GroupName&gt;&lt;![CDATA[Basic PagescdataEnd&lt;/GroupName&gt;&lt;RelatedComponents&gt;&lt;![CDATA[cdataEnd&lt;/RelatedComponents&gt;&lt;/attributes&gt;&lt;/article&gt;</escapedVersionValue>
					</contentVersions>
					<contentVersions content-version-id="11083">
						<stateId>3</stateId>
						<modifiedDateTime>2005-11-07T23:20:26.000+01:00</modifiedDateTime>
						<versionComment>Publicerar fix</versionComment>
						<isCheckedOut>false</isCheckedOut>
						<isActive>true</isActive>
						<language language-id="1">
							<name>English</name>
							<languageCode>en</languageCode>
							<charset>utf-8</charset>
						</language>
						<versionModifier>xandej</versionModifier>
						<escapedVersionValue>&lt;?xml version='1.0' encoding='UTF-8'?&gt;&lt;article xmlns='x-schema:ArticleSchema.xml'&gt;&lt;attributes&gt;&lt;Name&gt;&lt;![CDATA[cdataEnd&lt;/Name&gt;&lt;Template&gt;&lt;![CDATA[&lt;h2&gt;Kalender&lt;/h2&gt;&#xd;
&#xd;
#set($portletName = "infoglueCalendar.WebworkDispatcherPortlet")&#xd;
#set($actionName = "ViewEventList!shortListGU")&#xd;
#set($numberOfItems = $templateLogic.componentLogic.getPropertyValue("numberOfItems"))&#xd;
&#xd;
#set($calendarPortlet = $portalLogic.getPortletWindow($portletName, "p$templateLogic.componentLogic.infoGlueComponent.id"))&#xd;
$calendarPortlet.setAttribute("componentId", $templateLogic.componentLogic.infoGlueComponent.id)&#xd;
$calendarPortlet.setAttribute("numberOfItems", $numberOfItems)&#xd;
$calendarPortlet.setAttribute("detailUrl", $templateLogic.componentLogic.getPageUrl("detailUrl"))&#xd;
$calendarPortlet.setAttribute("languageCode", $templateLogic.locale.language)&#xd;
$calendarPortlet.setAttribute("siteNodeId", $templateLogic.siteNodeId)&#xd;
$calendarPortlet.setParameter("action", $actionName)&#xd;
#if($templateLogic.componentLogic.getPropertyValue("CalendarId") != "")&#xd;
  $calendarPortlet.setParameter("calendarId", $templateLogic.componentLogic.getPropertyValue("CalendarId"))&#xd;
#end&#xd;
#if($templateLogic.getParameterValue("eventId") != "")&#xd;
  $calendarPortlet.setParameter("eventId", $templateLogic.getParameterValue("eventId"))&#xd;
#end&#xd;
$calendarPortlet.render()&#xd;
&#xd;
&lt;br /&gt;&lt;br /&gt;&#xd;
cdataEnd&lt;/Template&gt;&lt;ComponentProperties&gt;&lt;![CDATA[&lt;?xml version="1.0" encoding="UTF-8"?&gt;&#xd;
&lt;properties&gt;&#xd;
  &lt;property name="numberOfItems" type="textfield"/&gt;&#xd;
&lt;/properties&gt;cdataEnd&lt;/ComponentProperties&gt;&lt;GroupName&gt;&lt;![CDATA[Basic PagescdataEnd&lt;/GroupName&gt;&lt;RelatedComponents&gt;&lt;![CDATA[cdataEnd&lt;/RelatedComponents&gt;&lt;/attributes&gt;&lt;/article&gt;</escapedVersionValue>
					</contentVersions>
					<creator>Administrator</creator>
				</children>
				<children content-id="8940">
					<name>EventPuff komponent</name>
					<publishDateTime>2005-08-22T16:52:00.000+02:00</publishDateTime>
					<expireDateTime>2015-08-22T16:52:00.000+02:00</expireDateTime>
					<isBranch>false</isBranch>
					<isProtected>2</isProtected>
					<contentTypeDefinitionId>4</contentTypeDefinitionId>
					<repositoryId>71</repositoryId>
					<contentVersions content-version-id="11084">
						<stateId>3</stateId>
						<modifiedDateTime>2008-10-09T09:03:38.000+02:00</modifiedDateTime>
						<versionComment>contentVersioncontentVersioncontentVersioncontentVersion</versionComment>
						<isCheckedOut>false</isCheckedOut>
						<isActive>true</isActive>
						<language language-id="1">
							<name>English</name>
							<languageCode>en</languageCode>
							<charset>utf-8</charset>
						</language>
						<versionModifier>Administrator</versionModifier>
						<escapedVersionValue>&lt;?xml version='1.0' encoding='UTF-8'?&gt;&lt;article xmlns='x-schema:ArticleSchema.xml'&gt;&lt;attributes&gt;&lt;Name&gt;&lt;![CDATA[EventList komponentcdataEnd&lt;/Name&gt;&lt;Template&gt;&lt;![CDATA[#set($title = "Kalender")&#xd;
#set($toCalendarTitle = "till kalendern")&#xd;
#set($toCalendarLabel = "Till kalendern &amp;raquo;")&#xd;
#if($templateLogic.locale.language == "en")&#xd;
  #set($title = "Calendar")&#xd;
  #set($toCalendarTitle = "to the calendar")&#xd;
  #set($toCalendarLabel = "To the calendar &amp;raquo;")&#xd;
#end&#xd;
&#xd;
&lt;h1&gt;$title&lt;/h1&gt;&#xd;
&lt;div class="calendar"&gt;&#xd;
#set($portletName = "infoglueCalendar.WebworkDispatcherPortlet")&#xd;
#set($actionName = "ViewEventList!shortListGU")&#xd;
#set($numberOfItems = $templateLogic.componentLogic.getPropertyValue("numberOfItems"))&#xd;
&#xd;
#set($calendarPortlet = $portalLogic.getPortletWindow($portletName, "p$templateLogic.componentLogic.infoGlueComponent.id"))&#xd;
$calendarPortlet.setAttribute("componentId", $templateLogic.componentLogic.infoGlueComponent.id)&#xd;
$calendarPortlet.setAttribute("numberOfItems", $numberOfItems)&#xd;
$calendarPortlet.setAttribute("detailUrl", $templateLogic.componentLogic.getPageUrl("detailUrl"))&#xd;
$calendarPortlet.setAttribute("languageCode", $templateLogic.locale.language)&#xd;
$calendarPortlet.setAttribute("siteNodeId", $templateLogic.siteNodeId)&#xd;
$calendarPortlet.setParameter("action", $actionName)&#xd;
#if($templateLogic.componentLogic.getPropertyValue("CalendarId") != "")&#xd;
  $calendarPortlet.setParameter("calendarId", $templateLogic.componentLogic.getPropertyValue("CalendarId"))&#xd;
#end&#xd;
#if($templateLogic.getParameterValue("eventId") != "")&#xd;
  $calendarPortlet.setParameter("eventId", $templateLogic.getParameterValue("eventId"))&#xd;
#end&#xd;
$calendarPortlet.setParameter("includedLanguages", $templateLogic.locale.language)&#xd;
&#xd;
$calendarPortlet.render()&#xd;
&#xd;
&lt;p class="right"&gt;&lt;a href="$templateLogic.componentLogic.getPageUrl("CalendarPage")" class="goto" title="$toCalendarTitle"&gt;$toCalendarLabel&lt;/a&gt;&lt;/p&gt;&#xd;
&lt;br /&gt;&#xd;
&lt;/div&gt;cdataEnd&lt;/Template&gt;&lt;ComponentProperties&gt;&lt;![CDATA[&lt;?xml version='1.0' encoding='UTF-8'?&gt;&lt;properties&gt;&lt;property name='CalendarId' type='textfield' entity='' multiple='false' allowedContentTypeDefinitionNames='' description=''/&gt;&lt;property name='detailUrl' type='binding' entity='SiteNode' multiple='false' allowedContentTypeDefinitionNames='' description=''/&gt;&lt;property name='numberOfItems' type='textfield' entity='' multiple='false' allowedContentTypeDefinitionNames='' description=''/&gt;&lt;property name='CalendarPage' type='binding' entity='SiteNode' multiple='false' allowedContentTypeDefinitionNames='' description=''/&gt;&lt;/properties&gt;cdataEnd&lt;/ComponentProperties&gt;&lt;GroupName&gt;&lt;![CDATA[Basic PagescdataEnd&lt;/GroupName&gt;&lt;RelatedComponents&gt;&lt;![CDATA[cdataEnd&lt;/RelatedComponents&gt;&lt;IGAuthorFullName&gt;&lt;![CDATA[System AdministratorcdataEnd&lt;/IGAuthorFullName&gt;&lt;IGAuthorEmail&gt;&lt;![CDATA[mattias.bogeblad@modul1.secdataEnd&lt;/IGAuthorEmail&gt;&lt;/attributes&gt;&lt;/article&gt;</escapedVersionValue>
					</contentVersions>
					<creator>Administrator</creator>
				</children>
				<children content-id="8941">
					<name>Kalender GUI Puff</name>
					<publishDateTime>2008-11-07T15:37:00.000+01:00</publishDateTime>
					<expireDateTime>2058-11-07T15:37:00.000+01:00</expireDateTime>
					<isBranch>false</isBranch>
					<isProtected>2</isProtected>
					<contentTypeDefinitionId>4</contentTypeDefinitionId>
					<repositoryId>71</repositoryId>
					<contentVersions content-version-id="11085">
						<stateId>0</stateId>
						<modifiedDateTime>2008-11-07T15:54:29.000+01:00</modifiedDateTime>
						<versionComment>No comment</versionComment>
						<isCheckedOut>false</isCheckedOut>
						<isActive>true</isActive>
						<language language-id="1">
							<name>English</name>
							<languageCode>en</languageCode>
							<charset>utf-8</charset>
						</language>
						<versionModifier>Administrator</versionModifier>
						<escapedVersionValue>&lt;?xml version='1.0' encoding='UTF-8'?&gt;&lt;article xmlns='x-schema:ArticleSchema.xml'&gt;&lt;attributes&gt;&lt;Name&gt;&lt;![CDATA[cdataEnd&lt;/Name&gt;&lt;ComponentLabels&gt;&lt;![CDATA[monthLabel=Månad&#xd;
guiCalendarHeadlineLabel=Aktuella evenemang&#xd;
currentEventsLabel=Aktuella evenemang&#xd;
searchEventLabel=Sök evenemang&#xd;
searchEventButtonLabel=Sök&#xd;
categoryFilterLabel=Sortera på kategori&#xd;
cdataEnd&lt;/ComponentLabels&gt;&lt;GroupName&gt;&lt;![CDATA[Basic PagescdataEnd&lt;/GroupName&gt;&lt;Template&gt;&lt;![CDATA[&lt;%@ taglib uri="infoglue-structure" prefix="structure" %&gt;&#xd;
&lt;%@ taglib uri="infoglue-content" prefix="content" %&gt;&#xd;
&lt;%@ taglib uri="infoglue-common" prefix="common" %&gt;&#xd;
&lt;%@ taglib uri="infoglue-page" prefix="page" %&gt;&#xd;
&lt;%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %&gt;&#xd;
&#xd;
&lt;%@ page contentType="text/html; charset=UTF-8" %&gt;&#xd;
&#xd;
&lt;%@page import="org.infoglue.cms.applications.common.VisualFormatter, java.util.GregorianCalendar, java.util.Calendar"%&gt;&#xd;
&#xd;
&#xd;
&lt;%@page import="org.infoglue.cms.util.dom.DOMBuilder"%&gt;&#xd;
&lt;%@page import="org.infoglue.deliver.util.CacheController"%&gt;&#xd;
&#xd;
&lt;page:pageContext id="pc"/&gt;&#xd;
&lt;c:set var="pageLocale" value="${pc.locale}"/&gt; &#xd;
&#xd;
&lt;%&#xd;
VisualFormatter vf = new VisualFormatter();&#xd;
&#xd;
java.util.Calendar now = java.util.Calendar.getInstance();&#xd;
String nowDateTimeString = vf.formatDate(now.getTime(), "yyyy-MM-dd");&#xd;
//Setting up back and forward dates&#xd;
java.util.Calendar calendarMonthCalendar = Calendar.getInstance();&#xd;
if(request.getParameter("calendarMonth") != null)&#xd;
{&#xd;
	java.util.Date monthDate = vf.parseDate(request.getParameter("calendarMonth"), "yyyy-MM");&#xd;
	calendarMonthCalendar.setTime(monthDate);&#xd;
}&#xd;
String calendarMonthDateTimeString = vf.formatDate(calendarMonthCalendar.getTime(), "yyyy-MM");&#xd;
pageContext.setAttribute("calendarMonthDateTimeString", calendarMonthDateTimeString);&#xd;
&#xd;
java.util.Calendar previousCalendarMonthCalendar = java.util.Calendar.getInstance();&#xd;
previousCalendarMonthCalendar.setTime(calendarMonthCalendar.getTime());&#xd;
previousCalendarMonthCalendar.add(Calendar.MONTH, -1);&#xd;
String calendarMonthPreviousDateTimeString = vf.formatDate(previousCalendarMonthCalendar.getTime(), "yyyy-MM");&#xd;
pageContext.setAttribute("calendarMonthPreviousDateTimeString", calendarMonthPreviousDateTimeString);&#xd;
&#xd;
java.util.Calendar nextCalendarMonthCalendar = java.util.Calendar.getInstance();&#xd;
nextCalendarMonthCalendar.setTime(calendarMonthCalendar.getTime());&#xd;
nextCalendarMonthCalendar.add(Calendar.MONTH, +1);&#xd;
String calendarMonthNextDateTimeString = vf.formatDate(nextCalendarMonthCalendar.getTime(), "yyyy-MM");&#xd;
pageContext.setAttribute("calendarMonthNextDateTimeString", calendarMonthNextDateTimeString);&#xd;
&#xd;
//Month date&#xd;
String monthDateString = vf.formatDate(now.getTime(), "yyyy-MM");&#xd;
pageContext.setAttribute("monthDateString", monthDateString);&#xd;
&#xd;
//Current date&#xd;
String currentDateString = vf.formatDate(now.getTime(), "yyyy-MM-dd");&#xd;
pageContext.setAttribute("currentDateString", currentDateString);&#xd;
&#xd;
//Seven days ahead span&#xd;
java.util.Calendar weekCalendar = java.util.Calendar.getInstance();&#xd;
String weekStartDateTimeString = vf.formatDate(weekCalendar.getTime(), "yyyy-MM-dd");&#xd;
pageContext.setAttribute("weekStartDateTimeString", weekStartDateTimeString);&#xd;
weekCalendar.add(java.util.Calendar.DAY_OF_MONTH, 7);&#xd;
String weekEndDateTimeString = vf.formatDate(weekCalendar.getTime(), "yyyy-MM-dd");&#xd;
pageContext.setAttribute("weekEndDateTimeString", weekEndDateTimeString);&#xd;
&#xd;
//Month span&#xd;
java.util.Calendar monthCalendar = java.util.Calendar.getInstance();&#xd;
monthCalendar.set(java.util.Calendar.DAY_OF_MONTH, 1); &#xd;
String monthStartDateTimeString = vf.formatDate(monthCalendar.getTime(), "yyyy-MM-dd");&#xd;
pageContext.setAttribute("monthStartDateTimeString", monthStartDateTimeString);&#xd;
int lastDate = monthCalendar.getActualMaximum(java.util.Calendar.DATE);&#xd;
monthCalendar.set(java.util.Calendar.DAY_OF_MONTH, lastDate); &#xd;
String monthEndDateTimeString = vf.formatDate(monthCalendar.getTime(), "yyyy-MM-dd");&#xd;
pageContext.setAttribute("monthEndDateTimeString", monthEndDateTimeString);&#xd;
%&gt;&#xd;
&#xd;
&lt;structure:componentPropertyValue id="calendaIds" propertyName="CalendarId"/&gt;&#xd;
&lt;structure:boundPage id="detailPage" propertyName="detailUrl"/&gt;&#xd;
&#xd;
&lt;common:urlBuilder id="eventsRESTServletUrl" baseURL="http://localhost:8080/infoglueCalendar/EventsRESTServlet" query=""&gt;&#xd;
	&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
	&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
	&lt;common:parameter name="calendarId" value="${calendaIds}"/&gt;&#xd;
	&lt;common:parameter name="calendarMonth" value="${calendarMonthDateTimeString}"/&gt;&#xd;
&lt;/common:urlBuilder&gt;&#xd;
	&#xd;
&lt;common:urlBuilder id="calendarMonthBackwardUrl" excludedQueryStringParameters="siteNodeId,languageId,categoryAttribute,categoryNames,startDateTime,endDateTime,calendarMonth"&gt;&#xd;
	&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
	&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
	&lt;common:parameter name="calendarMonth" value="${calendarMonthPreviousDateTimeString}"/&gt;&#xd;
&lt;/common:urlBuilder&gt;&#xd;
&#xd;
&lt;common:urlBuilder id="calendarMonthForwardUrl" excludedQueryStringParameters="siteNodeId,languageId,categoryAttribute,categoryNames,startDateTime,endDateTime,calendarMonth"&gt;&#xd;
	&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
	&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
	&lt;common:parameter name="calendarMonth" value="${calendarMonthNextDateTimeString}"/&gt;&#xd;
&lt;/common:urlBuilder&gt;&#xd;
&#xd;
&lt;style type="text/css"&gt;&#xd;
#igcalendar {&#xd;
    width: 174px;&#xd;
    height: 160px;&#xd;
	border-width: 0px 0px 0px 0px;&#xd;
	border-spacing: 0px;&#xd;
	border-style: none none none none;&#xd;
	border-color: gray gray gray gray;&#xd;
	border-collapse: collapse;&#xd;
	background-color: white;&#xd;
}&#xd;
#igcalendar th {&#xd;
	border-width: 1px 1px 1px 1px;&#xd;
	padding: 2px 2px 2px 2px;&#xd;
	border-style: solid solid solid solid;&#xd;
	border-color: gray gray gray gray;&#xd;
	background-color: white;&#xd;
	-moz-border-radius: 0px 0px 0px 0px;&#xd;
}&#xd;
#igcalendar td {&#xd;
	border-width: 1px 1px 1px 1px;&#xd;
	padding: 2px 2px 2px 2px;&#xd;
	border-style: solid solid solid solid;&#xd;
	border-color: #9cbede #9cbede #9cbede #9cbede;&#xd;
	background-color: #deebf7;&#xd;
	-moz-border-radius: 0px 0px 0px 0px;&#xd;
	text-align: center;&#xd;
    vertical-align: middle;&#xd;
}&#xd;
#igcalendar td.today {&#xd;
    background-color: #c3ddf7;&#xd;
}&#xd;
#igcalendar td a {&#xd;
	color: black;&#xd;
}&#xd;
&lt;/style&gt;&#xd;
&#xd;
&lt;%&#xd;
	String eventsRESTServletUrl = (String)pageContext.getAttribute("eventsRESTServletUrl");&#xd;
	java.util.Map daysEvents = (java.util.Map)org.infoglue.deliver.util.CacheController.getCachedObjectFromAdvancedCache("calendarEventsCache", "" + eventsRESTServletUrl, 300);&#xd;
	if(daysEvents == null)&#xd;
	{&#xd;
		org.infoglue.deliver.util.HttpHelper httpHelper = new org.infoglue.deliver.util.HttpHelper();&#xd;
		String monthEventsXML = httpHelper.getUrlContent(eventsRESTServletUrl, new java.util.HashMap(), new java.util.HashMap(), "iso-8859-1", 5000);&#xd;
		&#xd;
		//System.out.println("monthEventsXML:" + monthEventsXML);&#xd;
		&#xd;
		daysEvents = new java.util.HashMap();&#xd;
		&#xd;
		DOMBuilder domBuilder = new DOMBuilder();&#xd;
		org.dom4j.Document document = domBuilder.getDocument(monthEventsXML);&#xd;
		&#xd;
		java.util.List events = document.getRootElement().selectNodes("event");&#xd;
		&#xd;
		java.util.Iterator eventsIterator = events.iterator();&#xd;
		while(eventsIterator.hasNext())&#xd;
		{&#xd;
			org.dom4j.Element eventElement = (org.dom4j.Element)eventsIterator.next();&#xd;
			&#xd;
			String idString = eventElement.attributeValue("id");&#xd;
			String startDateString = eventElement.attributeValue("startDate");&#xd;
&#xd;
			String endDateString = eventElement.attributeValue("endDate");&#xd;
			java.util.Date startDate = vf.parseDate(startDateString, "yyyy-MM-dd");&#xd;
			java.util.Date endDate = vf.parseDate(endDateString, "yyyy-MM-dd");&#xd;
			&#xd;
			java.util.Calendar startDateCalendar = java.util.Calendar.getInstance();&#xd;
			startDateCalendar.setTime(startDate);&#xd;
			java.util.Calendar endDateCalendar = java.util.Calendar.getInstance();&#xd;
			endDateCalendar.setTime(endDate);&#xd;
	   		&#xd;
			while(startDateCalendar.get(java.util.Calendar.DAY_OF_MONTH) &lt;= endDateCalendar.get(java.util.Calendar.DAY_OF_MONTH))&#xd;
	   		{&#xd;
	   			int dayOfMonth = startDateCalendar.get(java.util.Calendar.DAY_OF_MONTH);&#xd;
	   			java.util.List&lt;java.util.Map&gt; dayEvents = (java.util.List&lt;java.util.Map&gt;)daysEvents.get("day_" + dayOfMonth);&#xd;
	   			if(dayEvents == null)&#xd;
	   			{&#xd;
	   				dayEvents = new java.util.ArrayList&lt;java.util.Map&gt;();&#xd;
	   				daysEvents.put("day_" + dayOfMonth, dayEvents);&#xd;
	   			}&#xd;
	   			&#xd;
	   			java.util.Map eventMap = new java.util.HashMap();&#xd;
	   			eventMap.put("id", idString);&#xd;
	   			eventMap.put("startDateString", startDateString);&#xd;
	   			eventMap.put("endDateString", endDateString);&#xd;
	   			dayEvents.add(eventMap);&#xd;
	   			startDateCalendar.add(java.util.Calendar.DAY_OF_MONTH, 1);&#xd;
	   		}&#xd;
		}&#xd;
		&#xd;
		org.infoglue.deliver.util.CacheController.cacheObjectInAdvancedCache("calendarEventsCache", "" + eventsRESTServletUrl, daysEvents);&#xd;
	}&#xd;
		&#xd;
	/** The days in each month. */&#xd;
	int dom[] = {&#xd;
		31, 28, 31, 30,  /* jan feb mar apr */&#xd;
	    31, 30, 31, 31, /* may jun jul aug */&#xd;
	    30, 31, 30, 31  /* sep oct nov dec */&#xd;
	};&#xd;
&#xd;
	/** The number of days to leave blank at the start of this month */&#xd;
	int leadGap = 0;&#xd;
	int yy = calendarMonthCalendar.get(Calendar.YEAR);&#xd;
	int mm = calendarMonthCalendar.get(Calendar.MONTH);&#xd;
	if(mm == -1)&#xd;
	{&#xd;
		yy = yy - 1;&#xd;
		mm = 11;&#xd;
	}&#xd;
	java.util.Locale pageLocale = (java.util.Locale)pageContext.getAttribute("pageLocale");&#xd;
	//out.print(yy + ":" + mm);&#xd;
	%&gt;&#xd;
	&#xd;
&lt;div class="relatedhead_area2"&gt;&lt;h1 class="related_head"&gt;&lt;structure:componentLabel mapKeyName="guiCalendarHeadlineLabel"/&gt;&lt;/h1&gt;&lt;/div&gt;&#xd;
&lt;div class="margin_related" style="margin: 0px; padding: 0px;"&gt;&#xd;
	&lt;table id="igcalendar" class="igcalendar"&gt;&#xd;
		&lt;% &#xd;
		GregorianCalendar calendar = new GregorianCalendar(yy, mm, 1); &#xd;
		calendar.setFirstDayOfWeek(Calendar.MONDAY);&#xd;
		%&gt;&#xd;
		&lt;tr&gt;&lt;td valign="bottom"&gt;Mo&lt;td valign="middle"&gt;Tu&lt;/td&gt;&lt;td&gt;We&lt;/td&gt;&lt;td&gt;Th&lt;/td&gt;&lt;td&gt;Fr&lt;/td&gt;&lt;td&gt;Sa&lt;/td&gt;&lt;td&gt;Su&lt;/td&gt;&lt;/tr&gt;&#xd;
		&lt;%&#xd;
		    leadGap = calendar.get(Calendar.DAY_OF_WEEK)-2;&#xd;
		    if(leadGap == -1)&#xd;
		    	leadGap = 6;&#xd;
		 	&#xd;
		    int daysInMonth = dom[mm];&#xd;
		    if (calendar.isLeapYear(calendar.get(Calendar.YEAR)) &amp;&amp; mm == 1)&#xd;
		      	++daysInMonth;&#xd;
		 &#xd;
		    out.print("&lt;tr&gt;");&#xd;
		 &#xd;
		    // Blank out the labels before 1st day of month&#xd;
		    for (int i = 0; i &lt; leadGap; i++) {&#xd;
		      	out.print("&lt;td&gt;&amp;nbsp;&lt;/td&gt;");&#xd;
		    }&#xd;
		 &#xd;
		    // Fill in numbers for the day of month.&#xd;
		    int endGap = 7;&#xd;
		    for (int i = 1; i &lt;= daysInMonth; i++) &#xd;
		    {&#xd;
		    	String dateTimeString = vf.formatDate(calendar.getTime(), "yyyy-MM-") + (i&lt;10 ? "0" : "") + i;&#xd;
		    	pageContext.setAttribute("currentDateTimeString", dateTimeString);&#xd;
		    	%&gt;&#xd;
		    	&lt;common:urlBuilder id="calendarDateTimeFilterCurrentUrl" baseURL="${detailPage.url}" disableNiceURI="true" excludedQueryStringParameters="siteNodeId,languageId,categoryAttribute,categoryNames,startDateTime,endDateTime"&gt;&#xd;
					&lt;common:parameter name="siteNodeId" value="${detailPage.siteNodeId}"/&gt;&#xd;
					&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
					&lt;common:parameter name="startDateTime" value="${currentDateTimeString}"/&gt;&#xd;
					&lt;common:parameter name="endDateTime" value="${currentDateTimeString}"/&gt;&#xd;
				&lt;/common:urlBuilder&gt;&#xd;
				&lt;%		 	&#xd;
		     	out.print("&lt;td" + (dateTimeString.equals(nowDateTimeString) ? " class=\"today\"" : "") + "&gt;");&#xd;
		      	&#xd;
		      	if(daysEvents.containsKey("day_" + i))&#xd;
					out.print("&lt;a href=\"" + pageContext.getAttribute("calendarDateTimeFilterCurrentUrl") + "\"&gt;&lt;b&gt;" + i + "&lt;b&gt;&lt;a&gt;");&#xd;
			  	else&#xd;
			      	out.print("&lt;a href=\"" + pageContext.getAttribute("calendarDateTimeFilterCurrentUrl") + "\"&gt;" + i + "&lt;a&gt;");&#xd;
				&#xd;
		      	out.print("&lt;/td&gt;");&#xd;
		 		endGap--;&#xd;
		 		&#xd;
		      	if ((leadGap + i) % 7 == 0) {    // wrap if end of line.&#xd;
&#xd;
		        	out.println("&lt;/tr&gt;");&#xd;
		        	out.print("&lt;tr&gt;");&#xd;
		        	endGap = 7;&#xd;
		      	}&#xd;
		    }&#xd;
		    &#xd;
		    if(endGap &lt; 7)&#xd;
		    {&#xd;
		    	for(int i=0; i&lt;endGap; i++)&#xd;
		    		out.print("&lt;td&gt;&amp;nbsp;&lt;/td&gt;");&#xd;
		    }&#xd;
		%&gt;&#xd;
		&lt;/tr&gt;&#xd;
		&lt;tr&gt;&lt;td style="background-color: #9cbede;"&gt;&lt;a href="&lt;c:out value="${calendarMonthBackwardUrl}"/&gt;"&gt;&amp;laquo;&lt;/a&gt;&lt;/td&gt;&lt;td  style="background-color: #9cbede; color: white;" colspan="5" align="center"&gt;&lt;b&gt;&lt;%= vf.formatDate(calendarMonthCalendar.getTime(), pageLocale, "MMMM") %&gt; &lt;%= yy %&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="background-color: #9cbede;"&gt;&lt;a href="&lt;c:out value="${calendarMonthForwardUrl}"/&gt;"&gt;&amp;raquo;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&#xd;
	&lt;/table&gt;&#xd;
&lt;/div&gt;&#xd;
cdataEnd&lt;/Template&gt;&lt;ComponentProperties&gt;&lt;![CDATA[&lt;?xml version='1.0' encoding='UTF-8'?&gt;&#xd;
&lt;properties&gt;&#xd;
	&lt;property name='CalendarId' displayName='CalendarId' type='select'&#xd;
		multiple='false' assetBinding='false' isPuffContentForPage='false'&#xd;
		description='Välj kalendrar' defaultValue=''&#xd;
		dataProvider='org.infoglue.deliver.integration.dataproviders.RemoteXMLPropertyOptionsDataProvider'&#xd;
		dataProviderParameters='serviceUrl=http://localhost:8080/infoglueCalendar/CalendarRESTServlet;charset=iso8859-1'&#xd;
		allowMultipleSelections='true'&gt;&lt;/property&gt;&#xd;
	&lt;property name='detailUrl' displayName='detailUrl' type='binding'&#xd;
		entity='SiteNode' multiple='false' assetBinding='false'&#xd;
		isPuffContentForPage='false' allowedContentTypeDefinitionNames=''&#xd;
		description='' defaultValue='' WYSIWYGEnabled='false' WYSIWYGToolbar=''&#xd;
		dataProvider='' dataProviderParameters='' autoCreateContent='false'&#xd;
		autoCreateContentMethod='' autoCreateContentPath='' customMarkup='' /&gt;&#xd;
&lt;/properties&gt;cdataEnd&lt;/ComponentProperties&gt;&lt;RelatedComponents&gt;&lt;![CDATA[cdataEnd&lt;/RelatedComponents&gt;&lt;/attributes&gt;&lt;/article&gt;</escapedVersionValue>
					</contentVersions>
					<creator>Administrator</creator>
				</children>
				<children content-id="8942">
					<name>Kalenderfunktionsmeny</name>
					<publishDateTime>2008-10-31T16:03:00.000+01:00</publishDateTime>
					<expireDateTime>2058-10-31T16:03:00.000+01:00</expireDateTime>
					<isBranch>false</isBranch>
					<isProtected>2</isProtected>
					<contentTypeDefinitionId>4</contentTypeDefinitionId>
					<repositoryId>71</repositoryId>
					<contentVersions content-version-id="11086">
						<stateId>0</stateId>
						<modifiedDateTime>2008-11-19T16:49:02.000+01:00</modifiedDateTime>
						<versionComment>No comment</versionComment>
						<isCheckedOut>false</isCheckedOut>
						<isActive>true</isActive>
						<language language-id="3">
							<name>Svenska</name>
							<languageCode>sv</languageCode>
							<charset>utf-8</charset>
						</language>
						<versionModifier>Administrator</versionModifier>
						<escapedVersionValue>&lt;?xml version='1.0' encoding='UTF-8'?&gt;&lt;article xmlns='x-schema:ArticleSchema.xml'&gt;&lt;attributes&gt;&lt;Name&gt;&lt;![CDATA[KalenderfunktionercdataEnd&lt;/Name&gt;&lt;Template&gt;&lt;![CDATA[&lt;%@ taglib uri="infoglue-structure" prefix="structure" %&gt;&#xd;
&lt;%@ taglib uri="infoglue-content" prefix="content" %&gt;&#xd;
&lt;%@ taglib uri="infoglue-common" prefix="common" %&gt;&#xd;
&lt;%@ taglib uri="infoglue-page" prefix="page" %&gt;&#xd;
&lt;%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %&gt;&#xd;
&#xd;
&lt;%@ page contentType="text/html; charset=UTF-8" %&gt;&#xd;
&#xd;
&lt;%@page import="org.infoglue.cms.applications.common.VisualFormatter, java.util.GregorianCalendar, java.util.Calendar"%&gt;&#xd;
&#xd;
&#xd;
&lt;%@page import="org.infoglue.cms.util.dom.DOMBuilder"%&gt;&#xd;
&lt;%@page import="org.infoglue.deliver.util.CacheController"%&gt;&#xd;
&#xd;
&lt;page:pageContext id="pc"/&gt;&#xd;
&lt;c:set var="pageLocale" value="${pc.locale}"/&gt; &#xd;
&#xd;
&lt;%&#xd;
VisualFormatter vf = new VisualFormatter();&#xd;
&#xd;
java.util.Calendar now = java.util.Calendar.getInstance();&#xd;
String nowDateTimeString = vf.formatDate(now.getTime(), "yyyy-MM-dd");&#xd;
//Setting up back and forward dates&#xd;
java.util.Calendar calendarMonthCalendar = Calendar.getInstance();&#xd;
if(request.getParameter("calendarMonth") != null)&#xd;
{&#xd;
	java.util.Date monthDate = vf.parseDate(request.getParameter("calendarMonth"), "yyyy-MM");&#xd;
	calendarMonthCalendar.setTime(monthDate);&#xd;
}&#xd;
String calendarMonthDateTimeString = vf.formatDate(calendarMonthCalendar.getTime(), "yyyy-MM");&#xd;
pageContext.setAttribute("calendarMonthDateTimeString", calendarMonthDateTimeString);&#xd;
&#xd;
java.util.Calendar previousCalendarMonthCalendar = java.util.Calendar.getInstance();&#xd;
previousCalendarMonthCalendar.setTime(calendarMonthCalendar.getTime());&#xd;
previousCalendarMonthCalendar.add(Calendar.MONTH, -1);&#xd;
String calendarMonthPreviousDateTimeString = vf.formatDate(previousCalendarMonthCalendar.getTime(), "yyyy-MM");&#xd;
pageContext.setAttribute("calendarMonthPreviousDateTimeString", calendarMonthPreviousDateTimeString);&#xd;
&#xd;
java.util.Calendar nextCalendarMonthCalendar = java.util.Calendar.getInstance();&#xd;
nextCalendarMonthCalendar.setTime(calendarMonthCalendar.getTime());&#xd;
nextCalendarMonthCalendar.add(Calendar.MONTH, +1);&#xd;
String calendarMonthNextDateTimeString = vf.formatDate(nextCalendarMonthCalendar.getTime(), "yyyy-MM");&#xd;
pageContext.setAttribute("calendarMonthNextDateTimeString", calendarMonthNextDateTimeString);&#xd;
&#xd;
//Month date&#xd;
String monthDateString = vf.formatDate(now.getTime(), "yyyy-MM");&#xd;
pageContext.setAttribute("monthDateString", monthDateString);&#xd;
&#xd;
//Current date&#xd;
String currentDateString = vf.formatDate(now.getTime(), "yyyy-MM-dd");&#xd;
pageContext.setAttribute("currentDateString", currentDateString);&#xd;
&#xd;
//Seven days ahead span&#xd;
java.util.Calendar weekCalendar = java.util.Calendar.getInstance();&#xd;
String weekStartDateTimeString = vf.formatDate(weekCalendar.getTime(), "yyyy-MM-dd");&#xd;
pageContext.setAttribute("weekStartDateTimeString", weekStartDateTimeString);&#xd;
weekCalendar.add(java.util.Calendar.DAY_OF_MONTH, 7);&#xd;
String weekEndDateTimeString = vf.formatDate(weekCalendar.getTime(), "yyyy-MM-dd");&#xd;
pageContext.setAttribute("weekEndDateTimeString", weekEndDateTimeString);&#xd;
&#xd;
//Month span&#xd;
java.util.Calendar monthCalendar = java.util.Calendar.getInstance();&#xd;
monthCalendar.set(java.util.Calendar.DAY_OF_MONTH, 1); &#xd;
String monthStartDateTimeString = vf.formatDate(monthCalendar.getTime(), "yyyy-MM-dd");&#xd;
pageContext.setAttribute("monthStartDateTimeString", monthStartDateTimeString);&#xd;
int lastDate = monthCalendar.getActualMaximum(java.util.Calendar.DATE);&#xd;
monthCalendar.set(java.util.Calendar.DAY_OF_MONTH, lastDate); &#xd;
String monthEndDateTimeString = vf.formatDate(monthCalendar.getTime(), "yyyy-MM-dd");&#xd;
pageContext.setAttribute("monthEndDateTimeString", monthEndDateTimeString);&#xd;
%&gt;&#xd;
&#xd;
&lt;structure:componentPropertyValue id="calendaIds" propertyName="CalendarId"/&gt;&#xd;
&#xd;
&lt;c:set var="guiCalendarBlock" value="false"/&gt;&#xd;
&lt;c:set var="dateSpanBlock" value="false"/&gt;&#xd;
&lt;c:set var="searchBlock" value="false"/&gt;&#xd;
&lt;c:set var="filterBlock" value="false"/&gt;&#xd;
&#xd;
&lt;structure:componentPropertyValues propertyName="visibleBlocks" id="visibleBlocksArray"/&gt;&#xd;
&lt;c:if test="${empty visibleBlocks}"&gt;&#xd;
	&lt;c:set var="guiCalendarBlock" value="true"/&gt;&#xd;
	&lt;c:set var="dateSpanBlock" value="true"/&gt;&#xd;
	&lt;c:set var="searchBlock" value="true"/&gt;&#xd;
	&lt;c:set var="filterBlock" value="true"/&gt;&#xd;
&lt;/c:if&gt;&#xd;
&#xd;
&lt;c:forEach var="visibleBlock" items="${visibleBlocksArray}"&gt;&#xd;
	&lt;c:if test="${visibleBlock == '*'}"&gt;&#xd;
		&lt;c:set var="guiCalendarBlock" value="true"/&gt;&#xd;
		&lt;c:set var="dateSpanBlock" value="true"/&gt;&#xd;
		&lt;c:set var="searchBlock" value="true"/&gt;&#xd;
		&lt;c:set var="filterBlock" value="true"/&gt;&#xd;
	&lt;/c:if&gt;&#xd;
	&lt;c:if test="${visibleBlock == 'guiCalendarBlock'}"&gt;&lt;c:set var="guiCalendarBlock" value="true"/&gt;&lt;/c:if&gt;&#xd;
	&lt;c:if test="${visibleBlock == 'dateSpanBlock'}"&gt;&lt;c:set var="dateSpanBlock" value="true"/&gt;&lt;/c:if&gt;&#xd;
	&lt;c:if test="${visibleBlock == 'searchBlock'}"&gt;&lt;c:set var="searchBlock" value="true"/&gt;&lt;/c:if&gt;&#xd;
	&lt;c:if test="${visibleBlock == 'filterBlock'}"&gt;&lt;c:set var="filterBlock" value="true"/&gt;&lt;/c:if&gt;&#xd;
&lt;/c:forEach&gt;&#xd;
&#xd;
&lt;c:if test="${guiCalendarBlock}"&gt;&#xd;
&#xd;
	&lt;common:urlBuilder id="eventsRESTServletUrl" baseURL="http://localhost:8080/infoglueCalendar/EventsRESTServlet" query=""&gt;&#xd;
		&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
		&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
		&lt;common:parameter name="calendarId" value="${calendaIds}"/&gt;&#xd;
		&lt;common:parameter name="calendarMonth" value="${calendarMonthDateTimeString}"/&gt;&#xd;
		&lt;common:parameter name="includedLanguages" value="${pc.locale.language}"/&gt;&#xd;
	&lt;/common:urlBuilder&gt;&#xd;
	&#xd;
	&lt;common:urlBuilder id="calendarDateTimeFilter1Url" excludedQueryStringParameters="siteNodeId,languageId,categoryAttribute,categoryNames,startDateTime,endDateTime,calendarMonth"&gt;&#xd;
		&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
		&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
		&lt;common:parameter name="startDateTime" value="${currentDateString}"/&gt;&#xd;
		&lt;common:parameter name="endDateTime" value="${currentDateString}"/&gt;&#xd;
	&lt;/common:urlBuilder&gt;&#xd;
	&#xd;
	&lt;common:urlBuilder id="calendarDateTimeFilter2Url" excludedQueryStringParameters="siteNodeId,languageId,categoryAttribute,categoryNames,startDateTime,endDateTime,calendarMonth"&gt;&#xd;
		&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
		&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
		&lt;common:parameter name="startDateTime" value="${weekStartDateTimeString}"/&gt;&#xd;
		&lt;common:parameter name="endDateTime" value="${weekEndDateTimeString}"/&gt;&#xd;
	&lt;/common:urlBuilder&gt;&#xd;
	&#xd;
	&lt;common:urlBuilder id="calendarDateTimeFilter3Url" excludedQueryStringParameters="siteNodeId,languageId,categoryAttribute,categoryNames,startDateTime,endDateTime,calendarMonth"&gt;&#xd;
		&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
		&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
		&lt;common:parameter name="startDateTime" value="${monthStartDateTimeString}"/&gt;&#xd;
		&lt;common:parameter name="endDateTime" value="${monthEndDateTimeString}"/&gt;&#xd;
	&lt;/common:urlBuilder&gt;&#xd;
	&#xd;
	&lt;common:urlBuilder id="calendarMonthBackwardUrl" excludedQueryStringParameters="siteNodeId,languageId,categoryAttribute,categoryNames,startDateTime,endDateTime,calendarMonth"&gt;&#xd;
		&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
		&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
		&lt;common:parameter name="calendarMonth" value="${calendarMonthPreviousDateTimeString}"/&gt;&#xd;
	&lt;/common:urlBuilder&gt;&#xd;
	&#xd;
	&lt;common:urlBuilder id="calendarMonthForwardUrl" excludedQueryStringParameters="siteNodeId,languageId,categoryAttribute,categoryNames,startDateTime,endDateTime,calendarMonth"&gt;&#xd;
		&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
		&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
		&lt;common:parameter name="calendarMonth" value="${calendarMonthNextDateTimeString}"/&gt;&#xd;
	&lt;/common:urlBuilder&gt;&#xd;
&lt;!--	&#xd;
	&lt;style type="text/css"&gt;&#xd;
/*	#igcalendar {&#xd;
	    width: 100%;&#xd;
	    aheight: 160px;&#xd;
		border: 0;&#xd;
		border-spacing: 0;&#xd;
		border-collapse: collapse;&#xd;
		background-color: #DFEAF6;&#xd;
		line-height:200%;&#xd;
	}&#xd;
&#xd;
	#igcalendar th,&#xd;
	#igcalendar td {&#xd;
		border:1px solid #9cbede;&#xd;
		padding: 0;&#xd;
		-moz-border-radius: 0;&#xd;
		text-align: center;&#xd;
		font-weight:normal;&#xd;
		vertical-align: middle;&#xd;
		width: 14%;&#xd;
	}&#xd;
	#igcalendar td.today {&#xd;
		background-color: #9cbede;&#xd;
	}&#xd;
	#igcalendar td a:hover {&#xd;
		background-color: #9cbede;&#xd;
		display:block;&#xd;
		color:#fff;&#xd;
	}&#xd;
	#igcalendar td a:active {&#xd;
		background-color: #fff;&#xd;
		display:block;&#xd;
		color:#9cbede;&#xd;
	}&#xd;
	#igcalendar td a.last_next {&#xd;
		font-weight:bold;&#xd;
		text-decoration:none;&#xd;
	}&#xd;
*/&#xd;
	&lt;/style&gt;&#xd;
--&gt;	&#xd;
	&lt;%&#xd;
		String eventsRESTServletUrl = (String)pageContext.getAttribute("eventsRESTServletUrl");&#xd;
		java.util.Map daysEvents = (java.util.Map)org.infoglue.deliver.util.CacheController.getCachedObjectFromAdvancedCache("calendarEventsCache", "" + eventsRESTServletUrl, 300);&#xd;
		if(daysEvents == null)&#xd;
		{&#xd;
			org.infoglue.deliver.util.HttpHelper httpHelper = new org.infoglue.deliver.util.HttpHelper();&#xd;
			String monthEventsXML = httpHelper.getUrlContent(eventsRESTServletUrl, new java.util.HashMap(), new java.util.HashMap(), "iso-8859-1", 5000);&#xd;
			&#xd;
			//System.out.println("monthEventsXML:" + monthEventsXML);&#xd;
			&#xd;
			daysEvents = new java.util.HashMap();&#xd;
			&#xd;
			DOMBuilder domBuilder = new DOMBuilder();&#xd;
			org.dom4j.Document document = domBuilder.getDocument(monthEventsXML);&#xd;
			&#xd;
			java.util.List events = document.getRootElement().selectNodes("event");&#xd;
			&#xd;
			java.util.Iterator eventsIterator = events.iterator();&#xd;
			while(eventsIterator.hasNext())&#xd;
			{&#xd;
				org.dom4j.Element eventElement = (org.dom4j.Element)eventsIterator.next();&#xd;
				&#xd;
				String idString = eventElement.attributeValue("id");&#xd;
				String startDateString = eventElement.attributeValue("startDate");&#xd;
	&#xd;
				String endDateString = eventElement.attributeValue("endDate");&#xd;
				java.util.Date startDate = vf.parseDate(startDateString, "yyyy-MM-dd");&#xd;
				java.util.Date endDate = vf.parseDate(endDateString, "yyyy-MM-dd");&#xd;
				&#xd;
				java.util.Calendar startDateCalendar = java.util.Calendar.getInstance();&#xd;
				startDateCalendar.setTime(startDate);&#xd;
				java.util.Calendar endDateCalendar = java.util.Calendar.getInstance();&#xd;
				endDateCalendar.setTime(endDate);&#xd;
		   		&#xd;
				while(startDateCalendar.get(java.util.Calendar.DAY_OF_MONTH) &lt;= endDateCalendar.get(java.util.Calendar.DAY_OF_MONTH))&#xd;
		   		{&#xd;
		   			int dayOfMonth = startDateCalendar.get(java.util.Calendar.DAY_OF_MONTH);&#xd;
		   			java.util.List&lt;java.util.Map&gt; dayEvents = (java.util.List&lt;java.util.Map&gt;)daysEvents.get("day_" + dayOfMonth);&#xd;
		   			if(dayEvents == null)&#xd;
		   			{&#xd;
		   				dayEvents = new java.util.ArrayList&lt;java.util.Map&gt;();&#xd;
		   				daysEvents.put("day_" + dayOfMonth, dayEvents);&#xd;
		   			}&#xd;
		   			&#xd;
		   			java.util.Map eventMap = new java.util.HashMap();&#xd;
		   			eventMap.put("id", idString);&#xd;
		   			eventMap.put("startDateString", startDateString);&#xd;
		   			eventMap.put("endDateString", endDateString);&#xd;
		   			dayEvents.add(eventMap);&#xd;
		   			startDateCalendar.add(java.util.Calendar.DAY_OF_MONTH, 1);&#xd;
		   		}&#xd;
			}&#xd;
			&#xd;
			org.infoglue.deliver.util.CacheController.cacheObjectInAdvancedCache("calendarEventsCache", "" + eventsRESTServletUrl, daysEvents);&#xd;
		}&#xd;
			&#xd;
		/** The days in each month. */&#xd;
		int dom[] = {&#xd;
			31, 28, 31, 30,  /* jan feb mar apr */&#xd;
		    31, 30, 31, 31, /* may jun jul aug */&#xd;
		    30, 31, 30, 31  /* sep oct nov dec */&#xd;
		};&#xd;
	&#xd;
		/** The number of days to leave blank at the start of this month */&#xd;
		int leadGap = 0;&#xd;
		int yy = calendarMonthCalendar.get(Calendar.YEAR);&#xd;
		int mm = calendarMonthCalendar.get(Calendar.MONTH);&#xd;
		if(mm == -1)&#xd;
		{&#xd;
			yy = yy - 1;&#xd;
			mm = 11;&#xd;
		}&#xd;
		java.util.Locale pageLocale = (java.util.Locale)pageContext.getAttribute("pageLocale");&#xd;
		//out.print(yy + ":" + mm);&#xd;
		%&gt;&#xd;
		&#xd;
	&lt;div class="relatedhead_area2"&gt;&lt;h1 class="related_head"&gt;&lt;structure:componentLabel mapKeyName="guiCalendarHeadlineLabel"/&gt;&lt;/h1&gt;&lt;/div&gt;&#xd;
	&lt;div class="margin_related" style="margin: 0px; padding: 0px;"&gt;&#xd;
		&lt;table id="igcalendar" class="igcalendar"&gt;&#xd;
			&lt;% &#xd;
			GregorianCalendar calendar = new GregorianCalendar(yy, mm, 1); &#xd;
			calendar.setFirstDayOfWeek(Calendar.MONDAY);&#xd;
&#xd;
			Calendar weekDaysCalendar = Calendar.getInstance();&#xd;
			weekDaysCalendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);		&#xd;
&#xd;
			%&gt;&#xd;
			&lt;tr&gt;&#xd;
				&lt;th valign="middle"&gt;&lt;%= vf.formatDate(weekDaysCalendar.getTime(), pageLocale, "EE").substring(0, 2) %&gt;&lt;/th&gt;&#xd;
				&lt;% weekDaysCalendar.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY); %&gt;&#xd;
				&lt;th valign="middle"&gt;&lt;%= vf.formatDate(weekDaysCalendar.getTime(), pageLocale, "EE").substring(0, 2) %&gt;&lt;/th&gt;&#xd;
				&lt;% weekDaysCalendar.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY); %&gt;&#xd;
				&lt;th valign="middle"&gt;&lt;%= vf.formatDate(weekDaysCalendar.getTime(), pageLocale, "EE").substring(0, 2) %&gt;&lt;/th&gt;&#xd;
				&lt;% weekDaysCalendar.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY); %&gt;&#xd;
				&lt;th valign="middle"&gt;&lt;%= vf.formatDate(weekDaysCalendar.getTime(), pageLocale, "EE").substring(0, 2) %&gt;&lt;/th&gt;&#xd;
				&lt;% weekDaysCalendar.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY); %&gt;&#xd;
				&lt;th valign="middle"&gt;&lt;%= vf.formatDate(weekDaysCalendar.getTime(), pageLocale, "EE").substring(0, 2) %&gt;&lt;/th&gt;&#xd;
				&lt;% weekDaysCalendar.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY); %&gt;&#xd;
				&lt;th valign="middle"&gt;&lt;%= vf.formatDate(weekDaysCalendar.getTime(), pageLocale, "EE").substring(0, 2) %&gt;&lt;/th&gt;&#xd;
				&lt;% weekDaysCalendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); %&gt;&#xd;
				&lt;th valign="middle"&gt;&lt;%= vf.formatDate(weekDaysCalendar.getTime(), pageLocale, "EE").substring(0, 2) %&gt;&lt;/th&gt;&#xd;
			&lt;/tr&gt;&#xd;
			&lt;%&#xd;
			    leadGap = calendar.get(Calendar.DAY_OF_WEEK)-2;&#xd;
			    if(leadGap == -1)&#xd;
			    	leadGap = 6;&#xd;
			 	&#xd;
			    int daysInMonth = dom[mm];&#xd;
			    if (calendar.isLeapYear(calendar.get(Calendar.YEAR)) &amp;&amp; mm == 1)&#xd;
			      	++daysInMonth;&#xd;
			 &#xd;
			    out.print("&lt;tr&gt;");&#xd;
			 &#xd;
			    // Blank out the labels before 1st day of month&#xd;
			    for (int i = 0; i &lt; leadGap; i++) {&#xd;
			      	out.print("&lt;td&gt;&amp;nbsp;&lt;/td&gt;");&#xd;
			    }&#xd;
			 &#xd;
			    // Fill in numbers for the day of month.&#xd;
			    int endGap = 7;&#xd;
			    for (int i = 1; i &lt;= daysInMonth; i++) &#xd;
			    {&#xd;
			    	String dateTimeString = vf.formatDate(calendar.getTime(), "yyyy-MM-") + (i&lt;10 ? "0" : "") + i;&#xd;
			    	pageContext.setAttribute("currentDateTimeString", dateTimeString);&#xd;
			    	%&gt;&#xd;
				 	&lt;common:urlBuilder id="calendarDateTimeFilterCurrentUrl" excludedQueryStringParameters="siteNodeId,languageId,categoryAttribute,categoryNames,startDateTime,endDateTime"&gt;&#xd;
						&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
						&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
						&lt;common:parameter name="startDateTime" value="${currentDateTimeString}"/&gt;&#xd;
						&lt;common:parameter name="endDateTime" value="${currentDateTimeString}"/&gt;&#xd;
					&lt;/common:urlBuilder&gt;&#xd;
					&lt;%		 	&#xd;
			     	out.print("&lt;td" + (dateTimeString.equals(nowDateTimeString) ? " class=\"today\"" : "") + "&gt;");&#xd;
			      	&#xd;
			      	if(daysEvents.containsKey("day_" + i))&#xd;
						out.print("&lt;a href=\"" + pageContext.getAttribute("calendarDateTimeFilterCurrentUrl") + "\"&gt;&lt;b&gt;" + i + "&lt;b&gt;&lt;a&gt;");&#xd;
				  	else&#xd;
				      	out.print("" + i + "");&#xd;
					&#xd;
			      	out.print("&lt;/td&gt;");&#xd;
			 		endGap--;&#xd;
			 		&#xd;
			      	if ((leadGap + i) % 7 == 0) {    // wrap if end of line.&#xd;
	&#xd;
			        	out.println("&lt;/tr&gt;");&#xd;
			        	out.print("&lt;tr&gt;");&#xd;
			        	endGap = 7;&#xd;
			      	}&#xd;
			    }&#xd;
			    &#xd;
			    if(endGap &lt; 7)&#xd;
			    {&#xd;
			    	for(int i=0; i&lt;endGap; i++)&#xd;
			    		out.print("&lt;td&gt;&amp;nbsp;&lt;/td&gt;");&#xd;
			    }&#xd;
			%&gt;&#xd;
			&lt;/tr&gt;&#xd;
			&lt;tr&gt;&lt;td style="border-top: 1px none;"&gt;&lt;a href="&lt;c:out value="${calendarMonthBackwardUrl}"/&gt;" class="last_next"&gt;&amp;laquo;&lt;/a&gt;&lt;/td&gt;&lt;td colspan="5" align="center" style="width: 125px; border-top: 1px none;"&gt;&lt;%= vf.formatDate(calendarMonthCalendar.getTime(), pageLocale, "MMMM") %&gt; &lt;%= yy %&gt;&lt;/td&gt;&lt;td style="border-top: 1px none;"&gt;&lt;a href="&lt;c:out value="${calendarMonthForwardUrl}"/&gt;" class="last_next"&gt;&amp;raquo;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&#xd;
		&lt;/table&gt;&#xd;
	&lt;/div&gt;&#xd;
&lt;/c:if&gt;&#xd;
&#xd;
&lt;c:if test="${dateSpanBlock}"&gt;&#xd;
	&lt;div class="relatedhead_area2"&gt;&lt;h1 class="related_head"&gt;&lt;structure:componentLabel mapKeyName="currentEventsLabel"/&gt;&lt;/h1&gt;&lt;/div&gt;&#xd;
	&lt;div class="margin_related"&gt;&#xd;
	&lt;p&gt;&#xd;
		&lt;a class="dotlink" href="&lt;c:out value="${calendarDateTimeFilter1Url}" escapeXml="false"/&gt;"&gt;&lt;structure:componentLabel mapKeyName="guiCalendarTodaysEventsLabel"/&gt;&lt;/a&gt;&#xd;
		&lt;a class="dotlink" href="&lt;c:out value="${calendarDateTimeFilter2Url}" escapeXml="false"/&gt;"&gt;&lt;structure:componentLabel mapKeyName="guiCalendarSevenDaysForwardEventsLabel"/&gt;&lt;/a&gt;&#xd;
		&lt;a class="dotlink" href="&lt;c:out value="${calendarDateTimeFilter3Url}" escapeXml="false"/&gt;"&gt;&lt;structure:componentLabel mapKeyName="guiCalendarMonthsEventsLabel"/&gt;&lt;/a&gt;&#xd;
	&lt;/p&gt;&#xd;
	&lt;/div&gt;&#xd;
&lt;/c:if&gt;&#xd;
&#xd;
&lt;c:if test="${searchBlock}"&gt;&#xd;
	&lt;div class="relatedhead_area2"&gt;&lt;h1 class="related_head"&gt;&lt;structure:componentLabel mapKeyName="searchEventLabel"/&gt;&lt;/h1&gt;&lt;/div&gt;&#xd;
	&lt;div class="margin_related"&gt;&#xd;
		&lt;common:urlBuilder id="calendarFreeTextUrl" excludedQueryStringParameters="siteNodeId,languageId,categoryAttribute,categoryNames,startDateTime,endDateTime,freeText"/&gt;&#xd;
		&lt;form action="&lt;c:out value="${calendarFreeTextUrl}" escapeXml="false"/&gt;" method="post"&gt;&#xd;
			&lt;input type="hidden" name="startDateTime" value="2000-01-01"/&gt;&#xd;
			&lt;input type="hidden" name="endDateTime" value="2050-01-01"/&gt;&#xd;
			&lt;input type="hidden" name="siteNodeId" value="&lt;c:out value="${pc.siteNodeId}"/&gt;"/&gt;&#xd;
			&lt;input type="hidden" name="languageId" value="&lt;c:out value="${pc.languageId}"/&gt;"/&gt;&#xd;
			&lt;input type="text" name="freeText" value="&lt;c:out value="${param.freeText}"/&gt;" maxlength="100" size="12"&gt;&#xd;
			&lt;input type="submit" value="&lt;structure:componentLabel mapKeyName="searchEventButtonLabel"/&gt;"&gt;&#xd;
		&lt;/form&gt;&#xd;
	&lt;/div&gt;&#xd;
&lt;/c:if&gt;&#xd;
&#xd;
&#xd;
&lt;c:if test="${filterBlock}"&gt;&#xd;
&#xd;
&lt;common:urlBuilder id="categoryRESTServletUrl" baseURL="http://localhost:8080/infoglueCalendar/CategoryRESTServlet" query=""&gt;&#xd;
	&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
	&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
	&lt;common:parameter name="languageCode" value="${pc.locale.language}"/&gt;&#xd;
&lt;/common:urlBuilder&gt;&#xd;
&#xd;
&lt;%--&lt;c:out value="${categoryRESTServletUrl}"/&gt;--%&gt;&#xd;
&lt;%&#xd;
	String categoryRESTServletUrl = (String)pageContext.getAttribute("categoryRESTServletUrl");&#xd;
	java.util.List categories = (java.util.List)org.infoglue.deliver.util.CacheController.getCachedObjectFromAdvancedCache("calendarCategoryCache", "" + categoryRESTServletUrl, 300);&#xd;
	if(categories == null)&#xd;
	{&#xd;
		org.infoglue.deliver.util.HttpHelper httpHelper = new org.infoglue.deliver.util.HttpHelper();&#xd;
		String filterCategoryXML = httpHelper.getUrlContent(categoryRESTServletUrl, new java.util.HashMap(), new java.util.HashMap(), "iso-8859-1", 5000);&#xd;
		&#xd;
		//System.out.println("filterCategoryXML:" + filterCategoryXML);&#xd;
		&#xd;
		categories = new java.util.ArrayList();&#xd;
		&#xd;
		DOMBuilder domBuilder = new DOMBuilder();&#xd;
		org.dom4j.Document document = domBuilder.getDocument(filterCategoryXML);&#xd;
		&#xd;
		java.util.List propertyList = document.getRootElement().selectNodes("property");&#xd;
		&#xd;
		java.util.Iterator propertyListIterator = propertyList.iterator();&#xd;
		while(propertyListIterator.hasNext())&#xd;
		{&#xd;
			org.dom4j.Element eventElement = (org.dom4j.Element)propertyListIterator.next();&#xd;
			&#xd;
			String name = eventElement.attributeValue("name");&#xd;
			String value = eventElement.attributeValue("value");&#xd;
			&#xd;
			java.util.Map categoryHash = new java.util.HashMap();&#xd;
			categoryHash.put("name", name);&#xd;
			categoryHash.put("value", value);&#xd;
			categories.add(categoryHash);&#xd;
		}&#xd;
		&#xd;
		org.infoglue.deliver.util.CacheController.cacheObjectInAdvancedCache("calendarCategoryCache", "" + categoryRESTServletUrl, categories);&#xd;
	}&#xd;
	pageContext.setAttribute("categories", categories);&#xd;
	//System.out.println("categories:" + categories);&#xd;
%&gt;&#xd;
&lt;structure:componentPropertyValue id="allowedCategoryNames" propertyName="CategoryNames"/&gt;&#xd;
&#xd;
	&lt;div class="relatedhead_area2"&gt;&lt;h1 class="related_head"&gt;&lt;structure:componentLabel mapKeyName="categoryFilterLabel"/&gt;&lt;/h1&gt;&lt;/div&gt;&#xd;
	&lt;div class="margin_related"&gt;&#xd;
		&lt;p&gt;&#xd;
		&lt;c:forEach var="categoryMap" items="${categories}"&gt;&#xd;
			&lt;c:if test="${categoryMap['name'] != 'All'}"&gt;&#xd;
				&lt;c:set var="currentCategoryValue" value="${categoryMap['value']}"/&gt;&#xd;
				&lt;%&#xd;
				String currentCategoryValue = (String)pageContext.getAttribute("currentCategoryValue");&#xd;
				String allowedCategoryNames = (String)pageContext.getAttribute("allowedCategoryNames");&#xd;
				//System.out.println(currentCategoryValue + "=" + allowedCategoryNames);&#xd;
				if(allowedCategoryNames.indexOf(currentCategoryValue) &gt; -1)&#xd;
				{&#xd;
				%&gt;	&#xd;
					&lt;common:urlBuilder id="calendarCategoryFilterXUrl" excludedQueryStringParameters="siteNodeId,languageId,categoryAttribute,categoryNames,startDateTime,endDateTime"&gt;&#xd;
						&lt;c:if test="${not empty param.startDateTime}"&gt;&#xd;
						&lt;common:parameter name="startDateTime" value="${param.startDateTime}"/&gt;&#xd;
						&lt;/c:if&gt;&#xd;
						&lt;c:if test="${not empty param.startDateTime}"&gt;&#xd;
						&lt;common:parameter name="endDateTime" value="${param.endDateTime}"/&gt;&#xd;
						&lt;/c:if&gt;&#xd;
						&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
						&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
						&lt;common:parameter name="categoryAttribute" value="eventTypes"/&gt;&#xd;
						&lt;common:parameter name="categoryNames" value="${currentCategoryValue}"/&gt;&#xd;
					&lt;/common:urlBuilder&gt;&#xd;
					&lt;a class="dotlink" href="&lt;c:out value="${calendarCategoryFilterXUrl}" escapeXml="false"/&gt;"&gt;&lt;c:out value="${categoryMap['name']}"/&gt;&lt;/a&gt;&#xd;
				&lt;%&#xd;
				}&#xd;
			 	%&gt;&#xd;
			&lt;/c:if&gt;&#xd;
		&lt;/c:forEach&gt;&#xd;
		&lt;/p&gt;&#xd;
	&lt;/div&gt;&#xd;
	&#xd;
&lt;/c:if&gt;cdataEnd&lt;/Template&gt;&lt;ComponentProperties&gt;&lt;![CDATA[&lt;?xml version='1.0' encoding='UTF-8'?&gt;&#xd;
&lt;properties&gt;&#xd;
	&lt;property name='visibleBlocks' displayName='Välj block att visa' type='checkbox'&#xd;
		multiple='' assetBinding='' isPuffContentForPage='' description='No description yet'&#xd;
		defaultValue='' dataProvider='' dataProviderParameters=''&#xd;
		allowMultipleSelections='false'&gt;&#xd;
		&lt;option name='Alla' value='*' /&gt;&#xd;
		&lt;option name='Grafisk kalender' value='guiCalendarBlock' /&gt;&#xd;
		&lt;option name='Snabblänkar' value='dateSpanBlock' /&gt;&#xd;
		&lt;option name='Sökdel' value='searchBlock' /&gt;&#xd;
		&lt;option name='Filter' value='filterBlock' /&gt;&#xd;
	&lt;/property&gt;&#xd;
	&lt;property name='CategoryNames' displayName='Tillåtna filter' type='select'&#xd;
		multiple='false' assetBinding='false' isPuffContentForPage='false'&#xd;
		description='Välj kategories att erbjuda som filter' defaultValue=''&#xd;
		dataProvider='org.infoglue.deliver.integration.dataproviders.RemoteXMLPropertyOptionsDataProvider'&#xd;
		dataProviderParameters='serviceUrl=http://localhost:8080/infoglueCalendar/CategoryRESTServlet;charset=iso8859-1'&#xd;
		allowMultipleSelections='true'&gt;&lt;/property&gt;&#xd;
&lt;/properties&gt;cdataEnd&lt;/ComponentProperties&gt;&lt;GroupName&gt;&lt;![CDATA[Basic PagescdataEnd&lt;/GroupName&gt;&lt;RelatedComponents&gt;&lt;![CDATA[cdataEnd&lt;/RelatedComponents&gt;&lt;ComponentLabels&gt;&lt;![CDATA[#Svenska&#xd;
monthLabel_sv=Månad&#xd;
guiCalendarHeadlineLabel_sv=Aktuella evenemang&#xd;
currentEventsLabel_sv=Aktuella evenemang&#xd;
searchEventLabel_sv=Sök evenemang&#xd;
searchEventButtonLabel_sv=Sök&#xd;
categoryFilterLabel_sv=Sortera på kategori&#xd;
guiCalendarTodaysEventsLabel_sv=Dagens händelser&#xd;
guiCalendarSevenDaysForwardEventsLabel_sv=Sju dagar framåt&#xd;
guiCalendarMonthsEventsLabel_sv=Månadens händelser&#xd;
&#xd;
#engelska&#xd;
monthLabel_en=Month&#xd;
guiCalendarHeadlineLabel_en=Current events&#xd;
currentEventsLabel_en=Current events&#xd;
searchEventLabel_en=Find events&#xd;
searchEventButtonLabel_en=Search&#xd;
categoryFilterLabel_en=Sort on category&#xd;
guiCalendarTodaysEventsLabel_en=Todays events&#xd;
guiCalendarSevenDaysForwardEventsLabel_en=Seven days ahead&#xd;
guiCalendarMonthsEventsLabel_en=This month's events&#xd;
&#xd;
&#xd;
En ny komponent för gui-kalender-puff.&#xd;
//Sök skall funka&#xd;
//Sortera på kategori&#xd;
//Checkboxar på blockval&#xd;
//Aktuella evenemang - månad/år nere.&#xd;
//Evenemangstyp-filter&#xd;
//Kunna konfigurera vilka filter man vill ha.&#xd;
RSS-export / import exempel&#xd;
&#xd;
//Idag är dagarna på engelska i den svenska komponenten, byt till svenska på den svenska komponenten&#xd;
//Varför är tisdagsfältet smalare än dn andra dagarna?&#xd;
//Texten november 2008 ska inte ha rubrikfältsbakgrund och bör vara i svart.&#xd;
//Dagar som inte har något evenemang ska inte ha någon understrykning.&#xd;
&#xd;
&#xd;
cdataEnd&lt;/ComponentLabels&gt;&lt;IGAuthorFullName&gt;&lt;![CDATA[System AdministratorcdataEnd&lt;/IGAuthorFullName&gt;&lt;IGAuthorEmail&gt;&lt;![CDATA[mattias.bogeblad@modul1.secdataEnd&lt;/IGAuthorEmail&gt;&lt;/attributes&gt;&lt;/article&gt;</escapedVersionValue>
					</contentVersions>
					<contentVersions content-version-id="11087">
						<stateId>3</stateId>
						<modifiedDateTime>2008-11-18T10:02:22.000+01:00</modifiedDateTime>
						<versionComment>ssssss</versionComment>
						<isCheckedOut>false</isCheckedOut>
						<isActive>true</isActive>
						<language language-id="3">
							<name>Svenska</name>
							<languageCode>sv</languageCode>
							<charset>utf-8</charset>
						</language>
						<versionModifier>Administrator</versionModifier>
						<escapedVersionValue>&lt;?xml version='1.0' encoding='UTF-8'?&gt;&lt;article xmlns='x-schema:ArticleSchema.xml'&gt;&lt;attributes&gt;&lt;Name&gt;&lt;![CDATA[KalenderfunktionercdataEnd&lt;/Name&gt;&lt;ComponentLabels&gt;&lt;![CDATA[#Svenska&#xd;
monthLabel_sv=Månad&#xd;
guiCalendarHeadlineLabel_sv=Aktuella evenemang&#xd;
currentEventsLabel_sv=Aktuella evenemang&#xd;
searchEventLabel_sv=Sök evenemang&#xd;
searchEventButtonLabel_sv=Sök&#xd;
categoryFilterLabel_sv=Sortera på kategori&#xd;
guiCalendarTodaysEventsLabel_sv=Dagens händelser&#xd;
guiCalendarSevenDaysForwardEventsLabel_sv=Sju dagar framåt&#xd;
guiCalendarMonthsEventsLabel_sv=Månadens händelser&#xd;
&#xd;
#engelska&#xd;
monthLabel_en=Month&#xd;
guiCalendarHeadlineLabel_en=Current events&#xd;
currentEventsLabel_en=Current events&#xd;
searchEventLabel_en=Find events&#xd;
searchEventButtonLabel_en=Search&#xd;
categoryFilterLabel_en=Sort on category&#xd;
guiCalendarTodaysEventsLabel_en=Todays events&#xd;
guiCalendarSevenDaysForwardEventsLabel_en=Seven days ahead&#xd;
guiCalendarMonthsEventsLabel_en=This month's events&#xd;
&#xd;
&#xd;
En ny komponent för gui-kalender-puff.&#xd;
//Sök skall funka&#xd;
//Sortera på kategori&#xd;
//Checkboxar på blockval&#xd;
//Aktuella evenemang - månad/år nere.&#xd;
//Evenemangstyp-filter&#xd;
//Kunna konfigurera vilka filter man vill ha.&#xd;
RSS-export / import exempel&#xd;
&#xd;
//Idag är dagarna på engelska i den svenska komponenten, byt till svenska på den svenska komponenten&#xd;
//Varför är tisdagsfältet smalare än dn andra dagarna?&#xd;
//Texten november 2008 ska inte ha rubrikfältsbakgrund och bör vara i svart.&#xd;
//Dagar som inte har något evenemang ska inte ha någon understrykning.&#xd;
&#xd;
&#xd;
cdataEnd&lt;/ComponentLabels&gt;&lt;GroupName&gt;&lt;![CDATA[Basic PagescdataEnd&lt;/GroupName&gt;&lt;Template&gt;&lt;![CDATA[&lt;%@ taglib uri="infoglue-structure" prefix="structure" %&gt;&#xd;
&lt;%@ taglib uri="infoglue-content" prefix="content" %&gt;&#xd;
&lt;%@ taglib uri="infoglue-common" prefix="common" %&gt;&#xd;
&lt;%@ taglib uri="infoglue-page" prefix="page" %&gt;&#xd;
&lt;%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %&gt;&#xd;
&#xd;
&lt;%@ page contentType="text/html; charset=UTF-8" %&gt;&#xd;
&#xd;
&lt;%@page import="org.infoglue.cms.applications.common.VisualFormatter, java.util.GregorianCalendar, java.util.Calendar"%&gt;&#xd;
&#xd;
&#xd;
&lt;%@page import="org.infoglue.cms.util.dom.DOMBuilder"%&gt;&#xd;
&lt;%@page import="org.infoglue.deliver.util.CacheController"%&gt;&#xd;
&#xd;
&lt;page:pageContext id="pc"/&gt;&#xd;
&lt;c:set var="pageLocale" value="${pc.locale}"/&gt; &#xd;
&#xd;
&lt;%&#xd;
VisualFormatter vf = new VisualFormatter();&#xd;
&#xd;
java.util.Calendar now = java.util.Calendar.getInstance();&#xd;
String nowDateTimeString = vf.formatDate(now.getTime(), "yyyy-MM-dd");&#xd;
//Setting up back and forward dates&#xd;
java.util.Calendar calendarMonthCalendar = Calendar.getInstance();&#xd;
if(request.getParameter("calendarMonth") != null)&#xd;
{&#xd;
	java.util.Date monthDate = vf.parseDate(request.getParameter("calendarMonth"), "yyyy-MM");&#xd;
	calendarMonthCalendar.setTime(monthDate);&#xd;
}&#xd;
String calendarMonthDateTimeString = vf.formatDate(calendarMonthCalendar.getTime(), "yyyy-MM");&#xd;
pageContext.setAttribute("calendarMonthDateTimeString", calendarMonthDateTimeString);&#xd;
&#xd;
java.util.Calendar previousCalendarMonthCalendar = java.util.Calendar.getInstance();&#xd;
previousCalendarMonthCalendar.setTime(calendarMonthCalendar.getTime());&#xd;
previousCalendarMonthCalendar.add(Calendar.MONTH, -1);&#xd;
String calendarMonthPreviousDateTimeString = vf.formatDate(previousCalendarMonthCalendar.getTime(), "yyyy-MM");&#xd;
pageContext.setAttribute("calendarMonthPreviousDateTimeString", calendarMonthPreviousDateTimeString);&#xd;
&#xd;
java.util.Calendar nextCalendarMonthCalendar = java.util.Calendar.getInstance();&#xd;
nextCalendarMonthCalendar.setTime(calendarMonthCalendar.getTime());&#xd;
nextCalendarMonthCalendar.add(Calendar.MONTH, +1);&#xd;
String calendarMonthNextDateTimeString = vf.formatDate(nextCalendarMonthCalendar.getTime(), "yyyy-MM");&#xd;
pageContext.setAttribute("calendarMonthNextDateTimeString", calendarMonthNextDateTimeString);&#xd;
&#xd;
//Month date&#xd;
String monthDateString = vf.formatDate(now.getTime(), "yyyy-MM");&#xd;
pageContext.setAttribute("monthDateString", monthDateString);&#xd;
&#xd;
//Current date&#xd;
String currentDateString = vf.formatDate(now.getTime(), "yyyy-MM-dd");&#xd;
pageContext.setAttribute("currentDateString", currentDateString);&#xd;
&#xd;
//Seven days ahead span&#xd;
java.util.Calendar weekCalendar = java.util.Calendar.getInstance();&#xd;
String weekStartDateTimeString = vf.formatDate(weekCalendar.getTime(), "yyyy-MM-dd");&#xd;
pageContext.setAttribute("weekStartDateTimeString", weekStartDateTimeString);&#xd;
weekCalendar.add(java.util.Calendar.DAY_OF_MONTH, 7);&#xd;
String weekEndDateTimeString = vf.formatDate(weekCalendar.getTime(), "yyyy-MM-dd");&#xd;
pageContext.setAttribute("weekEndDateTimeString", weekEndDateTimeString);&#xd;
&#xd;
//Month span&#xd;
java.util.Calendar monthCalendar = java.util.Calendar.getInstance();&#xd;
monthCalendar.set(java.util.Calendar.DAY_OF_MONTH, 1); &#xd;
String monthStartDateTimeString = vf.formatDate(monthCalendar.getTime(), "yyyy-MM-dd");&#xd;
pageContext.setAttribute("monthStartDateTimeString", monthStartDateTimeString);&#xd;
int lastDate = monthCalendar.getActualMaximum(java.util.Calendar.DATE);&#xd;
monthCalendar.set(java.util.Calendar.DAY_OF_MONTH, lastDate); &#xd;
String monthEndDateTimeString = vf.formatDate(monthCalendar.getTime(), "yyyy-MM-dd");&#xd;
pageContext.setAttribute("monthEndDateTimeString", monthEndDateTimeString);&#xd;
%&gt;&#xd;
&#xd;
&lt;structure:componentPropertyValue id="calendaIds" propertyName="CalendarId"/&gt;&#xd;
&#xd;
&lt;c:set var="guiCalendarBlock" value="false"/&gt;&#xd;
&lt;c:set var="dateSpanBlock" value="false"/&gt;&#xd;
&lt;c:set var="searchBlock" value="false"/&gt;&#xd;
&lt;c:set var="filterBlock" value="false"/&gt;&#xd;
&#xd;
&lt;structure:componentPropertyValues propertyName="visibleBlocks" id="visibleBlocksArray"/&gt;&#xd;
&lt;c:if test="${empty visibleBlocks}"&gt;&#xd;
	&lt;c:set var="guiCalendarBlock" value="true"/&gt;&#xd;
	&lt;c:set var="dateSpanBlock" value="true"/&gt;&#xd;
	&lt;c:set var="searchBlock" value="true"/&gt;&#xd;
	&lt;c:set var="filterBlock" value="true"/&gt;&#xd;
&lt;/c:if&gt;&#xd;
&#xd;
&lt;c:forEach var="visibleBlock" items="${visibleBlocksArray}"&gt;&#xd;
	&lt;c:if test="${visibleBlock == '*'}"&gt;&#xd;
		&lt;c:set var="guiCalendarBlock" value="true"/&gt;&#xd;
		&lt;c:set var="dateSpanBlock" value="true"/&gt;&#xd;
		&lt;c:set var="searchBlock" value="true"/&gt;&#xd;
		&lt;c:set var="filterBlock" value="true"/&gt;&#xd;
	&lt;/c:if&gt;&#xd;
	&lt;c:if test="${visibleBlock == 'guiCalendarBlock'}"&gt;&lt;c:set var="guiCalendarBlock" value="true"/&gt;&lt;/c:if&gt;&#xd;
	&lt;c:if test="${visibleBlock == 'dateSpanBlock'}"&gt;&lt;c:set var="dateSpanBlock" value="true"/&gt;&lt;/c:if&gt;&#xd;
	&lt;c:if test="${visibleBlock == 'searchBlock'}"&gt;&lt;c:set var="searchBlock" value="true"/&gt;&lt;/c:if&gt;&#xd;
	&lt;c:if test="${visibleBlock == 'filterBlock'}"&gt;&lt;c:set var="filterBlock" value="true"/&gt;&lt;/c:if&gt;&#xd;
&lt;/c:forEach&gt;&#xd;
&#xd;
&lt;c:if test="${guiCalendarBlock}"&gt;&#xd;
&#xd;
	&lt;common:urlBuilder id="eventsRESTServletUrl" baseURL="http://localhost:8080/infoglueCalendar/EventsRESTServlet" query=""&gt;&#xd;
		&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
		&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
		&lt;common:parameter name="calendarId" value="${calendaIds}"/&gt;&#xd;
		&lt;common:parameter name="calendarMonth" value="${calendarMonthDateTimeString}"/&gt;&#xd;
	&lt;/common:urlBuilder&gt;&#xd;
	&#xd;
	&lt;common:urlBuilder id="calendarDateTimeFilter1Url" excludedQueryStringParameters="siteNodeId,languageId,categoryAttribute,categoryNames,startDateTime,endDateTime,calendarMonth"&gt;&#xd;
		&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
		&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
		&lt;common:parameter name="startDateTime" value="${currentDateString}"/&gt;&#xd;
		&lt;common:parameter name="endDateTime" value="${currentDateString}"/&gt;&#xd;
	&lt;/common:urlBuilder&gt;&#xd;
	&#xd;
	&lt;common:urlBuilder id="calendarDateTimeFilter2Url" excludedQueryStringParameters="siteNodeId,languageId,categoryAttribute,categoryNames,startDateTime,endDateTime,calendarMonth"&gt;&#xd;
		&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
		&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
		&lt;common:parameter name="startDateTime" value="${weekStartDateTimeString}"/&gt;&#xd;
		&lt;common:parameter name="endDateTime" value="${weekEndDateTimeString}"/&gt;&#xd;
	&lt;/common:urlBuilder&gt;&#xd;
	&#xd;
	&lt;common:urlBuilder id="calendarDateTimeFilter3Url" excludedQueryStringParameters="siteNodeId,languageId,categoryAttribute,categoryNames,startDateTime,endDateTime,calendarMonth"&gt;&#xd;
		&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
		&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
		&lt;common:parameter name="startDateTime" value="${monthStartDateTimeString}"/&gt;&#xd;
		&lt;common:parameter name="endDateTime" value="${monthEndDateTimeString}"/&gt;&#xd;
	&lt;/common:urlBuilder&gt;&#xd;
	&#xd;
	&lt;common:urlBuilder id="calendarMonthBackwardUrl" excludedQueryStringParameters="siteNodeId,languageId,categoryAttribute,categoryNames,startDateTime,endDateTime,calendarMonth"&gt;&#xd;
		&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
		&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
		&lt;common:parameter name="calendarMonth" value="${calendarMonthPreviousDateTimeString}"/&gt;&#xd;
	&lt;/common:urlBuilder&gt;&#xd;
	&#xd;
	&lt;common:urlBuilder id="calendarMonthForwardUrl" excludedQueryStringParameters="siteNodeId,languageId,categoryAttribute,categoryNames,startDateTime,endDateTime,calendarMonth"&gt;&#xd;
		&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
		&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
		&lt;common:parameter name="calendarMonth" value="${calendarMonthNextDateTimeString}"/&gt;&#xd;
	&lt;/common:urlBuilder&gt;&#xd;
	&#xd;
	&lt;style type="text/css"&gt;&#xd;
	#igcalendar {&#xd;
	    width: 173px;&#xd;
	    aheight: 160px;&#xd;
		border-width: 0px 0px 0px 0px;&#xd;
		border-spacing: 0px;&#xd;
		border-style: none none none none;&#xd;
		border-color: gray gray gray gray;&#xd;
		border-collapse: collapse;&#xd;
		background-color: white;&#xd;
	}&#xd;
	#igcalendar th {&#xd;
		border-width: 1px 1px 1px 1px;&#xd;
		padding: 2px 2px 2px 2px;&#xd;
		border-style: solid solid solid solid;&#xd;
		border-color: gray gray gray gray;&#xd;
		background-color: white;&#xd;
		-moz-border-radius: 0px 0px 0px 0px;&#xd;
		text-align: center;&#xd;
	    vertical-align: middle;&#xd;
	    width: 24px;&#xd;
	    height: 22px;&#xd;
	}&#xd;
	#igcalendar td {&#xd;
		border-width: 1px 1px 1px 1px;&#xd;
		padding: 2px 2px 2px 2px;&#xd;
		border-style: solid solid solid solid;&#xd;
		border-color: #9cbede #9cbede #9cbede #9cbede;&#xd;
		background-color: #deebf7;&#xd;
		-moz-border-radius: 0px 0px 0px 0px;&#xd;
		text-align: center;&#xd;
	    vertical-align: middle;&#xd;
	    width: 24px;&#xd;
	    height: 22px;&#xd;
	}&#xd;
	#igcalendar td.today {&#xd;
	    background-color: #c3ddf7;&#xd;
	}&#xd;
	#igcalendar td a {&#xd;
		color: black;&#xd;
	}&#xd;
	&lt;/style&gt;&#xd;
	&#xd;
	&lt;%&#xd;
		String eventsRESTServletUrl = (String)pageContext.getAttribute("eventsRESTServletUrl");&#xd;
		java.util.Map daysEvents = (java.util.Map)org.infoglue.deliver.util.CacheController.getCachedObjectFromAdvancedCache("calendarEventsCache", "" + eventsRESTServletUrl, 300);&#xd;
		if(daysEvents == null)&#xd;
		{&#xd;
			org.infoglue.deliver.util.HttpHelper httpHelper = new org.infoglue.deliver.util.HttpHelper();&#xd;
			String monthEventsXML = httpHelper.getUrlContent(eventsRESTServletUrl, new java.util.HashMap(), new java.util.HashMap(), "iso-8859-1", 5000);&#xd;
			&#xd;
			//System.out.println("monthEventsXML:" + monthEventsXML);&#xd;
			&#xd;
			daysEvents = new java.util.HashMap();&#xd;
			&#xd;
			DOMBuilder domBuilder = new DOMBuilder();&#xd;
			org.dom4j.Document document = domBuilder.getDocument(monthEventsXML);&#xd;
			&#xd;
			java.util.List events = document.getRootElement().selectNodes("event");&#xd;
			&#xd;
			java.util.Iterator eventsIterator = events.iterator();&#xd;
			while(eventsIterator.hasNext())&#xd;
			{&#xd;
				org.dom4j.Element eventElement = (org.dom4j.Element)eventsIterator.next();&#xd;
				&#xd;
				String idString = eventElement.attributeValue("id");&#xd;
				String startDateString = eventElement.attributeValue("startDate");&#xd;
	&#xd;
				String endDateString = eventElement.attributeValue("endDate");&#xd;
				java.util.Date startDate = vf.parseDate(startDateString, "yyyy-MM-dd");&#xd;
				java.util.Date endDate = vf.parseDate(endDateString, "yyyy-MM-dd");&#xd;
				&#xd;
				java.util.Calendar startDateCalendar = java.util.Calendar.getInstance();&#xd;
				startDateCalendar.setTime(startDate);&#xd;
				java.util.Calendar endDateCalendar = java.util.Calendar.getInstance();&#xd;
				endDateCalendar.setTime(endDate);&#xd;
		   		&#xd;
				while(startDateCalendar.get(java.util.Calendar.DAY_OF_MONTH) &lt;= endDateCalendar.get(java.util.Calendar.DAY_OF_MONTH))&#xd;
		   		{&#xd;
		   			int dayOfMonth = startDateCalendar.get(java.util.Calendar.DAY_OF_MONTH);&#xd;
		   			java.util.List&lt;java.util.Map&gt; dayEvents = (java.util.List&lt;java.util.Map&gt;)daysEvents.get("day_" + dayOfMonth);&#xd;
		   			if(dayEvents == null)&#xd;
		   			{&#xd;
		   				dayEvents = new java.util.ArrayList&lt;java.util.Map&gt;();&#xd;
		   				daysEvents.put("day_" + dayOfMonth, dayEvents);&#xd;
		   			}&#xd;
		   			&#xd;
		   			java.util.Map eventMap = new java.util.HashMap();&#xd;
		   			eventMap.put("id", idString);&#xd;
		   			eventMap.put("startDateString", startDateString);&#xd;
		   			eventMap.put("endDateString", endDateString);&#xd;
		   			dayEvents.add(eventMap);&#xd;
		   			startDateCalendar.add(java.util.Calendar.DAY_OF_MONTH, 1);&#xd;
		   		}&#xd;
			}&#xd;
			&#xd;
			org.infoglue.deliver.util.CacheController.cacheObjectInAdvancedCache("calendarEventsCache", "" + eventsRESTServletUrl, daysEvents);&#xd;
		}&#xd;
			&#xd;
		/** The days in each month. */&#xd;
		int dom[] = {&#xd;
			31, 28, 31, 30,  /* jan feb mar apr */&#xd;
		    31, 30, 31, 31, /* may jun jul aug */&#xd;
		    30, 31, 30, 31  /* sep oct nov dec */&#xd;
		};&#xd;
	&#xd;
		/** The number of days to leave blank at the start of this month */&#xd;
		int leadGap = 0;&#xd;
		int yy = calendarMonthCalendar.get(Calendar.YEAR);&#xd;
		int mm = calendarMonthCalendar.get(Calendar.MONTH);&#xd;
		if(mm == -1)&#xd;
		{&#xd;
			yy = yy - 1;&#xd;
			mm = 11;&#xd;
		}&#xd;
		java.util.Locale pageLocale = (java.util.Locale)pageContext.getAttribute("pageLocale");&#xd;
		//out.print(yy + ":" + mm);&#xd;
		%&gt;&#xd;
		&#xd;
	&lt;div class="relatedhead_area2"&gt;&lt;h1 class="related_head"&gt;&lt;structure:componentLabel mapKeyName="guiCalendarHeadlineLabel"/&gt;&lt;/h1&gt;&lt;/div&gt;&#xd;
	&lt;div class="margin_related" style="margin: 0px; padding: 0px;"&gt;&#xd;
		&lt;table id="igcalendar" class="igcalendar"&gt;&#xd;
			&lt;% &#xd;
			GregorianCalendar calendar = new GregorianCalendar(yy, mm, 1); &#xd;
			calendar.setFirstDayOfWeek(Calendar.MONDAY);&#xd;
&#xd;
			Calendar weekDaysCalendar = Calendar.getInstance();&#xd;
			weekDaysCalendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY);		&#xd;
			%&gt;&#xd;
			&lt;tr&gt;&#xd;
				&lt;td valign="middle"&gt;&lt;%= vf.formatDate(weekDaysCalendar.getTime(), pageLocale, "EE").substring(0, 2) %&gt;&lt;/td&gt;&#xd;
				&lt;% weekDaysCalendar.set(Calendar.DAY_OF_WEEK, Calendar.TUESDAY); %&gt;&#xd;
				&lt;td valign="middle"&gt;&lt;%= vf.formatDate(weekDaysCalendar.getTime(), pageLocale, "EE").substring(0, 2) %&gt;&lt;/td&gt;&#xd;
				&lt;% weekDaysCalendar.set(Calendar.DAY_OF_WEEK, Calendar.WEDNESDAY); %&gt;&#xd;
				&lt;td valign="middle"&gt;&lt;%= vf.formatDate(weekDaysCalendar.getTime(), pageLocale, "EE").substring(0, 2) %&gt;&lt;/td&gt;&#xd;
				&lt;% weekDaysCalendar.set(Calendar.DAY_OF_WEEK, Calendar.THURSDAY); %&gt;&#xd;
				&lt;td valign="middle"&gt;&lt;%= vf.formatDate(weekDaysCalendar.getTime(), pageLocale, "EE").substring(0, 2) %&gt;&lt;/td&gt;&#xd;
				&lt;% weekDaysCalendar.set(Calendar.DAY_OF_WEEK, Calendar.FRIDAY); %&gt;&#xd;
				&lt;td valign="middle"&gt;&lt;%= vf.formatDate(weekDaysCalendar.getTime(), pageLocale, "EE").substring(0, 2) %&gt;&lt;/td&gt;&#xd;
				&lt;% weekDaysCalendar.set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY); %&gt;&#xd;
				&lt;td valign="middle"&gt;&lt;%= vf.formatDate(weekDaysCalendar.getTime(), pageLocale, "EE").substring(0, 2) %&gt;&lt;/td&gt;&#xd;
				&lt;% weekDaysCalendar.set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY); %&gt;&#xd;
				&lt;td valign="middle"&gt;&lt;%= vf.formatDate(weekDaysCalendar.getTime(), pageLocale, "EE").substring(0, 2) %&gt;&lt;/td&gt;&#xd;
			&lt;/tr&gt;&#xd;
			&lt;%&#xd;
			    leadGap = calendar.get(Calendar.DAY_OF_WEEK)-2;&#xd;
			    if(leadGap == -1)&#xd;
			    	leadGap = 6;&#xd;
			 	&#xd;
			    int daysInMonth = dom[mm];&#xd;
			    if (calendar.isLeapYear(calendar.get(Calendar.YEAR)) &amp;&amp; mm == 1)&#xd;
			      	++daysInMonth;&#xd;
			 &#xd;
			    out.print("&lt;tr&gt;");&#xd;
			 &#xd;
			    // Blank out the labels before 1st day of month&#xd;
			    for (int i = 0; i &lt; leadGap; i++) {&#xd;
			      	out.print("&lt;td&gt;&amp;nbsp;&lt;/td&gt;");&#xd;
			    }&#xd;
			 &#xd;
			    // Fill in numbers for the day of month.&#xd;
			    int endGap = 7;&#xd;
			    for (int i = 1; i &lt;= daysInMonth; i++) &#xd;
			    {&#xd;
			    	String dateTimeString = vf.formatDate(calendar.getTime(), "yyyy-MM-") + (i&lt;10 ? "0" : "") + i;&#xd;
			    	pageContext.setAttribute("currentDateTimeString", dateTimeString);&#xd;
			    	%&gt;&#xd;
				 	&lt;common:urlBuilder id="calendarDateTimeFilterCurrentUrl" excludedQueryStringParameters="siteNodeId,languageId,categoryAttribute,categoryNames,startDateTime,endDateTime"&gt;&#xd;
						&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
						&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
						&lt;common:parameter name="startDateTime" value="${currentDateTimeString}"/&gt;&#xd;
						&lt;common:parameter name="endDateTime" value="${currentDateTimeString}"/&gt;&#xd;
					&lt;/common:urlBuilder&gt;&#xd;
					&lt;%		 	&#xd;
			     	out.print("&lt;td" + (dateTimeString.equals(nowDateTimeString) ? " class=\"today\"" : "") + "&gt;");&#xd;
			      	&#xd;
			      	if(daysEvents.containsKey("day_" + i))&#xd;
						out.print("&lt;a href=\"" + pageContext.getAttribute("calendarDateTimeFilterCurrentUrl") + "\"&gt;&lt;b&gt;" + i + "&lt;b&gt;&lt;a&gt;");&#xd;
				  	else&#xd;
				      	out.print("" + i + "");&#xd;
					&#xd;
			      	out.print("&lt;/td&gt;");&#xd;
			 		endGap--;&#xd;
			 		&#xd;
			      	if ((leadGap + i) % 7 == 0) {    // wrap if end of line.&#xd;
	&#xd;
			        	out.println("&lt;/tr&gt;");&#xd;
			        	out.print("&lt;tr&gt;");&#xd;
			        	endGap = 7;&#xd;
			      	}&#xd;
			    }&#xd;
			    &#xd;
			    if(endGap &lt; 7)&#xd;
			    {&#xd;
			    	for(int i=0; i&lt;endGap; i++)&#xd;
			    		out.print("&lt;td&gt;&amp;nbsp;&lt;/td&gt;");&#xd;
			    }&#xd;
			%&gt;&#xd;
			&lt;/tr&gt;&#xd;
			&lt;tr&gt;&lt;td style="border-top: 1px none;"&gt;&lt;a href="&lt;c:out value="${calendarMonthBackwardUrl}"/&gt;"&gt;&amp;laquo;&lt;/a&gt;&lt;/td&gt;&lt;td colspan="5" align="center" style="width: 125px; border-top: 1px none;"&gt;&lt;%= vf.formatDate(calendarMonthCalendar.getTime(), pageLocale, "MMMM") %&gt; &lt;%= yy %&gt;&lt;/td&gt;&lt;td style="border-top: 1px none;"&gt;&lt;a href="&lt;c:out value="${calendarMonthForwardUrl}"/&gt;"&gt;&amp;raquo;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&#xd;
		&lt;/table&gt;&#xd;
	&lt;/div&gt;&#xd;
&lt;/c:if&gt;&#xd;
&#xd;
&lt;c:if test="${dateSpanBlock}"&gt;&#xd;
	&lt;div class="relatedhead_area2"&gt;&lt;h1 class="related_head"&gt;&lt;structure:componentLabel mapKeyName="currentEventsLabel"/&gt;&lt;/h1&gt;&lt;/div&gt;&#xd;
	&lt;div class="margin_related"&gt;&#xd;
	&lt;p&gt;&#xd;
		&lt;a class="dotlink" href="&lt;c:out value="${calendarDateTimeFilter1Url}" escapeXml="false"/&gt;"&gt;&lt;structure:componentLabel mapKeyName="guiCalendarTodaysEventsLabel"/&gt;&lt;/a&gt;&#xd;
		&lt;a class="dotlink" href="&lt;c:out value="${calendarDateTimeFilter2Url}" escapeXml="false"/&gt;"&gt;&lt;structure:componentLabel mapKeyName="guiCalendarSevenDaysForwardEventsLabel"/&gt;&lt;/a&gt;&#xd;
		&lt;a class="dotlink" href="&lt;c:out value="${calendarDateTimeFilter3Url}" escapeXml="false"/&gt;"&gt;&lt;structure:componentLabel mapKeyName="guiCalendarMonthsEventsLabel"/&gt;&lt;/a&gt;&#xd;
	&lt;/p&gt;&#xd;
	&lt;/div&gt;&#xd;
&lt;/c:if&gt;&#xd;
&#xd;
&lt;c:if test="${searchBlock}"&gt;&#xd;
	&lt;div class="relatedhead_area2"&gt;&lt;h1 class="related_head"&gt;&lt;structure:componentLabel mapKeyName="searchEventLabel"/&gt;&lt;/h1&gt;&lt;/div&gt;&#xd;
	&lt;div class="margin_related"&gt;&#xd;
		&lt;common:urlBuilder id="calendarFreeTextUrl" excludedQueryStringParameters="siteNodeId,languageId,categoryAttribute,categoryNames,startDateTime,endDateTime,freeText"/&gt;&#xd;
		&lt;form action="&lt;c:out value="${calendarFreeTextUrl}" escapeXml="false"/&gt;" method="post"&gt;&#xd;
			&lt;input type="hidden" name="startDateTime" value="2000-01-01"/&gt;&#xd;
			&lt;input type="hidden" name="endDateTime" value="2050-01-01"/&gt;&#xd;
			&lt;input type="hidden" name="siteNodeId" value="&lt;c:out value="${pc.siteNodeId}"/&gt;"/&gt;&#xd;
			&lt;input type="hidden" name="languageId" value="&lt;c:out value="${pc.languageId}"/&gt;"/&gt;&#xd;
			&lt;input type="text" name="freeText" value="&lt;c:out value="${param.freeText}"/&gt;" maxlength="100" size="12"&gt;&#xd;
			&lt;input type="submit" value="&lt;structure:componentLabel mapKeyName="searchEventButtonLabel"/&gt;"&gt;&#xd;
		&lt;/form&gt;&#xd;
	&lt;/div&gt;&#xd;
&lt;/c:if&gt;&#xd;
&#xd;
&#xd;
&lt;c:if test="${filterBlock}"&gt;&#xd;
&#xd;
&lt;common:urlBuilder id="categoryRESTServletUrl" baseURL="http://localhost:8080/infoglueCalendar/CategoryRESTServlet" query=""&gt;&#xd;
	&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
	&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
&lt;/common:urlBuilder&gt;&#xd;
&#xd;
&lt;%&#xd;
	String categoryRESTServletUrl = (String)pageContext.getAttribute("categoryRESTServletUrl");&#xd;
	java.util.List categories = (java.util.List)org.infoglue.deliver.util.CacheController.getCachedObjectFromAdvancedCache("calendarCategoryCache", "" + categoryRESTServletUrl, 300);&#xd;
	if(categories == null)&#xd;
	{&#xd;
		org.infoglue.deliver.util.HttpHelper httpHelper = new org.infoglue.deliver.util.HttpHelper();&#xd;
		String filterCategoryXML = httpHelper.getUrlContent(categoryRESTServletUrl, new java.util.HashMap(), new java.util.HashMap(), "iso-8859-1", 5000);&#xd;
		&#xd;
		//System.out.println("filterCategoryXML:" + filterCategoryXML);&#xd;
		&#xd;
		categories = new java.util.ArrayList();&#xd;
		&#xd;
		DOMBuilder domBuilder = new DOMBuilder();&#xd;
		org.dom4j.Document document = domBuilder.getDocument(filterCategoryXML);&#xd;
		&#xd;
		java.util.List propertyList = document.getRootElement().selectNodes("property");&#xd;
		&#xd;
		java.util.Iterator propertyListIterator = propertyList.iterator();&#xd;
		while(propertyListIterator.hasNext())&#xd;
		{&#xd;
			org.dom4j.Element eventElement = (org.dom4j.Element)propertyListIterator.next();&#xd;
			&#xd;
			String name = eventElement.attributeValue("name");&#xd;
			String value = eventElement.attributeValue("value");&#xd;
			&#xd;
			java.util.Map categoryHash = new java.util.HashMap();&#xd;
			categoryHash.put("name", name);&#xd;
			categoryHash.put("value", value);&#xd;
			categories.add(categoryHash);&#xd;
		}&#xd;
		&#xd;
		org.infoglue.deliver.util.CacheController.cacheObjectInAdvancedCache("calendarCategoryCache", "" + categoryRESTServletUrl, categories);&#xd;
	}&#xd;
	pageContext.setAttribute("categories", categories);&#xd;
	//System.out.println("categories:" + categories);&#xd;
%&gt;&#xd;
&lt;structure:componentPropertyValue id="allowedCategoryNames" propertyName="CategoryNames"/&gt;&#xd;
&#xd;
	&lt;div class="relatedhead_area2"&gt;&lt;h1 class="related_head"&gt;&lt;structure:componentLabel mapKeyName="categoryFilterLabel"/&gt;&lt;/h1&gt;&lt;/div&gt;&#xd;
	&lt;div class="margin_related"&gt;&#xd;
		&lt;p&gt;&#xd;
		&lt;c:forEach var="categoryMap" items="${categories}"&gt;&#xd;
			&lt;c:if test="${categoryMap['name'] != 'All'}"&gt;&#xd;
				&lt;c:set var="currentCategoryValue" value="${categoryMap['value']}"/&gt;&#xd;
				&lt;%&#xd;
				String currentCategoryValue = (String)pageContext.getAttribute("currentCategoryValue");&#xd;
				String allowedCategoryNames = (String)pageContext.getAttribute("allowedCategoryNames");&#xd;
				//System.out.println(currentCategoryValue + "=" + allowedCategoryNames);&#xd;
				if(allowedCategoryNames.indexOf(currentCategoryValue) &gt; -1)&#xd;
				{&#xd;
				%&gt;	&#xd;
					&lt;common:urlBuilder id="calendarCategoryFilterXUrl" excludedQueryStringParameters="siteNodeId,languageId,categoryAttribute,categoryNames,startDateTime,endDateTime"&gt;&#xd;
						&lt;c:if test="${not empty param.startDateTime}"&gt;&#xd;
						&lt;common:parameter name="startDateTime" value="${param.startDateTime}"/&gt;&#xd;
						&lt;/c:if&gt;&#xd;
						&lt;c:if test="${not empty param.startDateTime}"&gt;&#xd;
						&lt;common:parameter name="endDateTime" value="${param.endDateTime}"/&gt;&#xd;
						&lt;/c:if&gt;&#xd;
						&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
						&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
						&lt;common:parameter name="categoryAttribute" value="eventTypes"/&gt;&#xd;
						&lt;common:parameter name="categoryNames" value="${currentCategoryValue}"/&gt;&#xd;
					&lt;/common:urlBuilder&gt;&#xd;
					&lt;a class="dotlink" href="&lt;c:out value="${calendarCategoryFilterXUrl}" escapeXml="false"/&gt;"&gt;&lt;c:out value="${categoryMap['name']}"/&gt;&lt;/a&gt;&#xd;
				&lt;%&#xd;
				}&#xd;
			 	%&gt;&#xd;
			&lt;/c:if&gt;&#xd;
		&lt;/c:forEach&gt;&#xd;
		&lt;/p&gt;&#xd;
	&lt;/div&gt;&#xd;
	&#xd;
&lt;/c:if&gt;cdataEnd&lt;/Template&gt;&lt;ComponentProperties&gt;&lt;![CDATA[&lt;?xml version='1.0' encoding='UTF-8'?&gt;&#xd;
&lt;properties&gt;&#xd;
	&lt;property name='visibleBlocks' displayName='Välj block att visa' type='checkbox'&#xd;
		multiple='' assetBinding='' isPuffContentForPage='' description='No description yet'&#xd;
		defaultValue='' dataProvider='' dataProviderParameters=''&#xd;
		allowMultipleSelections='false'&gt;&#xd;
		&lt;option name='Alla' value='*' /&gt;&#xd;
		&lt;option name='Grafisk kalender' value='guiCalendarBlock' /&gt;&#xd;
		&lt;option name='Snabblänkar' value='dateSpanBlock' /&gt;&#xd;
		&lt;option name='Sökdel' value='searchBlock' /&gt;&#xd;
		&lt;option name='Filter' value='filterBlock' /&gt;&#xd;
	&lt;/property&gt;&#xd;
	&lt;property name='CategoryNames' displayName='Tillåtna filter' type='select'&#xd;
		multiple='false' assetBinding='false' isPuffContentForPage='false'&#xd;
		description='Välj kategories att erbjuda som filter' defaultValue=''&#xd;
		dataProvider='org.infoglue.deliver.integration.dataproviders.RemoteXMLPropertyOptionsDataProvider'&#xd;
		dataProviderParameters='serviceUrl=http://localhost:8080/infoglueCalendar/CategoryRESTServlet;charset=iso8859-1'&#xd;
		allowMultipleSelections='true'&gt;&lt;/property&gt;&#xd;
&lt;/properties&gt;cdataEnd&lt;/ComponentProperties&gt;&lt;RelatedComponents&gt;&lt;![CDATA[cdataEnd&lt;/RelatedComponents&gt;&lt;IGAuthorFullName&gt;&lt;![CDATA[System AdministratorcdataEnd&lt;/IGAuthorFullName&gt;&lt;IGAuthorEmail&gt;&lt;![CDATA[mattias.bogeblad@modul1.secdataEnd&lt;/IGAuthorEmail&gt;&lt;/attributes&gt;&lt;/article&gt;</escapedVersionValue>
					</contentVersions>
					<contentVersions content-version-id="11088">
						<stateId>3</stateId>
						<modifiedDateTime>2008-11-02T21:30:11.000+01:00</modifiedDateTime>
						<versionComment>sssssssss</versionComment>
						<isCheckedOut>false</isCheckedOut>
						<isActive>true</isActive>
						<language language-id="1">
							<name>English</name>
							<languageCode>en</languageCode>
							<charset>utf-8</charset>
						</language>
						<versionModifier>Administrator</versionModifier>
						<escapedVersionValue>&lt;?xml version='1.0' encoding='UTF-8'?&gt;&lt;article xmlns='x-schema:ArticleSchema.xml'&gt;&lt;attributes&gt;&lt;Name&gt;&lt;![CDATA[KalenderfunktionercdataEnd&lt;/Name&gt;&lt;Template&gt;&lt;![CDATA[&lt;%@ taglib uri="infoglue-structure" prefix="structure" %&gt;&#xd;
&lt;%@ taglib uri="infoglue-content" prefix="content" %&gt;&#xd;
&lt;%@ taglib uri="infoglue-common" prefix="common" %&gt;&#xd;
&lt;%@ taglib uri="infoglue-page" prefix="page" %&gt;&#xd;
&lt;%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %&gt;&#xd;
&#xd;
&lt;%@ page contentType="text/html; charset=UTF-8" %&gt;&#xd;
&#xd;
&lt;%@page import="org.infoglue.cms.applications.common.VisualFormatter, java.util.GregorianCalendar, java.util.Calendar"%&gt;&#xd;
&#xd;
&#xd;
&lt;%@page import="org.infoglue.cms.util.dom.DOMBuilder"%&gt;&#xd;
&lt;%@page import="org.infoglue.deliver.util.CacheController"%&gt;&#xd;
&#xd;
&lt;page:pageContext id="pc"/&gt;&#xd;
&lt;c:set var="pageLocale" value="${pc.locale}"/&gt; &#xd;
&#xd;
&lt;%&#xd;
VisualFormatter vf = new VisualFormatter();&#xd;
&#xd;
java.util.Calendar now = java.util.Calendar.getInstance();&#xd;
String nowDateTimeString = vf.formatDate(now.getTime(), "yyyy-MM-dd");&#xd;
//Setting up back and forward dates&#xd;
java.util.Calendar calendarMonthCalendar = Calendar.getInstance();&#xd;
if(request.getParameter("calendarMonth") != null)&#xd;
{&#xd;
	java.util.Date monthDate = vf.parseDate(request.getParameter("calendarMonth"), "yyyy-MM");&#xd;
	calendarMonthCalendar.setTime(monthDate);&#xd;
}&#xd;
String calendarMonthDateTimeString = vf.formatDate(calendarMonthCalendar.getTime(), "yyyy-MM");&#xd;
pageContext.setAttribute("calendarMonthDateTimeString", calendarMonthDateTimeString);&#xd;
&#xd;
java.util.Calendar previousCalendarMonthCalendar = java.util.Calendar.getInstance();&#xd;
previousCalendarMonthCalendar.setTime(calendarMonthCalendar.getTime());&#xd;
previousCalendarMonthCalendar.add(Calendar.MONTH, -1);&#xd;
String calendarMonthPreviousDateTimeString = vf.formatDate(previousCalendarMonthCalendar.getTime(), "yyyy-MM");&#xd;
pageContext.setAttribute("calendarMonthPreviousDateTimeString", calendarMonthPreviousDateTimeString);&#xd;
&#xd;
java.util.Calendar nextCalendarMonthCalendar = java.util.Calendar.getInstance();&#xd;
nextCalendarMonthCalendar.setTime(calendarMonthCalendar.getTime());&#xd;
nextCalendarMonthCalendar.add(Calendar.MONTH, +1);&#xd;
String calendarMonthNextDateTimeString = vf.formatDate(nextCalendarMonthCalendar.getTime(), "yyyy-MM");&#xd;
pageContext.setAttribute("calendarMonthNextDateTimeString", calendarMonthNextDateTimeString);&#xd;
&#xd;
//Month date&#xd;
String monthDateString = vf.formatDate(now.getTime(), "yyyy-MM");&#xd;
pageContext.setAttribute("monthDateString", monthDateString);&#xd;
&#xd;
//Current date&#xd;
String currentDateString = vf.formatDate(now.getTime(), "yyyy-MM-dd");&#xd;
pageContext.setAttribute("currentDateString", currentDateString);&#xd;
&#xd;
//Seven days ahead span&#xd;
java.util.Calendar weekCalendar = java.util.Calendar.getInstance();&#xd;
String weekStartDateTimeString = vf.formatDate(weekCalendar.getTime(), "yyyy-MM-dd");&#xd;
pageContext.setAttribute("weekStartDateTimeString", weekStartDateTimeString);&#xd;
weekCalendar.add(java.util.Calendar.DAY_OF_MONTH, 7);&#xd;
String weekEndDateTimeString = vf.formatDate(weekCalendar.getTime(), "yyyy-MM-dd");&#xd;
pageContext.setAttribute("weekEndDateTimeString", weekEndDateTimeString);&#xd;
&#xd;
//Month span&#xd;
java.util.Calendar monthCalendar = java.util.Calendar.getInstance();&#xd;
monthCalendar.set(java.util.Calendar.DAY_OF_MONTH, 1); &#xd;
String monthStartDateTimeString = vf.formatDate(monthCalendar.getTime(), "yyyy-MM-dd");&#xd;
pageContext.setAttribute("monthStartDateTimeString", monthStartDateTimeString);&#xd;
int lastDate = monthCalendar.getActualMaximum(java.util.Calendar.DATE);&#xd;
monthCalendar.set(java.util.Calendar.DAY_OF_MONTH, lastDate); &#xd;
String monthEndDateTimeString = vf.formatDate(monthCalendar.getTime(), "yyyy-MM-dd");&#xd;
pageContext.setAttribute("monthEndDateTimeString", monthEndDateTimeString);&#xd;
%&gt;&#xd;
&#xd;
&lt;structure:componentPropertyValue id="calendaIds" propertyName="CalendarId"/&gt;&#xd;
&#xd;
&lt;common:urlBuilder id="eventsRESTServletUrl" baseURL="http://localhost:8080/infoglueCalendar/EventsRESTServlet" query=""&gt;&#xd;
	&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
	&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
	&lt;common:parameter name="calendarId" value="${calendaIds}"/&gt;&#xd;
	&lt;common:parameter name="calendarMonth" value="${calendarMonthDateTimeString}"/&gt;&#xd;
&lt;/common:urlBuilder&gt;&#xd;
&#xd;
&lt;common:urlBuilder id="calendarDateTimeFilter1Url" excludedQueryStringParameters="siteNodeId,languageId,categoryAttribute,categoryNames,startDateTime,endDateTime,calendarMonth"&gt;&#xd;
	&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
	&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
	&lt;common:parameter name="startDateTime" value="${currentDateString}"/&gt;&#xd;
	&lt;common:parameter name="endDateTime" value="${currentDateString}"/&gt;&#xd;
&lt;/common:urlBuilder&gt;&#xd;
&#xd;
&lt;common:urlBuilder id="calendarDateTimeFilter2Url" excludedQueryStringParameters="siteNodeId,languageId,categoryAttribute,categoryNames,startDateTime,endDateTime,calendarMonth"&gt;&#xd;
	&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
	&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
	&lt;common:parameter name="startDateTime" value="${weekStartDateTimeString}"/&gt;&#xd;
	&lt;common:parameter name="endDateTime" value="${weekEndDateTimeString}"/&gt;&#xd;
&lt;/common:urlBuilder&gt;&#xd;
&#xd;
&lt;common:urlBuilder id="calendarDateTimeFilter3Url" excludedQueryStringParameters="siteNodeId,languageId,categoryAttribute,categoryNames,startDateTime,endDateTime,calendarMonth"&gt;&#xd;
	&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
	&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
	&lt;common:parameter name="startDateTime" value="${monthStartDateTimeString}"/&gt;&#xd;
	&lt;common:parameter name="endDateTime" value="${monthEndDateTimeString}"/&gt;&#xd;
&lt;/common:urlBuilder&gt;&#xd;
&#xd;
&lt;common:urlBuilder id="calendarMonthBackwardUrl" excludedQueryStringParameters="siteNodeId,languageId,categoryAttribute,categoryNames,startDateTime,endDateTime,calendarMonth"&gt;&#xd;
	&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
	&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
	&lt;common:parameter name="calendarMonth" value="${calendarMonthPreviousDateTimeString}"/&gt;&#xd;
&lt;/common:urlBuilder&gt;&#xd;
&#xd;
&lt;common:urlBuilder id="calendarMonthForwardUrl" excludedQueryStringParameters="siteNodeId,languageId,categoryAttribute,categoryNames,startDateTime,endDateTime,calendarMonth"&gt;&#xd;
	&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
	&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
	&lt;common:parameter name="calendarMonth" value="${calendarMonthNextDateTimeString}"/&gt;&#xd;
&lt;/common:urlBuilder&gt;&#xd;
&#xd;
&lt;style type="text/css"&gt;&#xd;
#igcalendar {&#xd;
        width: 174px;&#xd;
        height: 160px;&#xd;
	border-width: 0px 0px 0px 0px;&#xd;
	border-spacing: 0px;&#xd;
	border-style: none none none none;&#xd;
	border-color: gray gray gray gray;&#xd;
	border-collapse: collapse;&#xd;
	background-color: white;&#xd;
}&#xd;
#igcalendar th {&#xd;
	border-width: 1px 1px 1px 1px;&#xd;
	padding: 2px 2px 2px 2px;&#xd;
	border-style: solid solid solid solid;&#xd;
	border-color: gray gray gray gray;&#xd;
	background-color: white;&#xd;
	-moz-border-radius: 0px 0px 0px 0px;&#xd;
}&#xd;
#igcalendar td {&#xd;
	border-width: 1px 1px 1px 1px;&#xd;
	padding: 2px 2px 2px 2px;&#xd;
	border-style: solid solid solid solid;&#xd;
	border-color: #9cbede #9cbede #9cbede #9cbede;&#xd;
	background-color: #deebf7;&#xd;
	-moz-border-radius: 0px 0px 0px 0px;&#xd;
	text-align: center;&#xd;
       vertical-align: middle;&#xd;
}&#xd;
#igcalendar td.today {&#xd;
        background-color: #c3ddf7;&#xd;
}&#xd;
#igcalendar td a {&#xd;
	color: black;&#xd;
}&#xd;
&lt;/style&gt;&#xd;
&#xd;
&lt;%&#xd;
	String eventsRESTServletUrl = (String)pageContext.getAttribute("eventsRESTServletUrl");&#xd;
	java.util.Map daysEvents = (java.util.Map)org.infoglue.deliver.util.CacheController.getCachedObjectFromAdvancedCache("calendarEventsCache", "" + eventsRESTServletUrl, 300);&#xd;
	if(daysEvents == null)&#xd;
	{&#xd;
		org.infoglue.deliver.util.HttpHelper httpHelper = new org.infoglue.deliver.util.HttpHelper();&#xd;
		String monthEventsXML = httpHelper.getUrlContent(eventsRESTServletUrl, new java.util.HashMap(), new java.util.HashMap(), "iso-8859-1", 5000);&#xd;
		&#xd;
		//System.out.println("monthEventsXML:" + monthEventsXML);&#xd;
		&#xd;
		daysEvents = new java.util.HashMap();&#xd;
		&#xd;
		DOMBuilder domBuilder = new DOMBuilder();&#xd;
		org.dom4j.Document document = domBuilder.getDocument(monthEventsXML);&#xd;
		&#xd;
		java.util.List events = document.getRootElement().selectNodes("event");&#xd;
		&#xd;
		java.util.Iterator eventsIterator = events.iterator();&#xd;
		while(eventsIterator.hasNext())&#xd;
		{&#xd;
			org.dom4j.Element eventElement = (org.dom4j.Element)eventsIterator.next();&#xd;
			&#xd;
			String idString = eventElement.attributeValue("id");&#xd;
			String startDateString = eventElement.attributeValue("startDate");&#xd;
&#xd;
			String endDateString = eventElement.attributeValue("endDate");&#xd;
			java.util.Date startDate = vf.parseDate(startDateString, "yyyy-MM-dd");&#xd;
			java.util.Date endDate = vf.parseDate(endDateString, "yyyy-MM-dd");&#xd;
			&#xd;
			java.util.Calendar startDateCalendar = java.util.Calendar.getInstance();&#xd;
			startDateCalendar.setTime(startDate);&#xd;
			java.util.Calendar endDateCalendar = java.util.Calendar.getInstance();&#xd;
			endDateCalendar.setTime(endDate);&#xd;
	   		&#xd;
			while(startDateCalendar.get(java.util.Calendar.DAY_OF_MONTH) &lt;= endDateCalendar.get(java.util.Calendar.DAY_OF_MONTH))&#xd;
	   		{&#xd;
	   			int dayOfMonth = startDateCalendar.get(java.util.Calendar.DAY_OF_MONTH);&#xd;
	   			java.util.List&lt;java.util.Map&gt; dayEvents = (java.util.List&lt;java.util.Map&gt;)daysEvents.get("day_" + dayOfMonth);&#xd;
	   			if(dayEvents == null)&#xd;
	   			{&#xd;
	   				dayEvents = new java.util.ArrayList&lt;java.util.Map&gt;();&#xd;
	   				daysEvents.put("day_" + dayOfMonth, dayEvents);&#xd;
	   			}&#xd;
	   			&#xd;
	   			java.util.Map eventMap = new java.util.HashMap();&#xd;
	   			eventMap.put("id", idString);&#xd;
	   			eventMap.put("startDateString", startDateString);&#xd;
	   			eventMap.put("endDateString", endDateString);&#xd;
	   			dayEvents.add(eventMap);&#xd;
	   			startDateCalendar.add(java.util.Calendar.DAY_OF_MONTH, 1);&#xd;
	   		}&#xd;
		}&#xd;
		&#xd;
		org.infoglue.deliver.util.CacheController.cacheObjectInAdvancedCache("calendarEventsCache", "" + eventsRESTServletUrl, daysEvents);&#xd;
	}&#xd;
		&#xd;
	/** The days in each month. */&#xd;
	int dom[] = {&#xd;
		31, 28, 31, 30,  /* jan feb mar apr */&#xd;
	    31, 30, 31, 31, /* may jun jul aug */&#xd;
	    30, 31, 30, 31  /* sep oct nov dec */&#xd;
	};&#xd;
&#xd;
	/** The number of days to leave blank at the start of this month */&#xd;
	int leadGap = 0;&#xd;
	int yy = calendarMonthCalendar.get(Calendar.YEAR);&#xd;
	int mm = calendarMonthCalendar.get(Calendar.MONTH);&#xd;
	if(mm == -1)&#xd;
	{&#xd;
		yy = yy - 1;&#xd;
		mm = 11;&#xd;
	}&#xd;
	java.util.Locale pageLocale = (java.util.Locale)pageContext.getAttribute("pageLocale");&#xd;
	//out.print(yy + ":" + mm);&#xd;
	%&gt;&#xd;
	&#xd;
&lt;div class="relatedhead_area2"&gt;&lt;h1 class="related_head"&gt;&lt;%= vf.formatDate(calendarMonthCalendar.getTime(), pageLocale, "MMMM") %&gt; &lt;%= yy %&gt;&lt;/h1&gt;&lt;/div&gt;&#xd;
&lt;div class="margin_related" style="margin: 0px; padding: 0px;"&gt;&#xd;
	&lt;table id="igcalendar" class="igcalendar"&gt;&#xd;
		&lt;% &#xd;
		GregorianCalendar calendar = new GregorianCalendar(yy, mm, 1); &#xd;
		calendar.setFirstDayOfWeek(Calendar.MONDAY);&#xd;
		%&gt;&#xd;
		&lt;tr&gt;&lt;td valign="bottom"&gt;Mo&lt;td valign="middle"&gt;Tu&lt;/td&gt;&lt;td&gt;We&lt;/td&gt;&lt;td&gt;Th&lt;/td&gt;&lt;td&gt;Fr&lt;/td&gt;&lt;td&gt;Sa&lt;/td&gt;&lt;td&gt;Su&lt;/td&gt;&lt;/tr&gt;&#xd;
		&lt;%&#xd;
		    leadGap = calendar.get(Calendar.DAY_OF_WEEK)-2;&#xd;
		    if(leadGap == -1)&#xd;
		    	leadGap = 6;&#xd;
		 	&#xd;
		    int daysInMonth = dom[mm];&#xd;
		    if (calendar.isLeapYear(calendar.get(Calendar.YEAR)) &amp;&amp; mm == 1)&#xd;
		      	++daysInMonth;&#xd;
		 &#xd;
		    out.print("&lt;tr&gt;");&#xd;
		 &#xd;
		    // Blank out the labels before 1st day of month&#xd;
		    for (int i = 0; i &lt; leadGap; i++) {&#xd;
		      	out.print("&lt;td&gt;&amp;nbsp;&lt;/td&gt;");&#xd;
		    }&#xd;
		 &#xd;
		    // Fill in numbers for the day of month.&#xd;
		    int endGap = 7;&#xd;
		    for (int i = 1; i &lt;= daysInMonth; i++) &#xd;
		    {&#xd;
		    	String dateTimeString = vf.formatDate(calendar.getTime(), "yyyy-MM-") + (i&lt;10 ? "0" : "") + i;&#xd;
		    	pageContext.setAttribute("currentDateTimeString", dateTimeString);&#xd;
		    	%&gt;&#xd;
			 	&lt;common:urlBuilder id="calendarDateTimeFilterCurrentUrl" excludedQueryStringParameters="siteNodeId,languageId,categoryAttribute,categoryNames,startDateTime,endDateTime"&gt;&#xd;
					&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
					&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
					&lt;common:parameter name="startDateTime" value="${currentDateTimeString}"/&gt;&#xd;
					&lt;common:parameter name="endDateTime" value="${currentDateTimeString}"/&gt;&#xd;
				&lt;/common:urlBuilder&gt;&#xd;
				&lt;%		 	&#xd;
		     	out.print("&lt;td" + (dateTimeString.equals(nowDateTimeString) ? " class=\"today\"" : "") + "&gt;");&#xd;
		      	&#xd;
		      	if(daysEvents.containsKey("day_" + i))&#xd;
					out.print("&lt;a href=\"" + pageContext.getAttribute("calendarDateTimeFilterCurrentUrl") + "\"&gt;&lt;b&gt;" + i + "&lt;b&gt;&lt;a&gt;");&#xd;
			  	else&#xd;
			      	out.print("&lt;a href=\"" + pageContext.getAttribute("calendarDateTimeFilterCurrentUrl") + "\"&gt;" + i + "&lt;a&gt;");&#xd;
				&#xd;
		      	out.print("&lt;/td&gt;");&#xd;
		 		endGap--;&#xd;
		 		&#xd;
		      	if ((leadGap + i) % 7 == 0) {    // wrap if end of line.&#xd;
&#xd;
		        	out.println("&lt;/tr&gt;");&#xd;
		        	out.print("&lt;tr&gt;");&#xd;
		        	endGap = 7;&#xd;
		      	}&#xd;
		    }&#xd;
		    &#xd;
		    if(endGap &lt; 7)&#xd;
		    {&#xd;
		    	for(int i=0; i&lt;endGap; i++)&#xd;
		    		out.print("&lt;td&gt;&amp;nbsp;&lt;/td&gt;");&#xd;
		    }&#xd;
		%&gt;&#xd;
		&lt;/tr&gt;&#xd;
		&lt;tr&gt;&lt;td style="background-color: #9cbede;"&gt;&lt;a href="&lt;c:out value="${calendarMonthBackwardUrl}"/&gt;"&gt;&amp;laquo;&lt;/a&gt;&lt;/td&gt;&lt;td  style="background-color: #9cbede;" colspan="5" align="center"&gt;&lt;!--&lt;%= vf.formatDate(calendarMonthCalendar.getTime(), pageLocale, "MMMM") %&gt;--&gt;&lt;/td&gt;&lt;td style="background-color: #9cbede;"&gt;&lt;a href="&lt;c:out value="${calendarMonthForwardUrl}"/&gt;"&gt;&amp;raquo;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&#xd;
	&lt;/table&gt;&#xd;
&lt;/div&gt;&#xd;
&#xd;
&lt;div class="relatedhead_area2"&gt;&lt;h1 class="related_head"&gt;&lt;structure:componentLabel mapKeyName="currentEventsLabel"/&gt;&lt;/h1&gt;&lt;/div&gt;&#xd;
&lt;div class="margin_related"&gt;&#xd;
&lt;p&gt;&#xd;
	&lt;a class="dotlink" href="&lt;c:out value="${calendarDateTimeFilter1Url}" escapeXml="false"/&gt;"&gt;Dagens händelser&lt;/a&gt;&#xd;
	&lt;a class="dotlink" href="&lt;c:out value="${calendarDateTimeFilter2Url}" escapeXml="false"/&gt;"&gt;Sju dagar framåt&lt;/a&gt;&#xd;
	&lt;a class="dotlink" href="&lt;c:out value="${calendarDateTimeFilter3Url}" escapeXml="false"/&gt;"&gt;Månadens händelser&lt;/a&gt;&#xd;
&lt;/p&gt;&#xd;
&lt;/div&gt;&#xd;
&#xd;
&lt;br clear="all" /&gt;&#xd;
&#xd;
&lt;common:urlBuilder id="calendarFreeTextUrl" excludedQueryStringParameters="siteNodeId,languageId,categoryAttribute,categoryNames,startDateTime,endDateTime,freeText"/&gt;&#xd;
&#xd;
&lt;div class="relatedhead_area2"&gt;&lt;h1 class="related_head"&gt;&lt;structure:componentLabel mapKeyName="searchEventLabel"/&gt;&lt;/h1&gt;&lt;/div&gt;&#xd;
&lt;div class="margin_related"&gt;&#xd;
&lt;p&gt;&#xd;
	&lt;form action="&lt;c:out value="${calendarFreeTextUrl}" escapeXml="false"/&gt;" method="post"&gt;&#xd;
		&lt;input type="hidden" name="startDateTime" value="2000-01-01"/&gt;&#xd;
		&lt;input type="hidden" name="endDateTime" value="2050-01-01"/&gt;&#xd;
		&lt;input type="hidden" name="siteNodeId" value="&lt;c:out value="${pc.siteNodeId}"/&gt;"/&gt;&#xd;
		&lt;input type="hidden" name="languageId" value="&lt;c:out value="${pc.languageId}"/&gt;"/&gt;&#xd;
		&lt;input type="text" name="freeText" value="&lt;c:out value="${param.freeText}"/&gt;"&gt;&#xd;
		&lt;input type="submit" value="&lt;structure:componentLabel mapKeyName="searchEventButtonLabel"/&gt;"&gt;&#xd;
	&lt;/form&gt;&#xd;
&lt;/p&gt;&#xd;
&lt;/div&gt;&#xd;
&#xd;
&lt;br clear="all" /&gt;&#xd;
&#xd;
&lt;common:urlBuilder id="calendarCategoryFilter1Url" excludedQueryStringParameters="siteNodeId,languageId,categoryAttribute,categoryNames,startDateTime,endDateTime"&gt;&#xd;
	&lt;c:if test="${not empty param.startDateTime}"&gt;&#xd;
	&lt;common:parameter name="startDateTime" value="${param.startDateTime}"/&gt;&#xd;
	&lt;/c:if&gt;&#xd;
	&lt;c:if test="${not empty param.startDateTime}"&gt;&#xd;
	&lt;common:parameter name="endDateTime" value="${param.endDateTime}"/&gt;&#xd;
	&lt;/c:if&gt;&#xd;
	&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
	&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
	&lt;common:parameter name="categoryAttribute" value="eventType"/&gt;&#xd;
	&lt;common:parameter name="categoryNames" value="openLecture"/&gt;&#xd;
&lt;/common:urlBuilder&gt;&#xd;
&#xd;
&lt;common:urlBuilder id="calendarCategoryFilter2Url" excludedQueryStringParameters="siteNodeId,languageId,categoryAttribute,categoryNames,startDateTime,endDateTime"&gt;&#xd;
	&lt;c:if test="${not empty param.startDateTime}"&gt;&#xd;
	&lt;common:parameter name="startDateTime" value="${param.startDateTime}"/&gt;&#xd;
	&lt;/c:if&gt;&#xd;
	&lt;c:if test="${not empty param.startDateTime}"&gt;&#xd;
	&lt;common:parameter name="endDateTime" value="${param.endDateTime}"/&gt;&#xd;
	&lt;/c:if&gt;&#xd;
	&lt;common:parameter name="siteNodeId" value="${pc.siteNodeId}"/&gt;&#xd;
	&lt;common:parameter name="languageId" value="${pc.languageId}"/&gt;&#xd;
	&lt;common:parameter name="categoryAttribute" value="eventType"/&gt;&#xd;
	&lt;common:parameter name="categoryNames" value="sparetimeEvent"/&gt;&#xd;
&lt;/common:urlBuilder&gt;&#xd;
&#xd;
&lt;div class="relatedhead_area2"&gt;&lt;h1 class="related_head"&gt;&lt;structure:componentLabel mapKeyName="categoryFilterLabel"/&gt;&lt;/h1&gt;&lt;/div&gt;&#xd;
&lt;div class="margin_related"&gt;&#xd;
&lt;p&gt;&#xd;
	&lt;a class="dotlink" href="&lt;c:out value="${calendarCategoryFilter1Url}" escapeXml="false"/&gt;"&gt;Öppen föreläsning&lt;/a&gt;&#xd;
	&lt;a class="dotlink" href="&lt;c:out value="${calendarCategoryFilter2Url}" escapeXml="false"/&gt;"&gt;Fritidsaktivitet&lt;/a&gt;&#xd;
&lt;/p&gt;&#xd;
&lt;/div&gt;&#xd;
cdataEnd&lt;/Template&gt;&lt;ComponentProperties&gt;&lt;![CDATA[cdataEnd&lt;/ComponentProperties&gt;&lt;GroupName&gt;&lt;![CDATA[Basic PagescdataEnd&lt;/GroupName&gt;&lt;RelatedComponents&gt;&lt;![CDATA[cdataEnd&lt;/RelatedComponents&gt;&lt;ComponentLabels&gt;&lt;![CDATA[monthLabel=Månad&#xd;
currentEventsLabel=Aktuella evenemang&#xd;
searchEventLabel=Sök evenemang&#xd;
searchEventButtonLabel=Sök&#xd;
categoryFilterLabel=KategorifiltercdataEnd&lt;/ComponentLabels&gt;&lt;IGAuthorFullName&gt;&lt;![CDATA[System AdministratorcdataEnd&lt;/IGAuthorFullName&gt;&lt;IGAuthorEmail&gt;&lt;![CDATA[mattias.bogeblad@modul1.secdataEnd&lt;/IGAuthorEmail&gt;&lt;/attributes&gt;&lt;/article&gt;</escapedVersionValue>
					</contentVersions>
					<creator>Administrator</creator>
				</children>
				<creator>Administrator</creator>
			</children>
			<creator>administrator</creator>
		</children>
		<children content-id="8943">
			<name>Meta info folder</name>
			<publishDateTime>2009-01-21T21:33:48.000+01:00</publishDateTime>
			<expireDateTime>2019-01-21T21:33:48.000+01:00</expireDateTime>
			<isBranch>true</isBranch>
			<isProtected>2</isProtected>
			<repositoryId>71</repositoryId>
			<children content-id="8944">
				<name>CalendarAdmin Metainfo</name>
				<publishDateTime>2009-01-21T21:33:48.000+01:00</publishDateTime>
				<expireDateTime>2019-01-21T21:33:48.000+01:00</expireDateTime>
				<isBranch>false</isBranch>
				<isProtected>2</isProtected>
				<contentTypeDefinitionId>2</contentTypeDefinitionId>
				<repositoryId>71</repositoryId>
				<contentVersions content-version-id="11090">
					<stateId>0</stateId>
					<modifiedDateTime>2009-01-21T21:33:48.000+01:00</modifiedDateTime>
					<versionComment>Autogenerated version</versionComment>
					<isCheckedOut>false</isCheckedOut>
					<isActive>true</isActive>
					<language language-id="1">
						<name>English</name>
						<languageCode>en</languageCode>
						<charset>utf-8</charset>
					</language>
					<versionModifier>administrator</versionModifier>
					<escapedVersionValue>&lt;article xmlns="x-schema:ArticleSchema.xml"&gt;&lt;attributes&gt;&lt;Title&gt;&lt;![CDATA[CalendarAdmincdataEnd&lt;/Title&gt;&lt;NavigationTitle&gt;&lt;![CDATA[CalendarAdmincdataEnd&lt;/NavigationTitle&gt;&lt;NiceURIName&gt;&lt;![CDATA[calendaradmincdataEnd&lt;/NiceURIName&gt;&lt;Description&gt;&lt;![CDATA[CalendarAdmincdataEnd&lt;/Description&gt;&lt;MetaInfo&gt;&lt;![CDATA[CalendarAdmincdataEnd&lt;/MetaInfo&gt;&lt;ComponentStructure&gt;&lt;![CDATA[&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;components&gt;&lt;component contentId="8937" id="0" name="base"&gt;&lt;properties&gt;&lt;property name="Portlet" path_en="infoglueCalendar.WebworkDispatcherPortlet" type="textfield"&gt;&lt;/property&gt;&lt;property name="Action" path_en="ViewCalendarAdministration" type="textfield"&gt;&lt;/property&gt;&lt;property name="numberOfItems" path_en="10" type="textfield"&gt;&lt;/property&gt;&lt;property name="CacheResult" path_en="false" type="textfield"&gt;&lt;/property&gt;&lt;property name="UpdateInterval" path_en="1" type="textfield"&gt;&lt;/property&gt;&lt;property name="PreRenderOrder" path_en="0" type="textfield"&gt;&lt;/property&gt;&lt;/properties&gt;&lt;bindings&gt;&lt;/bindings&gt;&lt;components&gt;&lt;/components&gt;&lt;/component&gt;&lt;/components&gt;cdataEnd&lt;/ComponentStructure&gt;&lt;/attributes&gt;&lt;/article&gt;</escapedVersionValue>
				</contentVersions>
				<creator>administrator</creator>
			</children>
			<creator>administrator</creator>
		</children>
		<creator>administrator</creator>
	</root-content>
	<root-site-node site-node-id="1424">
		<name>CalendarAdmin</name>
		<publishDateTime>2009-01-21T21:33:00.000+01:00</publishDateTime>
		<expireDateTime>2019-01-21T21:33:00.000+01:00</expireDateTime>
		<isBranch>true</isBranch>
		<metaInfoContentId>8944</metaInfoContentId>
		<siteNodeVersions site-node-version-id="2626">
			<stateId>0</stateId>
			<versionNumber>1</versionNumber>
			<modifiedDateTime>2009-01-21T21:42:45.078+01:00</modifiedDateTime>
			<versionComment>Initial version</versionComment>
			<isCheckedOut>false</isCheckedOut>
			<isActive>true</isActive>
			<isProtected>1</isProtected>
			<disablePageCache>1</disablePageCache>
			<disableEditOnSight>1</disableEditOnSight>
			<disableLanguages>2</disableLanguages>
			<contentType>text/html</contentType>
			<versionModifier>administrator</versionModifier>
			<serviceBindings service-binding-id="2621">
				<name>CalendarAdmin Metainfo</name>
				<path>/None specified/</path>
				<bindingTypeId>0</bindingTypeId>
				<bindingQualifyers qualifyer-id="2611">
					<name>contentId</name>
					<value>8944</value>
					<sortOrder>0</sortOrder>
				</bindingQualifyers>
				<availableServiceBinding available-service-binding-id="2">
					<name>Meta information</name>
					<description>The keywords and other metainfo for this page</description>
					<visualizationAction>ViewContentTreeForServiceBinding.action</visualizationAction>
					<isMandatory>true</isMandatory>
					<isUserEditable>true</isUserEditable>
					<isInheritable>true</isInheritable>
				</availableServiceBinding>
				<serviceDefinition service-definition-id="1">
					<className>org.infoglue.cms.services.CoreContentService</className>
					<name>Core content service</name>
					<description>Core content service</description>
				</serviceDefinition>
			</serviceBindings>
		</siteNodeVersions>
		<creator>administrator</creator>
		<repository repository-id="71">
			<name>CalendarAdmin</name>
			<description>The admin site for the Calendar system</description>
			<dnsName>working=http://localhost:8080,preview=http://localhost:8080,live=http://localhost:8080,workingPath=calendarAdmin,path=calendarAdmin</dnsName>
			<repositoryLanguages repository-language-id="294">
				<sortOrder>0</sortOrder>
				<isPublished>false</isPublished>
				<languageId language-id="1">
					<name>English</name>
					<languageCode>en</languageCode>
					<charset>utf-8</charset>
				</languageId>
			</repositoryLanguages>
			<repositoryLanguages repository-language-id="295">
				<sortOrder>1</sortOrder>
				<isPublished>false</isPublished>
				<languageId language-id="3">
					<name>Svenska</name>
					<languageCode>sv</languageCode>
					<charset>utf-8</charset>
				</languageId>
			</repositoryLanguages>
		</repository>
		<siteNodeTypeDefinition site-node-type-definition-id="1">
			<invokerClassName>org.infoglue.deliver.invokers.ComponentBasedHTMLPageInvoker</invokerClassName>
			<name>ComponentPage</name>
			<description>A component based page type</description>
		</siteNodeTypeDefinition>
	</root-site-node>
	<content-type-definitions content-type-definition-id="2">
		<name>Meta info</name>
		<schemaValue>&lt;xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" version="2.5.1" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt;&lt;xs:simpleType name="textarea"&gt;&lt;xs:restriction base="xs:string"&gt;&lt;xs:maxLength value="100"&gt;&lt;/xs:maxLength&gt;&lt;/xs:restriction&gt;&lt;/xs:simpleType&gt;&lt;xs:simpleType name="radiobutton"&gt;&lt;xs:restriction base="xs:string"&gt;&lt;xs:maxLength value="100"&gt;&lt;/xs:maxLength&gt;&lt;/xs:restriction&gt;&lt;/xs:simpleType&gt;&lt;xs:simpleType name="checkbox"&gt;&lt;xs:restriction base="xs:string"&gt;&lt;xs:maxLength value="100"&gt;&lt;/xs:maxLength&gt;&lt;/xs:restriction&gt;&lt;/xs:simpleType&gt;&lt;xs:simpleType name="select"&gt;&lt;xs:restriction base="xs:string"&gt;&lt;xs:maxLength value="100"&gt;&lt;/xs:maxLength&gt;&lt;/xs:restriction&gt;&lt;/xs:simpleType&gt;&lt;xs:simpleType name="textfield"&gt;&lt;xs:restriction base="xs:string"&gt;&lt;xs:maxLength value="100"&gt;&lt;/xs:maxLength&gt;&lt;/xs:restriction&gt;&lt;/xs:simpleType&gt;&lt;xs:complexType name="Meta info"&gt;&lt;xs:all&gt;&lt;xs:element name="Attributes"&gt;&lt;xs:complexType&gt;&lt;xs:all&gt;&lt;xs:element name="Title" type="textfield"&gt;&lt;xs:annotation&gt;&lt;xs:appinfo&gt;&lt;params&gt;&lt;param id="title" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined75" label="Title - required"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="description" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined52" label="Used in the page title"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="class" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined94" label="longtextfield"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="initialData" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="initialData" label=""&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableComponentPropertiesEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableComponentPropertiesEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGToolbar" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGToolbar" label="Default"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGExtraConfig" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGExtraConfig" label=""&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;/params&gt;&lt;/xs:appinfo&gt;&lt;/xs:annotation&gt;&lt;/xs:element&gt;&lt;xs:element name="NavigationTitle" type="textfield"&gt;&lt;xs:annotation&gt;&lt;xs:appinfo&gt;&lt;params&gt;&lt;param id="title" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined35" label="Navigation title (required)"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="description" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined0" label="Used in navigation elements pointing to the page"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="class" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined20" label="longtextfield"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="initialData" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="initialData" label=""&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableComponentPropertiesEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableComponentPropertiesEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGToolbar" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGToolbar" label="Default"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGExtraConfig" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGExtraConfig" label=""&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;/params&gt;&lt;/xs:appinfo&gt;&lt;/xs:annotation&gt;&lt;/xs:element&gt;&lt;xs:element name="NiceURIName" type="textfield"&gt;&lt;xs:annotation&gt;&lt;xs:appinfo&gt;&lt;params&gt;&lt;param id="title" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined81" label="NiceURIName"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="description" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined95" label="Används i nice uri"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="initialData" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined98" label=""&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="class" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined25" label="longtextfield"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGToolbar" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGToolbar" label="Default"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGExtraConfig" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGExtraConfig" label=""&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;/params&gt;&lt;/xs:appinfo&gt;&lt;/xs:annotation&gt;&lt;/xs:element&gt;&lt;xs:element name="CrumbtrailName" type="textfield"&gt;&lt;xs:annotation&gt;&lt;xs:appinfo&gt;&lt;params&gt;&lt;param id="title" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined52" label="CrumbtrailName"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="description" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined94" label="Namnet som skall dyka upp i brödsmulemenyn för sidan"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="initialData" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined2" label=""&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="class" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined69" label="longtextfield"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGToolbar" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGToolbar" label="Default"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGExtraConfig" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGExtraConfig" label=""&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;/params&gt;&lt;/xs:appinfo&gt;&lt;/xs:annotation&gt;&lt;/xs:element&gt;&lt;xs:element name="Description" type="textfield"&gt;&lt;xs:annotation&gt;&lt;xs:appinfo&gt;&lt;params&gt;&lt;param id="title" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined31" label="Description"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="description" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined86" label="A short description of the page"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="class" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined15" label="longtextfield"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="initialData" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="initialData" label=""&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableComponentPropertiesEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableComponentPropertiesEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGToolbar" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGToolbar" label="Default"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGExtraConfig" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGExtraConfig" label=""&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;/params&gt;&lt;/xs:appinfo&gt;&lt;/xs:annotation&gt;&lt;/xs:element&gt;&lt;xs:element name="HideInNavigation" type="checkbox"&gt;&lt;xs:annotation&gt;&lt;xs:appinfo&gt;&lt;params&gt;&lt;param id="title" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined53" label="HideInNavigation"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="description" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined72" label=""&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="initialData" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined14" label=""&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="class" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined96" label="longtextfield"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="values" inputTypeId="1"&gt;&lt;values&gt;&lt;value id="true" label="Yes"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGToolbar" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGToolbar" label="Default"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGExtraConfig" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGExtraConfig" label=""&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;/params&gt;&lt;/xs:appinfo&gt;&lt;/xs:annotation&gt;&lt;/xs:element&gt;&lt;xs:element name="MetaInfo" type="textarea"&gt;&lt;xs:annotation&gt;&lt;xs:appinfo&gt;&lt;params&gt;&lt;param id="title" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined85" label="Meta Information"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="description" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined67" label="Keywords made for search engines etc."&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="class" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined70" label="normaltextarea"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="width" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="width" label="700"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="height" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="height" label="150"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableWYSIWYG" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableWYSIWYG" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableTemplateEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableTemplateEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableFormEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableFormEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableContentRelationEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableContentRelationEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableStructureRelationEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableStructureRelationEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="activateExtendedEditorOnLoad" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="activateExtendedEditorOnLoad" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="initialData" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="initialData" label=""&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableComponentPropertiesEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableComponentPropertiesEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGToolbar" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGToolbar" label="Default"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGExtraConfig" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGExtraConfig" label=""&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;/params&gt;&lt;/xs:appinfo&gt;&lt;/xs:annotation&gt;&lt;/xs:element&gt;&lt;xs:element name="ComponentStructure" type="textarea"&gt;&lt;xs:annotation&gt;&lt;xs:appinfo&gt;&lt;params&gt;&lt;param id="title" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined67" label="ComponentStructure"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="description" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined38" label="ComponentStructure"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="class" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined73" label="normaltextarea"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="width" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="width" label="700"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="height" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="height" label="150"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableWYSIWYG" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableWYSIWYG" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableTemplateEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableTemplateEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableFormEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableFormEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableRelationEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableRelationEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableContentRelationEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableContentRelationEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableStructureRelationEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableStructureRelationEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="activateExtendedEditorOnLoad" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="activateExtendedEditorOnLoad" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="initialData" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="initialData" label=""&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableComponentPropertiesEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableComponentPropertiesEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGToolbar" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGToolbar" label="Default"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGExtraConfig" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGExtraConfig" label=""&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;/params&gt;&lt;/xs:appinfo&gt;&lt;/xs:annotation&gt;&lt;/xs:element&gt;&lt;xs:element name="insertSectionSpaceAfter" type="checkbox"&gt;&lt;xs:annotation&gt;&lt;xs:appinfo&gt;&lt;params&gt;&lt;param id="title" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined74" label="Sektion efter denna"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="description" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined9" label="undefined27"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="initialData" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined65" label="undefined43"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="class" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined42" label="longtextfield"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="values" inputTypeId="1"&gt;&lt;values&gt;&lt;value id="true" label="Ja"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGToolbar" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGToolbar" label="Default"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGExtraConfig" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGExtraConfig" label=""&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;/params&gt;&lt;/xs:appinfo&gt;&lt;/xs:annotation&gt;&lt;/xs:element&gt;&lt;/xs:all&gt;&lt;/xs:complexType&gt;&lt;/xs:element&gt;&lt;/xs:all&gt;&lt;/xs:complexType&gt;&lt;xs:complexType name="Validation" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt;&lt;xs:annotation&gt;&lt;xs:appinfo&gt;&lt;form-validation&gt;&lt;global&gt;&lt;validator classname="org.infoglue.cms.util.validators.CommonsValidator" method="validateRequired" methodParams="java.lang.Object,org.apache.commons.validator.Field" msg="300" name="required"&gt;&lt;/validator&gt;&lt;validator classname="org.infoglue.cms.util.validators.CommonsValidator" method="validateRequiredIf" methodParams="java.lang.Object,org.apache.commons.validator.Field,org.apache.commons.validator.Validator" msg="315" name="requiredif"&gt;&lt;/validator&gt;&lt;validator classname="org.infoglue.cms.util.validators.CommonsValidator" method="validateRegexp" methodParams="java.lang.Object,org.apache.commons.validator.Field" msg="300" name="matchRegexp"&gt;&lt;/validator&gt;&lt;/global&gt;&lt;formset&gt;&lt;form name="requiredForm"&gt;&lt;/form&gt;&lt;/formset&gt;&lt;/form-validation&gt;&lt;/xs:appinfo&gt;&lt;/xs:annotation&gt;&lt;/xs:complexType&gt;&lt;/xs:schema&gt;</schemaValue>
		<type>0</type>
	</content-type-definitions>
	<content-type-definitions content-type-definition-id="4">
		<name>HTMLTemplate</name>
		<schemaValue>&lt;xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" version="2.5.1" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt;&lt;xs:simpleType name="textarea"&gt;&lt;xs:restriction base="xs:string"&gt;&lt;xs:maxLength value="100"&gt;&lt;/xs:maxLength&gt;&lt;/xs:restriction&gt;&lt;/xs:simpleType&gt;&lt;xs:simpleType name="radiobutton"&gt;&lt;xs:restriction base="xs:string"&gt;&lt;xs:maxLength value="100"&gt;&lt;/xs:maxLength&gt;&lt;/xs:restriction&gt;&lt;/xs:simpleType&gt;&lt;xs:simpleType name="checkbox"&gt;&lt;xs:restriction base="xs:string"&gt;&lt;xs:maxLength value="100"&gt;&lt;/xs:maxLength&gt;&lt;/xs:restriction&gt;&lt;/xs:simpleType&gt;&lt;xs:simpleType name="select"&gt;&lt;xs:restriction base="xs:string"&gt;&lt;xs:maxLength value="100"&gt;&lt;/xs:maxLength&gt;&lt;/xs:restriction&gt;&lt;/xs:simpleType&gt;&lt;xs:simpleType name="textfield"&gt;&lt;xs:restriction base="xs:string"&gt;&lt;xs:maxLength value="100"&gt;&lt;/xs:maxLength&gt;&lt;/xs:restriction&gt;&lt;/xs:simpleType&gt;&lt;xs:complexType name="HTMLTemplate"&gt;&lt;xs:all&gt;&lt;xs:element name="Attributes"&gt;&lt;xs:complexType&gt;&lt;xs:all&gt;&lt;xs:element name="Template" type="textarea"&gt;&lt;xs:annotation&gt;&lt;xs:appinfo&gt;&lt;params&gt;&lt;param id="title" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined16" label="Template HTML"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="description" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined90" label="This is the html for the template "&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="class" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined12" label="hugetextfield"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="width" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="width" label="700"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="height" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="height" label="500"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableWYSIWYG" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableWYSIWYG" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableTemplateEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableTemplateEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableFormEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableFormEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableContentRelationEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableContentRelationEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableStructureRelationEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableStructureRelationEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="activateExtendedEditorOnLoad" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="activateExtendedEditorOnLoad" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="initialData" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="initialData" label=""&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableComponentPropertiesEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableComponentPropertiesEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGToolbar" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGToolbar" label="Default"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGExtraConfig" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGExtraConfig" label="Default"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;/params&gt;&lt;/xs:appinfo&gt;&lt;/xs:annotation&gt;&lt;/xs:element&gt;&lt;xs:element name="ComponentProperties" type="textarea"&gt;&lt;xs:annotation&gt;&lt;xs:appinfo&gt;&lt;params&gt;&lt;param id="title" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined89" label="ComponentProperties"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="description" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined40" label="ComponentProperties"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="class" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined93" label="normaltextarea"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="width" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="width" label="700"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="height" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="height" label="150"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableWYSIWYG" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableWYSIWYG" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableTemplateEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableTemplateEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableFormEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableFormEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableRelationEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableRelationEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableContentRelationEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableContentRelationEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableStructureRelationEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableStructureRelationEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="activateExtendedEditorOnLoad" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="activateExtendedEditorOnLoad" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="initialData" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="initialData" label=""&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableComponentPropertiesEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableComponentPropertiesEditor" label="true"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGToolbar" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGToolbar" label="Default"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGExtraConfig" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGExtraConfig" label="Default"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;/params&gt;&lt;/xs:appinfo&gt;&lt;/xs:annotation&gt;&lt;/xs:element&gt;&lt;xs:element name="Name" type="textfield"&gt;&lt;xs:annotation&gt;&lt;xs:appinfo&gt;&lt;params&gt;&lt;param id="title" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined7" label="Name"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="description" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined82" label="This is the name of the template"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="class" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined61" label="longtextfield"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="initialData" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="initialData" label=""&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableComponentPropertiesEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableComponentPropertiesEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGToolbar" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGToolbar" label="Default"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGExtraConfig" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGExtraConfig" label="Default"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;/params&gt;&lt;/xs:appinfo&gt;&lt;/xs:annotation&gt;&lt;/xs:element&gt;&lt;xs:element name="GroupName" type="select"&gt;&lt;xs:annotation&gt;&lt;xs:appinfo&gt;&lt;params&gt;&lt;param id="title" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined89" label="Group Name"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="description" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined94" label="The name of the group the component should be in"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="class" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined63" label="normaltextfield"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="values" inputTypeId="1"&gt;&lt;values&gt;&lt;value id="Basic Pages" label="Basic Pages"&gt;&lt;/value&gt;&lt;value id="Single Content" label="Single Content"&gt;&lt;/value&gt;&lt;value id="Content Iterators" label="Content Iterators"&gt;&lt;/value&gt;&lt;value id="Navigation" label="Navigation"&gt;&lt;/value&gt;&lt;value id="Layout" label="Layout"&gt;&lt;/value&gt;&lt;value id="Templates" label="Templates"&gt;&lt;/value&gt;&lt;value id="Other" label="Other"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="initialData" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="initialData" label=""&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableComponentPropertiesEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableComponentPropertiesEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGToolbar" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGToolbar" label="Default"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGExtraConfig" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGExtraConfig" label="Default"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;/params&gt;&lt;/xs:appinfo&gt;&lt;/xs:annotation&gt;&lt;/xs:element&gt;&lt;xs:element name="RelatedComponents" type="textarea"&gt;&lt;xs:annotation&gt;&lt;xs:appinfo&gt;&lt;params&gt;&lt;param id="title" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined98" label="Related components"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="description" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined15" label=""&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="initialData" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined70" label=""&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="class" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined11" label="normaltextarea"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="width" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="width" label="700"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="height" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="height" label="150"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableWYSIWYG" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableWYSIWYG" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableTemplateEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableTemplateEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableFormEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableFormEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableContentRelationEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableContentRelationEditor" label="true"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableStructureRelationEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableStructureRelationEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableComponentPropertiesEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableComponentPropertiesEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="activateExtendedEditorOnLoad" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="activateExtendedEditorOnLoad" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGToolbar" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGToolbar" label="Default"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGExtraConfig" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGExtraConfig" label="Default"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;/params&gt;&lt;/xs:appinfo&gt;&lt;/xs:annotation&gt;&lt;/xs:element&gt;&lt;xs:element name="Description" type="textarea"&gt;&lt;xs:annotation&gt;&lt;xs:appinfo&gt;&lt;params&gt;&lt;param id="title" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined71" label="Description"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="description" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined52" label="Enter a desc for the component"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="initialData" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined5" label=""&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="class" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined8" label="normaltextarea"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="width" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="width" label="700"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="height" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="height" label="100"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableWYSIWYG" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableWYSIWYG" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableTemplateEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableTemplateEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableFormEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableFormEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableContentRelationEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableContentRelationEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableStructureRelationEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableStructureRelationEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableComponentPropertiesEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableComponentPropertiesEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="activateExtendedEditorOnLoad" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="activateExtendedEditorOnLoad" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGToolbar" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGToolbar" label="Default"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGExtraConfig" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGExtraConfig" label="Default"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;/params&gt;&lt;/xs:appinfo&gt;&lt;/xs:annotation&gt;&lt;/xs:element&gt;&lt;xs:element name="ComponentTasks" type="textarea"&gt;&lt;xs:annotation&gt;&lt;xs:appinfo&gt;&lt;params&gt;&lt;param id="title" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined93" label="ComponentTasks"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="description" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined1" label="undefined43"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="initialData" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined47" label=""&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="class" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined39" label="undefined44"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="width" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="width" label="700"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="height" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="height" label="150"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableWYSIWYG" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableWYSIWYG" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableTemplateEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableTemplateEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableFormEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableFormEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableContentRelationEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableContentRelationEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableStructureRelationEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableStructureRelationEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableComponentPropertiesEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableComponentPropertiesEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="activateExtendedEditorOnLoad" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="activateExtendedEditorOnLoad" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGToolbar" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGToolbar" label="Default"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGExtraConfig" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGExtraConfig" label="Default"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;/params&gt;&lt;/xs:appinfo&gt;&lt;/xs:annotation&gt;&lt;/xs:element&gt;&lt;xs:element name="PreTemplate" type="textarea"&gt;&lt;xs:annotation&gt;&lt;xs:appinfo&gt;&lt;params&gt;&lt;param id="title" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined23" label="Pre processing template"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="description" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined67" label="This template get&amp;apos;s invoked before the render phase"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="initialData" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined67" label="undefined83"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="class" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined97" label="normaltextarea"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="width" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="width" label="700"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="height" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="height" label="150"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableWYSIWYG" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableWYSIWYG" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGToolbar" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGToolbar" label="Default"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGExtraConfig" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGExtraConfig" label=""&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableTemplateEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableTemplateEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableFormEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableFormEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableContentRelationEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableContentRelationEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableStructureRelationEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableStructureRelationEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableComponentPropertiesEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableComponentPropertiesEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="activateExtendedEditorOnLoad" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="activateExtendedEditorOnLoad" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;/params&gt;&lt;/xs:appinfo&gt;&lt;/xs:annotation&gt;&lt;/xs:element&gt;&lt;xs:element name="ComponentLabels" type="textarea"&gt;&lt;xs:annotation&gt;&lt;xs:appinfo&gt;&lt;params&gt;&lt;param id="title" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined69" label="Component labels"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="description" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined5" label="Here you put all component specific labels"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="initialData" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined20" label=""&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="class" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="undefined78" label="normaltextarea"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="width" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="width" label="700"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="height" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="height" label="150"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableWYSIWYG" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableWYSIWYG" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGToolbar" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGToolbar" label="Default"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="WYSIWYGExtraConfig" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="WYSIWYGExtraConfig" label=""&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableTemplateEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableTemplateEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableFormEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableFormEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableContentRelationEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableContentRelationEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableStructureRelationEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableStructureRelationEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="enableComponentPropertiesEditor" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="enableComponentPropertiesEditor" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;param id="activateExtendedEditorOnLoad" inputTypeId="0"&gt;&lt;values&gt;&lt;value id="activateExtendedEditorOnLoad" label="false"&gt;&lt;/value&gt;&lt;/values&gt;&lt;/param&gt;&lt;/params&gt;&lt;/xs:appinfo&gt;&lt;/xs:annotation&gt;&lt;/xs:element&gt;&lt;/xs:all&gt;&lt;/xs:complexType&gt;&lt;/xs:element&gt;&lt;/xs:all&gt;&lt;/xs:complexType&gt;&lt;xs:complexType name="Validation" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt;&lt;xs:annotation&gt;&lt;xs:appinfo&gt;&lt;form-validation&gt;&lt;global&gt;&lt;validator classname="org.infoglue.cms.util.validators.CommonsValidator" method="validateRequired" methodParams="java.lang.Object,org.apache.commons.validator.Field" msg="300" name="required"&gt;&lt;/validator&gt;&lt;validator classname="org.infoglue.cms.util.validators.CommonsValidator" method="validateRequiredIf" methodParams="java.lang.Object,org.apache.commons.validator.Field,org.apache.commons.validator.Validator" msg="315" name="requiredif"&gt;&lt;/validator&gt;&lt;validator classname="org.infoglue.cms.util.validators.CommonsValidator" method="validateRegexp" methodParams="java.lang.Object,org.apache.commons.validator.Field" msg="300" name="matchRegexp"&gt;&lt;/validator&gt;&lt;/global&gt;&lt;formset&gt;&lt;form name="requiredForm"&gt;&lt;/form&gt;&lt;/formset&gt;&lt;/form-validation&gt;&lt;/xs:appinfo&gt;&lt;/xs:annotation&gt;&lt;/xs:complexType&gt;&lt;xs:simpleType name="assetKeys"&gt;&lt;xs:restriction base="xs:string"&gt;&lt;xs:enumeration value="thumbnail"&gt;&lt;xs:annotation&gt;&lt;xs:appinfo&gt;&lt;params&gt;&lt;description&gt;undefined22&lt;/description&gt;&lt;maximumSize&gt;20000&lt;/maximumSize&gt;&lt;allowedContentTypes&gt;image&lt;/allowedContentTypes&gt;&lt;imageWidth&gt;&amp;lt;100&lt;/imageWidth&gt;&lt;imageHeight&gt;&amp;lt;100&lt;/imageHeight&gt;&lt;/params&gt;&lt;/xs:appinfo&gt;&lt;/xs:annotation&gt;&lt;/xs:enumeration&gt;&lt;/xs:restriction&gt;&lt;/xs:simpleType&gt;&lt;/xs:schema&gt;</schemaValue>
		<type>0</type>
	</content-type-definitions>
	<content-type-definitions content-type-definition-id="10">
		<name>Folder</name>
		<schemaValue>&lt;xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" version="2.5.1" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt;

	&lt;xs:simpleType name="textarea"&gt; 
		&lt;xs:restriction base="xs:string"&gt; 
			&lt;xs:maxLength value="100"&gt;&lt;/xs:maxLength&gt; 
		&lt;/xs:restriction&gt; 
	&lt;/xs:simpleType&gt; 
	
	&lt;xs:simpleType name="radiobutton"&gt; 
		&lt;xs:restriction base="xs:string"&gt; 
			&lt;xs:maxLength value="100"&gt;&lt;/xs:maxLength&gt; 
		&lt;/xs:restriction&gt; 
	&lt;/xs:simpleType&gt; 
	
	&lt;xs:simpleType name="checkbox"&gt; 
		&lt;xs:restriction base="xs:string"&gt; 
			&lt;xs:maxLength value="100"&gt;&lt;/xs:maxLength&gt; 
		&lt;/xs:restriction&gt; 
	&lt;/xs:simpleType&gt; 
	
	&lt;xs:simpleType name="select"&gt; 
		&lt;xs:restriction base="xs:string"&gt; 
			&lt;xs:maxLength value="100"&gt;&lt;/xs:maxLength&gt; 
		&lt;/xs:restriction&gt; 
	&lt;/xs:simpleType&gt; 
	
	&lt;xs:simpleType name="textfield"&gt; 
		&lt;xs:restriction base="xs:string"&gt; 
			&lt;xs:maxLength value="100"&gt;&lt;/xs:maxLength&gt; 
		&lt;/xs:restriction&gt; 
	&lt;/xs:simpleType&gt; 
	
	&lt;xs:complexType name="Content"&gt; 
		&lt;xs:all&gt; 
			&lt;xs:element name="Attributes"&gt; 
				&lt;xs:complexType&gt; 
					&lt;xs:all&gt; 
					&lt;/xs:all&gt; 
				&lt;/xs:complexType&gt; 
			&lt;/xs:element&gt; 
		&lt;/xs:all&gt; 
	&lt;/xs:complexType&gt; 

&lt;xs:complexType name="Validation" xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt;&lt;xs:annotation&gt;&lt;xs:appinfo&gt;&lt;form-validation&gt;&lt;global&gt;&lt;validator classname="org.infoglue.cms.util.validators.CommonsValidator" method="validateRequired" methodParams="java.lang.Object,org.apache.commons.validator.Field" msg="300" name="required"&gt;&lt;/validator&gt;&lt;validator classname="org.infoglue.cms.util.validators.CommonsValidator" method="validateRequiredIf" methodParams="java.lang.Object,org.apache.commons.validator.Field,org.apache.commons.validator.Validator" msg="315" name="requiredif"&gt;&lt;/validator&gt;&lt;validator classname="org.infoglue.cms.util.validators.CommonsValidator" method="validateRegexp" methodParams="java.lang.Object,org.apache.commons.validator.Field" msg="300" name="matchRegexp"&gt;&lt;/validator&gt;&lt;/global&gt;&lt;formset&gt;&lt;form name="requiredForm"&gt;&lt;/form&gt;&lt;/formset&gt;&lt;/form-validation&gt;&lt;/xs:appinfo&gt;&lt;/xs:annotation&gt;&lt;/xs:complexType&gt;&lt;/xs:schema&gt;</schemaValue>
		<type>0</type>
	</content-type-definitions>
	<access-rights access-right-id="2175">
		<parameters>71</parameters>
		<interceptionPointName>Repository.Read</interceptionPointName>
		<roles access-right-role-id="2760">
			<roleName>administrators</roleName>
		</roles>
		<roles access-right-role-id="2761">
			<roleName>CalendarAdministrator</roleName>
		</roles>
		<roles access-right-role-id="2762">
			<roleName>CalendarOwner</roleName>
		</roles>
		<roles access-right-role-id="2763">
			<roleName>CalendarSuperUser</roleName>
		</roles>
		<roles access-right-role-id="2764">
			<roleName>EventPublisher</roleName>
		</roles>
	</access-rights>
	<access-rights access-right-id="2183">
		<parameters>2626</parameters>
		<interceptionPointName>SiteNodeVersion.Read</interceptionPointName>
		<roles access-right-role-id="2793">
			<roleName>administrators</roleName>
		</roles>
		<roles access-right-role-id="2794">
			<roleName>CalendarAdministrator</roleName>
		</roles>
		<roles access-right-role-id="2795">
			<roleName>CalendarOwner</roleName>
		</roles>
		<roles access-right-role-id="2796">
			<roleName>CalendarSuperUser</roleName>
		</roles>
	</access-rights>
	<access-rights access-right-id="2184">
		<parameters>2626</parameters>
		<interceptionPointName>SiteNodeVersion.Write</interceptionPointName>
		<roles access-right-role-id="2797">
			<roleName>administrators</roleName>
		</roles>
		<roles access-right-role-id="2798">
			<roleName>CalendarAdministrator</roleName>
		</roles>
	</access-rights>
	<access-rights access-right-id="2185">
		<parameters>2626</parameters>
		<interceptionPointName>SiteNodeVersion.CreateSiteNode</interceptionPointName>
		<roles access-right-role-id="2799">
			<roleName>administrators</roleName>
		</roles>
		<roles access-right-role-id="2800">
			<roleName>CalendarAdministrator</roleName>
		</roles>
	</access-rights>
	<access-rights access-right-id="2186">
		<parameters>2626</parameters>
		<interceptionPointName>SiteNodeVersion.DeleteSiteNode</interceptionPointName>
		<roles access-right-role-id="2801">
			<roleName>administrators</roleName>
		</roles>
		<roles access-right-role-id="2802">
			<roleName>CalendarAdministrator</roleName>
		</roles>
	</access-rights>
	<access-rights access-right-id="2187">
		<parameters>2626</parameters>
		<interceptionPointName>SiteNodeVersion.MoveSiteNode</interceptionPointName>
		<roles access-right-role-id="2803">
			<roleName>administrators</roleName>
		</roles>
		<roles access-right-role-id="2804">
			<roleName>CalendarAdministrator</roleName>
		</roles>
	</access-rights>
	<access-rights access-right-id="2188">
		<parameters>2626</parameters>
		<interceptionPointName>SiteNodeVersion.SubmitToPublish</interceptionPointName>
		<roles access-right-role-id="2805">
			<roleName>administrators</roleName>
		</roles>
		<roles access-right-role-id="2806">
			<roleName>CalendarAdministrator</roleName>
		</roles>
	</access-rights>
	<access-rights access-right-id="2189">
		<parameters>2626</parameters>
		<interceptionPointName>SiteNodeVersion.ChangeAccessRights</interceptionPointName>
		<roles access-right-role-id="2807">
			<roleName>administrators</roleName>
		</roles>
		<roles access-right-role-id="2808">
			<roleName>CalendarAdministrator</roleName>
		</roles>
	</access-rights>
	<access-rights access-right-id="2190">
		<parameters>2626</parameters>
		<interceptionPointName>SiteNodeVersion.Publish</interceptionPointName>
		<roles access-right-role-id="2809">
			<roleName>administrators</roleName>
		</roles>
		<roles access-right-role-id="2810">
			<roleName>CalendarAdministrator</roleName>
		</roles>
	</access-rights>
</InfoGlueExport>
