// JavaScript code for Inmagic's Web Query
// Copyright © 1998-2004 Inmagic, Inc., Woburn, MA, USA. All rights reserved.

var   bUseISAPI      = true;

var   dbtw_root      = 'ics-wpd';
var   dbtw_xsl       = '/ics-wpd/xsl/';
var   dbtw_help      = '/ics-wpd/help/';
var   dbtw_action    = '/ics-wpd/exec/icswppro.dll';

//    state variables
      var   gsb_setFocusToFirstTabBox   = true;
      var   gsb_browserIsIE             = (navigator.appName == "Microsoft Internet Explorer");
      var   gsb_cookieNameIsFormName    = false;

//    box specific variables
      var   gbox_styleBordeStyle       = '';
      var   gbox_styleBorderWidth      = '';
      var   gbox_styleHeight           = "";

      var   gbox_bAutoResize           = false;
      var   gbox_bMaxResize            = false;

      var   gbox_inputIx                  = '';
      var   gbox_choicesListType          = 1;
      var   gbox_choicesListURL           = '';
      var   gbox_inputFieldNameListXML    = '';
      var   gbox_inputFieldNameListNonXML = '';
      var   gbox_inputFieldNameSelected   = 0;
      var   gbox_maxListLength            = 0;
      var   gbox_includeNonPreferredTerms = 1;

//    global form variables
      var   gform_TN                   = '';
      var   gform_BG                   = '';
      var   gform_FG                   = '';
      var   gform_ES                   = '';
      var   gform_MF                   = '';
      var   gform_QS                   = '';
      var   gform_CookieNamePrefix     = '';
      var   gform_Password             = '';

      var   gform_cAlternateEntryChar      = '|';
      var   gform_bBoxHighlighting         = true;
      var   gform_bBoxHighlightingEnabled  = (true && gsb_browserIsIE);

      var   gform_nFirstTabOrderBox    = -1;
      var   gform_nFirstPwBox          = -1;

//    word wheel
      var   appletCount = 0;
      var   inputObjects = new Array(), inputNames = new Array();
      var   appletObjects = new Array(), appletNames = new Array();
      var   timerID = null;
      var   dbtw_applet = "\"BrowserApplet.class\"";
      var   dbtw_applet_base;
      var   dbtw_ww_width = 80;
      var   dbtw_ww_height = 30;
      var   dbtw_ww_label = "Word Wheel";

//    ichoices form colors
      var   ichoices_bgColor           = '';
      var   ichoices_fgColor           = '';

//    other
      var   dbtw_server = window.location.protocol + "//" + window.location.host + dbtw_action;
      var   wp_server   = window.location.protocol + "//" + window.location.host;
      var   dbtw_noquery_msg = "No query criteria specified.";

if ( parseInt(navigator.appVersion, 10) < 4 )
   dbtw_applet_base = "\"/" + dbtw_root + "/applets/ww25\"";
else if ( (navigator.appName.indexOf("Netscape") >= 0) &&
            (parseInt(navigator.appVersion, 10) == 4) &&
            (navigator.appVersion.substring(2,3) == "0") &&
            (parseInt(navigator.appVersion.substring(2,5), 10) <= 6) )
   dbtw_applet_base = "\"/" + dbtw_root + "/applets/ww25\"";
else
   dbtw_applet_base = "\"/" + dbtw_root + "/applets/ww30\"";


function dbtw_q_submit(form_obj)
   {
   qbeFormSetData();

   if ((navigator.appName == "Microsoft Internet Explorer") && (navigator.appVersion.indexOf("3.0") >= 0))
      return true;

   var el_count = form_obj.elements.length;
   for ( var i=0; i<el_count; i++ )
      {
      if (form_obj.elements[i].type)
         {
         if (form_obj.elements[i].name.substring(0,2).toUpperCase() == "QI")
            {
            if (form_obj.elements[i].type.toUpperCase() == "CHECKBOX")
               {
               if (form_obj.elements[i].checked)
                  return true;
               }
            else if (form_obj.elements[i].type.toUpperCase() == "RADIO")
               {
               if (form_obj.elements[i].checked)
                  return true;
               }
            else if (form_obj.elements[i].type.substring(0,6) == "select")
               {
               if ( form_obj.elements[i].options[form_obj.elements[i].selectedIndex].text != "" )
                  return true;
               }
            else
               {
               if (form_obj.elements[i].value != "")
                  return true;
               }
            }
         if (form_obj.elements[i].name.substring(0,2).toUpperCase() == "QY")
            if (form_obj.elements[i].value != "")
               return true;
         }
      }
   alert(dbtw_noquery_msg);
   return false;
   }

