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

  <!-- ========================================================================== -->
  <!-- kurs.xsl (versjon 001) - Kurs eller semesterside                           -->
  <!-- ========================================================================== -->

  <!-- Felles for studiedokumenter -->
  <xsl:include href="../../ressurser/profil-v001.xsl"/>
  <xsl:include href="../../ressurser/translations-v001.xsl"/>
  <xsl:include href="../../ressurser/mapping-v001.xsl"/>

  <!-- Felles for alle dokumenter -->
  <xsl:include href="../../../system/api-v001.xsl"/>
  <xsl:include href="../../../felles/ressurser/output-method-html-v001.xsl"/>

  <!-- XSL til komponenter -->
  <xsl:include href="../../komponenter/beskjed/v001/beskjed.xsl"/>

  <xsl:variable name="document-title">
    <xsl:value-of select="kurs/tittel/emnekode"/> - 
    <xsl:call-template name="oversett-diverse">
      <xsl:with-param name="diversetekst" select="kurs/tittel/semester"/>
    </xsl:call-template>&#160;<xsl:value-of select="kurs/tittel/aar"/> (<xsl:value-of select="kurs/tittel/emnenavn"/>)
  </xsl:variable>

  <xsl:template match="/">
    <html>
      <head>
        <title><xsl:value-of select="$document-title"/></title>
        
        <!-- Henter metadata fra profil-v001.xsl -->
        <xsl:call-template name="inkluder-metadata-til-profil"/>

     </head>

     <body>
       <xsl:call-template name="studiesti"/>
       <h1 id="tekststart"><xsl:value-of select="$document-title"/></h1>
         <xsl:call-template name="inkluder-beskjeder"/>
         <p><xsl:call-template name="lenke-til-presentasjon-av-emnet"/><xsl:apply-templates /></p> 
       </body>
     </html>
   </xsl:template>

  <xsl:template name="inkluder-beskjeder">
    <xsl:variable name="beskjeder" select="document('beskjeder.xml',self::node())/beskjeder" /> 

    <table class="emner" width="45%" cellpadding="5" cellspacing="5" align="right">
      <tr>
        <td>
          <b>
            <xsl:call-template name="oversett-diverse">
              <xsl:with-param name="diversetekst" select="'Siste beskjeder'"/>
            </xsl:call-template>:
          </b>
        </td>
      </tr>
      <xsl:choose>
        <xsl:when test="not(normalize-space($beskjeder/beskjed[1]) = '')">
          <xsl:apply-templates select="$beskjeder/beskjed[1]"/>
          <xsl:apply-templates select="$beskjeder/beskjed[2]"/>
          <xsl:apply-templates select="$beskjeder/beskjed[3]"/>
          <tr>
            <td>
              <a href="beskjeder.xml">
                <xsl:call-template name="oversett-diverse">
                  <xsl:with-param name="diversetekst" select="'Flere beskjeder'"/>
                </xsl:call-template>
              </a>
            </td>
          </tr>
        </xsl:when>
        <xsl:when test="not(normalize-space($beskjeder/*) = '')">
          <tr>
            <td>
              <a href="beskjeder.xml">
                <xsl:call-template name="oversett-diverse">
                  <xsl:with-param name="diversetekst" select="'Ingen beskjeder'"/>
                </xsl:call-template>
              </a>
            </td>
          </tr>
        </xsl:when>
        <xsl:otherwise>
          <tr>
            <td>
              Semestersiden mangler beskjed-dokument, ta kontakt med superbruker.
            </td>
          </tr>
       </xsl:otherwise>
      </xsl:choose>

    </table>

  </xsl:template>

  <xsl:template match="emnenavn | semester | aar | emnekode | brukernavn | dag | mnd | foreleser-navn |foreleser-brukernavn | id"/>

  <xsl:template match="spraak"/>
    
  <xsl:template match="forelesere">
    <xsl:if test="normalize-space(.) != ''">
      <b><xsl:call-template name="oversett-element"/></b><xsl:text disable-output-escaping="yes">&lt;br&gt;</xsl:text>
      <xsl:apply-templates/>
      <xsl:text disable-output-escaping="yes">&lt;br&gt;&lt;br&gt;</xsl:text>
    </xsl:if>
  </xsl:template>

  <xsl:template match="foreleser">
    <xsl:choose>
      <xsl:when test="not(foreleser-brukernavn='')">
        <a href="http://www.uio.no/sok?person={foreleser-brukernavn}"><xsl:value-of select="foreleser-navn"/></a>
      </xsl:when>
      <xsl:otherwise>
        <xsl:value-of select="foreleser-navn"/>
      </xsl:otherwise>
    </xsl:choose>

    <xsl:if test="name(following-sibling::node())='foreleser'">&#160;-&#160;</xsl:if>
  </xsl:template>
  
  <xsl:template match="undervisning">
    <xsl:variable name="tidogsted" select="normalize-space(document('tid-og-sted.xml',self::node())/tid-og-sted/emnekode)"/>
    <xsl:variable name="pensumliste" select="normalize-space(document('pensumliste.xml',self::node())/pensumliste/tittel/emnekode)"/>
    <xsl:variable name="undervisningsplan" select="normalize-space(document('undervisningsplan.xml',self::node())/undervisningsplan/tittel/emnekode)"/>

     <!-- test på om det finnes noe lenker under undervisning (for medisin) -->
    <xsl:if test="not($tidogsted = '' and $pensumliste = '' and $undervisningsplan = '')">
    <b><xsl:call-template name="oversett-element"/></b>
    <xsl:text disable-output-escaping="yes">&lt;br&gt;</xsl:text>

    <xsl:if test="not($tidogsted = '')">
      <a href="tid-og-sted.xml">
        <xsl:call-template name="oversett-diverse">
          <xsl:with-param name="diversetekst" select="'Tid og sted'"/>
        </xsl:call-template>
      </a>
    </xsl:if>

    <xsl:if test="not($undervisningsplan = '')">
      <xsl:if test="not($tidogsted = '')"> - </xsl:if>
      <a href="undervisningsplan.xml">
        <xsl:call-template name="oversett-diverse">
          <xsl:with-param name="diversetekst" select="'Detaljert undervisningsplan'"/>
        </xsl:call-template>
      </a>
    </xsl:if>

    <xsl:if test="not($pensumliste = '')">
      <xsl:if test="not($tidogsted = '') or not($undervisningsplan = '')"> - </xsl:if>
      <a href="pensumliste.xml">
        <xsl:call-template name="oversett-diverse">
          <xsl:with-param name="diversetekst" select="'Pensum/læringskrav'"/>
        </xsl:call-template>
      </a>
    </xsl:if>
    <xsl:text disable-output-escaping="yes">&lt;br&gt;&lt;br&gt;</xsl:text>
  </xsl:if>

  </xsl:template>
  
  <xsl:template match="eksamen">
    <xsl:variable name="eksamen" select="normalize-space(document('eksamen.xml',self::node())/eksamen/emnekode)"/>

    <b><xsl:call-template name="oversett-element"/></b>
    <xsl:text disable-output-escaping="yes">&lt;br&gt;</xsl:text>    

    <xsl:if test="not($eksamen = '')">
      <a href="eksamen.xml">
      <xsl:call-template name="oversett-diverse">
        <xsl:with-param name="diversetekst" select="'Tid og sted'"/> 
      </xsl:call-template>
      </a> -
    </xsl:if>
    <xsl:call-template name="oversett-diverse">
      <xsl:with-param name="diversetekst" select="'Eksamen ved UiO'"/> 
    </xsl:call-template>

    <xsl:if test="name(following-sibling::*[1])='weblenke'">
      -
    </xsl:if>
  </xsl:template>

  <xsl:template match="kontaktinformasjon">
    <xsl:variable name="kontaktinformasjon" select="normalize-space(document('kontaktinformasjon.xml',self::node())/kontaktinformasjon/tittel/emnekode)"/>

    <xsl:apply-templates select="../tittel/emnekode" mode="hent-bibliotekslenke"/><!-- Lager lenke til biblioteket -->
    
    <xsl:if test="not($kontaktinformasjon = '')">
      <xsl:text disable-output-escaping="yes">&lt;br&gt;&lt;br&gt;</xsl:text>
      <b><xsl:call-template name="oversett-element"/></b>
      <xsl:text disable-output-escaping="yes">&lt;br&gt;</xsl:text>    
      <a href="kontaktinformasjon.xml">
        <xsl:call-template name="oversett-diverse">
          <xsl:with-param name="diversetekst" select="'Studieadministrasjon og faglærere'"/>
        </xsl:call-template>
      </a>
    </xsl:if>
  </xsl:template>

  <xsl:template match="overskrift">
    <xsl:if test="not(normalize-space(.)='')">
      <xsl:text disable-output-escaping="yes">&lt;br&gt;&lt;br&gt;</xsl:text>
      <b><xsl:value-of select="."/></b>
      <xsl:text disable-output-escaping="yes">&lt;br&gt;</xsl:text>    
    </xsl:if>
  </xsl:template>

  <xsl:template match="beskjed">
    <tr>
      <td>
        <b><xsl:value-of select="dag"/>.<xsl:value-of select="mnd"/>:&#32;</b>
        <xsl:apply-templates select="fritekst" mode="inline"/>
      </td>
    </tr>
  </xsl:template>


  <xsl:template match="weblenke">
    <xsl:if test="not(normalize-space(.)='')">
      <!-- legger til http:// og bruker webadressen hvis ikke lenketekst er spesifisert -->
      <xsl:choose>
        <xsl:when test="(lenketekst='')">
          <a href="{webadresse}"><xsl:value-of select="webadresse"/></a>
          <xsl:if test="name(following-sibling::node())='weblenke'">&#160;-</xsl:if>
        </xsl:when>
        <xsl:otherwise>
          <a href="{webadresse}"><xsl:value-of select="lenketekst"/></a>
          <xsl:if test="name(following-sibling::node())='weblenke'"><xsl:text> - </xsl:text></xsl:if>
        </xsl:otherwise>
      </xsl:choose>
    </xsl:if>
  </xsl:template>

  <!-- ========================================================================== -->
  <!-- Template for generering av lenke til emnepresentasjon                      -->
  <!-- ========================================================================== -->

  <xsl:template name="lenke-til-presentasjon-av-emnet">
    <a>
      <xsl:attribute name="href">
	<xsl:text>../</xsl:text>
	<xsl:variable name="kode" select="/kurs/tittel/emnekode"/>
	<xsl:if test="/kurs/spraak='engelsk' and document($emne-mappingfil)/mapping/emne[@emnekode=$kode and @spraak='engelsk'] and document($emne-mappingfil)/mapping/emne[@emnekode=$kode and @spraak='norsk']">
	  <xsl:text>index-eng.xml</xsl:text>
	</xsl:if>
      </xsl:attribute>
      <xsl:call-template name="oversett-diverse">
        <xsl:with-param name="diversetekst" select="'Beskrivelse av emnet'"/>
      </xsl:call-template>
    </a>
    <xsl:text disable-output-escaping="yes">&lt;br&gt;&lt;br&gt;</xsl:text>
  </xsl:template>

</xsl:stylesheet>
