<?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:jx="http://apache.org/cocoon/templates/jx/1.0" 
  xmlns:page="http://apache.org/cocoon/lenya/cms-page/1.0" 
  xmlns="http://www.w3.org/1999/xhtml" 
  xmlns:i18n="http://apache.org/cocoon/i18n/2.1" >
  
  <page:title>
    <jx:choose>
      <jx:when test="${usecase.getParameter('doctype') == null}">
        <i18n:translate>
          <i18n:text>New Document</i18n:text>
        </i18n:translate>
      </jx:when>
      <jx:otherwise>
        <i18n:translate>
          <i18n:text>New ... Document</i18n:text>
          <i18n:param><i18n:text>resourceType-<jx:out value="${usecase.getParameter('doctype')}"/></i18n:text></i18n:param>
        </i18n:translate>
      </jx:otherwise>
    </jx:choose>
  </page:title>
  <page:body>
    <div class="lenya-box">
      <div class="lenya-box-title">
        <i18n:translate>
          <i18n:text>New Document</i18n:text>
        </i18n:translate>
      </div>
      
      <jx:import uri="fallback://lenya/modules/usecase/templates/messages.jx"/>
      
      <div class="lenya-box-body">
        <form method="post" id="form-create">
          <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">
            <jx:import uri="fallback://lenya/modules/sitemanagement/usecases/site/createFields.jx"/>
            <tr>
              <td/>
              <td>
                <input i18n:attr="value" type="submit" name="submit" value="Create"/>
                &#160;
                <input i18n:attr="value" type="submit" name="cancel" value="Cancel"/>
              </td>
            </tr>
          </table>
        </form>
      </div>
    </div>
  </page:body>
</page:page>
