﻿<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">
    <xsl:output method="xml" indent="yes"/>

    <xsl:template match="/">
        <xsl:variable name="PortalItemID" select="AjaxRequest/Params/PortalItemID"></xsl:variable>
        <xsl:variable name="TemplateURL" select="AjaxRequest/TemplateURL"></xsl:variable>
        <xsl:variable name="KeyLinkXML" select="AjaxRequest/KeylinkXML/."></xsl:variable>
        <xsl:variable name="TransID" select="AjaxRequest/Params/TransID"></xsl:variable>
        <xsl:variable name="SourceID" select="AjaxRequest/Params/SourceID"></xsl:variable>
        <xsl:variable name="Action" select="AjaxRequest/Action"></xsl:variable>
        <xsl:variable name="CommunityAdmin" select="AjaxRequest/UserRoles/Role[RoleName = 'Community Admin']"></xsl:variable>

        <xsl:if test="$Action != 'GetFilteredTransKeyLinks'">
        <table class="tableMaster marginBottom20" cellpadding="0" cellspacing="0">
            <tr>
                <td width="35%">
                    <span style="font-size:16px;" class="packageTitle">
                        SourcePK
                    </span>

                    <input id="txt_SourcePK" type="text" class="text marginLeft5" style="width:190px;"
                           onKeyPress="DataX_TransKeyLinkFilter(event, 'txt_SourcePK', 'txt_DestPK', 'ddlException', '{$PortalItemID}',
                                                                '{$TransID}', '{$SourceID}', 'div_TransKeyLinks');"></input>
                </td>
                <td width="35%">
                    <span style="font-size:16px;" class="packageTitle">
                        DestPK
                    </span>

                    <input id="txt_DestPK" type="text" class="text marginLeft5" style="width:190px;"
                           onKeyPress="DataX_TransKeyLinkFilter(event, 'txt_SourcePK', 'txt_DestPK', 'ddlException', '{$PortalItemID}',
                                                                '{$TransID}', '{$SourceID}', 'div_TransKeyLinks');"></input>
                </td>
                <td width="30%">
                    <span style="font-size:16px;" class="packageTitle">
                        Exception
                    </span>

                    <select id="ddlException" class="smallDropdown marginLeft5"
                            onchange="return DataX_TransKeyLinkFilter(null, 'txt_SourcePK', 'txt_DestPK', 'ddlException', '{$PortalItemID}',
                                                                '{$TransID}', '{$SourceID}', 'div_TransKeyLinks');">
                        <option value="-99">-Select-</option>
                        <option value="1">Yes</option>
                        <option value="0">No</option>
                    </select>
                </td>
            </tr>
        </table>
        </xsl:if>
        <div id="div_TransKeyLinks">
        <xsl:call-template name="TransactionKeyLinks">
            <xsl:with-param name="KeyLinkXML" select="$KeyLinkXML"></xsl:with-param>
            <xsl:with-param name="PortalItemID" select="$PortalItemID"></xsl:with-param>
            <xsl:with-param name="SourceID" select="$SourceID"></xsl:with-param>
            <xsl:with-param name="TransID" select="$TransID"></xsl:with-param>
            <xsl:with-param name="CommunityAdmin" select="$CommunityAdmin"></xsl:with-param>
            <xsl:with-param name="TemplateURL" select="$TemplateURL"></xsl:with-param>
        </xsl:call-template>
        </div>
    </xsl:template>

    <xsl:template name="TransactionKeyLinks">
        <xsl:param name="KeyLinkXML" select="'N/A'"></xsl:param>
        <xsl:param name="PortalItemID" select="'N/A'"></xsl:param>
        <xsl:param name="SourceID" select="'N/A'"></xsl:param>
        <xsl:param name="TransID" select="'N/A'"></xsl:param>
        <xsl:param name="CommunityAdmin" select="'N/A'"></xsl:param>
        <xsl:param name="TemplateURL" select="'N/A'"></xsl:param>

        <table class="tableMaster" cellpadding="3" cellspacing="0">
            <xsl:if test="count($KeyLinkXML/KeyLink) &gt; 0">
                <tr>
                    <td width="25%">
                        <span class="packageTitle">SourcePK</span>
                    </td>

                    <td width="10%">
                        <span class="packageTitle">DestPK</span>
                    </td>
                    <td width="20%">
                        <span class="packageTitle">Exception</span>
                    </td>
                    <td width="25%">
                        <span class="packageTitle">Message</span>
                    </td>
                    <td width="20%">
                        <span class="packageTitle">Admin</span>
                    </td>
                </tr>

                <xsl:for-each select="$KeyLinkXML/GroupName/KeyGroupName">
                    <xsl:variable name="GroupingCol" select="GroupingCol"></xsl:variable>
                    <xsl:variable name="KeyPairID1" select="../../KeyLink/Keylink[GroupingCol = $GroupingCol]/KeyPairID"></xsl:variable>

                    <tr>
                        <td colspan="5" class="verticallyMiddle">
                            <span id="span_ColName_{$PortalItemID}_{KeyPairID}" class="packageTitle onMouseOver"
                                  onclick="return expandCollapseTRByGroup('tr_Keylink_{$PortalItemID}_{$KeyPairID1}');">
                                <xsl:value-of select="$GroupingCol"/>
                            </span>
                            <xsl:if test="../../KeyLink/Keylink[GroupingCol = $GroupingCol]/Source_PK != ''">
                                <span class="packageTitle">
                                    (<xsl:value-of select="count(../../KeyLink/Keylink[GroupingCol = $GroupingCol]/Source_PK)"/>)
                                </span>
                            </xsl:if>
                        </td>
                    </tr>
                    <xsl:for-each select="../../KeyLink/Keylink[GroupingCol = $GroupingCol]">
                        <xsl:variable name="backgroundColor">
                            <xsl:choose>
                                <xsl:when test="position() mod 2 = 0">
                                    <xsl:text>#DCDCDC</xsl:text>
                                </xsl:when>
                                <xsl:otherwise>
                                    <xsl:text></xsl:text>
                                </xsl:otherwise>
                            </xsl:choose>
                        </xsl:variable>

                        <tr id="tr_Keylink_{$PortalItemID}_{KeyPairID}" style="background-color:{$backgroundColor};">
                            <td>
                                <span id="span_SourcePK_{$PortalItemID}_{KeyPairID}" class="publicationSummary">
                                    <xsl:value-of select="Source_PK"/>
                                </span>
                                <input id="txt_SourcePK_{$PortalItemID}_{KeyPairID}" type="text" value="{Source_PK}"
                                      class="text" style="display:none;width:160px;"></input>
                            </td>

                            <td>
                                <span id="span_DestPkID_{$PortalItemID}_{KeyPairID}" class="publicationSummary">
                                    <xsl:value-of select="Dest_PKID"/>
                                </span>
                                <input id="txt_DestPkID_{$PortalItemID}_{KeyPairID}" type="text" value="{Dest_PKID}"
                                    class="text" style="display:none;width:50px;"></input>
                            </td>
                            <td>
                                <span id="span_ExceptionYN_{$PortalItemID}_{KeyPairID}"
                                      class="publicationSummary onMouseOver"
                                      onclick="document.getElementById('span_ExceptionYN_{$PortalItemID}_{KeyPairID}').style.display='none';
                                               document.getElementById('opt_ExceptionYN_{$PortalItemID}_{KeyPairID}').style.display='inline';">
                                    <xsl:choose>
                                        <xsl:when test="ExceptionYN = '1'">
                                            <xsl:text>Yes</xsl:text>
                                        </xsl:when>
                                        <xsl:when test="ExceptionYN = '0'">
                                            <xsl:text>No</xsl:text>
                                        </xsl:when>
                                    </xsl:choose>
                                </span>
                                <select class="smallDropdown"
                                        id="opt_ExceptionYN_{$PortalItemID}_{KeyPairID}"
                                        style="width:50px;display:none;"
                                        onchange="UpdateDataXSourceKeylink('{$PortalItemID}','{$SourceID}','txt_SourcePK_{$PortalItemID}_{KeyPairID}',
                                                                        'txt_DestPkID_{$PortalItemID}_{KeyPairID}', 'txt_Message_{$PortalItemID}_{KeyPairID}',
                                                                        'opt_ExceptionYN_{$PortalItemID}_{KeyPairID}','{KeyPairID}');">
                                    <option value="-99">-Select-</option>
                                    <xsl:choose>
                                        <xsl:when test="ExceptionYN = 1">
                                            <option value="1" selected="selected">Yes</option>
                                            <option value="0">No</option>
                                        </xsl:when>
                                        <xsl:otherwise>
                                            <option value="1">Yes</option>
                                            <option value="0" selected="selected">No</option>
                                        </xsl:otherwise>
                                    </xsl:choose>
                                </select>
                            </td>
                            <td>
                                <span id="span_Message_{$PortalItemID}_{KeyPairID}" class="publicationSummary">
                                    <xsl:value-of select="Message"/>
                                </span>
                                <input id="txt_Message_{$PortalItemID}_{KeyPairID}" type="text" value="{Message}"
                                      class="text" style="display:none;width:160px;"></input>
                            </td>
                            <td>
                                <select id="opt_KeylinkAdmin_{$PortalItemID}_{KeyPairID}" class="smallDropdown" style="width:80px;"
                                      onchange="SelectDataXKeylinkAdminOption('{$PortalItemID}',
                                        'opt_KeylinkAdmin_{$PortalItemID}_{KeyPairID}','-99','{KeyPairID}','{$TransID}');">
                                    <option value="-99">-Select-</option>
                                    <option value="1">Edit</option>
                                    <xsl:if test="$CommunityAdmin">
                                        <option value="2">Delete</option>
                                    </xsl:if>
                                </select>
                                <div id="btnUpdate_{$PortalItemID}_{KeyPairID}"
                                     class="verticallyMiddle onMouseOver textCenter divBrowseGradient spanBrowseGradientTextGray"
                                     style="width:70px;line-height:22px;display:none;"
                                     onclick="UpdateDataXSourceKeylink('{$PortalItemID}','{$SourceID}','txt_SourcePK_{$PortalItemID}_{KeyPairID}',
                                                                        'txt_DestPkID_{$PortalItemID}_{KeyPairID}', 'txt_Message_{$PortalItemID}_{KeyPairID}',
                                                                        'opt_ExceptionYN_{$PortalItemID}_{KeyPairID}','{KeyPairID}');">
                                    <span id="span_Column" class="capitalFont">update</span>
                                </div>
                            </td>
                        </tr>
                    </xsl:for-each>
                </xsl:for-each>
            </xsl:if>
            <tr>
                <td colspan="5">
                    <div class="verticallyMiddle onMouseOver divBrowseGradient spanBrowseGradientTextGray" style="width:120px;line-height:22px;"
                        onmouseover="document.getElementById('img_Addkeylink').src='{$TemplateURL}Web/Images/Ver_2_0/icon_add_over.png';"
                        onmouseout="document.getElementById('img_Addkeylink').src='{$TemplateURL}Web/Images/Ver_2_0/icon_Add.png';"
                        onclick="DataX_AddNewKeyLink('{$PortalItemID}','{$SourceID}','divTransactions','{$TransID}');">
                        <img id="img_Addkeylink" src="{$TemplateURL}Web/Images/Ver_2_0/icon_Add.png" align="absmiddle"
                             style="padding-left:8px;" class="marginRight5"></img>
                        <span id="span_keylink" class="capitalFont">add a keylink</span>
                    </div>
                </td>
            </tr>
        </table>
    </xsl:template>

</xsl:stylesheet>
