//====================================================================================
// FILENAME:  pop_java.js  
// SOURCE:    angelsinfo.info
// ©2002,2003 Angel (Jacobsen) Lewis. All rights reserved. 
//  NO PORTIONS OF ANY CODE OR SCRIPTS ORIGINATING FROM THIS WEBSITE MAY BE COPIED, 
//  USED, OR DISTRIBUTED WITHOUT THE EXPLICIT WRITTEN CONSENT OF THE COPYRIGHT HOLDER.
//====================================================================================
// POP-UP JAVASCRIPT FUNCTIONS
// LAST UPDATED: 13/May/2003 09:29 (Eastern Time)
//====================================================================================
//
//************************************
//CONSTANTS - DO NOT MODIFY
  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 - MODIFY HERE OR ON THE HTML PAGE WITHIN EACH POPOVER CALL
//********************************************************************************
//
//DEFAULT ATTRIBUTES FOR "CAPTION":
//COLOR OF THE CAPTION TEXT - USUALLY A BRIGHT COLOR
  if (typeof ol_capcolor == 'undefined') { var ol_capcolor = "#FFFF00";}
//
//FONT FACE FOR THE CAPTION
  if (typeof ol_captionfont == 'undefined') { var ol_captionfont = "Verdana,Arial,Helvetica";}
//
//FONT SIZE FOR THE CAPTION - WHEN USING CSS THIS WILL BE VERY SMALL
  if (typeof ol_captionsize == 'undefined') { var ol_captionsize = "4";}
//
//DEFAULT CAPTION - YOU SHOULD LEAVE THIS BLANK OR YOU WILL HAVE PROBLEMS MAKING NON CAPS POPUPS
  if (typeof ol_cap == 'undefined') { var ol_cap = ""; }
//
//
//DEFAULT ATTRIBUTES FOR "MAIN TEXT":
//COLOR OF THE MAIN TEXT - USUALLY A DARK COLOR
  if (typeof ol_textcolor == 'undefined') { var ol_textcolor = "purple";}
