[ Index ]

PHP Cross Reference of Eventum

title

Body

[close]

/js/ -> overlib.js (source)

   1  //\//////////////////////////////////////////////////////////////////////////////////
   2  //\  overLIB 3.51  --  This notice must remain untouched at all times.
   3  //\  Copyright Erik Bosrup 1998-2002. All rights reserved.
   4  //\
   5  //\  By Erik Bosrup (erik@bosrup.com).  Last modified 2002-11-01.
   6  //\  Portions by Dan Steinman (dansteinman.com). Additions by other people are
   7  //\  listed on the overLIB homepage.
   8  //\
   9  //\  Get the latest version at http://www.bosrup.com/web/overlib/
  10  //\
  11  //\  This script is published under an open source license. Please read the license
  12  //\  agreement online at: http://www.bosrup.com/web/overlib/license.html
  13  //\  If you have questions regarding the license please contact erik@bosrup.com.
  14  //\
  15  //\  This script library was originally created for personal use. By request it has
  16  //\  later been made public. This is free software. Do not sell this as your own
  17  //\  work, or remove this copyright notice. For full details on copying or changing
  18  //\  this script please read the license agreement at the link above.
  19  //\
  20  //\  Please give credit on sites that use overLIB and submit changes of the script
  21  //\  so other people can use them as well. This script is free to use, don't abuse.
  22  //\//////////////////////////////////////////////////////////////////////////////////
  23  //\mini
  24  
  25  
  26  ////////////////////////////////////////////////////////////////////////////////////
  27  // CONSTANTS
  28  // Don't touch these. :)
  29  ////////////////////////////////////////////////////////////////////////////////////
  30  var INARRAY        =    1;
  31  var CAPARRAY        =    2;
  32  var STICKY        =    3;
  33  var BACKGROUND        =    4;
  34  var NOCLOSE        =    5;
  35  var CAPTION        =    6;
  36  var LEFT        =    7;
  37  var RIGHT        =    8;
  38  var CENTER        =    9;
  39  var OFFSETX        =    10;
  40  var OFFSETY        =    11;
  41  var FGCOLOR        =    12;
  42  var BGCOLOR        =    13;
  43  var TEXTCOLOR        =    14;
  44  var CAPCOLOR        =    15;
  45  var CLOSECOLOR        =    16;
  46  var WIDTH        =    17;
  47  var BORDER        =    18;
  48  var STATUS        =    19;
  49  var AUTOSTATUS        =    20;
  50  var AUTOSTATUSCAP    =    21;
  51  var HEIGHT        =    22;
  52  var CLOSETEXT        =    23;
  53  var SNAPX        =    24;
  54  var SNAPY        =    25;
  55  var FIXX        =    26;
  56  var FIXY        =    27;
  57  var FGBACKGROUND    =    28;
  58  var BGBACKGROUND    =    29;
  59  var PADX        =    30; // PADX2 out
  60  var PADY        =    31; // PADY2 out
  61  var FULLHTML        =    34;
  62  var ABOVE        =    35;
  63  var BELOW        =    36;
  64  var CAPICON        =    37;
  65  var TEXTFONT        =    38;
  66  var CAPTIONFONT        =    39;
  67  var CLOSEFONT        =    40;
  68  var TEXTSIZE        =    41;
  69  var CAPTIONSIZE        =    42;
  70  var CLOSESIZE        =    43;
  71  var FRAME        =    44;
  72  var TIMEOUT        =    45;
  73  var FUNCTION        =    46;
  74  var DELAY        =    47;
  75  var HAUTO        =    48;
  76  var VAUTO        =    49;
  77  var CLOSECLICK        =    50;
  78  var CSSOFF        =    51;
  79  var CSSSTYLE        =    52;
  80  var CSSCLASS        =    53;
  81  var FGCLASS        =    54;
  82  var BGCLASS        =    55;
  83  var TEXTFONTCLASS    =    56;
  84  var CAPTIONFONTCLASS    =    57;
  85  var CLOSEFONTCLASS    =    58;
  86  var PADUNIT        =    59;
  87  var HEIGHTUNIT        =    60;
  88  var WIDTHUNIT        =    61;
  89  var TEXTSIZEUNIT    =    62;
  90  var TEXTDECORATION    =    63;
  91  var TEXTSTYLE        =    64;
  92  var TEXTWEIGHT        =    65;
  93  var CAPTIONSIZEUNIT    =    66;
  94  var CAPTIONDECORATION    =    67;
  95  var CAPTIONSTYLE    =    68;
  96  var CAPTIONWEIGHT    =    69;
  97  var CLOSESIZEUNIT    =    70;
  98  var CLOSEDECORATION    =    71;
  99  var CLOSESTYLE        =    72;
 100  var CLOSEWEIGHT        =    73;
 101  
 102  
 103  ////////////////////////////////////////////////////////////////////////////////////
 104  // DEFAULT CONFIGURATION
 105  // You don't have to change anything here if you don't want to. All of this can be
 106  // changed on your html page or through an overLIB call.
 107  ////////////////////////////////////////////////////////////////////////////////////
 108  
 109  // Main background color (the large area)
 110  // Usually a bright color (white, yellow etc)
 111  if (typeof ol_fgcolor == 'undefined') { var ol_fgcolor = "#CCCCFF";}
 112      
 113  // Border color and color of caption
 114  // Usually a dark color (black, brown etc)
 115  if (typeof ol_bgcolor == 'undefined') { var ol_bgcolor = "#333399";}
 116      
 117  // Text color
 118  // Usually a dark color
 119  if (typeof ol_textcolor == 'undefined') { var ol_textcolor = "#000000";}
 120      
 121  // Color of the caption text
 122  // Usually a bright color
 123  if (typeof ol_capcolor == 'undefined') { var ol_capcolor = "#FFFFFF";}
 124      
 125  // Color of "Close" when using Sticky
 126  // Usually a semi-bright color
 127  if (typeof ol_closecolor == 'undefined') { var ol_closecolor = "#9999FF";}
 128  
 129  // Font face for the main text
 130  if (typeof ol_textfont == 'undefined') { var ol_textfont = "Verdana,Arial,Helvetica";}
 131  
 132  // Font face for the caption
 133  if (typeof ol_captionfont == 'undefined') { var ol_captionfont = "Verdana,Arial,Helvetica";}
 134  
 135  // Font face for the close text
 136  if (typeof ol_closefont == 'undefined') { var ol_closefont = "Verdana,Arial,Helvetica";}
 137  
 138  // Font size for the main text
 139  // When using CSS this will be very small.
 140  if (typeof ol_textsize == 'undefined') { var ol_textsize = "1";}
 141  
 142  // Font size for the caption
 143  // When using CSS this will be very small.
 144  if (typeof ol_captionsize == 'undefined') { var ol_captionsize = "1";}
 145  
 146  // Font size for the close text
 147  // When using CSS this will be very small.
 148  if (typeof ol_closesize == 'undefined') { var ol_closesize = "1";}
 149  
 150  // Width of the popups in pixels
 151  // 100-300 pixels is typical
 152  if (typeof ol_width == 'undefined') { var ol_width = "200";}
 153  
 154  // How thick the ol_border should be in pixels
 155  // 1-3 pixels is typical
 156  if (typeof ol_border == 'undefined') { var ol_border = "1";}
 157  
 158  // How many pixels to the right/left of the cursor to show the popup
 159  // Values between 3 and 12 are best
 160  if (typeof ol_offsetx == 'undefined') { var ol_offsetx = 10;}
 161      
 162  // How many pixels to the below the cursor to show the popup
 163  // Values between 3 and 12 are best
 164  if (typeof ol_offsety == 'undefined') { var ol_offsety = 10;}
 165  
 166  // Default text for popups
 167  // Should you forget to pass something to overLIB this will be displayed.
 168  if (typeof ol_text == 'undefined') { var ol_text = "Default Text"; }
 169  
 170  // Default caption
 171  // You should leave this blank or you will have problems making non caps popups.
 172  if (typeof ol_cap == 'undefined') { var ol_cap = ""; }
 173  
 174  // Decides if sticky popups are default.
 175  // 0 for non, 1 for stickies.
 176  if (typeof ol_sticky == 'undefined') { var ol_sticky = 0; }
 177  
 178  // Default background image. Better left empty unless you always want one.
 179  if (typeof ol_background == 'undefined') { var ol_background = ""; }
 180  
 181  // Text for the closing sticky popups.
 182  // Normal is "Close".
 183  if (typeof ol_close == 'undefined') { var ol_close = "Close"; }
 184  
 185  // Default vertical alignment for popups.
 186  // It's best to leave RIGHT here. Other options are LEFT and CENTER.
 187  if (typeof ol_hpos == 'undefined') { var ol_hpos = RIGHT; }
 188  
 189  // Default status bar text when a popup is invoked.
 190  if (typeof ol_status == 'undefined') { var ol_status = ""; }
 191  
 192  // If the status bar automatically should load either text or caption.
 193  // 0=nothing, 1=text, 2=caption
 194  if (typeof ol_autostatus == 'undefined') { var ol_autostatus = 0; }
 195  
 196  // Default height for popup. Often best left alone.
 197  if (typeof ol_height == 'undefined') { var ol_height = -1; }
 198  
 199  // Horizontal grid spacing that popups will snap to.
 200  // 0 makes no grid, anything else will cause a snap to that grid spacing.
 201  if (typeof ol_snapx == 'undefined') { var ol_snapx = 0; }
 202  
 203  // Vertical grid spacing that popups will snap to.
 204  // 0 makes no grid, andthing else will cause a snap to that grid spacing.
 205  if (typeof ol_snapy == 'undefined') { var ol_snapy = 0; }
 206  
 207  // Sets the popups horizontal position to a fixed column.
 208  // Anything above -1 will cause fixed position.
 209  if (typeof ol_fixx == 'undefined') { var ol_fixx = -1; }
 210  
 211  // Sets the popups vertical position to a fixed row.
 212  // Anything above -1 will cause fixed position.
 213  if (typeof ol_fixy == 'undefined') { var ol_fixy = -1; }
 214  
 215  // Background image for the popups inside.
 216  if (typeof ol_fgbackground == 'undefined') { var ol_fgbackground = ""; }
 217  
 218  // Background image for the popups frame.
 219  if (typeof ol_bgbackground == 'undefined') { var ol_bgbackground = ""; }
 220  
 221  // How much horizontal left padding text should get by default when BACKGROUND is used.
 222  if (typeof ol_padxl == 'undefined') { var ol_padxl = 1; }
 223  
 224  // How much horizontal right padding text should get by default when BACKGROUND is used.
 225  if (typeof ol_padxr == 'undefined') { var ol_padxr = 1; }
 226  
 227  // How much vertical top padding text should get by default when BACKGROUND is used.
 228  if (typeof ol_padyt == 'undefined') { var ol_padyt = 1; }
 229  
 230  // How much vertical bottom padding text should get by default when BACKGROUND is used.
 231  if (typeof ol_padyb == 'undefined') { var ol_padyb = 1; }
 232  
 233  // If the user by default must supply all html for complete popup control.
 234  // Set to 1 to activate, 0 otherwise.
 235  if (typeof ol_fullhtml == 'undefined') { var ol_fullhtml = 0; }
 236  
 237  // Default vertical position of the popup. Default should normally be BELOW.
 238  // ABOVE only works when HEIGHT is defined.
 239  if (typeof ol_vpos == 'undefined') { var ol_vpos = BELOW; }
 240  
 241  // Default height of popup to use when placing the popup above the cursor.
 242  if (typeof ol_aboveheight == 'undefined') { var ol_aboveheight = 0; }
 243  
 244  // Default icon to place next to the popups caption.
 245  if (typeof ol_capicon == 'undefined') { var ol_capicon = ""; }
 246  
 247  // Default frame. We default to current frame if there is no frame defined.
 248  if (typeof ol_frame == 'undefined') { var ol_frame = self; }
 249  
 250  // Default timeout. By default there is no timeout.
 251  if (typeof ol_timeout == 'undefined') { var ol_timeout = 0; }
 252  
 253  // Default javascript funktion. By default there is none.
 254  if (typeof ol_function == 'undefined') { var ol_function = null; }
 255  
 256  // Default timeout. By default there is no timeout.
 257  if (typeof ol_delay == 'undefined') { var ol_delay = 0; }
 258  
 259  // If overLIB should decide the horizontal placement.
 260  if (typeof ol_hauto == 'undefined') { var ol_hauto = 0; }
 261  
 262  // If overLIB should decide the vertical placement.
 263  if (typeof ol_vauto == 'undefined') { var ol_vauto = 0; }
 264  
 265  
 266  
 267  // If the user has to click to close stickies.
 268  if (typeof ol_closeclick == 'undefined') { var ol_closeclick = 0; }
 269  
 270  // This variable determines if you want to use CSS or inline definitions.
 271  // CSSOFF=no CSS    CSSSTYLE=use CSS inline styles    CSSCLASS=use classes
 272  if (typeof ol_css == 'undefined') { var ol_css = CSSOFF; }
 273  
 274  // Main background class (eqv of fgcolor)
 275  // This is only used if CSS is set to use classes (ol_css = CSSCLASS)
 276  if (typeof ol_fgclass == 'undefined') { var ol_fgclass = ""; }
 277  
 278  // Frame background class (eqv of bgcolor)
 279  // This is only used if CSS is set to use classes (ol_css = CSSCLASS)
 280  if (typeof ol_bgclass == 'undefined') { var ol_bgclass = ""; }
 281  
 282  // Main font class
 283  // This is only used if CSS is set to use classes (ol_css = CSSCLASS)
 284  if (typeof ol_textfontclass == 'undefined') { var ol_textfontclass = ""; }
 285  
 286  // Caption font class
 287  // This is only used if CSS is set to use classes (ol_css = CSSCLASS)
 288  if (typeof ol_captionfontclass == 'undefined') { var ol_captionfontclass = ""; }
 289  
 290  // Close font class
 291  // This is only used if CSS is set to use classes (ol_css = CSSCLASS)
 292  if (typeof ol_closefontclass == 'undefined') { var ol_closefontclass = ""; }
 293  
 294  // Unit to be used for the text padding above
 295  // Only used if CSS inline styles are being used (ol_css = CSSSTYLE)
 296  // Options include "px", "%", "in", "cm"
 297  if (typeof ol_padunit == 'undefined') { var ol_padunit = "px";}
 298  
 299  // Unit to be used for height of popup
 300  // Only used if CSS inline styles are being used (ol_css = CSSSTYLE)
 301  // Options include "px", "%", "in", "cm"
 302  if (typeof ol_heightunit == 'undefined') { var ol_heightunit = "px";}
 303  
 304  // Unit to be used for width of popup
 305  // Only used if CSS inline styles are being used (ol_css = CSSSTYLE)
 306  // Options include "px", "%", "in", "cm"
 307  if (typeof ol_widthunit == 'undefined') { var ol_widthunit = "px";}
 308  
 309  // Font size unit for the main text
 310  // Only used if CSS inline styles are being used (ol_css = CSSSTYLE)
 311  if (typeof ol_textsizeunit == 'undefined') { var ol_textsizeunit = "px";}
 312  
 313  // Decoration of the main text ("none", "underline", "line-through" or "blink")
 314  // Only used if CSS inline styles are being used (ol_css = CSSSTYLE)
 315  if (typeof ol_textdecoration == 'undefined') { var ol_textdecoration = "none";}
 316  
 317  // Font style of the main text ("normal" or "italic")
 318  // Only used if CSS inline styles are being used (ol_css = CSSSTYLE)
 319  if (typeof ol_textstyle == 'undefined') { var ol_textstyle = "normal";}
 320  
 321  // Font weight of the main text ("normal", "bold", "bolder", "lighter", ect.)
 322  // Only used if CSS inline styles are being used (ol_css = CSSSTYLE)
 323  if (typeof ol_textweight == 'undefined') { var ol_textweight = "normal";}
 324  
 325  // Font size unit for the caption
 326  // Only used if CSS inline styles are being used (ol_css = CSSSTYLE)
 327  if (typeof ol_captionsizeunit == 'undefined') { var ol_captionsizeunit = "px";}
 328  
 329  // Decoration of the caption ("none", "underline", "line-through" or "blink")
 330  // Only used if CSS inline styles are being used (ol_css = CSSSTYLE)
 331  if (typeof ol_captiondecoration == 'undefined') { var ol_captiondecoration = "none";}
 332  
 333  // Font style of the caption ("normal" or "italic")
 334  // Only used if CSS inline styles are being used (ol_css = CSSSTYLE)
 335  if (typeof ol_captionstyle == 'undefined') { var ol_captionstyle = "normal";}
 336  
 337  // Font weight of the caption ("normal", "bold", "bolder", "lighter", ect.)
 338  // Only used if CSS inline styles are being used (ol_css = CSSSTYLE)
 339  if (typeof ol_captionweight == 'undefined') { var ol_captionweight = "bold";}
 340  
 341  // Font size unit for the close text
 342  // Only used if CSS inline styles are being used (ol_css = CSSSTYLE)
 343  if (typeof ol_closesizeunit == 'undefined') { var ol_closesizeunit = "px";}
 344  
 345  // Decoration of the close text ("none", "underline", "line-through" or "blink")
 346  // Only used if CSS inline styles are being used (ol_css = CSSSTYLE)
 347  if (typeof ol_closedecoration == 'undefined') { var ol_closedecoration = "none";}
 348  
 349  // Font style of the close text ("normal" or "italic")
 350  // Only used if CSS inline styles are being used (ol_css = CSSSTYLE)
 351  if (typeof ol_closestyle == 'undefined') { var ol_closestyle = "normal";}
 352  
 353  // Font weight of the close text ("normal", "bold", "bolder", "lighter", ect.)
 354  // Only used if CSS inline styles are being used (ol_css = CSSSTYLE)
 355  if (typeof ol_closeweight == 'undefined') { var ol_closeweight = "normal";}
 356  
 357  
 358  
 359  ////////////////////////////////////////////////////////////////////////////////////
 360  // ARRAY CONFIGURATION
 361  // You don't have to change anything here if you don't want to. The following
 362  // arrays can be filled with text and html if you don't wish to pass it from
 363  // your html page.
 364  ////////////////////////////////////////////////////////////////////////////////////
 365  
 366  // Array with texts.
 367  if (typeof ol_texts == 'undefined') { var ol_texts = new Array("Text 0", "Text 1"); }
 368  
 369  // Array with captions.
 370  if (typeof ol_caps == 'undefined') { var ol_caps = new Array("Caption 0", "Caption 1"); }
 371  
 372  
 373  ////////////////////////////////////////////////////////////////////////////////////
 374  // END CONFIGURATION
 375  // Don't change anything below this line, all configuration is above.
 376  ////////////////////////////////////////////////////////////////////////////////////
 377  
 378  
 379  
 380  
 381  
 382  
 383  
 384  ////////////////////////////////////////////////////////////////////////////////////
 385  // INIT
 386  ////////////////////////////////////////////////////////////////////////////////////
 387  
 388  // Runtime variables init. Used for runtime only, don't change, not for config!
 389  var o3_text = "";
 390  var o3_cap = "";
 391  var o3_sticky = 0;
 392  var o3_background = "";
 393  var o3_close = "Close";
 394  var o3_hpos = RIGHT;
 395  var o3_offsetx = 2;
 396  var o3_offsety = 2;
 397  var o3_fgcolor = "";
 398  var o3_bgcolor = "";
 399  var o3_textcolor = "";
 400  var o3_capcolor = "";
 401  var o3_closecolor = "";
 402  var o3_width = 100;
 403  var o3_border = 1;
 404  var o3_status = "";
 405  var o3_autostatus = 0;
 406  var o3_height = -1;
 407  var o3_snapx = 0;
 408  var o3_snapy = 0;
 409  var o3_fixx = -1;
 410  var o3_fixy = -1;
 411  var o3_fgbackground = "";
 412  var o3_bgbackground = "";
 413  var o3_padxl = 0;
 414  var o3_padxr = 0;
 415  var o3_padyt = 0;
 416  var o3_padyb = 0;
 417  var o3_fullhtml = 0;
 418  var o3_vpos = BELOW;
 419  var o3_aboveheight = 0;
 420  var o3_capicon = "";
 421  var o3_textfont = "Verdana,Arial,Helvetica";
 422  var o3_captionfont = "Verdana,Arial,Helvetica";
 423  var o3_closefont = "Verdana,Arial,Helvetica";
 424  var o3_textsize = "1";
 425  var o3_captionsize = "1";
 426  var o3_closesize = "1";
 427  var o3_frame = self;
 428  var o3_timeout = 0;
 429  var o3_timerid = 0;
 430  var o3_allowmove = 0;
 431  var o3_function = null; 
 432  var o3_delay = 0;
 433  var o3_delayid = 0;
 434  var o3_hauto = 0;
 435  var o3_vauto = 0;
 436  var o3_closeclick = 0;
 437  
 438  var o3_css = CSSOFF;
 439  var o3_fgclass = "";
 440  var o3_bgclass = "";
 441  var o3_textfontclass = "";
 442  var o3_captionfontclass = "";
 443  var o3_closefontclass = "";
 444  var o3_padunit = "px";
 445  var o3_heightunit = "px";
 446  var o3_widthunit = "px";
 447  var o3_textsizeunit = "px";
 448  var o3_textdecoration = "";
 449  var o3_textstyle = "";
 450  var o3_textweight = "";
 451  var o3_captionsizeunit = "px";
 452  var o3_captiondecoration = "";
 453  var o3_captionstyle = "";
 454  var o3_captionweight = "";
 455  var o3_closesizeunit = "px";
 456  var o3_closedecoration = "";
 457  var o3_closestyle = "";
 458  var o3_closeweight = "";
 459  
 460  
 461  
 462  // Display state variables
 463  var o3_x = 0;
 464  var o3_y = 0;
 465  var o3_allow = 0;
 466  var o3_showingsticky = 0;
 467  var o3_removecounter = 0;
 468  
 469  // Our layer
 470  var over = null;
 471  var fnRef;
 472  
 473  // Decide browser version
 474  var ns4 = (navigator.appName == 'Netscape' && parseInt(navigator.appVersion) == 4);
 475  var ns6 = (document.getElementById)? true:false;
 476  var ie4 = (document.all)? true:false;
 477  if (ie4) var docRoot = 'document.body';
 478  var ie5 = false;
 479  if (ns4) {
 480      var oW = window.innerWidth;
 481      var oH = window.innerHeight;
 482      window.onresize = function () {if (oW!=window.innerWidth||oH!=window.innerHeight) location.reload();}
 483  }
 484  
 485  
 486  // Microsoft Stupidity Check(tm).
 487  if (ie4) {
 488      if ((navigator.userAgent.indexOf('MSIE 5') > 0) || (navigator.userAgent.indexOf('MSIE 6') > 0)) {
 489          if(document.compatMode && document.compatMode == 'CSS1Compat') docRoot = 'document.documentElement';
 490          ie5 = true;
 491      }
 492      if (ns6) {
 493          ns6 = false;
 494      }
 495  }
 496  
 497  
 498  // Capture events, alt. diffuses the overlib function.
 499  if ( (ns4) || (ie4) || (ns6)) {
 500      document.onmousemove = mouseMove
 501      if (ns4) document.captureEvents(Event.MOUSEMOVE)
 502  } else {
 503      overlib = no_overlib;
 504      nd = no_overlib;
 505      ver3fix = true;
 506  }
 507  
 508  
 509  // Fake function for 3.0 users.
 510  function no_overlib() {
 511      return ver3fix;
 512  }
 513  
 514  
 515  
 516  ////////////////////////////////////////////////////////////////////////////////////
 517  // PUBLIC FUNCTIONS
 518  ////////////////////////////////////////////////////////////////////////////////////
 519  
 520  
 521  // overlib(arg0, ..., argN)
 522  // Loads parameters into global runtime variables.
 523  function overlib() {
 524      
 525      // Load defaults to runtime.
 526      o3_text = ol_text;
 527      o3_cap = ol_cap;
 528      o3_sticky = ol_sticky;
 529      o3_background = ol_background;
 530      o3_close = ol_close;
 531      o3_hpos = ol_hpos;
 532      o3_offsetx = ol_offsetx;
 533      o3_offsety = ol_offsety;
 534      o3_fgcolor = ol_fgcolor;
 535      o3_bgcolor = ol_bgcolor;
 536      o3_textcolor = ol_textcolor;
 537      o3_capcolor = ol_capcolor;
 538      o3_closecolor = ol_closecolor;
 539      o3_width = ol_width;
 540      o3_border = ol_border;
 541      o3_status = ol_status;
 542      o3_autostatus = ol_autostatus;
 543      o3_height = ol_height;
 544      o3_snapx = ol_snapx;
 545      o3_snapy = ol_snapy;
 546      o3_fixx = ol_fixx;
 547      o3_fixy = ol_fixy;
 548      o3_fgbackground = ol_fgbackground;
 549      o3_bgbackground = ol_bgbackground;
 550      o3_padxl = ol_padxl;
 551      o3_padxr = ol_padxr;
 552      o3_padyt = ol_padyt;
 553      o3_padyb = ol_padyb;
 554      o3_fullhtml = ol_fullhtml;
 555      o3_vpos = ol_vpos;
 556      o3_aboveheight = ol_aboveheight;
 557      o3_capicon = ol_capicon;
 558      o3_textfont = ol_textfont;
 559      o3_captionfont = ol_captionfont;
 560      o3_closefont = ol_closefont;
 561      o3_textsize = ol_textsize;
 562      o3_captionsize = ol_captionsize;
 563      o3_closesize = ol_closesize;
 564      o3_timeout = ol_timeout;
 565      o3_function = ol_function;
 566      o3_delay = ol_delay;
 567      o3_hauto = ol_hauto;
 568      o3_vauto = ol_vauto;
 569      o3_closeclick = ol_closeclick;
 570      
 571      o3_css = ol_css;
 572      o3_fgclass = ol_fgclass;
 573      o3_bgclass = ol_bgclass;
 574      o3_textfontclass = ol_textfontclass;
 575      o3_captionfontclass = ol_captionfontclass;
 576      o3_closefontclass = ol_closefontclass;
 577      o3_padunit = ol_padunit;
 578      o3_heightunit = ol_heightunit;
 579      o3_widthunit = ol_widthunit;
 580      o3_textsizeunit = ol_textsizeunit;
 581      o3_textdecoration = ol_textdecoration;
 582      o3_textstyle = ol_textstyle;
 583      o3_textweight = ol_textweight;
 584      o3_captionsizeunit = ol_captionsizeunit;
 585      o3_captiondecoration = ol_captiondecoration;
 586      o3_captionstyle = ol_captionstyle;
 587      o3_captionweight = ol_captionweight;
 588      o3_closesizeunit = ol_closesizeunit;
 589      o3_closedecoration = ol_closedecoration;
 590      o3_closestyle = ol_closestyle;
 591      o3_closeweight = ol_closeweight;
 592      fnRef = '';
 593      
 594  
 595      // Special for frame support, over must be reset...
 596      if ( (ns4) || (ie4) || (ns6) ) {
 597          if (over) cClick();
 598          o3_frame = ol_frame;
 599          if (ns4) over = o3_frame.document.overDiv
 600          if (ie4) over = o3_frame.overDiv.style
 601          if (ns6) over = o3_frame.document.getElementById("overDiv");
 602      }
 603      
 604      
 605      // What the next argument is expected to be.
 606      var parsemode = -1, udf, v = null;
 607      
 608      var ar = arguments;
 609      udf = (!ar.length ? 1 : 0);
 610  
 611      for (i = 0; i < ar.length; i++) {
 612  
 613          if (parsemode < 0) {
 614              // Arg is maintext, unless its a PARAMETER
 615              if (typeof ar[i] == 'number') {
 616                  udf = (ar[i] == FUNCTION ? 0 : 1);
 617                  i--;
 618              } else {
 619                  o3_text = ar[i];
 620              }
 621  
 622              parsemode = 0;
 623          } else {
 624              // Note: NS4 doesn't like switch cases with vars.
 625              if (ar[i] == INARRAY) { udf = 0; o3_text = ol_texts[ar[++i]]; continue; }
 626              if (ar[i] == CAPARRAY) { o3_cap = ol_caps[ar[++i]]; continue; }
 627              if (ar[i] == STICKY) { o3_sticky = 1; continue; }
 628              if (ar[i] == BACKGROUND) { o3_background = ar[++i]; continue; }
 629              if (ar[i] == NOCLOSE) { o3_close = ""; continue; }
 630              if (ar[i] == CAPTION) { o3_cap = ar[++i]; continue; }
 631              if (ar[i] == CENTER || ar[i] == LEFT || ar[i] == RIGHT) { o3_hpos = ar[i]; continue; }
 632              if (ar[i] == OFFSETX) { o3_offsetx = ar[++i]; continue; }
 633              if (ar[i] == OFFSETY) { o3_offsety = ar[++i]; continue; }
 634              if (ar[i] == FGCOLOR) { o3_fgcolor = ar[++i]; continue; }
 635              if (ar[i] == BGCOLOR) { o3_bgcolor = ar[++i]; continue; }
 636              if (ar[i] == TEXTCOLOR) { o3_textcolor = ar[++i]; continue; }
 637              if (ar[i] == CAPCOLOR) { o3_capcolor = ar[++i]; continue; }
 638              if (ar[i] == CLOSECOLOR) { o3_closecolor = ar[++i]; continue; }
 639              if (ar[i] == WIDTH) { o3_width = ar[++i]; continue; }
 640              if (ar[i] == BORDER) { o3_border = ar[++i]; continue; }
 641              if (ar[i] == STATUS) { o3_status = ar[++i]; continue; }
 642              if (ar[i] == AUTOSTATUS) { o3_autostatus = (o3_autostatus == 1) ? 0 : 1; continue; }
 643              if (ar[i] == AUTOSTATUSCAP) { o3_autostatus = (o3_autostatus == 2) ? 0 : 2; continue; }
 644              if (ar[i] == HEIGHT) { o3_height = ar[++i]; o3_aboveheight = ar[i]; continue; } // Same param again.
 645              if (ar[i] == CLOSETEXT) { o3_close = ar[++i]; continue; }
 646              if (ar[i] == SNAPX) { o3_snapx = ar[++i]; continue; }
 647              if (ar[i] == SNAPY) { o3_snapy = ar[++i]; continue; }
 648              if (ar[i] == FIXX) { o3_fixx = ar[++i]; continue; }
 649              if (ar[i] == FIXY) { o3_fixy = ar[++i]; continue; }
 650              if (ar[i] == FGBACKGROUND) { o3_fgbackground = ar[++i]; continue; }
 651              if (ar[i] == BGBACKGROUND) { o3_bgbackground = ar[++i]; continue; }
 652              if (ar[i] == PADX) { o3_padxl = ar[++i]; o3_padxr = ar[++i]; continue; }
 653              if (ar[i] == PADY) { o3_padyt = ar[++i]; o3_padyb = ar[++i]; continue; }
 654              if (ar[i] == FULLHTML) { o3_fullhtml = 1; continue; }
 655              if (ar[i] == BELOW || ar[i] == ABOVE) { o3_vpos = ar[i]; continue; }
 656              if (ar[i] == CAPICON) { o3_capicon = ar[++i]; continue; }
 657              if (ar[i] == TEXTFONT) { o3_textfont = ar[++i]; continue; }
 658              if (ar[i] == CAPTIONFONT) { o3_captionfont = ar[++i]; continue; }
 659              if (ar[i] == CLOSEFONT) { o3_closefont = ar[++i]; continue; }
 660              if (ar[i] == TEXTSIZE) { o3_textsize = ar[++i]; continue; }
 661              if (ar[i] == CAPTIONSIZE) { o3_captionsize = ar[++i]; continue; }
 662              if (ar[i] == CLOSESIZE) { o3_closesize = ar[++i]; continue; }
 663              if (ar[i] == FRAME) { opt_FRAME(ar[++i]); continue; }
 664              if (ar[i] == TIMEOUT) { o3_timeout = ar[++i]; continue; }
 665              if (ar[i] == FUNCTION) { udf = 0; if (typeof ar[i+1] != 'number') v = ar[++i]; opt_FUNCTION(v); continue; } 
 666              if (ar[i] == DELAY) { o3_delay = ar[++i]; continue; }
 667              if (ar[i] == HAUTO) { o3_hauto = (o3_hauto == 0) ? 1 : 0; continue; }
 668              if (ar[i] == VAUTO) { o3_vauto = (o3_vauto == 0) ? 1 : 0; continue; }
 669              if (ar[i] == CLOSECLICK) { o3_closeclick = (o3_closeclick == 0) ? 1 : 0; continue; }
 670              if (ar[i] == CSSOFF) { o3_css = ar[i]; continue; }
 671              if (ar[i] == CSSSTYLE) { o3_css = ar[i]; continue; }
 672              if (ar[i] == CSSCLASS) { o3_css = ar[i]; continue; }
 673              if (ar[i] == FGCLASS) { o3_fgclass = ar[++i]; continue; }
 674              if (ar[i] == BGCLASS) { o3_bgclass = ar[++i]; continue; }
 675              if (ar[i] == TEXTFONTCLASS) { o3_textfontclass = ar[++i]; continue; }
 676              if (ar[i] == CAPTIONFONTCLASS) { o3_captionfontclass = ar[++i]; continue; }
 677              if (ar[i] == CLOSEFONTCLASS) { o3_closefontclass = ar[++i]; continue; }
 678              if (ar[i] == PADUNIT) { o3_padunit = ar[++i]; continue; }
 679              if (ar[i] == HEIGHTUNIT) { o3_heightunit = ar[++i]; continue; }
 680              if (ar[i] == WIDTHUNIT) { o3_widthunit = ar[++i]; continue; }
 681              if (ar[i] == TEXTSIZEUNIT) { o3_textsizeunit = ar[++i]; continue; }
 682              if (ar[i] == TEXTDECORATION) { o3_textdecoration = ar[++i]; continue; }
 683              if (ar[i] == TEXTSTYLE) { o3_textstyle = ar[++i]; continue; }
 684              if (ar[i] == TEXTWEIGHT) { o3_textweight = ar[++i]; continue; }
 685              if (ar[i] == CAPTIONSIZEUNIT) { o3_captionsizeunit = ar[++i]; continue; }
 686              if (ar[i] == CAPTIONDECORATION) { o3_captiondecoration = ar[++i]; continue; }
 687              if (ar[i] == CAPTIONSTYLE) { o3_captionstyle = ar[++i]; continue; }
 688              if (ar[i] == CAPTIONWEIGHT) { o3_captionweight = ar[++i]; continue; }
 689              if (ar[i] == CLOSESIZEUNIT) { o3_closesizeunit = ar[++i]; continue; }
 690              if (ar[i] == CLOSEDECORATION) { o3_closedecoration = ar[++i]; continue; }
 691              if (ar[i] == CLOSESTYLE) { o3_closestyle = ar[++i]; continue; }
 692              if (ar[i] == CLOSEWEIGHT) { o3_closeweight = ar[++i]; continue; }
 693          }
 694      }
 695      if (udf && o3_function) o3_text = o3_function();
 696  
 697      if (o3_delay == 0) {
 698          return overlib351();
 699      } else {
 700          o3_delayid = setTimeout("overlib351()", o3_delay);
 701          return false;
 702      }
 703  }
 704  
 705  
 706  
 707  // Clears popups if appropriate
 708  function nd() {
 709      if ( o3_removecounter >= 1 ) { o3_showingsticky = 0 };
 710      if ( (ns4) || (ie4) || (ns6) ) {
 711          if ( o3_showingsticky == 0 ) {
 712              o3_allowmove = 0;
 713              if (over != null) hideObject(over);
 714          } else {
 715              o3_removecounter++;
 716          }
 717      }
 718      
 719      return true;
 720  }
 721  
 722  
 723  
 724  
 725  
 726  
 727  
 728  ////////////////////////////////////////////////////////////////////////////////////
 729  // OVERLIB 3.51 FUNCTION
 730  ////////////////////////////////////////////////////////////////////////////////////
 731  
 732  
 733  // This function decides what it is we want to display and how we want it done.
 734  function overlib351() {
 735  
 736      // Make layer content
 737      var layerhtml;
 738  
 739      if (o3_background != "" || o3_fullhtml) {
 740          // Use background instead of box.
 741          layerhtml = ol_content_background(o3_text, o3_background, o3_fullhtml);
 742      } else {
 743          // They want a popup box.
 744  
 745          // Prepare popup background
 746          if (o3_fgbackground != "" && o3_css == CSSOFF) {
 747              o3_fgbackground = "BACKGROUND=\""+o3_fgbackground+"\"";
 748          }
 749          if (o3_bgbackground != "" && o3_css == CSSOFF) {
 750              o3_bgbackground = "BACKGROUND=\""+o3_bgbackground+"\"";
 751          }
 752  
 753          // Prepare popup colors
 754          if (o3_fgcolor != "" && o3_css == CSSOFF) {
 755              o3_fgcolor = "BGCOLOR=\""+o3_fgcolor+"\"";
 756          }
 757          if (o3_bgcolor != "" && o3_css == CSSOFF) {
 758              o3_bgcolor = "BGCOLOR=\""+o3_bgcolor+"\"";
 759          }
 760  
 761          // Prepare popup height
 762          if (o3_height > 0 && o3_css == CSSOFF) {
 763              o3_height = "HEIGHT=" + o3_height;
 764          } else {
 765              o3_height = "";
 766          }
 767  
 768          // Decide which kinda box.
 769          if (o3_cap == "") {
 770              // Plain
 771              layerhtml = ol_content_simple(o3_text);
 772          } else {
 773              // With caption
 774              if (o3_sticky) {
 775                  // Show close text
 776                  layerhtml = ol_content_caption(o3_text, o3_cap, o3_close);
 777              } else {
 778                  // No close text
 779                  layerhtml = ol_content_caption(o3_text, o3_cap, "");
 780              }
 781          }
 782      }
 783      
 784      // We want it to stick!
 785      if (o3_sticky) {
 786          if (o3_timerid > 0) {
 787              clearTimeout(o3_timerid);
 788              o3_timerid = 0;
 789          }
 790          o3_showingsticky = 1;
 791          o3_removecounter = 0;
 792      }
 793      
 794      // Write layer
 795      layerWrite(layerhtml);
 796      
 797      // Prepare status bar
 798      if (o3_autostatus > 0) {
 799          o3_status = o3_text;
 800          if (o3_autostatus > 1) {
 801              o3_status = o3_cap;
 802          }
 803      }
 804  
 805      // When placing the layer the first time, even stickies may be moved.
 806      o3_allowmove = 0;
 807  
 808      // Initiate a timer for timeout
 809      if (o3_timeout > 0) {
 810          if (o3_timerid > 0) clearTimeout(o3_timerid);
 811          o3_timerid = setTimeout("cClick()", o3_timeout);
 812      }
 813  
 814      // Show layer
 815      disp(o3_status);
 816  
 817      // Stickies should stay where they are.    
 818      if (o3_sticky) o3_allowmove = 0;
 819  
 820      return (o3_status != '');
 821  }
 822  
 823  
 824  
 825  ////////////////////////////////////////////////////////////////////////////////////
 826  // LAYER GENERATION FUNCTIONS
 827  ////////////////////////////////////////////////////////////////////////////////////
 828  
 829  // Makes simple table without caption
 830  function ol_content_simple(text) {
 831      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>";
 832      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>";
 833      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>";
 834  
 835      set_background("");
 836      return txt;
 837  }
 838  
 839  
 840  
 841  
 842  // Makes table with caption and optional close link
 843  function ol_content_caption(text, title, close) {
 844      closing = "";
 845      closeevent = "onMouseOver";
 846  
 847      if (o3_closeclick == 1) closeevent = "onClick";
 848      if (o3_capicon != "") o3_capicon = "<IMG SRC=\""+o3_capicon+"\"> ";
 849  
 850      if (close != "") {
 851          if (o3_css == CSSCLASS) closing = "<TD ALIGN=RIGHT><A HREF=\"javascript:return "+fnRef+"cClick();\" "+closeevent+"=\"return " + fnRef + "cClick();\" class=\""+o3_closefontclass+"\">"+close+"</A></TD>";
 852          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>";
 853          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>";
 854      }
 855  
 856      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>";
 857      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>";
 858      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>";
 859  
 860      set_background("");
 861      return txt;
 862  }
 863  
 864  // Sets the background picture, padding and lots more. :)
 865  function ol_content_background(text, picture, hasfullhtml) {
 866      var txt;
 867      if (hasfullhtml) {
 868          txt = text;
 869      } else {
 870          var pU, hU, wU;
 871          pU = (o3_padunit == '%' ? '%' : '');
 872          hU = (o3_heightunit == '%' ? '%' : '');
 873          wU = (o3_widthunit == '%' ? '%' : '');
 874  
 875          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>";
 876          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>";
 877          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>";
 878      }
 879      set_background(picture);
 880      return txt;
 881  }
 882  
 883  // Loads a picture into the div.
 884  function set_background(pic) {
 885      if (pic == "") {
 886          if (ns4) over.background.src = null;
 887          if (ie4) over.backgroundImage = "none";
 888          if (ns6) over.style.backgroundImage = "none";
 889      } else {
 890          if (ns4) {
 891              over.background.src = pic;
 892          } else if (ie4) {
 893              over.backgroundImage = "url("+pic+")";
 894          } else if (ns6) {
 895              over.style.backgroundImage = "url("+pic+")";
 896          }
 897      }
 898  }
 899  
 900  
 901  
 902  ////////////////////////////////////////////////////////////////////////////////////
 903  // HANDLING FUNCTIONS
 904  ////////////////////////////////////////////////////////////////////////////////////
 905  
 906  
 907  // Displays the popup
 908  function disp(statustext) {
 909      if ( (ns4) || (ie4) || (ns6) ) {
 910          if (o3_allowmove == 0)     {
 911              placeLayer();
 912              showObject(over);
 913              o3_allowmove = 1;
 914          }
 915      }
 916  
 917      if (statustext != "") {
 918          self.status = statustext;
 919      }
 920  }
 921  
 922  // Decides where we want the popup.
 923  function placeLayer() {
 924      var placeX, placeY;
 925      
 926      // HORIZONTAL PLACEMENT
 927      if (o3_fixx > -1) {
 928          // Fixed position
 929          placeX = o3_fixx;
 930      } else {
 931          winoffset = (ie4) ? eval('o3_frame.'+docRoot+'.scrollLeft') : o3_frame.pageXOffset;
 932          if (ie4) iwidth = eval('o3_frame.'+docRoot+'.clientWidth');
 933          if (ns4 || ns6) iwidth = o3_frame.innerWidth;
 934          
 935          // If HAUTO, decide what to use.
 936          if (o3_hauto == 1) {
 937              if ( (o3_x - winoffset) > ((eval(iwidth)) / 2)) {
 938                  o3_hpos = LEFT;
 939              } else {
 940                  o3_hpos = RIGHT;
 941              }
 942          }
 943          
 944          // From mouse
 945          if (o3_hpos == CENTER) { // Center
 946              placeX = o3_x+o3_offsetx-(o3_width/2);
 947              if (placeX < winoffset) placeX = winoffset;
 948          }
 949          if (o3_hpos == RIGHT) { // Right
 950              placeX = o3_x+o3_offsetx;
 951              if ( (eval(placeX) + eval(o3_width)) > (winoffset + iwidth) ) {
 952                  placeX = iwidth + winoffset - o3_width;
 953                  if (placeX < 0) placeX = 0;
 954              }
 955          }
 956          if (o3_hpos == LEFT) { // Left
 957              placeX = o3_x-o3_offsetx-o3_width;
 958              if (placeX < winoffset) placeX = winoffset;
 959          }
 960      
 961          // Snapping!
 962          if (o3_snapx > 1) {
 963              var snapping = placeX % o3_snapx;
 964              if (o3_hpos == LEFT) {
 965                  placeX = placeX - (o3_snapx + snapping);
 966              } else {
 967                  // CENTER and RIGHT
 968                  placeX = placeX + (o3_snapx - snapping);
 969              }
 970              if (placeX < winoffset) placeX = winoffset;
 971          }
 972      }
 973  
 974      
 975      
 976      // VERTICAL PLACEMENT
 977      if (o3_fixy > -1) {
 978          // Fixed position
 979          placeY = o3_fixy;
 980      } else {
 981          scrolloffset = (ie4) ? eval('o3_frame.'+docRoot+'.scrollTop') : o3_frame.pageYOffset;
 982  
 983          // If VAUTO, decide what to use.
 984          if (o3_vauto == 1) {
 985              if (ie4) iheight = eval('o3_frame.'+docRoot+'.clientHeight');
 986              if (ns4 || ns6) iheight = o3_frame.innerHeight;
 987  
 988              iheight = (eval(iheight)) / 2;
 989              if ( (o3_y - scrolloffset) > iheight) {
 990                  o3_vpos = ABOVE;
 991              } else {
 992                  o3_vpos = BELOW;
 993              }
 994          }
 995  
 996  
 997          // From mouse
 998          if (o3_vpos == ABOVE) {
 999              if (o3_aboveheight == 0) {
1000                  var divref = (ie4) ? o3_frame.document.all['overDiv'] : over;
1001                  o3_aboveheight = (ns4) ? divref.clip.height : divref.offsetHeight;
1002              }
1003  
1004              placeY = o3_y - (o3_aboveheight + o3_offsety);
1005              if (placeY < scrolloffset) placeY = scrolloffset;
1006          } else {
1007              // BELOW
1008              placeY = o3_y + o3_offsety;
1009          }
1010  
1011          // Snapping!
1012          if (o3_snapy > 1) {
1013              var snapping = placeY % o3_snapy;
1014              
1015              if (o3_aboveheight > 0 && o3_vpos == ABOVE) {
1016                  placeY = placeY - (o3_snapy + snapping);
1017              } else {
1018                  placeY = placeY + (o3_snapy - snapping);
1019              }
1020              
1021              if (placeY < scrolloffset) placeY = scrolloffset;
1022          }
1023      }
1024  
1025  
1026      // Actually move the object.    
1027      repositionTo(over, placeX, placeY);
1028  }
1029  
1030  
1031  // Moves the layer
1032  function mouseMove(e) {
1033      if ( (ns4) || (ns6) ) {o3_x=e.pageX; o3_y=e.pageY;}
1034      if (ie4) {o3_x=event.x; o3_y=event.y;}
1035      if (ie5) {o3_x=eval('event.x+o3_frame.'+docRoot+'.scrollLeft'); o3_y=eval('event.y+o3_frame.'+docRoot+'.scrollTop');}
1036      
1037      if (o3_allowmove == 1) {
1038          placeLayer();
1039      }
1040  }
1041  
1042  // The Close onMouseOver function for stickies
1043  function cClick() {
1044      if (showComboBoxes != null) {
1045          showComboBoxes();
1046      }
1047      hideObject(over);
1048      o3_showingsticky = 0;
1049      
1050      return false;
1051  }
1052  
1053  
1054  // Makes sure target frame has overLIB
1055  function compatibleframe(frameid) {
1056      if (ns4) {
1057          if (typeof frameid.document.overDiv =='undefined') return false;
1058      } else if (ie4) {
1059          if (typeof frameid.document.all["overDiv"] =='undefined') return false;
1060      } else if (ns6) {
1061          if (frameid.document.getElementById('overDiv') == null) return false;
1062      }
1063  
1064      return true;
1065  }
1066  
1067  
1068  
1069  ////////////////////////////////////////////////////////////////////////////////////
1070  // LAYER FUNCTIONS
1071  ////////////////////////////////////////////////////////////////////////////////////
1072  
1073  
1074  // Writes to a layer
1075  function layerWrite(txt) {
1076      txt += "\n";
1077      
1078      if (ns4) {
1079          var lyr = o3_frame.document.overDiv.document
1080          lyr.write(txt)
1081          lyr.close()
1082      } else if (ie4) {
1083          o3_frame.document.all["overDiv"].innerHTML = txt
1084      } else if (ns6) {
1085          range = o3_frame.document.createRange();
1086          range.setStartBefore(over);
1087          domfrag = range.createContextualFragment(txt);
1088          while (over.hasChildNodes()) {
1089              over.removeChild(over.lastChild);
1090          }
1091          over.appendChild(domfrag);
1092      }
1093  }
1094  
1095  // Make an object visible
1096  function showObject(obj) {
1097      if (ns4) obj.visibility = "show";
1098      else if (ie4) obj.visibility = "visible";
1099      else if (ns6) obj.style.visibility = "visible";
1100  }
1101  
1102  // Hides an object
1103  function hideObject(obj) {
1104      if (ns4) obj.visibility = "hide";
1105      else if (ie4) obj.visibility = "hidden";
1106      else if (ns6) obj.style.visibility = "hidden";
1107  
1108      if (o3_timerid > 0) clearTimeout(o3_timerid);
1109      if (o3_delayid > 0) clearTimeout(o3_delayid);
1110      o3_timerid = 0;
1111      o3_delayid = 0;
1112      self.status = "";
1113  }
1114  
1115  // Move a layer
1116  function repositionTo(obj,xL,yL) {
1117      if ( (ns4) || (ie4) ) {
1118          obj.left = (ie4 ? xL + 'px' : xL);
1119          obj.top = (ie4 ? yL + 'px' : yL);
1120      } else if (ns6) {
1121          obj.style.left = xL + "px";
1122          obj.style.top = yL+ "px";
1123      }
1124  }
1125  
1126  function getFrameRef(thisFrame, ofrm) {
1127      var retVal = '';
1128      for (var i=0; i<thisFrame.length; i++) {
1129          if (thisFrame[i].length > 0) { 
1130              retVal = getFrameRef(thisFrame[i],ofrm);
1131              if (retVal == '') continue;
1132          } else if (thisFrame[i] != ofrm) continue;
1133          
1134          retVal = '['+i+']' + retVal;
1135          break;
1136      }
1137      
1138      return retVal;
1139  }
1140  
1141  
1142  
1143  
1144  ////////////////////////////////////////////////////////////////////////////////////
1145  // PARSER FUNCTIONS
1146  ////////////////////////////////////////////////////////////////////////////////////
1147  
1148  
1149  // Defines which frame we should point to.
1150  function opt_FRAME(frm) {
1151      o3_frame = compatibleframe(frm) ? frm : ol_frame;
1152  
1153      if (o3_frame != ol_frame) {
1154          var tFrm = getFrameRef(top.frames, o3_frame);
1155          var sFrm = getFrameRef(top.frames, ol_frame);
1156  
1157          if (sFrm.length == tFrm.length) { 
1158              l = tFrm.lastIndexOf('['); 
1159              if (l) {
1160                  while(sFrm.substring(0,l) != tFrm.substring(0,l)) l = tFrm.lastIndexOf('[',l-1);
1161                  tFrm = tFrm.substr(l);
1162                  sFrm = sFrm.substr(l);
1163              }
1164          }
1165              
1166          var cnt = 0, p = '', str = tFrm;
1167              
1168          while((k = str.lastIndexOf('[')) != -1) {
1169              cnt++;
1170              str = str.substring(0,k);
1171          }
1172  
1173          for (var i=0; i<cnt; i++) p = p + 'parent.';
1174          fnRef = p + 'frames' + sFrm + '.';
1175      }
1176  
1177      if ( (ns4) || (ie4 || (ns6)) ) {
1178          if (ns4) over = o3_frame.document.overDiv;
1179          if (ie4) over = o3_frame.overDiv.style;
1180          if (ns6) over = o3_frame.document.getElementById("overDiv");
1181      }
1182  
1183      return 0;
1184  }
1185  
1186  // Calls an external function
1187  function opt_FUNCTION(callme) {
1188      o3_text = (callme ? callme() : (o3_function ? o3_function() : 'No Function'));
1189      return 0;
1190  }
1191  
1192  
1193  
1194  
1195  //end (For internal purposes.)
1196  ////////////////////////////////////////////////////////////////////////////////////
1197  // OVERLIB 2 COMPATABILITY FUNCTIONS
1198  // If you aren't upgrading you can remove the below section.
1199  ////////////////////////////////////////////////////////////////////////////////////
1200  
1201  // Converts old 0=left, 1=right and 2=center into constants.
1202  function vpos_convert(d) {
1203      if (d == 0) {
1204          d = LEFT;
1205      } else {
1206          if (d == 1) {
1207              d = RIGHT;
1208          } else {
1209              d = CENTER;
1210          }
1211      }
1212      
1213      return d;
1214  }
1215  
1216  // Simple popup
1217  function dts(d,text) {
1218      o3_hpos = vpos_convert(d);
1219      overlib(text, o3_hpos, CAPTION, "");
1220  }
1221  
1222  // Caption popup
1223  function dtc(d,text, title) {
1224      o3_hpos = vpos_convert(d);
1225      overlib(text, CAPTION, title, o3_hpos);
1226  }
1227  
1228  // Sticky
1229  function stc(d,text, title) {
1230      o3_hpos = vpos_convert(d);
1231      overlib(text, CAPTION, title, o3_hpos, STICKY);
1232  }
1233  
1234  // Simple popup right
1235  function drs(text) {
1236      dts(1,text);
1237  }
1238  
1239  // Caption popup right
1240  function drc(text, title) {
1241      dtc(1,text,title);
1242  }
1243  
1244  // Sticky caption right
1245  function src(text,title) {
1246      stc(1,text,title);
1247  }
1248  
1249  // Simple popup left
1250  function dls(text) {
1251      dts(0,text);
1252  }
1253  
1254  // Caption popup left
1255  function dlc(text, title) {
1256      dtc(0,text,title);
1257  }
1258  
1259  // Sticky caption left
1260  function slc(text,title) {
1261      stc(0,text,title);
1262  }
1263  
1264  // Simple popup center
1265  function dcs(text) {
1266      dts(2,text);
1267  }
1268  
1269  // Caption popup center
1270  function dcc(text, title) {
1271      dtc(2,text,title);
1272  }
1273  
1274  // Sticky caption center
1275  function scc(text,title) {
1276      stc(2,text,title);
1277  }


Generated: Wed Dec 19 21:21:33 2007 Cross-referenced by PHPXref 0.7