<?xml version="1.0"?>
<!-- *******************************************************************************************************************-->
<!-- Ungerboeck Systems                                                                                     				-->
<!-- Calendar of Events List Format (P1)  RJP/EE   MAR 2001 		                                               -->
<!--********************************************************************************************************************-->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:local="#local-functions" xmlns:xql="#xql-functions" xmlns:user="http://ungerboeck/ExportNameSpace" xmlns:language="VBScript">
	<xsl:output method="html" version="5.0" indent="no" omit-xml-declaration="yes" media-type="text/html"/>
	<!-- This sequence should never find a match -->
	<xsl:template match="@*|/|node()">##### ERR: TEMPLATE NOT FOUND #####</xsl:template>
	<xsl:template match="/">
		<xsl:value-of select="user:Initialize"/>
		<xsl:apply-templates select="MM475_SESSION_INFO "/>
	</xsl:template>
	<!-- The following sets up html page and calls templates for each item ****************************************************  -->
	<xsl:template match="MM475_SESSION_INFO ">
			<xsl:value-of select="user:InitDateDay(string(Dictionary/Item[@ID=13]), string(Dictionary/Item[@ID=14]), string(Dictionary/Item[@ID=15]), string(Dictionary/Item[@ID=16]), string(Dictionary/Item[@ID=17]), string(Dictionary/Item[@ID=18]), string(Dictionary/Item[@ID=19]), string(Dictionary/Item[@ID=20]), string(Dictionary/Item[@ID=21]), string(Dictionary/Item[@ID=39]), string(Dictionary/Item[@ID=23]), string(Dictionary/Item[@ID=24]), string(Dictionary/Item[@ID=25]), string(Dictionary/Item[@ID=26]), string(Dictionary/Item[@ID=27]), string(Dictionary/Item[@ID=28]), string(Dictionary/Item[@ID=29]), string(Dictionary/Item[@ID=30]), string(Dictionary/Item[@ID=31]))"/>
		<xsl:value-of select="user:BuildWebParams(string(DATEID), string(CATEGORYID), string(CLASSID), string(TYPEID), string(RANKID), string(ACCOUNTID), string(SPACETYPEID), string(SPACEID), string(GROUPBY), string(GROUPBYDIR), string(ORDERBY1), string(ORDERBY1DIR), string(ORDERBY2), string(ORDERBY2DIR), string(ORDERBY3), string(ORDERBY3DIR))"/>
		<!-- Beginning of HTML Calender of Events -->
		<html>
			<a name="topofpage" id="topofpage" />
			<head>
				<link rel="stylesheet" type="text/css" href="coe_p1_class.css"/>
			</head>
			<body>
				<br/>
				<table style="width:615px;" cellpadding="2" cellspacing="0" border="0">
						<xsl:for-each select="//GROUPBY_LOOKUP">
							<xsl:value-of select="user:GroupByLoad(.)"/>
						</xsl:for-each>
						<xsl:for-each select="//ORDERBY1_LOOKUP">
							<xsl:value-of select="user:OrderBy1Load(.)"/>
						</xsl:for-each>
						<xsl:for-each select="//ORDERBY2_LOOKUP">
							<xsl:value-of select="user:OrderBy2Load(.)"/>
						</xsl:for-each>
						<xsl:for-each select="//ORDERBY3_LOOKUP">
							<xsl:value-of select="user:OrderBy3Load(.)"/>
						</xsl:for-each>
						<xsl:for-each select="//EV800_SPACE_MASTER">
							<xsl:value-of select="user:SpaceTypeLoad(.)"/>
						</xsl:for-each>
						<xsl:if test="EV200_EVENT_MASTER[.='']">
							<tr>
								<td class="COE-P1AllNoEventsToDisplay">
									<xsl:value-of select="Dictionary/Item[@ID=4]"/>
								</td>
							</tr>
						</xsl:if>
            <xsl:call-template name="HeaderAndNoteTemplate"/>
            <xsl:call-template name="TargetListTemplate"/>
            <xsl:call-template name="EventDisplayTemplate"/>
				</table>
				<br />
			</body>
		</html>
		<!-- Beginning of HTML Calender of Events -->
	</xsl:template>
	
	<!-- Template prints out the Calendar of Events Header from dictionary  ****************************************************  -->
	<xsl:template name="HeaderAndNoteTemplate">
				<xsl:if test="Dictionary/Item[@ID=43 and .!=''] or Dictionary/Item[@ID=5 and .!='']">
					<tr>
						<td colspan="6" class="COE-P1AllHeader">
							<xsl:if test="Dictionary/Item[@ID=43 and .!='']">
								<xsl:value-of select="Dictionary/Item[@ID=43]"/>
							</xsl:if>	
							<xsl:if test="Dictionary/Item[@ID=43 and .!=''] or Dictionary/Item[@ID=5 and .!='']">
								<br/>
							</xsl:if>	
							<xsl:if test="Dictionary/Item[@ID=5 and .!='']">
								<span class="COE-P1AllHeaderNote">
									<xsl:value-of select="Dictionary/Item[@ID=5]"/>
								</span>
							</xsl:if>
							<br/>
						</td>
					</tr>
				</xsl:if>
	</xsl:template>
	<!-- Initializes TEXT LIST FORMAT...  EXP:  ***************************************************************************************************************  -->
	<xsl:template name="TargetListTemplate">
		<tr>
			<td colspan="6" class="COE-P1AllTargetList">
						<xsl:for-each select="EV200_EVENT_MASTER">
					<xsl:sort select="user:GROUPSORTBY_Return(string(COE_GROUPBY),string(../GROUPBY_ORDER_BY/GROUPBY_USE_LOOKUP),string(user:GroupByLookUp(.)),'sort')" data-type="text" order="{../GROUPBY_ORDER_BY/GROUPBY_ORDER_DIRECTION}"/>
					<xsl:if test="position()=1">
					<xsl:value-of select="user:GroupByFirstSet(string(COE_GROUPBY))"/>
					</xsl:if>	
					<xsl:if test="position()=last()">
					<xsl:value-of select="user:GroupByLastSet(string(COE_GROUPBY))"/>
					</xsl:if>	
				</xsl:for-each>
				<xsl:for-each select="EV200_EVENT_MASTER">
					<xsl:sort select="user:GROUPSORTBY_Return(string(COE_GROUPBY),string(../GROUPBY_ORDER_BY/GROUPBY_USE_LOOKUP),string(user:GroupByLookUp(.)),'sort')" data-type="text" order="{../GROUPBY_ORDER_BY/GROUPBY_ORDER_DIRECTION}"/>
					<xsl:sort select="user:GROUPSORTBY_Return(string(COE_ORDERBY1),string(../GROUPBY_ORDER_BY/ORDERBY1_USE_LOOKUP),string(user:OrderBy1LookUp(.)),'sort')" data-type="text" order="{../GROUPBY_ORDER_BY/ORDERBY1_ORDER_DIRECTION}"/>
					<xsl:sort select="user:GROUPSORTBY_Return(string(COE_ORDERBY2),string(../GROUPBY_ORDER_BY/ORDERBY2_USE_LOOKUP),string(user:OrderBy2LookUp(.)),'sort')" data-type="text" order="{../GROUPBY_ORDER_BY/ORDERBY2_ORDER_DIRECTION}"/>
					<xsl:sort select="user:GROUPSORTBY_Return(string(COE_ORDERBY3),string(../GROUPBY_ORDER_BY/ORDERBY3_USE_LOOKUP),string(user:OrderBy3LookUp(.)),'sort')" data-type="text" order="{../GROUPBY_ORDER_BY/ORDERBY3_ORDER_DIRECTION}"/>
					<xsl:if test="user:GROUPSORTBY_Bool(string(COE_GROUPBY))!='False'">
						<xsl:if test="user:TTL_Bool_Spacer()!='False'">
							<font class="COE-P1AllTargetListBar"> | </font>
						</xsl:if>
						<xsl:if test="string(COE_GROUPBY)=' '">
							<a href="#{../Dictionary/Item[@ID=9]}">
								<xsl:value-of select="../Dictionary/Item[@ID=9]"/>
              </a>
						</xsl:if>
						<xsl:if test="not(string(COE_GROUPBY)=' ')">
							<a href="#{user:GROUPSORTBY_Return(string(COE_GROUPBY),string(../GROUPBY_ORDER_BY/GROUPBY_USE_LOOKUP),string(user:GroupByLookUp(.)),'display')}">
								<xsl:value-of select="user:GROUPSORTBY_Return(string(COE_GROUPBY),string(../GROUPBY_ORDER_BY/GROUPBY_USE_LOOKUP),string(user:GroupByLookUp(.)),'display')"/>
							</a>
						</xsl:if>
					</xsl:if>
				</xsl:for-each>
			</td>
		</tr>
	</xsl:template>
	<!-- Template prints out the Calendar of Events Header from dictionary  **********************************************************************  -->
	<xsl:template name="EventDisplayTemplate">
			<xsl:for-each select="EV200_EVENT_MASTER">
				<xsl:sort select="user:GROUPSORTBY_Return(string(COE_GROUPBY),string(../GROUPBY_ORDER_BY/GROUPBY_USE_LOOKUP),string(user:GroupByLookUp(.)),'sort')" data-type="text" order="{../GROUPBY_ORDER_BY/GROUPBY_ORDER_DIRECTION}"/>
				<xsl:sort select="user:GROUPSORTBY_Return(string(COE_ORDERBY1),string(../GROUPBY_ORDER_BY/ORDERBY1_USE_LOOKUP),string(user:OrderBy1LookUp(.)),'sort')" data-type="text" order="{../GROUPBY_ORDER_BY/ORDERBY1_ORDER_DIRECTION}"/>
				<xsl:sort select="user:GROUPSORTBY_Return(string(COE_ORDERBY2),string(../GROUPBY_ORDER_BY/ORDERBY2_USE_LOOKUP),string(user:OrderBy2LookUp(.)),'sort')" data-type="text" order="{../GROUPBY_ORDER_BY/ORDERBY2_ORDER_DIRECTION}"/>
				<xsl:sort select="user:GROUPSORTBY_Return(string(COE_ORDERBY3),string(../GROUPBY_ORDER_BY/ORDERBY3_USE_LOOKUP),string(user:OrderBy3LookUp(.)),'sort')" data-type="text" order="{../GROUPBY_ORDER_BY/ORDERBY3_ORDER_DIRECTION}"/>
				<xsl:call-template name="TEXT_NIU_COLUMN_FORMAT"/>
			</xsl:for-each>
	</xsl:template>

