//\//////////////////////////////////////////////////////////////////////////////////
//\ overlibmws.js  --  Based on overlib v3.51, plus bug-fixes or enhancements
//\ by me, Dennis Sandow, Robert E. Boughner, or Victor D., or adapted from Jason
//\ Anderson's jwin library. The Change History and Command Reference for
//\ overlibmws.js can be accessed via:
//\
//\	http://www.macridesweb.com/oltest/	-- Foteos Macrides
//\
//\//////////////////////////////////////////////////////////////////////////////////
//\ overLIB 3.51  --  This notice must remain untouched at all times.
//\ Copyright Erik Bosrup 1998-2002. All rights reserved.
//\
//\ By Erik Bosrup (erik@bosrup.com).  Last modified 2002-11-01.
//\ Portions by Dan Steinman (dansteinman.com). Additions by other people are
//\ listed on the overLIB homepage.
//\
//\ Get the latest version at http://www.bosrup.com/web/overlib/
//\
//\ This script is published under an open source license. Please read the license
//\ agreement online at: http://www.bosrup.com/web/overlib/license.html
//\ If you have questions regarding the license please contact erik@bosrup.com.
//\
//\ This script library was originally created for personal use. By request it has
//\ later been made public. This is free software. Do not sell this as your own
//\ work, or remove this copyright notice. For full details on copying or changing
//\ this script please read the license agreement at the link above.
//\
//\ Please give credit on sites that use overLIB and submit changes of the script
//\ so other people can use them as well. This script is free to use, don't abuse.
//\//////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////
// CONSTANTS
////////////////////////////////////////////////////////////////////////////////////
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 CGCOLOR=14;
var TEXTCOLOR=15;
var CAPCOLOR=16;
var CLOSECOLOR=17;
var WIDTH=18;
var WRAP=19;
var BORDER=20;
var BASE=21;
var STATUS=22;
var AUTOSTATUS=23;
var AUTOSTATUSCAP=24;
var HEIGHT=25;
var CLOSETEXT=26;
var SNAPX=27;
var SNAPY=28;
var FIXX=29;
var FIXY=30;
var RELX=31;
var RELY=32;
var MIDX=33;
var MIDY=34;
var FGBACKGROUND=35;
var BGBACKGROUND=36;
var CGBACKGROUND=37;
var PADX=38;
var PADY=39;
var FULLHTML=40;
var ABOVE=41;
var BELOW=42;
var VCENTER=43;
var CAPICON=44;
var TEXTFONT=45;
var CAPTIONFONT=46;
var CLOSEFONT=47;
var TEXTSIZE=48;
var CAPTIONSIZE=49;
var CLOSESIZE=50;
var FRAME=51;
var TIMEOUT=52;
var FUNCTION=53;
var DELAY=54;
var HAUTO=55;
var VAUTO=56;
var NOJUSTX=57;
var NOJUSTY=58;
var DRAGGABLE=59;
var CLOSECLICK=60;
var FGCLASS=61;
var BGCLASS=62;
var CGCLASS=63;
var TEXTFONTCLASS=64;
var CAPTIONFONTCLASS=65;
var CLOSEFONTCLASS=66;
var REF=67;
var REFC=68;
var REFP=69;
var REFX=70;
var REFY=71;
var SCROLL=72;

////////////////////////////////////////////////////////////////////////////////////
// DEFAULT CONFIGURATION -- You don't have to change anything here if you don't want
// to. Any of this can be changed on your html page or through an overLIB call.
// See overlibConfig.txt for descriptions.
////////////////////////////////////////////////////////////////////////////////////

