var APPLETWH                              = " WIDTH=320 HEIGHT=189 ";
var COMPANY_NAME                          = "SEAGULL";
var PRODUCT_NAME                          = "J Walk";
var PC_PRODUCT_TYPE                       = "Printer Client";
var COMMA_VERSION_NUMBER                  = "4,0,8,512";                                     //ATTENTION: COMMA SEPEARTED VERSION NUMBER !!!!
var DOT_VERSION_NUMBER                    = "4.0.8.512";
var VERSION_NUMBER                        = "4_0C8";                          //ATTENTION: NO COMMA OR DOT IN VERSION NUMBER !!!!
var VERSION_NUMBER_SUFFIX                 = "";

var PC_PRODUCT_TYPE                       = "Printer Client";
var JC_PRODUCT_TYPE_NON_SECURE            = "Java Client";
var JC_PRODUCT_TYPE_SECURE                = "Secure Java Client";
var JC_PRODUCT_TYPE                       = JC_PRODUCT_TYPE_NON_SECURE;

var JC_APPLET_CLASS                       = "com.seagullsw.jwalk.JWalk.class";               //DO NOT MODIFY THIS LINE

var REGISTRYNAME_JAVA_CLIENT_NON_SECURE   = COMPANY_NAME+" "+PRODUCT_NAME+" "+JC_PRODUCT_TYPE_NON_SECURE;
var REGISTRYNAME_JAVA_CLIENT_SECURE       = COMPANY_NAME+" "+PRODUCT_NAME+" "+JC_PRODUCT_TYPE_SECURE;
var REGISTRYNAME_PRINTER_CLIENT           = COMPANY_NAME+" "+PRODUCT_NAME+" "+PC_PRODUCT_TYPE;
var PACKAGENAME_PRINTER_CLIENT            = COMPANY_NAME+" "+PRODUCT_NAME+" "+PC_PRODUCT_TYPE+" "+DOT_VERSION_NUMBER;
var RELATIVE_XPI_STRING                   = "jwalk/jwalk_printerclient_ns_inst.xpi";


var INSTALLPACKAGE_JAVA_CLIENT_NON_SECURE = COMPANY_NAME+"/"+PRODUCT_NAME+"/"+JC_PRODUCT_TYPE_NON_SECURE;
var INSTALLPACKAGE_JAVA_CLIENT_SECURE     = COMPANY_NAME+"/"+PRODUCT_NAME+"/"+JC_PRODUCT_TYPE_SECURE;
var INSTALLPACKAGE_PRINTER_CLIENT         = COMPANY_NAME+"/"+PRODUCT_NAME+"/"+PC_PRODUCT_TYPE;

var PC_VERSION_NAMESPACE                  = COMPANY_NAME+" "+PRODUCT_NAME+" "+PC_PRODUCT_TYPE+" "+VERSION_NUMBER;            // "SEAGULL J Walk Printer Client 3_1C3-C065"
var JC_VERSION_NAMESPACE_NON_SECURE       = COMPANY_NAME+" "+PRODUCT_NAME+" "+JC_PRODUCT_TYPE_NON_SECURE+" "+VERSION_NUMBER; // "SEAGULL J Walk Java Client 3_1C3-C065"
var JC_VERSION_NAMESPACE_SECURE           = COMPANY_NAME+" "+PRODUCT_NAME+" "+JC_PRODUCT_TYPE_SECURE+" "+VERSION_NUMBER;     // "SEAGULL J Walk Secure Java Client 3_1C3-C065"
var JC_VERSION_NAMESPACE                  = JC_VERSION_NAMESPACE_NON_SECURE;

var JC_NETSCAPE_NAMESPACE_NON_SECURE      = COMPANY_NAME+" "+PRODUCT_NAME+" "+JC_PRODUCT_TYPE_NON_SECURE;                    // "SEAGULL J Walk Java Client"
var JC_NETSCAPE_NAMESPACE_SECURE          = COMPANY_NAME+" "+PRODUCT_NAME+" "+JC_PRODUCT_TYPE_SECURE;                        // "SEAGULL J Walk Secure Java Client"
var JC_NETSCAPE_NAMESPACE                 = JC_NETSCAPE_NAMESPACE_NON_SECURE;

