home *** CD-ROM | disk | FTP | other *** search
/ ftp.tcs3.com / ftp.tcs3.com.tar / ftp.tcs3.com / DRIVERS / Audio / Office2010 / ProPlus.WW / ProPsWW2.cab / FORMSPREVIEWTEMPLATE.HTML3 < prev    next >
Text File  |  2007-02-04  |  18KB  |  742 lines

  1. <!-- *********************************************************************
  2.                                  Notice
  3.  
  4. You may not modify, use, copy or distribute this file or its contents. 
  5. Internal interfaces referenced in this file are nonpublic, unsupported 
  6. and subject to change without notice. These interfaces may not be 
  7. utilized in other software applications or components.
  8.  
  9.  
  10. ********************************************************************* -->
  11.  
  12. <!-- saved from url=(0025)http://www.microsoft.com/ -->
  13.  
  14. <HTML>
  15. <HEAD>
  16.     <TITLE>Groove Forms Tool - Form</TITLE>
  17.     <STYLE TYPE="text/css">
  18.     .activeTab, .inactiveTab
  19.     {
  20.         cursor:                hand;
  21.         height:                18px;
  22.         border-right:        1px solid black;
  23.     }
  24.  
  25.     .activeTab
  26.     {
  27.         background-color:    #DEDEDE;
  28.     }
  29.  
  30.     .inactiveTab
  31.     {
  32.         background-color:    #797979;
  33.         color:                #FFFFFF;
  34.     }
  35.  
  36.     .tabContents
  37.     {
  38.         background-color:    #DEDEDE;
  39.     }
  40.  
  41.     .highlightField, .hoverField
  42.     {
  43.         background-color:    highlight;
  44.         color:                highlighttext;
  45.     }
  46.  
  47.     .commandbar
  48.     {
  49.         background-color:    menu;
  50.         border:                1px solid buttonshadow;
  51.         border-bottom-width:0px;
  52.     }
  53.  
  54.     .command, .commandDisabled, .commandHover, .commandDown
  55.     {
  56.         width:                16px;
  57.         height:                16px;
  58.         padding:            3px;
  59.         border:                1px solid buttonface;
  60.     }
  61.  
  62.     .commandSep
  63.     {
  64.         width:                0px;
  65.         margin:                0px 2px 0px 2px;
  66.         border-left:        1px solid buttonshadow;
  67.         border-right:        1px solid buttonhighlight;
  68.     }
  69.  
  70.     .commandDisabled IMG
  71.     {
  72.         filter:                progid:DXImageTransform.Microsoft.Alpha(opacity=50);
  73.     }
  74.  
  75.     .commandHover
  76.     {
  77.         border-top-color:    buttonhighlight;
  78.         border-right-color:    buttonshadow;
  79.         border-bottom-color:buttonshadow;
  80.         border-left-color:    buttonhighlight;
  81.     }
  82.  
  83.     .commandDown
  84.     {
  85.         border-top-color:    buttonshadow;
  86.         border-right-color:    buttonhighlight;
  87.         border-bottom-color:buttonhighlight;
  88.         border-left-color:    buttonshadow;
  89.     }
  90.  
  91.     .noFieldsText
  92.     {
  93.         font-family:        tahoma,verdana,sans-serif;
  94.         color:                #BFBFBF;
  95.     }
  96.  
  97.     #divHeadingFieldsContainer, #divFieldsContainer
  98.     {
  99.         display:            none;
  100.     }
  101.     </STYLE>
  102.     <SCRIPT LANGUAGE="JavaScript" SRC="PublicFunctions.js"></SCRIPT>
  103.     <SCRIPT LANGUAGE="JavaScript" SRC="utilityfunctions.js"></SCRIPT>
  104.     <SCRIPT LANGUAGE="JavaScript" SRC="submit.js"></SCRIPT>
  105.     <SCRIPT LANGUAGE="JavaScript" SRC="validation.js"></SCRIPT>
  106.     <SCRIPT LANGUAGE="JavaScript" SRC="form.js"></SCRIPT>
  107.     <SCRIPT LANGUAGE="JavaScript">
  108.     // Put the variables from the querystring into globals.
  109.     getQueryStringVariables();
  110.  
  111.     // Only include form_edit.js if you are actually previewing the form.
  112.     if (!g_IsViewSource)
  113.         document.write("<SCRIPT LANGUAGE=\"JavaScript\" SRC=\"form_edit.js\"></" + "SCRIPT>");
  114.  
  115.     var g_FormHTML = "";
  116.     var g_ShowBorder = false;
  117.     var g_ScriptDispatch = window.external.GetScriptDispatch();
  118.  
  119.     if (g_FormID)
  120.     {
  121.         try
  122.         {
  123.             var Transaction = g_ScriptDispatch.OpenTransaction();
  124.  
  125.             if (!g_IsViewSource)
  126.                 document.write(g_ScriptDispatch.GetFormStyle(g_FormID));
  127.             g_FormHTML = g_ScriptDispatch.GetFormHTML(g_FormID)
  128.             g_ShowBorder = g_ScriptDispatch.GetShowBorder();
  129.  
  130.             Transaction.Commit();
  131.         }
  132.         catch (error)
  133.         {
  134.             Transaction.Abort();
  135.         }
  136.     }
  137.  
  138.     // ============================================== //
  139.     // ===         Begin document methods         === //
  140.     // ============================================== //
  141.  
  142.     function setPreviewDocument()
  143.     {
  144.         if (g_IsViewSource)
  145.             return;
  146.  
  147.         g_ScriptDispatch.SetPreviewDocument(document, getFieldInstances(), getFieldGroupInstances(), getTabGroupInstances());
  148.     }
  149.  
  150.     function clearPreviewDocument()
  151.     {
  152.         if (g_IsViewSource)
  153.             return;
  154.  
  155.         g_ScriptDispatch.ClearPreviewDocument();
  156.     }
  157.  
  158.     function setCurrentField(i_bCallback)
  159.     {
  160.         if (g_IsViewSource)
  161.             return;
  162.  
  163.         g_ScriptDispatch.SetCurrentField(g_CurrentFormObject, i_bCallback);
  164.     }
  165.  
  166.     function clearCurrentField()
  167.     {
  168.         if (g_IsViewSource)
  169.             return;
  170.  
  171.         g_ScriptDispatch.ClearCurrentField();
  172.     }
  173.  
  174.     // ============================================== //
  175.     // ===          Begin layout methods          === //
  176.     // ============================================== //
  177.  
  178.     var g_CurrentFormObject;
  179.     var g_HoverFormObject;
  180.  
  181.     function hoverField(i_Field)
  182.     {
  183.         if (g_IsViewSource)
  184.             return;
  185.  
  186.         if (window.event != null)
  187.             window.event.cancelBubble = true;
  188.  
  189.         if (g_HoverFormObject != null)
  190.             disableHover();
  191.  
  192.         g_HoverFormObject = i_Field;
  193.  
  194.         if (i_Field != null)
  195.         {
  196.             var objLabel = document.getElementById(i_Field.Name + "_label");
  197.             var objField = document.getElementById(i_Field.Name + "_field");
  198.             if (objLabel != null)
  199.                 objLabel.className = "hoverField " + objLabel.className;
  200.             if (objField != null)
  201.                 objField.className = "hoverField " + objField.className;
  202.         }
  203.     }
  204.  
  205.     function hoverTab(i_Tab, i_TabGroup)
  206.     {
  207.         if (window.event != null)
  208.             window.event.cancelBubble = true;
  209.  
  210.         if (g_HoverFormObject != null)
  211.             disableHover();
  212.  
  213.         g_HoverFormObject = i_Tab;
  214.  
  215.         if (i_Tab != null)
  216.         {
  217.             var objTab = window.event.srcElement;
  218.             var objTabContents = document.getElementById(objTab.id + "Contents");
  219.             if (objTab != null)
  220.                 objTab.className = "hoverField " + objTab.className;
  221.             if (objTabContents != null)
  222.                 objTabContents.className = "hoverField " + objTabContents.className;
  223.         }
  224.     }
  225.  
  226.     function selectFieldByName(i_FieldName)
  227.     {
  228.         if (g_IsViewSource)
  229.             return;
  230.  
  231.         if (eval("typeof obj" + i_FieldName) != "undefined")
  232.             selectFieldNoHover(eval("obj" + i_FieldName));
  233.         else if (g_CurrentFormObject != null)
  234.             disableCurrent();
  235.     }
  236.  
  237.     function selectField(i_Field)
  238.     {
  239.         if (g_IsViewSource)
  240.             return;
  241.  
  242.         if (window.event != null)
  243.             window.event.cancelBubble = true;
  244.  
  245.         if (g_CurrentFormObject != null)
  246.             disableCurrent();
  247.  
  248.         g_CurrentFormObject = i_Field;
  249.  
  250.         if (i_Field != null)
  251.             setCurrentField(true);
  252.     }
  253.  
  254.     function selectFieldNoHover(i_Field)
  255.     {
  256.         if (window.event != null)
  257.             window.event.cancelBubble = true;
  258.  
  259.         if (g_CurrentFormObject != null)
  260.             disableCurrent();
  261.  
  262.         g_CurrentFormObject = i_Field;
  263.  
  264.         if (i_Field != null)
  265.         {
  266.             var objLabel = document.getElementById(i_Field.Name + "_label");
  267.             var objField = document.getElementById(i_Field.Name + "_field");
  268.             if (objLabel != null)
  269.                 objLabel.className = "highlightField " + objLabel.className;
  270.             if (objField != null)
  271.                 objField.className = "highlightField " + objField.className;
  272.  
  273.             setCurrentField(false);
  274.             scrollToField();
  275.         }
  276.     }
  277.  
  278.     function selectTab(i_Tab, i_TabGroup)
  279.     {
  280.         if (window.event != null)
  281.             window.event.cancelBubble = true;
  282.  
  283.         if (g_CurrentFormObject != null)
  284.             disableCurrent();
  285.  
  286.         g_CurrentFormObject = i_Tab;
  287.  
  288.         if (i_Tab != null)
  289.         {
  290.             var objTab = document.getElementById(i_Tab.Name);
  291.             if (objTab != null)
  292.                 tabClick(objTab, i_TabGroup);
  293.  
  294.             var objTab = window.event.srcElement;
  295.             if (objTab != null)
  296.                 objTab.className = "hoverField " + objTab.className;
  297.  
  298.             setCurrentField(true);
  299.         }
  300.     }
  301.  
  302.     function disableCurrent()
  303.     {
  304.         if (g_CurrentFormObject.Type == FormObjectType_Tab)
  305.             disableCurrentHelper(g_CurrentFormObject.Name, "", "Contents")
  306.         else
  307.             disableCurrentHelper(g_CurrentFormObject.Name, "_label", "_field")
  308.     }
  309.  
  310.     function disableCurrentHelper(i_Name, i_LabelPostfix, i_FieldPostfix)
  311.     {
  312.         var objCurrentLabel = document.getElementById(i_Name + i_LabelPostfix);
  313.         var objCurrentField = document.getElementById(i_Name + i_FieldPostfix);
  314.         if (objCurrentLabel != null)
  315.             objCurrentLabel.className = objCurrentLabel.className.replace(/(hoverField|highlightField) /g, "");
  316.         if (objCurrentField != null)
  317.             objCurrentField.className = objCurrentField.className.replace(/(hoverField|highlightField) /g, "");
  318.     }
  319.  
  320.     function disableHover()
  321.     {
  322.         if (g_HoverFormObject.Type == FormObjectType_Tab)
  323.             disableHoverHelper(g_HoverFormObject.Name, "", "Contents");
  324.         else
  325.             disableHoverHelper(g_HoverFormObject.Name, "_label", "_field");
  326.     }
  327.  
  328.     function disableHoverHelper(i_Name, i_LabelPostfix, i_FieldPostfix)
  329.     {
  330.         var objHoverLabel = document.getElementById(i_Name + i_LabelPostfix);
  331.         var objHoverField = document.getElementById(i_Name + i_FieldPostfix);
  332.         if (objHoverLabel != null)
  333.             objHoverLabel.className = objHoverLabel.className.replace(/(hoverField|highlightField) /g, "");
  334.         if (objHoverField != null)
  335.             objHoverField.className = objHoverField.className.replace(/(hoverField|highlightField) /g, "");
  336.  
  337.         if (g_CurrentFormObject != null && g_CurrentFormObject.Name == i_Name)
  338.         {
  339.             var objCurrentLabel = document.getElementById(i_Name + i_LabelPostfix);
  340.             var objCurrentField = document.getElementById(i_Name + i_FieldPostfix);
  341.             if (objCurrentLabel != null)
  342.                 objCurrentLabel.className = "highlightField " + objCurrentLabel.className;
  343.             if (objCurrentField != null)
  344.                 objCurrentField.className = "highlightField " + objCurrentField.className;
  345.         }
  346.     }
  347.  
  348.     function moveLeft()
  349.     {
  350.         int_moveLeft(g_CurrentFormObject);
  351.         selectFieldNoHover(g_CurrentFormObject);
  352.  
  353.         scrollToField();
  354.     }
  355.  
  356.     function int_moveLeft(i_FormObject)
  357.     {
  358.         if (i_FormObject != null)
  359.         {
  360.             var arrFields = getProperFields(i_FormObject);
  361.             for (var i = 0; i < arrFields.length; i++)
  362.             {
  363.                 if (arrFields[i].Name == i_FormObject.Name)
  364.                 {
  365.                     // Can't move up  if it is the first field.
  366.                     if (i == 0)
  367.                         break;
  368.  
  369.                     var PreArray = new Array();
  370.                     if (i >= 2)
  371.                         PreArray = arrFields.slice(0, i - 1);
  372.  
  373.                     var PostArray = new Array();
  374.                     if (arrFields.length > i)
  375.                         PostArray = arrFields.slice(i + 1, arrFields.length);
  376.  
  377.                     var FieldsArray = PreArray.concat(arrFields[i], arrFields[i-1], PostArray);;
  378.                     if (i_FormObject.Tab != null)
  379.                         i_FormObject.Tab.Fields = FieldsArray;
  380.                     else if (i_FormObject.FieldGroup != null)
  381.                         i_FormObject.FieldGroup.Fields = FieldsArray;
  382.                     else
  383.                         Fields.FormObjects = FieldsArray;
  384.                     refreshLayout();
  385.  
  386.                     break;
  387.                 }
  388.             }
  389.  
  390.             setPreviewDocument();
  391.         }
  392.     }
  393.  
  394.     function moveRight()
  395.     {
  396.         if (g_CurrentFormObject != null)
  397.         {
  398.             var arrFields = getProperFields(g_CurrentFormObject);
  399.             for (var i = 0; i < arrFields.length; i++)
  400.             {
  401.                 if (arrFields[i].Name == g_CurrentFormObject.Name)
  402.                 {
  403.                     int_moveLeft(arrFields[i+1]);
  404.                     break;
  405.                 }
  406.             }
  407.  
  408.             selectFieldNoHover(g_CurrentFormObject);
  409.             setPreviewDocument();
  410.         }
  411.  
  412.         scrollToField();
  413.     }
  414.  
  415.     function scrollToField()
  416.     {
  417.         var objLabel = document.getElementById(g_CurrentFormObject.Name + "_label");
  418.         var objField = document.getElementById(g_CurrentFormObject.Name + "_field");
  419.         if (objLabel != null || objField != null)
  420.         {
  421.             var objInput = objLabel;
  422.             if (objInput == null)
  423.                 objInput = objField;
  424.  
  425.             var intTop = getOffset(objInput, "top");
  426.             var intHeight = objInput.offsetHeight;
  427.             if (intTop < document.body.scrollTop)
  428.             {
  429.                 document.body.scrollTop = intTop - 10;
  430.             }
  431.             else if ((intTop + intHeight) > (document.body.scrollTop + document.body.offsetHeight))
  432.             {
  433.                 document.body.scrollTop = (intTop - document.body.offsetHeight) + intHeight + 10;
  434.             }
  435.         }
  436.     }
  437.  
  438.     function changeColumns(i_Columns)
  439.     {
  440.         var Columns = parseInt(i_Columns);
  441.         if (!isNaN(Columns))
  442.         {
  443.             Fields.NumberOfColumns = Columns;
  444.             refreshLayout();
  445.         }
  446.  
  447.         selectFieldNoHover(g_CurrentFormObject);
  448.         setPreviewDocument();
  449.     }
  450.  
  451.     function changeColumnSpan(i_ColumnSpan)
  452.     {
  453.         if (g_CurrentFormObject != null)
  454.         {
  455.             var ColumnSpan = parseInt(i_ColumnSpan);
  456.             if (!isNaN(ColumnSpan))
  457.             {
  458.                 g_CurrentFormObject.ColumnSpan = ColumnSpan;
  459.                 refreshLayout();
  460.             }
  461.         }
  462.  
  463.         selectFieldNoHover(g_CurrentFormObject);
  464.         setPreviewDocument();
  465.     }
  466.  
  467.     function changeRowSpan(i_RowSpan)
  468.     {
  469.         if (g_CurrentFormObject != null)
  470.         {
  471.             var RowSpan = parseInt(i_RowSpan);
  472.             if (!isNaN(RowSpan))
  473.             {
  474.                 g_CurrentFormObject.RowSpan = RowSpan;
  475.                 refreshLayout();
  476.             }
  477.         }
  478.  
  479.         selectFieldNoHover(g_CurrentFormObject);
  480.         setPreviewDocument();
  481.     }
  482.  
  483.     function changeClassName(i_ClassName)
  484.     {
  485.         if (g_CurrentFormObject != null)
  486.         {
  487.             g_CurrentFormObject.ClassName = i_ClassName;
  488.             refreshLayout();
  489.         }
  490.  
  491.         selectFieldNoHover(g_CurrentFormObject);
  492.         setPreviewDocument();
  493.     }
  494.  
  495.     function changeInheritFrom(i_InheritFrom)
  496.     {
  497.         if (g_CurrentFormObject != null)
  498.             g_CurrentFormObject.InheritFrom = i_InheritFrom;
  499.     }
  500.  
  501.     function changeIsHidden()
  502.     {
  503.         if (g_CurrentFormObject != null)
  504.         {
  505.             if (g_CurrentFormObject.IsHidden)
  506.                 g_CurrentFormObject.IsHidden = false;
  507.             else
  508.                 g_CurrentFormObject.IsHidden = true;
  509.             refreshLayout();
  510.         }
  511.  
  512.         selectFieldNoHover(g_CurrentFormObject);
  513.         setPreviewDocument();
  514.     }
  515.  
  516.     function changeIsReadOnly()
  517.     {
  518.         if (g_CurrentFormObject != null)
  519.         {
  520.             if (g_CurrentFormObject.IsReadOnly)
  521.                 g_CurrentFormObject.IsReadOnly = false;
  522.             else
  523.                 g_CurrentFormObject.IsReadOnly = true;
  524.         }
  525.     }
  526.  
  527.     function changeIsRequired()
  528.     {
  529.         if (g_CurrentFormObject != null)
  530.         {
  531.             if (g_CurrentFormObject.IsRequired)
  532.                 g_CurrentFormObject.IsRequired = false;
  533.             else
  534.                 g_CurrentFormObject.IsRequired = true;
  535.             refreshLayout();
  536.         }
  537.  
  538.         selectFieldNoHover(g_CurrentFormObject);
  539.         setPreviewDocument();
  540.     }
  541.  
  542.     function changePropagateUpdates()
  543.     {
  544.         if (g_CurrentFormObject != null)
  545.         {
  546.             if (g_CurrentFormObject.PropagateUpdates)
  547.                 g_CurrentFormObject.PropagateUpdates = false;
  548.             else
  549.                 g_CurrentFormObject.PropagateUpdates = true;
  550.         }
  551.     }
  552.  
  553.     function changeTabColumns(i_Columns)
  554.     {
  555.         if (g_CurrentFormObject != null)
  556.         {
  557.             var TabColumns = parseInt(i_Columns);
  558.             if (!isNaN(TabColumns))
  559.             {
  560.                 g_CurrentFormObject.NumberOfColumns = TabColumns;
  561.                 refreshLayout();
  562.             }
  563.         }
  564.  
  565.         selectFieldNoHover(g_CurrentFormObject);
  566.         setPreviewDocument();
  567.     }
  568.  
  569.     function changeShowBorder(i_ShowBorder)
  570.     {
  571.         g_ShowBorder = i_ShowBorder;
  572.         refreshLayout();
  573.  
  574.         selectFieldNoHover(g_CurrentFormObject);
  575.         setPreviewDocument();
  576.     }
  577.  
  578.     function refreshLayout()
  579.     {
  580.         HeadingFields.displayFields();
  581.         Fields.displayFields();
  582.         initFormPage();
  583.     }
  584.  
  585.     // ============================================== //
  586.     // ===         Begin callback methods         === //
  587.     // ============================================== //
  588.  
  589.     function canMoveLeft()
  590.     {
  591.         if (g_CurrentFormObject != null)
  592.         {
  593.             var arrFields = getProperFields(g_CurrentFormObject);
  594.             for (var i = 0; i < arrFields.length; i++)
  595.             {
  596.                 if (arrFields[i].Name == g_CurrentFormObject.Name && i >= 1)
  597.                         return true;
  598.             }
  599.         }
  600.  
  601.         return false;
  602.     }
  603.  
  604.     function canMoveRight()
  605.     {
  606.         if (g_CurrentFormObject != null)
  607.         {
  608.             var arrFields = getProperFields(g_CurrentFormObject);
  609.             for (var i = 0; i < arrFields.length; i++)
  610.             {
  611.                 if (arrFields[i].Name == g_CurrentFormObject.Name && i < arrFields.length-1)
  612.                         return true;
  613.             }
  614.         }
  615.  
  616.         return false;
  617.     }
  618.     
  619.     function getProperFields(i_Field)
  620.     {
  621.         var arrFields;
  622.         if (g_CurrentFormObject.Tab != null)
  623.             arrFields = g_CurrentFormObject.Tab.Fields;
  624.         else if (g_CurrentFormObject.FieldGroup != null)
  625.             arrFields = g_CurrentFormObject.FieldGroup.Fields;
  626.         else
  627.             arrFields = Fields.FormObjects;
  628.         return arrFields;
  629.     }
  630.  
  631.     function getFieldInstances()
  632.     {
  633.         var arrFields = new Array();
  634.         var arrFormObjects = HeadingFields.FormObjects.concat(Fields.FormObjects)
  635.         for (var i = 0; i < arrFormObjects.length; i++)
  636.         {
  637.             var FormObject = arrFormObjects[i];
  638.             if (FormObject.Type == FormObjectType_TabGroup)
  639.             {
  640.                 for (var j = 0; j < FormObject.Tabs.length; j++)
  641.                 {
  642.                     for (var k = 0; k < FormObject.Tabs[j].Fields.length; k++)
  643.                     {
  644.                         if (FormObject.Tabs[j].Fields[k].Type != FormObjectType_FieldGroup)
  645.                             arrFields.push(FormObject.Tabs[j].Fields[k]);
  646.                         else
  647.                         {
  648.                             // If it is a field group within a tab group, add the fields.
  649.                             var FieldGroup = FormObject.Tabs[j].Fields[k];
  650.                             for (var l = 0; l < FieldGroup.Fields.length; l++)
  651.                             {
  652.                                 arrFields.push(FieldGroup.Fields[l]);
  653.                             }
  654.                         }
  655.                     }
  656.                 }
  657.             }
  658.             else if (FormObject.Type == FormObjectType_FieldGroup)
  659.             {
  660.                 for (var j = 0; j < FormObject.Fields.length; j++)
  661.                 {
  662.                     arrFields.push(FormObject.Fields[j]);
  663.                 }
  664.             }
  665.             else
  666.             {
  667.                 arrFields.push(FormObject);
  668.             }
  669.         }
  670.         return arrFields;
  671.     }
  672.  
  673.     function getFieldGroupInstances()
  674.     {
  675.         return Fields.FieldGroups;
  676.     }
  677.  
  678.     function getTabGroupInstances()
  679.     {
  680.         return Fields.TabGroups;
  681.     }
  682.  
  683.     function getScriptHostQI(i_Interface)
  684.     {
  685.         try
  686.         {
  687.             return window.external.GetScriptDispatch();
  688.         }
  689.         catch (error)
  690.         {
  691.             if (!g_AlertShown)
  692.             {
  693.                 alert("This web page should only be opened from within Groove. Please close the window.");
  694.                 g_AlertShown = true;
  695.             }
  696.             return null;
  697.         }
  698.     }
  699.     </SCRIPT>
  700. </HEAD>
  701. <BODY ONLOAD="setPreviewDocument(); initFormPage();" ONBEFOREUNLOAD="clearPreviewDocument(); clearCurrentField(); terminateFormPage();" ONCLICK="selectField(null); clearCurrentField();" ONMOUSEOVER="hoverField(null);">
  702.  
  703. <TABLE ID="tableNoFieldsInfo" CELLPADDING="0" CELLSPACING="0" BORDER="0" WIDTH="100%" HEIGHT="90%">
  704. <TR>
  705.     <TD VALIGN="middle" ALIGN="center" CLASS="noFieldsText">
  706.         <FONT STYLE="font-size:14pt;">Select the fields to include on this form from the list below, or add new fields by clicking "Create New Field..." in the Design Object Pane.</FONT>
  707.     </TD>
  708. </TR>
  709. </TABLE>
  710.  
  711. <FORM NAME="GrooveFormBase">
  712.  
  713.     <DIV ID="divHeadingFieldsContainer"></DIV>
  714.     <DIV ID="divFieldsContainer"></DIV>
  715.  
  716.     <SCRIPT LANGUAGE="javascript">
  717.     if (g_IsViewSource)
  718.     {
  719.         document.write("<DIV STYLE=\"font-family:courier; font-size:10pt;\" NOWRAP>");
  720.  
  721.         document.write("<HTML><br>");
  722.         document.write("<BODY><br><br>");
  723.         document.write("<FORM NAME=\"GrooveFormBase\"><br><br>");
  724.     }
  725.  
  726.     document.write(g_FormHTML);
  727.     //document.write("<textarea rows=25 cols=100>" + g_FormHTML + "</textarea>");
  728.  
  729.     if (g_IsViewSource)
  730.     {
  731.         document.write("<br></FORM><br><br>");
  732.         document.write("</BODY><br>");
  733.         document.write("</HTML><br>");
  734.  
  735.         document.write("</DIV>");
  736.     }
  737.     </SCRIPT>
  738.  
  739. </FORM>
  740.  
  741. </BODY>
  742. </HTML>