if(typeof ol_fgcolor=='undefined') var ol_fgcolor="#000000";
if(typeof ol_bgcolor=='undefined') var ol_bgcolor="#000000";
if(typeof ol_cgcolor=='undefined') var ol_cgcolor="#000000";
if(typeof ol_textcolor=='undefined') var ol_textcolor="#F0F0F0";
if(typeof ol_capcolor=='undefined') var ol_capcolor="#F0F0F0";
if(typeof ol_closecolor=='undefined') var ol_closecolor="#C0C0C0";
if(typeof ol_textfont=='undefined') var ol_textfont="Verdana,Arial,Helvetica";
if(typeof ol_captionfont=='undefined') var ol_captionfont="Verdana,Arial,Helvetica";
if(typeof ol_closefont=='undefined') var ol_closefont="Verdana,Arial,Helvetica";
if(typeof ol_textsize=='undefined') var ol_textsize="1";
if(typeof ol_captionsize=='undefined') var ol_captionsize="1";
if(typeof ol_closesize=='undefined') var ol_closesize="1";
if(typeof ol_width=='undefined') var ol_width="720";
if(typeof ol_wrap=='undefined') var ol_wrap=0;
if(typeof ol_border=='undefined') var ol_border="1";
if(typeof ol_base=='undefined') var ol_base="0";
if(typeof ol_offsetx=='undefined') var ol_offsetx=10;
if(typeof ol_offsety=='undefined') var ol_offsety=10;
if(typeof ol_text=='undefined') var ol_text="Default Text";
if(typeof ol_cap=='undefined') var ol_cap="";
if(typeof ol_sticky=='undefined') var ol_sticky=0;
if(typeof ol_background=='undefined') var ol_background="";
if(typeof ol_close=='undefined') var ol_close="<b>X</b>";
if(typeof ol_noclose=='undefined') var ol_noclose=0;
if(typeof ol_hpos=='undefined') var ol_hpos=RIGHT;
if(typeof ol_status=='undefined') var ol_status="";
if(typeof ol_autostatus=='undefined') var ol_autostatus=2;
if(typeof ol_height=='undefined') var ol_height= -1;
if(typeof ol_snapx=='undefined') var ol_snapx=0;
if(typeof ol_snapy=='undefined') var ol_snapy=0;
if(typeof ol_fixx=='undefined') var ol_fixx= 10;
if(typeof ol_fixy=='undefined') var ol_fixy= 52;
if(typeof ol_relx=='undefined') var ol_relx=null;
if(typeof ol_rely=='undefined') var ol_rely=null;
if(typeof ol_midx=='undefined') var ol_midx=0;
if(typeof ol_midy=='undefined') var ol_midy=null;
if(typeof ol_fgbackground=='undefined') var ol_fgbackground="";
if(typeof ol_bgbackground=='undefined') var ol_bgbackground="";
if(typeof ol_cgbackground=='undefined') var ol_cgbackground="";
if(typeof ol_padxl=='undefined') var ol_padxl=1;
if(typeof ol_padxr=='undefined') var ol_padxr=1;
if(typeof ol_padyt=='undefined') var ol_padyt=1;
if(typeof ol_padyb=='undefined') var ol_padyb=1;
if(typeof ol_fullhtml=='undefined') var ol_fullhtml=0;
if(typeof ol_vpos=='undefined') var ol_vpos=BELOW;
if(typeof ol_capicon=='undefined') var ol_capicon="";
if(typeof ol_frame=='undefined') var ol_frame=self;
if(typeof ol_timeout=='undefined') var ol_timeout=0;
if(typeof ol_function=='undefined') var ol_function=null;
if(typeof ol_delay=='undefined') var ol_delay=0;
if(typeof ol_hauto=='undefined') var ol_hauto=0;
if(typeof ol_vauto=='undefined') var ol_vauto=0;
if(typeof ol_nojustx=='undefined') var ol_nojustx=0;
if(typeof ol_nojusty=='undefined') var ol_nojusty=0;
if(typeof ol_draggable=='undefined') var ol_draggable=0;
if(typeof ol_closeclick=='undefined') var ol_closeclick=0;
if(typeof ol_fgclass=='undefined') var ol_fgclass="";
if(typeof ol_bgclass=='undefined') var ol_bgclass="";
if(typeof ol_cgclass=='undefined') var ol_cgclass="";
if(typeof ol_textfontclass=='undefined') var ol_textfontclass="";
if(typeof ol_captionfontclass=='undefined') var ol_captionfontclass="";
if(typeof ol_closefontclass=='undefined') var ol_closefontclass="";
if(typeof ol_ref=='undefined') var ol_ref="";
if(typeof ol_refc=='undefined') var ol_refc='UL';
if(typeof ol_refp=='undefined') var ol_refp='UL';
if(typeof ol_refx=='undefined') var ol_refx=0;
if(typeof ol_refy=='undefined') var ol_refy=0;
if(typeof ol_scroll=='undefined') var ol_scroll=0;

////////////////////////////////////////////////////////////////////////////////////
// ARRAY CONFIGURATION - See overlibConfig.txt for descriptions.
////////////////////////////////////////////////////////////////////////////////////

if(typeof ol_texts=='undefined') var ol_texts=new Array("Text 0","Text 1");
if(typeof ol_caps=='undefined') var ol_caps=new Array("Caption 0","Caption 1");

////////////////////////////////////////////////////////////////////////////////////
// END CONFIGURATION
// Don't change anything below this line, all configuration is above.
////////////////////////////////////////////////////////////////////////////////////


////////////////////////////////////////////////////////////////////////////////////
// INIT
////////////////////////////////////////////////////////////////////////////////////

// Runtime variables init. Used for runtime only, don't change, not for config!
var o3_text="";
var o3_cap="";
var o3_sticky=0;
var o3_background="";
var o3_close="Close";
var o3_noclose=0;
var o3_hpos=RIGHT;
var o3_offsetx=10;
var o3_offsety=10;
var o3_fgcolor="";
var o3_bgcolor="";
var o3_cgcolor="";
var o3_textcolor="";
var o3_capcolor="";
var o3_closecolor="";
var o3_width=200;
var o3_wrap=0;
var o3_border=1;
var o3_base=0;
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_relx=null;
var o3_rely=null;
var o3_midx=null;
var o3_midy=null;
var o3_ref="";
var o3_refc='UL';
var o3_refp='UL';
var o3_refx=0;
var o3_refy=0;
var o3_fgbackground="";
var o3_bgbackground="";
var o3_cgbackground="";
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_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_showid=0;
var o3_hauto=0;
var o3_vauto=0;
var o3_nojustx=0;
var o3_nojusty=0;
var o3_draggable=0;
var o3_closeclick=0;
var o3_fgclass="";
var o3_bgclass="";
var o3_cgclass="";
var o3_textfontclass="";
var o3_captionfontclass="";
var o3_closefontclass="";

// Display state variables
var o3_x=0;
var o3_y=0;
var o3_allow=0;
var o3_showingsticky=0;
var o3_removecounter=0;
var o3_dragging=0;
var o3_scroll=0;
var oMMv;

// Our layer
var over=null;
var fnRef;
var hSwitch;

// Decide browser version
var OLns4=(navigator.appName=='Netscape'&&parseInt(navigator.appVersion)==4);
var OLns6=(document.getElementById)?true:false;
var OLie4=(document.all)?true:false;
var OLieM=(OLie4&&navigator.userAgent.indexOf('Mac')>=0)?true:false;
var OLopr=(navigator.userAgent.indexOf('Opera')>=0)?true:false;
var OLop7=(navigator.userAgent.indexOf('Opera 7')>=0||navigator.userAgent.indexOf('Opera/7')>=0)?true:false;
if(OLopr&&!OLop7) {OLns4=OLns6=OLie4=false;}
if(OLie4) var docRoot='document.body';
var OLie5=false;
if(OLie4) {
if(navigator.userAgent.indexOf('MSIE 5')>0||navigator.userAgent.indexOf('MSIE 6')>0) {
if(typeof document.compatMode!='undefined'&&document.compatMode=='CSS1Compat'
	&&!OLop7) docRoot='document.documentElement';
OLie5=true;
}
OLns6=false;
}
if(OLns4) {
var oW=window.innerWidth;
var oH=window.innerHeight;
window.onresize=function() {if(oW!=window.innerWidth||oH!=window.innerHeight) location.reload();}
}

