PLEASE DO NOT REPLY TO THIS MESSAGE. TO FURTHER COMMENT
ON THE STATUS OF THIS BUG PLEASE FOLLOW THE LINK BELOW
AND USE THE ON-LINE APPLICATION. REPLYING TO THIS MESSAGE
DOES NOT UPDATE THE DATABASE, AND SO YOUR COMMENT WILL
BE LOST SOMEWHERE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=3133
*** shadow/3133 Wed Aug 15 10:44:48 2001
--- shadow/3133.tmp.19747 Fri Aug 17 10:06:45 2001
***************
*** 26,29 ****
------- Additional Comments From [EMAIL PROTECTED] 2001-08-15 10:44 -------
Actually, I'm not so sure this is a bug. Could you please include your entire
! stylesheet so we can have a look?
--- 26,997 ----
------- Additional Comments From [EMAIL PROTECTED] 2001-08-15 10:44 -------
Actually, I'm not so sure this is a bug. Could you please include your entire
! stylesheet so we can have a look?
!
! ------- Additional Comments From [EMAIL PROTECTED] 2001-08-17 10:06 -------
! Stylesheet follows:
!
! <?xml version="1.0"?>
! <xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform' >
! <xsl:output method="html"/>
! <xsl:template match="/">
! <!--*************************************************-->
! <!--*************************************************-->
! <!-- This is a WIP, remove comments prior to release -->
! <!--*************************************************-->
! <!--*************************************************-->
! <html>
! <head>
! <TITLE></TITLE>
! <xsl:call-template name="attachScript" />
! </head>
! <body background="back.gif">
! <xsl:choose>
! <xsl:when test="form">
! <xsl:attribute name="onload">initThisForm()
! </xsl:attribute>
! <a name="top"/>
! </xsl:when>
! </xsl:choose>

! <FORM>

! <xsl:choose>
! <xsl:when test="form">
! <xsl:apply-templates select="form" />
! </xsl:when>
! <xsl:otherwise>
! <xsl:value-of select="name()"/>
! </xsl:otherwise>
! </xsl:choose>

