//\////////////////////////////////////////////////////////////////////////////////// 
//\  overLIB 3.51  --  This notice must remain untouched at all times. 
//\  Copyright Erik Bosrup 1998-2002. All rights reserved. 
//\ 
//\  By Erik Bosrup (erik@bosrup.com).  Last modified 2002-11-01. 
//\  Portions by Dan Steinman (dansteinman.com). Additions by other people are 
//\  listed on the overLIB homepage. 
//\ 
//\  Get the latest version at http://www.bosrup.com/web/overlib/ 
//\ 
//\  This script is published under an open source license. Please read the license 
//\  agreement online at: http://www.bosrup.com/web/overlib/license.html 
//\  If you have questions regarding the license please contact erik@bosrup.com. 
//\ 
//\  This script library was originally created for personal use. By request it has 
//\  later been made public. This is free software. Do not sell this as your own 
//\  work, or remove this copyright notice. For full details on copying or changing 
//\  this script please read the license agreement at the link above. 
//\ 
//\  Please give credit on sites that use overLIB and submit changes of the script 
//\  so other people can use them as well. This script is free to use, don't abuse. 
//\////////////////////////////////////////////////////////////////////////////////// 
//\mini 



//////////////////////////////////////////////////////////////////////////////////// 
// CONSTANTS 
// Don't touch these. :) 
//////////////////////////////////////////////////////////////////////////////////// 
var INARRAY   = 1; 
var CAPARRAY    = 2; 
var STICKY    = 3; 
var BACKGROUND    = 4; 
var NOCLOSE   = 5; 
var CAPTION   = 6; 
var LEFT    = 7; 
var RIGHT   = 8; 
var CENTER    = 9; 
var OFFSETX   = 10; 
var OFFSETY   = 11; 
var FGCOLOR   = 12; 
var BGCOLOR   = 13; 
var TEXTCOLOR   = 14; 
var CAPCOLOR    = 15; 
var CLOSECOLOR    = 16; 
var WIDTH   = 17; 
var BORDER    = 18; 
var STATUS    = 19; 
var AUTOSTATUS    = 20; 
var AUTOSTATUSCAP = 21; 
var HEIGHT    = 22; 
var CLOSETEXT   = 23; 
var SNAPX   = 24; 
var SNAPY   = 25; 
var FIXX    = 26; 
var FIXY    = 27; 
var FGBACKGROUND  = 28; 
var BGBACKGROUND  = 29; 
var PADX    = 30; // PADX2 out 
var PADY    = 31; // PADY2 out 
var FULLHTML    = 34; 
var ABOVE   = 35; 
var BELOW   = 36; 
var CAPICON   = 37; 
var TEXTFONT    = 38; 
var CAPTIONFONT   = 39; 
var CLOSEFONT   = 40; 
var TEXTSIZE    = 41; 
var CAPTIONSIZE   = 42; 
var CLOSESIZE   = 43; 
var FRAME   = 44; 
var TIMEOUT   = 45; 
var FUNCTION    = 46; 
var DELAY   = 47; 
var HAUTO   = 48; 
var VAUTO   = 49; 
var CLOSECLICK    = 50; 
var CSSOFF    = 51; 
var CSSSTYLE    = 52; 
var CSSCLASS    = 53; 
var FGCLASS   = 54; 
var BGCLASS   = 55; 
var TEXTFONTCLASS = 56; 
var CAPTIONFONTCLASS  = 57; 
var CLOSEFONTCLASS  = 58; 
var PADUNIT   = 59; 
var HEIGHTUNIT    = 60; 
var WIDTHUNIT   = 61; 
var TEXTSIZEUNIT  = 62; 
var TEXTDECORATION  = 63; 
var TEXTSTYLE   = 64; 
var TEXTWEIGHT    = 65; 
var CAPTIONSIZEUNIT = 66; 
var CAPTIONDECORATION = 67; 
var CAPTIONSTYLE  = 68; 
var CAPTIONWEIGHT = 69; 
var CLOSESIZEUNIT = 70; 
var CLOSEDECORATION = 71; 
var CLOSESTYLE    = 72; 
var CLOSEWEIGHT   = 73; 



//////////////////////////////////////////////////////////////////////////////////// 
// DEFAULT CONFIGURATION 
// You don't have to change anything here if you don't want to. All of this can be 
// changed on your html page or through an overLIB call. 
//////////////////////////////////////////////////////////////////////////////////// 

// Main background color (the large area) 
// Usually a bright color (white, yellow etc) 
if (typeof ol_fgcolor == 'undefined') { var ol_fgcolor = "#F2FFC3";} 
  
// Border color and color of caption 
// Usually a dark color (black, brown etc) 
if (typeof ol_bgcolor == 'undefined') { var ol_bgcolor = "#66CC00";} 
  
// Text color 
// Usually a dark color 
if (typeof ol_textcolor == 'undefined') { var ol_textcolor = "#000000";} 
  
// Color of the caption text 
// Usually a bright color 
if (typeof ol_capcolor == 'undefined') { var ol_capcolor = "#FFFFFF";} 
  
// Color of "Close" when using Sticky 
// Usually a semi-bright color 
if (typeof ol_closecolor == 'undefined') { var ol_closecolor = "#9999FF";} 

// Font face for the main text 
if (typeof ol_textfont == 'undefined') { var ol_textfont = "Verdana,Arial,Helvetica";} 

// Font face for the caption 
if (typeof ol_captionfont == 'undefined') { var ol_captionfont = "Verdana,Arial,Helvetica";} 

// Font face for the close text 
if (typeof ol_closefont == 'undefined') { var ol_closefont = "Verdana,Arial,Helvetica";} 

// Font size for the main text 
// When using CSS this will be very small. 
if (typeof ol_textsize == 'undefined') { var ol_textsize = "1";} 

// Font size for the caption 
// When using CSS this will be very small. 
if (typeof ol_captionsize == 'undefined') { var ol_captionsize = "1";} 

// Font size for the close text 
// When using CSS this will be very small. 
if (typeof ol_closesize == 'undefined') { var ol_closesize = "1";} 

// Width of the popups in pixels 
// 100-300 pixels is typical 
if (typeof ol_width == 'undefined') { var ol_width = "200";} 

// How thick the ol_border should be in pixels 
// 1-3 pixels is typical 
if (typeof ol_border == 'undefined') { var ol_border = "1";} 

// How many pixels to the right/left of the cursor to show the popup 
// Values between 3 and 12 are best 
if (typeof ol_offsetx == 'undefined') { var ol_offsetx = 10;} 
  
// How many pixels to the below the cursor to show the popup 
// Values between 3 and 12 are best 
if (typeof ol_offsety == 'undefined') { var ol_offsety = 10;} 

// Default text for popups 
// Should you forget to pass something to overLIB this will be displayed. 
if (typeof ol_text == 'undefined') { var ol_text = "Default Text"; } 

// Default caption 
// You should leave this blank or you will have problems making non caps popups. 
if (typeof ol_cap == 'undefined') { var ol_cap = ""; } 

