  var theAgent = navigator.userAgent.toLowerCase();
  var browserVersion = navigator.appVersion;
  var netscape = ((theAgent.indexOf('mozilla')!=-1) &&
      ((theAgent.indexOf('spoofer')==-1) && (theAgent.indexOf('compatible') == -1)));
  var ie   = (theAgent.indexOf("msie") != -1);
  var ns4 = (document.layers)? true:false;
  var ie4 = (document.all)? true:false;
  var ns6 = theAgent.indexOf('netscape6') != -1;



  var baseAddr = "http://www.plexobject.com";


  var currentPage = 0;
  var defaultImage = new Image();
  //defaultImage.src = baseAddr + "/images/welcome.gif";
  var defaultDesc = "Welcome to PlexObject Solutions!";
  var numImages = 0;
  var baseNum = 0;

  var mainMenu = new Array("home", "company", "software", "services", "support");

  var mainImageInfo = new Array();
  var i=0;
  mainImageInfo[numImages] = new createImageInfo(mainMenu[numImages], baseAddr + "/index.html");
  numImages++;
  mainImageInfo[numImages] = new createImageInfo(mainMenu[numImages], baseAddr + "/company/index.html");
  numImages++;
  mainImageInfo[numImages] = new createImageInfo(mainMenu[numImages], baseAddr + "/software/index.html");
  numImages++;
  mainImageInfo[numImages] = new createImageInfo(mainMenu[numImages], baseAddr + "/services/index.html");
  numImages++;
  mainImageInfo[numImages] = new createImageInfo(mainMenu[numImages], baseAddr + "/support/index.html");
  numImages++;

  var javawsInstalled = 0;
  var javaws12Installed = 0;
  isIE = "false";


  // check for JWS 1.2 for Netscape
  if (navigator.mimeTypes && navigator.mimeTypes.length) {
    x = navigator.mimeTypes['application/x-java-jnlp-file'];
    if (x) {
      javawsInstalled = 1;
      javaws12Installed =1;
    }
  } else { 
    isIE = "true";
  }

  // Function to create ImageInfo object
  function createImageInfo(name) {
    return createImageInfo(name, "/" + name + ".html");
  }

  function createImageInfo(name, page) {
    this.normalImage = new Image();
    this.normalImage.src = baseAddr + "/images/" + "top" + name + "_off.gif";
    this.overMouseImage = new Image();
    this.overMouseImage.src = baseAddr + "/images/" + "top" + name + "_on.gif";
    this.pickImage = new Image();
    this.pickImage.src = baseAddr + "/images/" + "top" + name + "_pick.gif";
    //this.descImage = new Image();
    //this.descImage.src = baseAddr + "/images/" + "top" + name + "_desc.gif";
    //this.desc = name;
    this.link = page;
    return this;
  }

  // roll over image
  function mainMouseOver(num) {
    if (num == currentPage) {
      return;
    }
    document.images[num+baseNum].src = mainImageInfo[num].overMouseImage.src;
    //document.images[numImages+baseNum].src = mainImageInfo[num].descImage.src;
    //window.status = mainImageInfo[num].desc;
  }

 // roll over image
 function mainMouseOut(num) {
    if (num == currentPage) {
      return;
    }
    document.images[num+baseNum].src = mainImageInfo[num].normalImage.src;
    //document.images[numImages+baseNum].src = defaultImage.src;
    //window.status = defaultDesc;
  }

  // roll over image
  function subMouseOver(name, num) {
    document.images[numImages+1+num].src = baseAddr + "/images/" + name + "_on.gif";
  }

 // roll over image
 function subMouseOut(name, num) {
    document.images[numImages+1+num].src = baseAddr + "/images/" + name + "_off.gif";
 }


  // Insures that this page is not displayed inside of any frames
  function breakOutOfFrames() {
    if (window.parent != window) {
      top.location.href = window.location.href;
    }
  }
  function setCurrentPage(page) {
    currentPage = page;
    document.images[currentPage+baseNum].src = mainImageInfo[currentPage].pickImage.src;
    return;
  }
  function setCurrentPageByName(page) {
    for (i=0; i<mainMenu.length; i++) {
      if (page == mainMenu[i]) {
        currentPage = i;
        document.images[currentPage+baseNum].src = mainImageInfo[currentPage].pickImage.src;
        return;
      }
    }
    alert('page ' + page + ' not found in array');
  }
  function loadPage(form) {
    var ndx = form.shortcuts.selectedIndex;
    var link = form.shortcuts.options[ndx].value;
    var server = form.server.value;
    if (link.length > 0) {
      var loc = server + "/servlet/gwbroker?handler=page&pageId=" + link;
      alert('Loading ' + loc);
      window.location=loc;
    }
    return true;
  }
  function jumpTo(form) {
    var ndx = form.shortcuts.selectedIndex;
    var link = form.shortcuts.options[ndx].value;
    if (link.length > 0) {
      window.location=link;
    }
    return true;
  }
  function submitAmazon(form) {
    document.external.keyword.value = form.keywords.value;
    document.external.submit();
    form.submit();
  }

  function verifySearchForm(form) {
    if (form.query.value == "" || form.query.length == 0) {
      alert("Please enter query");
      form.query.focus();
      return false;
    }
    return true;
  }
 
  function verifyLoginForm(form) {
    alert('user length ' + form.userId.length + ', password length ' +
        form.password.length);
    if (form.userId.value == "") {
      alert("Please enter user Id");
      form.userId.focus();
      return false;
    }
    if (form.userId.length < 6) {
      alert("The user id must be at least 6 characters long");
      form.userId.focus();
      return false;
    }
    if (form.password.value == "") {
      alert("Please enter password");
      form.password.focus();
      return false;
    }
    if (form.password.length < 6) {
      alert("The password must be at least 6 characters long");
      form.password.focus();
      return false;
    }
    return true;
  }


  function verifyLicense(theForm) {
  if (theForm.name.value == "")
  {
    alert("Please enter a value for the \"name\" field.");
    theForm.name.focus();
    return (false);
  }

  if (theForm.email.value == "")
  {
    alert("Please enter a value for the \"email\" field.");
    theForm.email.focus();
    return (false);
  }
  return (true);
  }


  function verifyFeedback(theForm) {
  if (theForm.name.value == "")
  {
    alert("Please enter a value for the \"name\" field.");
    theForm.name.focus();
    return (false);
  }
  if (theForm.company.value == "")
  {
    alert("Please enter a value for the \"company\" field.");
    theForm.company.focus();
    return (false);
  }

  if (theForm.phone.value == "")
  {
    alert("Please enter a value for the \"phone\" field.");
    theForm.phone.focus();
    return (false);
  }
  if (theForm.email.value == "")
  {
    alert("Please enter a value for the \"email\" field.");
    theForm.email.focus();
    return (false);
  }
  if (theForm.url.value == "")
  {
    alert("Please enter a value for the \"url\" field.");
    theForm.url.focus();
    return (false);
  }

  if (theForm.subject.value == "")
  {
    alert("Please enter a value for the \"subject\" field.");
    theForm.subject.focus();
    return (false);
  }
  return (true);
  if (theForm.comments.value == "")
  {
    alert("Please enter a value for the \"comments\" field.");
    alert("Please enter a value for the \"comments\" field.");
    theForm.comments.focus();
    return (false);
  }
  return (true);
}

  function verifyAgreement(theForm) {
  if (theForm.name.value == "")
  {
    alert("Please enter a value for the \"name\" field.");
    theForm.name.focus();
    return (false);
  }
  if (theForm.company.value == "")
  {
    alert("Please enter a value for the \"company\" field.");
    theForm.company.focus();
    return (false);
  }

  if (theForm.phone.value == "")
  {
    alert("Please enter a value for the \"phone\" field.");
    theForm.phone.focus();
    return (false);
  }
  if (theForm.email.value == "")
  {
    alert("Please enter a value for the \"email\" field.");
    theForm.email.focus();
    return (false);
  }
  if (theForm.url.value == "")
  {
    alert("Please enter a value for the \"url\" field.");
    theForm.url.focus();
    return (false);
  }

  if (theForm.estdate.value == "")
  {
    alert("Please enter a value for the \"established-date\" field.");
    theForm.estdate.focus();
    return (false);
  }
  if (!theForm.agree[0].checked) {
    alert("Please click Yes on License agreement if you wish to apply for this program.");
    //theForm.agree.focus();
    return (false);
  }
  return (true);
}









