<?xml version="1.0" encoding="UTF-8"?>
<!--
	* 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.
-->

<ui:composition xmlns:c="http://java.sun.com/jsp/jstl/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:tc="http://myfaces.apache.org/tobago/component">
	
	<c:set var="replaceGoto" value="true" />
	<c:if test="${empty gotoSource}" >
		<c:set var="replaceGoto" value="false" />
	</c:if>	
	
	<c:choose>
		<!-- replace goto -->
		<c:when test="${replaceGoto}">
			<ui:include src="${gotoSource}" />
		</c:when>
		<!-- default goto -->
		<c:otherwise>
		
			<!-- layout information -->
			<c:set var="columns" value="auto" />
			<c:forEach var="i" begin="0" end="${controller.size}" step="1">
				<c:if test="${i > 0}">
					<c:set var="columns" value="${columns};auto;auto" />
				</c:if>
			</c:forEach>
			<c:set var="columns" value="${columns};*" />
			
			<!-- navigation -->
			<tc:panel>
				<f:facet name="layout">
					<tc:gridLayout rows="auto" columns="${columns}" />
				</f:facet>
			
				<c:forEach var="index" begin="0" end="${controller.size}" step="1">
					<c:if test="${index > 0}">
						<tc:out value=">>" />
					</c:if>
					<c:set var="isButtonDisabled" value="false" />
					<c:if test="${(i > controller.index) or (controller.backwardNavigationStrategy == 'notallowed')}">
						<c:set var="isButtonDisabled" value="true" />
					</c:if>
					<tc:button action="${controller.gotoStep}"
						actionListener="${controller.gotoStep}"
						disabled="${isButtonDisabled}"
						immediate="${controller.backwardNavigationImmediate}"
						label="${index + 1}">
						<!--
						<tc:attribute name="step" value="${index}" />
						-->
						<f:param name="step" value="${index}" />
					</tc:button>
				</c:forEach>
			
				<tc:cell />
			
			</tc:panel>
		</c:otherwise>
	</c:choose>

</ui:composition>