// Decides if sticky popups are default. 
// 0 for non, 1 for stickies. 
if (typeof ol_sticky == 'undefined') { var ol_sticky = 0; } 

// Default background image. Better left empty unless you always want one. 
if (typeof ol_background == 'undefined') { var ol_background = ""; } 

// Text for the closing sticky popups. 
// Normal is "Close". 
if (typeof ol_close == 'undefined') { var ol_close = "Close"; } 

// Default vertical alignment for popups. 
// It's best to leave RIGHT here. Other options are LEFT and CENTER. 
if (typeof ol_hpos == 'undefined') { var ol_hpos = RIGHT; } 

// Default status bar text when a popup is invoked. 
if (typeof ol_status == 'undefined') { var ol_status = ""; } 

// If the status bar automatically should load either text or caption. 
// 0=nothing, 1=text, 2=caption 
if (typeof ol_autostatus == 'undefined') { var ol_autostatus = 0; } 

// Default height for popup. Often best left alone. 
if (typeof ol_height == 'undefined') { var ol_height = -1; } 

// Horizontal grid spacing that popups will snap to. 
// 0 makes no grid, anything else will cause a snap to that grid spacing. 
if (typeof ol_snapx == 'undefined') { var ol_snapx = 0; } 

// Vertical grid spacing that popups will snap to. 
// 0 makes no grid, andthing else will cause a snap to that grid spacing. 
if (typeof ol_snapy == 'undefined') { var ol_snapy = 0; } 

// Sets the popups horizontal position to a fixed column. 
// Anything above -1 will cause fixed position. 
if (typeof ol_fixx == 'undefined') { var ol_fixx = -1; } 

// Sets the popups vertical position to a fixed row. 
// Anything above -1 will cause fixed position. 
if (typeof ol_fixy == 'undefined') { var ol_fixy = -1; } 

// Background image for the popups inside. 
if (typeof ol_fgbackground == 'undefined') { var ol_fgbackground = ""; } 

// Background image for the popups frame. 
if (typeof ol_bgbackground == 'undefined') { var ol_bgbackground = ""; } 

// How much horizontal left padding text should get by default when BACKGROUND is used. 
if (typeof ol_padxl == 'undefined') { var ol_padxl = 1; } 

// How much horizontal right padding text should get by default when BACKGROUND is used. 
if (typeof ol_padxr == 'undefined') { var ol_padxr = 1; } 

// How much vertical top padding text should get by default when BACKGROUND is used. 
if (typeof ol_padyt == 'undefined') { var ol_padyt = 1; } 

// How much vertical bottom padding text should get by default when BACKGROUND is used. 
if (typeof ol_padyb == 'undefined') { var ol_padyb = 1; } 

// If the user by default must supply all html for complete popup control. 
// Set to 1 to activate, 0 otherwise. 
if (typeof ol_fullhtml == 'undefined') { var ol_fullhtml = 0; } 

// Default vertical position of the popup. Default should normally be BELOW. 
// ABOVE only works when HEIGHT is defined. 
if (typeof ol_vpos == 'undefined') { var ol_vpos = BELOW; } 

// Default height of popup to use when placing the popup above the cursor. 
if (typeof ol_aboveheight == 'undefined') { var ol_aboveheight = 0; } 

// Default icon to place next to the popups caption. 
if (typeof ol_capicon == 'undefined') { var ol_capicon = ""; } 

// Default frame. We default to current frame if there is no frame defined. 
if (typeof ol_frame == 'undefined') { var ol_frame = self; } 

// Default timeout. By default there is no timeout. 
if (typeof ol_timeout == 'undefined') { var ol_timeout = 0; } 

// Default javascript funktion. By default there is none. 
if (typeof ol_function == 'undefined') { var ol_function = null; } 

// Default timeout. By default there is no timeout. 
if (typeof ol_delay == 'undefined') { var ol_delay = 0; } 

// If overLIB should decide the horizontal placement. 
if (typeof ol_hauto == 'undefined') { var ol_hauto = 0; } 

// If overLIB should decide the vertical placement. 
if (typeof ol_vauto == 'undefined') { var ol_vauto = 0; } 




// If the user has to click to close stickies. 
if (typeof ol_closeclick == 'undefined') { var ol_closeclick = 0; } 

// This variable determines if you want to use CSS or inline definitions. 
// CSSOFF=no CSS    CSSSTYLE=use CSS inline styles    CSSCLASS=use classes 
if (typeof ol_css == 'undefined') { var ol_css = CSSOFF; } 

// Main background class (eqv of fgcolor) 
// This is only used if CSS is set to use classes (ol_css = CSSCLASS) 
if (typeof ol_fgclass == 'undefined') { var ol_fgclass = ""; } 

// Frame background class (eqv of bgcolor) 
// This is only used if CSS is set to use classes (ol_css = CSSCLASS) 
if (typeof ol_bgclass == 'undefined') { var ol_bgclass = ""; } 

// Main font class 
// This is only used if CSS is set to use classes (ol_css = CSSCLASS) 
if (typeof ol_textfontclass == 'undefined') { var ol_textfontclass = ""; } 

// Caption font class 
// This is only used if CSS is set to use classes (ol_css = CSSCLASS) 
if (typeof ol_captionfontclass == 'undefined') { var ol_captionfontclass = ""; } 

// Close font class 
// This is only used if CSS is set to use classes (ol_css = CSSCLASS) 
if (typeof ol_closefontclass == 'undefined') { var ol_closefontclass = ""; } 

// Unit to be used for the text padding above 
// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) 
// Options include "px", "%", "in", "cm" 
if (typeof ol_padunit == 'undefined') { var ol_padunit = "px";} 

// Unit to be used for height of popup 
// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) 
// Options include "px", "%", "in", "cm" 
if (typeof ol_heightunit == 'undefined') { var ol_heightunit = "px";} 

// Unit to be used for width of popup 
// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) 
// Options include "px", "%", "in", "cm" 
if (typeof ol_widthunit == 'undefined') { var ol_widthunit = "px";} 

// Font size unit for the main text 
// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) 
if (typeof ol_textsizeunit == 'undefined') { var ol_textsizeunit = "px";} 

// Decoration of the main text ("none", "underline", "line-through" or "blink") 
// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) 
if (typeof ol_textdecoration == 'undefined') { var ol_textdecoration = "none";} 

// Font style of the main text ("normal" or "italic") 
// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) 
if (typeof ol_textstyle == 'undefined') { var ol_textstyle = "normal";} 

// Font weight of the main text ("normal", "bold", "bolder", "lighter", ect.) 
// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) 
if (typeof ol_textweight == 'undefined') { var ol_textweight = "normal";} 

// Font size unit for the caption 
// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) 
if (typeof ol_captionsizeunit == 'undefined') { var ol_captionsizeunit = "px";} 

// Decoration of the caption ("none", "underline", "line-through" or "blink") 
// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) 
if (typeof ol_captiondecoration == 'undefined') { var ol_captiondecoration = "none";} 

// Font style of the caption ("normal" or "italic") 
// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) 
if (typeof ol_captionstyle == 'undefined') { var ol_captionstyle = "normal";} 

