<?xml version="1.0" encoding="ISO-8859-15"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:xslc="http://xslcomponents.org/TR/WD-xslc" xmlns:yui="http://developer.yahoo.com/yui/">
  <xsl:variable name="version">yui_2.2.0</xsl:variable>
  <xsl:template name="yui:Javascript.Head">
    <xsl:param name="yahoo"></xsl:param>
    <xsl:param name="dom"></xsl:param>
    <xsl:param name="element"></xsl:param>
    <xsl:param name="event"></xsl:param>
    <xsl:param name="connection"></xsl:param>
    <xsl:param name="autocomplete"></xsl:param>
    <xsl:param name="container"></xsl:param>
    <xsl:param name="utilities"></xsl:param>
    <xsl:if test="$utilities!=''">
      <script language="javascript">
        <xsl:attribute name="src">
          /SharedPortal/js/<xsl:value-of select="$version"/>/utilities/<xsl:choose>
            <xsl:when test="$utilities=1">utilities.js</xsl:when>
          </xsl:choose>
        </xsl:attribute>
      </script>
    </xsl:if>
    <xsl:if test="$container!=''">
      <script language="javascript">
        <xsl:attribute name="src">
          /SharedPortal/js/<xsl:value-of select="$version"/>/dom/<xsl:choose>
            <xsl:when test="$container=1">container.js</xsl:when>
            <xsl:when test="$container='min'">container-min.js</xsl:when>
          </xsl:choose>
        </xsl:attribute>
      </script>
    </xsl:if>
    <xsl:if test="$yahoo!=''">
      <script language="javascript">
        <xsl:attribute name="src">
          /SharedPortal/js/<xsl:value-of select="$version"/>/yahoo/<xsl:choose>
            <xsl:when test="$yahoo=1">yahoo.js</xsl:when>
            <xsl:when test="$yahoo='min'">yahoo-min.js</xsl:when>
          </xsl:choose>
        </xsl:attribute>
      </script>
    </xsl:if>
    <xsl:if test="$dom!=''">
      <script language="javascript">
        <xsl:attribute name="src">
          /SharedPortal/js/<xsl:value-of select="$version"/>/dom/<xsl:choose>
            <xsl:when test="$dom=1">dom.js</xsl:when>
            <xsl:when test="$dom='min'">dom-min.js</xsl:when>
          </xsl:choose>
        </xsl:attribute>
      </script>
    </xsl:if>
    <xsl:if test="$element!=''">
      <script language="javascript">
        <xsl:attribute name="src">
          /SharedPortal/js/<xsl:value-of select="$version"/>/element/<xsl:choose>
            <xsl:when test="$dom=1">element-beta.js</xsl:when>
            <xsl:when test="$dom='min'">element-beta-min.js</xsl:when>
          </xsl:choose>
        </xsl:attribute>
      </script>
    </xsl:if>
    <xsl:if test="$event!=''">
      <script language="javascript">
        <xsl:attribute name="src">
          /SharedPortal/js/<xsl:value-of select="$version"/>/event/<xsl:choose>
            <xsl:when test="$event=1">event.js</xsl:when>
            <xsl:when test="$event='min'">event-min.js</xsl:when>
          </xsl:choose>
        </xsl:attribute>
      </script>
    </xsl:if>
    <xsl:if test="$connection!=''">
      <script language="javascript">
        <xsl:attribute name="src">
          /SharedPortal/js/<xsl:value-of select="$version"/>/connection/<xsl:choose>
            <xsl:when test="$connection=1">connection.js</xsl:when>
            <xsl:when test="$connection='min'">connection-min.js</xsl:when>
          </xsl:choose>
        </xsl:attribute>
      </script>
    </xsl:if>
    <xsl:if test="$autocomplete!=''">
      <script language="javascript">
        <xsl:attribute name="src">
          /SharedPortal/js/<xsl:value-of select="$version"/>/autocomplete/<xsl:choose>
            <xsl:when test="$connection=1">autocomplete.js</xsl:when>
            <xsl:when test="$connection='min'">autocomplete-min.js</xsl:when>
          </xsl:choose>
        </xsl:attribute>
      </script>
    </xsl:if>
  </xsl:template>
  <xsl:template name="yui:AutoComplete.Head">
    <script language="javascript" src="/SharedPortal/js/{$version}/yahoo/yahoo-min.js"/>
    <script language="javascript" src="/SharedPortal/js/{$version}/dom/dom-min.js"/>
    <script language="javascript" src="/SharedPortal/js/{$version}/event/event-min.js"/>
    <script language="javascript" src="/SharedPortal/js/{$version}/connection/connection-min.js"/>
    <script language="javascript" src="/SharedPortal/js/{$version}/autocomplete/autocomplete-min.js"/>
  </xsl:template>
  <xsl:template name="yui:AutoComplete">
    <xsl:param name="Name"/>
    <xsl:param name="InputAttributes">
      <Attributes size="50"/>
    </xsl:param>
    <xsl:param name="InputType">input</xsl:param>
    <xsl:param name="UseShadow"/>
    <xsl:param name="DelimChar"/>
    <xsl:param name="DatasXMLServiceName"/>
    <xsl:param name="CustomParam"/>
    <xsl:param name="QueryDelay">0.5</xsl:param>
    <xsl:param name="ResultRecordName"/>
    <xsl:param name="ResultFields"/>
    <xsl:param name="TemplateResult"/>
    <xsl:param name="MaxResultsDisplayed">100</xsl:param>
    <xsl:param name="ActionOnSelect"/>
    <xsl:param name="ActionOnKeyDown"/>
    <xsl:param name="ActionOnDataReturn"/>
    <xsl:param name="QueryParamName">search</xsl:param>
    <xsl:variable name="VInputAttributes" select="msxsl:node-set($InputAttributes)"/>
    <xsl:variable name="VFields" select="msxsl:node-set($ResultFields)"/>
    <xsl:variable name="VTemplateResult" select="msxsl:node-set($TemplateResult)"/>
    <xsl:variable name="VActionOnSelect" select="msxsl:node-set($ActionOnSelect)"/>
    <xsl:variable name="VActionOnKeyDown" select="msxsl:node-set($ActionOnKeyDown)"/>
    <xsl:variable name="VActionOnDataReturn" select="msxsl:node-set($ActionOnDataReturn)"/>
    <style type="text/css">
      #<xsl:value-of select="$Name"/>autocomplete .yui-ac-content {position:absolute;width:550px;height:22em;border:1px solid #cccccc;background:#e6efff;overflow:auto;overflow-x:hidden;z-index:9050;}<xsl:text>
    </xsl:text>
      #<xsl:value-of select="$Name"/>autocomplete .yui-ac-shadow {position:absolute;margin:.3em;width:100%;background:#a0a0a0;z-index:9049;}<xsl:text>
    </xsl:text>
      #<xsl:value-of select="$Name"/>autocomplete .yui-ac-bd ul {padding:5px 0 0 0;width:100%;}<xsl:text>
    </xsl:text>
      #<xsl:value-of select="$Name"/>autocomplete .yui-ac-bd li {padding:0 5px 0 0;cursor:default;white-space:nowrap;}<xsl:text>
    </xsl:text>
      #<xsl:value-of select="$Name"/>autocomplete .yui-ac-bd li.yui-ac-highlight {background:#a8cef4;}<xsl:text>
    </xsl:text>
    </style>
    <div id="{$Name}autocomplete">
      <xsl:if test="$InputType='input'">
        <input type="text" class="clFlatTextInput" name="{$Name}" id="{$Name}">
          <xsl:if test="$VInputAttributes">
            <xsl:copy-of select="$VInputAttributes/Attributes/@*"/>
          </xsl:if>
        </input>
      </xsl:if>
      <xsl:if test="$InputType='textarea'">
        <textarea class="clFlatTextInput" name="{$Name}" id="{$Name}">
          <xsl:if test="$VInputAttributes">
            <xsl:copy-of select="$VInputAttributes/Attributes/@*"/>
          </xsl:if>
        </textarea>
      </xsl:if>
      <div id="{$Name}container"/>
    </div>
    <script language="javascript">
      cnx<xsl:value-of select="$Name"/> = new YAHOO.widget.DS_XHR("<xsl:value-of select="$DatasXMLServiceName"/>", ["<xsl:value-of select="$ResultRecordName"/>",<xsl:for-each select="$VFields/Field">
        "<xsl:value-of select="Name"/>"<xsl:if test="position()!=last()">,</xsl:if>
      </xsl:for-each>]);
      cnx<xsl:value-of select="$Name"/>.scriptQueryParam = "<xsl:value-of select="$QueryParamName"/>";
      cnx<xsl:value-of select="$Name"/>.scriptQueryAppend = "XMLC_OutputFormat=xml<xsl:if test="$CustomParam">
        &amp;<xsl:value-of select="$CustomParam"/>
      </xsl:if>";
      cnx<xsl:value-of select="$Name"/>.responseType = YAHOO.widget.DS_XHR.TYPE_XML;
      cnx<xsl:value-of select="$Name"/>.maxCacheEntries = 0;
      cnx<xsl:value-of select="$Name"/>.queryDelay = <xsl:value-of select="$QueryDelay"/>;
      <xsl:value-of select="$Name"/>AutoComplete = new YAHOO.widget.AutoComplete('<xsl:value-of select="$Name"/>','<xsl:value-of select="$Name"/>container', cnx<xsl:value-of select="$Name"/>); <xsl:value-of select="$Name"/>AutoComplete.maxResultsDisplayed = <xsl:value-of select="$MaxResultsDisplayed"/>;
      <xsl:value-of select="$Name"/>AutoComplete.useShadow = <xsl:value-of select="$UseShadow"/>;
      <xsl:if test="$DelimChar != ''">
        <xsl:value-of select="$Name"/>AutoComplete.delimChar = '<xsl:value-of select="$DelimChar"/>';
      </xsl:if>
      <xsl:value-of select="$Name"/>AutoComplete.formatResult = function(oResultItem, sQuery) {<xsl:for-each select="$VFields/Field">
        var s<xsl:value-of select="Name"/> = oResultItem[<xsl:value-of select="position()-1"/>];
      </xsl:for-each>
      var sMarkup = '<xsl:apply-templates select="$VTemplateResult/node()|attribute::*"/>';
      return (sMarkup);}
      <xsl:if test="count($VFields/Field[SetDomID != ''])&gt;0">
        function Set<xsl:value-of select="$Name"/>FieldsOnSelect(obj, selected, selectedDatas) {
        var datas = selected[2];
        <xsl:for-each select="$VFields/Field">
          <xsl:if test="SetDomID != ''">
            var <xsl:value-of select="Name"/> = <xsl:value-of select="position()-1"/>;
            getObjectById('<xsl:value-of select="SetDomID"/>').value = datas[<xsl:value-of select="Name"/>];
          </xsl:if>
        </xsl:for-each>}
        <xsl:value-of select="$Name"/>AutoComplete.itemSelectEvent.subscribe(Set<xsl:value-of select="$Name"/>FieldsOnSelect);
      </xsl:if>
      <xsl:if test="$VActionOnSelect">
        function Set<xsl:value-of select="$Name"/>Selected(obj, selected, selectedDatas) {
        var datas = selected[2];
        <xsl:copy-of select="$VActionOnSelect/script/node()|attribute::*"/>
        }
        <xsl:value-of select="$Name"/>AutoComplete.itemSelectEvent.subscribe(Set<xsl:value-of select="$Name"/>Selected);
      </xsl:if>
      <xsl:if test="$VActionOnKeyDown">
        function ActionOnKeyDown<xsl:value-of select="$Name"/>(object, keyCode) {
        <xsl:copy-of select="$VActionOnKeyDown/script/node()|attribute::*"/>
        }
        <xsl:value-of select="$Name"/>AutoComplete.textboxKeyEvent.subscribe(ActionOnKeyDown<xsl:value-of select="$Name"/>);
      </xsl:if>
      <xsl:if test="$VActionOnDataReturn">
        function DoReturnEvent<xsl:value-of select="$Name"/>(oSelf, sQuery, aResults) {
        <xsl:copy-of select="$VActionOnDataReturn/script/node()|attribute::*"/>
        };
        <xsl:value-of select="$Name"/>AutoComplete.dataReturnEvent.subscribe(DoReturnEvent<xsl:value-of select="$Name"/>);
      </xsl:if>
    </script>
  </xsl:template>
  <xsl:template match="node()|attribute::*">
    <xsl:copy>
      <xsl:apply-templates select="attribute::*"/>
      <xsl:apply-templates select="child::node()"/>
    </xsl:copy>
  </xsl:template>
  <xsl:template match="FieldName">
    <xsl:text>' + s</xsl:text>
    <xsl:value-of select="."/>
    <xsl:text> + '</xsl:text>
  </xsl:template>
</xsl:stylesheet>