function dbtw_q_form()
   {
	document.write("\r\n<form action=\"" + dbtw_action + "\" METHOD=POST NAME=\"qbe_form\" onSubmit=\"return dbtw_q_submit(this)\" onReset=\"qbeFormGetData()\">\r\n");
	document.write("<input type=\"hidden\" NAME=\"XC\" VALUE=\"" + dbtw_action + "\">\r\n");
	document.write("<input type=\"hidden\" NAME=\"BU\" VALUE=\"" + window.location + "\">\r\n");
   }

function dbtw_q_applet(input_name, bIncludeTD)
   {
	var applet_html = "";
   var bIncludeTD = true;
   var sTD = "<td>";

   if (arguments.length > 1)
      if (! bIncludeTD)
         sTD = "";

   applet_html = "\r\n" + sTD + "<APPLET CODE=" + dbtw_applet +
	               " CODEBASE=" + dbtw_applet_base +
						" WIDTH=" + dbtw_ww_width + " HEIGHT=" + dbtw_ww_height + " ALIGN=TOP VSPACE=0" +
						" NAME=\"app_" + input_name + "\" MAYSCRIPT>\r\n";
	document.write( applet_html );

   var btnName_html = "\r\n<PARAM NAME=\"btnName\" VALUE=\"" + dbtw_ww_label + "\">";
	document.write( btnName_html );

	inputNames[appletCount] = input_name;
	appletNames[appletCount] = "app_" + input_name;
	appletCount++;
   }

function checkApplets()
   {
   var i = 0;
   var pasteStr = "";
   var currApplet = null;
   var currBox = null;
   var boxText = "";

	for (i = 0; i < appletCount; i++ )
	{
		currApplet = appletObjects[i];
		pasteStr = currApplet.m_PasteStr;
		if (pasteStr != "")
		{
			currBox = inputObjects[i];
			if (currBox.value == "")
				boxText = pasteStr;
			else
				boxText = currBox.value + " / " + pasteStr;
			currBox.value = boxText;
			currApplet.m_PasteStr = "";
		}
	}
	timerID = setTimeout("checkApplets()", 200);
   }

function initApplet(currApplet)
   {
   currApplet.ServerAddress = dbtw_server;

   var tmp, r, g, b;
   tmp = document.bgColor;
   r = "0x" + tmp.substring(1, 3);
   g = "0x" + tmp.substring(3, 5);
   b = "0x" + tmp.substring(5, 7);
   currApplet.SetButtonBkColor(parseInt(r), parseInt(g), parseInt(b));
   }

function dbtw_init_page()
   {
	var appletIndex;
	var appletObject;

   qbeFormGetVariables();
   qbeFormGetPassword();
   qbeFormGetText();
   setFocusToFirstTabBox();

   setCookieEx('rsST','');

	for (appletIndex = 0; appletIndex < appletCount; appletIndex++ )
	   {
		inputObjects[appletIndex] = eval( "document.qbe_form." + inputNames[appletIndex] );

		if ((navigator.appName == "Microsoft Internet Explorer") &&
          (navigator.appVersion.indexOf("3.0") >= 0))
			appletObject = document.qbe_form.elements[appletNames[appletIndex]];
		else
 			appletObject = document.applets[appletNames[appletIndex]];

		appletObjects[appletIndex] = appletObject;
		initApplet( appletObject );
	   }
	timerID = setTimeout("checkApplets()", 500);
   }

function dbtw_terminate_page()
   {
   qbeFormSetPassword();
	clearTimeout(timerID);
   }