// Font weight of the caption ("normal", "bold", "bolder", "lighter", ect.) 
// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) 
if (typeof ol_captionweight == 'undefined') { var ol_captionweight = "bold";} 

// Font size unit for the close text 
// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) 
if (typeof ol_closesizeunit == 'undefined') { var ol_closesizeunit = "px";} 

// Decoration of the close text ("none", "underline", "line-through" or "blink") 
// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) 
if (typeof ol_closedecoration == 'undefined') { var ol_closedecoration = "none";} 

// Font style of the close text ("normal" or "italic") 
// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) 
if (typeof ol_closestyle == 'undefined') { var ol_closestyle = "normal";} 

// Font weight of the close text ("normal", "bold", "bolder", "lighter", ect.) 
// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) 
if (typeof ol_closeweight == 'undefined') { var ol_closeweight = "normal";} 




//////////////////////////////////////////////////////////////////////////////////// 
// ARRAY CONFIGURATION 
// You don't have to change anything here if you don't want to. The following 
// arrays can be filled with text and html if you don't wish to pass it from 
// your html page. 
//////////////////////////////////////////////////////////////////////////////////// 

// Array with texts. 
if (typeof ol_texts == 'undefined') { var ol_texts = new Array("Text 0", "Text 1"); } 

// Array with captions. 
if (typeof ol_caps == 'undefined') { var ol_caps = new Array("Caption 0", "Caption 1"); } 



//////////////////////////////////////////////////////////////////////////////////// 
// END CONFIGURATION 
// Don't change anything below this line, all configuration is above. 
//////////////////////////////////////////////////////////////////////////////////// 








//////////////////////////////////////////////////////////////////////////////////// 
// INIT 
//////////////////////////////////////////////////////////////////////////////////// 

// Runtime variables init. Used for runtime only, don't change, not for config! 
var o3_text = ""; 
var o3_cap = ""; 
var o3_sticky = 0; 
var o3_background = ""; 
var o3_close = "Close"; 
var o3_hpos = RIGHT; 
var o3_offsetx = 2; 
var o3_offsety = 2; 
var o3_fgcolor = ""; 
var o3_bgcolor = ""; 
var o3_textcolor = ""; 
var o3_capcolor = ""; 
var o3_closecolor = ""; 
var o3_width = 100; 
var o3_border = 1; 
var o3_status = ""; 
var o3_autostatus = 0; 
var o3_height = -1; 
var o3_snapx = 0; 
var o3_snapy = 0; 
var o3_fixx = -1; 
var o3_fixy = -1; 
var o3_fgbackground = ""; 
var o3_bgbackground = ""; 
var o3_padxl = 0; 
var o3_padxr = 0; 
var o3_padyt = 0; 
var o3_padyb = 0; 
var o3_fullhtml = 0; 
var o3_vpos = BELOW; 
var o3_aboveheight = 0; 
var o3_capicon = ""; 
var o3_textfont = "Verdana,Arial,Helvetica"; 
var o3_captionfont = "Verdana,Arial,Helvetica"; 
var o3_closefont = "Verdana,Arial,Helvetica"; 
var o3_textsize = "1"; 
var o3_captionsize = "1"; 
var o3_closesize = "1"; 
var o3_frame = self; 
var o3_timeout = 0; 
var o3_timerid = 0; 
var o3_allowmove = 0; 
var o3_function = null; 
var o3_delay = 0; 
var o3_delayid = 0; 
var o3_hauto = 0; 
var o3_vauto = 0; 
var o3_closeclick = 0; 

var o3_css = CSSOFF; 
var o3_fgclass = ""; 
var o3_bgclass = ""; 
var o3_textfontclass = ""; 
var o3_captionfontclass = ""; 
var o3_closefontclass = ""; 
var o3_padunit = "px"; 
var o3_heightunit = "px"; 
var o3_widthunit = "px"; 
var o3_textsizeunit = "px"; 
var o3_textdecoration = ""; 
var o3_textstyle = ""; 
var o3_textweight = ""; 
var o3_captionsizeunit = "px"; 
var o3_captiondecoration = ""; 
var o3_captionstyle = ""; 
var o3_captionweight = ""; 
var o3_closesizeunit = "px"; 
var o3_closedecoration = ""; 
var o3_closestyle = ""; 
var o3_closeweight = ""; 




// Display state variables 
var o3_x = 0; 
var o3_y = 0; 
var o3_allow = 0; 
var o3_showingsticky = 0; 
var o3_removecounter = 0; 

// Our layer 
var over = null; 
var fnRef; 

// Decide browser version 
var ns4 = (navigator.appName == 'Netscape' && parseInt(navigator.appVersion) == 4); 
var ns6 = (document.getElementById)? true:false; 
var ie4 = (document.all)? true:false; 
if (ie4) var docRoot = 'document.body'; 
var ie5 = false; 
if (ns4) { 
 var oW = window.innerWidth; 
 var oH = window.innerHeight; 
 window.onresize = function () {if (oW!=window.innerWidth||oH!=window.innerHeight) location.reload();} 
} 



// Microsoft Stupidity Check(tm). 
if (ie4) { 
 if ((navigator.userAgent.indexOf('MSIE 5') > 0) || (navigator.userAgent.indexOf('MSIE 6') > 0)) { 
  if(document.compatMode && document.compatMode == 'CSS1Compat') docRoot = 'document.documentElement'; 
  ie5 = true; 
 } 
 if (ns6) { 
  ns6 = false; 
 } 
} 



// Capture events, alt. diffuses the overlib function. 
if ( (ns4) || (ie4) || (ns6)) { 
 document.onmousemove = mouseMove 
 if (ns4) document.captureEvents(Event.MOUSEMOVE) 
} else { 
 overlib = no_overlib; 
 nd = no_overlib; 
 ver3fix = true; 
} 



// Fake function for 3.0 users. 
function no_overlib() { 
 return ver3fix; 
} 




//////////////////////////////////////////////////////////////////////////////////// 
// PUBLIC FUNCTIONS 
//////////////////////////////////////////////////////////////////////////////////// 