var JC_CAB_FILENAME_NON_SECURE            = "jwalk_ie.cab";
var JC_CAB_FILENAME_SECURE                = "jwalk_secure_ie.cab";
var JC_CAB_FILENAME                       = JC_CAB_FILENAME_NON_SECURE;

var JC_NSJAR_FILENAME_NON_SECURE          = "jwalk_ns.jar";
var JC_NSJAR_FILENAME_SECURE              = "jwalk_secure_ns.jar";
var JC_NSJAR_FILENAME                     = JC_NSJAR_FILENAME_NON_SECURE;

var JC_JAR_FILENAME_NON_SECURE            = "jwalk.jar";
var JC_JAR_FILENAME_SECURE                = "jwalk_secure.jar";
var JC_JAR_FILENAME                       = JC_JAR_FILENAME_NON_SECURE;

var JC_JAR_FILENAME_NON_SECURE_MAC        = "jwalk_mac.jar";
var JC_JAR_FILENAME_SECURE_MAC            = "jwalk_secure_mac.jar";
var JC_JAR_FILENAME_MAC                   = JC_JAR_FILENAME_NON_SECURE_MAC;

var OLD_INSTALL_PACKAGE                   = "java/download/seagull/"+PRODUCT_NAME;

var NO_JAVA_FOR_APPLET1_NON_SECURE        = "If you are reading this message, your client platform is not capable of running " + JC_VERSION_NAMESPACE_NON_SECURE +".";
var NO_JAVA_FOR_APPLET1_SECURE            = "If you are reading this message, your client platform is not capable of running " + JC_VERSION_NAMESPACE_SECURE +".";
var NO_JAVA_FOR_APPLET1                   = NO_JAVA_FOR_APPLET1_NON_SECURE;

var NO_JAVA_FOR_APPLET2_NON_SECURE        = "To run " + JC_NETSCAPE_NAMESPACE_NON_SECURE + ", you must have a Java-enabled web browser such as Netscape Navigator, Microsoft Internet Explorer or Safari on Mac OS X.";
var NO_JAVA_FOR_APPLET2_SECURE            = "To run " + JC_NETSCAPE_NAMESPACE_SECURE + ", you must have a Java-enabled web browser such as Netscape Navigator, Microsoft Internet Explorer or Safari on Mac OS X.";
var NO_JAVA_FOR_APPLET2                   = NO_JAVA_FOR_APPLET2_NON_SECURE;

var ENABLE_JAVA                           = "Enable Java before trying to update your cached installation.";
var ENABLE_SMARTUPDATE                    = "Enable SmartUpdate before trying to update your cached installation.";
var SHOULD_REMOVEOLDJC                    = "There is a previous version of the Cached Java Client installed in Netscape.\nThis has to be removed and replaced by a new version of the Cached Java Client, in order to continue.\nYou will be redirected to another page to remove this previous version.";
var SHOULD_REMOVEJC                       = "There is another version of the Cached Java Client installed in Netscape.\nThis has to be removed and replaced by a new version of the Cached Java Client, in order to continue.\nYou will be redirected to another page to remove this previous version.";
var SHOULD_REMOVESECUREJC                 = "There is a previous version of the Cached Secure Java Client installed in Netscape.\nThis has to be removed and replaced by a new version of the Cached Java Client, in order to continue.\nYou will be redirected to another page to remove this previous version.";
var SHOULD_REMOVEPC                       = "There is a previous version of the Cached Printer Client installed in Netscape.\nThis has to be removed and replaced by a new version of the Cached Java Client, in order to continue.\nYou will be redirected to another page to remove this previous version.";
var DO_NOT_CLOSE                          = "Do not close this window.  It will close automatically";
var VERSION_STRING                        = "Version: ";
var INSTALLING                            = "Installing ";
var META_CHARSET_STRING                   = "iso-8859-1";

navigator.commwindow                      = null;
var cachingPossible                       = true;

var appletParameters                      = new Array;
var nextAppletParameterIndex              = 0;
var needSecureJavaClient                  = false;
var needPrinterClient                     = false;

// *** BROWSER VERSION ***
// Note: On IE5, these return 4, so use is.ie5up to detect IE5.
var agt                                   = navigator.userAgent.toLowerCase();
var is_major                              = parseInt(navigator.appVersion);
var is_minor                              = parseFloat(navigator.appVersion);