function dbtw_initialize(tb_name, bUsePassword, msg_file)
   {
   if (true)
      window.onerror=function(){return false;}
   else
      alert('debug mode: error trapping disabled');

   // tb_name, bUsePassword are unused, and are present to be compatible with generated HTML
   // msg_file, if present and not empty, supplies a message file
   var actMsgFile = "";
   if ((arguments.length >= 3) && (msg_file.length > 0))
      actMsgFile = "&MF=" + msg_file;

   // Support setting localized strings
   document.write("\r\n<SCRIPT LANGUAGE=\"JavaScript\" SRC=\"" + dbtw_action +
                  "?AC=APPLET_STRINGS" + actMsgFile + "\"></" + "SCRIPT>");
   }

/////
//
// UTIL CODE
//

function strRemoveLeadingTrailingSpaces(s)
   {
	s = s.replace(/^(\s)+/, "");
	s = s.replace(/(\s)+$/, "");
	return s;
   }

function escapeEx(sz)
   {
	return ('z' + sz.replace(/[{$,%,',`,@,{,},~,!,#,(,),&,^,+,\,,=,\[,\], ]/g,"_"));
   }

function getCookie(sCookieName, defaultValue)
   {
   if (!navigator.cookieEnabled)
      {
      if (arguments.length > 1)
         return defaultValue;
      else
         return '';
      }

   var sDocumentCookie = document.cookie;
   sCookieName = escape(sCookieName);
   if (sDocumentCookie.length > 0)
      {
      sCookieNameToFind = sCookieName + "=";
      cStart = sDocumentCookie.indexOf(sCookieNameToFind);
      if (cStart != -1)
         {
         cStart += sCookieNameToFind.length;
         cEnd   = sDocumentCookie.indexOf(";", cStart);
         if (cEnd == -1)
            cEnd = sDocumentCookie.length;
         return unescape(sDocumentCookie.substring(cStart, cEnd));
         }
      else
         {
         if (arguments.length > 1)
            return defaultValue;
         else
            return '';
         }
      }
   else
      {
      if (arguments.length > 1)
         return defaultValue;
      else
         return '';
      }
   }

function getCookieEx(sCookieName)
   {
   if (!navigator.cookieEnabled)
      return '';

   if (!gsb_browserIsIE)
      return getCookie(sCookieName);
   else if (!document.all.uData)
      return getCookie(sCookieName);
   else
      {
      var sValue = '';
      sCookieName = escapeEx(sCookieName);
      uData.load("uData");
      sValue = uData.getAttribute(sCookieName);
      if (sValue == null || sValue == "null" || sValue == "" || sValue.indexOf("undefined") >= 0 || sValue.lastIndexOf("=") == sValue.length - 1)
         sValue = "";
      else
         sValue = unescape(sValue);
      // alert('Qgetting "' + sCookieName + '" with "' + sValue + '"');
      return sValue;
      }
   }

function setCookie(sCookieName, sValue, iMinutesToSave)
   {
   if (!navigator.cookieEnabled)
      return;

   sCookieName = escape(sCookieName);
   sValue = escape(sValue);

   var sExpires = "";
   var sCookie  = "";

   if (iMinutesToSave == -1)
      return;
   else if (iMinutesToSave > 0)
      {
      var exp = new Date();
      var newExpTime = exp.getTime() + ( iMinutesToSave * 60 * 1000 );
      exp.setTime(newExpTime);
      sExpires = "; expires=" + exp.toGMTString();
      }
   else if (iMinutesToSave == -2)
      {
      var nextYear = new Date();
      nextYear.setFullYear(nextYear.getFullYear() + 1);
      sExpires = "; expires=" + nextYear.toGMTString();
      }
   sNewCookie = sCookieName + "=" + sValue + sExpires + "; path=/";
   document.cookie = sNewCookie;
   }

function setCookieEx(sCookieName, sValue)
   {
   if (!navigator.cookieEnabled)
      return;
   if (!gsb_browserIsIE)
      setCookie(sCookieName, sValue, 0)
   else if (!document.all.uData)
      setCookie(sCookieName, sValue, 0)
   else
      {
      sValue = escape(sValue);
      if (sValue.length > 65000)
         return;
      sCookieName = escapeEx(sCookieName);
   	uData.setAttribute(sCookieName,sValue);
   	uData.save("uData");
      }
   }

/////
//
// FORM INIT CODE
//
function setFocusToFirstTabBox()
   { // FF
   if (!gsb_setFocusToFirstTabBox)
      return;

   var formObj     = document.qbe_form;  if (!formObj) return
   var formLength  = formObj.elements.length;
   var tabIndex    = -1;

   // set the focus to the first box in the tab order
   if (gform_nFirstTabOrderBox > -1)
      tabIndex = gform_nFirstTabOrderBox;

   if (tabIndex > -1)
      {
      formObj.elements[tabIndex].focus();
      gsb_setFocusToFirstTabBox = false;
      }
   }

/////
//
// FORM SET CODE
//
function qbeFormSetPassword()
   {
   if (!navigator.cookieEnabled)
      return;

   var sPassword     = '';
   var sPwCookieName = '';

   sPwCookieName = gform_CookieNamePrefix + 'pw';

   // does the form have a INPUT type=PASSWORD box?
   // if so, save it; if not, create a fake PW for the form to save
   // which is a flag for qbeFormGetText()
   if (gform_nFirstPwBox > -1)
      {
      var formObj       = document.qbe_form;  if (!formObj) return
      var formLength    = formObj.elements.length;
      sPassword         = formObj.elements[gform_nFirstPwBox].value;
      }

   // to know whether or not we should restore the text we must ALWAYS save a password
   // so if the user didn't enter one, or there is none on the form, save a fake one
   if (sPassword == '')
      sPassword = 'mvilyf'; // pw cannot be ''

   // always store PW in real cookie (not .SetAttribute)
   // this will ensure that PW expires when browser session ends
   setCookie(sPwCookieName, sPassword, 0);
   }

function qbeFormSetText()
   {
   if (!navigator.cookieEnabled)
      return;

   var formObj     = document.qbe_form;  if (!formObj) return
   var formLength  = formObj.elements.length;
   var sText = '';
   var sTxCookieName = '';

   for (var i=0; i<formLength; i++)
      if (formObj.elements[i].type)
         if (formObj.elements[i].type.substring(0,4) == "text")
            if (formObj.elements[i].name.toUpperCase().substring(0,2) == "QI")
               sText += formObj.elements[i].name.toUpperCase() + 'r&m:[' + formObj.elements[i].value + ']:r&m';

   sTxCookieName = gform_CookieNamePrefix + 'txq';
   setCookieEx(sTxCookieName, sText);
   }

function qbeFormSetData()
   { // FF
   qbeFormSetPassword();
   qbeFormSetText();
   }

/////
//
// FORM GET CODE
//
function qbeFormGetVariables()
   {
   var   formObj    = document.qbe_form;  if (!formObj) return
   var   formLength = formObj.elements.length;

   var   bFoundBoxHighlighting  = false;

   // helps find the first pw box
   var   sPassword             = '';
   var   firstPasswordBox      = -1;
   var   bFoundPassword        = false;
   var   bFoundHiddenPassword  = false;

   // helps find the first box in tab order
   var   tabIndex             = -1; // help the find the lowest formObj.elements[i].tabIndex
   var   firstTabOrderBox     = -1; // once the loop if complete, the lowest formObj.elements[i].tabIndex

   // local variables
   var   sElementName      = '';
   var   sElementValule    = '';
   var   sElementValuleEx  = '';
   var   sElementType      = '';

   // this is what we hope to find by looping through this form
   //    the first box in the tab order
   //    the name of the cookie to read (in the "QS" name/value pair)
   //    the location of the password input, and it's value (in the "ID" name/value pair)
   //
   for (var i=0; i<formLength; i++)
      {
      if (formObj.elements[i].type)
         {
         sElementName    = formObj.elements[i].name.toUpperCase();
         sElementNameEx  = formObj.elements[i].name.toUpperCase().substring(0,2);
         sElementValue   = formObj.elements[i].value;
         sElementType    = formObj.elements[i].type.toLowerCase().substring(0,4);

         if (sElementType == "text")
            {
            if (sElementNameEx == "QI")
               {
               if (formObj.elements[i].tabIndex > 0)
                  if ((formObj.elements[i].tabIndex < tabIndex) || (tabIndex == -1))
                     {
                     tabIndex = formObj.elements[i].tabIndex;
                     firstTabOrderBox = i;
                     }
               }
            } // if (sElementType == "text")
         else if (sElementType == "hidd")
            {
            if ((sElementName == "TN") && (gform_TN == ''))
               gform_TN = sElementValue.toUpperCase();

            else if (sElementName == "BG")
               gform_BG = sElementValue;
            else if (sElementName == "FG")
               gform_FG = sElementValue;

            else if ((sElementName == "ES") && (gform_ES == ''))
               gform_ES = sElementValue;
            else if ((sElementName == "MF") && (gform_MF == ''))
               gform_MF = sElementValue;

            if ((gform_CookieNamePrefix == '') && (sElementName == "QS"))
               gform_CookieNamePrefix = escapeEx(sElementValue.toLowerCase());

            else if ((sElementName == "ID") && (!(bFoundPassword || bFoundHiddenPassword)))
               {
               sPassword = sElementValue;
               bFoundHiddenPassword = true;
               }

            else if ((sElementName == "BHL") && (!bFoundBoxHighlighting))
               {
               gform_bBoxHighlighting = (sElementValue == '1');
               bFoundBoxHighlighting  = true;
               }
            } // if (sElementType == "hidd")
         else if ((sElementType == "pass") && (!(bFoundPassword || bFoundHiddenPassword)))
            {
            if (firstPasswordBox == -1)
               if (sElementName == "ID")
                  {
                  sPassword = sElementValue;
                  firstPasswordBox = i;
                  bFoundPassword = true;

                  if (formObj.elements[i].tabIndex > 0)
                     if ((formObj.elements[i].tabIndex < tabIndex) || (tabIndex == -1))
                        {
                        tabIndex = formObj.elements[i].tabIndex;
                        firstTabOrderBox = i;
                        }
                  }
            } // if (sElementType == "pass")
         } // if (formObj.elements[i].type)
      } // for (var i=0; i<formLength; i++)


   // the values for the pw box
   if (bFoundPassword || bFoundHiddenPassword)
      {
      gform_Password = sPassword;
      if (firstPasswordBox > -1)
         gform_nFirstPwBox = firstPasswordBox;
      }

   // the first box in the tab order
   if (firstTabOrderBox > -1)
      gform_nFirstTabOrderBox = firstTabOrderBox;

   // if "QS" is not found, use the name of the form
   if (gform_CookieNamePrefix == '')
      {
      gform_CookieNamePrefix = escapeEx(formObj.name.toLowerCase());
      gsb_cookieNameIsFormName = true;
      }
   }

function qbeFormGetPassword()
   {
   var formObj     = document.qbe_form;  if (!formObj) return
   var formLength  = formObj.elements.length;

   // if the form already has a password set then no need to read the cookie
   if (gform_Password.length > 0)
      return;

   if (!navigator.cookieEnabled)
      {
      sTxCookieName = gform_CookieNamePrefix + 'txq';
      setCookieEx(sTxCookieName, '');
      return;
      }

   var sPwCookieName = '';
   var sTxCookieName = '';
   var sPassword     = '';

   // note that it's possible that we are going to read the a fake PW here
   sPwCookieName  = gform_CookieNamePrefix + 'pw';
   sPassword      = getCookie(sPwCookieName);


   // if there's a PW on the form and we are not reading the fake pw then set
   if (gform_nFirstPwBox > -1)
      if (sPassword != 'mvilyf')
         formObj.elements[gform_nFirstPwBox].value = sPassword;

   // if the pw has expired then the saved text should expire too
   if (sPassword == '')
      {
      sTxCookieName = gform_CookieNamePrefix + 'txq';
      setCookieEx(sTxCookieName, '');
      }
   }

function qbeFormGetText()
   {
   if (!navigator.cookieEnabled)
      return;

   if (gsb_cookieNameIsFormName)
      return;

   var   formObj    = document.qbe_form;  if (!formObj) return
   var   formLength = formObj.elements.length;
   var   fm_EIx     = new Array();

   for (var i=0; i<formLength; i++)
      if (formObj.elements[i].type)
         if (formObj.elements[i].type.substring(0,4) == "text")
            if (formObj.elements[i].name.toUpperCase().substring(0,2) == "QI")
               fm_EIx[fm_EIx.length] = formObj.elements[i].name.toUpperCase() + '|' + i;

   var sTxCookieName = '';
   var sText         = '';
   var sName         = '';
   var sValue        = '';
   var nBoxIndex     = 0;
   sTxCookieName  = gform_CookieNamePrefix + 'txq';
   sText = getCookieEx(sTxCookieName);
   aNameValuePairs = sText.split(']:r&m');
   for (var i=0; i<aNameValuePairs.length; i++)
      {
      aNameValuePair = aNameValuePairs[i].split('r&m:[');
      sName = aNameValuePair[0];
      if (aNameValuePair[1])
         sValue = aNameValuePair[1];
      else
         sValue = '';
      if (sName > '')
         {
         for (var j=0; j<fm_EIx.length; j++)
            {
            if (fm_EIx[j].indexOf(sName+'|') == 0)
               {
               nBoxIndex = Number(fm_EIx[j].split('|')[1]);
               formObj.elements[nBoxIndex].value = sValue;
               }
            }
         }
      }
   }

function qbeFormGetData()
   {
   var sTxCookieName = '';

   qbeFormGetPassword();

   sTxCookieName = gform_CookieNamePrefix + 'txq';
   setCookieEx(sTxCookieName, '');
   }

/////
//
// BOX CONTENT CODE
//
// onFocus
function bf(element, boxMinLines, boxMaxLines)
   {
   var bDefaultGrowSettings = false;

   gbox_bMaxResize = false;
   gbox_nMinLines  = boxMinLines;
   gbox_nMaxLines  = boxMaxLines;

   element.style.zIndex = 1;
   if (gform_bBoxHighlighting && gform_bBoxHighlightingEnabled)
      {
      gbox_styleBordeStyle = element.style.borderStyle;
      gbox_styleBorderWidth = element.style.borderWidth;
      element.style.borderStyle = "solid"; // "solid double"
      if (gbox_styleBorderWidth == "0px")
         element.style.borderWidth = "1px";
      else
         element.style.borderWidth = "2px";
      }

   if (!gsb_browserIsIE)
      return;

   if (gbox_nMaxLines == 0)
      bDefaultGrowSettings = true;
   else if (gbox_nMaxLines > 0)
      {
      gbox_bMaxResize = true;
      gbox_styleHeight = element.style.height;
      }

   if (bDefaultGrowSettings == true)
      {
      gbox_bAutoResize = true;
      gbox_styleHeight = element.style.height;
      element.style.posHeight = 0;
      }
   }

// onBlur
function bb(element)
   {
   element.style.zIndex = 0;

   if (!gsb_browserIsIE)
      return;

   if (gform_bBoxHighlighting && gform_bBoxHighlightingEnabled)
      {
      element.style.borderStyle = gbox_styleBordeStyle;
      element.style.borderWidth = gbox_styleBorderWidth;
      }
   if (gbox_bAutoResize || gbox_bMaxResize)
      element.style.height = gbox_styleHeight;
   }

// pick up additional parameters from query form for "new record link"
function nrl(sNewRecordParams)
   {
   if (gform_nFirstPwBox > -1)
      {
      var formObj       = document.qbe_form;  if (!formObj) return
      formObj.elements[gform_nFirstPwBox].value = strRemoveLeadingTrailingSpaces(formObj.elements[gform_nFirstPwBox].value);
      gform_Password = formObj.elements[gform_nFirstPwBox].value;
      }

   sNewURI = dbtw_server + '?AC=NEW_RECORD' + "&XC=" + dbtw_action + sNewRecordParams + "&ID=" + gform_Password + "&MF=" + gform_MF;
   if (sNewRecordParams.toUpperCase().indexOf("&BG=") < 0)
      sNewURI += "&BG=" + gform_BG;
   if (sNewRecordParams.toUpperCase().indexOf("&FG=") < 0)
      sNewURI += "&FG=" + gform_FG;

   window.location.href = sNewURI;
   return true;
   }

// choices list
function ibc(inputBoxIx, fieldNameXML, fieldNameNonXML, listType, maxListLength, bINPF, sFormBgColor, sFormFgColor)
   {
   var sAC  = '';
   var sIC  = '';

	// bINPF not used, retained in parameter list for backwards compatibility
	
   if ((arguments.length > 4) && (maxListLength > 0))
      sIC = '&IC=' + maxListLength;
   if (arguments.length > 6)
      ichoices_bgColor = sFormBgColor;
   if (arguments.length > 7)
      ichoices_fgColor = sFormFgColor;

   window.status = '';

   // get pw from non-hidden pw input on form
   if (gform_nFirstPwBox > -1)
      {
      var formObj       = document.qbe_form;   if (!formObj) return
      formObj.elements[gform_nFirstPwBox].value = strRemoveLeadingTrailingSpaces(formObj.elements[gform_nFirstPwBox].value);
      gform_Password = formObj.elements[gform_nFirstPwBox].value;
      }

   if (listType == 0)
      sAC = 'WORD_INDEX';
   else if (listType == 1)
      sAC = 'TERM_INDEX';

   var sColors = '';

   if (gform_BG > '')
      sColors += '&BG=' + gform_BG;
   if (gform_FG > '')
      sColors += '&FG=' + gform_FG;

   var sURL = dbtw_action +
                  '?TN=' + gform_TN +
                  '&ID=' + gform_Password +
                  '&FN=' + fieldNameXML.split('|')[0] +
                  '&XM=1&ES=1&SV=1' + // '&ES=1&SV=1' needed if there's a WP error
                  //'&XS=' + wp_server + dbtw_xsl + 'ichoices.xsl' + sIC +
                  '&XS=ichoices' + sIC +
                  '&AC=' + sAC +
                  sColors;

   gbox_inputIx         = inputBoxIx;
   gbox_choicesListType = listType;
   gbox_choicesListURL  = sURL;
   gbox_inputFieldNameSelected   = 0;
   gbox_maxListLength            = maxListLength;
   gbox_inputFieldNameListXML    = fieldNameXML;
   gbox_inputFieldNameListNonXML = fieldNameNonXML;

   var   screenWidth    = window.screen.availWidth;
   var   screenHeight   = window.screen.availHeight;
   var   placementX     = (screenWidth/2)-((400)/2);
   var   placementY     = (screenHeight/2)-((350)/2);

   icWindow = window.open(sURL,'ichoices', 'resizable,width=400,height=370,left='+placementX+',top='+placementY);
   icWindow.focus();
   }

// Obsolete as of V5.0; retained for backwards compatibility
function dbtw_body( bg_color, bg_image )
   {
	var body_html = "\r\n\<BODY";
	if ( bg_color != "" )
		body_html += ( " BGCOLOR=#" + bg_color );
	if ( bg_image != "" )
	   if ( bg_image.indexOf("/") != -1 )
		   body_html += ( " BACKGROUND=\"" + bg_image + "\"" );
		else
		   body_html += ( " BACKGROUND=\"/" + dbtw_root + "/images/" + bg_image + "\"" );
	body_html += " onLoad=\"dbtw_init_page()\" onUnload=\"dbtw_terminate_page()\">\r\n";
	document.write( body_html );
   }

// Obsolete as of V5.1; retained for backwards compatibility
function dbtw_logo( logo_image )
   {
   var logo_html;
   if ( logo_image.indexOf("/") != -1 )
	   logo_html = "\r\n\<IMG SRC=\"" + logo_image + "\">\r\n";
	else
	   logo_html = "\r\n\<IMG SRC=\"/" + dbtw_root + "/images/" + logo_image + "\">\r\n";
	document.write( logo_html );
   }

// Obsolete; retained for backwards compatibility
function dbtw_image_inline_extref( image )
   {
	var image_html = "\r\n\<IMG SRC=\"" + image + "\">\r\n";
	document.write( image_html );
   }

// Obsolete; retained for backwards compatibility
function dbtw_image_link_extref( image )
   {
	var image_html = "\r\n\<A HREF=\"" + image + "\">" + image + "</A>\r\n";
	document.write( image_html );
   }

// Obsolete
function displayHelp()
   {
   window.open("/" + dbtw_root + "/help/dws_ww.htm", "help", "scrollbars=1,resizable=1,width=600,height=300");
   }