<xsl:template name="TEXT_NIU_COLUMN_FORMAT">	
<!-- ***  COLLEGE NIU VERSION **************************************************************************************-->
		<xsl:if test="user:GROUPSORTBY_Bool2(string(COE_GROUPBY))!='False'">
			<tr>
				<td colspan="4" class="COE-P1AllGroupbyHeader" style="vertical-align:bottom;">
					<b>
						<br/>
						<xsl:if test="string(COE_GROUPBY)=' '">
							<a name="{../Dictionary/Item[@ID=9]}"/>
								<xsl:value-of select="../Dictionary/Item[@ID=9]"/>
								</xsl:if>
						<xsl:if test="not(string(COE_GROUPBY)=' ')">
							<a name="{user:GROUPSORTBY_Return(string(COE_GROUPBY),string(../GROUPBY_ORDER_BY/GROUPBY_USE_LOOKUP),string(user:GroupByLookUp(.)),'display')}"/>
							<xsl:value-of select="user:GROUPSORTBY_Return(string(COE_GROUPBY),string(../GROUPBY_ORDER_BY/GROUPBY_USE_LOOKUP),string(user:GroupByLookUp(.)),'display')"/>
						</xsl:if>
					</b>
					<br/>
				</td>
				<td class="COE-P1AllBackToTop" style="vertical-align:bottom;text-align:right;" colspan="2">
					<a href="#topofpage">
						<xsl:value-of select="user:TopOfPageText(string(../Dictionary/Item[@ID=34]))"/>
					</a>
					<spaces>&#160;</spaces>
				</td>
			</tr>
	    <tr>
        <td class="COE-Space3" colspan="6"><spaces>&#160;</spaces></td>
      </tr>
		</xsl:if>
		<tr style="display:none;">
			<td style="width:100px;"><spaces>&#160;</spaces></td>
			<td style="width:100px;"><spaces>&#160;</spaces></td>
			<td style="width:100px;"><spaces>&#160;</spaces></td>
			<td style="width:100px;"><spaces>&#160;</spaces></td>
			<td style="width:100px;"><spaces>&#160;</spaces></td>
			<td style="width:100px;"><spaces>&#160;</spaces></td>
		</tr>
		<tr>
			<td style="background-color:#efefef;vertical-align:top;">
				<font class="COE-P1ColAbbrDesc">
						<xsl:value-of select="EV200_EVT_ABBREV_NAME"/>
						<xsl:if test="EV200_EVT_ABBREV_NAME[.=' ']">
							<spaces>&#160;</spaces>
						</xsl:if>
				</font>
			</td>
			<td style="background-color:#efefef;" colspan="3">
				<font class="COE-P1ColDesc">
					<b>
						<xsl:if test="../ALLOW_EVENT_DETAILS='Y'">
							<a href="coe_p2_details.aspx?eventid={EV200_EVT_ID}&#38;mode=EVENT&#38;cc={../CC}&#38;oc={../OC}{user:ReturnWebParams()}">
								<xsl:value-of select="EV200_EVT_DESC"/>
							</a>
						</xsl:if>
						<xsl:if test="../ALLOW_EVENT_DETAILS!='Y'">
							<xsl:value-of select="EV200_EVT_DESC"/>
						</xsl:if>
						<xsl:if test="EV200_EVT_DESC[.=' ']">
						<spaces>&#160;</spaces>
						</xsl:if>
					</b>
				</font>
			</td>
			<td style="background-color:#efefef;" colspan="2">
				<font class="COE-P1ColHrsLabel">Hrs: </font>
				<font class="COE-P1ColHrs">
						<xsl:value-of select="EV200_EVT_NOTE_1"/>
						<xsl:if test="EV200_EVT_NOTE_1[.=' ']">
						<spaces>&#160;</spaces>
						</xsl:if>
				</font>
			</td>
		</tr>
		<tr>
			<td style="background-color:#efefef;" colspan="2">
				<font class="COE-P1ColDateRange">
					<xsl:value-of select="user:TEXT_Date_Convert(string(EV200_START_DATE_TO_USE),string(EV200_END_DATE_TO_USE), string(../COE_DATE_FORMAT),string(../Dictionary/Item[@ID=32]))"/>
						<xsl:if test="EV200_START_DATE_TO_USE[.=' '] and EV200_END_DATE_TO_USE[.=' ']">
						<spaces>&#160;</spaces>
						</xsl:if>
				</font>
			</td>
			<td style="background-color:#efefef;">
				<font class="COE-P1ColTime">
					<xsl:value-of select="user:TEXT_Time_Convert(string(EV200_EVT_START_TIME),string(EV200_EVT_END_TIME))"/>										
					<xsl:if test="EV200_EVT_START_TIME[.=' '] and EV200_EVT_END_TIME[.=' ']">
						<spaces>&#160;</spaces>
						</xsl:if>
				</font>
			</td>
			<td style="background-color:#efefef;">
				<font class="COE-P1ColDays">
					<xsl:value-of select="EV200_WEB_ADDRESS"/>
						<xsl:if test="EV200_WEB_ADDRESS[.=' ']">
						<spaces>&#160;</spaces>
						</xsl:if>
						<spaces>&#160;</spaces>
				</font>
			</td>
			<td style="background-color:#efefef;" colspan="2">
				<font class="COE-P1ColCoord">
					<xsl:choose>
						<xsl:when test="../GROUPBY_ORDER_BY/GROUPBY_FIELD='EV200_COORD_1'">
							<xsl:value-of select="user:GROUPSORTBY_Return(string(COE_GROUPBY),string(../GROUPBY_ORDER_BY/GROUPBY_USE_LOOKUP),string(user:GroupByLookUp(.)),'display')"/>
						</xsl:when>
						<xsl:when test="../GROUPBY_ORDER_BY/ORDERBY1_FIELD='EV200_COORD_1'">
							<xsl:value-of select="user:GROUPSORTBY_Return(string(COE_ORDERBY1),string(../GROUPBY_ORDER_BY/ORDERBY1_USE_LOOKUP),string(user:OrderBy1LookUp(.)),'display')"/>
						</xsl:when>
						<xsl:when test="../GROUPBY_ORDER_BY/ORDERBY2_FIELD='EV200_COORD_1'">
							<xsl:value-of select="user:GROUPSORTBY_Return(string(COE_ORDERBY2),string(../GROUPBY_ORDER_BY/ORDERBY2_USE_LOOKUP),user:OrderBy2LookUp(.),'display')"/>
						</xsl:when>
						<xsl:when test="../GROUPBY_ORDER_BY/ORDERBY3_FIELD='EV200_COORD_1'">
							<xsl:value-of select="EV200_COORD_1"/>
							<xsl:value-of select="user:GROUPSORTBY_Return(string(COE_ORDERBY3),string(../GROUPBY_ORDER_BY/ORDERBY3_USE_LOOKUP),string(user:OrderBy3LookUp(.)),'display')"/>
						</xsl:when>
						<xsl:otherwise>
							<xsl:value-of select="user:GROUPSORTBY_Return(string(EV200_COORD_1),'Y',string(user:SpaceTypeLookUp(.)),'display')"/>
						</xsl:otherwise>
					</xsl:choose>
				</font>
			</td>
		</tr>
