From ba43899e603914d20c33b929f10764fb12f32b0c Mon Sep 17 00:00:00 2001 From: Simone Piccardi Date: Wed, 23 Apr 2003 21:04:22 +0000 Subject: [PATCH] Aggiunto il materiale di Mirko per la realizzazione dell'HTML. --- ChangeLog | 7 +- htgapil.cfg | 312 +++++++++++ htgapil/overlib.js | 1274 ++++++++++++++++++++++++++++++++++++++++++++ htmakeindex.sh | 5 + htmlize.sh | 66 +++ tex4ht.env | 52 ++ 6 files changed, 1715 insertions(+), 1 deletion(-) create mode 100644 htgapil.cfg create mode 100644 htgapil/overlib.js create mode 100644 htmakeindex.sh create mode 100644 htmlize.sh create mode 100644 tex4ht.env diff --git a/ChangeLog b/ChangeLog index ec7729a..dbbeb1e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,12 @@ +2003-04-23 Simone Piccardi + + * gapil: Aggiunti gli script e le configurazioni di + M. Maischberger per la conversione ad HTML usando htlatex. + 2003-04-06 Simone Piccardi * gapil.tex: Correzione all'anno di copyright M. Maischberger, più - tutta la "esternalizzazione" dei esempio di codice, ad uso di una + tutta la "esternalizzazione" degli esempi di codice, ad uso di una migliore conversione per la versione HTML. 2003-04-03 Simone Piccardi diff --git a/htgapil.cfg b/htgapil.cfg new file mode 100644 index 0000000..84a8ea2 --- /dev/null +++ b/htgapil.cfg @@ -0,0 +1,312 @@ +%% htgapil.cfg +%% +%% Copyright (C) 2003 Mirko Maischberger. +%% This program is free software; you can redistribute it and/or modify +%% it under the terms of the GNU General Public License as published by +%% the Free Software Foundation; either version 2 of the License, or +%% (at your option) any later version. +%% +%% This program is distributed in the hope that it will be useful, +%% but WITHOUT ANY WARRANTY; without even the implied warranty of +%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +%% GNU General Public License for more details. +%% +%% You should have received a copy of the GNU General Public License +%% along with this program; if not, write to the Free Software +%% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +%% 02111-1307 USA +%% +%% Configurazione tex4ht per la compilazione del +%% GaPiL (Guida alla Programmazione in Linux) +%% +%% $id$ +%% + +\Preamble{html,4,info,next,mouseover} + +\usepackage{tex4ht} + +%Opzioni per hyperref +%\usepackage[tex4ht]{hyperref} + +\renewcommand{\includecodesnip}[1] + {\HCode{
}\input #1.html\HCode{
}} + {} +\renewcommand{\includestruct}[1] + {\HCode{
}\input #1.html\HCode{
}} + {} +\renewcommand{\includecodesample}[1] + {\HCode{
}\input #1.html\HCode{
}} + {} + +\begin{document} + + +% Voce del css per impostare il logo e dei margini decenti +\Css{ + body { + padding: 2em 10em 2em 70px; + margin: 0; + font-family: sans-serif; + color: black; + background: white; + background-position: top left; + background-attachment: fixed; + background-repeat: no-repeat; + background-image: url(gapil-logo.png); + } +} + +\Css{ + pre { text-align: left;} +} +% Corregge un bug +\Css{ + .figure img.graphics { + margin-left: 0px; + } +} + +\Css { + td.figure { + text-align: center; + } +} + +% Gli
si tramutano in una linea grigia +\Css{ + hr { + border: 0; + width: 100\%; + height: 2px; + color: \#999; + background-color: \#999; + } +} + +% Qualche stile per i link +\Css{ + a { + font-weight:bold; + color: \#ce2727; + text-decoration: none; + } +} + +\Css{ + a:hover { + font-weight:bold; + color: \#ee4747; + text-decoration: underline; + } +} + +\Css{ + a:visited { + font-weight:bold; + color: \#666; + } +} + +% Non lo chiappa: lo aggioungo come perl -e a htmlize.sh +%\Css{ +% .js { +% background: \#f99; +% } +%} + +% Configura gli stili per le liste +\Css{ + span.boxedminipage ul.descriptionstar { + list-style-type: none; + text-indent: -3em; + } +} + +\Css{ + ul.basedescript { + list-style-type: none; + text-indent: -3em; + } +} + +\Css{ + ul.itemizestar { + list-style-type: none; + } +} + +\Css{ + ul.itemize { + list-style-type: none; + } +} + +% Configura i vari riquadri del GaPiL +\Css{ + div.lstlisting-plain { + font-size: 90\%; + text-align: center; + margin: 0px 20px 0px 20px; + padding: 0px 7px 0px 7px; + } +} + +\Css{ + div.lstlisting-plain span.linenum { + display: none; + } +} + +\Css{ + div.lstlisting-lines { + font-size: 90\%; + text-align: center; + margin: 3px 20px 3px 20px; + padding: 3px 7px 3px 7px; + border-top: 3px double black; + border-bottom: 3px double black; + } +} + +\Css{ + div.tabular { + text-align: center; + margin: 7px 20px 7px 20px; + padding: 7px 7px 7px 7px; + } +} + +\Css{ + div.prototype { + font-size: 15px; + margin: 15px 40px 15px 40px; + background: \#fee; + padding: 7px 12px 0px 12px; + border: 1px solid \#ccc; + } +} + +\Css{ + div.functions { + font-size: 15px; + margin: 15px 40px 15px 40px; + background: \#fee; + padding: 7px 12px 12px 12px; + border: 1px solid \#ccc; + } +} + +\Css{ + div.verbatim { + text-align: left; + font-size: 15px; + background: \#eee; + margin: 15px 40px 15px 40px; + padding: 7px 7px 7px 7px; + border: 1px solid \#ccc; + } +} + +% E ora qualcosa di completamente diverso :) + +% Usa le immagini PNG (che le gif ci stanno sulle balle) +\Configure{Picture}{.png} + +% Pochi tasti per non confondere l'utente +\Configure{crosslinks} + {[} + {]\HCode{  }} + {Avanti} + {Indietro} + {} + {} + {} + {Su} + +% Una nota di copyright in fondo +% Mi ci ero aggiunto anche "me" come webmaster, ma +% non vorrei esagerare :). +\Configure{crosslinks+} + {} + {\HCode{
}} + {\HCode{
}} + {\HCode{
+
© 2000-2003 + Simone Piccardi +
+%
Pubblicazione web curata da +% Mirko Maischberger +%
+}} + +% basedescript con le \item[voci] in grassetto +\ConfigureList{basedescript} + {\HCode{
    }} + {\HCode{
}} + {\HCode{
  • }} + {\HCode{}} + +% idem per description e description* +\ConfigureList{description} + {\HCode{
      }} + {\HCode{
    }} + {\HCode{
  • }} + {\HCode{}} + +\ConfigureList{description*} + {\HCode{
      }} + {\HCode{
    }} + {\HCode{
  • }} + {\HCode{}} + +% Altri ambienti lista che non so per quale motivo +% senza queste righe non funzionano +\ConfigureList{itemize} + {\HCode{
      }} + {\HCode{
    }} + {\HCode{
  • }} + {\HCode{}} + +\ConfigureList{itemize*} + {\HCode{
      }} + {\HCode{
    }} + {\HCode{
  • }} + {\HCode{}} + +% Converti tutti i listati in immagini PNG +%\ConfigureEnv{lstlisting} +% {\HCode{
    }\Picture*{}} +% {\EndPicture\HCode{
    }} +% {} +% {} + +% Converti tutte le tabelle in immagini PNG +\ConfigureEnv{tabular} + {\HCode{
    }\Picture*{}} + {\EndPicture\HCode{
    }} + {} + {} + +% Tre "div" diversi per tre riquardi +\ConfigureEnv{prototype} + {\HCode{
    }} + {\HCode{
    }} + {} + {} + +\ConfigureEnv{functions} + {\HCode{
    }} + {\HCode{
    }} + {} + {} + +\Configure{verbatim}{}{ } +\Configure{verb}{}{} +\ConfigureEnv{verbatim} + {\HCode{
    }}       
    +        {\HCode{
    }} + {} + {} + +\EndPreamble diff --git a/htgapil/overlib.js b/htgapil/overlib.js new file mode 100644 index 0000000..01f6de1 --- /dev/null +++ b/htgapil/overlib.js @@ -0,0 +1,1274 @@ +//\////////////////////////////////////////////////////////////////////////////////// +//\ 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. +//\////////////////////////////////////////////////////////////////////////////////// +//\mini + + +//////////////////////////////////////////////////////////////////////////////////// +// CONSTANTS +// Don't touch these. :) +//////////////////////////////////////////////////////////////////////////////////// +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 TEXTCOLOR = 14; +var CAPCOLOR = 15; +var CLOSECOLOR = 16; +var WIDTH = 17; +var BORDER = 18; +var STATUS = 19; +var AUTOSTATUS = 20; +var AUTOSTATUSCAP = 21; +var HEIGHT = 22; +var CLOSETEXT = 23; +var SNAPX = 24; +var SNAPY = 25; +var FIXX = 26; +var FIXY = 27; +var FGBACKGROUND = 28; +var BGBACKGROUND = 29; +var PADX = 30; // PADX2 out +var PADY = 31; // PADY2 out +var FULLHTML = 34; +var ABOVE = 35; +var BELOW = 36; +var CAPICON = 37; +var TEXTFONT = 38; +var CAPTIONFONT = 39; +var CLOSEFONT = 40; +var TEXTSIZE = 41; +var CAPTIONSIZE = 42; +var CLOSESIZE = 43; +var FRAME = 44; +var TIMEOUT = 45; +var FUNCTION = 46; +var DELAY = 47; +var HAUTO = 48; +var VAUTO = 49; +var CLOSECLICK = 50; +var CSSOFF = 51; +var CSSSTYLE = 52; +var CSSCLASS = 53; +var FGCLASS = 54; +var BGCLASS = 55; +var TEXTFONTCLASS = 56; +var CAPTIONFONTCLASS = 57; +var CLOSEFONTCLASS = 58; +var PADUNIT = 59; +var HEIGHTUNIT = 60; +var WIDTHUNIT = 61; +var TEXTSIZEUNIT = 62; +var TEXTDECORATION = 63; +var TEXTSTYLE = 64; +var TEXTWEIGHT = 65; +var CAPTIONSIZEUNIT = 66; +var CAPTIONDECORATION = 67; +var CAPTIONSTYLE = 68; +var CAPTIONWEIGHT = 69; +var CLOSESIZEUNIT = 70; +var CLOSEDECORATION = 71; +var CLOSESTYLE = 72; +var CLOSEWEIGHT = 73; + + +//////////////////////////////////////////////////////////////////////////////////// +// 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. +//////////////////////////////////////////////////////////////////////////////////// + +// Main background color (the large area) +// Usually a bright color (white, yellow etc) +if (typeof ol_fgcolor == 'undefined') { var ol_fgcolor = "#CCCCFF";} + +// Border color and color of caption +// Usually a dark color (black, brown etc) +if (typeof ol_bgcolor == 'undefined') { var ol_bgcolor = "#333399";} + +// Text color +// Usually a dark color +if (typeof ol_textcolor == 'undefined') { var ol_textcolor = "#000000";} + +// Color of the caption text +// Usually a bright color +if (typeof ol_capcolor == 'undefined') { var ol_capcolor = "#FFFFFF";} + +// Color of "Close" when using Sticky +// Usually a semi-bright color +if (typeof ol_closecolor == 'undefined') { var ol_closecolor = "#9999FF";} + +// Font face for the main text +if (typeof ol_textfont == 'undefined') { var ol_textfont = "Verdana,Arial,Helvetica";} + +// Font face for the caption +if (typeof ol_captionfont == 'undefined') { var ol_captionfont = "Verdana,Arial,Helvetica";} + +// Font face for the close text +if (typeof ol_closefont == 'undefined') { var ol_closefont = "Verdana,Arial,Helvetica";} + +// Font size for the main text +// When using CSS this will be very small. +if (typeof ol_textsize == 'undefined') { var ol_textsize = "1";} + +// Font size for the caption +// When using CSS this will be very small. +if (typeof ol_captionsize == 'undefined') { var ol_captionsize = "1";} + +// Font size for the close text +// When using CSS this will be very small. +if (typeof ol_closesize == 'undefined') { var ol_closesize = "1";} + +// Width of the popups in pixels +// 100-300 pixels is typical +if (typeof ol_width == 'undefined') { var ol_width = "200";} + +// How thick the ol_border should be in pixels +// 1-3 pixels is typical +if (typeof ol_border == 'undefined') { var ol_border = "1";} + +// How many pixels to the right/left of the cursor to show the popup +// Values between 3 and 12 are best +if (typeof ol_offsetx == 'undefined') { var ol_offsetx = 10;} + +// How many pixels to the below the cursor to show the popup +// Values between 3 and 12 are best +if (typeof ol_offsety == 'undefined') { var ol_offsety = 10;} + +// Default text for popups +// Should you forget to pass something to overLIB this will be displayed. +if (typeof ol_text == 'undefined') { var ol_text = "Default Text"; } + +// Default caption +// You should leave this blank or you will have problems making non caps popups. +if (typeof ol_cap == 'undefined') { var ol_cap = ""; } + +// Decides if sticky popups are default. +// 0 for non, 1 for stickies. +if (typeof ol_sticky == 'undefined') { var ol_sticky = 0; } + +// Default background image. Better left empty unless you always want one. +if (typeof ol_background == 'undefined') { var ol_background = ""; } + +// Text for the closing sticky popups. +// Normal is "Close". +if (typeof ol_close == 'undefined') { var ol_close = "Close"; } + +// Default vertical alignment for popups. +// It's best to leave RIGHT here. Other options are LEFT and CENTER. +if (typeof ol_hpos == 'undefined') { var ol_hpos = RIGHT; } + +// Default status bar text when a popup is invoked. +if (typeof ol_status == 'undefined') { var ol_status = ""; } + +// If the status bar automatically should load either text or caption. +// 0=nothing, 1=text, 2=caption +if (typeof ol_autostatus == 'undefined') { var ol_autostatus = 0; } + +// Default height for popup. Often best left alone. +if (typeof ol_height == 'undefined') { var ol_height = -1; } + +// Horizontal grid spacing that popups will snap to. +// 0 makes no grid, anything else will cause a snap to that grid spacing. +if (typeof ol_snapx == 'undefined') { var ol_snapx = 0; } + +// Vertical grid spacing that popups will snap to. +// 0 makes no grid, andthing else will cause a snap to that grid spacing. +if (typeof ol_snapy == 'undefined') { var ol_snapy = 0; } + +// Sets the popups horizontal position to a fixed column. +// Anything above -1 will cause fixed position. +if (typeof ol_fixx == 'undefined') { var ol_fixx = -1; } + +// Sets the popups vertical position to a fixed row. +// Anything above -1 will cause fixed position. +if (typeof ol_fixy == 'undefined') { var ol_fixy = -1; } + +// Background image for the popups inside. +if (typeof ol_fgbackground == 'undefined') { var ol_fgbackground = ""; } + +// Background image for the popups frame. +if (typeof ol_bgbackground == 'undefined') { var ol_bgbackground = ""; } + +// How much horizontal left padding text should get by default when BACKGROUND is used. +if (typeof ol_padxl == 'undefined') { var ol_padxl = 1; } + +// How much horizontal right padding text should get by default when BACKGROUND is used. +if (typeof ol_padxr == 'undefined') { var ol_padxr = 1; } + +// How much vertical top padding text should get by default when BACKGROUND is used. +if (typeof ol_padyt == 'undefined') { var ol_padyt = 1; } + +// How much vertical bottom padding text should get by default when BACKGROUND is used. +if (typeof ol_padyb == 'undefined') { var ol_padyb = 1; } + +// If the user by default must supply all html for complete popup control. +// Set to 1 to activate, 0 otherwise. +if (typeof ol_fullhtml == 'undefined') { var ol_fullhtml = 0; } + +// Default vertical position of the popup. Default should normally be BELOW. +// ABOVE only works when HEIGHT is defined. +if (typeof ol_vpos == 'undefined') { var ol_vpos = BELOW; } + +// Default height of popup to use when placing the popup above the cursor. +if (typeof ol_aboveheight == 'undefined') { var ol_aboveheight = 0; } + +// Default icon to place next to the popups caption. +if (typeof ol_capicon == 'undefined') { var ol_capicon = ""; } + +// Default frame. We default to current frame if there is no frame defined. +if (typeof ol_frame == 'undefined') { var ol_frame = self; } + +// Default timeout. By default there is no timeout. +if (typeof ol_timeout == 'undefined') { var ol_timeout = 0; } + +// Default javascript funktion. By default there is none. +if (typeof ol_function == 'undefined') { var ol_function = null; } + +// Default timeout. By default there is no timeout. +if (typeof ol_delay == 'undefined') { var ol_delay = 0; } + +// If overLIB should decide the horizontal placement. +if (typeof ol_hauto == 'undefined') { var ol_hauto = 0; } + +// If overLIB should decide the vertical placement. +if (typeof ol_vauto == 'undefined') { var ol_vauto = 0; } + + + +// If the user has to click to close stickies. +if (typeof ol_closeclick == 'undefined') { var ol_closeclick = 0; } + +// This variable determines if you want to use CSS or inline definitions. +// CSSOFF=no CSS CSSSTYLE=use CSS inline styles CSSCLASS=use classes +if (typeof ol_css == 'undefined') { var ol_css = CSSOFF; } + +// Main background class (eqv of fgcolor) +// This is only used if CSS is set to use classes (ol_css = CSSCLASS) +if (typeof ol_fgclass == 'undefined') { var ol_fgclass = ""; } + +// Frame background class (eqv of bgcolor) +// This is only used if CSS is set to use classes (ol_css = CSSCLASS) +if (typeof ol_bgclass == 'undefined') { var ol_bgclass = ""; } + +// Main font class +// This is only used if CSS is set to use classes (ol_css = CSSCLASS) +if (typeof ol_textfontclass == 'undefined') { var ol_textfontclass = ""; } + +// Caption font class +// This is only used if CSS is set to use classes (ol_css = CSSCLASS) +if (typeof ol_captionfontclass == 'undefined') { var ol_captionfontclass = ""; } + +// Close font class +// This is only used if CSS is set to use classes (ol_css = CSSCLASS) +if (typeof ol_closefontclass == 'undefined') { var ol_closefontclass = ""; } + +// Unit to be used for the text padding above +// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) +// Options include "px", "%", "in", "cm" +if (typeof ol_padunit == 'undefined') { var ol_padunit = "px";} + +// Unit to be used for height of popup +// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) +// Options include "px", "%", "in", "cm" +if (typeof ol_heightunit == 'undefined') { var ol_heightunit = "px";} + +// Unit to be used for width of popup +// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) +// Options include "px", "%", "in", "cm" +if (typeof ol_widthunit == 'undefined') { var ol_widthunit = "px";} + +// Font size unit for the main text +// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) +if (typeof ol_textsizeunit == 'undefined') { var ol_textsizeunit = "px";} + +// Decoration of the main text ("none", "underline", "line-through" or "blink") +// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) +if (typeof ol_textdecoration == 'undefined') { var ol_textdecoration = "none";} + +// Font style of the main text ("normal" or "italic") +// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) +if (typeof ol_textstyle == 'undefined') { var ol_textstyle = "normal";} + +// Font weight of the main text ("normal", "bold", "bolder", "lighter", ect.) +// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) +if (typeof ol_textweight == 'undefined') { var ol_textweight = "normal";} + +// Font size unit for the caption +// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) +if (typeof ol_captionsizeunit == 'undefined') { var ol_captionsizeunit = "px";} + +// Decoration of the caption ("none", "underline", "line-through" or "blink") +// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) +if (typeof ol_captiondecoration == 'undefined') { var ol_captiondecoration = "none";} + +// Font style of the caption ("normal" or "italic") +// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) +if (typeof ol_captionstyle == 'undefined') { var ol_captionstyle = "normal";} + +// Font weight of the caption ("normal", "bold", "bolder", "lighter", ect.) +// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) +if (typeof ol_captionweight == 'undefined') { var ol_captionweight = "bold";} + +// Font size unit for the close text +// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) +if (typeof ol_closesizeunit == 'undefined') { var ol_closesizeunit = "px";} + +// Decoration of the close text ("none", "underline", "line-through" or "blink") +// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) +if (typeof ol_closedecoration == 'undefined') { var ol_closedecoration = "none";} + +// Font style of the close text ("normal" or "italic") +// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) +if (typeof ol_closestyle == 'undefined') { var ol_closestyle = "normal";} + +// Font weight of the close text ("normal", "bold", "bolder", "lighter", ect.) +// Only used if CSS inline styles are being used (ol_css = CSSSTYLE) +if (typeof ol_closeweight == 'undefined') { var ol_closeweight = "normal";} + + + +//////////////////////////////////////////////////////////////////////////////////// +// ARRAY CONFIGURATION +// You don't have to change anything here if you don't want to. The following +// arrays can be filled with text and html if you don't wish to pass it from +// your html page. +//////////////////////////////////////////////////////////////////////////////////// + +// Array with texts. +if (typeof ol_texts == 'undefined') { var ol_texts = new Array("Text 0", "Text 1"); } + +// Array with captions. +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_hpos = RIGHT; +var o3_offsetx = 2; +var o3_offsety = 2; +var o3_fgcolor = ""; +var o3_bgcolor = ""; +var o3_textcolor = ""; +var o3_capcolor = ""; +var o3_closecolor = ""; +var o3_width = 100; +var o3_border = 1; +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_fgbackground = ""; +var o3_bgbackground = ""; +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_aboveheight = 0; +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_hauto = 0; +var o3_vauto = 0; +var o3_closeclick = 0; + +var o3_css = CSSOFF; +var o3_fgclass = ""; +var o3_bgclass = ""; +var o3_textfontclass = ""; +var o3_captionfontclass = ""; +var o3_closefontclass = ""; +var o3_padunit = "px"; +var o3_heightunit = "px"; +var o3_widthunit = "px"; +var o3_textsizeunit = "px"; +var o3_textdecoration = ""; +var o3_textstyle = ""; +var o3_textweight = ""; +var o3_captionsizeunit = "px"; +var o3_captiondecoration = ""; +var o3_captionstyle = ""; +var o3_captionweight = ""; +var o3_closesizeunit = "px"; +var o3_closedecoration = ""; +var o3_closestyle = ""; +var o3_closeweight = ""; + + + +// Display state variables +var o3_x = 0; +var o3_y = 0; +var o3_allow = 0; +var o3_showingsticky = 0; +var o3_removecounter = 0; + +// Our layer +var over = null; +var fnRef; + +// Decide browser version +var ns4 = (navigator.appName == 'Netscape' && parseInt(navigator.appVersion) == 4); +var ns6 = (document.getElementById)? true:false; +var ie4 = (document.all)? true:false; +if (ie4) var docRoot = 'document.body'; +var ie5 = false; +if (ns4) { + var oW = window.innerWidth; + var oH = window.innerHeight; + window.onresize = function () {if (oW!=window.innerWidth||oH!=window.innerHeight) location.reload();} +} + + +// Microsoft Stupidity Check(tm). +if (ie4) { + if ((navigator.userAgent.indexOf('MSIE 5') > 0) || (navigator.userAgent.indexOf('MSIE 6') > 0)) { + if(document.compatMode && document.compatMode == 'CSS1Compat') docRoot = 'document.documentElement'; + ie5 = true; + } + if (ns6) { + ns6 = false; + } +} + + +// Capture events, alt. diffuses the overlib function. +if ( (ns4) || (ie4) || (ns6)) { + document.onmousemove = mouseMove + if (ns4) document.captureEvents(Event.MOUSEMOVE) +} else { + overlib = no_overlib; + nd = no_overlib; + ver3fix = true; +} + + +// Fake function for 3.0 users. +function no_overlib() { + return ver3fix; +} + + + +//////////////////////////////////////////////////////////////////////////////////// +// 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_hpos = ol_hpos; + o3_offsetx = ol_offsetx; + o3_offsety = ol_offsety; + o3_fgcolor = ol_fgcolor; + o3_bgcolor = ol_bgcolor; + o3_textcolor = ol_textcolor; + o3_capcolor = ol_capcolor; + o3_closecolor = ol_closecolor; + o3_width = ol_width; + o3_border = ol_border; + 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_fgbackground = ol_fgbackground; + o3_bgbackground = ol_bgbackground; + 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_aboveheight = ol_aboveheight; + 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_closeclick = ol_closeclick; + + o3_css = ol_css; + o3_fgclass = ol_fgclass; + o3_bgclass = ol_bgclass; + o3_textfontclass = ol_textfontclass; + o3_captionfontclass = ol_captionfontclass; + o3_closefontclass = ol_closefontclass; + o3_padunit = ol_padunit; + o3_heightunit = ol_heightunit; + o3_widthunit = ol_widthunit; + o3_textsizeunit = ol_textsizeunit; + o3_textdecoration = ol_textdecoration; + o3_textstyle = ol_textstyle; + o3_textweight = ol_textweight; + o3_captionsizeunit = ol_captionsizeunit; + o3_captiondecoration = ol_captiondecoration; + o3_captionstyle = ol_captionstyle; + o3_captionweight = ol_captionweight; + o3_closesizeunit = ol_closesizeunit; + o3_closedecoration = ol_closedecoration; + o3_closestyle = ol_closestyle; + o3_closeweight = ol_closeweight; + fnRef = ''; + + + // Special for frame support, over must be reset... + if ( (ns4) || (ie4) || (ns6) ) { + if (over) cClick(); + o3_frame = ol_frame; + if (ns4) over = o3_frame.document.overDiv + if (ie4) over = o3_frame.overDiv.style + if (ns6) 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 = (ar[i] == FUNCTION ? 0 : 1); + i--; + } else { + o3_text = ar[i]; + } + + parsemode = 0; + } else { + // Note: NS4 doesn't like switch cases with vars. + 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_close = ""; 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] == 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] == BORDER) { o3_border = 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]; o3_aboveheight = ar[i]; continue; } // Same param again. + 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] == FGBACKGROUND) { o3_fgbackground = ar[++i]; continue; } + if (ar[i] == BGBACKGROUND) { o3_bgbackground = 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) { 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] == CLOSECLICK) { o3_closeclick = (o3_closeclick == 0) ? 1 : 0; continue; } + if (ar[i] == CSSOFF) { o3_css = ar[i]; continue; } + if (ar[i] == CSSSTYLE) { o3_css = ar[i]; continue; } + if (ar[i] == CSSCLASS) { o3_css = ar[i]; continue; } + if (ar[i] == FGCLASS) { o3_fgclass = ar[++i]; continue; } + if (ar[i] == BGCLASS) { o3_bgclass = 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 (ar[i] == PADUNIT) { o3_padunit = ar[++i]; continue; } + if (ar[i] == HEIGHTUNIT) { o3_heightunit = ar[++i]; continue; } + if (ar[i] == WIDTHUNIT) { o3_widthunit = ar[++i]; continue; } + if (ar[i] == TEXTSIZEUNIT) { o3_textsizeunit = ar[++i]; continue; } + if (ar[i] == TEXTDECORATION) { o3_textdecoration = ar[++i]; continue; } + if (ar[i] == TEXTSTYLE) { o3_textstyle = ar[++i]; continue; } + if (ar[i] == TEXTWEIGHT) { o3_textweight = ar[++i]; continue; } + if (ar[i] == CAPTIONSIZEUNIT) { o3_captionsizeunit = ar[++i]; continue; } + if (ar[i] == CAPTIONDECORATION) { o3_captiondecoration = ar[++i]; continue; } + if (ar[i] == CAPTIONSTYLE) { o3_captionstyle = ar[++i]; continue; } + if (ar[i] == CAPTIONWEIGHT) { o3_captionweight = ar[++i]; continue; } + if (ar[i] == CLOSESIZEUNIT) { o3_closesizeunit = ar[++i]; continue; } + if (ar[i] == CLOSEDECORATION) { o3_closedecoration = ar[++i]; continue; } + if (ar[i] == CLOSESTYLE) { o3_closestyle = ar[++i]; continue; } + if (ar[i] == CLOSEWEIGHT) { o3_closeweight = ar[++i]; continue; } + } + } + if (udf && o3_function) o3_text = o3_function(); + + if (o3_delay == 0) { + return overlib351(); + } else { + o3_delayid = setTimeout("overlib351()", o3_delay); + return false; + } +} + + + +// Clears popups if appropriate +function nd() { + if ( o3_removecounter >= 1 ) { o3_showingsticky = 0 }; + if ( (ns4) || (ie4) || (ns6) ) { + 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() { + + // Make layer content + var layerhtml; + + if (o3_background != "" || o3_fullhtml) { + // Use background instead of box. + layerhtml = ol_content_background(o3_text, o3_background, o3_fullhtml); + } else { + // They want a popup box. + + // Prepare popup background + if (o3_fgbackground != "" && o3_css == CSSOFF) { + o3_fgbackground = "BACKGROUND=\""+o3_fgbackground+"\""; + } + if (o3_bgbackground != "" && o3_css == CSSOFF) { + o3_bgbackground = "BACKGROUND=\""+o3_bgbackground+"\""; + } + + // Prepare popup colors + if (o3_fgcolor != "" && o3_css == CSSOFF) { + o3_fgcolor = "BGCOLOR=\""+o3_fgcolor+"\""; + } + if (o3_bgcolor != "" && o3_css == CSSOFF) { + o3_bgcolor = "BGCOLOR=\""+o3_bgcolor+"\""; + } + + // Prepare popup height + if (o3_height > 0 && o3_css == CSSOFF) { + 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 + layerWrite(layerhtml); + + // Prepare status bar + if (o3_autostatus > 0) { + o3_status = o3_text; + if (o3_autostatus > 1) { + o3_status = o3_cap; + } + } + + // When placing the layer the first time, even stickies may be moved. + o3_allowmove = 0; + + // Initiate a timer for timeout + if (o3_timeout > 0) { + if (o3_timerid > 0) clearTimeout(o3_timerid); + o3_timerid = setTimeout("cClick()", o3_timeout); + } + + // Show layer + disp(o3_status); + + // Stickies should stay where they are. + if (o3_sticky) o3_allowmove = 0; + + return (o3_status != ''); +} + + + +//////////////////////////////////////////////////////////////////////////////////// +// LAYER GENERATION FUNCTIONS +//////////////////////////////////////////////////////////////////////////////////// + +// Makes simple table without caption +function ol_content_simple(text) { + if (o3_css == CSSCLASS) txt = "
    "+text+"
    "; + if (o3_css == CSSSTYLE) txt = "
    "+text+"
    "; + if (o3_css == CSSOFF) txt = "
    "+text+"
    "; + + 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 = "onClick"; + if (o3_capicon != "") o3_capicon = " "; + + if (close != "") { + if (o3_css == CSSCLASS) closing = ""+close+""; + if (o3_css == CSSSTYLE) closing = ""+close+""; + if (o3_css == CSSOFF) closing = ""+close+""; + } + + if (o3_css == CSSCLASS) txt = "
    "+closing+"
    "+o3_capicon+title+"
    "+text+"
    "; + if (o3_css == CSSSTYLE) txt = "
    "+closing+"
    "+o3_capicon+title+"
    "+text+"
    "; + if (o3_css == CSSOFF) txt = "
    "+closing+"
    "+o3_capicon+title+"
    "+text+"
    "; + + set_background(""); + return txt; +} + +// Sets the background picture, padding and lots more. :) +function ol_content_background(text, picture, hasfullhtml) { + var txt; + if (hasfullhtml) { + txt = text; + } else { + var pU, hU, wU; + pU = (o3_padunit == '%' ? '%' : ''); + hU = (o3_heightunit == '%' ? '%' : ''); + wU = (o3_widthunit == '%' ? '%' : ''); + + if (o3_css == CSSCLASS) txt = "
    "+text+"
    "; + if (o3_css == CSSSTYLE) txt = "
    "+text+"
    "; + if (o3_css == CSSOFF) txt = "
    "+text+"
    "; + } + set_background(picture); + return txt; +} + +// Loads a picture into the div. +function set_background(pic) { + if (pic == "") { + if (ns4) over.background.src = null; + if (ie4) over.backgroundImage = "none"; + if (ns6) over.style.backgroundImage = "none"; + } else { + if (ns4) { + over.background.src = pic; + } else if (ie4) { + over.backgroundImage = "url("+pic+")"; + } else if (ns6) { + over.style.backgroundImage = "url("+pic+")"; + } + } +} + + + +//////////////////////////////////////////////////////////////////////////////////// +// HANDLING FUNCTIONS +//////////////////////////////////////////////////////////////////////////////////// + + +// Displays the popup +function disp(statustext) { + if ( (ns4) || (ie4) || (ns6) ) { + if (o3_allowmove == 0) { + placeLayer(); + showObject(over); + o3_allowmove = 1; + } + } + + if (statustext != "") { + self.status = statustext; + } +} + +// Decides where we want the popup. +function placeLayer() { + var placeX, placeY; + + // HORIZONTAL PLACEMENT + if (o3_fixx > -1) { + // Fixed position + placeX = o3_fixx; + } else { + winoffset = (ie4) ? eval('o3_frame.'+docRoot+'.scrollLeft') : o3_frame.pageXOffset; + if (ie4) iwidth = eval('o3_frame.'+docRoot+'.clientWidth'); + if (ns4 || ns6) iwidth = o3_frame.innerWidth; + + // 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+o3_offsetx-(o3_width/2); + if (placeX < winoffset) placeX = winoffset; + } + if (o3_hpos == RIGHT) { // Right + placeX = o3_x+o3_offsetx; + if ( (eval(placeX) + eval(o3_width)) > (winoffset + iwidth) ) { + placeX = iwidth + winoffset - o3_width; + if (placeX < 0) placeX = 0; + } + } + if (o3_hpos == LEFT) { // Left + placeX = o3_x-o3_offsetx-o3_width; + if (placeX < winoffset) placeX = winoffset; + } + + // 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 (placeX < winoffset) placeX = winoffset; + } + } + + + + // VERTICAL PLACEMENT + if (o3_fixy > -1) { + // Fixed position + placeY = o3_fixy; + } else { + scrolloffset = (ie4) ? eval('o3_frame.'+docRoot+'.scrollTop') : o3_frame.pageYOffset; + + // If VAUTO, decide what to use. + if (o3_vauto == 1) { + if (ie4) iheight = eval('o3_frame.'+docRoot+'.clientHeight'); + if (ns4 || ns6) iheight = o3_frame.innerHeight; + + iheight = (eval(iheight)) / 2; + if ( (o3_y - scrolloffset) > iheight) { + o3_vpos = ABOVE; + } else { + o3_vpos = BELOW; + } + } + + + // From mouse + if (o3_vpos == ABOVE) { + if (o3_aboveheight == 0) { + var divref = (ie4) ? o3_frame.document.all['overDiv'] : over; + o3_aboveheight = (ns4) ? divref.clip.height : divref.offsetHeight; + } + + placeY = o3_y - (o3_aboveheight + o3_offsety); + if (placeY < scrolloffset) placeY = scrolloffset; + } else { + // BELOW + placeY = o3_y + o3_offsety; + } + + // Snapping! + if (o3_snapy > 1) { + var snapping = placeY % o3_snapy; + + if (o3_aboveheight > 0 && o3_vpos == ABOVE) { + placeY = placeY - (o3_snapy + snapping); + } else { + placeY = placeY + (o3_snapy - snapping); + } + + if (placeY < scrolloffset) placeY = scrolloffset; + } + } + + + // Actually move the object. + repositionTo(over, placeX, placeY); +} + + +// Moves the layer +function mouseMove(e) { + if ( (ns4) || (ns6) ) {o3_x=e.pageX; o3_y=e.pageY;} + if (ie4) {o3_x=event.x; o3_y=event.y;} + if (ie5) {o3_x=eval('event.x+o3_frame.'+docRoot+'.scrollLeft'); o3_y=eval('event.y+o3_frame.'+docRoot+'.scrollTop');} + + if (o3_allowmove == 1) { + placeLayer(); + } +} + +// 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 (ns4) { + if (typeof frameid.document.overDiv =='undefined') return false; + } else if (ie4) { + if (typeof frameid.document.all["overDiv"] =='undefined') return false; + } else if (ns6) { + if (frameid.document.getElementById('overDiv') == null) return false; + } + + return true; +} + + + +//////////////////////////////////////////////////////////////////////////////////// +// LAYER FUNCTIONS +//////////////////////////////////////////////////////////////////////////////////// + + +// Writes to a layer +function layerWrite(txt) { + txt += "\n"; + + if (ns4) { + var lyr = o3_frame.document.overDiv.document + lyr.write(txt) + lyr.close() + } else if (ie4) { + o3_frame.document.all["overDiv"].innerHTML = txt + } else if (ns6) { + range = o3_frame.document.createRange(); + range.setStartBefore(over); + domfrag = range.createContextualFragment(txt); + while (over.hasChildNodes()) { + over.removeChild(over.lastChild); + } + over.appendChild(domfrag); + } +} + +// Make an object visible +function showObject(obj) { + if (ns4) obj.visibility = "show"; + else if (ie4) obj.visibility = "visible"; + else if (ns6) obj.style.visibility = "visible"; +} + +// Hides an object +function hideObject(obj) { + if (ns4) obj.visibility = "hide"; + else if (ie4) obj.visibility = "hidden"; + else if (ns6) 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 = ""; +} + +// Move a layer +function repositionTo(obj,xL,yL) { + if ( (ns4) || (ie4) ) { + obj.left = (ie4 ? xL + 'px' : xL); + obj.top = (ie4 ? yL + 'px' : yL); + } else if (ns6) { + obj.style.left = xL + "px"; + obj.style.top = yL+ "px"; + } +} + +function getFrameRef(thisFrame, ofrm) { + var retVal = ''; + for (var i=0; i 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 %%3 --- + b--- characters --- + g.png +% remove protection +S* +% dvi-to-png +% dvips options +% magnification: -x mag (e.g., -x 1200) +% page size: -T x,y (e.g., -T 14in,14in) +Gdvips -Pcmz -Pamz -mode ibmvga -D 110 -f %%1 -pp %%2 > zz%%4.ps +%Ggs -sDEVICE=ppm -sOutputFile=zz%%4.ppm -r110x110 -dTextAlphaBits=2 -dGraphicsAlphaBits=2 -q -dbatch -dNOPAUSE zz%%4.ps -c quit +Gconvert -crop 0x0 -density 130x130 -geometry 90% -transparent '#FFFFFF' zz%%4.ps %%3 +Grm zz%%4.ps +% t4ht -d%%2 +Mmv %%1 %%2%%3 +Ccp %%1 %%2%%3 +% t4ht -d%%2 -m%%1 +Achmod %%1 %%2%%3 +% empty gifs + Ecp empty.gif %%1%%2 +% validations, XSTL tranformations,... + Xmake -f NSGMLS name=%%1 ext=%%2 +% end of file -- 2.30.2