2 //\ overLIB CSS Style Plugin
3 //\ This file requires overLIB 4.10 or later.
5 //\ overLIB 4.05 - You may not remove or change this notice.
6 //\ Copyright Erik Bosrup 1998-2004. All rights reserved.
7 //\ Contributors are listed on the homepage.
8 //\ See http://www.bosrup.com/web/overlib/ for details.
16 // Ignore these lines, configuration is below.
18 if (typeof olInfo
== 'undefined' || typeof olInfo
.meets
== 'undefined' || !olInfo
.meets(4.10)) alert('overLIB 4.10 or later is required for the CSS Style Plugin.');
20 registerCommands('cssstyle,padunit,heightunit,widthunit,textsizeunit,textdecoration,textstyle,textweight,captionsizeunit,captiondecoration,captionstyle,captionweight,closesizeunit,closedecoration,closestyle,closeweight');
24 // DEFAULT CONFIGURATION
25 // Settings you want everywhere are set here. All of this can also be
26 // changed on your html page or through an overLIB call.
28 if (typeof ol_padunit
=='undefined') var ol_padunit
="px";
29 if (typeof ol_heightunit
=='undefined') var ol_heightunit
="px";
30 if (typeof ol_widthunit
=='undefined') var ol_widthunit
="px";
31 if (typeof ol_textsizeunit
=='undefined') var ol_textsizeunit
="px";
32 if (typeof ol_textdecoration
=='undefined') var ol_textdecoration
="none";
33 if (typeof ol_textstyle
=='undefined') var ol_textstyle
="normal";
34 if (typeof ol_textweight
=='undefined') var ol_textweight
="normal";
35 if (typeof ol_captionsizeunit
=='undefined') var ol_captionsizeunit
="px";
36 if (typeof ol_captiondecoration
=='undefined') var ol_captiondecoration
="none";
37 if (typeof ol_captionstyle
=='undefined') var ol_captionstyle
="normal";
38 if (typeof ol_captionweight
=='undefined') var ol_captionweight
="bold";
39 if (typeof ol_closesizeunit
=='undefined') var ol_closesizeunit
="px";
40 if (typeof ol_closedecoration
=='undefined') var ol_closedecoration
="none";
41 if (typeof ol_closestyle
=='undefined') var ol_closestyle
="normal";
42 if (typeof ol_closeweight
=='undefined') var ol_closeweight
="normal";
45 // END OF CONFIGURATION
46 // Don't change anything below this line, all configuration is above.
54 // Runtime variables init. Don't change for config!
56 var o3_heightunit
="px";
57 var o3_widthunit
="px";
58 var o3_textsizeunit
="px";
59 var o3_textdecoration
="";
62 var o3_captionsizeunit
="px";
63 var o3_captiondecoration
="";
64 var o3_captionstyle
="";
65 var o3_captionweight
="";
66 var o3_closesizeunit
="px";
67 var o3_closedecoration
="";
69 var o3_closeweight
="";
76 // Function which sets runtime variables to their default values
77 function setCSSStyleVariables() {
78 o3_padunit
=ol_padunit
;
79 o3_heightunit
=ol_heightunit
;
80 o3_widthunit
=ol_widthunit
;
81 o3_textsizeunit
=ol_textsizeunit
;
82 o3_textdecoration
=ol_textdecoration
;
83 o3_textstyle
=ol_textstyle
;
84 o3_textweight
=ol_textweight
;
85 o3_captionsizeunit
=ol_captionsizeunit
;
86 o3_captiondecoration
=ol_captiondecoration
;
87 o3_captionstyle
=ol_captionstyle
;
88 o3_captionweight
=ol_captionweight
;
89 o3_closesizeunit
=ol_closesizeunit
;
90 o3_closedecoration
=ol_closedecoration
;
91 o3_closestyle
=ol_closestyle
;
92 o3_closeweight
=ol_closeweight
;
95 // Parses CSS Style commands.
96 function parseCSSStyleExtras(pf
, i
, ar
) {
100 if (ar
[k
]==CSSSTYLE
) { eval(pf
+'css='+ar
[k
]); return k
; }
101 if (ar
[k
]==PADUNIT
) { eval(pf
+'padunit="'+ar
[++k
]+'"'); return k
; }
102 if (ar
[k
]==HEIGHTUNIT
) { eval(pf
+'heightunit="'+ar
[++k
]+'"'); return k
; }
103 if (ar
[k
]==WIDTHUNIT
) { eval(pf
+'widthunit="'+ar
[++k
]+'"'); return k
; }
104 if (ar
[k
]==TEXTSIZEUNIT
) { eval(pf
+'textsizeunit="'+ar
[++k
]+'"'); return k
; }
105 if (ar
[k
]==TEXTDECORATION
) { eval(pf
+'textdecoration="'+ar
[++k
]+'"'); return k
; }
106 if (ar
[k
]==TEXTSTYLE
) { eval(pf
+'textstyle="'+ar
[++k
]+'"'); return k
; }
107 if (ar
[k
]==TEXTWEIGHT
) { eval(pf
+'textweight="'+ar
[++k
]+'"'); return k
; }
108 if (ar
[k
]==CAPTIONSIZEUNIT
) { eval(pf
+'captionsizeunit="'+ar
[++k
]+'"'); return k
; }
109 if (ar
[k
]==CAPTIONDECORATION
) { eval(pf
+'captiondecoration="'+ar
[++k
]+'"'); return k
; }
110 if (ar
[k
]==CAPTIONSTYLE
) { eval(pf
+'captionstyle="'+ar
[++k
]+'"'); return k
; }
111 if (ar
[k
]==CAPTIONWEIGHT
) { eval(pf
+'captionweight="'+ar
[++k
]+'"'); return k
; }
112 if (ar
[k
]==CLOSESIZEUNIT
) { eval(pf
+'closesizeunit="'+ar
[++k
]+'"'); return k
; }
113 if (ar
[k
]==CLOSEDECORATION
) { eval(pf
+'closedecoration="'+ar
[++k
]+'"'); return k
; }
114 if (ar
[k
]==CLOSESTYLE
) { eval(pf
+'closestyle="'+ar
[++k
]+'"'); return k
; }
115 if (ar
[k
]==CLOSEWEIGHT
) { eval(pf
+'closeweight="'+ar
[++k
]+'"'); return k
; }
122 // LAYER GENERATION FUNCTIONS
125 // Makes simple table without caption
126 function ol_content_simple_cssstyle(text
) {
127 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="' + o3_cellpad
+ '" 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>';
133 // Makes table with caption and optional close link
134 function ol_content_caption_cssstyle(text
, title
, close
) {
137 closeevent
= "onMouseOver";
139 if (o3_closeclick
== 1) closeevent
= (o3_closetitle
? "title='" + o3_closetitle
+"'" : "") + " onClick";
141 if (o3_capicon
!="") {
142 nameId
=' hspace=\"5\"'+' align=\"middle\" alt=\"\"';
143 if (typeof o3_dragimg
!= 'undefined' && o3_dragimg
) nameId
= ' hspace=\"5\"'+' name=\"'+o3_dragimg
+'\" id=\"'+o3_dragimg
+'\" align=\"middle\" alt=\"Drag Enabled\" title=\"Drag Enabled\"';
144 o3_capicon
= '<img src=\"'+o3_capicon
+'\"'+nameId
+' />';
148 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>';
151 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="' + o3_cellpad
+ '" 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>';
157 // Sets the background picture, padding and lots more. :)
158 function ol_content_background_cssstyle(text
, picture
, hasfullhtml
) {
163 pU
= (o3_padunit
== '%' ? '%' : '');
164 hU
= (o3_heightunit
== '%' ? '%' : '');
165 wU
= (o3_widthunit
== '%' ? '%' : '');
166 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>';
169 set_background(picture
);
175 // PLUGIN REGISTRATIONS
177 registerRunTimeFunction(setCSSStyleVariables
);
178 registerCmdLineFunction(parseCSSStyleExtras
);
179 registerHook("ol_content_simple", ol_content_simple_cssstyle
, FALTERNATE
, CSSSTYLE
);
180 registerHook("ol_content_caption", ol_content_caption_cssstyle
, FALTERNATE
, CSSSTYLE
);
181 registerHook("ol_content_background", ol_content_background_cssstyle
, FALTERNATE
, CSSSTYLE
);