<?xml version="1.0" encoding="iso-8859-1"?>

<!--
        #
        #  Copyright (C) 2005 Vanbelle Edouard
        #
        #  This program is free software; you can redistribute it and/or
        #  modify it under the terms of the GNU General Public License
        #  as published by the Free Software Foundation; either version 2
        #  of the License, or (at your option) any later version.
        #
        #  This program is distributed in the hope that it will be useful,
        #  but WITHOUT ANY WARRANTY; without even the implied warranty of
        #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        #  GNU General Public License for more details.
        #
        #  You should have received a copy of the GNU General Public License
        #  along with this program; if not, write to the Free Software
        #  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
        #
  -->

<xsl:stylesheet version="1.0" 
	xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
	xmlns:unused="http://www.vanbelle.fr/xml/unused"
	unused:xmlns="http://www.w3.org/1999/xhtml"

	exclude-result-prefixes="unused"
> 
	<xsl:output 
		encoding	= "utf-8" 
		method		= "html" 
		indent		= "yes" 
		doctype-public	= "-//W3C//DTD HTML 4.01 Transitional//EN" 
		unused:doctype-public  = "-//W3C//DTD XHTML 4.01//EN"
		standalone	= "yes"
	/>

	<!-- loading translation system -->
	<xsl:variable name="lang" select="document('lang/default.xml.fr')/messages/message" />

	<xsl:strip-space elements="*" />

	<xsl:variable name="base">/.libs/themes/<xsl:value-of select='//autoIndex/display/@theme'/></xsl:variable>

	<xsl:variable name="selected-file" select="//autoIndex/files/file[ @selected='true' ]" />
	<xsl:variable name="format"        select="//autoIndex/display/@format" />
	<xsl:variable name="title">
		<xsl:choose>
		<xsl:when test="count( $selected-file)">
			<xsl:apply-templates select="$selected-file" mode="title"/>
		</xsl:when>
		<xsl:otherwise>
			<xsl:value-of select="//autoIndex/title"/>
		</xsl:otherwise>
		</xsl:choose>
	</xsl:variable>

	<xsl:template match="file" mode="title">
		<xsl:param name="nb-before" select="count( preceding-sibling::*[@slideshow = 'true'])"/>
		<xsl:param name="nb-after"  select="count( following-sibling::*[@slideshow = 'true'])"/>
		<xsl:value-of select="$nb-before + 1" /> / <xsl:value-of select="$nb-before + 1 + $nb-after" /> : <xsl:value-of select="@name"/>
	</xsl:template>
	
	<!-- ###################################################################################################################### -->
	<xsl:template match="/autoIndex">
	<html>
		<head>
			<xsl:if test="display/@timeout != ''">
				<xsl:apply-templates select="$selected-file" mode="refresh-next">
					<xsl:with-param name="timeout" select="display/@timeout"/>
				</xsl:apply-templates>
			</xsl:if>

			<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
			<link rel="icon" href="/favicon.ico" />

			<link rel="stylesheet" href="{$base}/css/style.css" type="text/css" media="screen" charset="utf-8" />
			<script src="{$base}/scripts/prototype.js" type="text/javascript"></script>
			<script src="{$base}/scripts/lightbox.js"  type="text/javascript"></script>
			<script src="{$base}/scripts/swfobject.js" type="text/javascript"></script>

			<!-- link rel="stylesheet" href="{$base}/default.css" alternate="no" / -->
			<!-- script src="{$base}/default.js" type="text/javascript"></script -->
			<title><xsl:value-of select="$title" /></title>
		</head>
		<body>
		   <xsl:apply-templates select="files" mode="folder" />
		</body>
		
	</html>
        </xsl:template>

	
	<!-- ###################################################################################################################### -->
	<xsl:template match="files" mode="folder">

		<div class="top">
		<h1 style="float: left;"><span class="company"><xsl:value-of select="$title" /></span></h1>
	        <div style="float: right;">
		  <a href="{$base}/prefs/">Preferences</a> - <a href="http://www.xmlautoindex.org/">xmlAutoIndex</a>
		</div>

		<div style="clear: both;" />

		<div style="float: left;">
			<div style="float: left; height: 20px; width: 10em; margin: 3px;" >
			<a href="..">
				<img style="border: 0px; vertical-align:middle;" src="{$base}/images/folder.png"/> ..
			  <!--xsl:call-template name="display-name">
			    <xsl:with-param name="name"><xsl:value-of select="@name" /></xsl:with-param>
			  </xsl:call-template-->
			</a> 
			</div>

		  <xsl:text> </xsl:text>
		  <xsl:apply-templates select="file[mime-type/@name='httpd/unix-directory']" mode="folder"/>
		
		</div>
		</div>
		
		<br/><br/>
	
		<div class="content">
		  <div id="myGallery">
			<xsl:apply-templates select="file[@meta='true']" mode="link"/>
	          </div>
		</div>

		<xsl:apply-templates select="file[@meta='true']" mode="display"/>
		
	</xsl:template>

	<xsl:template match="file" mode="folder">
		<div style="float: left; height: 20px; width: 10em; margin: 3px;" >
		<a href="{@link}" style="border:0;">
		  	<img style="border: 0px; vertical-align:middle;" src="{$base}/images/folder.png"/>
			<xsl:call-template name="display-name">
				<xsl:with-param name="name"><xsl:value-of select="@name" /></xsl:with-param>
			</xsl:call-template>
		  <!--xsl:call-template name="display-name">
		    <xsl:with-param name="name"><xsl:value-of select="@name" /></xsl:with-param>
		  </xsl:call-template-->
		</a> 
		</div>
	</xsl:template>

	<xsl:template match="file" mode="link">
		<div>
			<xsl:if test="(position() mod 2) = 1">
				<xsl:attribute name="style">margin-bottom: 35px; text-align: right;</xsl:attribute>
			</xsl:if>
			<xsl:if test="(position() mod 2) = 0">
				<xsl:attribute name="style">margin-bottom: 35px; text-align: left;</xsl:attribute>
			</xsl:if>

			<div>

				<xsl:if test="(position() mod 2) = 1">
					<xsl:attribute name="style">margin-left: 10px; float: right;</xsl:attribute>
				</xsl:if>
				<xsl:if test="(position() mod 2) = 0">
					<xsl:attribute name="style">margin-right: 10px; float: left;</xsl:attribute>
				</xsl:if>

				<xsl:choose>
				  <xsl:when test="previews/preview[@format='size2']/@href != ''">
					<a href="#lightbox{position()}" rel="lightbox{position()}" class="lbOn">
						<img src="{previews/preview[@format='size0']/@href}" />
					</a><br/>
				  </xsl:when>
				  <xsl:when test="previews/preview[@format='flv']/@href != ''">
					<a href="#lightbox{position()}" rel="lightbox{position()}" class="lbOn">
						<img src="{previews/preview[@format='thumb']/@href}" /> <!-- TODO: do size0 -->
					</a><br/>
				  </xsl:when>
				  <xsl:otherwise>
				   oops
				  </xsl:otherwise>

				</xsl:choose>
					<div class="toolbar" style="padding: 6px; text-align: right;">
  					  <a href="{previews/preview[@format='download']/@href}" title="download {@name}">
					    <img src="{$base}/images/save.png" alt="download" style="border: 0px;"/></a>
					</div>

			</div>

			<h3>
			    <xsl:value-of select="@name" /> 
			</h3>

			
			<div>
				<xsl:if test="(position() mod 2) = 1">
					<xsl:attribute name="style">margin-left: 10px; float: right;</xsl:attribute>
				</xsl:if>
				<xsl:if test="(position() mod 2) = 0">
					<xsl:attribute name="style">margin-right: 10px; float: left;</xsl:attribute>
				</xsl:if>

				<div id="display_{position()}">
				
				  <a href="#" title="edit" onclick="document.getElementById('edit_{position()}').style.display='block'; document.getElementById('display_{position()}').style.display='none'; return false;">
				    <img src="{$base}/images/pencil.png" border="0"/>
				  </a>
				  <br/>
				  	<span id="display_content_{position()}"/>