// overlib(arg0, ..., argN) 
// Loads parameters into global runtime variables. 
function overlib() { 
  
 // Load defaults to runtime. 
 o3_text = ol_text; 
 o3_cap = ol_cap; 
 o3_sticky = ol_sticky; 
 o3_background = ol_background; 
 o3_close = ol_close; 
 o3_hpos = ol_hpos; 
 o3_offsetx = ol_offsetx; 
 o3_offsety = ol_offsety; 
 o3_fgcolor = ol_fgcolor; 
 o3_bgcolor = ol_bgcolor; 
 o3_textcolor = ol_textcolor; 
 o3_capcolor = ol_capcolor; 
 o3_closecolor = ol_closecolor; 
 o3_width = ol_width; 
 o3_border = ol_border; 
 o3_status = ol_status; 
 o3_autostatus = ol_autostatus; 
 o3_height = ol_height; 
 o3_snapx = ol_snapx; 
 o3_snapy = ol_snapy; 
 o3_fixx = ol_fixx; 
 o3_fixy = ol_fixy; 
 o3_fgbackground = ol_fgbackground; 
 o3_bgbackground = ol_bgbackground; 
 o3_padxl = ol_padxl; 
 o3_padxr = ol_padxr; 
 o3_padyt = ol_padyt; 
 o3_padyb = ol_padyb; 
 o3_fullhtml = ol_fullhtml; 
 o3_vpos = ol_vpos; 
 o3_aboveheight = ol_aboveheight; 
 o3_capicon = ol_capicon; 
 o3_textfont = ol_textfont; 
 o3_captionfont = ol_captionfont; 
 o3_closefont = ol_closefont; 
 o3_textsize = ol_textsize; 
 o3_captionsize = ol_captionsize; 
 o3_closesize = ol_closesize; 
 o3_timeout = ol_timeout; 
 o3_function = ol_function; 
 o3_delay = ol_delay; 
 o3_hauto = ol_hauto; 
 o3_vauto = ol_vauto; 
 o3_closeclick = ol_closeclick; 
  
 o3_css = ol_css; 
 o3_fgclass = ol_fgclass; 
 o3_bgclass = ol_bgclass; 
 o3_textfontclass = ol_textfontclass; 
 o3_captionfontclass = ol_captionfontclass; 
 o3_closefontclass = ol_closefontclass; 
 o3_padunit = ol_padunit; 
 o3_heightunit = ol_heightunit; 
 o3_widthunit = ol_widthunit; 
 o3_textsizeunit = ol_textsizeunit; 
 o3_textdecoration = ol_textdecoration; 
 o3_textstyle = ol_textstyle; 
 o3_textweight = ol_textweight; 
 o3_captionsizeunit = ol_captionsizeunit; 
 o3_captiondecoration = ol_captiondecoration; 
 o3_captionstyle = ol_captionstyle; 
 o3_captionweight = ol_captionweight; 
 o3_closesizeunit = ol_closesizeunit; 
 o3_closedecoration = ol_closedecoration; 
 o3_closestyle = ol_closestyle; 
 o3_closeweight = ol_closeweight; 
 fnRef = ''; 
  

 // Special for frame support, over must be reset... 
 if ( (ns4) || (ie4) || (ns6) ) { 
  if (over) cClick(); 
  o3_frame = ol_frame; 
  if (ns4) over = o3_frame.document.overDiv 
  if (ie4) over = o3_frame.overDiv.style 
  if (ns6) over = o3_frame.document.getElementById("overDiv"); 
 } 
  
  
 // What the next argument is expected to be. 
 var parsemode = -1, udf, v = null; 
  
 var ar = arguments; 
 udf = (!ar.length ? 1 : 0); 

 for (i = 0; i < ar.length; i++) { 

  if (parsemode < 0) { 
    // Arg is maintext, unless its a PARAMETER 
    if (typeof ar[i] == 'number') { 
      udf = (ar[i] == FUNCTION ? 0 : 1); 
      i--; 
    } else { 
      o3_text = ar[i]; 
    } 

    parsemode = 0; 
  } else { 
    // Note: NS4 doesn't like switch cases with vars. 
    if (ar[i] == INARRAY) { udf = 0; o3_text = ol_texts[ar[++i]]; continue; } 
    if (ar[i] == CAPARRAY) { o3_cap = ol_caps[ar[++i]]; continue; } 
    if (ar[i] == STICKY) { o3_sticky = 1; continue; } 
    if (ar[i] == BACKGROUND) { o3_background = ar[++i]; continue; } 
    if (ar[i] == NOCLOSE) { o3_close = ""; continue; } 
    if (ar[i] == CAPTION) { o3_cap = ar[++i]; continue; } 
    if (ar[i] == CENTER || ar[i] == LEFT || ar[i] == RIGHT) { o3_hpos = ar[i]; continue; } 
    if (ar[i] == OFFSETX) { o3_offsetx = ar[++i]; continue; } 
    if (ar[i] == OFFSETY) { o3_offsety = ar[++i]; continue; } 
    if (ar[i] == FGCOLOR) { o3_fgcolor = ar[++i]; continue; } 
    if (ar[i] == BGCOLOR) { o3_bgcolor = ar[++i]; continue; } 
    if (ar[i] == TEXTCOLOR) { o3_textcolor = ar[++i]; continue; } 
    if (ar[i] == CAPCOLOR) { o3_capcolor = ar[++i]; continue; } 
    if (ar[i] == CLOSECOLOR) { o3_closecolor = ar[++i]; continue; } 
    if (ar[i] == WIDTH) { o3_width = ar[++i]; continue; } 
    if (ar[i] == BORDER) { o3_border = ar[++i]; continue; } 
    if (ar[i] == STATUS) { o3_status = ar[++i]; continue; } 
    if (ar[i] == AUTOSTATUS) { o3_autostatus = (o3_autostatus == 1) ? 0 : 1; continue; } 
    if (ar[i] == AUTOSTATUSCAP) { o3_autostatus = (o3_autostatus == 2) ? 0 : 2; continue; } 
    if (ar[i] == HEIGHT) { o3_height = ar[++i]; o3_aboveheight = ar[i]; continue; } // Same param again. 
    if (ar[i] == CLOSETEXT) { o3_close = ar[++i]; continue; } 
    if (ar[i] == SNAPX) { o3_snapx = ar[++i]; continue; } 
    if (ar[i] == SNAPY) { o3_snapy = ar[++i]; continue; } 
    if (ar[i] == FIXX) { o3_fixx = ar[++i]; continue; } 
    if (ar[i] == FIXY) { o3_fixy = ar[++i]; continue; } 
    if (ar[i] == FGBACKGROUND) { o3_fgbackground = ar[++i]; continue; } 
    if (ar[i] == BGBACKGROUND) { o3_bgbackground = ar[++i]; continue; } 
    if (ar[i] == PADX) { o3_padxl = ar[++i]; o3_padxr = ar[++i]; continue; } 
    if (ar[i] == PADY) { o3_padyt = ar[++i]; o3_padyb = ar[++i]; continue; } 
    if (ar[i] == FULLHTML) { o3_fullhtml = 1; continue; } 
    if (ar[i] == BELOW || ar[i] == ABOVE) { o3_vpos = ar[i]; continue; } 
    if (ar[i] == CAPICON) { o3_capicon = ar[++i]; continue; } 
    if (ar[i] == TEXTFONT) { o3_textfont = ar[++i]; continue; } 
    if (ar[i] == CAPTIONFONT) { o3_captionfont = ar[++i]; continue; } 
    if (ar[i] == CLOSEFONT) { o3_closefont = ar[++i]; continue; } 
    if (ar[i] == TEXTSIZE) { o3_textsize = ar[++i]; continue; } 
    if (ar[i] == CAPTIONSIZE) { o3_captionsize = ar[++i]; continue; } 
    if (ar[i] == CLOSESIZE) { o3_closesize = ar[++i]; continue; } 
    if (ar[i] == FRAME) { opt_FRAME(ar[++i]); continue; } 
    if (ar[i] == TIMEOUT) { o3_timeout = ar[++i]; continue; } 
    if (ar[i] == FUNCTION) { udf = 0; if (typeof ar[i+1] != 'number') v = ar[++i]; opt_FUNCTION(v); continue; } 
    if (ar[i] == DELAY) { o3_delay = ar[++i]; continue; } 
    if (ar[i] == HAUTO) { o3_hauto = (o3_hauto == 0) ? 1 : 0; continue; } 
    if (ar[i] == VAUTO) { o3_vauto = (o3_vauto == 0) ? 1 : 0; continue; } 
    if (ar[i] == CLOSECLICK) { o3_closeclick = (o3_closeclick == 0) ? 1 : 0; continue; } 
    if (ar[i] == CSSOFF) { o3_css = ar[i]; continue; } 
    if (ar[i] == CSSSTYLE) { o3_css = ar[i]; continue; } 
    if (ar[i] == CSSCLASS) { o3_css = ar[i]; continue; } 
    if (ar[i] == FGCLASS) { o3_fgclass = ar[++i]; continue; } 
    if (ar[i] == BGCLASS) { o3_bgclass = ar[++i]; continue; } 
    if (ar[i] == TEXTFONTCLASS) { o3_textfontclass = ar[++i]; continue; } 
    if (ar[i] == CAPTIONFONTCLASS) { o3_captionfontclass = ar[++i]; continue; } 
    if (ar[i] == CLOSEFONTCLASS) { o3_closefontclass = ar[++i]; continue; } 
    if (ar[i] == PADUNIT) { o3_padunit = ar[++i]; continue; } 
    if (ar[i] == HEIGHTUNIT) { o3_heightunit = ar[++i]; continue; } 
    if (ar[i] == WIDTHUNIT) { o3_widthunit = ar[++i]; continue; } 
    if (ar[i] == TEXTSIZEUNIT) { o3_textsizeunit = ar[++i]; continue; } 
    if (ar[i] == TEXTDECORATION) { o3_textdecoration = ar[++i]; continue; } 
    if (ar[i] == TEXTSTYLE) { o3_textstyle = ar[++i]; continue; } 
    if (ar[i] == TEXTWEIGHT) { o3_textweight = ar[++i]; continue; } 
    if (ar[i] == CAPTIONSIZEUNIT) { o3_captionsizeunit = ar[++i]; continue; } 
    if (ar[i] == CAPTIONDECORATION) { o3_captiondecoration = ar[++i]; continue; } 
    if (ar[i] == CAPTIONSTYLE) { o3_captionstyle = ar[++i]; continue; } 
    if (ar[i] == CAPTIONWEIGHT) { o3_captionweight = ar[++i]; continue; } 
    if (ar[i] == CLOSESIZEUNIT) { o3_closesizeunit = ar[++i]; continue; } 
    if (ar[i] == CLOSEDECORATION) { o3_closedecoration = ar[++i]; continue; } 
    if (ar[i] == CLOSESTYLE) { o3_closestyle = ar[++i]; continue; } 
    if (ar[i] == CLOSEWEIGHT) { o3_closeweight = ar[++i]; continue; } 
  } 
 } 
 if (udf && o3_function) o3_text = o3_function(); 

 if (o3_delay == 0) { 
  return overlib351(); 
 } else { 
  o3_delayid = setTimeout("overlib351()", o3_delay); 
  return false; 
 } 
} 




