<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0"
		xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                exclude-result-prefixes="#default">

  <xsl:import href="../../../system/api-v001.xsl" /> 
  <xsl:import href="../../../felles/komponenter/fritekst/v002/fritekst.xsl" /> 
  <xsl:import href="../../ressurser/indexnumber-v001.xsl" /> 
  <xsl:import href="../../ressurser/diverse-v001.xsl" /> 
  <xsl:import href="../../komponenter/saksinfo/v001/saksinfo.xsl"/>

  <xsl:include href="../../../felles/ressurser/output-method-html-v001.xsl" />

  <xsl:template match="/">
     <head>
      <title><xsl:value-of select="/dokumentindeks/tittel"/></title>
      <meta name="redaksjon.navn" content="Admhb" />
      <meta name="redaksjon.vev" content="http://www.admin.uio.no/opa/opaorg.html" />
      <meta name="keywords" content="Administrative håndbøker" />
    </head>
    <body>
      <xsl:call-template name="sti-og-sokeboks" />
      <xsl:apply-templates />
      <xsl:call-template name="bunnsignatur" />
    </body>
  </xsl:template>

  <!-- variabel $indexnumber finnes i resursser/indexnumber-v001.xsl -->

  <xsl:template match="dokumentindeks">
    <xsl:apply-templates select="tittel" />
    <xsl:apply-templates select="ingress" />
    <table border="1" cellspacing="0" cellpadding="10" width="90%">
      <tr>
        <td>
          <h2>Innhold</h2>
          <ul>
            <xsl:apply-templates select="dokumentreferanse" />
          </ul>
        </td>
      </tr>
    </table>
  </xsl:template>

  <xsl:template match="tittel">
    <h1>
      <xsl:if test="not($indexnumber='')"><xsl:value-of select="$indexnumber" /><xsl:text>:</xsl:text>&#160;</xsl:if>
      <xsl:value-of select="." />
    </h1>
  </xsl:template>

  <xsl:template match="ingress">
    <xsl:if test="not(.='')">
      <xsl:apply-templates />
    </xsl:if><br /><br />
  </xsl:template>
 
  <xsl:template match="dokumentreferanse">
   <xsl:variable name="file">
      <xsl:choose>
        <xsl:when test="not(contains(.,'.xml'))"> <!-- sjekker at det pekes til en .xml fil - får feil og kræsj ved aksess av eksistrende mapper -->
          <xsl:value-of select="'Ugyldig verdi'" />
        </xsl:when>
        <!-- fullstendig url - fungerer ikke hvis det pekes til et xml-dok som transformeres-->
        <xsl:when test="starts-with(.,'http://') or starts-with(.,'https://')">
          <xsl:value-of select="." />
        </xsl:when>
        <!-- relativ url -->
        <xsl:otherwise>
          <xsl:value-of select="." />
        </xsl:otherwise>
      </xsl:choose>
    </xsl:variable>
 
    <li>
      <xsl:variable name="subindexnumber">
        <xsl:if test="document('../index.xml', self::node())/dokumentindeks">
          <xsl:choose>
            <xsl:when test="not($indexnumber='')"><xsl:value-of select="$indexnumber" />.<xsl:number /></xsl:when>
            <xsl:otherwise>
              <xsl:number />
            </xsl:otherwise>
          </xsl:choose>
        </xsl:if>
      </xsl:variable>
 
      <!-- legge til mappe før relative pekere i underdokument -->
      <xsl:variable name="last-token-pos-file"> 
        <xsl:call-template name="find-last-pos">
          <xsl:with-param name="string" select="." />
        </xsl:call-template>
      </xsl:variable>
 
      <xsl:variable name="filefolder" select="substring(.,1, $last-token-pos-file)" />
      <xsl:variable name="document" select="document($file, self::node())" />


      <xsl:choose>
        <xsl:when test="$document//tittel"> <!-- sjekker om dokumentet har en tittel -->
          <a href="{.}">
            <xsl:if test="not($subindexnumber='')"><xsl:value-of select="$subindexnumber" />:&#160;</xsl:if>
            <xsl:value-of select="$document//tittel" />
          </a>
        
          <!-- skriver ut underpunkter hvis det pekes til en indexfil -->
          <xsl:if test="$document/dokumentindeks">
            <ul>
              <xsl:for-each select="$document/dokumentindeks/dokumentreferanse">
                <xsl:variable name="subfile">
                  <xsl:choose>
                    <!-- sjekker at det pekes til en .xml fil - får feil og kræsj ved aksess av eksistrende mapper -->
                    <xsl:when test="not(contains(.,'.xml'))"> 
                      <xsl:value-of select="'Ugyldig verdi'" />
                    </xsl:when>
                    <xsl:otherwise>
                      <xsl:value-of select="." />
                      <!-- xsl:value-of select="concat(substring-before($file,'index.xml'),.)" / --> 
                    </xsl:otherwise>
                  </xsl:choose>
                </xsl:variable>

                <xsl:variable name="subdocument" select="document($subfile, .)" />
                <li>
                  <xsl:choose>
                    <xsl:when test="$subdocument//tittel">
                      <a href="{concat($filefolder,.)}"><!-- må legge til folder -->
                        <xsl:if test="not($subindexnumber='')"><xsl:value-of select="$subindexnumber" />.</xsl:if>
                        <xsl:number />:&#160;<xsl:value-of select="$subdocument//tittel" />
                      </a>
                    </xsl:when>
                    <xsl:otherwise>
                      <xsl:if test="not($subindexnumber='')"><xsl:value-of select="$subindexnumber" />.</xsl:if>
                      <xsl:number />:&#160;<xsl:text>Dokumentet er passordbeskyttet.&#160;</xsl:text><xsl:if test="normalize-space($currentUser) = ''">(<a href="{concat($filefolder,.)}">logg inn</a>)</xsl:if>
                    </xsl:otherwise>
                  </xsl:choose>
                </li>
              </xsl:for-each>
            </ul>
          </xsl:if>
        </xsl:when>
        <xsl:otherwise>
          <xsl:if test="not($subindexnumber='')"><xsl:value-of select="$subindexnumber" />:&#160;</xsl:if>
          <xsl:text>Dokumentet kan ikke vises.&#160;</xsl:text><xsl:if test="normalize-space($currentUser) = ''">(<a href="{.}">logg inn</a>)</xsl:if>         
        </xsl:otherwise>
      </xsl:choose>
    </li>
  </xsl:template>

</xsl:stylesheet>
