////////////////////////////////////////////////////////////////////////////////////
//
//    ATTENTION NETSCAPE NAVIGATOR 3.0 USERS!!!
//
//    If you see this text while using the site and you did NOT click on
//    View -> Source, you're using a buggy browser.
//
//    FOLLOW THESE STEPS
//
//    Read through these two steps before doing them.
//    1. Press your BACK BUTTON.
//    2. Click on REFRESH or RELOAD.
//
//    You should now be able to use the site without seeing this message.
//    This problem can however return if your browser does not cache this
//    document correctly.
//
//    UPGRADE YOUR BROWSER
//
//    Upgrade your browser to Netscape's latest and you will not have this
//    problem any more.
//
//    Netscape browsers can be found at http://home.netscape.com/
//
////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////
//  overLIB 2.2  --  Please leave this notice.
//
//  By Erik Bosrup (erik@bosrup.com)  Last modified 1999-01-17
//  Portions by Dan Steinman, Landon Bradshaw and Gnowknayme
//
//  Get the latest version at http://www.bosrup.com/web/overlib/
//
//  This script library was created for my personal usage from the start
//  but then it became so popular I made an easy to use version. It's that
//  version you're using now. Since this is free please don't try to sell
//  this solution to a company claiming it is yours. Give me credit where
//  credit is due and I'll be happy. And I'd love to see any changes you've
//  done to the code. Free to use - don't abuse.
////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////
// CONFIGURATION
////////////////////////////////////////////////////////////////////////////////////

// Main background color (the large area)
// Usually a bright color (white, yellow etc)
  if (typeof fcolor == 'undefined') { var fcolor = "#FFFFFF";}
//  CCCCFF
// Border color and color of caption
// Usually a dark color (black, brown etc)
  if (typeof backcolor == 'undefined') { var backcolor = "#000000";}
//333399
// Text color
// Usually a dark color
  if (typeof textcolor == 'undefined') { var textcolor = "#000000";}
  
// Color of the caption text
// Usually a bright color
  if (typeof capcolor == 'undefined') { var capcolor = "#FFFFFF";}
  
// Color of "Close" when using Sticky
// Usually a semi-bright color
  if (typeof closecolor == 'undefined') { var closecolor = "#9999FF";}

// Width of the popups in pixels
// 100-300 pixels is typical
  if (typeof width == 'undefined') { var width = "400";}
  
// How thick the border should be in pixels
// 1-3 pixels is typical
  if (typeof border == 'undefined') { var border = "1";}

// How many pixels to the right/left of the cursor to show the popup
// Values between 3 and 12 are best 10
  if (typeof offsetx == 'undefined') { var offsetx = 50;}
  
// How many pixels to the below the cursor to show the popup
// Values between 3 and 12 are best10
  if (typeof offsety == 'undefined') { var offsety = -50;}
  