// Capture events, alt. diffuses the overlib function.
if(OLns4||OLie4||OLns6) {
var fN,mseHandler=OLmouseMove,capExtent=document;
var re=/function[ ]+(\w+)\(/;
if(document.onmousemove||(!OLie4&&window.onmousemove)){
if(window.onmousemove) capExtent=window;
fN=capExtent.onmousemove.toString().match(re);
var str='OLmouseMove(e); '+fN[1]+'(e);';
mseHandler=new Function('e',str);
}
capExtent.onmousemove=mseHandler;
if(OLns4) capExtent.captureEvents(Event.MOUSEMOVE);
} else {
overlib=no_overlib;
nd=no_overlib;
}

// For unsupported browsers.
function no_overlib() {
return true;
}


////////////////////////////////////////////////////////////////////////////////////
// PUBLIC FUNCTIONS
////////////////////////////////////////////////////////////////////////////////////

// overlib(arg0, ..., argN)
// Loads parameters into global runtime variables.
function overlib() {
// Load defaults to runtime.
o3_text=ol_text;
o3_cap=ol_cap;
o3_sticky=ol_sticky;
o3_background=ol_background;
o3_close=ol_close;
o3_noclose=ol_noclose;
o3_hpos=ol_hpos;
o3_offsetx=ol_offsetx;
o3_offsety=ol_offsety;
o3_fgcolor=ol_fgcolor;
o3_bgcolor=ol_bgcolor;
o3_cgcolor=ol_cgcolor;
o3_textcolor=ol_textcolor;
o3_capcolor=ol_capcolor;
o3_closecolor=ol_closecolor;
o3_width=ol_width;
o3_wrap=ol_wrap;
o3_border=ol_border;
o3_base=ol_base;
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_relx=ol_relx;
o3_rely=ol_rely;
o3_midx=ol_midx;
o3_midy=ol_midy;
o3_scroll=ol_scroll;
o3_ref=ol_ref;
o3_refc=ol_refc;
o3_refp=ol_refp;
o3_refx=ol_refx;
o3_refy=ol_refy;
o3_fgbackground=ol_fgbackground;
o3_bgbackground=ol_bgbackground;
o3_cgbackground=ol_cgbackground;
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_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_nojustx=ol_nojustx;
o3_nojusty=ol_nojusty;
o3_draggable=ol_draggable;
o3_closeclick=ol_closeclick;
o3_fgclass=ol_fgclass;
o3_bgclass=ol_bgclass;
o3_cgclass=ol_cgclass;
o3_textfontclass=ol_textfontclass;
o3_captionfontclass=ol_captionfontclass;
o3_closefontclass=ol_closefontclass;
fnRef='';
hSwitch=false;

// Special for frame support, over must be reset...
if(OLns4||OLie4||OLns6) {
if(over) cClick();
o3_frame=ol_frame;
if(OLns4) over=o3_frame.document.overDiv
if(OLie4) over=o3_frame.overDiv.style
if(OLns6) over=o3_frame.document.getElementById("overDiv");
}

// What the next argument is expected to be.
var parsemode= -1,udf,v=null;
var ar=arguments;
udf=(!ar.length?1:0);
for(i=0;i<ar.length;i++) {
if(parsemode<0) {
// Arg is maintext, unless its a PARAMETER
if(typeof ar[i]=='number') {udf=1;i--;}
else {o3_text=ar[i];}
parsemode=0;
} else {
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_noclose=(o3_noclose==0)?1:0;if(o3_noclose) opt_NOCLOSE();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]==CGCOLOR){o3_cgcolor=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]==WRAP){o3_wrap=(o3_wrap==0)?1:0;continue;}
if(ar[i]==BORDER){o3_border=ar[++i];continue;}
if(ar[i]==BASE){o3_base=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];continue;}
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]==RELX){o3_relx=ar[++i];continue;}
if(ar[i]==RELY){o3_rely=ar[++i];continue;}
if(ar[i]==MIDX){o3_midx=ar[++i];continue;}
if(ar[i]==MIDY){o3_midy=ar[++i];continue;}
if(ar[i]==SCROLL){o3_scroll=(o3_scroll==0)?1:0;continue;}
if(ar[i]==REF){o3_ref=ar[++i];continue;}
if(ar[i]==REFC){o3_refc=ar[++i];continue;}
if(ar[i]==REFP){o3_refp=ar[++i];continue;}
if(ar[i]==REFX){o3_refx=ar[++i];continue;}
if(ar[i]==REFY){o3_refy=ar[++i];continue;}
if(ar[i]==FGBACKGROUND){o3_fgbackground=ar[++i];continue;}
if(ar[i]==BGBACKGROUND){o3_bgbackground=ar[++i];continue;}
if(ar[i]==CGBACKGROUND){o3_cgbackground=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||ar[i]==VCENTER){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]==NOJUSTX){o3_nojustx=(o3_nojustx==0)?1:0;continue;}
if(ar[i]==NOJUSTY){o3_nojusty=(o3_nojusty==0)?1:0;continue;}
if(ar[i]==DRAGGABLE){o3_draggable=(o3_draggable==0)?1:0;continue;}
if(ar[i]==CLOSECLICK){o3_closeclick=(o3_closeclick==0)?1:0;continue;}
if(ar[i]==FGCLASS){o3_fgclass=ar[++i];continue;}
if(ar[i]==BGCLASS){o3_bgclass=ar[++i];continue;}
if(ar[i]==CGCLASS){o3_cgclass=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(udf&&o3_function) o3_text=o3_function();
if(o3_delay==0) {
return overlib351();
} else {
o3_delayid=setTimeout("overlib351()",o3_delay);
// Set status line now if specified.
if(o3_autostatus==2&&o3_cap!="") o3_status=o3_cap;
else if(o3_autostatus==1&&o3_text!="") o3_status=o3_text;
if(o3_status!="") self.status=o3_status;
return(o3_status!="");
}
}