// Clears popups if appropriate 
function nd() { 
 if ( o3_removecounter >= 1 ) { o3_showingsticky = 0 }; 
 if ( (ns4) || (ie4) || (ns6) ) { 
  if ( o3_showingsticky == 0 ) { 
    o3_allowmove = 0; 
    if (over != null) hideObject(over); 
  } else { 
    o3_removecounter++; 
  } 
 } 
  
 return true; 
} 








//////////////////////////////////////////////////////////////////////////////////// 
// OVERLIB 3.51 FUNCTION 
//////////////////////////////////////////////////////////////////////////////////// 



// This function decides what it is we want to display and how we want it done. 
function overlib351() { 

 // Make layer content 
 var layerhtml; 

 if (o3_background != "" || o3_fullhtml) { 
  // Use background instead of box. 
  layerhtml = ol_content_background(o3_text, o3_background, o3_fullhtml); 
 } else { 
  // They want a popup box. 

  // Prepare popup background 
  if (o3_fgbackground != "" && o3_css == CSSOFF) { 
    o3_fgbackground = "BACKGROUND=\""+o3_fgbackground+"\""; 
  } 
  if (o3_bgbackground != "" && o3_css == CSSOFF) { 
    o3_bgbackground = "BACKGROUND=\""+o3_bgbackground+"\""; 
  } 

  // Prepare popup colors 
  if (o3_fgcolor != "" && o3_css == CSSOFF) { 
    o3_fgcolor = "BGCOLOR=\""+o3_fgcolor+"\""; 
  } 
  if (o3_bgcolor != "" && o3_css == CSSOFF) { 
    o3_bgcolor = "BGCOLOR=\""+o3_bgcolor+"\""; 
  } 

  // Prepare popup height 
  if (o3_height > 0 && o3_css == CSSOFF) { 
    o3_height = "HEIGHT=" + o3_height; 
  } else { 
    o3_height = ""; 
  } 

  // Decide which kinda box. 
  if (o3_cap == "") { 
    // Plain 
    layerhtml = ol_content_simple(o3_text); 
  } else { 
    // With caption 
    if (o3_sticky) { 
      // Show close text 
      layerhtml = ol_content_caption(o3_text, o3_cap, o3_close); 
    } else { 
      // No close text 
      layerhtml = ol_content_caption(o3_text, o3_cap, ""); 
    } 
  } 
 } 
  
 // We want it to stick! 
 if (o3_sticky) { 
  if (o3_timerid > 0) { 
    clearTimeout(o3_timerid); 
    o3_timerid = 0; 
  } 
  o3_showingsticky = 1; 
  o3_removecounter = 0; 
 } 
  
 // Write layer 
 layerWrite(layerhtml); 
  
 // Prepare status bar 
 if (o3_autostatus > 0) { 
  o3_status = o3_text; 
  if (o3_autostatus > 1) { 
    o3_status = o3_cap; 
  } 
 } 

 // When placing the layer the first time, even stickies may be moved. 
 o3_allowmove = 0; 

 // Initiate a timer for timeout 
 if (o3_timeout > 0) { 
  if (o3_timerid > 0) clearTimeout(o3_timerid); 
  o3_timerid = setTimeout("cClick()", o3_timeout); 
 } 

 // Show layer 
 disp(o3_status); 

 // Stickies should stay where they are.  
 if (o3_sticky) o3_allowmove = 0; 

 return (o3_status != ''); 
} 




//////////////////////////////////////////////////////////////////////////////////// 
// LAYER GENERATION FUNCTIONS 
//////////////////////////////////////////////////////////////////////////////////// 