var is_nav                                = ((agt.indexOf('mozilla')!=-1) && (agt.indexOf('spoofer')==-1)
                                            && (agt.indexOf('compatible') == -1) && (agt.indexOf('opera')==-1)
                                            && (agt.indexOf('webtv')==-1));
var is_nav4                               = (is_nav && (is_major == 4));
var is_nav4up                             = (is_nav && (is_major >= 4));
var is_navonly                            = (is_nav && ((agt.indexOf(";nav") != -1) || (agt.indexOf("; nav") != -1)) );
var is_nav5                               = (is_nav && (is_major == 5));
var is_nav5up                             = (is_nav && (is_major >= 5));

var is_ie                                 = (agt.indexOf("msie") != -1);
var is_ie3                                = (is_ie && (is_major < 4));
var is_ie4                                = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")==-1) );
var is_ie4up                              = (is_ie  && (is_major >= 4));
var is_ie5                                = (is_ie && (is_major == 4) && (agt.indexOf("msie 5.0")!=-1) );
var is_ie5up                              = (is_ie  && !is_ie3 && !is_ie4);

var is_safari                             = (agt.indexOf("safari") != -1);

// *** PLATFORM ***
var is_win              = (agt.indexOf("win")!=-1);
var is_osx              = (agt.indexOf("mac os x")!=-1);
var is_mac              = (agt.indexOf("mac")!=-1);
var is_mac68K           = (is_mac && ((agt.indexOf("68k")!=-1) || (agt.indexOf("68000")!=-1)));
var is_macppc           = (is_mac && ((agt.indexOf("ppc")!=-1) || (agt.indexOf("powerpc")!=-1)));
var is_sunjvm           = false;

// + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
function fixSpaces(inStr)
{
  //replace %20 with spaces
  position = 0;

  workStr = inStr;
  outStr = "";
  while (workStr.length != 0)
    {
    spacePos = workStr.indexOf("%20");

    if (outStr.length > 0)
      {
      outStr = outStr + " ";
      }

    if (spacePos == -1)
      {
      outStr = outStr + workStr;
      workStr = "";
      }
    else
      {
      outStr = outStr + workStr.substring(0, spacePos);
      workStr = workStr.substring(spacePos+3, workStr.length);
      }
    }

  return outStr;
}

function parseXtraURLParams()
{
  //read parameters from url and translate it to applet tag parameters.
  //get and prepare URL search string
  params = document.location.search;
  questionLocation = params.indexOf("?");
  params = fixSpaces(params.substring(questionLocation+1, params.length));
  if (params.length == 0)
    {
    params = parent.document.location.search;
    questionLocation = params.indexOf("?");
    params = fixSpaces(params.substring(questionLocation+1, params.length));
    }

  //dissect search string
  prevAndLocation = -1;
  equalLocation = params.indexOf("=", prevAndLocation);
  paramCount = 0;
  resultStr="";
  paramNames = new Array;

  while (equalLocation != -1)
    {
    //find end of parameter
    andLocation = params.indexOf("&", prevAndLocation+1);
    if (andLocation == -1)
      {
      andLocation = params.length;
      }

    //determine parameter name and value
    paramName = params.substring(prevAndLocation+1, equalLocation);
    paramNames[paramCount] = paramName.toUpperCase();
    paramValue = params.substring(equalLocation+1, andLocation);


    //with a netscape browser the cabbase parameter must be ignored
    if (paramName.toUpperCase() == "JVMVEN")
      {
      if (paramValue.toUpperCase().indexOf("SUN") != -1 )
        {
        is_sunjvm = true;
        }
      }
    else if (paramName.toUpperCase() == "JVMVER")
      {
      if (paramValue.toUpperCase().indexOf("1.1") != -1)
        {
        ;
        }
      }
    else if (paramName.toUpperCase() == "MSJVMVER")
      {
      if (paramValue.toUpperCase().indexOf("0") != -1)
        {
        ;
        }
      }

    //prepare for next loop walk through
    prevAndLocation = andLocation;
    equalLocation = params.indexOf("=", equalLocation+1);
    paramCount++;
    }
}