<!--
					blabla blabla blabla blabla blabla blabla blabla blabla blabla<br/>
					blabla blabla blabla blabla blabla blabla blabla blabla<br/>
					blabla blabla blabla blabla blabla blabla blabla blabla blabla<br/>
					blabla blabla blabla blabla blabla blabla blabla blabla<br/>
					blabla blabla blabla blabla blabla blabla blabla blabla<br/>
					blabla blabla blabla blabla blabla blabla blabla blabla blabla<br/>
					blabla blabla blabla blabla blabla blabla blabla blabla blabla<br/>
					blabla blabla blabla blabla blabla blabla blabla blabla<br/>
					blabla blabla blabla blabla blabla blabla blabla blabla blabla<br/>
					blabla blabla blabla blabla blabla blabla blabla blabla<br/>
					blabla blabla blabla blabla blabla blabla blabla blabla blabla<br/>
					blabla blabla blabla blabla blabla blabla blabla blabla<br/>
					blabla blabla blabla blabla blabla blabla blabla blabla<br/>
					blabla blabla blabla blabla blabla blabla blabla blabla blabla<br/>
					blabla blabla blabla blabla blabla blabla blabla blabla blabla<br/>
					blabla blabla blabla blabla blabla blabla blabla blabla<br/>
					blabla blabla blabla blabla blabla blabla blabla blabla blabla<br/>
					blabla blabla blabla blabla blabla blabla blabla blabla<br/>
					blabla blabla blabla blabla blabla blabla blabla blabla blabla<br/>
					blabla blabla blabla blabla blabla blabla blabla blabla<br/>
					blabla blabla blabla blabla blabla blabla blabla blabla<br/>
					blabla blabla blabla blabla blabla blabla blabla blabla blabla<br/>
					blabla blabla blabla blabla blabla blabla blabla blabla blabla<br/>
					blabla blabla blabla blabla blabla blabla blabla blabla<br/>

					bla !<br/> -->
				</div>

				<div id="edit_{position()}" style="display: none">
				  <a href="#" title="close" onclick="document.getElementById('display_{position()}').style.display='block'; document.getElementById('edit_{position()}').style.display='none'; return false;">
				    <img src="{$base}/images/no.png" border="0"/>
				  </a>
				  <br/>

					nom: <input type="text" name="edit_name_{position()}" /> <br/>
					<textarea name="edit_text_{position()}" rows="16" cols="50">