// Makes simple table without caption 
function ol_content_simple(text) { 
 if (o3_css == CSSCLASS) txt = "<TABLE WIDTH="+o3_width+" BORDER=0 CELLPADDING="+o3_border+" CELLSPACING=0 class=\""+o3_bgclass+"\"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 class=\""+o3_fgclass+"\"><TR><TD VALIGN=TOP><FONT class=\""+o3_textfontclass+"\">"+text+"</FONT></TD></TR></TABLE></TD></TR></TABLE>";

 if (o3_css == CSSSTYLE) txt = "<TABLE WIDTH="+o3_width+" BORDER=0 CELLPADDING="+o3_border+" CELLSPACING=0 style=\"background-color: "+o3_bgcolor+"; height: "+o3_height+o3_heightunit+";\"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 style=\"color: "+o3_fgcolor+"; background-color: "+o3_fgcolor+"; height: "+o3_height+o3_heightunit+";\"><TR><TD VALIGN=TOP><FONT style=\"font-family: "+o3_textfont+"; color: "+o3_textcolor+"; font-size: "+o3_textsize+o3_textsizeunit+"; text-decoration: "+o3_textdecoration+"; font-weight: "+o3_textweight+"; font-style:"+o3_textstyle+"\">"+text+"</FONT></TD></TR></TABLE></TD></TR></TABLE>";

 if (o3_css == CSSOFF) txt = "<TABLE WIDTH="+o3_width+" BORDER=0 CELLPADDING="+o3_border+" CELLSPACING=0 "+o3_bgcolor+" "+o3_height+"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 "+o3_fgcolor+" "+o3_fgbackground+" "+o3_height+"><TR><TD VALIGN=TOP><FONT FACE=\""+o3_textfont+"\" COLOR=\""+o3_textcolor+"\" SIZE=\""+o3_textsize+"\">"+text+"</FONT></TD></TR></TABLE></TD></TR></TABLE>";

 set_background(""); 
 return txt; 
} 





// Makes table with caption and optional close link 
function ol_content_caption(text, title, close) { 
 closing = ""; 
 closeevent = "onMouseOver"; 

 if (o3_closeclick == 1) closeevent = "onClick"; 
 if (o3_capicon != "") o3_capicon = "<IMG SRC=\""+o3_capicon+"\"> "; 

 if (close != "") { 
  if (o3_css == CSSCLASS) closing = "<TD ALIGN=RIGHT><A HREF=\"javascript:return "+fnRef+"cClick();\" "+closeevent+"=\"return " + fnRef + "cClick();\" class=\""+o3_closefontclass+"\">"+close+"</A></TD>";

  if (o3_css == CSSSTYLE) closing = "<TD ALIGN=RIGHT><A HREF=\"javascript:return "+fnRef+"cClick();\" "+closeevent+"=\"return " + fnRef + "cClick();\" style=\"color: "+o3_closecolor+"; font-family: "+o3_closefont+"; font-size: "+o3_closesize+o3_closesizeunit+"; text-decoration: "+o3_closedecoration+"; font-weight: "+o3_closeweight+"; font-style:"+o3_closestyle+";\">"+close+"</A></TD>";

  if (o3_css == CSSOFF) closing = "<TD ALIGN=RIGHT><A HREF=\"javascript:return "+fnRef+"cClick();\" "+closeevent+"=\"return " + fnRef + "cClick();\"><FONT COLOR=\""+o3_closecolor+"\" FACE=\""+o3_closefont+"\" SIZE=\""+o3_closesize+"\">"+close+"</FONT></A></TD>";

 } 

 if (o3_css == CSSCLASS) txt = "<TABLE WIDTH="+o3_width+" BORDER=0 CELLPADDING="+o3_border+" CELLSPACING=0 class=\""+o3_bgclass+"\"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0><TR><TD><FONT class=\""+o3_captionfontclass+"\">"+o3_capicon+title+"</FONT></TD>"+closing+"</TR></TABLE><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 class=\""+o3_fgclass+"\"><TR><TD VALIGN=TOP><FONT class=\""+o3_textfontclass+"\">"+text+"</FONT></TD></TR></TABLE></TD></TR></TABLE>";

 if (o3_css == CSSSTYLE) txt = "<TABLE WIDTH="+o3_width+" BORDER=0 CELLPADDING="+o3_border+" CELLSPACING=0 style=\"background-color: "+o3_bgcolor+"; background-image: url("+o3_bgbackground+"); height: "+o3_height+o3_heightunit+";\"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0><TR><TD><FONT style=\"font-family: "+o3_captionfont+"; color: "+o3_capcolor+"; font-size: "+o3_captionsize+o3_captionsizeunit+"; font-weight: "+o3_captionweight+"; font-style: "+o3_captionstyle+"; text-decoration: " + o3_captiondecoration + ";\">"+o3_capicon+title+"</FONT></TD>"+closing+"</TR></TABLE><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 style=\"color: "+o3_fgcolor+"; background-color: "+o3_fgcolor+"; height: "+o3_height+o3_heightunit+";\"><TR><TD VALIGN=TOP><FONT style=\"font-family: "+o3_textfont+"; color: "+o3_textcolor+"; font-size: "+o3_textsize+o3_textsizeunit+"; text-decoration: "+o3_textdecoration+"; font-weight: "+o3_textweight+"; font-style:"+o3_textstyle+"\">"+text+"</FONT></TD></TR></TABLE></TD></TR></TABLE>";

 if (o3_css == CSSOFF) txt = "<TABLE WIDTH="+o3_width+" BORDER=0 CELLPADDING="+o3_border+" CELLSPACING=0 "+o3_bgcolor+" "+o3_bgbackground+" "+o3_height+"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0><TR><TD><B><FONT COLOR=\""+o3_capcolor+"\" FACE=\""+o3_captionfont+"\" SIZE=\""+o3_captionsize+"\">"+o3_capicon+title+"</FONT></B></TD>"+closing+"</TR></TABLE><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 "+o3_fgcolor+" "+o3_fgbackground+" "+o3_height+"><TR><TD VALIGN=TOP><FONT COLOR=\""+o3_textcolor+"\" FACE=\""+o3_textfont+"\" SIZE=\""+o3_textsize+"\">"+text+"</FONT></TD></TR></TABLE></TD></TR></TABLE>";

 set_background(""); 
 return txt; 
} 