function displayJWalkHeader(document)
{
  document.writeln("<div align=\"center\"><center>");
  document.writeln("<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">");
  document.writeln("    <tr>");
  document.writeln("        <td valign=\"top\" >&nbsp;</td>");
  document.writeln("    </tr>");
  document.writeln("    <tr>");
  document.writeln("        <td align=\"right\" valign=\"top\" ><img src=\"images/logo_jwalk.gif\"></td>");
  document.writeln("        <td valign=\"top\"><img src=\"images/prod_jwalk_h.gif\" ></td>");
  document.writeln("    </tr>");
  document.writeln("    <tr>");
  document.writeln("        <td valign=\"top\" >&nbsp;</td>");
  document.writeln("    </tr>");
  document.writeln("</table>");
  document.writeln("</center></div><div align=\"center\"><center>");
}

function writeAppletParams(document)
  {
  var ii;
  var splitString;


  if (appletParameters.length > 0)
    {
    for (ii = 0; ii < appletParameters.length; ii++)
      {
      splitString = appletParameters[ii].split('=');
      if ( splitString[1] != null )
        {
        partString = splitString[1].split("\n");
        if ( partString[1] != null)
          {
          document.write("<PARAM NAME=\"" + splitString[0] + "\" VALUE=\"" + partString[0] + "\\n" + partString[1]+"\">\n");
          }
        else
          {
          document.write("<PARAM NAME=\"" + splitString[0] + "\" VALUE=\"" + splitString[1]+"\">\n");
          }
        }
      }
    }
  }

function writeAppletTag(document)
  {
  parseXtraURLParams();
  document.write("<P>\n");
  if ( is_win )
    {
    if ( is_ie4up && !is_sunjvm )
      {//IE 4.0 or later
      document.write("<APPLET NAME=JWalk CODEBASE=./jwalk/ CODE=\"" + JC_APPLET_CLASS + "\" ARCHIVE=\"" + JC_NSJAR_FILENAME + "\" "+APPLETWH+">\n");
      if ( cachingPossible )
        {
        document.write("<PARAM NAME=useslibrary         VALUE=\"" + JC_VERSION_NAMESPACE  + "\">\n");
        document.write("<PARAM NAME=useslibrarycodebase VALUE=\"" + JC_CAB_FILENAME  + "\">\n");
        document.write("<PARAM NAME=useslibraryversion  VALUE=\"" + COMMA_VERSION_NUMBER     + "\">\n");
        document.write("<PARAM NAME=namespace           VALUE=\"" + JC_VERSION_NAMESPACE  + "\">\n");
        }
      else
        {
        document.write("<PARAM NAME=cabbase             VALUE=\"" + JC_CAB_FILENAME  + "\">\n");
        }
      writeAppletParams(document);
      }
    else if( is_nav5up || is_sunjvm )
       {
       document.write("<APPLET NAME=JWalk  CODEBASE=./jwalk/ CODE=\"" + JC_APPLET_CLASS + "\" ARCHIVE=\"" + JC_NSJAR_FILENAME + "\" "+APPLETWH+">\n");
       writeAppletParams(document);
       }
    else if ( is_nav4up )
      {
      if ( cachingPossible )
        {
        document.write("<APPLET NAME=JWalk  CODEBASE=./jwalk/ CODE=\"" + JC_APPLET_CLASS + "\" "+APPLETWH+">\n");
        writeAppletParams(document);
        document.write("<PARAM NAME=\"CachedClient\" VALUE=\"YES\">\n");
        }
      else
        {
        document.write("<APPLET NAME=JWalk  CODEBASE=./jwalk/ CODE=\"" + JC_APPLET_CLASS + "\" ARCHIVE=\"" + JC_NSJAR_FILENAME + "\" "+APPLETWH+">\n");
        writeAppletParams(document);
        }
      }
    }
  else if( is_mac68K || is_macppc )
    {
    document.write("<APPLET NAME=JWalk  CODEBASE=./jwalk/ CODE=\"" + JC_APPLET_CLASS + "\" ARCHIVE=\"" + JC_JAR_FILENAME_MAC + "\" "+APPLETWH+">\n");
    writeAppletParams(document);
    }
  else
    {
     document.write("<APPLET NAME=JWalk  CODEBASE=./jwalk/ CODE=\"" + JC_APPLET_CLASS + "\" ARCHIVE=\"" + JC_JAR_FILENAME + "\" "+APPLETWH+">\n");
     writeAppletParams(document);
    }
  document.write("\n");
  if (!is_osx && !is_safari) 
    document.write("<P>" + NO_JAVA_FOR_APPLET1 + "  " + NO_JAVA_FOR_APPLET2 + "\n");
  document.write("</APPLET>\n");
  }



// Method to convert version string to numbers
function parseVersionNum(vString, place)
  {
  var stringArray = vString.split(',');
  return(stringArray[place] * 1);
  }

function getOldJavaClientVersion()
{
  return netscape.softupdate.Trigger.GetVersionInfo(OLD_INSTALL_PACKAGE);
}

function getNonSecureJavaClientVersion()
{
  return netscape.softupdate.Trigger.GetVersionInfo(INSTALLPACKAGE_JAVA_CLIENT_NON_SECURE);
}

function getSecureJavaClientVersion()
{
  return netscape.softupdate.Trigger.GetVersionInfo(INSTALLPACKAGE_JAVA_CLIENT_SECURE);
}

function getPrinterClientVersion()
{
  return netscape.softupdate.Trigger.GetVersionInfo(INSTALLPACKAGE_PRINTER_CLIENT);
}

function showOldJavaClientVersion()
{
  var oldJavaClientVersion = netscape.softupdate.Trigger.GetVersionInfo(OLD_INSTALL_PACKAGE);
  alert(VERSION_STRING+oldJavaClientVersion);
}

function showNonSecureJavaClientVersion()
{
  var nonSecureJavaClientVersion = netscape.softupdate.Trigger.GetVersionInfo(INSTALLPACKAGE_JAVA_CLIENT_NON_SECURE);
  alert(VERSION_STRING+nonSecureJavaClientVersion);
}

function showSecureJavaClientVersion()
{
  var secureClientVersion = netscape.softupdate.Trigger.GetVersionInfo(INSTALLPACKAGE_JAVA_CLIENT_SECURE);
  alert(VERSION_STRING+secureClientVersion);
}

function showPrinterClientVersion()
{
  var printerClientVersion = netscape.softupdate.Trigger.GetVersionInfo(INSTALLPACKAGE_PRINTER_CLIENT);
  alert(VERSION_STRING+printerClientVersion);
}

function installNonSecureJavaClient()
{
  openStatusWindow();
  updateStatusWindow(JC_VERSION_NAMESPACE_NON_SECURE, INSTALLING+JC_VERSION_NAMESPACE_NON_SECURE);
  var javaclientversioninfo = new netscape.softupdate.VersionInfo(parseVersionNum(COMMA_VERSION_NUMBER, 0),
                                                                  parseVersionNum(COMMA_VERSION_NUMBER, 1),
                                                                  parseVersionNum(COMMA_VERSION_NUMBER, 2),
                                                                  parseVersionNum(COMMA_VERSION_NUMBER, 3));

  var trigger = netscape.softupdate.Trigger;

  var RELATIVE_JAR_STRING = "jwalk/jwalk_ns_inst.jar";
  var locationString = new String(location);
  var locationStringLowerCase = locationString.toLowerCase();
  var fullpathtojar = locationStringLowerCase.substring(0, locationStringLowerCase.lastIndexOf("/") + 1) + RELATIVE_JAR_STRING;

  var err = trigger.ConditionalSoftwareUpdate(fullpathtojar,
                                              REGISTRYNAME_JAVA_CLIENT_NON_SECURE,
                                              javaclientversioninfo,
                                              trigger.FORCE_MODE);

}

function installSecureJavaClient(document)
{
  openStatusWindow();
  updateStatusWindow(JC_VERSION_NAMESPACE_SECURE, INSTALLING+JC_VERSION_NAMESPACE_SECURE);
  var javaclientversioninfo = new netscape.softupdate.VersionInfo(parseVersionNum(COMMA_VERSION_NUMBER, 0),
                                                                  parseVersionNum(COMMA_VERSION_NUMBER, 1),
                                                                  parseVersionNum(COMMA_VERSION_NUMBER, 2),
                                                                  parseVersionNum(COMMA_VERSION_NUMBER, 3));

  var trigger = netscape.softupdate.Trigger;

  var RELATIVE_JAR_STRING = "jwalk/jwalk_secure_ns_inst.jar";
  var locationString = new String(location);
  var locationStringLowerCase = locationString.toLowerCase();
  var fullpathtojar = locationStringLowerCase.substring(0, locationStringLowerCase.lastIndexOf("/") + 1) + RELATIVE_JAR_STRING;

  var err = trigger.ConditionalSoftwareUpdate(fullpathtojar,
                                              REGISTRYNAME_JAVA_CLIENT_SECURE,
                                              javaclientversioninfo,
                                              trigger.FORCE_MODE);
}

function installPrinterClient(document)
{
  openStatusWindow();
  updateStatusWindow(PC_VERSION_NAMESPACE, INSTALLING+PC_VERSION_NAMESPACE);
  var printerclientversioninfo = new netscape.softupdate.VersionInfo(parseVersionNum(COMMA_VERSION_NUMBER, 0),
                                                                     parseVersionNum(COMMA_VERSION_NUMBER, 1),
                                                                     parseVersionNum(COMMA_VERSION_NUMBER, 2),
                                                                     parseVersionNum(COMMA_VERSION_NUMBER, 3));

  var trigger = netscape.softupdate.Trigger;

  var RELATIVE_JAR_STRING = "jwalk/jwalk_printerclient_ns_inst.jar";
  var locationString = new String(location);
  var locationStringLowerCase = locationString.toLowerCase();
  var fullpathtojar = locationStringLowerCase.substring(0, locationStringLowerCase.lastIndexOf("/") + 1) + RELATIVE_JAR_STRING;

  var err = trigger.ConditionalSoftwareUpdate(fullpathtojar,
                                              REGISTRYNAME_PRINTER_CLIENT,
                                              printerclientversioninfo,
                                              trigger.FORCE_MODE);
}

function xpinstallCallback(url,status)
{
  if(status == 0 || status == 999 )
    {
    alert("Please, restart the browser to complete the installation process.");
    }
  else if(status != 0 && status != 999 )
    {
    alert("Install FAILED with error: " + status);
    }
}

function isPrinterClientNS6Installed()
{
  return ( ((InstallTrigger.getVersion(REGISTRYNAME_PRINTER_CLIENT) == null)
            || (InstallTrigger.compareVersion(REGISTRYNAME_PRINTER_CLIENT,DOT_VERSION_NUMBER) < 0)
            || (!navigator.plugins[PACKAGENAME_PRINTER_CLIENT])) );
}

function installPrinterClientNS6(document)
{
  //openStatusWindow();
  //updateStatusWindow(PC_VERSION_NAMESPACE, INSTALLING+PC_VERSION_NAMESPACE);
  var xpiInstallation = new Object();
  var ABSOLUTE_XPI_STRING;

  var fullpath = window.location.pathname;
  var pathname = fullpath.substring(0,fullpath.lastIndexOf("/"));

  ABSOLUTE_XPI_STRING =  window.location.protocol + "//";
  ABSOLUTE_XPI_STRING += window.location.hostname;
  if (window.location.port != "") {
    ABSOLUTE_XPI_STRING += ":" + window.location.port;
  }
  ABSOLUTE_XPI_STRING += pathname + "/" + RELATIVE_XPI_STRING;
  xpiInstallation[PACKAGENAME_PRINTER_CLIENT] = ABSOLUTE_XPI_STRING;
  InstallTrigger.install(xpiInstallation, xpinstallCallback);
}

function removeOldJavaClient()
{
  var JCOLDREMOVEHTML_STRING = "jcolduninstall.html";
  var inputString = new String(location);
  var lowerCaseString = inputString.toLowerCase();
  var newUrlString = inputString.substring(0, inputString.lastIndexOf("/") + 1) + JCOLDREMOVEHTML_STRING;
  alert(SHOULD_REMOVEOLDJC);
  parent.location = newUrlString;
}

function removeNonSecureJavaClient()
{
  var JCREMOVEHTML_STRING = "jcuninstall.html";
  var inputString = new String(location);
  var lowerCaseString = inputString.toLowerCase();
  var newUrlString = inputString.substring(0, inputString.lastIndexOf("/") + 1) + JCREMOVEHTML_STRING;
  alert(SHOULD_REMOVEJC);
  parent.location = newUrlString;
}

function removeSecureJavaClient()
{
  var JCSECUREREMOVEHTML_STRING = "jcsecureuninstall.html";
  var inputString = new String(location);
  var lowerCaseString = inputString.toLowerCase();
  var newUrlString = inputString.substring(0, inputString.lastIndexOf("/") + 1) + JCSECUREREMOVEHTML_STRING;
  alert(SHOULD_REMOVESECUREJC);
  parent.location = newUrlString;
}

function removePrinterClient()
{
  var PCREMOVEHTML_STRING = "pcuninstall.html";
  var inputString = new String(location);
  var lowerCaseString = inputString.toLowerCase();
  var newUrlString = inputString.substring(0, inputString.lastIndexOf("/") + 1) + PCREMOVEHTML_STRING;
  alert(SHOULD_REMOVEPC);
  parent.location = newUrlString;
}

function isJavaEnabled()
{
  // this check always returns true on Communicator 4.01
  if (navigator.javaEnabled())
    return true;

  alert(ENABLE_JAVA);

  return false;
}

function isSmartUpdateEnabled()
{
  if (netscape.softupdate.Trigger.UpdateEnabled())
    return true;

  alert(ENABLE_SMARTUPDATE);
  return false;
  }

function writePrinterClientFrameRight(showPrinterClient)
{
  if (showPrinterClient)
  {
    if ( is_nav4up )
      parent.printerclientframeright.document.location="startprinterclientns.html";
    else
      parent.printerclientframeright.document.location="startprinterclientie.html";
  }
}

function closeStatusWindow()
  {
  navigator.commwindow.focus();
  navigator.commwindow.close();
  navigator.commwindow = null;
  }


function openStatusWindow()
  {
  if (navigator.commwindow == null)
    {
    navigator.commwindow=window.open("", "java_client_status_pipe", "width=300,height=290");
    navigator.commwindow.jccachedwindow = window.self;
    }
  }


function updateStatusWindow(titleString, statusString)
  {
  if (navigator.commwindow != null)
    {
    var jccachedwindowhandle = navigator.commwindow.jccachedwindow;
    navigator.commwindow.document.close();
    navigator.commwindow.document.open();
    navigator.commwindow.jccachedwindow = jccachedwindowhandle;
    navigator.commwindow.document.write("<!doctype html public \"//W3//DID HTML 3.2 Final//EN\">\n");
    navigator.commwindow.document.write("<HTML>\n");
    navigator.commwindow.document.write("<HEAD>\n");
    navigator.commwindow.document.write("<META content=\"text/html; charset=" + META_CHARSET_STRING + "\" http-equiv=Content-type>\n");
    navigator.commwindow.document.write("<TITLE>" + titleString + "</TITLE>\n");
    navigator.commwindow.document.write("</HEAD>\n");
    navigator.commwindow.document.write("<BODY>\n");
    navigator.commwindow.document.write("</BODY>\n");
    navigator.commwindow.document.write("<CENTER>\n");
    navigator.commwindow.document.write("<IMAGE SRC=\"jclogo.gif\">\n");
    navigator.commwindow.document.write("<P>" + DO_NOT_CLOSE + "\n");
    navigator.commwindow.document.write("<HR>\n");
    navigator.commwindow.document.write("<P>" + statusString + "\n");
    navigator.commwindow.document.write("</CENTER>\n");
    navigator.commwindow.document.write("</BODY>\n");
    navigator.commwindow.document.write("</HTML>\n");
    navigator.commwindow.focus();
    }
  }

function addAppletParameter(parameterName, parameterValue)
{
  appletParameters[nextAppletParameterIndex++]=parameterName+"="+parameterValue;

  if ((parameterName.toLowerCase() == "secureserver") && (parameterValue.toLowerCase() == "yes"))
  {
    needSecureJavaClient      = true;
    JC_PRODUCT_TYPE           = JC_PRODUCT_TYPE_SECURE;
    JC_VERSION_NAMESPACE      = JC_VERSION_NAMESPACE_SECURE;
    JC_CAB_FILENAME           = JC_CAB_FILENAME_SECURE;
    JC_NSJAR_FILENAME         = JC_NSJAR_FILENAME_SECURE;
    JC_JAR_FILENAME           = JC_JAR_FILENAME_SECURE;
    JC_NETSCAPE_NAMESPACE     = JC_NETSCAPE_NAMESPACE_SECURE;
    NO_JAVA_FOR_APPLET1       = NO_JAVA_FOR_APPLET1_SECURE;
    NO_JAVA_FOR_APPLET2       = NO_JAVA_FOR_APPLET2_SECURE;
    JC_JAR_FILENAME_MAC       = JC_JAR_FILENAME_SECURE_MAC;
  }

  if ((parameterName.toLowerCase() == "showprinterclient") && (parameterValue.toLowerCase() == "yes"))
  {
    needPrinterClient = true;
  }
}

