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);