// Sets the background picture, padding and lots more. :) 
function ol_content_background(text, picture, hasfullhtml) { 
 var txt; 
 if (hasfullhtml) { 
  txt = text; 
 } else { 
  var pU, hU, wU; 
  pU = (o3_padunit == '%' ? '%' : ''); 
  hU = (o3_heightunit == '%' ? '%' : ''); 
  wU = (o3_widthunit == '%' ? '%' : ''); 

  if (o3_css == CSSCLASS) txt = "<TABLE WIDTH="+o3_width+" BORDER=0 CELLPADDING=0 CELLSPACING=0 HEIGHT="+o3_height+"><TR><TD COLSPAN=3 HEIGHT="+o3_padyt+"></TD></TR><TR><TD WIDTH="+o3_padxl+"></TD><TD VALIGN=TOP WIDTH="+(o3_width-o3_padxl-o3_padxr)+"><FONT class=\""+o3_textfontclass+"\">"+text+"</FONT></TD><TD WIDTH="+o3_padxr+"></TD></TR><TR><TD COLSPAN=3 HEIGHT="+o3_padyb+"></TD></TR></TABLE>";

  if (o3_css == CSSSTYLE) txt = "<TABLE WIDTH="+o3_width+wU+" BORDER=0 CELLPADDING=0 CELLSPACING=0 HEIGHT="+o3_height+hU+"><TR><TD COLSPAN=3 HEIGHT="+o3_padyt+pU+"></TD></TR><TR><TD WIDTH="+o3_padxl+pU+"></TD><TD VALIGN=TOP WIDTH="+(o3_width-o3_padxl-o3_padxr)+pU+"><FONT style=\"font-family: "+o3_textfont+"; color: "+o3_textcolor+"; font-size: "+o3_textsize+o3_textsizeunit+";\">"+text+"</FONT></TD><TD WIDTH="+o3_padxr+pU+"></TD></TR><TR><TD COLSPAN=3 HEIGHT="+o3_padyb+pU+"></TD></TR></TABLE>";

  if (o3_css == CSSOFF) txt = "<TABLE WIDTH="+o3_width+" BORDER=0 CELLPADDING=0 CELLSPACING=0 HEIGHT="+o3_height+"><TR><TD COLSPAN=3 HEIGHT="+o3_padyt+"></TD></TR><TR><TD WIDTH="+o3_padxl+"></TD><TD VALIGN=TOP WIDTH="+(o3_width-o3_padxl-o3_padxr)+"><FONT FACE=\""+o3_textfont+"\" COLOR=\""+o3_textcolor+"\" SIZE=\""+o3_textsize+"\">"+text+"</FONT></TD><TD WIDTH="+o3_padxr+"></TD></TR><TR><TD COLSPAN=3 HEIGHT="+o3_padyb+"></TD></TR></TABLE>";

 } 
 set_background(picture); 
 return txt; 
} 

// Loads a picture into the div. 
function set_background(pic) { 
 if (pic == "") { 
  if (ns4) over.background.src = null; 
  if (ie4) over.backgroundImage = "none"; 
  if (ns6) over.style.backgroundImage = "none"; 
 } else { 
  if (ns4) { 
    over.background.src = pic; 
  } else if (ie4) { 
    over.backgroundImage = "url("+pic+")"; 
  } else if (ns6) { 
    over.style.backgroundImage = "url("+pic+")"; 
  } 
 } 
} 




//////////////////////////////////////////////////////////////////////////////////// 
// HANDLING FUNCTIONS 
//////////////////////////////////////////////////////////////////////////////////// 



// Displays the popup 
function disp(statustext) { 
 if ( (ns4) || (ie4) || (ns6) ) { 
  if (o3_allowmove == 0)  { 
    placeLayer(); 
    showObject(over); 
    o3_allowmove = 1; 
  } 
 } 

 if (statustext != "") { 
  self.status = statustext; 
 } 
} 

// Decides where we want the popup. 
function placeLayer() { 
 var placeX, placeY; 
  
 // HORIZONTAL PLACEMENT 
 if (o3_fixx > -1) { 
  // Fixed position 
  placeX = o3_fixx; 
 } else { 
  winoffset = (ie4) ? eval('o3_frame.'+docRoot+'.scrollLeft') : o3_frame.pageXOffset; 
  if (ie4) iwidth = eval('o3_frame.'+docRoot+'.clientWidth'); 
  if (ns4 || ns6) iwidth = o3_frame.innerWidth; 
  
  // If HAUTO, decide what to use. 
  if (o3_hauto == 1) { 
    if ( (o3_x - winoffset) > ((eval(iwidth)) / 2)) { 
      o3_hpos = LEFT; 
    } else { 
      o3_hpos = RIGHT; 
    } 
  } 
  
  // From mouse 
  if (o3_hpos == CENTER) { // Center 
    placeX = o3_x+o3_offsetx-(o3_width/2); 
    if (placeX < winoffset) placeX = winoffset; 
  } 
  if (o3_hpos == RIGHT) { // Right 
    placeX = o3_x+o3_offsetx; 
    if ( (eval(placeX) + eval(o3_width)) > (winoffset + iwidth) ) { 
      placeX = iwidth + winoffset - o3_width; 
      if (placeX < 0) placeX = 0; 
    } 
  } 
  if (o3_hpos == LEFT) { // Left 
    placeX = o3_x-o3_offsetx-o3_width; 
    if (placeX < winoffset) placeX = winoffset; 
  } 
  
  // Snapping! 
  if (o3_snapx > 1) { 
    var snapping = placeX % o3_snapx; 
    if (o3_hpos == LEFT) { 
      placeX = placeX - (o3_snapx + snapping); 
    } else { 
      // CENTER and RIGHT 
      placeX = placeX + (o3_snapx - snapping); 
    } 
    if (placeX < winoffset) placeX = winoffset; 
  } 
 } 

  
  
 // VERTICAL PLACEMENT 
 if (o3_fixy > -1) { 
  // Fixed position 
  placeY = o3_fixy; 
 } else { 
  scrolloffset = (ie4) ? eval('o3_frame.'+docRoot+'.scrollTop') : o3_frame.pageYOffset; 

  // If VAUTO, decide what to use. 
  if (o3_vauto == 1) { 
    if (ie4) iheight = eval('o3_frame.'+docRoot+'.clientHeight'); 
    if (ns4 || ns6) iheight = o3_frame.innerHeight; 

    iheight = (eval(iheight)) / 2; 
    if ( (o3_y - scrolloffset) > iheight) { 
      o3_vpos = ABOVE; 
    } else { 
      o3_vpos = BELOW; 
    } 
  } 



  // From mouse 
  if (o3_vpos == ABOVE) { 
    if (o3_aboveheight == 0) { 
      var divref = (ie4) ? o3_frame.document.all['overDiv'] : over; 
      o3_aboveheight = (ns4) ? divref.clip.height : divref.offsetHeight; 
    } 

    placeY = o3_y - (o3_aboveheight + o3_offsety); 
    if (placeY < scrolloffset) placeY = scrolloffset; 
  } else { 
    // BELOW 
    placeY = o3_y + o3_offsety; 
  } 

  // Snapping! 
  if (o3_snapy > 1) { 
    var snapping = placeY % o3_snapy; 
    
    if (o3_aboveheight > 0 && o3_vpos == ABOVE) { 
      placeY = placeY - (o3_snapy + snapping); 
    } else { 
      placeY = placeY + (o3_snapy - snapping); 
    } 
    
    if (placeY < scrolloffset) placeY = scrolloffset; 
  } 
 } 



 // Actually move the object. 
 repositionTo(over, placeX, placeY); 
} 



// Moves the layer 
function mouseMove(e) { 
 if ( (ns4) || (ns6) ) {o3_x=e.pageX; o3_y=e.pageY;} 
 if (ie4) {o3_x=event.x; o3_y=event.y;} 
 if (ie5) {o3_x=eval('event.x+o3_frame.'+docRoot+'.scrollLeft'); o3_y=eval('event.y+o3_frame.'+docRoot+'.scrollTop');} 
  
 if (o3_allowmove == 1) { 
  placeLayer(); 
 } 
} 