blabla blabla
blabla ?</textarea> <br/>
					<input type="button" value="modifier" onclick="alert('in developpement...'); return false;" /> <br/>
				</div>
			</div>

			<div style="clear: both;"><br/></div>
		</div>
	</xsl:template>

	<xsl:template match="file" mode="display">
		<xsl:choose>
		  <xsl:when test="previews/preview[@format='size2']/@href != ''">
			<div id="lightbox{position()}" class="leightbox">
			    <a href="#" class="lbAction" rel="deactivate">
			      <img src="{previews/preview[@format='size2']/@href}" style="border: 0px;"/>
			    </a>
			</div>
		  </xsl:when>
		  <xsl:when test="previews/preview[@format='flv']/@href != ''">
			<div id="lightbox{position()}" class="leightbox">
			  <p>
			    <div id="flv-player{position()}">download flash player to watch movie</div>
			    <script type="text/javascript">
			          var player = new SWFObject("<xsl:value-of select="$base"/>/flv-player.swf", "single", "352", "280", "7");
				  player.addVariable("file","<xsl:value-of select="previews/preview[@format='flv']/@href" />");
				  player.addParam("allowfullscreen","true");
				  //player.addVariable("backcolor","0x00000");
				  //player.addVariable("frontcolor","0xEECCDD");
				  //player.addVariable("lightcolor","0xCC0066");
				  //player.addVariable("image","<xsl:value-of select="previews/preview[@format='size0']/@href" />"); <!-- TODO: make available size0 -->
				  player.addVariable("image","<xsl:value-of select="previews/preview[@format='thumb']/@href" />"); 
				  player.write("flv-player<xsl:value-of select="position()" />");
			    </script>
			  </p>
			  <p class="footer">
			    <a href="#" class="lbAction" rel="deactivate">Close</a>
			  </p>
			</div>
		  </xsl:when>
		</xsl:choose>
	</xsl:template>


	<!-- ###################################################################################################################### -->
	<xsl:template name="display-name">
		<xsl:param name="name"/>
		<xsl:choose>
			<xsl:when test="string-length( $name) &gt; 20">
				<xsl:value-of select="substring( $name, 1, 16)" />...
			</xsl:when>
			<xsl:otherwise>
				<xsl:value-of select="$name" /> 
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>

	<xsl:template name="display-directoryname">
		<xsl:param name="name"/>
		<xsl:choose>
			<xsl:when test="string-length( $name) &gt; 18">
				...<xsl:value-of select="substring( $name, string-length( $name) - 16, 17)" />
			</xsl:when>
			<xsl:otherwise>
				<xsl:value-of select="$name" /> 
			</xsl:otherwise>
		</xsl:choose>
	</xsl:template>

</xsl:stylesheet>


