<?xml version="1.0"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<!-- $Id$ -->
<page:page xmlns:c="http://apache.org/cocoon/templates/jx/1.0" 
           xmlns="http://www.w3.org/1999/xhtml" 
           xmlns:i18n="http://apache.org/cocoon/i18n/2.1" 
           xmlns:page="http://apache.org/cocoon/lenya/cms-page/1.0"
           xmlns:jx="http://apache.org/cocoon/templates/jx/1.0"
           >
           
  <page:title>
    <i18n:text>Copy Document</i18n:text>
  </page:title>
  <page:body>
    <div class="lenya-box">
      <div class="lenya-box-title">
        <i18n:text>Copy Document</i18n:text>
      </div>
      <div class="lenya-box-body">
        <form method="get" action="" id="form-copy_document">
          <input type="hidden" name="lenya.continuation" value="${continuation.id}"/>
          <input type="hidden" name="lenya.usecase" value="${request.getParameter('lenya.usecase')}"/>
          <table class="lenya-table-noborder">
            <tr>
              <td>
                <jx:import uri="fallback://lenya/modules/usecase/templates/messages.jx"/>
              </td>
            </tr>
            <tr>
              <td>
                <br/>
                <i18n:translate>
                  <i18n:text key="copy-doc-to-clip?"/>
                  <i18n:param>${usecase.getParameter('document').getLink().getLabel()}</i18n:param>
                </i18n:translate>
              </td>
            </tr>
            <tr>
              <td>
                <br/>
                <input i18n:attr="value" type="submit" name="submit" value="Copy"/>
                &#160;
                <input i18n:attr="value" type="submit" name="cancel" value="Cancel"/>
              </td>
            </tr>
          </table>
        </form>
      </div>
    </div>
  </page:body>
</page:page>