// The Close onMouseOver function for stickies 
function cClick() { 
 hideObject(over); 
 o3_showingsticky = 0; 
  
 return false; 
} 



// Makes sure target frame has overLIB 
function compatibleframe(frameid) { 
 if (ns4) { 
  if (typeof frameid.document.overDiv =='undefined') return false; 
 } else if (ie4) { 
  if (typeof frameid.document.all["overDiv"] =='undefined') return false; 
 } else if (ns6) { 
  if (frameid.document.getElementById('overDiv') == null) return false; 
 } 

 return true; 
} 




//////////////////////////////////////////////////////////////////////////////////// 
// LAYER FUNCTIONS 
//////////////////////////////////////////////////////////////////////////////////// 



// Writes to a layer 
function layerWrite(txt) { 
 txt += "\n"; 
  
 if (ns4) { 
  var lyr = o3_frame.document.overDiv.document 
  lyr.write(txt) 
  lyr.close() 
 } else if (ie4) { 
  o3_frame.document.all["overDiv"].innerHTML = txt 
 } else if (ns6) { 
  range = o3_frame.document.createRange(); 
  range.setStartBefore(over); 
  domfrag = range.createContextualFragment(txt); 
  while (over.hasChildNodes()) { 
    over.removeChild(over.lastChild); 
  } 
  over.appendChild(domfrag); 
 } 
} 

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

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

 if (o3_timerid > 0) clearTimeout(o3_timerid); 
 if (o3_delayid > 0) clearTimeout(o3_delayid); 
 o3_timerid = 0; 
 o3_delayid = 0; 
 self.status = ""; 
} 

// Move a layer 
function repositionTo(obj,xL,yL) { 
 if ( (ns4) || (ie4) ) { 
  obj.left = (ie4 ? xL + 'px' : xL); 
  obj.top = (ie4 ? yL + 'px' : yL); 
 } else if (ns6) { 
  obj.style.left = xL + "px"; 
  obj.style.top = yL+ "px"; 
 } 
} 

function getFrameRef(thisFrame, ofrm) { 
 var retVal = ''; 
 for (var i=0; i<thisFrame.length; i++) { 
  if (thisFrame[i].length > 0) { 
    retVal = getFrameRef(thisFrame[i],ofrm); 
    if (retVal == '') continue; 
  } else if (thisFrame[i] != ofrm) continue; 
  
  retVal = '['+i+']' + retVal; 
  break; 
 } 
  
 return retVal; 
} 





//////////////////////////////////////////////////////////////////////////////////// 
// PARSER FUNCTIONS 
//////////////////////////////////////////////////////////////////////////////////// 



// Defines which frame we should point to. 
function opt_FRAME(frm) { 
 o3_frame = compatibleframe(frm) ? frm : ol_frame; 

 if (o3_frame != ol_frame) { 
  var tFrm = getFrameRef(top.frames, o3_frame); 
  var sFrm = getFrameRef(top.frames, ol_frame); 

  if (sFrm.length == tFrm.length) { 
    l = tFrm.lastIndexOf('['); 
    if (l) { 
      while(sFrm.substring(0,l) != tFrm.substring(0,l)) l = tFrm.lastIndexOf('[',l-1); 
      tFrm = tFrm.substr(l); 
      sFrm = sFrm.substr(l); 
    } 
  } 
    
  var cnt = 0, p = '', str = tFrm; 
    
  while((k = str.lastIndexOf('[')) != -1) { 
    cnt++; 
    str = str.substring(0,k); 
  } 

  for (var i=0; i<cnt; i++) p = p + 'parent.'; 
  fnRef = p + 'frames' + sFrm + '.'; 
 } 

 if ( (ns4) || (ie4 || (ns6)) ) { 
  if (ns4) over = o3_frame.document.overDiv; 
  if (ie4) over = o3_frame.overDiv.style; 
  if (ns6) over = o3_frame.document.getElementById("overDiv"); 
 } 

 return 0; 
} 

// Calls an external function 
function opt_FUNCTION(callme) { 
 o3_text = (callme ? callme() : (o3_function ? o3_function() : 'No Function')); 
 return 0; 
} 





//end (For internal purposes.) 
//////////////////////////////////////////////////////////////////////////////////// 
// OVERLIB 2 COMPATABILITY FUNCTIONS 
// If you aren't upgrading you can remove the below section. 
//////////////////////////////////////////////////////////////////////////////////// 

// Converts old 0=left, 1=right and 2=center into constants. 
function vpos_convert(d) { 
 if (d == 0) { 
  d = LEFT; 
 } else { 
  if (d == 1) { 
    d = RIGHT; 
  } else { 
    d = CENTER; 
  } 
 } 
  
 return d; 
} 

// Simple popup 
function dts(d,text) { 
 o3_hpos = vpos_convert(d); 
 overlib(text, o3_hpos, CAPTION, ""); 
} 

// Caption popup 
function dtc(d,text, title) { 
 o3_hpos = vpos_convert(d); 
 overlib(text, CAPTION, title, o3_hpos); 
} 

// Sticky 
function stc(d,text, title) { 
 o3_hpos = vpos_convert(d); 
 overlib(text, CAPTION, title, o3_hpos, STICKY); 
} 

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

// Caption popup right 
function drc(text, title) { 
 dtc(1,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); 
} 

// Smart Note Preview Pane 
function sspp(title, label1, text1, label2, text2, label3, text3, label4, text4) { 
  overlib('<table class="formPane" border="0"><tr class="formHeader"><td colspan=2>'+title+'</td></tr><tr><td class="formLabel">'+label1+'</td><td class="formData">' + text1 + '</td></tr><tr><td class="formLabel">'+label2+'</td><td class="formData">' + text2 + '</td></tr><tr><td class="formLabel">'+label3+'</td><td class="formData">' + text3 + '</td></tr><tr><td class="formLabel">'+label4+'</td><td class="formData">' + text4 + '</td></tr></table>', FULLHTML, CSSCLASS, RIGHT, ABOVE, WIDTH, 200);

} 

function sspp_memo(title, label1, text1, label2, text2, label3, text3, label4, text4, label5, text5) { 
  overlib('<table class="formPane" border="0"><tr class="formHeader"><td colspan=2>'+title+'</td></tr><tr><td class="formLabel">'+label1+'</td><td class="formData">' + text1 + '</td></tr><tr><td class="formLabel">'+label2+'</td><td class="formData">' + text2 + '</td></tr><tr><td class="formLabel">'+label3+'</td><td class="formData">' + text3 + '</td></tr><tr><td class="formLabel">'+label4+'</td><td class="formData">' + text4 + '</td></tr><tr><td class="formLabel">'+label5+'</td><td class="formData">' + text5 + '</td></tr></table>', FULLHTML, CSSCLASS, RIGHT, ABOVE, WIDTH, 200);

} 