// Clears popups if appropriate
function nd(time) {
if(time&&o3_sticky&&!o3_delay) {
if(o3_timerid>0) clearTimeout(o3_timerid);
o3_timerid=setTimeout("cClick()",(o3_timeout=time));
}
if(o3_removecounter>=1) o3_showingsticky=0;
if(OLns4||OLie4||OLns6) {
if(o3_showingsticky==0) {
o3_allowmove=0;
if(over!=null) hideObject(over);
} else {
o3_removecounter++;
}
}
return true;
}


////////////////////////////////////////////////////////////////////////////////////
// OVERLIB 3.51 FUNCTION
////////////////////////////////////////////////////////////////////////////////////

// This function decides what it is we want to display and how we want it done.
function overlib351() {
var layerhtml,sTyp;
o3_delay=0;
// Initiate dragging if wanted, and this is a sticky, and it is in our frame,
// otherwise, make sure dragging is off
if(o3_draggable&&o3_sticky&&(o3_frame==self)) {
if(!o3_dragging) initDrag();
} else {
if(o3_dragging) clearDrag();
}
// Temporary block for Opera 7.0 Beta 1 and IE on MACs.
if(o3_wrap&&!o3_fullhtml&&(OLop7||OLieM)) o3_wrap=0;
// Make layer content
if(o3_background!=""||o3_fullhtml) {
// Use background instead of box.
layerhtml=ol_content_background(o3_text,o3_background,o3_fullhtml);
} else {
// Prepare popup background
if(o3_fgbackground!="") {
o3_fgbackground=" BACKGROUND=\""+o3_fgbackground+"\"";
}
if(o3_bgbackground!="") {
o3_bgbackground=" BACKGROUND=\""+o3_bgbackground+"\"";
}
if(o3_cgbackground!="") {
o3_cgbackground=" BACKGROUND=\""+o3_cgbackground+"\"";
}
// Prepare popup colors
if(o3_fgcolor!="") {
o3_fgcolor=" BGCOLOR=\""+o3_fgcolor+"\"";
}
if(o3_bgcolor!="") {
o3_bgcolor=" BGCOLOR=\""+o3_bgcolor+"\"";
}
if(o3_cgcolor!="") {
o3_cgcolor=" BGCOLOR=\""+o3_cgcolor+"\"";
}
// Prepare popup height
if(o3_height>0) {
o3_height=" HEIGHT="+o3_height;
} else {
o3_height="";
}
// Decide which kinda box.
if(o3_cap=="") {
// Plain
layerhtml=ol_content_simple(o3_text);
} else {
// With caption
if(o3_sticky) {
// Show close text
layerhtml=ol_content_caption(o3_text,o3_cap,o3_close);
} else {
// No close text
layerhtml=ol_content_caption(o3_text,o3_cap,"");
}
}
}
// We want it to stick!
if(o3_sticky) {
if(o3_timerid>0) {
clearTimeout(o3_timerid);
o3_timerid=0;
}
o3_showingsticky=1;
o3_removecounter=0;
}
// Write layer
if(o3_wrap&&!OLns4&&!o3_fullhtml) {
if(OLie4) ((!OLop7&&!OLieM)?over.pixelWidth=0:repositionTo(over,
	o3_frame.document.body.scrollLeft,o3_frame.document.body.scrollTop));
else if(OLns6) repositionTo(over,o3_frame.pageXOffset,o3_frame.pageYOffset);
}
layerWrite(layerhtml);
if(o3_wrap&&!o3_fullhtml) {
o3_width=(OLns4?over.clip.width:(OLie4?o3_frame.overDiv.offsetWidth:over.offsetWidth));
o3_wrap=0;
if(o3_background!="") {
layerhtml=ol_content_background(o3_text,o3_background,o3_fullhtml);
} else {
if(o3_cap=="") {
layerhtml=ol_content_simple(o3_text);
} else {
if(o3_sticky) {
layerhtml=ol_content_caption(o3_text,o3_cap,o3_close);
} else {
layerhtml=ol_content_caption(o3_text,o3_cap,"");
}
}
}
layerWrite(layerhtml);
}
// Prepare status bar
if(o3_autostatus>0) {
o3_status=o3_text;
if(o3_autostatus>1) {
o3_status=o3_cap;
}
}
// Initiate a timer for timeout
if(o3_timeout>0) {
if(o3_timerid>0) clearTimeout(o3_timerid);
o3_timerid=setTimeout("cClick()",o3_timeout);
}
// Use reference object if requested
if(o3_ref) refPosition=getRefLocation(o3_ref);
if(o3_ref&&refPosition[0]==null) {
// Center popup on failure
o3_ref="";
o3_midx=0;
o3_midy=0;
}
// Sanity check for scroll feature
if(o3_scroll&&(!o3_sticky||o3_draggable||
	(o3_relx==null&&o3_midx==null)||(o3_rely==null&&o3_midy==null))) o3_scroll=0;
// Place and show layer
disp(o3_status);
return (o3_status!="");
}