// Definitions added by SN  
DNStext="<b>DNS (Domain Name Service)</b><br>The online database that correlates Internet IP addresses (for example, 128.10.3.42) to human-readable domain names such as pcmag.com. The database isn't stored on any one computer; rather, it's distributed among thousands of name servers spread throughout the Internet";
FINGERtext="<b>Finger </b><br>A program that displays information about a particular user, or all users, logged on the local system or on a remote system.  It typically shows full name, last login time, idle time, terminal line, and terminal location (where applicable).  It may also display plan and project files left by the user";  
FTPtext="<b>FTP (File Transfer Protocol)</b><br>A widely used TCP/IP protocol for transferring files from one machine to another. Internet users may use FTP applications to log in to FTP servers and download files. No restrictions are placed on file contents; they may contain text or binary data. Files may be protected from unauthorized access using authentication control, or they can be made public with anonymous FTP, which doesn't require a login name or password.";
GOPHERtext="<b>Gopher</b><br>An Internet service for locating and delivering electronic files. The Gopher interface includes a directory tree and a set of menus which can be used for exploring the Internet and downloading files.";
HTTPtext="<b>HTTP (Hypertext Transfer Protocol)</b><br>The text-based protocol that serves as the official language of the World Wide Web. HTTP defines high-level commands, or methods--such as GET and PUT--that browsers use to communicate with Web servers. The GET command requests a page of HTML data, a .GIF file, or other resource from a Web server in preparation for displaying it in a browser window. ";
IMAP4text="<b>IMAP4 - (Internet Message Access Protocol)</b><br>IMAP stands for Internet Message Access Protocol. It is a method of accessing electronic mail or bulletin board messages that are kept on a (possibly shared) mail server. In other words, it permits a 'client' email program to access remote message stores as if they were local. For example, email stored on an IMAP server can be manipulated from a desktop computer at home, a workstation at the office, and a notebook computer while traveling, without the need to transfer messages or files back and forth between these computers";
IRCtext="<b>IRC (Internet Relay Chat)</b><br>A software tool that makes it possible to hold real-time keyboard conversations online.";
NNTPtext="<b>NNTP (Network News Transfer Protocol)</b><br>The protocol used to transmit Usenet messages across the Internet. Open forums or electronic bulletin boards on the Internet, where readers can share information, ideas, tips, and opinions with each other.<br> <b>Usenet </b><br> A collection of thousands of topically named newsgroups, the  computers which run the protocols, and the people who read and submit Usenet news.  Not all Internet hosts subscribe to Usenet and not all Usenet hosts are on the Internet.";
NTPtext="<b>NTP (Network Time Protocol) </b><br>A protocol that assures accurate local timekeeping with reference to radio and atomic clocks located on the Internet.  This protocol is capable of synchronizing distributed clocks within milliseconds over long time periods.";
PINGtext="<b>PING (Packet Internet Groper)</b><br>A TCP/IP application used to determine whether other machines are online and available. Pinging is performed by sending an ICMP echo request and waiting for a reply.";
POP3text="<b>POP (Post Office Protocol)</b><br>The text-based protocol used to send and retrieve Internet e-mail messages. Unlike SMTP, which is used primarily to transfer mail messages between mail servers, POP provides a way for mail programs to interact with the virtual mailboxes in which messages wait until they are sent or retrieved. POP comes in two flavors: POP2 and POP3. The two are related in name only and are not compatible.";
SMTPtext="<b>SMTP (Simple Mail Transfer Protocol)</b><br>The text-based TCP/IP protocol used to exchange mail messages on the Internet. A simplified version of the earlier MTP (Mail Transport Protocol), SMTP defines the format and content of transactions between mail servers.";
SNPPtext="<b>SNPP (Simple Network Paging Protocol)</b><br>SNPP is a TCP/IP protocol similar to FTP, HTTP, SMTP, etc. The simplest functions provide reliable delivery of a pager identification and an alphanumeric message to a paging system, rather than using an assigned dialup phone line to enter DTMF tones or negotiate a modem connection.<br>  Most paging service providers offer support for TAP, which is a protocol for a dialup modem line. These clients are not suitable for this purpose. TAP software is available at your computer retailer, usually near the FAX, modem, or other communication software. You should also be able to purchase appropriate software from your paging service provider<br>  Disclaimer<br>These SNPP Clients are provided as-is, where-is. There is no warranty, expressed or implied, of their suitability for your desired application. They require that your paging service provider support SNPP, and you must determine if they do so. Use of this code may require significant knowledge of your underlying operating system, HTML, Perl, Java, and TCP/IP networking.";
SSLtext="<b>SSL (Secure Sockets Layer)</b><br>Secure Sockets Layer (SSL) provides a level of security and privacy for those wishing to conduct secure transactions over the Internet. Introduced to the Internet market by Netscape Communications, the SSL protocol protects HTTP transmissions over the Internet by adding a layer of encryption. This insures that your transactions are not subject to 'sniffing' by a third party. ";
Telnettext="<b>Telnet</b><br>An Internet protocol used for logging on to a remote computer, as well as the software that implements it. Telnet makes all Internet hosts appear to the user as if they use the same techniques for presenting information on screen and the same commands for performing tasks (such as typing and editing commands).";
Databasetext="<b>Database Monitor</b><br>A usually large collection of data organized especially for rapid search and retrieval usually from a computer.";
Linktext="<b> Link Check</b><br>Sometimes, a URL will simply disappear, and all links on the Internet that point to that URL immediately become invalid. In such cases, which are not rare, the owner of each of these links will find out about his/her broken link the next time he/she checks that link by clicking on it -- some owners will find the broken link in a few days, others may not find out about it for weeks or even months.";
URLtext="<b>URL</b><br>The address of a computer or a document on the Internet that consists of a communications protocol followed by a colon and two slashes (as http://), the identifier of a computer (as www.m-w.com) and usually a path through a directory to a file  -- also called uniform resource locator or universal resource locator.";
Listtext="<b>URL List</b><br>Handles many URLS from a text file. one URL per line in plain text file. See URL monitor to define URL.";
Transactiontext="<b>URL Transaction Monitor</b><br>Steps through each web page to make sure it is functioning properly. See URL monitor to define URL.";
Citrixtext="<b>Citrix</b><br>Citrix is a client-server remote application.  The Citrix server runs an application with the results displayed on the Citrix client (Mac or PC).";
Porttext="<b>Ports</b>TCP/UDP Ports determine which services can be accessed on Host computers and also identify different users or tasks operating from the same remote computer. As they are very specific their use as filters is very efficient for controlling access to services. They are the primary means of creating Application gateways. The LuciGate Firewall user is able to select from several well known services such as Telnet, FTP, DNS, SMTP, Finger and HTTP or to provide a list of values which define his own local services or external remote services.";
Gatewaytext="<b>TCP/IP Gateway</b><br>The next router or device your circuit depends on for its Internet access Generally it is the ISP's Internet backbone.";
  
  
////////////////////////////////////////////////////////////////////////////////////
// END CONFIGURATION
////////////////////////////////////////////////////////////////////////////////////

ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false
var x = 0;
var y = 0;
var snow = 0;
var sw = 0;
var cnt = 0;
var dir = 1;
var tr = 1;
if ( (ns4) || (ie4) ) {
  if (ns4) over = document.overDiv
  if (ie4) over = overDiv.style
  document.onmousemove = mouseMove
  if (ns4) document.captureEvents(Event.MOUSEMOVE)
}

