<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
	<xsl:key name="imageLookup" match="/familyTree/images/image" use="@id"/>
	<xsl:template name="images">
		<xsl:if test="images">
			<br/>
			<xsl:for-each select="images/image">
				<xsl:variable name="img" select="key('imageLookup', @idRef)"/>
				<xsl:choose>
					<xsl:when test="starts-with(@idRef, 'Flag')">
						<img src="Images/{$img/@id}.{$img/@format}" height="{$img/@height}" width="{$img/@width}" alt="{@idRef}"/>
					</xsl:when>
					<xsl:otherwise>
						<xsl:text> </xsl:text>
						<a class="big" href="ImageDetail.asp?id={@idRef}" target="_blank" title="Click on this thumbnail for a larger image. Opens in a new window.">
							<img src="Images/{$img/@id}.t{@position}.{$img/@format}" height="96" width="80" alt="{name}"/>
						</a>
					</xsl:otherwise>
				</xsl:choose>
			</xsl:for-each>
		</xsl:if>
	</xsl:template>
	
	<xsl:template name="links">
		<xsl:for-each select="links/link">
			<xsl:text> </xsl:text><a class="big" href="{.}">
			<xsl:if test="starts-with(., 'http')"><xsl:attribute name="target">newWin</xsl:attribute></xsl:if>
			<img src="Images/Glasses16.png" border="0" style="margin-right:5px"/><xsl:value-of select="@label"/></a>
		</xsl:for-each>
	</xsl:template>
	
	<xsl:template name="personHeader">
		<span class="NameID">
		<xsl:choose>
			<xsl:when test="name()='partner' ">
				<img alt="partner" src="Images/Partner.png" align="middle"/>&#160;<xsl:value-of select="name"/>
			</xsl:when>
			<xsl:otherwise>
				<xsl:if test="//child[@idRef=current()/@id]"><a><xsl:attribute name="href">Ancestors.asp?id=<xsl:value-of select="@id"/></xsl:attribute><img border="0" alt="Male ancestors" title="Male ancestors" src="Images/FamilyCrestXS.png" align="middle"/></a></xsl:if>		
				<xsl:choose>
					<xsl:when test="partner[children]">
						<a><xsl:attribute name="href">Descendants.asp?id=<xsl:value-of select="@id"/></xsl:attribute><img alt="Descendants" title="Start tree from here..." src="Images/ArrowRight.png" border="0"  class="noPrint"  align="middle"/></a></xsl:when>
					<xsl:when test="died and @sex='M' "><img alt="no issue" title="no issue" src="Images/NoIssue.png" align="middle"/></xsl:when>
					<!-- xsl:otherwise><img alt="child" src="Images/NoIssue.png" align="middle"/></xsl:otherwise -->
				</xsl:choose>
				&#160;<xsl:value-of select="name"/>
			</xsl:otherwise>
		</xsl:choose>
		</span><br />
		<span class="notes">
			<xsl:choose>
				<xsl:when test="name()='partner' ">
					<xsl:choose>
						<xsl:when test="divorced">
							<xsl:choose>
								<xsl:when test="married='N' ">Ex-partner</xsl:when>
								<xsl:when test="@sex='M' ">Ex-husband</xsl:when>
								<xsl:when test="@sex='F' ">Ex-wife</xsl:when>
							</xsl:choose>
						</xsl:when>
						<xsl:otherwise>
							<xsl:choose>
								<xsl:when test="married='N' ">Partner</xsl:when>
								<xsl:when test="@sex='M' ">Husband</xsl:when>
								<xsl:when test="@sex='F' ">Wife</xsl:when>
							</xsl:choose>
						</xsl:otherwise>
					</xsl:choose>
					<br />
					<xsl:if test="surname!='' ">Surname: <span class="NameID"><xsl:value-of select="surname"/></span><br /></xsl:if>
				</xsl:when>
				<xsl:otherwise>
					[<xsl:value-of select="@id"/>]
				</xsl:otherwise>
			</xsl:choose>
			<xsl:if test="nickname!='' ">Nickname: <span class="NameID"><xsl:value-of select="nickname"/></span><br /></xsl:if>
			<xsl:apply-templates select="born | died | married | divorced"/>
			<xsl:if test="notes">
				<br/>
				<xsl:copy-of select="notes"/>
			</xsl:if>
		</span>
	</xsl:template>
	<xsl:template match="born | died | married | divorced">
		<xsl:if test="position()!=1">, </xsl:if>
		<xsl:value-of select="name()"/>:<xsl:if test="@approx">&#x00B1;</xsl:if><xsl:value-of select="."/>
		<xsl:if test="@place"><xsl:text> </xsl:text><xsl:value-of select="@place"/></xsl:if>
		<xsl:if test="name()='died'">
			<!-- have death element -->
			<xsl:variable name="deathYear"><xsl:choose>
				<xsl:when test="contains(., '/')"><xsl:value-of select="substring(., 7, 4)"/></xsl:when>
				<xsl:otherwise><xsl:value-of select="."/></xsl:otherwise>
			</xsl:choose></xsl:variable>
			<xsl:if test="number($deathYear) and ../born">
				<!-- have death and birth dates - calc age -->
				<xsl:variable name="birthYear"><xsl:choose>
					<xsl:when test="contains(../born, '/')"><xsl:value-of select="substring(../born, 7, 4)"/></xsl:when>
					<xsl:otherwise><xsl:value-of select="../born"/></xsl:otherwise>
				</xsl:choose></xsl:variable>		
				<xsl:variable name="age" select="number($deathYear) -number($birthYear)"></xsl:variable>
				<xsl:if test="number($age)"> (aged &#x00B1;<xsl:value-of select="$age"/> years old)</xsl:if>
			</xsl:if>
		</xsl:if>
	</xsl:template>
</xsl:stylesheet>

