<!--
function popup(mylink, windowname, width, height, confirmmsg, vpos)
{
   /* alert("Doing popup"); */
   if (confirmmsg && confirmmsg != 'no')
   {
      if (!confirm(confirmmsg))
         return false;
   }      
      
   /* do a popup window from a link */
   if (! window.focus)return true;
   var href;
   /* alert("Doing popup 2"); */
   if (typeof(mylink) == 'string')
      href=mylink;
   else
      href=mylink.href;
   /* alert(href); */
   var options;
   options = "width=" + width + ",height=" + height + ",scrollbars=yes,resizable=yes";
   if (vpos)  /* want vpos included? */
   {
      /* set the verticle position */
      try
      {
         var scrolled; //Declaring a local variable
         
         if (document.documentElement && document.documentElement.scrollTop) 
         { 
            scrolled = document.documentElement.scrollTop; 
         } //Sniffing for IE5
         else if (document.body) 
         { 
            scrolled = document.body.scrollTop; 
         } //Sniffing for IE6
         else 
         { 
            scrolled = window.pageYOffset; 
         } //Sniffing for Netscape
         
         // set vertical position on screen 
         href = href + "&VPos=" + scrolled;
      }
      catch (error) {}   /* ignore errors */
   }   
   window.open(href, windowname, options);
   return false;
}
function popupform(myform, windowname)
{
   /* do a popup window from a form submit button */
   if (! window.focus)return 
      true;
   window.open('', windowname, 'height=200,width=400,scrollbars=yes');
   myform.target=windowname;
   return true;
}
function refreshmenu()
{
   /* refresh the index menu */
   window.parent.menu.location.href="DlIndex.php"
   return true;
}
function refreshall()
{
   /* refresh the header and index */
   window.parent.header.location.href="DlHead.php"
   window.parent.menu.location.href="DlIndex.php"
   return true;
}
function targetopener(mylink, closeme, closeonly)
{
   /* close our window and give focus back to original window */
   if (! (window.focus && window.opener))
      return true;
   window.opener.focus();
   if (! closeonly)
      window.opener.location.href=mylink.href;
   if (closeme)
      window.close();
   return false;
}
function doback(myform,nextwin)
{
   myform.action=nextwin; /* relocate */
   return true;
}
function donext(myform, nextwin, lab1, var1, lab2, var2, lab3, var3, lab4, var4, lab5, var5, lab6, var6, REQ, Login)
{
   /* build a URL and go to it */
   var prod; 
   var ver; 

   try 
   {
      ref=nextwin;
      if (lab1 != '')
         ref=ref + lab1 + var1.value;  
      if (lab2 != '')
         ref=ref + lab2 + var2.value;  
      if (lab3 != '')
         ref=ref + lab3 + var3.value;  
      if (lab4 != '')
         ref=ref + lab4 + var4.value;  
      if (lab5 != '')
         ref=ref + lab5 + var5.value;  
      if (lab6 != '')
         ref=ref + lab6 + var6.value;  
      if (REQ != '')
      {
         ref=ref + '&REQ=' + REQ;  
         if (Login == 1)
            ref=ref + '&Login=1';  
      }   
         
      window.location.href=ref;
      
      return true;
   }   
   catch (error) {}   /* ignore errors */
   return false;
}
function SetFileRetLoc(myform, page, filename, fileuse, filedesc, fileid, Upload)
{
   /* set next location for new bundle add */
   try 
   {
      if (!filename)
         filename = myform.inFileName.value;
      if (!fileuse)
         fileuse = myform.inFileUse.value;
      if (!filedesc)
         filedesc = myform.inFileDesc.value;
      if (!fileid)
         fileid = myform.inFileID.value;
   
      nexturl=page + '?inFileName=' + filename + '&inFileUse=' + fileuse + '&inFileDesc=' + filedesc + '&inFileID=' + fileid + '&Upload=' + Upload;
      window.location=nexturl;
      return true;
   }   
   catch (error) {}   /* ignore errors */
   return false;
}
function SetHistRetLoc(myform, page, histid, histprod, histver, histdesc, histtype)
{
   /* set next location for history add group */
   try 
   {
      if (!histdesc)
         histdesc = myform.inDesc.value;
      if (!histtype)
         histtype = myform.inType.value;
   
      nexturl=page + '?inHist=' + histid + '&inProduct=' + histprod + '&inVersion=' + histver + '&inType=' + histtype + '&inDesc=' + histdesc;
      window.location=nexturl;
      return true;
   }   
   catch (error) {}   /* ignore errors */
   return false;
}
function verifymsg(confirmmsg)
{
   if (!confirm(confirmmsg))
      return false;
   return true;
}
function verifymsgDel(mylink, page, msg1)
{
   var scrolled = 0; //Declaring a local variable
   var msg;

   msg = 'Are you sure you want to delete ' + msg1;

   if (!confirm(msg))
      return false;
   
   /* set up the vpos for the DlFiles.php */
   if (document.documentElement && document.documentElement.scrollTop) 
   { 
      scrolled = document.documentElement.scrollTop; 
   } //Sniffing for IE5
   else if (document.body) 
   { 
      scrolled = document.body.scrollTop; 
   } //Sniffing for IE6
   else 
   { 
      scrolled = window.pageYOffset; 
   } //Sniffing for Netscape

   mylink.href = mylink.href + '&' + page + 'VPos=' + scrolled; /* new link */
   return true;
}
function verifymsgFileDel(mylink, msgid, filename)
{
   var msg;
   var scrolled = 0; //Declaring a local variable
   
   if (msgid == 1)
      msg = 'Are you SURE you want to remove ' + filename + ' from this bundle?  If the file is not attached to another bundle, then the file will also be deleted from the server.';
   else
      msg = 'Are you SURE you want to remove ' + filename + ' from all bundles and delete the file from the server?'   
   if (!confirm(msg))
      return false;
      
   /* set up the vpos for the DlFiles.php */
   if (document.documentElement && document.documentElement.scrollTop) 
   { 
      scrolled = document.documentElement.scrollTop; 
   } //Sniffing for IE5
   else if (document.body) 
   { 
      scrolled = document.body.scrollTop; 
   } //Sniffing for IE6
   else 
   { 
      scrolled = window.pageYOffset; 
   } //Sniffing for Netscape

   mylink.href = mylink.href + '&FileVPos=' + scrolled; /* new link */
   return true;
}
function checkdata(field, usedata, enabtn)
{
   if (field.value.length < 8 || field.value == '0000-00-00')
   {
      field.value = usedata;
      if (enabtn)
        enabtn.disabled = false;
      return true;     /* data was changed */
   }   
   return false;
}
function disableFld(obj)
{
	obj.disabled = true;
}
function setchg(obj, val)   //this.form.inPlatChg$Brp,1);
{
   /* make value 1- data changed, 2-expand only, 3-data chg and expand */
   switch (val)
   {
      case 1:
         obj.value = 1;
         break;
      case 2:
         if (obj.value == 1)
            obj.value = 3;
         else   
            obj.value = 2;
         break;   
   }
}
function enableFld(obj, obj2, obj3)
{
   /* Only used by DlRepEdit.php when any field changes */
   try 
   {
      window.DlTop.AnyChg.value = 1;  /* indicate form changed */
      obj.disabled = false;
      obj.style.color = "#007700";
      window.DlTop.CancelBtn.style.color = "#FF0000";
      window.DlTop.CancelBtn.value = "Cancel";
   }   
   catch (error) {}   /* ignore errors */
       
   try 
   {
      if (obj2)  /* have another button to enable? */
      {
         obj2.disabled = false;
         obj2.style.color = "#007700";
      }
   }   
   catch (error) {}   /* ignore errors */
   
   try 
   {
      if (obj3)  /* have another button to enable? */
      {
         obj3.disabled = false;
         obj3.style.color = "#007700";
      }
   }   
   catch (error) {}   /* ignore errors */
   
   try 
   {
      if (window.DlEdit.CancelBtn2.value == "Close")
      {
         window.DlEdit.CancelBtn2.style.color = "#FF0000";
         window.DlEdit.CancelBtn2.value = "Cancel";
      }
   }   
   catch (error) {}   /* ignore errors */
}
function enableFld2(obj)
{
   /* Only used by DlRepEdit.php when any field changes */
   try 
   {
      obj.disabled = false;
      obj.style.color = "#007700";
   }   
   catch (error) {}   /* ignore errors */
}
function DoToday(myform)
{
   /* on click of date field, fill in today's date */
   try 
   {
      if (myform.inBundRelease.value.length < 1)
      {
         myform.inBundRelease.value = myform.inToday.value;
         myform.inUpdt.value = 1;  /* form has been updated */
      }   
   }   
   catch (error) {}   /* ignore errors */
   return true;
}
function ChkUpdate()
{
   var cnt;
   
   cnt = 0;
   try 
   {
      if (window.DlTop.CancelBtn.value)
      {
         if (window.DlTop.CancelBtn.value == "Cancel")
         {
            if (!confirm("You have unsaved changes in the header, if you continue you will loose these changes.  Do you wish to continue?"))
               return false;
         }
      }    
   }   
   catch (error) 
   {
      cnt = 1;  /* we had an error */
   }
   
   try 
   {
      if (cnt == 1)  /* did we have an error? */
      {
         if (window.DlTop.CancelBtn.style.color)
         {
            if (window.DlTop.CancelBtn.style.color == "#FF0000")
            {
               if (!confirm("You have unsaved changes in the header, if you continue you will loose these changes.  Do you wish to continue?"))
                  return false;
            }
         }   
      }
   }   
   catch (error) { } /* ignore errors */
   return true;
}
function DoEMail(BugID, subject, mailbody)
{
   var text;

   try 
   {
      text = 'mailto:?subject=' + subject + '&body=' + mailbody;
  
      /* Bring up e-mail for this bug */
      window.location.href=text;
   }
   catch (error) 
   {
      text = 'Browser support error.  Unable to set href to: ' + text;
      alert(text);
   }   /* ignore errors */
  
   return true;
}
function addrows(obj)
{
    /* + button pressed for textarea, add 10 rows */
	obj.rows = obj.rows + 10;
}
function subrows(obj)
{
    /* - button pressed for textarea, sub 10 rows */
    if (obj.rows - 10 < 1)
       obj.rows = 1;
    else   
       obj.rows = obj.rows - 10;
}
function flagon(myexp)
{
   myexp.value = 1;
   return true;
}
function flagoff(myexp)
{
   myexp.value = 0;
   return true;
}
function jumpto(pos)
{
   window.scrollTo(0,pos)
   /* win.hash = ref; */
   return true;
}
function getVPos(myform) 
{
   var scrolled; //Declaring a local variable
   if (document.documentElement && document.documentElement.scrollTop) 
   { 
      scrolled = document.documentElement.scrollTop; 
   } //Sniffing for IE5
   else if (document.body) 
   { 
      scrolled = document.body.scrollTop; 
   } //Sniffing for IE6
   else 
   { 
      scrolled = window.pageYOffset; 
   } //Sniffing for Netscape
   
   // set vertical position on screen 
   myform.inVPos.value = scrolled;
   // alert(scrolled);
   return true;     
}
function DoVpos(mylink, page)
{
   var scrolled = 0; //Declaring a local variable
   
   if (document.documentElement && document.documentElement.scrollTop) 
   { 
      scrolled = document.documentElement.scrollTop; 
   } //Sniffing for IE5
   else if (document.body) 
   { 
      scrolled = document.body.scrollTop; 
   } //Sniffing for IE6
   else 
   { 
      scrolled = window.pageYOffset; 
   } //Sniffing for Netscape

   mylink.href = mylink.href + '&' + page + 'VPos=' + scrolled; /* new link */
   return true;
}
function SetUploadType(myform)
{
   /************************************************************************************/
   /* This routine fixes up the given file name to make a friendlier name for          */
   /* customers.  It also determines if the file is a setup, readme or doc file.       */
   /*                                                                                  */
   /* First the entire name is lowercased.                                             */
   /*                                                                                  */
   /* This routine assumes the file name is in the form:                               */
   /*                                                                                  */
   /* {product}{plaform chr}{version}{filename.ext}                                    */
   /* inFromPrefix is compared agains the product portion and if equal, inToPrefix is  */
   /*   substituted.                                                                   */
   /* inPlatFromPrefix is compared agains the platform character portion and if equal, */
   /*   inPlatToPrefix is substituted.                                                 */
   /*                                                                                  */
   /* The filename.ext part will get the first character uppercased.                   */
   /*                                                                                  */
   /************************************************************************************/
   var cnt;
   var cnt3;
   var cnt5;
   var state = 1;
   var use = 0;
   var chr;
   var chr2;
   var ver;     /* length of version number */
   var msg = ""; /* on if target file name fix up had a problem */
   var part1;   /* product part of target file name */
   var part2;   /* platform part of target file name */
   var part3;   /* version part of target file name */
   var part4;   /* remainder part of target file name */

   try
   {
      /* copy just the file name, no path information to the target name */
      /* First find the start of the file name by scanning backwards */
      for (cnt = myform.inFileName.value.length - 1; cnt > 0; cnt--)
      {
         chr = myform.inFileName.value.substr(cnt, 1);  /* get char */
         if (chr == '\\' || chr == ':')
         {
            /* internet explorer finds this because the length and value includes */
            /* the path.  Opera doesn't because the length and value does not */
            /* include the path. */
            cnt++;     
            break;
         }   
      }
      
      /* now copy the file name */
      myform.inTargetName.value = myform.inFileName.value.substr(cnt);

      /* lowercase the file name and prefixes to compare */
      myform.inTargetName.value = myform.inTargetName.value.toLowerCase();  /* lowercase it */
      myform.inFromPrefix.value = myform.inFromPrefix.value.toLowerCase();  /* lowercase it */
      myform.inPlatFromPrefix.value = myform.inPlatFromPrefix.value.toLowerCase();  /* lowercase it */
      
      /* now let's see if we can change the name to be friendlier */
      if (myform.inFromPrefix.value.length > 0 && myform.inToPrefix.value.length > 0)
      {
         /* see if the file name prefix matches */
         if (myform.inFromPrefix.value == myform.inTargetName.value.substr(0, myform.inFromPrefix.value.length))
         {
            /* get the first part of the name */
            part1 = myform.inToPrefix.value + "-";  /* target file name part 1 */
            
            /* get the platform info */
            cnt = myform.inFromPrefix.value.length; /* offset of platform character */
            part2 = "";
            if (myform.inPlatFromPrefix.value.length > 0 && myform.inPlatToPrefix.value.length > 0)
            {
               /* see if the next character is the platform character */
               if (myform.inTargetName.value.substr(myform.inFromPrefix.value.length, 1) == myform.inPlatFromPrefix.value)
               {
                  part2 = myform.inPlatToPrefix.value + "-";
                  cnt++;     /* offset of version number */
               }   
            }   
            
            if (part2 == "")
            {
               /* see if we have the start of the version number */
               chr = myform.inTargetName.value.substr(myform.inFromPrefix.value.length, 1);  /* get char */
               if (chr < '0' || chr > '9')  /* end of version? */
               {
                  /* it's not a version number so assume this is a platform designation we don't know about */
                  part2 = myform.inTargetName.value.substr(myform.inFromPrefix.value.length, 1) + "-";
                  cnt++;     /* offset of version number */
                  msg = msg + "File may not be for target computer platform.  ";
               }
               else
                  msg = msg + "The computer platform missing.  ";
            }
            
            /* scan for end of version and extract it */
            part3 = "";                                     /* no version so far */
            part4 = myform.inTargetName.value.substr(cnt);  /* get rest for now */
            for (cnt3 = cnt, ver = 0; cnt < 20; cnt++, ver++)
            {
               chr = myform.inTargetName.value.substr(cnt, 1);  /* get char */
               if (chr < '0' || chr > '9')  /* end of version? */
               {
                  if (ver > 0)   /* do we have a version number? */
                  {
                     /* extract the version number */
                     part3 = myform.inTargetName.value.substr(cnt3, ver);
                     if (chr != '-')
                        part3 = part3 + "-";
                     /* get the rest of the name */
                     part4 = myform.inTargetName.value.substr(cnt3 + ver);  
                     break;
                  }
                  else
                     msg = msg + "Product version missing.  ";
               }
            }

            /* If utilsetup, utilreadme, utilitysetup or utilityreadme remove util part */
            myform.inTargetName.value = part4;
            if (myform.inTargetName.value.substr(0, 9) == 'utilsetup')
               myform.inTargetName.value = myform.inTargetName.value.substr(4);
            else if (myform.inTargetName.value.substr(0, 10) == 'utilreadme')
               myform.inTargetName.value = myform.inTargetName.value.substr(4);
            else if (myform.inTargetName.value.substr(0, 12) == 'utilitysetup')
               myform.inTargetName.value = myform.inTargetName.value.substr(7);
            else if (myform.inTargetName.value.substr(0, 13) == 'utilityreadme')
               myform.inTargetName.value = myform.inTargetName.value.substr(7);
            /* now uppercase the first character of the last part */
            chr = myform.inTargetName.value.substr(0, 1);  /* get first char of it */
            chr = chr.toUpperCase();  /* uppercase it */
            part4 = chr + myform.inTargetName.value.substr(1);  /* put it back together */
            
            /* now put the whole thing back together */
            myform.inTargetName.value = part1 + part2 + part3 + part4;
         }
         else
            msg = msg + "Product prefix string missing from file name.  ";
         if (msg != "")   
         {
            msg = "Warning, please check the target file name:  " + msg;
            alert(msg);
         }   
      }
   }
   catch (error) {}   /* ignore errors */

   try 
   {
      /* using a state function, evaluate each char of name */
      for (cnt = 0; cnt < myform.inTargetName.value.length && state != 0; cnt++)
      {
         chr = myform.inTargetName.value.substr(cnt, 1);  /* get char */
         switch (state)
         {
            case 1:
               if (chr == 'R' || chr == 'r')  /* start of readme? */
                  state = 10;
               else if (chr == 'S' || chr == 's') /* start of setup? */
                  state = 20;
               else if (chr == '.') /* start of .doc or .pdf? */
                  state = 30;
               break;
            case 10:    /* look for read of readme */
               if (chr == 'E' || chr == 'e')
                  state = 11;
               else
                  state = 1;   
               break;
            case 11:    /* look for read of readme */
               if (chr == 'A' || chr == 'a')
                  state = 12;
               else
                  state = 1;   
               break;
            case 12:    /* look for read of readme */
               if (chr == 'D' || chr == 'd')
                  state = 13;
               else
                  state = 1;   
               break;
            case 13:    /* look for read of readme */
               if (chr == 'M' || chr == 'm')
                  state = 14;
               else
                  state = 1;   
               break;
            case 14:    /* look for read of readme */
               if (chr == 'E' || chr == 'e')
               {
                  state = 0;
                  use = 2;   /* is a readme file */
               }   
               else
                  state = 1;   
               break;
            case 20:    /* look for read of setup */
               if (chr == 'E' || chr == 'e')
                  state = 21;
               else
                  state = 1;   
               break;
            case 21:    /* look for read of setup */
               if (chr == 'T' || chr == 't')
                  state = 22;
               else
                  state = 1;   
               break;
            case 22:    /* look for read of setup */
               if (chr == 'U' || chr == 'u')
                  state = 23;
               else
                  state = 1;   
               break;
            case 23:    /* look for read of setup */
               if (chr == 'P' || chr == 'p')
               {
                  state = 0;
                  use = 1;   /* is a setup file */
               }   
               else
                  state = 1;   
               break;
            case 30:    /* look for pdf */
               if (chr == 'P' || chr == 'p')
                  state = 31;
               else if (chr == 'D' || chr == 'd')
                  state = 35;
               else
                  state = 1;   
               break;
            case 31:    /* look for read of pdf */
               if (chr == 'D' || chr == 'd')
                  state = 32;
               else
                  state = 1;   
               break;
            case 32:    /* look for read of pdf */
               if (chr == 'F' || chr == 'f')
               {
                  state = 0;
                  use = 4;   /* is a doc*/
               }   
               else
                  state = 1;   
               break;
            case 35:    /* look for read of doc */
               if (chr == 'O' || chr == 'o')
                  state = 36;
               else
                  state = 1;   
               break;
            case 36:    /* look for read of doc */
               if (chr == 'C' || chr == 'c')
               {
                  state = 0;
                  use = 4;   /* is a doc  */
               }   
               else
                  state = 1;   
               break;
         }
      }
   
      if (use != 0 && use != myform.inFileUse.value)
         myform.inFileUse.value = use;
      if (use == 1 && myform.inFileDesc.value.length < 1)
      {
         cnt5 = myform.inProduct.value.length - 1;
         chr = myform.inProduct.value.substr(cnt5, 1);  /* get last char */
         if (chr != '™' && chr != '®')
            myform.inFileDesc.value = myform.inProduct.value + "™" + " Software";
         else   
            myform.inFileDesc.value = myform.inProduct.value + " Software";
      }   
      if (use == 2 && myform.inFileDesc.value.length < 1)
         myform.inFileDesc.value = "Readme and Installation Instructions";
      if (use == 4 && myform.inFileDesc.value.length < 1)
      {
         cnt5 = myform.inProduct.value.length - 1;
         chr = myform.inProduct.value.substr(cnt5, 1);  /* get last char */
         if (chr != '™' && chr != '®')
            myform.inFileDesc.value = myform.inProduct.value + "™" + " User Guide";
         else   
            myform.inFileDesc.value = myform.inProduct.value + " User Guide";
      }   
   }
   catch (error) {}   /* ignore errors */

   return true;
}
function VerFormUserEdit(myform)
{
   /* verify data on DlUsers form */
   var cnt;
   var val;

   /* Make sure logonID and psw given for new entry  */
   cnt = 0;
   try 
   {
      if (myform.EDIT.value.length < 1)   /* new user */
      {
         if (myform.inLogID.value.length < 1)
            cnt++;
         if(myform.inCust.value == 'N')  /* not a customer */
         {
            if (myform.inPsw.value.length < 1)
               cnt++;
            if (myform.inVerPsw.value.length < 1)
               cnt++;
         }      
      }      
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      myform.CHGPSW.value = 'N';
      myform.RENAME.value = 'N';
      alert("LogonID is required, for a customer, just make up something unique.  Password and Verify Password are required unless the user is a customer.");
      return false;
   }   

   /* Make sure a name was given     */
   cnt = 0;
   try 
   {
      if (myform.inUserFName.value.length < 1)
         cnt++;
      if (myform.inUserLName.value.length < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      myform.CHGPSW.value = 'N';
      myform.RENAME.value = 'N';
      alert("First and Last Names are required.");
      return (false);
   }   
   
   if (myform.CHGPSW.value == 'Y')
   {
      if (myform.inUserForceChg.checked != true)
      {
         if (confirm("Do you want to force user to change password on next logon?  Press OK to turn on Force Password Change, press CANCEL to leave Force Password Change off."))
         {
            myform.inUserForceChg.checked = true;
         }
      }
   }

   return true;
}
function VerFormGenPsw(mylink, myform)
{
   /* verify data on DlGenPsw form */
   var cnt;

   /* Make sure an e-mail for was selected  */
   cnt = 0;
   try 
   {
      if (myform.inForm.value < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Please select an E-Mail form.");
      return (false);
   }   

   mylink.href = mylink.href + '&inForm=' + myform.inForm.value; /* new link */
   return true;
}
function VerFormGenPsw2(myform)
{
   /* verify data on DlGenPsw2 form */
   var cnt;

   /* Make sure fields have data            */
   cnt = 0;
   try 
   {
      if (myform.inPswFName.value.length < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Please enter a customer first name.");
      return (false);
   }   
   
   /* Make sure fields have data            */
   cnt = 0;
   try 
   {
      if (myform.inPswLName.value.length < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Please enter a customer last name.");
      return (false);
   }   
   
   /* Make sure fields have data            */
   cnt = 0;
   try 
   {
      if (myform.inPswEMail.value.length < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Please enter the customers E-Mail address.");
      return (false);
   }   
   
   /* Make sure fields have data            */
   cnt = 0;
   try 
   {
      if (myform.inPswDays.value.length < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Please enter the number of days the files can be downloaded.");
      return (false);
   }   
   
   cnt = 0;
   try 
   {
      if (myform.inPswMsg.value.length > 255)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Message to customer must be less than 256 characters.");
      return (false);
   }   

   /* Make sure fields have data            */
   cnt = 0;
   try 
   {
      if (myform.inSetup.checked == true)
         cnt++;
      if (myform.inReadme.checked == true)
         cnt++;
      if (myform.inOther.checked == true)
         cnt++;
      if (myform.inDoc.checked == true)
         cnt++;
      if (myform.inPsyX12.checked == true)
         cnt++;
      if (myform.inPsyEDIFACT.checked == true)
         cnt++;
      if (myform.inPsyEDI.checked == true)
         cnt++;
      if (myform.inPsyOPS.checked == true)
         cnt++;
      if (myform.inSetup2.checked == true)
         cnt++;
      if (myform.inDoc2.checked == true)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt <= 0)
   {
      alert("Please select at least one type of file to allow downloads.");
      return (false);
   }   
   
   return true;
}
function VerFormGenPsw3(myform)
{
   /* verify data on DlGenPsw3 form */
   var cnt;
   var cnt2;
   var chr;

   /* Make sure fields have data            */
   cnt = 0;
   try 
   {
      if (myform.inFromName.value.length < 1)
         cnt = 1;
      else
      {   
         /* make sure only one address */   
         for (cnt2 = 0; cnt2 < myform.inFromName.value.length; cnt2++)
         {
            chr = myform.inFromName.value.substr(cnt2, 1);  /* get char */
            if (chr == ';')
            {
               cnt = 2;
               break;
            }
         }   
      }   
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      if (cnt == 1)
         alert("Please enter From E-Mail address.");
      else   
         alert("Please enter only one E-Mail address in From field.");
      return (false);
   }   
   
   /* Make sure fields have data            */
   cnt = 0;
   try 
   {
      if (myform.inToName.value.length < 1)
         cnt = 1;
      else
      {   
         /* make sure only one address */   
         for (cnt2 = 0; cnt2 < myform.inToName.value.length; cnt2++)
         {
            chr = myform.inToName.value.substr(cnt2, 1);  /* get char */
            if (chr == ';')
            {
               cnt = 2;
               break;
            }
         }   
      }   
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      if (cnt == 1)
         alert("Please enter To E-Mail address.");
      else   
         alert("Please enter only one E-Mail address in To field.");
      return (false);
   }   
   
   /* Make sure fields have data            */
   cnt = 0;
   try 
   {
      if (myform.FormSubject.value.length < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Please enter the subject text.");
      return (false);
   }   
   
   /* Make sure fields have data            */
   cnt = 0;
   try 
   {
      if (myform.FormBody.value.length < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Please enter the E-Mail Body text.");
      return (false);
   }   
   
   return true;
}
function VerFormPswEdit(myform)
{
   /* verify data on DlPswEdit form */
   var cnt;

   /* Make sure fields have data            */
   cnt = 0;
   try 
   {
      if (myform.inPswDays.value.length < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Please enter the number of days the user has to download.");
      return (false);
   }   
   
   cnt = 0;
   try 
   {
      if (myform.inPswMsg.value.length > 255)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Message to customer must be less than 256 characters.");
      return (false);
   }   

   /* Make sure fields have data            */
   cnt = 0;
   try 
   {
      if (myform.inSetup.checked == true)
         cnt++;
      if (myform.inReadme.checked == true)
         cnt++;
      if (myform.inOther.checked == true)
         cnt++;
      if (myform.inDoc.checked == true)
         cnt++;
      if (myform.inPsyX12.checked == true)
         cnt++;
      if (myform.inPsyEDIFACT.checked == true)
         cnt++;
      if (myform.inPsyEDI.checked == true)
         cnt++;
      if (myform.inPsyOPS.checked == true)
         cnt++;
      if (myform.inSetup2.checked == true)
         cnt++;
      if (myform.inDoc2.checked == true)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt <= 0)
   {
      alert("Please select at least one type of file to allow downloads.");
      return (false);
   }   
   
   return true;
}
function VerFormPlatform(myform)
{
   /* verify data on DlPlatforms form */
   var cnt;

   /* Make sure a name was given     */
   cnt = 0;
   try 
   {
      if (myform.inPlatName.value.length < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Platform name is required.");
      return (false);
   }   

   return true;
}
function VerFormProduct(myform)
{
   /* verify data on form */
   var cnt;

   /* Make sure a name was given     */
   cnt = 0;
   try 
   {
      if (myform.inProdName.value.length < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Product name is required.");
      return (false);
   }   

   return true;
}
function VerFormPrefs(myform)
{
   /* verify data on form */
   var cnt;

   /* Make sure a name was given     */
   cnt = 0;
   try 
   {
      if (myform.inPrefURL.value.length < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Please enter the download page URL.");
      return (false);
   }   

   return true;
}
function VerFormBundle(myform)
{
   /* verify data on DlBundleEdit form */
   var cnt;
   var cnt2;

   /* Make sure a fields have values    */
   cnt = 0;
   try 
   {
      if (myform.inVersion.value.length < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Product version is required.");
      return (false);
   }   

   cnt = 0;
   try 
   {
      if (myform.inProduct.value < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Product name is required.");
      return (false);
   }   

   cnt = 0;
   try 
   {
      if (myform.inPlatform.value < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Product platform is required.");
      return (false);
   }   


   cnt = 0;
   try 
   {
      /* Check to make sure the release date is a valid looking date */
      if (myform.inBundRelease.value.length == 10)   /* yyyy-mm-dd */
      {
         for (cnt2 = myform.inBundRelease.value.length - 1; cnt2 > 0; cnt2--)
         {
            chr = myform.inBundRelease.value.substr(cnt2, 1);  /* get char */
            if (cnt2 == 4 || cnt2 == 7)
            {
               if (chr != '-' && chr != '/')
               {
                  cnt++;   /* error */
                  break;
               }   
            }
            else if (chr < '0' || chr > '9')
            {
               cnt++;     /* error */
               break;
            }   
         }
      }   
      else if (myform.inBundRelease.value.length > 0)
         cnt++;     /* error */
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Please enter the release date as YYYY-MM-DD or leave blank.");
      return (false);
   }   

   return true;
}
function VerFormBundleFile(myform)
{
   /* verify data on DlBundleFile form */
   var cnt;

   /* Make sure a fields have values    */
   cnt = 0;
   try 
   {
      if (myform.inBund.value < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Please Select a Bundle.");
      return (false);
   }   

   return true;
}
function VerFormForm(myform)
{
   /* verify data on form */
   var cnt;
   var cnt2;
   var cnt3;
   var name;

   /* Make sure a name was given     */
   cnt = 0;
   try 
   {
      if (myform.inFormName.value.length < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Please enter an E-Mail Form Name.");
      return (false);
   }   
   
   /* Make sure a subject was given  */
   cnt = 0;
   try 
   {
      if (myform.inSubject.value.length < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Please enter the E-Mail subject.");
      return (false);
   }   
   
   /* Make sure a text was given     */
   cnt = 0;
   try 
   {
      if (myform.inFormBody.value.length < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Please enter the E-Mail Form Content.");
      return (false);
   }   
   
   /* scan through the text for variable names */
   cnt = 0;
   try 
   {
      for (cnt2 = 0; cnt2 < myform.inFormBody.value.length; cnt2++)
      {
         chr = myform.inFormBody.value.substr(cnt2, 1);  /* get char */
         if (chr == '&')
         {
            /* extract the variable name */
            name = '';
            cnt3 = cnt2 + 1;    /* start of variable name */
            for (cnt2++; cnt2 < myform.inFormBody.value.length; cnt2++)
            {
               chr = myform.inFormBody.value.substr(cnt2, 1);  /* get char */
               if ((chr >= 'a' && chr <= 'z') || (chr >= 'A' && chr <= 'Z') || (chr >= '0' && chr <= '9') )
                  name = name + chr;   /* accumulate the variable name */
               else
               {
                  cnt2--;
                  break;   
               }   
            }
            
            /* uppercase the variable name, and see if a valid variable */
            name2 = name.toUpperCase();  /* uppercase it */
            if (!(name2 == "CUSTFNAME" || name2 == "CUSTLNAME" || name2 == "PLATFORM" ||
                name2 == "PRODUCT" || name2 == "VERSION" || name2 == "PASSWORD" || name2 == "EXPIRE" ||  
                name2 == "SIGNATURE" || name2 == "URLONLY" || name2 == "URLPSW" || 
                name2 == "OPTION1" || name2 == "OPTION2" || name2 == "OPTION3") )
            {
               name = "Variable name &" + name + " is not recognized, please remove it.";
               alert(name); 
               cnt++;
               break;
            }    

            /* replace name with uppercase version of the name */
            if (name != name2)
               myform.inFormBody.value = myform.inFormBody.value.substr(0, cnt3) + name2 + myform.inFormBody.value.substr(cnt2 + 1);
         }
      }   
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
      return (false);

   return true;
}
function VerFormDownload(obj)
{
   /* verify data on Download.php form */
   var cnt;

   /* disable the button while uploading the file */
   cnt = 0;
   try 
   {
      obj.value = "Download Requested ";
   }
   catch (error) {}   /* ignore errors */


   return true;
}
function VerFormUpload(myform, dourl)
{
   /* verify data on DlBundleEdit form */
   var cnt;

   /* Make sure a fields have values    */
   cnt = 0;
   try 
   {
      if (myform.inFileName.value.length < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Please enter or browse for an upload file name.");
      return (false);
   }   

   cnt = 0;
   try 
   {
      if (myform.inTargetName.value.length < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("You must enter the target file name.  This can be the same as the source file.");
      return (false);
   }   

   cnt = 0;
   try 
   {
      if (myform.inFileBundle.value < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Please select a Download Bundle.");
      return (false);
   }   

   cnt = 0;
   try 
   {
      if (myform.inFileUse.value < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Please select a File use.");
      return (false);
   }   

   /* see if we need to build a url */
   if (dourl > 0)
   {
      /* set next location if file was already FTPd to the site */
      try 
      {
         nexturl='DlUpload2.php?inFileName=' + myform.inFileName.value + '&inTargetName=' + myform.inTargetName.value + 
                 '&inFromPrefix=' + myform.inFromPrefix.value + 
                 '&inToPrefix=' + myform.inToPrefix.value + 
                 '&inPlatFromPrefix=' + myform.inPlatFromPrefix.value + 
                 '&inPlatToPrefix=' + myform.inPlatToPrefix.value + 
                 '&inFileUse=' + myform.inFileUse.value + 
                 '&inFileAdv=' + myform.inFileAdv.value + 
                 '&inFileID=' + myform.inFileID.value;

         if (dourl == 1)
             nexturl = nexturl + '&Bundle=Y&inFileBundle=' + myform.inFileBundle.value + '&FileVPos=' + myform.FileVPos.value + '&BundVPos=' + myform.BundVPos.value;
         else
             nexturl = nexturl + '&FileVPos=' + myform.FileVPos.value + '&BundVPos=' + myform.BundVPos.value;

         nexturl = nexturl + '&FTP=Y' + '&inFileDesc=' + myform.inFileDesc.value;  

         window.location=nexturl;
         return true;
      }   
      catch (error) 
      {
         alert("Javascript error, not all fields are defined on the form.");
         return (false);
      }
   }

   /* disable the button while uploading the file */
   cnt = 0;
   try 
   {
      myform.inProcess.value = "Upload in Process";
   }
   catch (error) {}   /* ignore errors */

   return true;
}
function VerFormUploadReplace(myform)
{
   /* verify data on DlUploadReplace form */
   var cnt;

   /* Make sure a fields have values    */
   cnt = 0;
   try 
   {
      if (myform.inFileName.value.length < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Please enter or browse for an upload file name.");
      return (false);
   }   

   cnt = 0;
   try 
   {
      if (myform.inFileUse.value < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Please select a File use.");
      return (false);
   }   

   /* disable the button while uploading the file */
   cnt = 0;
   try 
   {
      myform.inProcess.value = "Upload in Process";
      myform.inProcess.type = "text";
      myform.SubBtn.style.color = "#FF0000";
   }
   catch (error) {}   /* ignore errors */

   return true;
}
function VerFormUserChg(myform)
{
   /* verify data on DlUserChg form */
   var cnt;
   var cntspec;   /* number of special chars in psw */
   var cntupper;  /* number of upper case chars in psw */
   var cntlower;  /* number of lower case chars in psw */
   var cntnum;    /* number of numeric chars in psw */
   var chr;

   /* Make sure logonID and psw given for new entry  */
   cnt = 0;
   try 
   {
      if (myform.EDIT.value.length < 1)   /* new user */
         cnt++;
      if (myform.inOldPsw.value.length < 1)
         cnt++;
      if (myform.inPsw.value.length < 1)
         cnt++;
      if (myform.inVerPsw.value.length < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Old password, new password, and a verify password are required.");
      return false;
   }   
   
   try 
   {
      /* make sure psw and verify psw are the same */
      if (myform.inPsw.value != myform.inVerPsw.value)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("New password and verify password are not the same.");
      return false;
   }   

   /* check password policy min length */
   try 
   {
      if (myform.inPsw.value.length < myform.MinLen.value)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("New password is too short according to the current password policy.");
      return false;
   }   
   
   /* check if special character, upper/lower, or numeric is require in password */
   if (myform.ChrSpec.value == 'Y' || myform.ChrCase.value == 'Y' || myform.ChrNum.value == 'Y')
   {
      cntspec = 0;   /* number of special chars in psw */
      cntupper = 0;  /* number of upper case chars in psw */
      cntlower = 0;  /* number of lower case chars in psw */
      cntnum = 0;    /* number of numeric chars in psw */
      /* count the types of characters in the password */
      for (cnt = 0; cnt < myform.inPsw.value.length; cnt++)
      {
         chr = myform.inPsw.value.substr(cnt, 1);  /* get char */
         if (chr >= 'A' && chr <= 'Z')
            cntupper++;
         else if (chr >= 'a' && chr <= 'z')
            cntlower++;
         else if (chr >= '0' && chr <= '9')
            cntnum++;
         else
            cntspec++;   
      }

      /* check if special character is require */
      if (myform.ChrSpec.value == 'Y' && cntspec == 0)
      {
         myform.inPsw.value = '';
         myform.inVerPsw.value = '';
         if (myform.inOldPsw.value != 'X0X0')  /* value is on screen? */
            myform.inOldPsw.value = '';
         alert("At least one special character is required in new password according to the current password policy.");
         return false;
      }   
      
      /* check if upper and lower case is require */
      if (myform.ChrCase.value == 'Y' && (cntupper == 0 || cntlower == 0))
      {
         myform.inPsw.value = '';
         myform.inVerPsw.value = '';
         if (myform.inOldPsw.value != 'X0X0')  /* value is on screen? */
            myform.inOldPsw.value = '';
         alert("At least one upper and lower case character is required in new password according to the current password policy.");
         return false;
      }   
      
      /* check if numeric character is require */
      if (myform.ChrNum.value == 'Y' && cntnum == 0)
      {
         myform.inPsw.value = '';
         myform.inVerPsw.value = '';
         if (myform.inOldPsw.value != 'X0X0')  /* value is on screen? */
            myform.inOldPsw.value = '';
         alert("At least one numeric character is required in new password according to the current password policy.");
         return false;
      }   
   }   
   
   return true;
}
function HistPlats(myform, all)
{
   var cnt;
   var num;
   
   /* if inPlatAll is changed, then make sure all others are off */
   if (all == 1)
   {
      try 
      {
         if (myform.inPlatAll.checked == true)
         {
             num = myform.inPlatNum.value;  /* Get count */
             
             if (num >= 1)
                myform.inPlatChk1.checked = false;
             if (num >= 2)
                myform.inPlatChk2.checked = false;
             if (num >= 3)
                myform.inPlatChk3.checked = false;
             if (num >= 4)
                myform.inPlatChk4.checked = false;
             if (num >= 5)
                myform.inPlatChk5.checked = false;
             if (num >= 6)
                myform.inPlatChk6.checked = false;
             if (num >= 7)
                myform.inPlatChk7.checked = false;
             if (num >= 8)
                myform.inPlatChk8.checked = false;
             if (num >= 9)
                myform.inPlatChk9.checked = false;
             if (num >= 10)
                myform.inPlatChk10.checked = false;
             if (num >= 11)
                myform.inPlatChk11.checked = false;
             if (num >= 12)
                myform.inPlatChk12.checked = false;
             if (num >= 13)
                myform.inPlatChk13.checked = false;
             if (num >= 14)
                myform.inPlatChk14.checked = false; 
             if (num >= 15)
                myform.inPlatChk15.checked = false;
             if (num >= 16)
                myform.inPlatChk16.checked = false;
             if (num >= 17)
                myform.inPlatChk17.checked = false;
             if (num >= 18)
                myform.inPlatChk18.checked = false;
             if (num >= 19)
                myform.inPlatChk19.checked = false;
             if (num >= 20)
                myform.inPlatChk20.checked = false;
         }
         else
         {
            /* set according to other check marks */
            all = 0; 
         }
      }   
      catch (error) {}   /* ignore errors */
   }
   
   if (all == 0)
   {
      /* If inPlatChk# is changed, then set inPlatAll as needed */
      cnt = 0;
      try 
      {
          num = myform.inPlatNum.value;  /* Get count */
          
          if (num >= 1 && myform.inPlatChk1.checked == true)
             cnt++;
          if (num >= 2 && myform.inPlatChk2.checked == true)
             cnt++;
          if (num >= 3 && myform.inPlatChk3.checked == true)
             cnt++;
          if (num >= 4 && myform.inPlatChk4.checked == true)
             cnt++;
          if (num >= 5 && myform.inPlatChk5.checked == true)
             cnt++;
          if (num >= 6 && myform.inPlatChk6.checked == true)
             cnt++;
          if (num >= 7 && myform.inPlatChk7.checked == true)
             cnt++;
          if (num >= 8 && myform.inPlatChk8.checked == true)
             cnt++;
          if (num >= 9 && myform.inPlatChk9.checked == true)
             cnt++;
          if (num >= 10 && myform.inPlatChk10.checked == true)
             cnt++;
          if (num >= 11 && myform.inPlatChk11.checked == true)
             cnt++;
          if (num >= 12 && myform.inPlatChk12.checked == true)
             cnt++;            
          if (num >= 13 && myform.inPlatChk13.checked == true)
             cnt++;
          if (num >= 14 && myform.inPlatChk14.checked == true)
             cnt++;
          if (num >= 15 && myform.inPlatChk15.checked == true)
             cnt++;
          if (num >= 16 && myform.inPlatChk16.checked == true)
             cnt++;
          if (num >= 17 && myform.inPlatChk17.checked == true)
             cnt++;
          if (num >= 18 && myform.inPlatChk18.checked == true)
             cnt++;
          if (num >= 19 && myform.inPlatChk19.checked == true)
             cnt++;
          if (num >= 20 && myform.inPlatChk20.checked == true)
             cnt++;
      }   
      catch (error) {}   /* ignore errors */
      if (cnt == 0)
      {
         /* none are turned on, so turn on all */
         myform.inPlatAll.checked = true;
      }   
      else
      {
         /* Something is turned on, so turn off the all choice */
         myform.inPlatAll.checked = false;
      }
   }   
   
}
function VerFormPolicy(myform)
{
   /* verify data on DlPolicy form */
   var cnt;
   var val;

   /* Verify max password age field                  */
   cnt = 0;
   try 
   {
      if (myform.inMaxAge.value == 'n') /* make sure upper case */
         myform.inMaxAge.value = 'N';
      if (myform.inMaxAge.value != 'N')
      {
         val = parseInt(myform.inMaxAge.value);
         if (val < 1 || val > 9999 || val != myform.inMaxAge.value - 0)
            cnt++;     /* error */
      }      
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Maximum password age must be N or a number from 1 to 9999.");
      return false;
   }   
   
   /* Verify min password age field                  */
   cnt = 0;
   try 
   {
      if (myform.inMinAge.value == 'n') /* make sure upper case */
         myform.inMinAge.value = 'N';
      if (myform.inMinAge.value != 'N')
      {
         val = parseInt(myform.inMinAge.value);
         if (val < 1 || val > 9999 || val != myform.inMinAge.value - 0)
            cnt++;     /* error */
      }      
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Minimum password age must be N or a number from 1 to 99.");
      return false;
   }   
   
   /* Verify min password length field               */
   cnt = 0;
   try 
   {
      val = parseInt(myform.inMinLen.value);
      if (val < 1 || val > 99 || val != myform.inMinLen.value - 0)
         cnt++;     /* error */
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Minimum password length must be from 1 to 99.");
      return false;
   }   
   
   return true;
}
function VerFormRen(myform)
{
   /* verify data on LicUserRen form */
   var cnt;

   /* Make sure logonID is given */
   cnt = 0;
   try 
   {
      if (myform.inLogID.value.length < 1)   /* new user */
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("New Logon ID is required.");
      return false;
   }   
   
   return true;
}
function VerFormInstall(myform)
{
   /* verify data on DlInstall form */
   var cnt;
   var val;

   /* Make sure logonID and psw given for new entry  */
   cnt = 0;
   try 
   {
      if (myform.inPsw.value.length < 1)
         cnt++;
      if (myform.inVerPsw.value.length < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Password and Verify Password are required for the administrator.");
      return false;
   }   

   /* Make sure psw and verify psw match             */
   cnt = 0;
   try 
   {
      if (myform.inVerPsw.value != myform.inPsw.value)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Password and Verify Password must match.");
      return false;
   }   

   /* Make sure a name was given     */
   cnt = 0;
   try 
   {
      if (myform.inUserFName.value.length < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("First Name is required.");
      return (false);
   }   
   
   /* Make sure a database name was given     */
   cnt = 0;
   try 
   {
      if (myform.inDatabase.value.length < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Database name is required.");
      return (false);
   }   
   
   /* Make sure a URL name was given     */
   cnt = 0;
   try 
   {
      if (myform.inSqlConnect.value.length < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Data connection URL is required.");
      return (false);
   }   

   /* Make sure we have mysql web user and psw */
   cnt = 0;
   try 
   {
      if (myform.inWebUser.value.length < 1)
         cnt++;
      if (myform.inWebPsw.value.length < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("MySQL UserID and PSW is required for web access to the database.");
      return (false);
   }   
   
   
   /* Make sure we have the installation directory */
   cnt = 0;
   try 
   {
      if (myform.inInstallDir.value.length < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("The Download Manager installation directory is required.");
      return (false);
   }   

   return true;
}
function VerFormHistory(myform)
{
   /* verify data on DlHistory form */
   var cnt;

   /* Make sure a product was given     */
   cnt = 0;
   try 
   {
      if (myform.inProduct.value < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Please select a product.");
      return (false);
   }   
   
   /* Make sure a version was given     */
   cnt = 0;
   try 
   {
      if (myform.inVersion.value < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Please select a version.");
      return (false);
   }   

   return true;
}
function VerFormHistEdit2(myform)
{
   /* verify data on DlHistEdit2 form */
   var cnt;
   var num;

   /* Make sure a group was given     */
   cnt = 0;
   try 
   {
      if (myform.inGroup.value < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Please select a group.");
      return (false);
   }   
   
   /* Make sure a type was given     */
   cnt = 0;
   try 
   {
      if (myform.inType.value < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Please select a type.");
      return (false);
   }   

   /* Make sure a description was given     */
   cnt = 0;
   try 
   {
      if (myform.inType.value.length < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Please enter a description.");
      return (false);
   }   


   cnt = 1;
   try 
   {
      if (myform.inPlatAll.checked == true)
      {
          cnt = 1;
          num = myform.inPlatNum.value;  /* Get count */
          
          if (num >= 1 && myform.inPlatChk1.checked == true)
             cnt = 0;
          if (num >= 2 && myform.inPlatChk2.checked == true)
             cnt = 0;
          if (num >= 3 && myform.inPlatChk3.checked == true)
             cnt = 0;
          if (num >= 4 && myform.inPlatChk4.checked == true)
             cnt = 0;
          if (num >= 5 && myform.inPlatChk5.checked == true)
             cnt = 0;
          if (num >= 6 && myform.inPlatChk6.checked == true)
             cnt = 0;
          if (num >= 7 && myform.inPlatChk7.checked == true)
             cnt = 0;
          if (num >= 8 && myform.inPlatChk8.checked == true)
             cnt = 0;
          if (num >= 9 && myform.inPlatChk9.checked == true)
             cnt = 0;
          if (num >= 10 && myform.inPlatChk10.checked == true)
             cnt = 0;
          if (num >= 11 && myform.inPlatChk11.checked == true)
             cnt = 0;
          if (num >= 12 && myform.inPlatChk12.checked == true)
             cnt = 0;          
          if (num >= 13 && myform.inPlatChk13.checked == true)
             cnt = 0;
          if (num >= 14 && myform.inPlatChk14.checked == true)
             cnt = 0;
          if (num >= 15 && myform.inPlatChk15.checked == true)
             cnt = 0;
          if (num >= 16 && myform.inPlatChk16.checked == true)
             cnt = 0;
          if (num >= 17 && myform.inPlatChk17.checked == true)
             cnt = 0;
          if (num >= 18 && myform.inPlatChk18.checked == true)
             cnt = 0;
          if (num >= 19 && myform.inPlatChk19.checked == true)
             cnt = 0;
          if (num >= 20 && myform.inPlatChk20.checked == true)
             cnt = 0;
      }
   }   
   catch (error) {}   /* ignore errors */
   if (cnt == 0)
   {
      alert("Please select either ALL Platforms, or one or more individual platforms.");
      return (false);
   }
   
   cnt = 0;
   try 
   {
      if (myform.inPlatAll.checked == false)
      {
          num = myform.inPlatNum.value;  /* Get count */
          
          if (num >= 1 && myform.inPlatChk1.checked == true)
             cnt++;
          if (num >= 2 && myform.inPlatChk2.checked == true)
             cnt++;
          if (num >= 3 && myform.inPlatChk3.checked == true)
             cnt++;
          if (num >= 4 && myform.inPlatChk4.checked == true)
             cnt++;
          if (num >= 5 && myform.inPlatChk5.checked == true)
             cnt++;
          if (num >= 6 && myform.inPlatChk6.checked == true)
             cnt++;
          if (num >= 7 && myform.inPlatChk7.checked == true)
             cnt++;
          if (num >= 8 && myform.inPlatChk8.checked == true)
             cnt++;
          if (num >= 9 && myform.inPlatChk9.checked == true)
             cnt++;
          if (num >= 10 && myform.inPlatChk10.checked == true)
             cnt++;
          if (num >= 11 && myform.inPlatChk11.checked == true)
             cnt++;
          if (num >= 12 && myform.inPlatChk12.checked == true)
             cnt++;
          if (num >= 13 && myform.inPlatChk13.checked == true)
             cnt++;
          if (num >= 14 && myform.inPlatChk14.checked == true)
             cnt++;
          if (num >= 15 && myform.inPlatChk15.checked == true)
             cnt++;
          if (num >= 16 && myform.inPlatChk16.checked == true)
             cnt++;
          if (num >= 17 && myform.inPlatChk17.checked == true)
             cnt++;
          if (num >= 18 && myform.inPlatChk18.checked == true)
             cnt++;
          if (num >= 19 && myform.inPlatChk19.checked == true)
             cnt++;
          if (num >= 20 && myform.inPlatChk20.checked == true)
             cnt++;
      }
      else
         cnt = 1;
   }   
   catch (error) {}   /* ignore errors */
   if (cnt == 0)
   {
      alert("Please select either ALL Platforms, or one or more individual platforms.");
      return (false);
   }
   
   return true;
}
function VerFormGrpEdit(myform)
{
   /* verify data on DlGrpEdit form */
   var cnt;

   /* Make sure a group was given     */
   cnt = 0;
   try 
   {
      if (myform.inGroup.value.length < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Please enter a group title.");
      return (false);
   }   
   
   /* Make sure a order was given     */
   cnt = 0;
   try 
   {
      if (myform.inOrder.value < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Please select an order.");
      return (false);
   }   

   return true;
}
function VerFormVerEdit(myform)
{
   /* verify data on DlVerEdit form */
   var cnt;

   /* Make sure a version was given   */
   cnt = 0;
   try 
   {
      if (myform.inVerVer.value.length < 1)
         cnt++;
   }
   catch (error) {}   /* ignore errors */

   if (cnt > 0)
   {
      alert("Please enter a version number.");
      return (false);
   }   
   
   return true;
}

//-->