//
//FONT FACE FOR THE MAIN TEXT
  if (typeof ol_textfont == 'undefined') { var ol_textfont = "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 = "3";}
//
//
//DEFAULT ATTRIBUTES FOR "CLOSE":
//COLOR OF CLOSE (WHEN USING STICKY) - USUALLY A SEMI-BRIGHT COLOR
  if (typeof ol_closecolor == 'undefined') { var ol_closecolor = "#9999FF";}
//
//FONT FACE FOR THE CLOSE TEXT
  if (typeof ol_closefont == 'undefined') { var ol_closefont = "Verdana,Arial,Helvetica";}
//
//FONT SIZE FOR THE CLOSE TEXT - WHEN USING CSS THIS WILL BE VERY SMALL
  if (typeof ol_closesize == 'undefined') { var ol_closesize = "2";}
//
//TEXT FOR THE CLOSING STICKY POPUPS - NORMAL IS "CLOSE"
  if (typeof ol_close == 'undefined') { var ol_close = "CLOSE"; }
//
//IF THE USER HAS TO CLICK TO CLOSE STICKIES?
  if (typeof ol_closeclick == 'undefined') { var ol_closeclick = 0; }
//
//DECIDES IF STICKY POPUPS ARE DEFAULT - 0 FOR NON, 1 FOR STICKIES
  if (typeof ol_sticky == 'undefined') { var ol_sticky = 0; }
//
//
//DEFAULT ATTRIBUTES FOR "STATUS BAR":
//DEFAULT STATUS BAR TEXT WHEN A POPUP IS INVOKED
  if (typeof ol_status == 'undefined') { var ol_status = "WELCOME TO angelsinfo.info ~~ THANKS FOR VISITING!"; }
//
//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 ATTRIBUTES FOR POPUP: 
//COLOR OF BACKGROUND (THE LARGE AREA) - USUALLY A BRIGHT COLOR (WHITE, YELLOW ETC)
  if (typeof ol_fgcolor == 'undefined') { var ol_fgcolor = "#FFCCFF";}
//
//COLOR OF BORDER - USUALLY A DARK COLOR (BLACK, BROWN ETC)
  if (typeof ol_bgcolor == 'undefined') { var ol_bgcolor = "#FF0080";}
//
//WIDTH OF THE POPUPS IN PIXELS - 100-300 PIXELS IS TYPICAL
  if (typeof ol_width == 'undefined') { var ol_width = "300";}
//
//HOW THICK THE OL_BORDER SHOULD BE IN PIXELS - 1-3 PIXELS IS TYPICAL
  if (typeof ol_border == 'undefined') { var ol_border = "5";}
//
//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 = 8;}
//
//HOW MANY PIXELS BELOW THE CURSOR TO SHOW THE POPUP - VALUES BETWEEN 3 AND 12 ARE BEST
  if (typeof ol_offsety == 'undefined') { var ol_offsety = 8;}
//
//DEFAULT TEXT FOR POPUPS - SHOULD YOU FORGET TO PASS SOMETHING TO POPOVER THIS WILL BE DISPLAYED
  if (typeof ol_text == 'undefined') { var ol_text = "Default Text"; }
//
//DEFAULT BACKGROUND IMAGE - BETTER LEFT EMPTY UNLESS YOU ALWAYS WANT ONE
  if (typeof ol_background == 'undefined') { var ol_background = ""; }
//
//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 = "CENTER"; }
//
//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, ANYTHING 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 FUNCTION. BY DEFAULT THERE IS NONE.
  if (typeof ol_function == 'undefined') { var ol_function = null; }
//
//DEFAULT DELAY. BY DEFAULT THERE IS NO DELAY.
  if (typeof ol_delay == 'undefined') { var ol_delay = 0; }
//
//IF POPOVER SHOULD DECIDE THE HORIZONTAL PLACEMENT.
  if (typeof ol_hauto == 'undefined') { var ol_hauto = 1; }
//
//IF POPOVER SHOULD DECIDE THE VERTICAL PLACEMENT.
  if (typeof ol_vauto == 'undefined') { var ol_vauto = 1; }
//END
//
//
//************************************
//CSS CLASS DEFINITIONS -- CHANGE THESE ONLY WHEN USING CLASSES: (ol_css = CSSCLASS)
//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)
  if (typeof ol_fgclass == 'undefined') { var ol_fgclass = ""; }
//
//FRAME BACKGROUND CLASS (EQV OF bgcolor)
  if (typeof ol_bgclass == 'undefined') { var ol_bgclass = ""; }
//
//MAIN FONT CLASS
  if (typeof ol_textfontclass == 'undefined') { var ol_textfontclass = ""; }
//
//CAPTION FONT CLASS
  if (typeof ol_captionfontclass == 'undefined') { var ol_captionfontclass = ""; }
//
//CLOSE FONT CLASS
  if (typeof ol_closefontclass == 'undefined') { var ol_closefontclass = ""; }
//END
//
//
//************************************
//CSS STYLE DEFINITIONS -- CHANGE THESE ONLY WHEN USING STYLES: (ol_css = CSSSTYLE)
//UNIT TO BE USED FOR THE TEXT PADDING ABOVE - OPTIONS INCLUDE "px", "%", "in", "cm"
  if (typeof ol_padunit == 'undefined') { var ol_padunit = "px";}
//
//UNIT TO BE USED FOR HEIGHT OF POPUP - OPTIONS INCLUDE "px", "%", "in", "cm"
  if (typeof ol_heightunit == 'undefined') { var ol_heightunit = "px";}
//
//UNIT TO BE USED FOR WIDTH OF POPUP - OPTIONS INCLUDE "px", "%", "in", "cm"
  if (typeof ol_widthunit == 'undefined') { var ol_widthunit = "px";}
//
//FONT SIZE UNIT FOR THE MAIN TEXT
  if (typeof ol_textsizeunit == 'undefined') { var ol_textsizeunit = "px";}
//
//DECORATION OF THE MAIN TEXT ("none", "underline", "line-through" or "blink")
  if (typeof ol_textdecoration == 'undefined') { var ol_textdecoration = "none";}
//
//FONT STYLE OF THE MAIN TEXT ("normal" or "italic")
  if (typeof ol_textstyle == 'undefined') { var ol_textstyle = "normal";}
//
//FONT WEIGHT OF THE MAIN TEXT ("normal", "bold", "bolder", "lighter", ect.)
  if (typeof ol_textweight == 'undefined') { var ol_textweight = "normal";}
//
//FONT SIZE UNIT FOR THE CAPTION
  if (typeof ol_captionsizeunit == 'undefined') { var ol_captionsizeunit = "px";}
//
//DECORATION OF THE CAPTION ("none", "underline", "line-through" or "blink")
  if (typeof ol_captiondecoration == 'undefined') { var ol_captiondecoration = "none";}
//
//FONT STYLE OF THE CAPTION ("normal" or "italic")
  if (typeof ol_captionstyle == 'undefined') { var ol_captionstyle = "normal";}
//
//FONT WEIGHT OF THE CAPTION ("normal", "bold", "bolder", "lighter", ect.)
  if (typeof ol_captionweight == 'undefined') { var ol_captionweight = "bold";}
//
//FONT SIZE UNIT FOR THE CLOSE TEXT
  if (typeof ol_closesizeunit == 'undefined') { var ol_closesizeunit = "px";}
//
//DECORATION OF THE CLOSE TEXT ("none", "underline", "line-through" or "blink")
  if (typeof ol_closedecoration == 'undefined') { var ol_closedecoration = "none";}
//
//FONT STYLE OF THE CLOSE TEXT ("normal" or "italic")
  if (typeof ol_closestyle == 'undefined') { var ol_closestyle = "normal";}
//
//FONT WEIGHT OF THE CLOSE TEXT ("normal", "bold", "bolder", "lighter", ect.)
  if (typeof ol_closeweight == 'undefined') { var ol_closeweight = "normal";}
//END
//
//
//************************************
//ARRAY CONFIGURATION
//************************************
//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 SECTION !! USED FOR RUNTIME ONLY, DON'T CHANGE, NOT FOR CONFIG!!
//************************************
//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;
//CSS/STYLE VARS
  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;
//OVER 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
  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 POPOVER FUNCTION
  if ( (ns4) || (ie4) || (ns6))
  {
   document.onmousemove = mouseMove
   if (ns4) document.captureEvents(Event.MOUSEMOVE)
  }
   else
  {
   popover = no_popover;
   nd = no_popover;
   ver3fix = true;
  }
//
//FAKE FUNCTION FOR OLDER VERSIONS
  function no_popover()
  {
   return ver3fix;
  }
//END
//
//
//************************************
//PUBLIC FUNCTIONS
//************************************
//POPOVER(arg0, ..., argN) - LOADS PARAMETERS INTO GLOBAL RUNTIME VARIABLES.
  function popover() 
  {
   //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.popupMSG;
    if (ie4) over = o3_frame.popupMSG.style;
    if (ns6) over = o3_frame.document.getElementById("popupMSG");
   }
   //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
    {
     //NS4 DOESN'T LIKE TO 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 popover351();
   else
   {
    o3_delayid = setTimeout("popover351()", 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;
  }
//END
//
//
//************************************
//MAIN POPOVER FUNCTION
//************************************
//THIS FUNCTION DECIDES WHAT IT IS WE WANT TO DISPLAY AND HOW WE WANT IT DONE.
  function popover351()
  {
   //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
   {
    //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 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 != '');
  }
//END
//
//
//************************************
//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, ETC.
  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+")";
   }
  }
//END
//
//
//************************************
//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['popupMSG'] : 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();
   }
  }