////////////////////////////////////////////////////////////////////////////////////
// DRAGGABLE FUNCTIONS
////////////////////////////////////////////////////////////////////////////////////

function initDrag() {
oMMv=capExtent.onmousemove;
if(OLns4) {
document.captureEvents(Event.MOUSEDOWN|Event.CLICK);
document.onmousedown=grabEl;
document.onclick=function(e) {return routeEvent(e);}
} else {
var ovObj=(OLie4?o3_frame.document.all['overDiv']:over);
ovObj.onmousedown=grabEl;
if(OLie4&&!OLop7) ovObj.onselectstart=function() {return false;}
ovObj.style.cursor="move";
} 
o3_dragging=1;
return true;
}

function grabEl(e) {
var e=(e)?e:event;
var ovObj=(OLie4?o3_frame.document.all['overDiv']:over);
var cKy=(OLns4?e.modifiers&Event.ALT_MASK:e.altKey);
if(cKy) {
if(OLie4&&!OLop7) ovObj.onselectstart=null;
if(!OLns4) ovObj.style.cursor="auto";
document.onmouseup=function() {
if(!OLns4) {
if(OLie4&&!OLop7) ovObj.onselectstart=function() {return false;}
if(!OLns4) ovObj.style.cursor="move";
}
}
return (OLns4?routeEvent(e):true);
}
oMMv(e);
if(OLns4) {
cX=e.pageX;
cY=e.pageY;
} else {
cX=o3_x-(OLie4?parseInt(over.left):parseInt(over.style.left));
cY=o3_y-(OLie4?parseInt(over.top):parseInt(over.style.top));
}
if(OLns4) document.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
capExtent.onmousemove=moveEl;
document.onmouseup=function() {capExtent.onmousemove=oMMv;document.onmouseup=null;}
return (OLns4?routeEvent(e):false);
}

function moveEl(e) {
oMMv(e);
if(OLns4) {
newX=e.pageX;newY=e.pageY;
over.moveBy(newX-cX,newY-cY);
cX=newX;cY=newY;
} else repositionTo(over,o3_x-cX,o3_y-cY);
return false;
}

function clearDrag() {
if(OLns4) {
document.releaseEvents(Event.MOUSEDOWN|Event.MOUSEUP|Event.CLICK);
document.onmousedown=document.onmouseup=document.onclick=null;
} else if(OLns6) {
over.onmousedown=null;
over.style.cursor="auto";
} else {
var ovObj=(OLie4?o3_frame.document.all['overDiv']:over);
ovObj.onmousedown=null;
if(OLie4&&!OLop7) ovObj.onselectstart=null;
ovObj.style.cursor="auto";
}
o3_dragging=0;
}


////////////////////////////////////////////////////////////////////////////////////
// LAYER GENERATION FUNCTIONS
////////////////////////////////////////////////////////////////////////////////////