<tr>			
  <td style="background-color:#efefef;text-align:left;" colspan="2" class="COE-P1ColLocation">
			<xsl:choose>
				<xsl:when test="../GROUPBY_ORDER_BY/GROUPBY_FIELD='EV200_ANCHOR_VENUE'">
					<xsl:value-of select="user:GROUPSORTBY_Return(string(COE_GROUPBY),string(../GROUPBY_ORDER_BY/GROUPBY_USE_LOOKUP),string(user:GroupByLookUp(.)),'display')"/>
				</xsl:when>
				<xsl:when test="../GROUPBY_ORDER_BY/ORDERBY1_FIELD='EV200_ANCHOR_VENUE'">
					<xsl:value-of select="user:GROUPSORTBY_Return(string(COE_ORDERBY1),string(../GROUPBY_ORDER_BY/ORDERBY1_USE_LOOKUP),string(user:OrderBy1LookUp(.)),'display')"/>
				</xsl:when>
				<xsl:when test="../GROUPBY_ORDER_BY/ORDERBY2_FIELD='EV200_ANCHOR_VENUE'">
					<xsl:value-of select="user:GROUPSORTBY_Return(string(COE_ORDERBY2),string(../GROUPBY_ORDER_BY/ORDERBY2_USE_LOOKUP),user:OrderBy2LookUp(.),'display')"/>
				</xsl:when>
				<xsl:when test="../GROUPBY_ORDER_BY/ORDERBY3_FIELD='EV200_ANCHOR_VENUE'">
					<xsl:value-of select="user:GROUPSORTBY_Return(string(COE_ORDERBY3),string(../GROUPBY_ORDER_BY/ORDERBY3_USE_LOOKUP),string(user:OrderBy3LookUp(.)),'display')"/>
				</xsl:when>
				<xsl:otherwise>
					<xsl:value-of select="user:GROUPSORTBY_Return(string(EV200_ANCHOR_VENUE),'Y',string(user:SpaceTypeLookUp(.)),'display')"/>
				</xsl:otherwise>
			</xsl:choose>
	</td>
	<td style="background-color:#efefef;" >
		<font class="COE-P1ColRefLabel">Fee: </font>
		<xsl:if test="not((EV200_RVS_OTHER = ' ') or (EV200_RVS_OTHER = ''))">
			<font class="COE-P1ColRef">
				$<xsl:value-of select="EV200_RVS_OTHER"/>
			</font>
		</xsl:if>													
		<xsl:if test="((EV200_RVS_OTHER = ' ') or (EV200_RVS_OTHER = ''))">
			<font class="COE-P1ColRef">
				N/A
			</font>
		</xsl:if>							
		<spaces>&#160;&#160;&#160;</spaces>
	</td>
	<td style="background-color:#efefef;"  >
				<xsl:if test="EV200_INSUR_REQ = 'Y'">
			<font class="COE-P1ColRefLabel">Permit</font><font class="COE-P1ColRef"></font>
		</xsl:if>
		<xsl:if test="not(EV200_INSUR_REQ= 'Y')">
			<font class="COE-P1ColRefLabel">Ref #: </font>
			<font class="COE-P1ColRef">
				<xsl:value-of select="EV200_PLN_ATTEND"/>
			</font>
		</xsl:if>		
		<spaces>&#160;&#160;&#160;</spaces>
	</td>
	<td style="background-color:#efefef;" colspan="2">	
			<font class="COE-P1ColRef">								
					<xsl:value-of select="EV200_EVT_NOTE_2"/>
			</font>
	</td>
