<!--                                                                  -->
<!--  Copyright (C) 2006 RoyaltyShare, Inc.   All Rights Reserved     -->
<!--  $Id$  -->
<!--                                                                  -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

  <xsl:template name="wickTableInline">
    <table id="smartInputFloaterInline" class="floater" cellpadding="0" cellspacing="0"><tr><td id="smartInputFloaterContentInline" nowrap="nowrap"></td></tr></table>
  </xsl:template>

  <xsl:template name="wickList">
		<xsl:param name="itemName" />
		<xsl:variable name="itemList">Form/<xsl:value-of select="$itemName" />List/<xsl:value-of select="$itemName" /></xsl:variable>
		<xsl:variable name="itemID"><xsl:value-of select="$itemName" />ID</xsl:variable>
    <script type="text/javascript">
      //creating array of <xsl:value-of select="$itemName" /> names
      var <xsl:value-of select="$itemName" />Collection = new Object();
      <xsl:value-of select="$itemName" />Collection = [
      <xsl:for-each select="dyn:evaluate($itemList)"><xsl:sort select="Name" />'<xsl:call-template name="escapeJavascript"><xsl:with-param name="string" select="Name" /></xsl:call-template>'<xsl:if test="position() != last()">,</xsl:if></xsl:for-each>
      ];
      window.<xsl:value-of select="$itemName" />Collection = <xsl:value-of select="$itemName" />Collection;
      //creating hash of <xsl:value-of select="$itemName" /> names and ids
      var <xsl:value-of select="$itemName" />LookUp = new Object();
      var <xsl:value-of select="$itemName" />Name;
      <xsl:for-each select="dyn:evaluate($itemList)">
      	<xsl:sort select="Name" />
        <xsl:value-of select="$itemName" />Name = '<xsl:call-template name="escapeJavascript"><xsl:with-param name="string" select="Name" /></xsl:call-template>';
        <xsl:value-of select="$itemName" />LookUp[<xsl:value-of select="$itemName" />Name] = '<xsl:value-of select="dyn:evaluate($itemID)" />';
      </xsl:for-each>
      window.<xsl:value-of select="$itemName" />LookUp = <xsl:value-of select="$itemName" />LookUp;
    </script>
  </xsl:template>

  <xsl:template name="artistList">
    <xsl:call-template name="wickList">
      <xsl:with-param name="itemName">Artist</xsl:with-param>
    </xsl:call-template>
  </xsl:template>

  <xsl:template name="composerList">
    <xsl:call-template name="wickList">
      <xsl:with-param name="itemName">Composer</xsl:with-param>
    </xsl:call-template>
  </xsl:template>

  <xsl:template name="regionList">
    <xsl:call-template name="wickList">
      <xsl:with-param name="itemName">Region</xsl:with-param>
    </xsl:call-template>
  </xsl:template>

  <xsl:template name="channelList">
    <xsl:call-template name="wickList">
      <xsl:with-param name="itemName">Channel</xsl:with-param>
    </xsl:call-template>
  </xsl:template>


  <xsl:template name="publisherList">
    <script type="text/javascript">
      //creating array of publisher names
      var PublisherCollection = new Object();
      PublisherCollection = [
      <xsl:for-each select="Form/PublisherList/Publisher">'<xsl:call-template name="escapeJavascript"><xsl:with-param name="string" select="PublisherName" /></xsl:call-template><xsl:call-template name="publisherAttributes"><xsl:with-param name="publisher" select="." /></xsl:call-template>'<xsl:if test="position() != last()">,</xsl:if></xsl:for-each>
      ];
      window.PublisherCollection = PublisherCollection;
      //creating hash of publisher names and ids
      var PublisherLookUp = new Object();
      var PublisherName;
      <xsl:for-each select="Form/PublisherList/Publisher">
        PublisherName = simplifyInline('<xsl:call-template name="escapeJavascript"><xsl:with-param name="string" select="PublisherName" /></xsl:call-template><xsl:call-template name="publisherAttributes"><xsl:with-param name="publisher" select="." /></xsl:call-template>');
        PublisherLookUp[PublisherName] = '<xsl:value-of select="PublisherID" />';
      </xsl:for-each>
      window.PublisherLookUp = PublisherLookUp;
    </script>
  </xsl:template>

  <xsl:template name="publisherAttributes">
    <xsl:param name="publisher" />
    <xsl:choose><xsl:when test="$publisher/IsAgency = 1"> (Agency)</xsl:when><xsl:when test="$publisher/IsAdmin = 1"> (Admin)</xsl:when></xsl:choose><xsl:if test="normalize-space($publisher/AgentName)"> (HFA)</xsl:if>
  </xsl:template>

</xsl:stylesheet> 
