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

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

  <xsl:include href="../../../common/components/structuredtext/v002/structuredtext.xsl" />
  <xsl:include href="../../../common/components/heading/v002/heading.xsl" />  
  <xsl:include href="../../../common/components/table/v001/table.xsl"/>  

  <xsl:include href="../../simple-quiz-node/v002/simple-quiz-node-published.xsl"/>  

  <xsl:include href="../../../common/components/link-constructor-v001.xsl"/>
  
  <xsl:param name="resource_url" select="'http://www.med.uio.no/vrtx/lcms/'" />

  <xsl:variable name="current-link">
    <xsl:variable name="path">
      <xsl:for-each select="//page[processing-instruction('page')='active']">
        <xsl:call-template name="xpath" />
      </xsl:for-each>
    </xsl:variable>
    <xsl:call-template name="construct-link">
      <xsl:with-param name="link-parameters-csv" select="concat('page=', $path)" />
    </xsl:call-template>
  </xsl:variable>


  <!-- Top level template -->
  <xsl:template match="/published-course">
    <html>
      <head>
        <title>webleksjon | <xsl:value-of select="title/text()"/></title>
        <link rel="stylesheet" href="http://www.med.uio.no/studier/elaring/webleksjon-static/uio.css" type="text/css"/>
        <link rel="stylesheet" href="http://www.med.uio.no/studier/elaring/webleksjon-static/medark.css" type="text/css" />
<!--         <link rel="stylesheet" href="http://www.med.uio.no/studier/elaring/webleksjon-static/weblesson.css" type="text/css" /> -->
        <link rel="stylesheet" href="/vrtx/lcms/css/weblesson.css" type="text/css" />

        <style type="text/css">
          td.navsubsection { 
           padding-left: 1em;
          }

          a.navsubsubsection-active {
           font-weight: bold; 
          }

          td.navsubsubsection { 
            margin: 3px;
            background-color: #99CC99;
            padding-left: 2em;
            color: #999999;
          }
        </style>
        <meta name="robots" content="noindex,nofollow" />
      </head>
      
      <!-- START BODY -->
      <body>
        <table cellspacing="0" cellpadding="0" border="0" width="100%">
          <tbody>
            <tr>
              <td class="tdwidth70bgblue" valign="bottom">
                <a href="http://www.uio.no/">
                  <img width="267" height="31" class="grafikktopplogo" alt="Universitetet i Oslo" border="0"
                       src="{concat($resource_url,'images/logotopp_blaa3.gif')}" />
                </a>
              </td>
              <td align="right" class="topbgblue" valign="bottom"></td>
            </tr>
            <tr valign="top">
              <td align="left"><a href="#"><img class="grafikkbotnlogo" border="0" alt="Medisinske Webleksjoner" src="{$resource_url}images/banner_webleksjon_Bokmal.gif" width="613" height="25"/></a></td>
              <td align="right" valign="middle" style="font-weight:bold;">
                <xsl:variable name="link">
                  <xsl:call-template name="construct-link" />
                </xsl:variable>
                <a href="{$link}"><xsl:value-of select="title" /></a>
              </td>
            </tr>
          </tbody>
        </table>

        <table width="100%" border="0" cellpadding="0" cellspacing="0">
          <col width="15%" />
          <col width="85%" />
          <tbody>
            <tr>
              <td valign="top" align="left" class="navigation">
                <!-- meny -->
                <xsl:call-template name="generate-page-menu" />
              </td>
              <td class="content" valign="top" align="left">
                <xsl:choose>
                  <xsl:when test="//page[processing-instruction('page')='active']">
                    <xsl:apply-templates select="//page[processing-instruction('page')='active']" /> 
                  </xsl:when>
                  <xsl:otherwise>
                    <xsl:call-template name="front-page"/>
                  </xsl:otherwise>
                </xsl:choose>
                
              </td>
            </tr>
          </tbody>
        </table>  
        <br />
        <table width="100%" border="0" cellpadding="0" cellspacing="0">
          <tbody>
            <tr>
              <td class="footer" align="left" valign="bottom">
                &#160;
              </td>
              <td class="footer" align="right" valign="bottom">
                Laget av <xsl:value-of select="author"/>
              </td>
            </tr>
          </tbody>
        </table>  
      </body> 
      <!-- END BODY -->
      
    </html> 
  </xsl:template> 

  <!-- START INNHOLD -->
  <xsl:template match="page"> 
    <!-- Display section -->
    <div class="content">
      <h3><xsl:value-of select="title"/></h3>
      <xsl:choose>
        <xsl:when test="content">
          <br/><br/> 
          <xsl:apply-templates select="content/*"/>
        </xsl:when>
        <xsl:otherwise>
          <xsl:if test="children/page">
            Siden har undersider
          </xsl:if>
        </xsl:otherwise>
      </xsl:choose>
    </div>
  </xsl:template>


  <xsl:template name="front-page">
    <div class="content">
      <h1><xsl:value-of select="title"/></h1>
      <h2>av <xsl:value-of select="author"/></h2>
      <p></p>
      <div class="description">
        <xsl:apply-templates select="content/*" />
      </div>
    </div>
  </xsl:template>

