<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"  
  xmlns:ctx="xalan://org.springframework.web.servlet.support.RequestContext" 
  xmlns:uio="http://www.uio.no/vortex/xsl-parameters" 
  exclude-result-prefixes="#default ctx uio">


  <xsl:template name="insert-createable-elements">
    <xsl:param name="element-list" />
    <xsl:variable name="cur">
      <xsl:choose>
        <xsl:when test="substring-before($element-list, '|') = ''">
          <xsl:value-of select="$element-list"/>
        </xsl:when>
        <xsl:otherwise>
          <xsl:value-of select="substring-before($element-list, '|')"/>
        </xsl:otherwise>
      </xsl:choose>
    </xsl:variable>

    <xsl:variable name="rest" select="substring-after($element-list, '|')"/>

    <xsl:variable name="code" select="concat('xmledit.new.', $cur)"/>
    <xsl:variable name="default" select="concat($newPrefix,' ', $cur, '...')"/>
    <xsl:variable name="value" select="ctx:getMessage($uio:RequestContext, $code, $default)" />

    <!-- Need to check if the elements should be inserted directly on a given position-->
    <xsl:choose>
      <xsl:when test="not($new-element-placement = '')">
        <li><input type="button" onclick="newElementAt('{$cur}','{$new-element-placement}')" value="{$value}"> </input></li>
      </xsl:when>
      <xsl:otherwise>
        <li><input type="button" onclick="newElement('{$cur}')" value="{$value}"> </input></li>
      </xsl:otherwise>
    </xsl:choose>

    <xsl:if test="$rest != ''">
      <xsl:call-template name="insert-createable-elements">
        <xsl:with-param name="element-list"><xsl:value-of select="$rest"/></xsl:with-param>
      </xsl:call-template>
    </xsl:if>
  </xsl:template>


  <xsl:template name="finish-button">
    <div class="buttons">
      <ul class="finishButton">
        <li><input type="button" value="{$quitButton}" onclick="submitAction('{$finishEditingServiceURL}')"> </input></li>
      </ul>
    </div>
  </xsl:template>


  <xsl:template name="default-buttons">
    <div class="buttons">
      <ul class="moveDelete">
        <li><input type="button" value="{$moveButton}" onclick="submitAction('{$moveElementServiceURL}')"> </input></li>
        <li><input type="button" value="{$deleteButton}" onclick="submitAction('{$deleteElementServiceURL}')"> </input></li>
      </ul>
      <ul class="finishButton">
        <li><input type="button" value="{$quitButton}" onclick="submitAction('{$finishEditingServiceURL}')"> </input></li>
      </ul>&#160;
      <ul class="newButtons">
        <xsl:call-template name="insert-createable-elements">
          <xsl:with-param name="element-list">
            <xsl:value-of select="substring-before(substring-after($movable-or-deletable-elements, '('), ')')"/>
          </xsl:with-param>
        </xsl:call-template>
      </ul>
    </div>
  </xsl:template>


  <xsl:template name="new-element-buttons">
    <div class="buttons">
      <ul class="insertButtons">
        <li><input type="button" value="{$insertElementButton}" onclick="doconfirm('true', 'jump-expanded')"> </input></li>
        <li><input type="button" value="{$cancelButton}" onclick="doconfirm('false', 'jump-expanded')"> </input></li>
      </ul>
    </div>
  </xsl:template>
  

  <xsl:template name="move-buttons">
    <div class="buttons">
      <ul class="moveButtons">
        <li><input type="button" value="{$confirmMoveButton}" onclick="doconfirm('true', 'moveit')"> </input></li>
        <li><input type="button" value="{$cancelButton}" onclick="doconfirm('false', 'moveit')"> </input></li>
      </ul>
    </div>
  </xsl:template>

</xsl:stylesheet>