function addToFavorite() {
  // for netscape use Ctrl-D
  if ((navigator.appVersion.indexOf("MSIE") > 0)
  && (parseInt(navigator.appVersion) >= 4)) {
    var sText = "<U><SPAN STYLE='color:blue;cursor:hand;'";
    sText += "onclick='window.external.AddFavorite(location.href,";
    sText += "document.title);'>Add this page to your favorites</SPAN></U>";
    document.write(sText);
  }
}

function setHomePage() {
  if (navigator.appVersion.indexOf("MSIE") > 0) {
    this.setHomePage('http://www.plexobject.com');
  }
}

function spamsubmit(form, maxlength) {
  var textval = form.input.value;
  if (textval.length = 0) {
    alert("No input was entered");
    return false;
  }
  if (true) return true;

  var warning = "\n[truncated]\n";
  if (textval.length > maxlength) {
    if (confirm("Message is larger than maximum size, " + maxlength + " bytes. \ Truncate?")) {
      document.forms[0].input.value =
      textval.substr(0, (maxlength - warning.length) - 1) + warning;
      return true;
    } else {
      return false;
    }
  } else {
    return true;
  }
}



function spamaction(form) {
  //<STYLE TYPE='text/css'> <!--
  //#spam {position: relative; left: 0px; top: 0px; visibility: hidden; width: 100px;}
  // --> </STYLE>
  var ndx = form.action.selectedIndex;
  var msg = 'Enter Input';
  //alert ('ndx ' + ndx);
  if (ndx == 0) {
     msg = 'Paste SPAM message including headers and body:';
  } else if (ndx == 1) {
     msg = 'Enter IP-Address to report:';
  } else if (ndx == 2) {
     msg = 'Paste SPAM message including headers and body:';
  } else if (ndx == 3) {
     msg = 'Paste SPAM message including headers and body:';
  } else if (ndx == 4) {
     msg = 'Paste SPAM message including headers and body:';
  } else if (ndx == 5) {
     msg = 'Type Email address:';
  } else if (ndx == 6) {
     msg = 'Paste SPAM message including headers and body:';
  } else if (ndx == 7) {
     msg = 'Paste SPAM message including headers and body:';
  } else if (ndx == 8) {
     msg = 'Paste SPAM message including headers and body:';
  } else if (ndx == 9) {
     msg = 'Paste SPAM message including headers and body:';
  } else if (ndx == 10) {
     msg = 'Type Host Name/Address:'; 	// resolve host
  } else if (ndx == 11) {
     msg = 'Type Host Name/Address:'; 	// mail server
  } else if (ndx == 12) {
     msg = 'Type Host Name/Address:';	// name server
  } else if (ndx == 13) {
     msg = 'Type Host Name:';		// whois lookup
  } else if (ndx == 14) {
     msg = 'Type RWhois-Server Name followed by Host Name:';
  } else if (ndx == 15) {
     msg = 'Type Host Address:';	// world-whois
  } else if (ndx == 16) {
     msg = 'Type Host Address:';	// RADB
  } else if (ndx == 17) {
     msg = 'Paste SPAM message including headers and body:';
  } else if (ndx == 18) {
     msg = 'Type Host Name/Address:';
  } else if (ndx == 19) {
     msg = 'Type Host Name followed by Domain Name/Address: (e.g. www.yahoo.com yahoo.com)';
  } else if (ndx == 20) {
     msg = 'Type Server Name/Address:'; // relay check
  } else if (ndx == 21) {
     msg = 'Type URL or Email address';   // decode
  } else if (ndx == 22) {
     msg = 'Type URL or Email address';  // encode
  }

  if (parseInt(navigator.appVersion) > 3) {
    if (ns6) {
       var elem = document.getElementById('spam');
       elem = document.getElementById('spammsg');
       elem.innerHTML = msg;
    } else if (netscape) {
       if (window.document.spammsg) spammsg.innerHTML = msg;
    } else {
       if (document.all.spammsg) document.all.spammsg.innerHTML = msg;
    }
  } // if (parseInt(navigator.appVersion) > 3)
}