// Public functions to be used on pages.





// Simple popup right
function drs(text) {
  dts(1,text);
}

// Caption popup right
function drc(text, title) {
  dtc(1,text,title);
}

// Caption popup upperleft added by stu
function dtl(text, title) {
  dtc(4,text,title);
}


// Sticky caption right
function src(text,title) {
  stc(1,text,title);
}

// Simple popup left
function dls(text) {
  dts(0,text);
}

// Caption popup left
function dlc(text, title) {
  dtc(0,text,title);
}

// Sticky caption left
function slc(text,title) {
  stc(0,text,title);
}

// Simple popup center
function dcs(text) {
  dts(2,text);
}

// Caption popup center
function dcc(text, title) {
  dtc(2,text,title);
}

// Sticky caption center
function scc(text,title) {
  stc(2,text,title);
}

// Clears popups if appropriate
function nd() {
  if ( cnt >= 1 ) { sw = 0 };
  if ( (ns4) || (ie4) ) {
    if ( sw == 0 ) {
      snow = 0;
      hideObject(over);
    } else {
      cnt++;
    }
  }
}

// Non public functions. These are called by other functions etc.

// Simple popup
function dts(d,text) {
  txt = "<TABLE WIDTH="+width+" BORDER=0 CELLPADDING="+border+" CELLSPACING=0 BGCOLOR=\""+backcolor+"\"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR=\""+fcolor+"\"><TR><TD><FONT FACE=\"Arial,Helvetica\" COLOR=\""+textcolor+"\" SIZE=\"-2\">"+text+"</FONT></TD></TR></TABLE></TD></TR></TABLE>"
  layerWrite(txt);
  dir = d;
  disp();
}