! </FORM>
! </body>
! </html>
! </xsl:template>
!
! <!--********** FORM Match ******************-->
! <xsl:template match="form">
!
! <!-- Apply form templates -->
! <xsl:if test="/form/PATH">
! <xsl:apply-templates select="PATH"/>
! </xsl:if>
!
! <xsl:if test="/form/toolbar">
! <xsl:apply-templates select="toolbar"/>
! </xsl:if>
! <xsl:if test="/form/menu">
! <xsl:apply-templates select="/form/menu"/>
! </xsl:if>
!
! <xsl:call-template name="flds">
! <xsl:with-param name="rows">
! <xsl:value-of select="/form/*[not(@row=preceding-
! sibling::*/@row)]/@row"/>
! </xsl:with-param>
! <xsl:with-param name="startnode">
! <xsl:value-of select="/form"/>
! </xsl:with-param>
! </xsl:call-template>
!
! <!-- build tabs -->
! <xsl:call-template name="tabs"/>
!
! <table border="0" cellspacing="0" cellpadding="0" width="100%">
! <tr><td align="center">
! <!-- Check for other stuff at /form/* -->
! <xsl:for-each select="/form/push">
! <xsl:call-template name="push" />
! </xsl:for-each>
! </td></tr>
! </table>
! </xsl:template>
!
! <!-- Tabs -->
! <xsl:template name="tabs">
! <hr/>
! <!-- Build Tab Nav Bar -->
! <xsl:for-each select="./tabregion/*">
! <a>
! <xsl:attribute name="href">
! <xsl:text>#</xsl:text><xsl:value-of
! select="@nm"/>
! </xsl:attribute>
! <xsl:value-of select="@nm"/>
! </a>  <!-- Stick in a space -->
! </xsl:for-each>
! <hr/>
!
! <!-- Build Tabs -->
! <xsl:for-each select="./tabregion/*">
! <form>
! <a>
! <xsl:attribute name="name">
! <xsl:value-of select="@nm"/>
! </xsl:attribute>
! </a>
! <xsl:attribute name="fName"><xsl:value-of
! select="@nm"/></xsl:attribute>
! <p align="center"><b><xsl:value-of
! select="@nm"/></b><br/>
! <a href="#top">Top</a></p>
! <xsl:call-template name="flds">
! <xsl:with-param name="rows">
! <xsl:value-of select="./*[not
! (@row=preceding-sibling::*/@row)]/@row"/>
! </xsl:with-param>
! <xsl:with-param name="startnode">
! <xsl:value-of select="."/>
! </xsl:with-param>
! </xsl:call-template>
! </form>
! <hr/>
! </xsl:for-each>
! </xsl:template>
!
! <!-- Detail Area -->
! <xsl:template name="detail">
! <!-- Build detail area -->
! <xsl:with-param name="dtlrows"/>
! <xsl:with-param name="homenode"/>
!
! <hr/>
! <xsl:if test="$dtlrows=$homenode/@height">
! <!-- Do only if this is top -->
! <xsl:call-template name="flds">
! <xsl:with-param name="rows">
! <xsl:value-of select="./*[not(@row=preceding-
! sibling::*/@row) and (./@header=1)]/@row"/>
! </xsl:with-param>
! <xsl:with-param name="startnode">
! <xsl:value-of select="."/>
! </xsl:with-param>
! </xsl:call-template>
! <hr/>
! </xsl:if>
! <!-- Do these every time -->
! <xsl:call-template name="flds">
! <!-- <xsl:with-param name="rows" select="./*[not(@row=preceding-
! sibling::*/@row) and (./@row < (../@rowspan+1)) and not
! (./@header=1)]/@row"/> -->
! <xsl:with-param name="rows" select="./*[not(@row=preceding-
! sibling::*/@row) and (./@row < (../@rowspan+2)) and not(./@header=1)]/@row"/>
! <xsl:with-param name="startnode" select="."/>
! </xsl:call-template>
! <!-- Call recursively until 0 -->
! <!-- This is a for-loop equivalent -->
! <xsl:if test="($dtlrows - 1) > 0">
! <xsl:call-template name="detail">
! <xsl:with-param name="dtlrows">
! <xsl:value-of select="$dtlrows - 1"/>
! </xsl:with-param>
! <xsl:with-param name="homenode">
! <xsl:value-of select="$homenode"/>
! </xsl:with-param>
! </xsl:call-template>
! </xsl:if>
! </xsl:template>
!
! <!-- Generate tables from field elements -->
! <xsl:template name="flds">
! <xsl:with-param name="rows"/>
! <xsl:with-param name="startnode"/>
!
! <xsl:for-each select="$rows">
!
! <table border="0" cellspacing="0" cellpadding="0" width="100%">
! <tr>
! <xsl:for-each select="$startnode/*[@row=current()]">
! <xsl:variable name="elemtype"><xsl:value-of
! select="./@tp"/></xsl:variable>
! <xsl:choose>
! <xsl:when test="$elemtype='Hidden'">
! <xsl:call-template
! name="Hidden" />
! </xsl:when>
! <xsl:when test="$elemtype='Text'">
! <xsl:call-template
! name="Text" />
! </xsl:when>
! <xsl:when test="$elemtype='label'">
! <xsl:call-template
! name="label" />
! </xsl:when>
! <xsl:when test="$elemtype='Select'">
! <xsl:call-template
! name="Select" />
! </xsl:when>
! <xsl:when test="$elemtype='Out'">
! <xsl:call-template name="Out" />
! </xsl:when>
! <xsl:when test="$elemtype='Sp'">
! <xsl:call-template name="key" />
! </xsl:when>
! <xsl:when test="$elemtype='Fc'">
! <xsl:call-template name="Fc" />
! </xsl:when>
! <xsl:when test="name()='detail'">
! <form>
! <!-- Need to give the form info
! about detail area in form name -->
! <xsl:attribute
! name="name">det@il;<xsl:value-of select="./@nbr"/>;<xsl:value-of
! select="./@height"/>;<xsl:value-of select="./@rowspan"/></xsl:attribute>
! <xsl:call-template
! name="detail">
! <xsl:with-param
! name="dtlrows">
! <xsl:value-of
! select="./@height"/>
! </xsl:with-param>
! <xsl:with-param
! name="homenode">
! <xsl:value-of
! select="."/>
! </xsl:with-param>
! </xsl:call-template>
! <hr/>
! </form>
! </xsl:when>
! </xsl:choose>
! </xsl:for-each>
! <td width="99%" /> <!-- Filler for rest of row -->
! </tr>
! </table>
! </xsl:for-each>
! </xsl:template>
! <!--********** MENU ELEMENTS ******************-->
! <xsl:template match="/form/menu">
! <p align="left">
! <li>
! <a>
! <xsl:attribute name="href">javascript:processPush('<xsl:value-
! of select="@TOKEN" />','<xsl:value-of select="@TOKEN" />','<xsl:value-of
! select="@TOKEN" />' )</xsl:attribute>
! <xsl:value-of select="@TITLE"/>
! </a>
! </li>
! <br />
! </p>
! </xsl:template>
!
! <!--********** NAME FIELD ******************-->
! <xsl:template name="nameFld">
! <xsl:with-param name="tgtnode"/>
! <!-- <xsl:attribute name="name">text<xsl:value-of
! select="$tgtnode/@nbr"/></xsl:attribute> -->
!
! <!-- Need to precede field elements with a leading string.
! There is no other way to differentiate form elements in Javascript 1.0 -
! ->
!
! <xsl:variable name="thisFld"><xsl:value-of select="substring
! ($tgtnode/@nbr,3,5)"/></xsl:variable>
! <xsl:variable name="fld"><xsl:value-of select="substring-before
! ($thisFld,'r')"/></xsl:variable>
! <xsl:variable name="row"><xsl:value-of select="substring-after
! ($thisFld,'r')"/></xsl:variable>
! <xsl:if test="not(string-length($fld) > 0)">
! <xsl:attribute name="name">l@wson;<xsl:value-of
! select="$thisFld"/>;<xsl:value-of select="$tgtnode/@keynbr"/>;<xsl:value-of
! select="$tgtnode/@tp"/>;<xsl:value-of select="$tgtnode/@hsel"/>;null;null;null
! </xsl:attribute>
! </xsl:if>
! <xsl:if test="string-length($fld) > 0">
! <!-- this is part of a detail area -->
! <xsl:attribute name="name">l@wson;<xsl:value-of select="(10000
! * ($row+1))+$fld"/>;<xsl:value-of select="$tgtnode/@keynbr"/>;<xsl:value-of
! select="$tgtnode/@tp"/>;<xsl:value-of select="$tgtnode/@hsel"/>;<xsl:value-of
! select="ancestor::detail/@nbr"/>;<xsl:value-of
! select="ancestor::detail/@rowspan"/>;<xsl:value-of
! select="ancestor::detail/@height"/>
! </xsl:attribute>
! </xsl:if>
! <xsl:if test="$tgtnode/@tp = 'Sp'">
! <!-- this is part of a detail area -->
! <xsl:attribute name="name">l@wson;<xsl:value-of
! select="$thisFld"/>;<xsl:value-of select="$tgtnode/@keynbr"/>;<xsl:value-of
! select="$tgtnode/@tp"/>;<xsl:value-of select="$tgtnode/@hsel"/>;null;null;null
! </xsl:attribute>
! </xsl:if>
! </xsl:template>
!
! <!--********** FIELD ELEMENTS ******************-->
! <xsl:template name="Hidden">
! <xsl:element name="input">
! <xsl:attribute name="type">hidden</xsl:attribute>
! <xsl:attribute name="friendly-name"><xsl:value-of
! select="@nm"/></xsl:attribute>
! <xsl:call-template name="nameFld">
! <xsl:with-param name="tgtnode">
! <xsl:value-of select="."/>
! </xsl:with-param>
! </xsl:call-template>
! <!-- <xsl:attribute name="size"><xsl:value-of
! select="@sz"/></xsl:attribute> -->
! </xsl:element>
! </xsl:template>
! <xsl:template name="key">
! <xsl:element name="input">
! <xsl:attribute name="type">hidden</xsl:attribute>
! <xsl:attribute name="friendly-name"><xsl:value-of
! select="@nm"/></xsl:attribute>
! <xsl:call-template name="nameFld">
! <xsl:with-param name="tgtnode">
! <xsl:value-of select="."/>
! </xsl:with-param>
! </xsl:call-template>
! <xsl:attribute name="size"><xsl:value-of
! select="@sz"/></xsl:attribute>
! </xsl:element>
! </xsl:template>
! <xsl:template name="label">
! <xsl:element name="td">
! <xsl:variable name="capLength">
! <!-- Store length of caption string -->
! <xsl:value-of select="string-length(@nm)"/>
! </xsl:variable>
!
! <!-- calculate width -->
! <!-- calculate width of label based on length of caption -->
! <xsl:variable name="wide"><xsl:value-of select="(($capLength+2)
! * 100) div 80"/></xsl:variable>
! <xsl:choose>
! <xsl:when test="not(preceding-sibling::*[1]/@row)">
! <!-- This is the first item in the row -->
! <xsl:attribute name="width"><xsl:value-of
! select="(@col * 100) div 80 + $wide" /><xsl:text>%</xsl:text></xsl:attribute>
! </xsl:when>
! <xsl:when test="current()/@row != preceding-sibling::*
! [1]/@row">
! <!-- This is the first item in the row -->
! <xsl:attribute name="width"><xsl:value-of
! select="(@col * 100) div 80 + $wide" /><xsl:text>%</xsl:text></xsl:attribute>
! </xsl:when>
! <xsl:when test="current()/@row != following-sibling::*
! [1]/@row">
! <!-- This is the last item in the row -->
! <xsl:attribute name="width"><xsl:text>99%
! </xsl:text></xsl:attribute>
! </xsl:when>
! <xsl:otherwise>
! <xsl:attribute name="width"><xsl:value-of
! select="((following-sibling::*/@col - @col) * 100) div 80" /><xsl:text>%
! </xsl:text></xsl:attribute>
! </xsl:otherwise>
! </xsl:choose>
!
! <xsl:attribute name="align">right</xsl:attribute>
! <xsl:value-of select="@nm"/><xsl:text> </xsl:text>
! </xsl:element>
! </xsl:template>
!
! <xsl:template name="Text">
! <xsl:element name="td">
! <!-- calculate width of column based on length of textbox -->
! <xsl:variable name="wide"><xsl:value-of select="((@sz+2) * 100)
! div 80"/></xsl:variable>
! <xsl:choose>
! <xsl:when test="not(preceding-sibling::*[1]/@row)">
! <!-- This is the first item in the row -->
! <xsl:attribute
! name="align">right</xsl:attribute>
! <xsl:attribute name="width"><xsl:value-of
! select="(@col * 100) div 80 + $wide" /><xsl:text>%</xsl:text></xsl:attribute>
! </xsl:when>
! <xsl:when test="current()/@row != preceding-sibling::*
! [1]/@row">
! <!-- This is the first item in the row -->
! <xsl:attribute
! name="align">right</xsl:attribute>
! <xsl:attribute name="width"><xsl:value-of
! select="(@col * 100) div 80 + $wide" /><xsl:text>%</xsl:text></xsl:attribute>
! </xsl:when>
! <xsl:when test="current()/@row != following-sibling::*
! [1]/@row">
! <!-- This is the last item in the row -->
! <xsl:attribute name="width"><xsl:text>99%
! </xsl:text></xsl:attribute>
! </xsl:when>
! <xsl:otherwise>
! <xsl:attribute name="width"><xsl:value-of
! select="((following-sibling::*/@col - @col + 1) * 100) div 80" /><xsl:text>%
! </xsl:text></xsl:attribute>
! </xsl:otherwise>
! </xsl:choose>
! <xsl:element name="input">
! <xsl:attribute name="type">text</xsl:attribute>
! <xsl:attribute name="friendly-name"><xsl:value-of
! select="@nm"/></xsl:attribute>
! <xsl:call-template name="nameFld">
! <xsl:with-param name="tgtnode">
! <xsl:value-of select="."/>
! </xsl:with-param>
! </xsl:call-template>
! <xsl:attribute name="size"><xsl:value-of
! select="@sz"/></xsl:attribute>
! </xsl:element>
! <xsl:if test="@hselrul[.='1']">
! <a>
! <xsl:attribute name="href">javascript:select;<xsl:value-
! of select="./@nbr" />;<xsl:value-of select="./@keynbr" /></xsl:attribute>
! <img border="0" src="/kurt/images/blueselect.gif"/>
! </a>
! </xsl:if>
! </xsl:element>
! </xsl:template>
!
! <xsl:template name="Fc">
! <xsl:element name="td">
! <!-- calculate width of column based on length of textbox -->
! <xsl:variable name="wide"><xsl:value-of select="((@sz+2) * 100)
! div 80"/></xsl:variable>
! <xsl:choose>
! <xsl:when test="not(preceding-sibling::*[1]/@row)">
! <!-- This is the first item in the row -->
! <xsl:attribute
! name="align">right</xsl:attribute>
! <xsl:attribute name="width"><xsl:value-of
! select="(@col * 100) div 80 + $wide" /><xsl:text>%</xsl:text></xsl:attribute>
! </xsl:when>
! <xsl:when test="current()/@row != preceding-sibling::*
! [1]/@row">
! <!-- This is the first item in the row -->
! <xsl:attribute
! name="align">right</xsl:attribute>
! <xsl:attribute name="width"><xsl:value-of
! select="(@col * 100) div 80 + $wide" /><xsl:text>%</xsl:text></xsl:attribute>
! </xsl:when>
! <xsl:when test="current()/@row != following-sibling::*
! [1]/@row">
! <!-- This is the last item in the row -->
! <xsl:attribute name="width"><xsl:text>99%
! </xsl:text></xsl:attribute>
! </xsl:when>
! <xsl:otherwise>
! <xsl:attribute name="width"><xsl:value-of
! select="((following-sibling::*/@col - @col + 1) * 100) div 80" /><xsl:text>%
! </xsl:text></xsl:attribute>
! </xsl:otherwise>
! </xsl:choose>
! <xsl:element name="input">
! <xsl:attribute name="type">text</xsl:attribute>
! <xsl:attribute name="friendly-name"><xsl:value-of
! select="@nm"/></xsl:attribute>
! <xsl:call-template name="nameFld">
! <xsl:with-param name="tgtnode">
! <xsl:value-of select="."/>
! </xsl:with-param>
! </xsl:call-template>
! <xsl:attribute name="size"><xsl:value-of
! select="@sz"/></xsl:attribute>
! </xsl:element>
! <xsl:if test="@hsel[.='1']">
! <a>
! <xsl:attribute name="href">javascript:doPick()
! </xsl:attribute>
! <img border="0" src="/kurt/images/blueselect.gif"/>
! </a>
! </xsl:if>
! </xsl:element>
! </xsl:template>
!
! <xsl:template name="Out">
! <xsl:element name="td">
! <xsl:choose>
! <xsl:when test="current()/@row != preceding-sibling::*
! [1]/@row">
! <!-- This is the first item in the row -->
! <xsl:attribute name="width"><xsl:value-of
! select="(@col * 100) div 80" /><xsl:text>%</xsl:text></xsl:attribute>
! </xsl:when>
! <xsl:when test="current()/@row != following-sibling::*
! [1]/@row">
! <!-- This is the last item in the row -->
! <xsl:attribute name="width"><xsl:text>99%
! </xsl:text></xsl:attribute>
! </xsl:when>
! <xsl:otherwise>
! <xsl:attribute name="width"><xsl:value-of
! select="((following-sibling::*/@col - @col) * 100) div 80" /><xsl:text>%
! </xsl:text></xsl:attribute>
! </xsl:otherwise>
! </xsl:choose>
! <xsl:element name="input">
! <xsl:attribute name="type">text</xsl:attribute>
! <xsl:attribute name="friendly-name"><xsl:value-of
! select="@nm"/></xsl:attribute>
! <xsl:call-template name="nameFld">
! <xsl:with-param name="tgtnode">
! <xsl:value-of select="."/>
! </xsl:with-param>
! </xsl:call-template>
! <xsl:attribute name="size"><xsl:value-of
! select="@sz"/></xsl:attribute>
! </xsl:element>
! </xsl:element>
! </xsl:template>
!
! <xsl:template name="Select">
! <xsl:element name="td">
! <xsl:choose>
! <xsl:when test="current()/@row != preceding-sibling::*
! [1]/@row">
! <!-- This is the first item in the row -->
! <xsl:attribute name="width"><xsl:value-of
! select="(@col * 100) div 80" /><xsl:text>%</xsl:text></xsl:attribute>
! </xsl:when>
! <xsl:when test="current()/@row != following-sibling::*
! [1]/@row">
! <!-- This is the last item in the row -->
! <xsl:attribute name="width"><xsl:text>99%
! </xsl:text></xsl:attribute>
! </xsl:when>
! <xsl:otherwise>
! <xsl:attribute name="width"><xsl:value-of
! select="((following-sibling::*[1]/@col - @col) * 100) div 80" /><xsl:text>%
! </xsl:text></xsl:attribute>
! </xsl:otherwise>
! </xsl:choose>
! <xsl:element name="input">
! <xsl:attribute name="type">text</xsl:attribute>
! <xsl:attribute name="friendly-name"><xsl:value-of
! select="@nm"/></xsl:attribute>
! <xsl:call-template name="nameFld">
! <xsl:with-param name="tgtnode">
! <xsl:value-of select="."/>
! </xsl:with-param>
! </xsl:call-template>
! <xsl:attribute name="size"><xsl:value-of
! select="@sz"/></xsl:attribute>
! </xsl:element>
! <xsl:if test="@hsel[.='1']">
! <a>
! <xsl:attribute name="href">javascript:doPick()
! </xsl:attribute>
! <img border="0" src="/kurt/images/blueselect.gif"/>
! </a>
! </xsl:if>
! </xsl:element>
! </xsl:template>
!
! <!--********** Toolbar Match ******************-->
! <xsl:template match="toolbar">
! <!-- <b>Working Transactions!</b> -->
! <table>
! <tr><td>
! <xsl:for-each select="button">
! <input type="button">
! <xsl:attribute name="name">button_<xsl:value-of
! select="@value"/></xsl:attribute>
! <xsl:attribute name="onclick">formAction('<xsl:value-of
! select="@value"/>')</xsl:attribute>
! <!-- <xsl:attribute name="href">#top</xsl:attribute> -->
! <xsl:attribute name="value"><xsl:value-of
! select="@nm"/></xsl:attribute>
! </input>
! </xsl:for-each>
! </td></tr>
! </table>
! <hr/>
! </xsl:template>
! <!--********** PATH ITEM BREAD CRUMBS******************-->
! <xsl:template match="PATH[1]">
! <xsl:for-each select="./POSITION">
! <xsl:if test="not(position()=last())">
! <a class="pathtransfer">
! <xsl:attribute name="href">javascript:processPush('<xsl:value-
! of select="@TOKEN" />','<xsl:value-of select="@TOKEN" />')</xsl:attribute>
! <xsl:value-of select="@TITLE"/>
! </a>
! ></xsl:if>
! <xsl:if test="(position()=last())">
! <b>
! <xsl:value-of select="@TITLE"/>
! </b>
! <script language="javascript">
! var formPdl = "<xsl:value-of
! select="@PROD"/>";
! </script>
! </xsl:if>
! </xsl:for-each>
! <hr/>
! </xsl:template>
! <!--********** PUSH FIELD ******************-->
! <xsl:template name="push">
! <xsl:choose>
! <xsl:when test="@nm[.='SUBMIT']"/>
! <xsl:when test="@nm[.='PRINT-MANAGER']"/>
! <xsl:when test="@nm[.='JOB-SCHEDULER']"/>
! <xsl:when test="@nm[.='REPORTS']"/>
! <xsl:otherwise>
! <a>
! <xsl:attribute
! name="href">javascript:processPush('<xsl:value-of
! select="@keynbr" />','<xsl:value-of select="@keynbr" />')</xsl:attribute>
! <xsl:value-of select="@btnnm"/>
! </a>
! <xsl:text>  </xsl:text>
! </xsl:otherwise>
! </xsl:choose>
! </xsl:template>
! <!--********** ATTACH SCRIPT ******************-->
! <xsl:template name="attachScript">
! <script language="javascript">
! var sysName = "<xsl:value-of select="//form/@SYSTEM"/>";
! var tknName = "<xsl:value-of select="//form/@TOKEN"/>";
! var gField;
! <![CDATA[
! var lawElements;
! formStr = ""; // Keep a running string representing form
! // "formPdl" is the form Productline name
!
! // Determine current path
! servStr = parent.mainFrame.location.host;
! fldrStr = parent.location.pathname;
! fldrStr = fldrStr.substring(0,fldrStr.lastIndexOf('/'));
!
! function processPush(tkn, fld, url)
! {
! parent.mainFrame.location.href = "http://" + servStr +
! "/servlet/xsltservlet?srcurl=http://" + servStr +
! "/cgi/form.exe?_TKN%3D" + tkn + "%26_OUT%
! 3DXML&xslurl=http://" +
! servStr + fldrStr + "/precrunch.xsl&xslurl2=http://" +
! servStr + fldrStr +
! "/tables.xsl";
! }
!
! function formAction(actLetter)
! {
! changeSrcDoc(actLetter);
! }
!
! function refreshFormData()
! {
! //alert("Refresh Form Data");
! numElems = lawElements.size;
! for(i=0;i<numElems;i++)
! {
! lawElements[i].fldRef.value = searchRec
! (lawElements[i].nbr,null);
! }
!
! // Fill message bar
! var hfObj = parent.hiddenFrame;
! var tfObj = parent.toolFrame;
!
! tfObj.updateMessage(hfObj.msgtext);
! //if(hfObj.msgnbr != '000')
! // TextBoxSetFocus(hfObj.fldnbr);
! }
!
! function RefreshCallData()
! {
! // Refresh the document to send to AGS
! var formStr = "";
!
! //alert("Refresh Call Data");
! numElems = lawElements.size;
! for(i=0;i<numElems;i++)
! {
! formStr += "%26_f" + lawElements[i].nbr + "%3D"
! + lawElements[i].fldRef.value;
! }
! return formStr;
! }
!
! function TextBoxSetFocus(fldnbr)
! {
! var hfg = "";
! return hfg;
! }
!
! function changeSrcDoc(actLetter)
! {
! newLoc = "http://" + servStr + "/servlet/xsltservlet?
! srcurl=http" +
! "://" + servStr + "/cgi/as.exe?";
!
! // if(parent.hiddenFrame.pdl != '')
! // newLoc += "_PDL%3D" + parent.hiddenFrame.pdl
! + "%26";
!
!
! newLoc+= "_RTN%3DDATA%26_LFN%3DFALSE%26_TDS%3DIgnore%
! 26" +
! "_TKN%3D" + tknName + "%26_OUT%3DXML%26_EVT%
! 3DADD" + "%26FC%3D" +
! actLetter + "%26_f1%3d" + actLetter + "%26" +
! RefreshCallData() +
! "&xslurl=http://" + servStr + fldrStr
! + "/precrunch.xsl";
!
! newLoc = spaceReplace(newLoc);
! alert(newLoc);
! parent.hiddenFrame.location.href = newLoc;
! }
!
! function searchRec(nFld,row)
! {
! var fldNumStart = nFld.indexOf('f')+1;
! var id = nFld.substring(nFld.length,fldNumStart); //
! Returns 1 value as a numeric value??????
!
! var fldObj = new FldObj();
! fldObj = parent.hiddenFrame.fdata[id];
!
! var otherData = fldObj.val;
! //var otherData = parent.hiddenFrame.fdata[id];
!
! //alert("nFld= "+nFld+"\notherData = " + otherData);
! return otherData;
! }
!
! // Class framework
! function FldObj(fld,row){
! this.fld = fld; // add properties
! this.row = row;
! }
!
! function establishDetailRows()
! // This function finds all elements that are part of a detail
! area
! // and reassigns an appropriate number to each.
! {
! //alert("establishDetailRows() function");
!
! var dtlStartRow = 0;
! var rowMultiplier = 0;
! var numElems = lawElements.size;
! for(i=0;i<numElems;i++)
! {
! if(lawElements[i].nbr > 10000)
! {
! if(dtlStartRow == 0)
! dtlStartRow = lawElements
! [i].nbr;
! else if(dtlStartRow == lawElements
! [i].nbr)
! rowMultiplier++;
!
! var newNum = (lawElements[i].nbr/1) +
! (rowMultiplier*10000);
! lawElements[i].nbr = newNum;
! }
! }
! }
!
! function initThisForm()
! {
! lawElements = new buildDocumentDotAll(); // Create
! element array
! procLinkElms();
! establishDetailRows();
! changeSrcDoc('');
! }
!
! function doPick()
! {
! alert("\nThis type of select doesn't work yet.");
! }
!
! function doSelect(elemIndex)
! {
! // Need to preserve spaces in key numbers.
! var keyVal = spaceReplace(lawElements[elemIndex].key);
!
! //create api
! var api="http://ag/cgi/ida.exe?"
! api+="_OUT%3DXML"
! api+="%26_PDL%3D" + formPdl
! api+="%26_SYS%3D" + sysName
! api+="%26_TYP%3DSL%26"
!
! //for(i=0;i<lawElements.size;i++)
! for(i=0;i<elemIndex;i++)
! {
! if(trim(lawElements[i].key) != "")
! {
! api+= trim(lawElements[i].key) +
! "%3D" + spaceReplace(lawElements
! [i].fldRef.value)+"%26";
! }
! }
! api+="_KNB%3D"+keyVal;
!
! var xslapi="http://" + servStr + "/servlet/xsltservlet?
! srcurl=" + api + "&xslurl=http://" +
! servStr + fldrStr + "/sel.xsl";
!
! //xslapi = prompt("ida call:\n",xslapi);
!
! var x=window.open
! (xslapi,"","scrollbars=yes,status=yes,width=600,height=300");
! x.openerObj = self; // Give new window a handle to this
! one
! // Set the field to be populated
! x.parFld=lawElements[elemIndex].fldRef;
! }
!
! function trim(inputStr)
! {
! // Delete space padding
! while (true)
! {
! if(inputStr.charAt(inputStr.length-1) == ' ')
! inputStr = inputStr.substring
! (0,inputStr.length-1);
! else if(inputStr.charAt(0) == ' ')
! inputStr = inputStr.substring
! (1,inputStr.length);
! else
! break;
! }
! return inputStr;
! }
!
! function spaceReplace (srcStr)
! {
! var i;
! var returnString = "";
!
! // Search through string''s characters one by one.
! // If character is not in bag, append to returnString.
!
! for (i = 0; i < srcStr.length; i++)
! {
! // Check that current character isn''t whitespace.
! var c = srcStr.charAt(i);
! if (c == ' ')
! returnString += "%20";
! else
! returnString += c;
! }
!
! return returnString;
! }
!
! function lmnt(nbr, key,typ,isSel,dtlName,span,height)
! {
! this.nbr = nbr; // field number
! this.key = key;
! this.typ = typ
! this.isSel = isSel
! this.dtlName; // Name of detail area this element is
! part of
! this.span = span
! this.height = height
! this.fldRef; // Contains a form element object
! reference
! this.toString = lmntToString;
! }
!
! function parseLmnt(objStr)
! {
! var ara = new ArrayFromStr(objStr,";");
! var newLmnt = new lmnt(ara[1],ara[2],ara[3],ara[4],ara
! [5],ara[6],ara[7]);
! return newLmnt;
! }
!
! function lmntToString()
! {
! var retStr = "";
! retStr += "l" + ";";
! retStr += this.nbr + ";";
! retStr += this.key + ";";
! return retStr;
! }
!
! function ArrayFromStr(str, sep)
! {
! if(str.charAt(str.length-1) == ';')
! str = str.substring(0,str.length-1);
! var n=0, i=0, s=str;
! while (n > -1)
! { //
! repeat 'til no separators left
! n = s.indexOf(sep); //
! locate the separator
! if (n > -1)
! { // if separator
! is found
! this[i] = s.substring(0,n); // add
! element
! s = s.substring(n+1); // chop
! the string 'til separator
! }else
! this[i] = s; // add
! last piece of string
! i++; // increase
! elements count
! }
! this.size = i; // set
! size property
! }
!
! function buildDocumentDotAll()
! {
! var numLmnts = 0;
! var numForms = document.forms.length; // Number of
! forms in doc
! for(i=0;i<numForms;i++)
! {
! numElms = document.forms
! [i].elements.length; // Number of elms in form
! for(j=0;j<numElms;j++)
! {
! // Check for obj type
! elType = document.forms[i].elements
! [j].name;
! elType = elType.substring(0,6);
!
! if(elType == 'ln')
! {
! this[numLmnts] = parseLmnt
! (document.forms[i].elements[j].name);
! // Attach element reference
! this[numLmnts].fldRef =
! document.forms[i].elements[j];
! numLmnts++;
! }
! }
! }
! this.size = numLmnts;
! }
!
! function procLinkElms()
! {
! // Links the select buttons to an index in
! documentdotall
! var numLmnts = document.links.length; // Number of
! forms in doc
! for(i=0;i<numLmnts;i++)
! {
! // Check for obj type
! var elType = document.links[i].href;
! elType = elType.substring(0,17);
!
! if(elType != 'javascript:select')
! continue; // Not interested in this
! element
! var thisElm = new ArrayFromStr(document.links
! [i].href, ';')
! for (j=0;j<lawElements.size;j++)
! { // Attempt to correlate with select field
! if((parseInt(thisElm[1].substring
! (2,20)) == parseInt(lawElements[j].nbr))
! && (trim(thisElm[2]) == trim
! (lawElements[j].key)))
! {
! document.links[i].href
! = "javascript:doSelect("+ j +")";
! break;
! }
! }
! }
! }
! ]]>
! </script>
! </xsl:template>
! <!--*****************************************************-->
! </xsl:stylesheet>