<!-- Start hack pga. image-node til image konvertering.

     Av en eller annen grunn oversettes image-node til image 
     og alignment til position. Dette bør endres i CoursePublisherImpl.java.
     Inntil videre duplisert og mekket på  image-node.xsl her 
     for å få caption håndtering og alignment til å virke. -->

<!--
  <xsl:template match="image-node">
    <xsl:variable name="bilde" select="url"/>
    <xsl:variable name="width" select="@width"/>
    <xsl:variable name="height" select="@height"/>
    <xsl:variable name="caption" select="caption"/>
    <img src="{$bilde}" width="{$width}" height="{$height}"/>
    <br></br>
    <div class="caption"><xsl:value-of select="$caption"/></div>
    <br></br>
  </xsl:template> 

-->
  <xsl:template match="image-node">

    <!-- Bruker variabler her også for å beholde det mest mulig likt image -->

    <xsl:variable name="url">
      <xsl:value-of select="url" />
    </xsl:variable>
 
    <!-- alt-text må ha verdi -->
    <xsl:variable name="alt-text">
      <xsl:choose>
        <xsl:when test="normalize-space(alt-text)=''">
          <xsl:value-of select="'image'" />
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="alt-text" />
        </xsl:otherwise>
      </xsl:choose>
    </xsl:variable>

    <xsl:variable name="caption">
      <xsl:value-of select="caption" />
    </xsl:variable>
  
   <xsl:variable name="alignment">
      <xsl:choose>
        <xsl:when test="@alignment='left'">
          <xsl:value-of select="'left'" /> 
        </xsl:when>
        <xsl:when test="@alignment='center'">
          <xsl:value-of select="'center'" /> 
        </xsl:when>
        <xsl:when test="@alignment='right'">
          <xsl:value-of select="'right'" /> 
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="'left'" /><!-- venstre er default i schema -->
        </xsl:otherwise>
      </xsl:choose>
    </xsl:variable>
 
    <xsl:variable name="height">
      <xsl:value-of select="@height" />
    </xsl:variable>

    <xsl:variable name="width">
      <xsl:value-of select="@width" />
    </xsl:variable>
 
    <xsl:choose>
      <xsl:when test="$caption=''">
        <xsl:choose>
          <xsl:when test="$alignment='center'">
            <div style="text-align:center;">
              <img src="{$url}" alt="{$alt-text}" />
            </div>
          </xsl:when>
          <xsl:when test="$alignment='right'">
            <img style="float:right; padding:0; margin: 0 0 0 0.75em;" src="{$url}" alt="{$alt-text}" />
          </xsl:when>
          <xsl:otherwise><!-- venstre er default i schema -->
            <img style="float:left; padding:0; margin: 0 0.75em 0 0;" src="{$url}" alt="{$alt-text}" />
          </xsl:otherwise>
        </xsl:choose>
      </xsl:when>
      <xsl:otherwise>
        <!-- må bruke tabell for at bildeteksten ikke skal skli ut. -->
        <!-- Evt. må høyde og bredde settes på bilde -->
        <table style="" cellspacing="0" cellpadding="0" align="{$alignment}" width="5%">
          <xsl:choose>
            <xsl:when test="$alignment='left'">
              <xsl:attribute name="style">
                <xsl:value-of select="'border: 1px solid #666; padding:0; margin:0 0.75em 0 0'" />
              </xsl:attribute>
            </xsl:when>
            <xsl:when test="$alignment='center'">
              <xsl:attribute name="style">
                <xsl:value-of select="'border: 1px solid #666; padding:0; margin:0 0.75em;'" />
              </xsl:attribute>
            </xsl:when>
            <xsl:when test="$alignment='right'">
              <xsl:attribute name="style">
                <xsl:value-of select="'border: 1px solid #666; padding:0; margin:0 0 0 0.75em;'" />
              </xsl:attribute>
            </xsl:when>
          </xsl:choose>

          <tr>
            <td>
              <img style="margin:0; padding:0;" src="{$url}" alt="{$alt-text}">
                <xsl:if test="$height and not($height='')">
                  <xsl:attribute name="height">
                    <xsl:value-of select="$height" />
                  </xsl:attribute>
                </xsl:if>
                <xsl:if test="$width and not($width='')">
                  <xsl:attribute name="width">
                    <xsl:value-of select="$width" />
                  </xsl:attribute>
                </xsl:if>
              </img>
            </td>
          </tr>
          <tr>
            <td><xsl:apply-templates select="caption" /></td>
          </tr>
        </table>
      </xsl:otherwise>
    </xsl:choose>
      
  </xsl:template>

  <xsl:template match="image/alt-text|image/url" />

  <xsl:template match="image/caption">
    <div style="clear:both; font-size:76%; text-align:left; padding:0.5em;">
      <xsl:apply-templates />
    </div>
  </xsl:template>


  <xsl:template match="movie-node">

    <!-- Bruker variabler her også for å beholde det mest mulig likt image -->

    <xsl:variable name="url">
      <xsl:value-of select="url" />
    </xsl:variable>
 
    <!-- alt-text må ha verdi -->
    <xsl:variable name="alt-text">
      <xsl:choose>
        <xsl:when test="normalize-space(alt-text)=''">
          <xsl:value-of select="'movie'" />
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="alt-text" />
        </xsl:otherwise>
      </xsl:choose>
    </xsl:variable>

    <xsl:variable name="caption">
      <xsl:value-of select="caption" />
    </xsl:variable>
  
   <xsl:variable name="alignment">
      <xsl:choose>
        <xsl:when test="@alignment='left'">
          <xsl:value-of select="'left'" /> 
        </xsl:when>
        <xsl:when test="@alignment='center'">
          <xsl:value-of select="'center'" /> 
        </xsl:when>
        <xsl:when test="@alignment='right'">
          <xsl:value-of select="'right'" /> 
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="'left'" /><!-- venstre er default i schema -->
        </xsl:otherwise>
      </xsl:choose>
    </xsl:variable>
 
    <xsl:variable name="height">
      <xsl:choose>
        <xsl:when test="@height=''">
          <xsl:value-of select="'256'" /> 
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="@height" />
        </xsl:otherwise>
      </xsl:choose>
    </xsl:variable>

    <xsl:variable name="width">
      <xsl:choose>
        <xsl:when test="@width=''">
          <xsl:value-of select="'320'" /> 
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="@width" />
        </xsl:otherwise>
      </xsl:choose>
    </xsl:variable>
 
    <xsl:choose>
      <xsl:when test="$caption=''">
        <xsl:choose>
          <xsl:when test="$alignment='center'">
            <div style="text-align:center;">
              <object>
                <param name="src" value="{$url}"/>
                <param name="width" value="{$width}"/>
                <param name="height" value="{$height}"/>
                <param name="controller" value="true"/>
                <param name="autoplay" value="false"/>
                <embed controller="true" src="{$url}" width="{$width}" height="{$height}" autoplay="true"/>
              </object>
            </div>
          </xsl:when>
          <xsl:when test="$alignment='right'">
            <object style="float:right; padding:0; margin: 0 0 0 0.75em;">
              <param name="src" value="{$url}"/>
              <param name="width" value="{$width}"/>
              <param name="height" value="{$height}"/>
              <param name="controller" value="true"/>
              <param name="autoplay" value="false"/>
              <embed controller="true" src="{$url}" width="{$width}" height="{$height}" autoplay="true"/>
            </object>
          </xsl:when>
          <xsl:otherwise><!-- venstre er default i schema -->
            <object style="float:left; padding:0; margin: 0 0.75em 0 0;">
              <param name="src" value="{$url}"/>
              <param name="width" value="{$width}"/>
              <param name="height" value="{$height}"/>
              <param name="controller" value="true"/>
              <param name="autoplay" value="false"/>
              <embed controller="true" src="{$url}" width="{$width}" height="{$height}" autoplay="true"/>
            </object>
          </xsl:otherwise>
        </xsl:choose>
      </xsl:when>
      <xsl:otherwise>
        <!-- må bruke tabell for at bildeteksten ikke skal skli ut. -->
        <!-- Evt. må høyde og bredde settes på bilde -->
        <table style="" cellspacing="0" cellpadding="0" align="{$alignment}" width="5%">
          <xsl:choose>
            <xsl:when test="$alignment='left'">
              <xsl:attribute name="style">
                <xsl:value-of select="'border: 1px solid #666; padding:0; margin:0 0.75em 0 0'" />
              </xsl:attribute>
            </xsl:when>
            <xsl:when test="$alignment='center'">
              <xsl:attribute name="style">
                <xsl:value-of select="'border: 1px solid #666; padding:0; margin:0 0.75em;'" />
              </xsl:attribute>
            </xsl:when>
            <xsl:when test="$alignment='right'">
              <xsl:attribute name="style">
                <xsl:value-of select="'border: 1px solid #666; padding:0; margin:0 0 0 0.75em;'" />
              </xsl:attribute>
            </xsl:when>
          </xsl:choose>

          <tr>
            <td>
              <object style="margin:0; padding:0;">
                <param name="src" value="{$url}"/>
                <param name="width" value="{$width}"/>
                <param name="height" value="{$height}"/>
                <param name="controller" value="true"/>
                <param name="autoplay" value="false"/>
                <embed controller="true" src="{$url}" width="{$width}" height="{$height}" autoplay="false"/>
              </object>

            </td>
          </tr>
          <tr>
            <td><xsl:apply-templates select="caption" /></td>
          </tr>