//
//CLOSE ONMOUSEOVER FUNCTION FOR STICKIES
  function cClick()
  {
   hideObject(over);
   o3_showingsticky = 0;
   return false;
  }
//
//MAKES SURE TARGET FRAME HAS POPOVER
  function compatibleframe(frameid)
  {
   if (ns4)
   {
    if (typeof frameid.document.popupMSG =='undefined') return false;
   }
   else if (ie4)
   {
    if (typeof frameid.document.all["popupMSG"] =='undefined') return false;
   } 
   else if (ns6)
   {
    if (frameid.document.getElementById('popupMSG') == null) return false;
   }
   return true;
  }
//END
//
//
//************************************
//LAYER FUNCTIONS
//************************************
//WRITES TO A LAYER
  function layerWrite(txt)
  {
   txt += "\n";
   if (ns4)
   {
    var lyr = o3_frame.document.popupMSG.document
    lyr.write(txt)
    lyr.close()
   } 
   else if (ie4)
   {
    o3_frame.document.all["popupMSG"].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";
   }
  }
//
//FRAME REFERENCING CODE
  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;
  }
//END
//
//
//************************************
//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.popupMSG;
    if (ie4) over = o3_frame.popupMSG.style;
    if (ns6) over = o3_frame.document.getElementById("popupMSG");
   }
   return 0;
  }
//
//CALLS AN EXTERNAL FUNCTION
  function opt_FUNCTION(callme) 
  {
   o3_text = (callme ? callme() : (o3_function ? o3_function() : 'No Function'));
   return 0;
  }
//END
//
//
//************************************
//POPOVER 2 COMPATABILITY FUNCTIONS - NOT 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);
   popover(text, o3_hpos, CAPTION, "");
  }
//CAPTION POPUP
  function dtc(d,text, title) 
  {
   o3_hpos = vpos_convert(d);
   popover(text, CAPTION, title, o3_hpos);
  }
//STICKY
  function stc(d,text, title) 
  {
   o3_hpos = vpos_convert(d);
   popover(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);
  }
//END
//
//
//************************************
//SLIDE SHOW SCRIPTS
 var rotate_delay = 15000;    // delay in milliseconds (15000 = 15 secs)
 current = 0;
 function next() {
  if (document.slideform.slide[current+1]) {
    document.images.show.src = document.slideform.slide[current+1].value;
    document.slideform.slide.selectedIndex = ++current;
  }
  else first();
 }
 function previous() {
  if (current-1 >= 0) {
    document.images.show.src = document.slideform.slide[current-1].value;
    document.slideform.slide.selectedIndex = --current;
  }
  else last();
 }

 function first() {
  current = 0;
  document.images.show.src = document.slideform.slide[0].value;
  document.slideform.slide.selectedIndex = 0;
 }
 function last() {
  current = document.slideform.slide.length-1;
  document.images.show.src = document.slideform.slide[current].value;
  document.slideform.slide.selectedIndex = current;
 }
 function ap(text) {
  document.slideform.slidebutton.value = (text == "Stop") ? "Start" : "Stop";
  rotate();
 }
 function change() {
  current = document.slideform.slide.selectedIndex;
  document.images.show.src = document.slideform.slide[current].value;
 }
 function rotate() {
  if (document.slideform.slidebutton.value == "Stop") {
    current = (current == document.slideform.slide.length-1) ? 0 : current+1;
    document.images.show.src = document.slideform.slide[current].value;
    document.slideform.slide.selectedIndex = current;
    window.setTimeout("rotate()", rotate_delay);
  }
 }
//
//
//************************************
