<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE xsl:stylesheet [
<!ENTITY nbsp "&#160;">
<!ENTITY egrave "&#232;">
<!ENTITY euro "&#8364;">
<!ENTITY agrave "&#224;">
<!ENTITY eacute "&#233;">
]>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.xemelios.org/namespaces#cg-1.0" xmlns:n="http://www.xemelios.org/namespaces#cg-1.0" xmlns:added="http://projets.admisource.gouv.fr/xemelios/namespaces#added" version="2.0">
    <!-- Paramètres de sortie -->
    <xsl:character-map name="accents">
        <xsl:output-character character="à" string="&amp;#224;"/>
        <xsl:output-character character="é" string="&amp;#233;"/>
        <xsl:output-character character="è" string="&amp;#232;"/>
        <xsl:output-character character="ê" string="&amp;#234;"/>
        <xsl:output-character character="ë" string="&amp;#235;"/>
        <xsl:output-character character="î" string="&amp;#238;"/>
        <xsl:output-character character="ï" string="&amp;#239;"/>
        <xsl:output-character character="ô" string="&amp;#244;"/>
        <xsl:output-character character="ù" string="&amp;#249;"/>
    </xsl:character-map>
    <xsl:output method="xhtml" indent="yes" use-character-maps="accents" encoding="ISO-8859-1"/>
    <xsl:decimal-format name="decformat" decimal-separator="," grouping-separator=" " digit="#" pattern-separator=";" NaN="NaN" minus-sign="-"/>
    
    <!-- Inclusion des XSL externes -->
    <xsl:include href="./common-xsl/Style.xsl"/>
    <xsl:include href="./common-xsl/Error.xsl"/>
    <xsl:include href="./common-xsl/Navigate.xsl"/>
    <xsl:include href="./common-xsl/Header.xsl"/>
    <xsl:include href="./common-xsl/Number.xsl"/>
    
    <!-- Paramètres d'entrée -->
    <xsl:param name="show.formulaire"/>
    <xsl:param name="browser-destination"/>
    
    <!-- Paramètres d'entrée de la liste de résultat -->
    <xsl:param name="numTypePiece">0</xsl:param>
    
    <!-- Paramètres d'erreur -->
    <xsl:param name="error.message">nomessage</xsl:param>
    
    <!-- Variables -->
    <xsl:variable name="page-format" select="paysage"/>
    <xsl:variable name="NumPage" select="/n:CompteGestion/n:FichesBudgetaires/n:PageFichesBudgetaires/n:Pied/@NumPage"/>
    <xsl:variable name="isLastPage" select="/n:CompteGestion/n:FichesBudgetaires/n:PageFichesBudgetaires/@added:isLastPage"/>
    <xsl:variable name="Entete">
        <xsl:copy-of select="/n:CompteGestion/n:Entete"/>
    </xsl:variable>    
    
    <!-- pour eviter les sorties parasites de tags non matches -->
    <xsl:template match="*"/>
    
    <xsl:template match="/n:CompteGestion">
        <html>
            <head>
                <title>Fiches Budg&eacute;taires</title>
                <xsl:call-template name="style"/>
            </head>
            <body width="100%">
                <xsl:if test="$error.message!='nomessage'">
                    <xsl:attribute name="onload">javascript:showDialog('<xsl:value-of select="$error.message"/>');</xsl:attribute>
                </xsl:if>
                <xsl:call-template name="Error"><!--xsl:with-param name="error.message" select="$error.message"/--></xsl:call-template>
                <xsl:call-template name="navigate">
                    <xsl:with-param name="docId">compteGestion</xsl:with-param>
                    <xsl:with-param name="etatId">FichesBudgetaires</xsl:with-param>
                    <xsl:with-param name="elementId">PageFichesBudgetaires</xsl:with-param>
                    <xsl:with-param name="NumPage" select="$NumPage"/>
                    <xsl:with-param name="isLastPage" select="$isLastPage"/>
                    <xsl:with-param name="Entete" select="$Entete"/>
                    <xsl:with-param name="show.formulaire" select="$show.formulaire"/>
                    <xsl:with-param name="show.depense.recette" select="1"/>
                    <xsl:with-param name="element.path">n:EnteteFichesBudgetaires</xsl:with-param>
                </xsl:call-template>
                <xsl:call-template name="header">
                    <xsl:with-param name="Entete" select="$Entete"/>
                    <xsl:with-param name="Titre.Plus">
                        <!--h1>Fiche Budg&eacute;taire du <xsl:choose><xsl:when test="string-length(//n:FichesBudgetaires/n:PageFichesBudgetaires/n:EnteteFichesBudgetaires/@Date2)>0"><xsl:call-template name="iso-date"><xsl:with-param name="datebrute" select="//n:FichesBudgetaires/n:PageFichesBudgetaires/n:EnteteFichesBudgetaires/@Date2"/></xsl:call-template></xsl:when><xsl:otherwise>01/12/<xsl:value-of select="/n:CompteGestion/n:Entete/n:Infos/n:Collectivite/@Exercice"/></xsl:otherwise></xsl:choose> au <xsl:choose><xsl:when test="string-length(//n:FichesBudgetaires/n:PageFichesBudgetaires/n:EnteteFichesBudgetaires/@Date3)>0"><xsl:call-template name="iso-date"><xsl:with-param name="datebrute" select="//n:FichesBudgetaires/n:PageFichesBudgetaires/n:EnteteFichesBudgetaires/@Date3"/></xsl:call-template></xsl:when><xsl:otherwise>31/12/<xsl:value-of select="/n:CompteGestion/n:Entete/n:Infos/n:Collectivite/@Exercice"/></xsl:otherwise></xsl:choose></h1-->
                        <!--h1>Fiche Budg&eacute;taire <xsl:value-of select="lower-case($Entete//n:DateGestion[1]/@DateGestion)"/></h1-->
                        <h1>Fiche Budg&eacute;taire <xsl:call-template name="older.date"><xsl:with-param name="dates" select="$Entete//n:DateGestion/@DateGestion"/></xsl:call-template></h1>
                        <h2><xsl:value-of select="//n:FichesBudgetaires/n:PageFichesBudgetaires/n:EnteteFichesBudgetaires/@ChampEntete"/></h2>
                        <h3><xsl:value-of select="//n:FichesBudgetaires/n:PageFichesBudgetaires/n:EnteteFichesBudgetaires/@SectionNatureOperation"/></h3>
                    </xsl:with-param>
                </xsl:call-template>
                <xsl:call-template name="mainTable">
                    <xsl:with-param name="el" select="/n:CompteGestion/n:FichesBudgetaires/n:PageFichesBudgetaires"/>
                    <xsl:with-param name="CodRD" select="//n:EnteteFichesBudgetaires/@CodRD"/>
                </xsl:call-template>
                <p>
                    <center>Page <xsl:choose><xsl:when test="//@added:LastPageEtat"><xsl:value-of select="//n:Pied/@NumPage"/> / <xsl:value-of select="//@added:LastPageEtat"/></xsl:when><xsl:otherwise>- <xsl:value-of select="//n:Pied/@NumPage"/></xsl:otherwise></xsl:choose></center>
                </p>
                <center>__________________________________________</center>
                <xsl:call-template name="navigate">
                    <xsl:with-param name="docId">compteGestion</xsl:with-param>
                    <xsl:with-param name="etatId">FichesBudgetaires</xsl:with-param>
                    <xsl:with-param name="elementId">PageFichesBudgetaires</xsl:with-param>
                    <xsl:with-param name="NumPage" select="$NumPage"/>
                    <xsl:with-param name="isLastPage" select="$isLastPage"/>
                    <xsl:with-param name="Entete" select="$Entete"/>
                    <xsl:with-param name="show.formulaire" select="$show.formulaire"/>
                    <xsl:with-param name="show.depense.recette" select="1"/>
                    <xsl:with-param name="element.path">n:EnteteFichesBudgetaires</xsl:with-param>
                </xsl:call-template>
            </body>
        </html>
    </xsl:template>
    
    <xsl:template name="mainTable">
        <xsl:param name="el" />
        <xsl:param name="CodRD"/>
        <table width="100%" class="bordered" id="main">
            <colgroup>
                <col width="12%"/>
                <col width="30%"/>
                <col width="12%"/>
                <col width="16%"/>
                <col width="16%"/>
                <col width="5%"/>
                <col width="9%"/>
            </colgroup>
            <thead>
                <tr>
                    <td class="titre bold center bordered">Date de la<br/>P.E.C.</td>
                    <td class="titre bold center bordered">Référence de pièce</td>
                    <td class="titre bold center bordered">Date de solde<br/>de la pièce</td>
                    <td class="titre bold center bordered">Montant des<br/>émissions</td>
                    <td class="titre bold center bordered">Montant des<br/>annulations</td>
                    <td class="titre bold center bordered">Type Op.<br/>(O/R)</td>
                    <td class="titre bold center bordered">Observations</td>
                </tr>
            </thead>
            <tbody>
                <xsl:for-each select="$el/n:LigneFichesBudgetaires">
                    <xsl:variable name="NumeroTypePiece" select="@NumeroTypePiece"/>
                    <tr>
                        <xsl:choose>
                            <xsl:when test="$numTypePiece != '0' and @NumeroTypePiece=$numTypePiece">
                                <xsl:attribute name="id">highlighted</xsl:attribute>
                            </xsl:when>
                            <xsl:otherwise>
                                <xsl:choose>
                                    <xsl:when test="(position() mod 2) = 0">
                                        <xsl:attribute name="id">colorised1</xsl:attribute>
                                    </xsl:when>
                                    <xsl:otherwise>
                                        <xsl:attribute name="id">colorised2</xsl:attribute>
                                    </xsl:otherwise>
                                </xsl:choose>
                            </xsl:otherwise>
                        </xsl:choose>
                        <xsl:choose>
                            <xsl:when test="starts-with(@NumeroTypePiece,'Total')">
                                <td class="bordureRight">&nbsp;</td>
                                <td class="bordureRight right"><xsl:call-template name="iso-date"><xsl:with-param name="datebrute" select="@DPEC"/></xsl:call-template><xsl:value-of select="@NumeroTypePiece"/></td>
                            </xsl:when>
                            <xsl:when test="$CodRD='D' or $CodRD='R'">
                                <td class="center bordureRight"><xsl:call-template name="iso-date"><xsl:with-param name="datebrute" select="@DPEC"/></xsl:call-template></td>
                                <td class="bordureRight right">
                                    <xsl:variable name="etat">PES_DepenseAller</xsl:variable>
                                    <xsl:variable name="element">BordereauDepense</xsl:variable>
                                    <xsl:variable name="id.pce.decoupe" select="tokenize(@NumeroTypePiece,' ')"/>
                                    <xsl:variable name="tab.length" select="count($id.pce.decoupe)"/>
                                    <xsl:element name="a">
                                        <xsl:attribute name="href">
                                            <xsl:text disable-output-escaping="yes">xemelios:/customLink?srcDocId=compteGestion&amp;srcEtatId=FichesBudgetaires&amp;srcElementId=PageFichesBudgetaires&amp;srcCollectivite=</xsl:text><xsl:value-of select="$Entete//n:Collectivite/@Siret"/>
                                            <xsl:text disable-output-escaping="yes">&amp;srcBudget=</xsl:text><xsl:value-of select="$Entete//n:Collectivite/@CodeBudget"/>
                                            <xsl:text disable-output-escaping="yes">&amp;numeroTypePiece=</xsl:text><xsl:value-of select="$NumeroTypePiece"/>
                                            <xsl:text disable-output-escaping="yes">&amp;codRD=</xsl:text><xsl:value-of select="$CodRD"/>
                                            <xsl:text disable-output-escaping="yes">&amp;mtEmis=</xsl:text><xsl:value-of select="@MtEmis"/>
                                            <xsl:text disable-output-escaping="yes">&amp;mtAnn=</xsl:text><xsl:value-of select="@MtAnn"/>
                                            <xsl:text disable-output-escaping="yes">&amp;exercice=</xsl:text><xsl:value-of select="$Entete//n:Infos/n:Collectivite/@Exercice"/>
                                            <xsl:text disable-output-escaping="yes">&amp;mandatId=</xsl:text><xsl:value-of select="$id.pce.decoupe[count($id.pce.decoupe)]"/>
                                            <xsl:text disable-output-escaping="yes">&amp;xsl:param=(mandatId,</xsl:text><xsl:value-of select="$id.pce.decoupe[count($id.pce.decoupe)]"/><xsl:text>)</xsl:text>
                                        </xsl:attribute>
                                        <xsl:value-of select="@NumeroTypePiece"/>
                                    </xsl:element>
                                </td>
                            </xsl:when>
                            <xsl:otherwise>
                                <td class="center bordureRight"><xsl:call-template name="iso-date"><xsl:with-param name="datebrute" select="@DPEC"/></xsl:call-template></td>
                                <td class="bordureRight right"><xsl:value-of select="@NumeroTypePiece"/></td>
                            </xsl:otherwise>
                        </xsl:choose>
                        <td class="center bordureRight"><xsl:call-template name="iso-date"><xsl:with-param name="datebrute" select="@DSolde"/></xsl:call-template></td>
                        <td class="montant bordureRight"><xsl:call-template name="number"><xsl:with-param name="num" select="@MtEmis"/></xsl:call-template></td>
                        <td class="montant bordureRight"><xsl:call-template name="number"><xsl:with-param name="num" select="@MtAnn"/></xsl:call-template></td>
                        <td class="center bordureRight"><xsl:value-of select="@TypOp"/></td>
                        <td class="center bordureRight"><xsl:value-of select="@Commentaire"/></td>
                    </tr>
                </xsl:for-each>
            </tbody>
        </table>
    </xsl:template>
    
    <xsl:template name="iso-date">
        <xsl:param name="datebrute"/>
        <xsl:choose>
            <xsl:when test="string-length($datebrute)>0 and not(contains($datebrute,'..'))">        
                <xsl:value-of select="substring($datebrute, 9, 2)"/>
                <xsl:text>/</xsl:text>
                <xsl:value-of select="substring($datebrute,6,2)"/>
                <xsl:text>/</xsl:text>
                <xsl:value-of select="substring($datebrute, 1, 4)"/>
            </xsl:when>
            <xsl:when test="string-length($datebrute)>0 and contains($datebrute,'..')">
                <xsl:value-of select="$datebrute"/>
            </xsl:when>
            <xsl:otherwise>-</xsl:otherwise>
        </xsl:choose>
    </xsl:template>
    
    <xsl:template name="older.date">
        <xsl:param name="dates"/>
        <xsl:for-each select="$dates">
            <xsl:sort select="." data-type="text"/>
            <xsl:if test="position()=count($dates)"><xsl:value-of select="lower-case(.)"/></xsl:if>
        </xsl:for-each>
    </xsl:template>
</xsl:stylesheet>