// Makes simple table without caption
function ol_content_simple(text) {
txt=
"<TABLE"+(o3_wrap?"":" WIDTH="+o3_width)+o3_height+" BORDER=0 CELLPADDING="+o3_border+
" CELLSPACING=0"+(o3_bgclass?" class=\""+o3_bgclass+"\"":o3_bgcolor+o3_bgbackground)+
"><TR><TD><TABLE WIDTH=100%"+o3_height+" BORDER=0 CELLPADDING=2 CELLSPACING=0"+(o3_fgclass?
" class=\""+o3_fgclass+"\"":o3_fgcolor+o3_fgbackground)+"><TR><TD VALIGN=TOP"+(o3_fgclass?
" class=\""+o3_fgclass+"\"":"")+"><FONT "+(o3_textfontclass?"class=\""+o3_textfontclass+"\">":
"COLOR=\""+o3_textcolor+"\" FACE=\""+o3_textfont+"\" SIZE=\""+o3_textsize+"\">")+
text+
"</FONT></TD></TR></TABLE>"+((o3_base>0)?
("<TABLE width=100% BORDER=0 CELLPADDING=0 CELLSPACING=0>"+"<TR><TD height="+o3_base+
"></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="TITLE=\"Click to close.\" onClick";
if(o3_capicon!="") o3_capicon="<IMG SRC=\""+o3_capicon+"\"> ";
if(close!="") {
closing="<TD ALIGN=RIGHT><A HREF=\"javascript:return "+fnRef+"cClick();\" "+closeevent+
"=\"return "+fnRef+"cClick();\""+(o3_closefontclass?" class=\""+o3_closefontclass+"\">":
"><FONT COLOR=\""+o3_closecolor+"\" FACE=\""+o3_closefont+"\" SIZE=\""+o3_closesize+"\">")+
close+
(o3_closefontclass?"":"</FONT>")+"</A></TD>";
}
txt=
"<TABLE"+(o3_wrap?"":" WIDTH="+o3_width)+o3_height+" BORDER=0 CELLPADDING="+o3_border+
" CELLSPACING=0"+(o3_bgclass?" class=\""+o3_bgclass+"\"":o3_bgcolor+o3_bgbackground)+
"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0"+(o3_cgclass?" class=\""+
o3_cgclass+"\"":o3_cgcolor+o3_cgbackground)+"><TR><TD"+(o3_cgclass?" class=\""+o3_cgclass+
"\">":">")+(o3_captionfontclass?"<FONT class=\""+o3_captionfontclass+"\">":"<B><FONT COLOR=\""+
o3_capcolor+"\" FACE=\""+o3_captionfont+"\" SIZE=\""+o3_captionsize+"\">")+
o3_capicon+
title+
"</FONT>"+(o3_captionfontclass?"":"</B>")+"</TD>"+
closing+
"</TR></TABLE><TABLE WIDTH=100% "+o3_height+" BORDER=0 CELLPADDING=2 CELLSPACING=0"+(o3_fgclass?
" class=\""+o3_fgclass+"\"":o3_fgcolor+o3_fgbackground)+"><TR><TD VALIGN=TOP"+(o3_fgclass?
" class=\""+o3_fgclass+"\"":"")+"><FONT "+(o3_textfontclass?"class=\""+o3_textfontclass+"\">":
"COLOR=\""+o3_textcolor+"\" FACE=\""+o3_textfont+"\" SIZE=\""+o3_textsize+"\">")+
text+
"</FONT></TD></TR></TABLE>"+((o3_base>0)?("<TABLE width=100% BORDER=0 CELLPADDING=0 "+
"CELLSPACING=0><TR><TD height="+o3_base+"></TD></TR></TABLE>"):"")+"</TD></TR></TABLE>";
set_background("");
return txt;
}

// Sets the background picture, padding and lots more. :)
function ol_content_background(text, picture, hasfullhtml) {
if (hasfullhtml) {
txt=text;
} else {
txt=
"<TABLE"+(o3_wrap?"":" 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"+(o3_wrap?"":" WIDTH="+(o3_width-o3_padxl-o3_padxr))+"><FONT "+
(o3_textfontclass?"class=\""+o3_textfontclass+"\">":"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(OLns4) over.background.src=null;
if(OLie4) over.backgroundImage="none";
if(OLns6) over.style.backgroundImage="none";
} else {
if(OLns4) {
over.background.src=pic;
} else if(OLie4) {
over.backgroundImage="url("+pic+")";
} else if(OLns6) {
over.style.backgroundImage="url("+pic+")";
}
}
}


////////////////////////////////////////////////////////////////////////////////////
// HANDLING FUNCTIONS
////////////////////////////////////////////////////////////////////////////////////

// Displays the popup
function disp(statustext) {
if(OLns4||OLie4||OLns6) {
if(o3_allowmove==0) {
placeLayer();
((OLns6)?o3_showid=setTimeout("showObject(over)",1):showObject(over));
o3_allowmove=(o3_sticky?0:1);
}
}
if(statustext!="") {
self.status=statustext;
}
}

// Decides where we want the popup.
function placeLayer() {
var placeX,placeY,iwidth=100,iheight=100,SBfactor=0;
var winoffset,scrolloffset,popwidth,popheight;
if(OLie4||(o3_frame.document.body&&typeof o3_frame.document.body.clientWidth=='number'&&
   o3_frame.document.body.clientWidth>0))
	iwidth=eval('o3_frame.'+(OLns6?'document.body':docRoot)+'.clientWidth');
else if(typeof(o3_frame.innerWidth)=='number') {
	SBfactor=Math.ceil(1.4*(o3_frame.outerWidth-o3_frame.innerWidth));
	iwidth=o3_frame.innerWidth;
}
winoffset=(OLie4)?eval('o3_frame.'+docRoot+'.scrollLeft'):o3_frame.pageXOffset;
popwidth=(OLns4?over.clip.width:(OLie4?o3_frame.overDiv.offsetWidth:over.offsetWidth));
// HORIZONTAL PLACEMENT
if(o3_ref!=""||o3_fixx> -1||o3_relx!=null||o3_midx!=null) {
	if(o3_ref!="") {
		// Position relative to a reference object
		placeX=refPosition[0];
	} else {
		if(o3_midx!=null) {
			// Position middle of popup relative to middle of window
			placeX=winoffset+((iwidth-popwidth-SBfactor)/2)+o3_midx;
		} else {
			if(o3_relx!=null) {
				// Position relative to window margins
				if(o3_relx>=0) placeX=winoffset+o3_relx;
				else placeX=winoffset+o3_relx+iwidth-popwidth-SBfactor;
			} else {
				// Fixed position
				placeX=o3_fixx;
			}
		}
	}
} else {
	// 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-eval(popwidth)/2)+o3_offsetx;
	}
	if(o3_hpos==RIGHT) { // Right
		placeX=o3_x+o3_offsetx;
	}
	if(o3_hpos==LEFT) { // Left
		placeX=o3_x-o3_offsetx-popwidth;
	}
	// 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(!o3_nojustx&&(eval(placeX)+eval(popwidth))>(winoffset+iwidth-SBfactor))
	placeX=iwidth+winoffset-popwidth-SBfactor;
if(!o3_nojustx&&placeX<winoffset) placeX=winoffset;
// VERTICAL PLACEMENT
scrolloffset=(OLie4)?eval('o3_frame.'+docRoot+'.scrollTop'):o3_frame.pageYOffset;
if(OLie4||(o3_frame.document.body&&typeof o3_frame.document.body.clientHeight=='number'&&
   o3_frame.document.body.clientHeight>0))
	iheight=eval('o3_frame.'+(OLns6?'document.body':docRoot)+'.clientHeight');
else if(typeof(o3_frame.innerHeight)=='number')
	iheight=o3_frame.innerHeight;
popheight=(OLns4?over.clip.height:(OLie4?o3_frame.overDiv.offsetHeight:over.offsetHeight));
if(o3_ref!=""||o3_fixy> -1||o3_rely!=null||o3_midy!=null) {
	if(o3_ref!="") {
		// Position relative to a reference object
		placeY=refPosition[1];
	} else {
		if(o3_midy!=null) {
			// Position middle of popup relative to middle of window
			placeY=scrolloffset+((iheight-popheight)/2)+o3_midy;
		} else {
			if(o3_rely!=null) {
				// Position relative to window margins
				if(o3_rely>=0) placeY=scrolloffset+o3_rely;
				else placeY=scrolloffset+o3_rely+iheight-popheight;
			} else {
				// Fixed position
				placeY=o3_fixy;
			}
		}
	}
} else {
	// If VAUTO, decide what to use.
	if(o3_vauto==1) {
		iheightv=(eval(iheight))/2;
		if((o3_y-scrolloffset)>iheightv) {
			o3_vpos=ABOVE;
		} else {
			o3_vpos=BELOW;
		}
	}
	// From mouse
	if(o3_vpos==VCENTER) {
		placeY=(o3_y-eval(popheight)/2)+o3_offsety;
	}
	if(o3_vpos==ABOVE) {
		placeY=o3_y-(popheight+o3_offsety);
	}
	if(o3_vpos==BELOW) {
		placeY=o3_y+o3_offsety;
	}
	// Snapping!
	if(o3_snapy>1) {
		var snapping=placeY % o3_snapy;
		if(popheight>0&&o3_vpos==ABOVE) {
			placeY=placeY-(o3_snapy+snapping);
		} else {
			placeY=placeY+(o3_snapy-snapping);
		}
	}
}
if(!o3_nojusty&&(placeY+popheight)>(scrolloffset+iheight))
	placeY=scrolloffset+iheight-popheight;
if(!o3_nojusty&&placeY<scrolloffset) placeY=scrolloffset;
// Actually move the object.
repositionTo(over,placeX,placeY);
if(OLns6) {iheight=o3_frame.innerHeight;repositionTo(over,placeX,placeY);}
}

// Gets location of a reference object
function getRefLocation(ref){
var mn=ref,mref=getRefById(mn,o3_frame.document);
var mkObj,of,offsets;
if(mref==null) mref=getRefByName(mn,o3_frame.document);
if(mref==null) return [null,null];
mkObj=mref;
offsets=[o3_refx,o3_refy];
if(document.layers){
if(typeof mref.length!='undefined'&&mref.length>1){
mkObj=mref[0];
offsets[0] += mref[0].x+mref[1].pageX;
offsets[1] += mref[0].y+mref[1].pageY;
}else{
if((mref.toString().indexOf('Image')!= -1)||
   (mref.toString().indexOf('Anchor')!= -1)){
offsets[0] += mref.x;
offsets[1] += mref.y;
}else{
offsets[0] += mref.pageX;
offsets[1] += mref.pageY;
}
}
}else{
offsets[0] += pageLocation(mref,'Left');
offsets[1] += pageLocation(mref,'Top');
}
of=getRefOffsets(mkObj);
offsets[0] += of[0];
offsets[1] += of[1];
return offsets;
}

// Gets popup versus reference object offsets
function getRefOffsets(mkObj){
var ovObj=(OLie4?o3_frame.document.all['overDiv']:over);
var mc=o3_refc.toUpperCase(),mp=o3_refp.toUpperCase();
var mW=mH=pW=pH=0;
var off=[0,0];
pW=(OLns4?ovObj.clip.width:ovObj.offsetWidth);
pH=(OLns4?ovObj.clip.height:ovObj.offsetHeight);
if((!OLop7)&&mkObj.toString().indexOf('Image')!= -1) {
mW=mkObj.width;
mH=mkObj.height;
} else if((!OLop7)&&mkObj.toString().indexOf('Anchor')!= -1){
mc=o3_refc='UL';
} else {
mW=(OLns4)?mkObj.clip.width:mkObj.offsetWidth;
mH=(OLns4)?mkObj.clip.height:mkObj.offsetHeight;
}
if(mc=='UL'){
if(mp=='UR') off=[-pW,0];
else if(mp=='LL') off=[0,-pH];
else if(mp=='LR') off=[-pW,-pH];
} else if(mc=='UR') {
if(mp=='UR') off=[mW-pW,0];
else if(mp=='LL') off=[mW,-pH];
else if(mp=='LR') off=[mW-pW,-pH];
else off=[mW,0];
}else if(mc=='LL') {
if(mp=='UR') off=[-pW,mH];
else if(mp=='LL') off=[0,mH-pH];
else if(mp=='LR') off=[-pW,mH-pH];
else off=[0,mH];
} else if(mc=='LR') {
if(mp=='UR') off=[mW-pW,mH];
else if(mp=='LL') off=[mW,mH-pH];
else if(mp=='LR') off=[mW-pW,mH-pH];
else off=[mW,mH];
}
return off;
}

// Gets location of object in page
function pageLocation(o,t){
var x=0;
while(o.offsetParent&&o.offsetParent.tagName!="BODY"){
x += o['offset'+t];
o=o.offsetParent;
}
x += o['offset'+t];
return x;
} 

// Gets reference object by ID (or NAME synonym for post-NS4 browsers)
function getRefById(l,d){
var r="",j;
d=(d||document);
if(d.all) {
return d.all[l];
} else if(d.getElementById){
return d.getElementById(l);
} else if(d.layers&&d.layers.length>0){
if(d.layers[l]) return d.layers[l];
for(j=0;j<d.layers.length;j++){
r=getRefById(l,d.layers[j].document);
if(r) return r;
}
}
return null;
}

// Seek reference object by NAME if not found by ID
function getRefByName(l,d){
var r=null,j;
d=(d||document);
if(typeof d.images[l]!='undefined'&&d.images[l]){
return d.images[l];
} else if(typeof d.anchors[l]!='undefined'&&d.anchors[l]) {
return d.anchors[l];
} else if(d.layers&&d.layers.length>0){
for(j=0;j<d.layers.length;j++){
r=getRefByName(l,d.layers[j].document);
if(r&&r.length>0) return r;
else if(r) return [r,d.layers[j]]; 
}
}
return null;
}

// Moves the layer
function OLmouseMove(e) {
if(OLns4||OLns6) {o3_x=e.pageX;o3_y=e.pageY;}
if(OLie4) {o3_x=eval('event.clientX+o3_frame.'+docRoot+'.scrollLeft');o3_y=eval('event.clientY+o3_frame.'+docRoot+'.scrollTop');}
if(o3_allowmove==1||(o3_showingsticky&&o3_scroll)) placeLayer();
if(hSwitch&&!OLns4&&cursorOff()) {cClick();hSwitch=!hSwitch;}
}

// The Close onMouseOver function for stickies
function cClick() {
hideObject(over);
o3_showingsticky=0;
return false;
}

// Makes sure target frame has overLIB
function compatibleframe(frameid) {        
if(OLns4) {
if(typeof frameid.document.overDiv=='undefined') return false;
} else if(OLie4) {
if(typeof frameid.document.all["overDiv"]=='undefined') return false;
} else if(OLns6) {
if(frameid.document.getElementById('overDiv')==null) return false;
}
return true;
}


////////////////////////////////////////////////////////////////////////////////////
// LAYER FUNCTIONS
////////////////////////////////////////////////////////////////////////////////////

// Writes to a layer
function layerWrite(txt) {
txt += "\n";
if(OLns4) {
var lyr=o3_frame.document.overDiv.document;
lyr.write(txt);
lyr.close();
} else if(OLie4) {
o3_frame.document.all["overDiv"].innerHTML=txt;
} else if(OLns6) {
range=o3_frame.document.createRange();
range.setStartAfter(over);
domfrag=range.createContextualFragment(txt);
while(over.hasChildNodes()) {
over.removeChild(over.lastChild);
}
over.appendChild(domfrag);
}
}

// Make an object visible
function showObject(obj) {
if(OLns4) obj.visibility="show";
else if(OLie4) obj.visibility="visible";
else if(OLns6) obj.style.visibility="visible";
}

// Hides an object
function hideObject(obj) {
if(OLns4) obj.visibility="hide";
else if(OLie4) obj.visibility="hidden";
else if(OLns6) {
if(o3_showid>0){clearTimeout(o3_showid);o3_showid=0;}
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="";
if(o3_dragging) clearDrag();
// Cancel any previous settings of mouseouts or mouseovers
var Obj=(OLie4)?o3_frame.document.all['overDiv']:over;
if((OLie4||OLns6)&&Obj.onmouseover) Obj.onmouseover=null;
if(OLns4&&(Obj.onmouseout||Obj.onmouseover)) {
Obj.releaseEvents(Event.MOUSEOUT||Event.MOUSEOVER);
Obj.onmouseout=Obj.onmouseover=null;
}
}

// Move a layer
function repositionTo(obj,xL,yL) {
if(OLns4||OLie4) {
obj.left=(OLie4?xL+'px':xL);
obj.top=(OLie4?yL+'px':yL);
} else if(OLns6) {
obj.style.left=xL+"px";
obj.style.top=yL+"px";
}
}

// Check position of cursor relative to overDiv DIVision; mouseOut function
function cursorOff() {
var Obj=(OLie4)?o3_frame.document.all['overDiv']:over;
var left=parseInt(Obj.style.left);
var top=parseInt(Obj.style.top);
var right=left+Obj.offsetWidth;
var bottom=top+Obj.offsetHeight;
if(o3_x<left||o3_x>right||o3_y<top||o3_y>bottom) return true;
return false;
}

function getFrameRef(thisFrame,ofrm) {
var retVal='';
for(var i=0;i<thisFrame.length;i++) {
if(thisFrame[i].length>0) { 
retVal=getFrameRef(thisFrame[i],ofrm);
if(retVal=='') continue;
}
else if(thisFrame[i]!=ofrm) continue;
retVal='['+i+']'+retVal;
break;
}
return retVal;
}


////////////////////////////////////////////////////////////////////////////////////
// PARSER FUNCTIONS
////////////////////////////////////////////////////////////////////////////////////

// Defines which frame we should point to.
function opt_FRAME(frm) {
o3_frame=compatibleframe(frm)?frm:ol_frame;
if(o3_frame!=ol_frame) {
var tFrm=getFrameRef(top.frames,o3_frame);
var sFrm=getFrameRef(top.frames,ol_frame);
if(sFrm.length==tFrm.length) {
l=tFrm.lastIndexOf('[');
if(l) {
while(sFrm.substring(0,l)!=tFrm.substring(0,l))
l=tFrm.lastIndexOf('[',l-1);
tFrm=tFrm.substr(l);
sFrm=sFrm.substr(l);
}
}
var cnt=0,p='',str=tFrm;
while((k=str.lastIndexOf('['))!= -1) {
cnt++;
str=str.substring(0,k);
}
for(var i=0;i<cnt;i++) p=p+'parent.';
fnRef=p+'frames'+sFrm+'.';
}
if(OLns4) over=o3_frame.document.overDiv;
if(OLie4) over=o3_frame.overDiv.style;
if(OLns6) over=o3_frame.document.getElementById("overDiv");
return 0;
}

// Calls an external function
function opt_FUNCTION(callme) {
o3_text=(callme?(typeof callme=='string'?(/.+\(.*\)/.test(callme)?eval(callme):
	callme):callme()):(o3_function?o3_function():'No Function'));
return 0;
}

// Sets up mouseOver, mouseOut and Timeout handling for NOCLOSE stickies
function opt_NOCLOSE(unused) {
o3_close="";
var Obj=(OLie4)?o3_frame.document.all['overDiv']:over;
if(OLns4) {
Obj.captureEvents(Event.MOUSEOUT||Event.MOUSEOVER);
Obj.onmouseover=function(){
if(o3_timerid>0) {clearTimeout(o3_timerid);o3_timerid=0;}}
Obj.onmouseout=cClick;
}
if(OLie4||OLns6) Obj.onmouseover=function(){
hSwitch=true;if(o3_timerid>0) {clearTimeout(o3_timerid);o3_timerid=0;}}
return 0;
}