<!--
          <tr>
            <td>Autoplay: <xsl:apply-templates select="autoplay" /></td>
          </tr>
-->
        </table>
      </xsl:otherwise>
    </xsl:choose>
      
  </xsl:template>

  <xsl:template match="flash-node">

    <!-- Bruker variabler her også for å beholde det mest mulig likt image -->

    <xsl:variable name="url">
      <xsl:value-of select="url" />
    </xsl:variable>
 
    <!-- alt-text må ha verdi -->
    <xsl:variable name="alt-text">
      <xsl:choose>
        <xsl:when test="normalize-space(alt-text)=''">
          <xsl:value-of select="'flash'" />
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="alt-text" />
        </xsl:otherwise>
      </xsl:choose>
    </xsl:variable>

    <xsl:variable name="caption">
      <xsl:value-of select="caption" />
    </xsl:variable>
  
   <xsl:variable name="alignment">
      <xsl:choose>
        <xsl:when test="@alignment='left'">
          <xsl:value-of select="'left'" /> 
        </xsl:when>
        <xsl:when test="@alignment='center'">
          <xsl:value-of select="'center'" /> 
        </xsl:when>
        <xsl:when test="@alignment='right'">
          <xsl:value-of select="'right'" /> 
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="'left'" /><!-- venstre er default i schema -->
        </xsl:otherwise>
      </xsl:choose>
    </xsl:variable>
 
    <xsl:variable name="height">
      <xsl:choose>
        <xsl:when test="@height=''">
          <xsl:value-of select="'256'" /> 
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="@height" />
        </xsl:otherwise>
      </xsl:choose>
    </xsl:variable>

    <xsl:variable name="width">
      <xsl:choose>
        <xsl:when test="@width=''">
          <xsl:value-of select="'320'" /> 
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="@width" />
        </xsl:otherwise>
      </xsl:choose>
    </xsl:variable>
 
    <xsl:choose>
      <xsl:when test="$caption=''">
        <xsl:choose>
          <xsl:when test="$alignment='center'">
            <div style="text-align:center;">
              <object>
                <param name="src" value="{$url}"/>
                <param name="width" value="{$width}"/>
                <param name="height" value="{$height}"/>
                <param name="controller" value="true"/>
                <param name="autoplay" value="false"/>
                <embed controller="true" src="{$url}" width="{$width}" height="{$height}" autoplay="false"/>
              </object>
            </div>
          </xsl:when>
          <xsl:when test="$alignment='right'">
            <object style="float:right; padding:0; margin: 0 0 0 0.75em;">
              <param name="src" value="{$url}"/>
              <param name="width" value="{$width}"/>
              <param name="height" value="{$height}"/>
              <param name="controller" value="true"/>
              <param name="autoplay" value="false"/>
              <embed controller="true" src="{$url}" width="{$width}" height="{$height}" autoplay="false"/>
            </object>
          </xsl:when>
          <xsl:otherwise><!-- venstre er default i schema -->
            <object style="float:left; padding:0; margin: 0 0.75em 0 0;">
              <param name="src" value="{$url}"/>
              <param name="width" value="{$width}"/>
              <param name="height" value="{$height}"/>
              <param name="controller" value="true"/>
              <param name="autoplay" value="false"/>
              <embed controller="true" src="{$url}" width="{$width}" height="{$height}" autoplay="false"/>
            </object>
          </xsl:otherwise>
        </xsl:choose>
      </xsl:when>
      <xsl:otherwise>
        <!-- må bruke tabell for at bildeteksten ikke skal skli ut. -->
        <!-- Evt. må høyde og bredde settes på bilde -->
        <table style="" cellspacing="0" cellpadding="0" align="{$alignment}" width="5%">
          <xsl:choose>
            <xsl:when test="$alignment='left'">
              <xsl:attribute name="style">
                <xsl:value-of select="'border: 1px solid #666; padding:0; margin:0 0.75em 0 0'" />
              </xsl:attribute>
            </xsl:when>
            <xsl:when test="$alignment='center'">
              <xsl:attribute name="style">
                <xsl:value-of select="'border: 1px solid #666; padding:0; margin:0 0.75em;'" />
              </xsl:attribute>
            </xsl:when>
            <xsl:when test="$alignment='right'">
              <xsl:attribute name="style">
                <xsl:value-of select="'border: 1px solid #666; padding:0; margin:0 0 0 0.75em;'" />
              </xsl:attribute>
            </xsl:when>
          </xsl:choose>

          <tr>
            <td>
              <object style="margin:0; padding:0;">
                <param name="src" value="{$url}"/>
                <param name="width" value="{$width}"/>
                <param name="height" value="{$height}"/>
                <param name="controller" value="true"/>
                <param name="autoplay" value="false"/>
                <embed controller="true" src="{$url}" width="{$width}" height="{$height}" autoplay="false"/>
              </object>

            </td>
          </tr>
          <tr>
            <td><xsl:apply-templates select="caption" /></td>
          </tr>
