//\/////
//\ overLIB v 4.02 Caption Positioning Plugin
//\ This file requires overLIB 4.00 or later.
//\
//\ You may not remove or change this notice.
//\ Copyright Erik Bosrup 1998-2003. All rights reserved.
//\ Contributors are listed on the homepage.
//\ See http://www.bosrup.com/web/overlib/ for details.
//\/////
////////
// PRE-INIT
// Ignore these lines, configuration is below.
////////
if (typeof olInfo == 'undefined' || typeof olInfo.meets == 'undefined' || !olInfo.meets(4.14)) alert('overLIB 4.14 or later is required for the Follow Scroll Plugin.');
else {
registerCommands('positioncap,scrollbars,src,data,noborder');
////////
// DEFAULT CONFIGURATION
// You don't have to change anything here if you don't want to. All of this can be
// changed on your html page or through an overLIB call.
////////
if (typeof ol_positioncap=='undefined') var ol_positioncap='top';
if (typeof ol_scrollbars=='undefined') var ol_scrollbars=0;
if (typeof ol_src=='undefined') var ol_src='';
if (typeof ol_data=='undefined') var ol_data='';
if (typeof ol_noborder=='undefined') var ol_noborder=0;
////////
// END OF CONFIGURATION
// Don't change anything below this line, all configuration is above.
////////
////////
// INIT
////////
// Runtime variables init. Don't change for config!
var o3_positioncap='top';
var o3_scrollbars=0;
var o3_src=o3_data='';
var o3_noborder=0;
////////
// PLUGIN FUNCTIONS
////////
function setPositionCapVariables() {
o3_positioncap=ol_positioncap;
o3_scrollbars=ol_scrollbars;
o3_src=ol_src;
o3_data=ol_data;
o3_noborder=ol_noborder;
}
// Parses POSITIONCAP commands
function parsePositionCapExtras(pf,i,ar) {
var k=i,v;
if (k < ar.length) {
if (ar[k]==POSITIONCAP) { eval(pf +'positioncap="'+ar[++k]+'"'); return k; }
if (ar[k]==SCROLLBARS) { eval(pf+'scrollbars=('+pf+'scrollbars==0 ? 1 : 0)'); return k; }
if (ar[k]==SRC) { eval(pf +'src="'+ar[++k]+'"'); return k; }
if (ar[k]==DATA) { eval(pf +'data="'+ar[++k]+'"'); return k; }
if (ar[k]==NOBORDER) { eval(pf+'noborder=('+pf+'noborder==0 ? 1 : 0)'); return k; }
}
return -1;
}
// Makes a simple table without caption
function ol_content_simple_psncap(text) {
var bodyTxt, sHgt=getMinimumHeight(),cpIsMultiple=/,/.test(o3_cellpad);
if (o3_scrollbars) text=addWrapTags(text,sHgt);
bodyTxt='
'
}
set_background("");
return txt;
}
// Sets scrollbar formatting
function setScrollbarFormatting(text, hgt) {
return /\.s?html?/.test(text) ? text : '
'+text+'
';
}
function checkScrollbars() {
if(olNs4&&o3_scrollbars) o3_scrollbars=0; // disable for NS4.x
if(!olNs4&&(o3_data||o3_src)) o3_scrollbars=1;
if(o3_scrollbars) {
if(o3_wrap) {
o3_wrap=0; // no wrapping with scroll bars
o3_width=ol_width; // reset width since it's been set to zero by WRAP command
}
if (!o3_sticky||(o3_sticky&&!o3_close)) {
o3_sticky=1; // make STICKY if there are scrollbars
o3_mouseoff=1; // turn MOUSEOFF on so that the popup can be closed
opt_NOCLOSE(' ');
}
}
return true;
}
function getMinimumHeight() {
return (o3_height) ? parseInt(o3_height.match(/(\d+)/)[0]) : 100;
}
function addWrapTags(txt, hgt) {
return !(o3_data||o3_src) ? txt : (o3_data) ? '' : '';
}
////////
// PLUGIN REGISTRATIONS
////////
registerRunTimeFunction(setPositionCapVariables);
registerCmdLineFunction(parsePositionCapExtras);
registerPostParseFunction(checkScrollbars);
registerHook("ol_content_caption",ol_content_caption_psncap,FREPLACE);
registerHook("ol_content_simple",ol_content_simple_psncap,FREPLACE);
if (olInfo.meets(4.14)) registerNoParameterCommands('scrollbars');
}
//end