</tr>
<tr>
   <td class="COE-Space3" colspan="6"><spaces>&#160;</spaces></td>
</tr>
<!-- **** END COLLEGE (NIU) VERSION ******************************** -->		
	</xsl:template>

	<!-- Script used in templates above  *********************************************************************************************************************  -->
	<msxsl:script language="VBScript" implements-prefix="user"><![CDATA[

option explicit

Public  StartingMonth, StartingYear, EndingMonth, EndingYear, MEL_TempDate, MTL_TempDate, YearFlag, GroupDataTemp,  GroupDataTemp2, DESC_1Array, CODE_1Array,DESC_2Array, CODE_2Array,DESC_3Array, CODE_3Array, DESC_GArray, CODE_GArray,DESC_SArray, CODE_SArray, RowColorFE, RowColorFO,  TopOfPageTemp, TTL_Spacer_Temp, DTL_Spacer_Temp, G_First_GroupBy, G_Last_GroupBy, gstrParams
Public  G_Jan, G_Feb, G_Mar, G_Apr, G_May, G_Jun, G_Jul, G_Aug, G_Sep, G_Oct, G_Nov, G_Dec, G_Mon, G_Tue, G_Wed, G_Thu, G_Fri, G_Sat, G_Sun

Public Function InitDateDay(A_Jan, A_Feb, A_Mar, A_Apr, A_May, A_Jun, A_Jul, A_Aug, A_Sep, A_Oct, A_Nov, A_Dec, A_Mon, A_Tue, A_Wed, A_Thu, A_Fri, A_Sat, A_Sun)
	G_Jan = A_Jan
	G_Feb = A_Feb
	G_Mar = A_Mar
	G_Apr = A_Apr
	G_May = A_May
	G_Jun = A_Jun
	G_Jul = A_Jul
	G_Aug = A_Aug
	G_Sep = A_Sep
	G_Oct = A_Oct
	G_Nov = A_Nov
	G_Dec = A_Dec
	G_Mon = A_Mon
	G_Tue = A_Tue
	G_Wed = A_Wed
	G_Thu = A_Thu
	G_Fri = A_Fri
	G_Sat = A_Sat
	G_Sun = A_Sun
	InitDateDay=""
end Function


'****************************************************************************************************
'MonthToStr -- (Used in Functions) Converts Numeric Month values to their string name
'****************************************************************************************************

Public Function MonthToStr(MonthNum)
 on error resume next
Dim MonthStr
			Select Case MonthNum
				Case 1 	 MonthStr= G_Jan
				Case 2   MonthStr= G_Feb
				Case 3   MonthStr= G_Mar
				Case 4 	 MonthStr= G_Apr
				Case 5	 MonthStr= G_May
				Case 6 	 MonthStr= G_Jun
				Case 7	 MonthStr= G_Jul
				Case 8    MonthStr= G_Aug
				Case 9    MonthStr= G_Sep
				Case 10  MonthStr= G_Oct
				Case 11  MonthStr= G_Nov
				Case 12  MonthStr= G_Dec	
			End Select	
MonthToStr=MonthStr
End Function
'*****************

Public Function AbbrevMonthToStr(MonthNum)
 on error resume next
Dim MonthStr
			Select Case MonthNum
				Case 1 	 MonthStr= left(G_Jan,3)
				Case 2   MonthStr= left(G_Feb,3)
				Case 3   MonthStr= left(G_Mar,3)
				Case 4 	 MonthStr= left(G_Apr,3)
				Case 5	 MonthStr= left(G_May,3)
				Case 6 	 MonthStr= left(G_Jun,3)
				Case 7	 MonthStr= left(G_Jul,3)
				Case 8    MonthStr= left(G_Aug,3)
				Case 9    MonthStr= left(G_Sep,3)
				Case 10  MonthStr= left(G_Oct,3)
				Case 11  MonthStr= left(G_Nov,3)
				Case 12  MonthStr= left(G_Dec,3)
			End Select	
AbbrevMonthToStr=MonthStr
End Function

'****************************************************************************************************
'WeekDayToStr -- (Used in Functions) Converts Numeric  Week Day values to their 
'                             string name
'****************************************************************************************************

Public Function WeekDayToStr(WeekDayNum)
 on error resume next
Dim WeekDayStr
			Select Case WeekDayNum
				Case 1 	 WeekDayStr= left(G_Sun,3)
				Case 2   WeekDayStr= left(G_Mon,3)
				Case 3   WeekDayStr= left(G_Tue,3)
				Case 4 	 WeekDayStr= left(G_Wed,3)
				Case 5	 WeekDayStr= left(G_Thu,3)
				Case 6 	 WeekDayStr= left(G_Fri,3)
				Case 7	 WeekDayStr= left(G_Sat,3)
			End Select	
WeekDayToStr=WeekDayStr

End Function

'****************************************************************************************************
'DisplayYear -- (Used in Functions) Decides whether year should be used depending if
'   there is a change of year between event mo. start date and earliest evt. start date
'****************************************************************************************************
Public Function DisplayYear(fulldate)
on error resume next
Dim YearNumTemp
YearNumTemp = Year(fulldate)
	if not(StartingYear=YearNumTemp) then
		YearFlag=true
	else
	YearFlag=false
	end if
	DisplayYear=YearFlag
End Function


'****************************************************************************************************
'href_return -- (Used in MTL and MEL) Returns a date value for the href
'****************************************************************************************************
Public Function href_return(fulldate)
on error resume next
			Dim MonthNumTemp,MonthStrTemp,YearNumTemp
			YearNumTemp = Year(fulldate)
			MonthNumTemp = Month(fulldate)
			MonthStrTemp=MonthToStr(MonthNumTemp)
	href_return=MonthStrTemp&YearNumTemp
End Function
'***************************************************************************************************
Public Function GROUPSORTBY_Return(groupbyoriginal,flag,groupbydesc,datause)
on error resume next
dim lngPos

if (flag="y" or flag="Y") then
GROUPSORTBY_Return=groupbydesc

else
	if datause="display" then
		lngPos = instr(1,groupbyoriginal,"^^^^")
		if lngPos = 0 then
			groupbyoriginal = ""
		else
			lngPos = lngPos - 1
			groupbyoriginal= left(groupbyoriginal, lngPos)
			lngPos = instr(1,groupbyoriginal,",")
			if lngPos = 0 then
			else
				lngPos = lngPos + 2
				groupbyoriginal= left(groupbyoriginal, lngPos) + "."
			end if
		end if
	end if
	GROUPSORTBY_Return=groupbyoriginal
end if

End Function
'***************************************************************************************************
Public Function GROUPSORTBY_Bool(groupdata)
on error resume next
dim BoolTemp
if (G_First_GroupBy=G_Last_Groupby) then
BoolTemp="False"
else
if GroupDataTemp="" then
GroupDataTemp=groupdata
BoolTemp="True"
else
if groupdata=GroupDataTemp then
BoolTemp="False"
else
RowColorFE =0
RowColorFO =0
BoolTemp="True"
GroupDataTemp=groupdata
end if
end if
end if
GROUPSORTBY_Bool=BoolTemp

End Function
'***************************************************************************************************
Public Function GROUPSORTBY_Bool2(groupdata)
on error resume next
dim BoolTemp
if GroupDataTemp2="" then
GroupDataTemp2=groupdata
BoolTemp="True"
else
if groupdata=GroupDataTemp2 then
BoolTemp="False"
else
RowColorFE =0
RowColorFO =0
BoolTemp="True"
GroupDataTemp2=groupdata
end if
end if

GROUPSORTBY_Bool2=BoolTemp
End Function
'***************************************************************************************************
Public Function TEXT_Date_Convert(beginfulldate,endfulldate,DateFormat,Separator)
on error resume next
dim BYTemp,BMTemp,BDTemp,EYTemp,EMTemp,EDTemp, DateSep

Separator = " " & Separator & " "
if isnull(Separator) or trim(Separator) = "" then Separator = " to "

DateSep = right(DateFormat, 1)
if isnull(DateSep) or trim(DateSep) = "" then
	DateSep = "/"
end if

DateFormat = left(DateFormat, 6)

BYTemp=mid(beginfulldate,1,4)
BMTemp=mid(beginfulldate,6,2)
BDTemp=mid(beginfulldate,9,2)
EYTemp=mid(endfulldate,1,4)
EMTemp=mid(endfulldate,6,2)
EDTemp=mid(endfulldate,9,2)
if mid(BDTemp,1,1) = "0" then
BDTemp = mid(BDTemp,2,2)
end if
if mid(EDTemp,1,1) = "0" then
EDTemp = mid(EDTemp,2,2)
end if
if mid(BMTemp,1,1) = "0" then
BMTemp = mid(BMTemp,2,2)
end if
if mid(EMTemp,1,1) = "0" then
EMTemp = mid(EMTemp,2,2)
end if
if beginfulldate = endfulldate then
	Select Case DateFormat
		 Case "MMDDYY"
		 	TEXT_Date_Convert = BMTemp & DateSep & BDTemp & DateSep & mid(BYTemp,3,4)
		 Case "DDMMYY"
		 	TEXT_Date_Convert = BDTemp & DateSep & BMTemp & DateSep & mid(BYTemp,3,4)
		 Case "YYMMDD"
		 	TEXT_Date_Convert = mid(BYTemp,3,4) & DateSep & BMTemp & DateSep & BDTemp
		 Case "YYDDMM"
		   TEXT_Date_Convert = mid(BYTemp,3,4) & DateSep & BDTemp & DateSep & BMTemp
		 Case Else
		 	TEXT_Date_Convert = BMTemp & DateSep & BDTemp & DateSep & mid(BYTemp,3,4)
	End Select
else
	Select Case DateFormat
		 Case "MMDDYY"
		 	TEXT_Date_Convert = BMTemp & DateSep & BDTemp & DateSep & mid(BYTemp,3,4) & Separator & EMTemp & DateSep & EDTemp & DateSep & mid(EYTemp,3,4)
		 Case "DDMMYY"
		 	TEXT_Date_Convert = BDTemp & DateSep & BMTemp & DateSep & mid(BYTemp,3,4) & Separator & EDTemp & DateSep & EMTemp & DateSep & mid(EYTemp,3,4)
		 Case "YYMMDD"
		 	TEXT_Date_Convert = mid(BYTemp,3,4) & DateSep & BMTemp & DateSep & BDTemp & Separator & mid(EYTemp,3,4) & DateSep & EMTemp & DateSep & EDTemp
		 Case "YYDDMM"
		   TEXT_Date_Convert = mid(BYTemp,3,4) & DateSep & BDTemp & DateSep & BMTemp & Separator & mid(EYTemp,3,4) & DateSep & EDTemp & DateSep & EMTemp
		 Case Else
		 	TEXT_Date_Convert = BMTemp & DateSep & BDTemp & DateSep & mid(BYTemp,3,4) & Separator & EMTemp & DateSep & EDTemp & DateSep & mid(EYTemp,3,4)
	End Select
end if
End Function
'***************************************************************************************************
Public Function TEXT_Time_Convert(begintime,endtime)
on error resume next
dim beginzone,endzone, beginTemp, endTemp

if begintime > 1199 and begintime < 2400 then
beginzone="pm"
else
if (begintime > 0 and begintime < 1200) or begintime=2400 then
beginzone="am"
end if
if begintime=0 then
beginzone=""
end if
end if

if endtime > 1199 and endtime < 2400 then
endzone="pm"
else
if (endtime > 0 and endtime < 1200) or endtime=2400 then
endzone="am"
end if
if endtime =0 then
endzone=""
end if
end if

if begintime > 1299 then
beginTemp=begintime-1200
else
if begintime > 0 and begintime < 1300 then
beginTemp=begintime
end if
if begintime = 0 then
beginTemp=""
end if
end if


if len(beginTemp) = 3 then
	if mid(beginTemp,2,2) ="00" then
		beginTemp=mid(beginTemp,1,1)
	else	
		beginTemp=mid(beginTemp,1,1)&":"&mid(beginTemp,2,2)
	end if
else
  if len(beginTemp) = 4 then
	if mid(beginTemp,3,2) ="00" then
		beginTemp=mid(beginTemp,1,2)
	else	
		beginTemp=mid(beginTemp,1,2)&":"&mid(beginTemp,3,2)
	end if
    end if
end if

if endtime > 1299 then
endTemp=endtime-1200
else
if endtime > 0 and endtime < 1300 then
endTemp=endtime 
end if
if endtime = 0 then
endTemp=""
end if
end if

if len(endTemp) = 3 then
	if mid(endTemp,2,2) ="00" then
		endTemp=mid(endTemp,1,1)
	else	
		endTemp=mid(endTemp,1,1)&":"&mid(endTemp,2,2)
	end if
else
   if len(endTemp) = 4 then
	if mid(endTemp,3,2) ="00" then
		endTemp=mid(endTemp,1,2)
	else	
		endTemp=mid(endTemp,1,2)&":"&mid(endTemp,3,2)
	end if
    end if
end if

if begintime="0" or endtime="0" then
TEXT_Time_Convert="N/A"
else
	if begintime = endtime then
		TEXT_Time_Convert=beginTemp&beginzone
	else
		TEXT_Time_Convert=beginTemp&beginzone&"-"&endTemp&endzone
	end if
end if
End Function

'****************************************************************************************************
Public Function RowColor(id)
on error resume next

if id = "FE" then
	if RowColorFE =0 then
		RowColorFE= RowColorFE + 1 
	else
		if RowColorFE= 1 then
			RowColorFE= RowColorFE- 1
		end if
	end if
	if RowColorFE=0 then
		RowColor="even"
	else
		RowColor="odd"
	end if
end if

if id = "FO" then
	if RowColorFO =0 then
		RowColorFO = RowColorFO + 1 
	else
		if RowColorFO = 1 then
			RowColorFO = RowColorFO - 1
		end if
	end if
	if RowColorFO =0 then
		RowColor="even"
	else
		RowColor="odd"
	end if
end if

End Function


'****************************************************************************************************
Public Function TopOfPageText(AText)
on error resume next
if TopOfPageTemp=0 then
TopOfPageText=""
TopOfPageTemp=1
else
TopOfPageText=AText
end if
End Function

'****************************************************************************************************
public function GroupByLookUp(nodelist)
	on error resume next
	
	dim CODE
	dim node

	CODE= ""
if IsEmpty(DESC_GArray) = False then	
	if nodelist is nothing then
		GroupByLookUp= "ERROR"
	else
	set node = nodelist.nextNode()
	CODE= node.selectSingleNode("COE_GROUPBY").text
		GroupByLookUp= GroupByLookUp_1(CODE)
		'GroupByLookUp= CODE
	end if
else
GroupByLookUp= ""
end if
end function
'*****************************************************************************************************
Public Function GroupByLookUp_1(CODE) 
	Dim Temp 'As Long
	Dim ReturnValue 'As String

    
	For Temp = LBound(CODE_GArray) To UBound(CODE_GArray)
		' See if a match was found.
		If (CODE_GArray(Temp) = CODE)  Then
		ReturnValue=DESC_GArray(Temp) 		
		End If												'end of 1st if
	Next

	GroupByLookUp_1 = Cstr(ReturnValue)	
	
End Function

'****************************************************************************************************
public function GroupByLoad(nodelist)
	on error resume next
	
	dim CODE
	dim DESC
	dim node

	CODE= ""
	DESC=""
	
	Dim Temp 'As Long
	Dim Name 'As String

	set node = nodelist.nextNode()
	DESC=node.selectSingleNode("GROUPBY_DESC").text
	CODE= node.selectSingleNode("GROUPBY_CODE").text

	If IsEmpty(DESC_GArray) Then
		' These arrays must remain the same size.
		DESC_GArray= Array(0)
		CODE_GArray= Array(0)
	End If
    
 
	Temp = UBound(DESC_GArray) + 1

	' These arrays must remain the same size.

	ReDim Preserve DESC_GArray(Temp)
	ReDim Preserve CODE_GArray(Temp)

	DESC_GArray(Temp) = DESC
	CODE_GArray(Temp) = CODE

	'GroupByLoad = "("&DESC& "-" & CODE&")"
	GroupByLoad = ""

end function

'****************************************************************************************************
public function OrderBy1LookUp(nodelist)
	on error resume next
	
	dim CODE
	dim node

	CODE= ""
if IsEmpty(DESC_1Array) = False then	
	if nodelist is nothing then
		OrderBy1LookUp= "ERROR"
	else
	set node = nodelist.nextNode()
	CODE= node.selectSingleNode("COE_ORDERBY1").text
		OrderBy1LookUp= OrderBy1LookUp_1(CODE)
		'OrderBy1LookUp= CODE
	end if
else
OrderBy1LookUp= ""
end if
end function
'*****************************************************************************************************
Public Function OrderBy1LookUp_1(CODE) 
	Dim Temp 'As Long
	Dim ReturnValue 'As String

    
	For Temp = LBound(CODE_1Array) To UBound(CODE_1Array)
		' See if a match was found.
		If (CODE_1Array(Temp) = CODE)  Then
		ReturnValue=DESC_1Array(Temp) 		
		End If												'end of 1st if
	Next

	OrderBy1LookUp_1 = Cstr(ReturnValue)	
	
End Function

'****************************************************************************************************
public function OrderBy1Load(nodelist)
	on error resume next
	
	dim CODE
	dim DESC
	dim node

	CODE= ""
	DESC=""
	
	Dim Temp 'As Long
	Dim Name 'As String

	set node = nodelist.nextNode()
	DESC=node.selectSingleNode("ORDERBY1_DESC").text
	CODE= node.selectSingleNode("ORDERBY1_CODE").text

	If IsEmpty(DESC_1Array) Then
		' These arrays must remain the same size.
		DESC_1Array= Array(0)
		CODE_1Array= Array(0)
	End If
    
 
	Temp = UBound(DESC_1Array) + 1

	' These arrays must remain the same size.

	ReDim Preserve DESC_1Array(Temp)
	ReDim Preserve CODE_1Array(Temp)

	DESC_1Array(Temp) = DESC
	CODE_1Array(Temp) = CODE

	'OrderBy1Load = "("&DESC& "-" & CODE&")"
	OrderBy1Load = ""

end function
'****************************************************************************************************
public function OrderBy2LookUp(nodelist)
	on error resume next
	
	dim CODE
	dim node

	CODE= ""
if IsEmpty(DESC_2Array) = False then	
	if nodelist is nothing then
		OrderBy2LookUp= "ERROR"
	else
	set node = nodelist.nextNode()
	CODE= node.selectSingleNode("COE_ORDERBY2").text
		OrderBy2LookUp= OrderBy2LookUp_1(CODE)
		'OrderBy2LookUp= CODE
	end if
else
OrderBy2LookUp= ""
end if
end function
'*****************************************************************************************************
Public Function OrderBy2LookUp_1(CODE) 
	Dim Temp 'As Long
	Dim ReturnValue 'As String

    
	For Temp = LBound(CODE_2Array) To UBound(CODE_2Array)
		' See if a match was found.
		If (CODE_2Array(Temp) = CODE)  Then
		ReturnValue=DESC_2Array(Temp) 		
		End If												'end of 1st if
	Next

	OrderBy2LookUp_1 = Cstr(ReturnValue)	
	
End Function

'****************************************************************************************************
public function OrderBy2Load(nodelist)
	on error resume next
	
	dim CODE
	dim DESC
	dim node

	CODE= ""
	DESC=""
	
	Dim Temp 'As Long
	Dim Name 'As String

	set node = nodelist.nextNode()
	DESC=node.selectSingleNode("ORDERBY2_DESC").text
	CODE= node.selectSingleNode("ORDERBY2_CODE").text

	If IsEmpty(DESC_2Array) Then
		' These arrays must remain the same size.
		DESC_2Array= Array(0)
		CODE_2Array= Array(0)
	End If
    
 
	Temp = UBound(DESC_2Array) + 1

	' These arrays must remain the same size.

	ReDim Preserve DESC_2Array(Temp)
	ReDim Preserve CODE_2Array(Temp)

	DESC_2Array(Temp) = DESC
	CODE_2Array(Temp) = CODE

	'OrderBy2Load = "("&DESC& "-" & CODE&")"
	OrderBy2Load = ""

end function

'****************************************************************************************************
public function OrderBy3LookUp(nodelist)
	on error resume next
	
	dim CODE
	dim node

	CODE= ""
if IsEmpty(DESC_3Array) = False then	
	if nodelist is nothing then
		OrderBy3LookUp= "ERROR"
	else
	set node = nodelist.nextNode()
	CODE= node.selectSingleNode("COE_ORDERBY3").text
		OrderBy3LookUp= OrderBy3LookUp_1(CODE)
		'OrderBy3LookUp= CODE
	end if
else
OrderBy3LookUp= ""
end if
end function
'*****************************************************************************************************
Public Function OrderBy3LookUp_1(CODE) 
	Dim Temp 'As Long
	Dim ReturnValue 'As String

    
	For Temp = LBound(CODE_3Array) To UBound(CODE_3Array)
		' See if a match was found.
		If (CODE_3Array(Temp) = CODE)  Then
		ReturnValue=DESC_3Array(Temp) 		
		End If												'end of 1st if
	Next

	OrderBy3LookUp_1 = Cstr(ReturnValue)	
	
End Function

'****************************************************************************************************
public function OrderBy3Load(nodelist)
	on error resume next
	
	dim CODE
	dim DESC
	dim node

	CODE= ""
	DESC=""
	
	Dim Temp 'As Long
	Dim Name 'As String

	set node = nodelist.nextNode()
	DESC=node.selectSingleNode("ORDERBY3_DESC").text
	CODE= node.selectSingleNode("ORDERBY3_CODE").text

	If IsEmpty(DESC_3Array) Then
		' These arrays must remain the same size.
		DESC_3Array= Array(0)
		CODE_3Array= Array(0)
	End If
    
 
	Temp = UBound(DESC_3Array) + 1

	' These arrays must remain the same size.

	ReDim Preserve DESC_3Array(Temp)
	ReDim Preserve CODE_3Array(Temp)

	DESC_3Array(Temp) = DESC
	CODE_3Array(Temp) = CODE

	'OrderBy3Load = "("&DESC& "-" & CODE&")"
	OrderBy3Load = ""

end function

'****************************************************************************************************
public function SpaceTypeLookUp(nodelist)
	on error resume next
	
	dim CODE
	dim node

	CODE= ""
if IsEmpty(DESC_SArray) = False then	
	if nodelist is nothing then
		SpaceTypeLookUp= "ERROR"
	else
	set node = nodelist.nextNode()
	CODE= node.selectSingleNode("EV200_ANCHOR_VENUE").text
		SpaceTypeLookUp= SpaceTypeLookUp_1(CODE)
		'SpaceTypeLookUp= CODE
	end if
else
SpaceTypeLookUp= ""
end if
end function
'*****************************************************************************************************
Public Function SpaceTypeLookUp_1(CODE) 
	Dim Temp 'As Long
	Dim ReturnValue 'As String

    
	For Temp = LBound(CODE_SArray) To UBound(CODE_SArray)
		' See if a match was found.
		If (CODE_SArray(Temp) = CODE)  Then
		ReturnValue=DESC_SArray(Temp) 		
		End If												'end of 1st if
	Next

	SpaceTypeLookUp_1 = Cstr(ReturnValue)	
	
End Function

'****************************************************************************************************
public function SpaceTypeLoad(nodelist)
	on error resume next
	
	dim CODE
	dim DESC
	dim node

	CODE=""
	DESC=""
	
	Dim Temp 'As Long
	Dim Name 'As String

	set node = nodelist.nextNode()
	DESC=node.selectSingleNode("EV800_SPACE_DESC").text
	CODE= node.selectSingleNode("EV800_SPACE_CODE").text

	
	If IsEmpty(DESC_SArray) Then
		' These arrays must remain the same size.
		DESC_SArray= Array(0)
		CODE_SArray= Array(0)
	End If
    
 
	Temp = UBound(DESC_SArray) + 1

	' These arrays must remain the same size.

	ReDim Preserve DESC_SArray(Temp)
	ReDim Preserve CODE_SArray(Temp)

	DESC_SArray(Temp) = DESC
	CODE_SArray(Temp) = CODE

	'SpaceTypeLoad = "("&DESC& "-" & CODE&")"
	SpaceTypeLoad = ""

end function
'*************************************************************************************************
public function TTL_Bool_Spacer()
on error resume next
if not(TTL_Spacer_Temp = "True") then
TTL_Spacer_Temp="True"
TTL_Bool_Spacer="False"
else
TTL_Bool_Spacer="True"
end if
end function

'****************************************************************************************************	
Public Function GroupByFirstSet(value)
G_First_GroupBy=value
GroupByFirstSet=""
End Function

'****************************************************************************************************	
Public Function GroupByLastSet(value)
G_Last_GroupBy=value
GroupByLastSet=""
End Function

'****************************************************************************************************
'BuildWebParams --  Returns a list of URL parameters
'****************************************************************************************************

Public Function ReturnWebParams()
on error resume next
	ReturnWebParams = gstrParams
End Function

'****************************************************************************************************
'BuildWebParams --  Returns a list of URL parameters
'****************************************************************************************************

Public Function BuildWebParams(astrDateID, astrCategoryID, astrClassID, astrTypeID, astrRankID, astrAccountID, astrSpaceTypeID, astrSpaceID, astrGroupBy, astrGroupByDir, astrOrderBy1, astrOrderBy1Dir, astrOrderBy2, astrOrderBy2Dir, astrOrderBy3, astrOrderBy3Dir)
on error resume next
Dim strReturn
strReturn = ""
	if astrDateID = "" then
	else
		strReturn =  strReturn & "&dateid=" & astrDateID
	end if
	if astrCategoryID= "" then
	else
		strReturn =  strReturn & "&categoryid=" & astrCategoryID
	end if
	if astrClassID = "" then
	else
		strReturn =  strReturn & "&classid=" & astrClassID
	end if
	if astrTypeID = "" then
	else
		strReturn =  strReturn & "&typeid=" & astrTypeID
	end if
	if astrRankID = "" then
	else
		strReturn =  strReturn & "&rankid=" & astrRankID
	end if
	if astrAccountID = "" then
	else
		strReturn =  strReturn & "&accountid=" & astrAccountID
	end if
	if astrSpaceTypeID = "" then
	else
		strReturn =  strReturn & "&spacetypeid=" & astrSpaceTypeID
	end if
	if astrSpaceID = "" then
	else
		strReturn =  strReturn & "&spaceid=" & astrSpaceID
	end if
	if astrGroupBy = "" then
	else
		strReturn =  strReturn & "&groupby=" & astrGroupBy
	end if
	if astrGroupByDir = "" then
	else
		strReturn =  strReturn & "&groupbydir=" & astrGroupByDir
	end if
	if astrOrderBy1 = "" then
	else
		strReturn =  strReturn & "&orderby1=" & astrOrderBy1
	end if
	if astrOrderBy1Dir = "" then 
	else
		strReturn =  strReturn & "&orderby1dir=" & astrOrderBy1Dir
	end if
	if astrOrderBy2 = "" then
	else
		strReturn =  strReturn & "&orderby2=" & astrOrderBy2
	end if
	if astrOrderBy2Dir = "" then
	else
		strReturn =  strReturn & "&orderby2dir=" & astrOrderBy2Dir
	end if
	if astrOrderBy3 = "" then
	else
		strReturn =  strReturn & "&orderby3=" & astrOrderBy3
	end if
	if astrOrderBy3Dir = "" then
	else
		strReturn =  strReturn & "&orderby3dir=" & astrOrderBy3Dir
	end if
	gstrParams = strReturn
	BuildWebParams = ""
End Function


]]></msxsl:script>
</xsl:stylesheet>