<!--
          <tr>
            <td>Autoplay: <xsl:apply-templates select="autoplay" /></td>
          </tr>
-->
        </table>
      </xsl:otherwise>
    </xsl:choose>
      
  </xsl:template>

<!-- Slutt hack pga. image-node  til image konvertering -->

  <!-- ================================================================= -->
  <!-- Some help methods                                                 -->
  <!-- ================================================================= -->

  <xsl:template name="generate-page-menu">
    <table width="100%" cellpadding="2" cellspacing="2" border="0">
      <tbody>
        <xsl:for-each select="page">
          <xsl:call-template name="page" />
        </xsl:for-each>
      </tbody>
    </table>
  </xsl:template>
            

  <xsl:template name="page">
    <xsl:param name="level" select="1" />

    <xsl:variable name="path">
      <xsl:call-template name="xpath" />
    </xsl:variable>
      
    <xsl:variable name="link">
      <xsl:call-template name="construct-link">
        <xsl:with-param name="link-parameters-csv" select="concat('page=', $path)" />
      </xsl:call-template>
    </xsl:variable>
    <tr>
      <xsl:variable name="css-class">
        <xsl:choose>
          <xsl:when test="$level=1" >navsection</xsl:when>
          <xsl:when test="$level=2">navsubsection</xsl:when>
          <xsl:when test="$level=3">navsubsubsection</xsl:when>
          <xsl:otherwise><xsl:value-of select="$level" /></xsl:otherwise>
        </xsl:choose>
      </xsl:variable>
      <xsl:variable name="href-css-class">
        <xsl:value-of select="$css-class" />
        <xsl:if test="processing-instruction('page')='active'">
          <xsl:value-of select="'-active'" />
        </xsl:if>
      </xsl:variable>
      <td class="{$css-class}"> <!-- class? what to do ? -->
        <a href="{$link}" class="{$href-css-class}"><xsl:value-of select="title"/></a>
      </td>
    </tr>
    <xsl:if test="processing-instruction('page')='active' or processing-instruction('menu')='active'">
      <xsl:for-each select="children/page">
        <xsl:call-template name="page">
          <xsl:with-param name="level" select="$level+1" />
        </xsl:call-template>
      </xsl:for-each>
    </xsl:if>
    
  </xsl:template>

</xsl:stylesheet>