// Caption popup
function dtc(d,text, title) {
  txt = "<TABLE WIDTH="+width+" BORDER=0 CELLPADDING="+border+" CELLSPACING=0 BGCOLOR=\""+backcolor+"\"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0><TR><TD><SPAN ID=\"PTT\"><B><FONT COLOR=\""+capcolor+"\">"+title+"</FONT></B></SPAN></TD></TR></TABLE><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR=\""+fcolor+"\"><TR><TD><SPAN ID=\"PST\"><FONT COLOR=\""+textcolor+"\">"+text+"</FONT><SPAN></TD></TR></TABLE></TD></TR></TABLE>"
  layerWrite(txt);
  dir = d;
  disp();
}

// Sticky
function stc(d,text, title) {
  sw = 1;
  cnt = 0;
  txt = "<TABLE WIDTH="+width+" BORDER=0 CELLPADDING="+border+" CELLSPACING=0 BGCOLOR=\""+backcolor+"\"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0><TR><TD><SPAN ID=\"PTT\"><B><FONT COLOR=\""+capcolor+"\">"+title+"</FONT></B></SPAN></TD><TD ALIGN=RIGHT><A HREF=\"/\" onMouseOver=\"cClick();\" ID=\"PCL\"><FONT COLOR=\""+closecolor+"\">Close</FONT></A></TD></TR></TABLE><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 BGCOLOR=\""+fcolor+"\"><TR><TD><SPAN ID=\"PST\"><FONT COLOR=\""+textcolor+"\">"+text+"</FONT><SPAN></TD></TR></TABLE></TD></TR></TABLE>"
  layerWrite(txt);
  dir = d;
  disp();
  snow = 0;
}

// Common calls
function disp() {
  if ( (ns4) || (ie4) ) {
    if (snow == 0)   {
      if (dir == 4) { // Top Left added by stu
        moveTo(over,0,0);
      }
      if (dir == 2) { // Center
        moveTo(over,x+offsetx-(width/2),y+offsety);
      }
      if (dir == 1) { // Right
        moveTo(over,x+offsetx,y+offsety);
      }
      if (dir == 0) { // Left
        moveTo(over,x-offsetx-width,y+offsety);
      }
      showObject(over);
      snow = 1;
    }
  }
// Here you can make the text goto the statusbar.
}

// Moves the layer
function mouseMove(e) {
  if (ns4) {x=e.pageX; y=e.pageY}
  if (ie4) {x=event.x; y=event.y}
  if (snow) {
      if (dir == 4) { // Top Left added by stu
        moveTo(over,0,0);
      }
    if (dir == 2) { // Center
      moveTo(over,x+offsetx-(width/2),y+offsety);
    }
    if (dir == 1) { // Right
      moveTo(over,x+offsetx,y+offsety);
    }
    if (dir == 0) { // Left
      moveTo(over,x-offsetx-width,y+offsety);
    }
  }
}

// The Close onMouseOver function for Sticky
function cClick() {
  hideObject(over);
  sw=0;
}

// Writes to a layer
function layerWrite(txt) {
        if (ns4) {
                var lyr = document.overDiv.document
                lyr.write(txt)
                lyr.close()
        }
        else if (ie4) document.all["overDiv"].innerHTML = txt
    if (tr) { trk(); }
}

// Make an object visible
function showObject(obj) {
        if (ns4) obj.visibility = "show"
        else if (ie4) obj.visibility = "visible"
}

// Hides an object
function hideObject(obj) {
        if (ns4) obj.visibility = "hide"
        else if (ie4) obj.visibility = "hidden"
}

// Move a layer
function moveTo(obj,xL,yL) {
        obj.left = xL
        obj.top = yL
}

function trk() {
  if ( (ns4) || (ie4) ) {
      nt=new Image(32,32); nt.src="http://www.nedstat.nl/cgi-bin/nedstat.gif?name=ol2t";
      bt=new Image(1,1); bt.src="http://www.bosrup.com/web/overlib/o2/tr.gif";
      refnd=new Image(1,1); refnd.src="http://www.nedstat.nl/cgi-bin/referstat.gif?name=ol2t&refer="+escape(top.document.referrer);
      
  }
  tr = 0;
}
