Aggiunto il materiale di Mirko per la realizzazione dell'HTML.
authorSimone Piccardi <piccardi@gnulinux.it>
Wed, 23 Apr 2003 21:04:22 +0000 (21:04 +0000)
committerSimone Piccardi <piccardi@gnulinux.it>
Wed, 23 Apr 2003 21:04:22 +0000 (21:04 +0000)
ChangeLog
htgapil.cfg [new file with mode: 0644]
htgapil/overlib.js [new file with mode: 0644]
htmakeindex.sh [new file with mode: 0644]
htmlize.sh [new file with mode: 0644]
tex4ht.env [new file with mode: 0644]

index ec7729abfe9463660e02bede95c78d8b5549a3d8..dbbeb1e4a8dae88ac6c2ac78d0d6546150d0631a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,12 @@
+2003-04-23  Simone Piccardi  <piccardi@gont.earthsea.ea>
+
+       * gapil: Aggiunti gli script e le configurazioni di
+       M. Maischberger per la conversione ad HTML usando htlatex.
+
 2003-04-06  Simone Piccardi  <piccardi@gont.earthsea.ea>
 
        * 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  <piccardi@gont.earthsea.ea>
diff --git a/htgapil.cfg b/htgapil.cfg
new file mode 100644 (file)
index 0000000..84a8ea2
--- /dev/null
@@ -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{<div class='lstlisting-plain'>}\input #1.html\HCode{</div>}}
+        {}
+\renewcommand{\includestruct}[1]
+        {\HCode{<div class='lstlisting-lines'>}\input #1.html\HCode{</div>}}
+        {}
+\renewcommand{\includecodesample}[1]
+        {\HCode{<div class='lstlisting-lines'>}\input #1.html\HCode{</div>}}
+        {}
+
+\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 <hr> 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{&nbsp;&nbsp;}}
+        {Avanti}
+        {Indietro}
+        {}
+        {}
+        {}
+        {Su}
+
+% Una nota di copyright in fondo 
+% Mi ci ero aggiunto anche "me" come webmaster, ma 
+% non vorrei esagerare :). 
+\Configure{crosslinks+}
+        {}
+        {\HCode{<hr>}}
+        {\HCode{<hr>}}
+        {\HCode{<hr>
+        <div style='float: left'>&copy; 2000-2003 
+        <a href='http://www.firenze.linux.it/\%7epiccardi/'>Simone Piccardi</a>
+        </div>
+%    <div style='float: right'>Pubblicazione web curata da 
+%    <a href='http://www.lilik.it/\%7emirko/'>Mirko Maischberger</a>
+%    </div>
+}}
+
+% basedescript con le \item[voci] in grassetto
+\ConfigureList{basedescript}
+        {\HCode{<ul class='basedescript'>}}
+        {\HCode{</ul>}}
+        {\HCode{<li><b>}}
+        {\HCode{</b>}}
+
+% idem per description e description*
+\ConfigureList{description}
+        {\HCode{<ul class='description'>}}
+        {\HCode{</ul>}}
+        {\HCode{<li><b>}}
+        {\HCode{</b>}}
+
+\ConfigureList{description*}
+        {\HCode{<ul class='descriptionstar'>}}
+        {\HCode{</ul>}}
+        {\HCode{<li><b>}}
+        {\HCode{</b>}}
+
+% Altri ambienti lista che non so per quale motivo
+% senza queste righe non funzionano
+\ConfigureList{itemize}
+        {\HCode{<ul class='itemize'>}}
+        {\HCode{</ul>}}
+        {\HCode{<li>}}
+        {\HCode{}}
+
+\ConfigureList{itemize*}
+        {\HCode{<ul class='itemizestar'>}}
+        {\HCode{</ul>}}
+        {\HCode{<li>}}
+        {\HCode{}}
+
+% Converti tutti i listati in immagini PNG
+%\ConfigureEnv{lstlisting}
+%        {\HCode{<div class='lstlisting'>}\Picture*{}}
+%        {\EndPicture\HCode{</div>}}
+%        {}
+%        {}
+
+% Converti tutte le tabelle in immagini PNG
+\ConfigureEnv{tabular}
+        {\HCode{<div class='tabular'>}\Picture*{}}
+        {\EndPicture\HCode{</div>}}
+        {}
+        {}
+
+% Tre "div" diversi per tre riquardi
+\ConfigureEnv{prototype}
+        {\HCode{<div class='prototype'>}}
+        {\HCode{</div>}}
+        {}
+        {}
+
+\ConfigureEnv{functions}
+        {\HCode{<div class='functions'>}}
+        {\HCode{</div>}}
+        {}
+        {}
+
+\Configure{verbatim}{}{ }
+\Configure{verb}{}{}
+\ConfigureEnv{verbatim}
+        {\HCode{<div class='verbatim'><pre>}}       
+        {\HCode{</pre></div>}}       
+        {}
+        {}
+
+\EndPreamble
diff --git a/htgapil/overlib.js b/htgapil/overlib.js
new file mode 100644 (file)
index 0000000..01f6de1
--- /dev/null
@@ -0,0 +1,1274 @@
+//\//////////////////////////////////////////////////////////////////////////////////\r
+//\  overLIB 3.51  --  This notice must remain untouched at all times.\r
+//\  Copyright Erik Bosrup 1998-2002. All rights reserved.\r
+//\\r
+//\  By Erik Bosrup (erik@bosrup.com).  Last modified 2002-11-01.\r
+//\  Portions by Dan Steinman (dansteinman.com). Additions by other people are\r
+//\  listed on the overLIB homepage.\r
+//\\r
+//\  Get the latest version at http://www.bosrup.com/web/overlib/\r
+//\\r
+//\  This script is published under an open source license. Please read the license\r
+//\  agreement online at: http://www.bosrup.com/web/overlib/license.html\r
+//\  If you have questions regarding the license please contact erik@bosrup.com.\r
+//\\r
+//\  This script library was originally created for personal use. By request it has\r
+//\  later been made public. This is free software. Do not sell this as your own\r
+//\  work, or remove this copyright notice. For full details on copying or changing\r
+//\  this script please read the license agreement at the link above.\r
+//\\r
+//\  Please give credit on sites that use overLIB and submit changes of the script\r
+//\  so other people can use them as well. This script is free to use, don't abuse.\r
+//\//////////////////////////////////////////////////////////////////////////////////\r
+//\mini\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////////////////\r
+// CONSTANTS\r
+// Don't touch these. :)\r
+////////////////////////////////////////////////////////////////////////////////////\r
+var INARRAY            =       1;\r
+var CAPARRAY           =       2;\r
+var STICKY             =       3;\r
+var BACKGROUND         =       4;\r
+var NOCLOSE            =       5;\r
+var CAPTION            =       6;\r
+var LEFT               =       7;\r
+var RIGHT              =       8;\r
+var CENTER             =       9;\r
+var OFFSETX            =       10;\r
+var OFFSETY            =       11;\r
+var FGCOLOR            =       12;\r
+var BGCOLOR            =       13;\r
+var TEXTCOLOR          =       14;\r
+var CAPCOLOR           =       15;\r
+var CLOSECOLOR         =       16;\r
+var WIDTH              =       17;\r
+var BORDER             =       18;\r
+var STATUS             =       19;\r
+var AUTOSTATUS         =       20;\r
+var AUTOSTATUSCAP      =       21;\r
+var HEIGHT             =       22;\r
+var CLOSETEXT          =       23;\r
+var SNAPX              =       24;\r
+var SNAPY              =       25;\r
+var FIXX               =       26;\r
+var FIXY               =       27;\r
+var FGBACKGROUND       =       28;\r
+var BGBACKGROUND       =       29;\r
+var PADX               =       30; // PADX2 out\r
+var PADY               =       31; // PADY2 out\r
+var FULLHTML           =       34;\r
+var ABOVE              =       35;\r
+var BELOW              =       36;\r
+var CAPICON            =       37;\r
+var TEXTFONT           =       38;\r
+var CAPTIONFONT                =       39;\r
+var CLOSEFONT          =       40;\r
+var TEXTSIZE           =       41;\r
+var CAPTIONSIZE                =       42;\r
+var CLOSESIZE          =       43;\r
+var FRAME              =       44;\r
+var TIMEOUT            =       45;\r
+var FUNCTION           =       46;\r
+var DELAY              =       47;\r
+var HAUTO              =       48;\r
+var VAUTO              =       49;\r
+var CLOSECLICK         =       50;\r
+var CSSOFF             =       51;\r
+var CSSSTYLE           =       52;\r
+var CSSCLASS           =       53;\r
+var FGCLASS            =       54;\r
+var BGCLASS            =       55;\r
+var TEXTFONTCLASS      =       56;\r
+var CAPTIONFONTCLASS   =       57;\r
+var CLOSEFONTCLASS     =       58;\r
+var PADUNIT            =       59;\r
+var HEIGHTUNIT         =       60;\r
+var WIDTHUNIT          =       61;\r
+var TEXTSIZEUNIT       =       62;\r
+var TEXTDECORATION     =       63;\r
+var TEXTSTYLE          =       64;\r
+var TEXTWEIGHT         =       65;\r
+var CAPTIONSIZEUNIT    =       66;\r
+var CAPTIONDECORATION  =       67;\r
+var CAPTIONSTYLE       =       68;\r
+var CAPTIONWEIGHT      =       69;\r
+var CLOSESIZEUNIT      =       70;\r
+var CLOSEDECORATION    =       71;\r
+var CLOSESTYLE         =       72;\r
+var CLOSEWEIGHT                =       73;\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////////////////\r
+// DEFAULT CONFIGURATION\r
+// You don't have to change anything here if you don't want to. All of this can be\r
+// changed on your html page or through an overLIB call.\r
+////////////////////////////////////////////////////////////////////////////////////\r
+\r
+// Main background color (the large area)\r
+// Usually a bright color (white, yellow etc)\r
+if (typeof ol_fgcolor == 'undefined') { var ol_fgcolor = "#CCCCFF";}\r
+       \r
+// Border color and color of caption\r
+// Usually a dark color (black, brown etc)\r
+if (typeof ol_bgcolor == 'undefined') { var ol_bgcolor = "#333399";}\r
+       \r
+// Text color\r
+// Usually a dark color\r
+if (typeof ol_textcolor == 'undefined') { var ol_textcolor = "#000000";}\r
+       \r
+// Color of the caption text\r
+// Usually a bright color\r
+if (typeof ol_capcolor == 'undefined') { var ol_capcolor = "#FFFFFF";}\r
+       \r
+// Color of "Close" when using Sticky\r
+// Usually a semi-bright color\r
+if (typeof ol_closecolor == 'undefined') { var ol_closecolor = "#9999FF";}\r
+\r
+// Font face for the main text\r
+if (typeof ol_textfont == 'undefined') { var ol_textfont = "Verdana,Arial,Helvetica";}\r
+\r
+// Font face for the caption\r
+if (typeof ol_captionfont == 'undefined') { var ol_captionfont = "Verdana,Arial,Helvetica";}\r
+\r
+// Font face for the close text\r
+if (typeof ol_closefont == 'undefined') { var ol_closefont = "Verdana,Arial,Helvetica";}\r
+\r
+// Font size for the main text\r
+// When using CSS this will be very small.\r
+if (typeof ol_textsize == 'undefined') { var ol_textsize = "1";}\r
+\r
+// Font size for the caption\r
+// When using CSS this will be very small.\r
+if (typeof ol_captionsize == 'undefined') { var ol_captionsize = "1";}\r
+\r
+// Font size for the close text\r
+// When using CSS this will be very small.\r
+if (typeof ol_closesize == 'undefined') { var ol_closesize = "1";}\r
+\r
+// Width of the popups in pixels\r
+// 100-300 pixels is typical\r
+if (typeof ol_width == 'undefined') { var ol_width = "200";}\r
+\r
+// How thick the ol_border should be in pixels\r
+// 1-3 pixels is typical\r
+if (typeof ol_border == 'undefined') { var ol_border = "1";}\r
+\r
+// How many pixels to the right/left of the cursor to show the popup\r
+// Values between 3 and 12 are best\r
+if (typeof ol_offsetx == 'undefined') { var ol_offsetx = 10;}\r
+       \r
+// How many pixels to the below the cursor to show the popup\r
+// Values between 3 and 12 are best\r
+if (typeof ol_offsety == 'undefined') { var ol_offsety = 10;}\r
+\r
+// Default text for popups\r
+// Should you forget to pass something to overLIB this will be displayed.\r
+if (typeof ol_text == 'undefined') { var ol_text = "Default Text"; }\r
+\r
+// Default caption\r
+// You should leave this blank or you will have problems making non caps popups.\r
+if (typeof ol_cap == 'undefined') { var ol_cap = ""; }\r
+\r
+// Decides if sticky popups are default.\r
+// 0 for non, 1 for stickies.\r
+if (typeof ol_sticky == 'undefined') { var ol_sticky = 0; }\r
+\r
+// Default background image. Better left empty unless you always want one.\r
+if (typeof ol_background == 'undefined') { var ol_background = ""; }\r
+\r
+// Text for the closing sticky popups.\r
+// Normal is "Close".\r
+if (typeof ol_close == 'undefined') { var ol_close = "Close"; }\r
+\r
+// Default vertical alignment for popups.\r
+// It's best to leave RIGHT here. Other options are LEFT and CENTER.\r
+if (typeof ol_hpos == 'undefined') { var ol_hpos = RIGHT; }\r
+\r
+// Default status bar text when a popup is invoked.\r
+if (typeof ol_status == 'undefined') { var ol_status = ""; }\r
+\r
+// If the status bar automatically should load either text or caption.\r
+// 0=nothing, 1=text, 2=caption\r
+if (typeof ol_autostatus == 'undefined') { var ol_autostatus = 0; }\r
+\r
+// Default height for popup. Often best left alone.\r
+if (typeof ol_height == 'undefined') { var ol_height = -1; }\r
+\r
+// Horizontal grid spacing that popups will snap to.\r
+// 0 makes no grid, anything else will cause a snap to that grid spacing.\r
+if (typeof ol_snapx == 'undefined') { var ol_snapx = 0; }\r
+\r
+// Vertical grid spacing that popups will snap to.\r
+// 0 makes no grid, andthing else will cause a snap to that grid spacing.\r
+if (typeof ol_snapy == 'undefined') { var ol_snapy = 0; }\r
+\r
+// Sets the popups horizontal position to a fixed column.\r
+// Anything above -1 will cause fixed position.\r
+if (typeof ol_fixx == 'undefined') { var ol_fixx = -1; }\r
+\r
+// Sets the popups vertical position to a fixed row.\r
+// Anything above -1 will cause fixed position.\r
+if (typeof ol_fixy == 'undefined') { var ol_fixy = -1; }\r
+\r
+// Background image for the popups inside.\r
+if (typeof ol_fgbackground == 'undefined') { var ol_fgbackground = ""; }\r
+\r
+// Background image for the popups frame.\r
+if (typeof ol_bgbackground == 'undefined') { var ol_bgbackground = ""; }\r
+\r
+// How much horizontal left padding text should get by default when BACKGROUND is used.\r
+if (typeof ol_padxl == 'undefined') { var ol_padxl = 1; }\r
+\r
+// How much horizontal right padding text should get by default when BACKGROUND is used.\r
+if (typeof ol_padxr == 'undefined') { var ol_padxr = 1; }\r
+\r
+// How much vertical top padding text should get by default when BACKGROUND is used.\r
+if (typeof ol_padyt == 'undefined') { var ol_padyt = 1; }\r
+\r
+// How much vertical bottom padding text should get by default when BACKGROUND is used.\r
+if (typeof ol_padyb == 'undefined') { var ol_padyb = 1; }\r
+\r
+// If the user by default must supply all html for complete popup control.\r
+// Set to 1 to activate, 0 otherwise.\r
+if (typeof ol_fullhtml == 'undefined') { var ol_fullhtml = 0; }\r
+\r
+// Default vertical position of the popup. Default should normally be BELOW.\r
+// ABOVE only works when HEIGHT is defined.\r
+if (typeof ol_vpos == 'undefined') { var ol_vpos = BELOW; }\r
+\r
+// Default height of popup to use when placing the popup above the cursor.\r
+if (typeof ol_aboveheight == 'undefined') { var ol_aboveheight = 0; }\r
+\r
+// Default icon to place next to the popups caption.\r
+if (typeof ol_capicon == 'undefined') { var ol_capicon = ""; }\r
+\r
+// Default frame. We default to current frame if there is no frame defined.\r
+if (typeof ol_frame == 'undefined') { var ol_frame = self; }\r
+\r
+// Default timeout. By default there is no timeout.\r
+if (typeof ol_timeout == 'undefined') { var ol_timeout = 0; }\r
+\r
+// Default javascript funktion. By default there is none.\r
+if (typeof ol_function == 'undefined') { var ol_function = null; }\r
+\r
+// Default timeout. By default there is no timeout.\r
+if (typeof ol_delay == 'undefined') { var ol_delay = 0; }\r
+\r
+// If overLIB should decide the horizontal placement.\r
+if (typeof ol_hauto == 'undefined') { var ol_hauto = 0; }\r
+\r
+// If overLIB should decide the vertical placement.\r
+if (typeof ol_vauto == 'undefined') { var ol_vauto = 0; }\r
+\r
+\r
+\r
+// If the user has to click to close stickies.\r
+if (typeof ol_closeclick == 'undefined') { var ol_closeclick = 0; }\r
+\r
+// This variable determines if you want to use CSS or inline definitions.\r
+// CSSOFF=no CSS    CSSSTYLE=use CSS inline styles    CSSCLASS=use classes\r
+if (typeof ol_css == 'undefined') { var ol_css = CSSOFF; }\r
+\r
+// Main background class (eqv of fgcolor)\r
+// This is only used if CSS is set to use classes (ol_css = CSSCLASS)\r
+if (typeof ol_fgclass == 'undefined') { var ol_fgclass = ""; }\r
+\r
+// Frame background class (eqv of bgcolor)\r
+// This is only used if CSS is set to use classes (ol_css = CSSCLASS)\r
+if (typeof ol_bgclass == 'undefined') { var ol_bgclass = ""; }\r
+\r
+// Main font class\r
+// This is only used if CSS is set to use classes (ol_css = CSSCLASS)\r
+if (typeof ol_textfontclass == 'undefined') { var ol_textfontclass = ""; }\r
+\r
+// Caption font class\r
+// This is only used if CSS is set to use classes (ol_css = CSSCLASS)\r
+if (typeof ol_captionfontclass == 'undefined') { var ol_captionfontclass = ""; }\r
+\r
+// Close font class\r
+// This is only used if CSS is set to use classes (ol_css = CSSCLASS)\r
+if (typeof ol_closefontclass == 'undefined') { var ol_closefontclass = ""; }\r
+\r
+// Unit to be used for the text padding above\r
+// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)\r
+// Options include "px", "%", "in", "cm"\r
+if (typeof ol_padunit == 'undefined') { var ol_padunit = "px";}\r
+\r
+// Unit to be used for height of popup\r
+// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)\r
+// Options include "px", "%", "in", "cm"\r
+if (typeof ol_heightunit == 'undefined') { var ol_heightunit = "px";}\r
+\r
+// Unit to be used for width of popup\r
+// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)\r
+// Options include "px", "%", "in", "cm"\r
+if (typeof ol_widthunit == 'undefined') { var ol_widthunit = "px";}\r
+\r
+// Font size unit for the main text\r
+// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)\r
+if (typeof ol_textsizeunit == 'undefined') { var ol_textsizeunit = "px";}\r
+\r
+// Decoration of the main text ("none", "underline", "line-through" or "blink")\r
+// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)\r
+if (typeof ol_textdecoration == 'undefined') { var ol_textdecoration = "none";}\r
+\r
+// Font style of the main text ("normal" or "italic")\r
+// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)\r
+if (typeof ol_textstyle == 'undefined') { var ol_textstyle = "normal";}\r
+\r
+// Font weight of the main text ("normal", "bold", "bolder", "lighter", ect.)\r
+// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)\r
+if (typeof ol_textweight == 'undefined') { var ol_textweight = "normal";}\r
+\r
+// Font size unit for the caption\r
+// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)\r
+if (typeof ol_captionsizeunit == 'undefined') { var ol_captionsizeunit = "px";}\r
+\r
+// Decoration of the caption ("none", "underline", "line-through" or "blink")\r
+// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)\r
+if (typeof ol_captiondecoration == 'undefined') { var ol_captiondecoration = "none";}\r
+\r
+// Font style of the caption ("normal" or "italic")\r
+// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)\r
+if (typeof ol_captionstyle == 'undefined') { var ol_captionstyle = "normal";}\r
+\r
+// Font weight of the caption ("normal", "bold", "bolder", "lighter", ect.)\r
+// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)\r
+if (typeof ol_captionweight == 'undefined') { var ol_captionweight = "bold";}\r
+\r
+// Font size unit for the close text\r
+// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)\r
+if (typeof ol_closesizeunit == 'undefined') { var ol_closesizeunit = "px";}\r
+\r
+// Decoration of the close text ("none", "underline", "line-through" or "blink")\r
+// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)\r
+if (typeof ol_closedecoration == 'undefined') { var ol_closedecoration = "none";}\r
+\r
+// Font style of the close text ("normal" or "italic")\r
+// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)\r
+if (typeof ol_closestyle == 'undefined') { var ol_closestyle = "normal";}\r
+\r
+// Font weight of the close text ("normal", "bold", "bolder", "lighter", ect.)\r
+// Only used if CSS inline styles are being used (ol_css = CSSSTYLE)\r
+if (typeof ol_closeweight == 'undefined') { var ol_closeweight = "normal";}\r
+\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////////////////\r
+// ARRAY CONFIGURATION\r
+// You don't have to change anything here if you don't want to. The following\r
+// arrays can be filled with text and html if you don't wish to pass it from\r
+// your html page.\r
+////////////////////////////////////////////////////////////////////////////////////\r
+\r
+// Array with texts.\r
+if (typeof ol_texts == 'undefined') { var ol_texts = new Array("Text 0", "Text 1"); }\r
+\r
+// Array with captions.\r
+if (typeof ol_caps == 'undefined') { var ol_caps = new Array("Caption 0", "Caption 1"); }\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////////////////\r
+// END CONFIGURATION\r
+// Don't change anything below this line, all configuration is above.\r
+////////////////////////////////////////////////////////////////////////////////////\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////////////////\r
+// INIT\r
+////////////////////////////////////////////////////////////////////////////////////\r
+\r
+// Runtime variables init. Used for runtime only, don't change, not for config!\r
+var o3_text = "";\r
+var o3_cap = "";\r
+var o3_sticky = 0;\r
+var o3_background = "";\r
+var o3_close = "Close";\r
+var o3_hpos = RIGHT;\r
+var o3_offsetx = 2;\r
+var o3_offsety = 2;\r
+var o3_fgcolor = "";\r
+var o3_bgcolor = "";\r
+var o3_textcolor = "";\r
+var o3_capcolor = "";\r
+var o3_closecolor = "";\r
+var o3_width = 100;\r
+var o3_border = 1;\r
+var o3_status = "";\r
+var o3_autostatus = 0;\r
+var o3_height = -1;\r
+var o3_snapx = 0;\r
+var o3_snapy = 0;\r
+var o3_fixx = -1;\r
+var o3_fixy = -1;\r
+var o3_fgbackground = "";\r
+var o3_bgbackground = "";\r
+var o3_padxl = 0;\r
+var o3_padxr = 0;\r
+var o3_padyt = 0;\r
+var o3_padyb = 0;\r
+var o3_fullhtml = 0;\r
+var o3_vpos = BELOW;\r
+var o3_aboveheight = 0;\r
+var o3_capicon = "";\r
+var o3_textfont = "Verdana,Arial,Helvetica";\r
+var o3_captionfont = "Verdana,Arial,Helvetica";\r
+var o3_closefont = "Verdana,Arial,Helvetica";\r
+var o3_textsize = "1";\r
+var o3_captionsize = "1";\r
+var o3_closesize = "1";\r
+var o3_frame = self;\r
+var o3_timeout = 0;\r
+var o3_timerid = 0;\r
+var o3_allowmove = 0;\r
+var o3_function = null; \r
+var o3_delay = 0;\r
+var o3_delayid = 0;\r
+var o3_hauto = 0;\r
+var o3_vauto = 0;\r
+var o3_closeclick = 0;\r
+\r
+var o3_css = CSSOFF;\r
+var o3_fgclass = "";\r
+var o3_bgclass = "";\r
+var o3_textfontclass = "";\r
+var o3_captionfontclass = "";\r
+var o3_closefontclass = "";\r
+var o3_padunit = "px";\r
+var o3_heightunit = "px";\r
+var o3_widthunit = "px";\r
+var o3_textsizeunit = "px";\r
+var o3_textdecoration = "";\r
+var o3_textstyle = "";\r
+var o3_textweight = "";\r
+var o3_captionsizeunit = "px";\r
+var o3_captiondecoration = "";\r
+var o3_captionstyle = "";\r
+var o3_captionweight = "";\r
+var o3_closesizeunit = "px";\r
+var o3_closedecoration = "";\r
+var o3_closestyle = "";\r
+var o3_closeweight = "";\r
+\r
+\r
+\r
+// Display state variables\r
+var o3_x = 0;\r
+var o3_y = 0;\r
+var o3_allow = 0;\r
+var o3_showingsticky = 0;\r
+var o3_removecounter = 0;\r
+\r
+// Our layer\r
+var over = null;\r
+var fnRef;\r
+\r
+// Decide browser version\r
+var ns4 = (navigator.appName == 'Netscape' && parseInt(navigator.appVersion) == 4);\r
+var ns6 = (document.getElementById)? true:false;\r
+var ie4 = (document.all)? true:false;\r
+if (ie4) var docRoot = 'document.body';\r
+var ie5 = false;\r
+if (ns4) {\r
+       var oW = window.innerWidth;\r
+       var oH = window.innerHeight;\r
+       window.onresize = function () {if (oW!=window.innerWidth||oH!=window.innerHeight) location.reload();}\r
+}\r
+\r
+\r
+// Microsoft Stupidity Check(tm).\r
+if (ie4) {\r
+       if ((navigator.userAgent.indexOf('MSIE 5') > 0) || (navigator.userAgent.indexOf('MSIE 6') > 0)) {\r
+               if(document.compatMode && document.compatMode == 'CSS1Compat') docRoot = 'document.documentElement';\r
+               ie5 = true;\r
+       }\r
+       if (ns6) {\r
+               ns6 = false;\r
+       }\r
+}\r
+\r
+\r
+// Capture events, alt. diffuses the overlib function.\r
+if ( (ns4) || (ie4) || (ns6)) {\r
+       document.onmousemove = mouseMove\r
+       if (ns4) document.captureEvents(Event.MOUSEMOVE)\r
+} else {\r
+       overlib = no_overlib;\r
+       nd = no_overlib;\r
+       ver3fix = true;\r
+}\r
+\r
+\r
+// Fake function for 3.0 users.\r
+function no_overlib() {\r
+       return ver3fix;\r
+}\r
+\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////////////////\r
+// PUBLIC FUNCTIONS\r
+////////////////////////////////////////////////////////////////////////////////////\r
+\r
+\r
+// overlib(arg0, ..., argN)\r
+// Loads parameters into global runtime variables.\r
+function overlib() {\r
+       \r
+       // Load defaults to runtime.\r
+       o3_text = ol_text;\r
+       o3_cap = ol_cap;\r
+       o3_sticky = ol_sticky;\r
+       o3_background = ol_background;\r
+       o3_close = ol_close;\r
+       o3_hpos = ol_hpos;\r
+       o3_offsetx = ol_offsetx;\r
+       o3_offsety = ol_offsety;\r
+       o3_fgcolor = ol_fgcolor;\r
+       o3_bgcolor = ol_bgcolor;\r
+       o3_textcolor = ol_textcolor;\r
+       o3_capcolor = ol_capcolor;\r
+       o3_closecolor = ol_closecolor;\r
+       o3_width = ol_width;\r
+       o3_border = ol_border;\r
+       o3_status = ol_status;\r
+       o3_autostatus = ol_autostatus;\r
+       o3_height = ol_height;\r
+       o3_snapx = ol_snapx;\r
+       o3_snapy = ol_snapy;\r
+       o3_fixx = ol_fixx;\r
+       o3_fixy = ol_fixy;\r
+       o3_fgbackground = ol_fgbackground;\r
+       o3_bgbackground = ol_bgbackground;\r
+       o3_padxl = ol_padxl;\r
+       o3_padxr = ol_padxr;\r
+       o3_padyt = ol_padyt;\r
+       o3_padyb = ol_padyb;\r
+       o3_fullhtml = ol_fullhtml;\r
+       o3_vpos = ol_vpos;\r
+       o3_aboveheight = ol_aboveheight;\r
+       o3_capicon = ol_capicon;\r
+       o3_textfont = ol_textfont;\r
+       o3_captionfont = ol_captionfont;\r
+       o3_closefont = ol_closefont;\r
+       o3_textsize = ol_textsize;\r
+       o3_captionsize = ol_captionsize;\r
+       o3_closesize = ol_closesize;\r
+       o3_timeout = ol_timeout;\r
+       o3_function = ol_function;\r
+       o3_delay = ol_delay;\r
+       o3_hauto = ol_hauto;\r
+       o3_vauto = ol_vauto;\r
+       o3_closeclick = ol_closeclick;\r
+       \r
+       o3_css = ol_css;\r
+       o3_fgclass = ol_fgclass;\r
+       o3_bgclass = ol_bgclass;\r
+       o3_textfontclass = ol_textfontclass;\r
+       o3_captionfontclass = ol_captionfontclass;\r
+       o3_closefontclass = ol_closefontclass;\r
+       o3_padunit = ol_padunit;\r
+       o3_heightunit = ol_heightunit;\r
+       o3_widthunit = ol_widthunit;\r
+       o3_textsizeunit = ol_textsizeunit;\r
+       o3_textdecoration = ol_textdecoration;\r
+       o3_textstyle = ol_textstyle;\r
+       o3_textweight = ol_textweight;\r
+       o3_captionsizeunit = ol_captionsizeunit;\r
+       o3_captiondecoration = ol_captiondecoration;\r
+       o3_captionstyle = ol_captionstyle;\r
+       o3_captionweight = ol_captionweight;\r
+       o3_closesizeunit = ol_closesizeunit;\r
+       o3_closedecoration = ol_closedecoration;\r
+       o3_closestyle = ol_closestyle;\r
+       o3_closeweight = ol_closeweight;\r
+       fnRef = '';\r
+       \r
+\r
+       // Special for frame support, over must be reset...\r
+       if ( (ns4) || (ie4) || (ns6) ) {\r
+               if (over) cClick();\r
+               o3_frame = ol_frame;\r
+               if (ns4) over = o3_frame.document.overDiv\r
+               if (ie4) over = o3_frame.overDiv.style\r
+               if (ns6) over = o3_frame.document.getElementById("overDiv");\r
+       }\r
+       \r
+       \r
+       // What the next argument is expected to be.\r
+       var parsemode = -1, udf, v = null;\r
+       \r
+       var ar = arguments;\r
+       udf = (!ar.length ? 1 : 0);\r
+\r
+       for (i = 0; i < ar.length; i++) {\r
+\r
+               if (parsemode < 0) {\r
+                       // Arg is maintext, unless its a PARAMETER\r
+                       if (typeof ar[i] == 'number') {\r
+                               udf = (ar[i] == FUNCTION ? 0 : 1);\r
+                               i--;\r
+                       } else {\r
+                               o3_text = ar[i];\r
+                       }\r
+\r
+                       parsemode = 0;\r
+               } else {\r
+                       // Note: NS4 doesn't like switch cases with vars.\r
+                       if (ar[i] == INARRAY) { udf = 0; o3_text = ol_texts[ar[++i]]; continue; }\r
+                       if (ar[i] == CAPARRAY) { o3_cap = ol_caps[ar[++i]]; continue; }\r
+                       if (ar[i] == STICKY) { o3_sticky = 1; continue; }\r
+                       if (ar[i] == BACKGROUND) { o3_background = ar[++i]; continue; }\r
+                       if (ar[i] == NOCLOSE) { o3_close = ""; continue; }\r
+                       if (ar[i] == CAPTION) { o3_cap = ar[++i]; continue; }\r
+                       if (ar[i] == CENTER || ar[i] == LEFT || ar[i] == RIGHT) { o3_hpos = ar[i]; continue; }\r
+                       if (ar[i] == OFFSETX) { o3_offsetx = ar[++i]; continue; }\r
+                       if (ar[i] == OFFSETY) { o3_offsety = ar[++i]; continue; }\r
+                       if (ar[i] == FGCOLOR) { o3_fgcolor = ar[++i]; continue; }\r
+                       if (ar[i] == BGCOLOR) { o3_bgcolor = ar[++i]; continue; }\r
+                       if (ar[i] == TEXTCOLOR) { o3_textcolor = ar[++i]; continue; }\r
+                       if (ar[i] == CAPCOLOR) { o3_capcolor = ar[++i]; continue; }\r
+                       if (ar[i] == CLOSECOLOR) { o3_closecolor = ar[++i]; continue; }\r
+                       if (ar[i] == WIDTH) { o3_width = ar[++i]; continue; }\r
+                       if (ar[i] == BORDER) { o3_border = ar[++i]; continue; }\r
+                       if (ar[i] == STATUS) { o3_status = ar[++i]; continue; }\r
+                       if (ar[i] == AUTOSTATUS) { o3_autostatus = (o3_autostatus == 1) ? 0 : 1; continue; }\r
+                       if (ar[i] == AUTOSTATUSCAP) { o3_autostatus = (o3_autostatus == 2) ? 0 : 2; continue; }\r
+                       if (ar[i] == HEIGHT) { o3_height = ar[++i]; o3_aboveheight = ar[i]; continue; } // Same param again.\r
+                       if (ar[i] == CLOSETEXT) { o3_close = ar[++i]; continue; }\r
+                       if (ar[i] == SNAPX) { o3_snapx = ar[++i]; continue; }\r
+                       if (ar[i] == SNAPY) { o3_snapy = ar[++i]; continue; }\r
+                       if (ar[i] == FIXX) { o3_fixx = ar[++i]; continue; }\r
+                       if (ar[i] == FIXY) { o3_fixy = ar[++i]; continue; }\r
+                       if (ar[i] == FGBACKGROUND) { o3_fgbackground = ar[++i]; continue; }\r
+                       if (ar[i] == BGBACKGROUND) { o3_bgbackground = ar[++i]; continue; }\r
+                       if (ar[i] == PADX) { o3_padxl = ar[++i]; o3_padxr = ar[++i]; continue; }\r
+                       if (ar[i] == PADY) { o3_padyt = ar[++i]; o3_padyb = ar[++i]; continue; }\r
+                       if (ar[i] == FULLHTML) { o3_fullhtml = 1; continue; }\r
+                       if (ar[i] == BELOW || ar[i] == ABOVE) { o3_vpos = ar[i]; continue; }\r
+                       if (ar[i] == CAPICON) { o3_capicon = ar[++i]; continue; }\r
+                       if (ar[i] == TEXTFONT) { o3_textfont = ar[++i]; continue; }\r
+                       if (ar[i] == CAPTIONFONT) { o3_captionfont = ar[++i]; continue; }\r
+                       if (ar[i] == CLOSEFONT) { o3_closefont = ar[++i]; continue; }\r
+                       if (ar[i] == TEXTSIZE) { o3_textsize = ar[++i]; continue; }\r
+                       if (ar[i] == CAPTIONSIZE) { o3_captionsize = ar[++i]; continue; }\r
+                       if (ar[i] == CLOSESIZE) { o3_closesize = ar[++i]; continue; }\r
+                       if (ar[i] == FRAME) { opt_FRAME(ar[++i]); continue; }\r
+                       if (ar[i] == TIMEOUT) { o3_timeout = ar[++i]; continue; }\r
+                       if (ar[i] == FUNCTION) { udf = 0; if (typeof ar[i+1] != 'number') v = ar[++i]; opt_FUNCTION(v); continue; } \r
+                       if (ar[i] == DELAY) { o3_delay = ar[++i]; continue; }\r
+                       if (ar[i] == HAUTO) { o3_hauto = (o3_hauto == 0) ? 1 : 0; continue; }\r
+                       if (ar[i] == VAUTO) { o3_vauto = (o3_vauto == 0) ? 1 : 0; continue; }\r
+                       if (ar[i] == CLOSECLICK) { o3_closeclick = (o3_closeclick == 0) ? 1 : 0; continue; }\r
+                       if (ar[i] == CSSOFF) { o3_css = ar[i]; continue; }\r
+                       if (ar[i] == CSSSTYLE) { o3_css = ar[i]; continue; }\r
+                       if (ar[i] == CSSCLASS) { o3_css = ar[i]; continue; }\r
+                       if (ar[i] == FGCLASS) { o3_fgclass = ar[++i]; continue; }\r
+                       if (ar[i] == BGCLASS) { o3_bgclass = ar[++i]; continue; }\r
+                       if (ar[i] == TEXTFONTCLASS) { o3_textfontclass = ar[++i]; continue; }\r
+                       if (ar[i] == CAPTIONFONTCLASS) { o3_captionfontclass = ar[++i]; continue; }\r
+                       if (ar[i] == CLOSEFONTCLASS) { o3_closefontclass = ar[++i]; continue; }\r
+                       if (ar[i] == PADUNIT) { o3_padunit = ar[++i]; continue; }\r
+                       if (ar[i] == HEIGHTUNIT) { o3_heightunit = ar[++i]; continue; }\r
+                       if (ar[i] == WIDTHUNIT) { o3_widthunit = ar[++i]; continue; }\r
+                       if (ar[i] == TEXTSIZEUNIT) { o3_textsizeunit = ar[++i]; continue; }\r
+                       if (ar[i] == TEXTDECORATION) { o3_textdecoration = ar[++i]; continue; }\r
+                       if (ar[i] == TEXTSTYLE) { o3_textstyle = ar[++i]; continue; }\r
+                       if (ar[i] == TEXTWEIGHT) { o3_textweight = ar[++i]; continue; }\r
+                       if (ar[i] == CAPTIONSIZEUNIT) { o3_captionsizeunit = ar[++i]; continue; }\r
+                       if (ar[i] == CAPTIONDECORATION) { o3_captiondecoration = ar[++i]; continue; }\r
+                       if (ar[i] == CAPTIONSTYLE) { o3_captionstyle = ar[++i]; continue; }\r
+                       if (ar[i] == CAPTIONWEIGHT) { o3_captionweight = ar[++i]; continue; }\r
+                       if (ar[i] == CLOSESIZEUNIT) { o3_closesizeunit = ar[++i]; continue; }\r
+                       if (ar[i] == CLOSEDECORATION) { o3_closedecoration = ar[++i]; continue; }\r
+                       if (ar[i] == CLOSESTYLE) { o3_closestyle = ar[++i]; continue; }\r
+                       if (ar[i] == CLOSEWEIGHT) { o3_closeweight = ar[++i]; continue; }\r
+               }\r
+       }\r
+       if (udf && o3_function) o3_text = o3_function();\r
+\r
+       if (o3_delay == 0) {\r
+               return overlib351();\r
+       } else {\r
+               o3_delayid = setTimeout("overlib351()", o3_delay);\r
+               return false;\r
+       }\r
+}\r
+\r
+\r
+\r
+// Clears popups if appropriate\r
+function nd() {\r
+       if ( o3_removecounter >= 1 ) { o3_showingsticky = 0 };\r
+       if ( (ns4) || (ie4) || (ns6) ) {\r
+               if ( o3_showingsticky == 0 ) {\r
+                       o3_allowmove = 0;\r
+                       if (over != null) hideObject(over);\r
+               } else {\r
+                       o3_removecounter++;\r
+               }\r
+       }\r
+       \r
+       return true;\r
+}\r
+\r
+\r
+\r
+\r
+\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////////////////\r
+// OVERLIB 3.51 FUNCTION\r
+////////////////////////////////////////////////////////////////////////////////////\r
+\r
+\r
+// This function decides what it is we want to display and how we want it done.\r
+function overlib351() {\r
+\r
+       // Make layer content\r
+       var layerhtml;\r
+\r
+       if (o3_background != "" || o3_fullhtml) {\r
+               // Use background instead of box.\r
+               layerhtml = ol_content_background(o3_text, o3_background, o3_fullhtml);\r
+       } else {\r
+               // They want a popup box.\r
+\r
+               // Prepare popup background\r
+               if (o3_fgbackground != "" && o3_css == CSSOFF) {\r
+                       o3_fgbackground = "BACKGROUND=\""+o3_fgbackground+"\"";\r
+               }\r
+               if (o3_bgbackground != "" && o3_css == CSSOFF) {\r
+                       o3_bgbackground = "BACKGROUND=\""+o3_bgbackground+"\"";\r
+               }\r
+\r
+               // Prepare popup colors\r
+               if (o3_fgcolor != "" && o3_css == CSSOFF) {\r
+                       o3_fgcolor = "BGCOLOR=\""+o3_fgcolor+"\"";\r
+               }\r
+               if (o3_bgcolor != "" && o3_css == CSSOFF) {\r
+                       o3_bgcolor = "BGCOLOR=\""+o3_bgcolor+"\"";\r
+               }\r
+\r
+               // Prepare popup height\r
+               if (o3_height > 0 && o3_css == CSSOFF) {\r
+                       o3_height = "HEIGHT=" + o3_height;\r
+               } else {\r
+                       o3_height = "";\r
+               }\r
+\r
+               // Decide which kinda box.\r
+               if (o3_cap == "") {\r
+                       // Plain\r
+                       layerhtml = ol_content_simple(o3_text);\r
+               } else {\r
+                       // With caption\r
+                       if (o3_sticky) {\r
+                               // Show close text\r
+                               layerhtml = ol_content_caption(o3_text, o3_cap, o3_close);\r
+                       } else {\r
+                               // No close text\r
+                               layerhtml = ol_content_caption(o3_text, o3_cap, "");\r
+                       }\r
+               }\r
+       }\r
+       \r
+       // We want it to stick!\r
+       if (o3_sticky) {\r
+               if (o3_timerid > 0) {\r
+                       clearTimeout(o3_timerid);\r
+                       o3_timerid = 0;\r
+               }\r
+               o3_showingsticky = 1;\r
+               o3_removecounter = 0;\r
+       }\r
+       \r
+       // Write layer\r
+       layerWrite(layerhtml);\r
+       \r
+       // Prepare status bar\r
+       if (o3_autostatus > 0) {\r
+               o3_status = o3_text;\r
+               if (o3_autostatus > 1) {\r
+                       o3_status = o3_cap;\r
+               }\r
+       }\r
+\r
+       // When placing the layer the first time, even stickies may be moved.\r
+       o3_allowmove = 0;\r
+\r
+       // Initiate a timer for timeout\r
+       if (o3_timeout > 0) {\r
+               if (o3_timerid > 0) clearTimeout(o3_timerid);\r
+               o3_timerid = setTimeout("cClick()", o3_timeout);\r
+       }\r
+\r
+       // Show layer\r
+       disp(o3_status);\r
+\r
+       // Stickies should stay where they are. \r
+       if (o3_sticky) o3_allowmove = 0;\r
+\r
+       return (o3_status != '');\r
+}\r
+\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////////////////\r
+// LAYER GENERATION FUNCTIONS\r
+////////////////////////////////////////////////////////////////////////////////////\r
+\r
+// Makes simple table without caption\r
+function ol_content_simple(text) {\r
+       if (o3_css == CSSCLASS) txt = "<TABLE WIDTH="+o3_width+" BORDER=0 CELLPADDING="+o3_border+" CELLSPACING=0 class=\""+o3_bgclass+"\"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 class=\""+o3_fgclass+"\"><TR><TD VALIGN=TOP><FONT class=\""+o3_textfontclass+"\">"+text+"</FONT></TD></TR></TABLE></TD></TR></TABLE>";\r
+       if (o3_css == CSSSTYLE) 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=2 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>";\r
+       if (o3_css == CSSOFF) txt = "<TABLE WIDTH="+o3_width+" BORDER=0 CELLPADDING="+o3_border+" CELLSPACING=0 "+o3_bgcolor+" "+o3_height+"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 "+o3_fgcolor+" "+o3_fgbackground+" "+o3_height+"><TR><TD VALIGN=TOP><FONT FACE=\""+o3_textfont+"\" COLOR=\""+o3_textcolor+"\" SIZE=\""+o3_textsize+"\">"+text+"</FONT></TD></TR></TABLE></TD></TR></TABLE>";\r
+\r
+       set_background("");\r
+       return txt;\r
+}\r
+\r
+\r
+\r
+\r
+// Makes table with caption and optional close link\r
+function ol_content_caption(text, title, close) {\r
+       closing = "";\r
+       closeevent = "onMouseOver";\r
+\r
+       if (o3_closeclick == 1) closeevent = "onClick";\r
+       if (o3_capicon != "") o3_capicon = "<IMG SRC=\""+o3_capicon+"\"> ";\r
+\r
+       if (close != "") {\r
+               if (o3_css == CSSCLASS) closing = "<TD ALIGN=RIGHT><A HREF=\"javascript:return "+fnRef+"cClick();\" "+closeevent+"=\"return " + fnRef + "cClick();\" class=\""+o3_closefontclass+"\">"+close+"</A></TD>";\r
+               if (o3_css == CSSSTYLE) 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>";\r
+               if (o3_css == CSSOFF) closing = "<TD ALIGN=RIGHT><A HREF=\"javascript:return "+fnRef+"cClick();\" "+closeevent+"=\"return " + fnRef + "cClick();\"><FONT COLOR=\""+o3_closecolor+"\" FACE=\""+o3_closefont+"\" SIZE=\""+o3_closesize+"\">"+close+"</FONT></A></TD>";\r
+       }\r
+\r
+       if (o3_css == CSSCLASS) txt = "<TABLE WIDTH="+o3_width+" BORDER=0 CELLPADDING="+o3_border+" CELLSPACING=0 class=\""+o3_bgclass+"\"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0><TR><TD><FONT class=\""+o3_captionfontclass+"\">"+o3_capicon+title+"</FONT></TD>"+closing+"</TR></TABLE><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 class=\""+o3_fgclass+"\"><TR><TD VALIGN=TOP><FONT class=\""+o3_textfontclass+"\">"+text+"</FONT></TD></TR></TABLE></TD></TR></TABLE>";\r
+       if (o3_css == CSSSTYLE) 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=2 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>";\r
+       if (o3_css == CSSOFF) txt = "<TABLE WIDTH="+o3_width+" BORDER=0 CELLPADDING="+o3_border+" CELLSPACING=0 "+o3_bgcolor+" "+o3_bgbackground+" "+o3_height+"><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=0><TR><TD><B><FONT COLOR=\""+o3_capcolor+"\" FACE=\""+o3_captionfont+"\" SIZE=\""+o3_captionsize+"\">"+o3_capicon+title+"</FONT></B></TD>"+closing+"</TR></TABLE><TABLE WIDTH=100% BORDER=0 CELLPADDING=2 CELLSPACING=0 "+o3_fgcolor+" "+o3_fgbackground+" "+o3_height+"><TR><TD VALIGN=TOP><FONT COLOR=\""+o3_textcolor+"\" FACE=\""+o3_textfont+"\" SIZE=\""+o3_textsize+"\">"+text+"</FONT></TD></TR></TABLE></TD></TR></TABLE>";\r
+\r
+       set_background("");\r
+       return txt;\r
+}\r
+\r
+// Sets the background picture, padding and lots more. :)\r
+function ol_content_background(text, picture, hasfullhtml) {\r
+       var txt;\r
+       if (hasfullhtml) {\r
+               txt = text;\r
+       } else {\r
+               var pU, hU, wU;\r
+               pU = (o3_padunit == '%' ? '%' : '');\r
+               hU = (o3_heightunit == '%' ? '%' : '');\r
+               wU = (o3_widthunit == '%' ? '%' : '');\r
+\r
+               if (o3_css == CSSCLASS) txt = "<TABLE 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 WIDTH="+(o3_width-o3_padxl-o3_padxr)+"><FONT class=\""+o3_textfontclass+"\">"+text+"</FONT></TD><TD WIDTH="+o3_padxr+"></TD></TR><TR><TD COLSPAN=3 HEIGHT="+o3_padyb+"></TD></TR></TABLE>";\r
+               if (o3_css == CSSSTYLE) 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>";\r
+               if (o3_css == CSSOFF) txt = "<TABLE 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 WIDTH="+(o3_width-o3_padxl-o3_padxr)+"><FONT 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>";\r
+       }\r
+       set_background(picture);\r
+       return txt;\r
+}\r
+\r
+// Loads a picture into the div.\r
+function set_background(pic) {\r
+       if (pic == "") {\r
+               if (ns4) over.background.src = null;\r
+               if (ie4) over.backgroundImage = "none";\r
+               if (ns6) over.style.backgroundImage = "none";\r
+       } else {\r
+               if (ns4) {\r
+                       over.background.src = pic;\r
+               } else if (ie4) {\r
+                       over.backgroundImage = "url("+pic+")";\r
+               } else if (ns6) {\r
+                       over.style.backgroundImage = "url("+pic+")";\r
+               }\r
+       }\r
+}\r
+\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////////////////\r
+// HANDLING FUNCTIONS\r
+////////////////////////////////////////////////////////////////////////////////////\r
+\r
+\r
+// Displays the popup\r
+function disp(statustext) {\r
+       if ( (ns4) || (ie4) || (ns6) ) {\r
+               if (o3_allowmove == 0)  {\r
+                       placeLayer();\r
+                       showObject(over);\r
+                       o3_allowmove = 1;\r
+               }\r
+       }\r
+\r
+       if (statustext != "") {\r
+               self.status = statustext;\r
+       }\r
+}\r
+\r
+// Decides where we want the popup.\r
+function placeLayer() {\r
+       var placeX, placeY;\r
+       \r
+       // HORIZONTAL PLACEMENT\r
+       if (o3_fixx > -1) {\r
+               // Fixed position\r
+               placeX = o3_fixx;\r
+       } else {\r
+               winoffset = (ie4) ? eval('o3_frame.'+docRoot+'.scrollLeft') : o3_frame.pageXOffset;\r
+               if (ie4) iwidth = eval('o3_frame.'+docRoot+'.clientWidth');\r
+               if (ns4 || ns6) iwidth = o3_frame.innerWidth;\r
+               \r
+               // If HAUTO, decide what to use.\r
+               if (o3_hauto == 1) {\r
+                       if ( (o3_x - winoffset) > ((eval(iwidth)) / 2)) {\r
+                               o3_hpos = LEFT;\r
+                       } else {\r
+                               o3_hpos = RIGHT;\r
+                       }\r
+               }\r
+               \r
+               // From mouse\r
+               if (o3_hpos == CENTER) { // Center\r
+                       placeX = o3_x+o3_offsetx-(o3_width/2);\r
+                       if (placeX < winoffset) placeX = winoffset;\r
+               }\r
+               if (o3_hpos == RIGHT) { // Right\r
+                       placeX = o3_x+o3_offsetx;\r
+                       if ( (eval(placeX) + eval(o3_width)) > (winoffset + iwidth) ) {\r
+                               placeX = iwidth + winoffset - o3_width;\r
+                               if (placeX < 0) placeX = 0;\r
+                       }\r
+               }\r
+               if (o3_hpos == LEFT) { // Left\r
+                       placeX = o3_x-o3_offsetx-o3_width;\r
+                       if (placeX < winoffset) placeX = winoffset;\r
+               }\r
+       \r
+               // Snapping!\r
+               if (o3_snapx > 1) {\r
+                       var snapping = placeX % o3_snapx;\r
+                       if (o3_hpos == LEFT) {\r
+                               placeX = placeX - (o3_snapx + snapping);\r
+                       } else {\r
+                               // CENTER and RIGHT\r
+                               placeX = placeX + (o3_snapx - snapping);\r
+                       }\r
+                       if (placeX < winoffset) placeX = winoffset;\r
+               }\r
+       }\r
+\r
+       \r
+       \r
+       // VERTICAL PLACEMENT\r
+       if (o3_fixy > -1) {\r
+               // Fixed position\r
+               placeY = o3_fixy;\r
+       } else {\r
+               scrolloffset = (ie4) ? eval('o3_frame.'+docRoot+'.scrollTop') : o3_frame.pageYOffset;\r
+\r
+               // If VAUTO, decide what to use.\r
+               if (o3_vauto == 1) {\r
+                       if (ie4) iheight = eval('o3_frame.'+docRoot+'.clientHeight');\r
+                       if (ns4 || ns6) iheight = o3_frame.innerHeight;\r
+\r
+                       iheight = (eval(iheight)) / 2;\r
+                       if ( (o3_y - scrolloffset) > iheight) {\r
+                               o3_vpos = ABOVE;\r
+                       } else {\r
+                               o3_vpos = BELOW;\r
+                       }\r
+               }\r
+\r
+\r
+               // From mouse\r
+               if (o3_vpos == ABOVE) {\r
+                       if (o3_aboveheight == 0) {\r
+                               var divref = (ie4) ? o3_frame.document.all['overDiv'] : over;\r
+                               o3_aboveheight = (ns4) ? divref.clip.height : divref.offsetHeight;\r
+                       }\r
+\r
+                       placeY = o3_y - (o3_aboveheight + o3_offsety);\r
+                       if (placeY < scrolloffset) placeY = scrolloffset;\r
+               } else {\r
+                       // BELOW\r
+                       placeY = o3_y + o3_offsety;\r
+               }\r
+\r
+               // Snapping!\r
+               if (o3_snapy > 1) {\r
+                       var snapping = placeY % o3_snapy;\r
+                       \r
+                       if (o3_aboveheight > 0 && o3_vpos == ABOVE) {\r
+                               placeY = placeY - (o3_snapy + snapping);\r
+                       } else {\r
+                               placeY = placeY + (o3_snapy - snapping);\r
+                       }\r
+                       \r
+                       if (placeY < scrolloffset) placeY = scrolloffset;\r
+               }\r
+       }\r
+\r
+\r
+       // Actually move the object.    \r
+       repositionTo(over, placeX, placeY);\r
+}\r
+\r
+\r
+// Moves the layer\r
+function mouseMove(e) {\r
+       if ( (ns4) || (ns6) ) {o3_x=e.pageX; o3_y=e.pageY;}\r
+       if (ie4) {o3_x=event.x; o3_y=event.y;}\r
+       if (ie5) {o3_x=eval('event.x+o3_frame.'+docRoot+'.scrollLeft'); o3_y=eval('event.y+o3_frame.'+docRoot+'.scrollTop');}\r
+       \r
+       if (o3_allowmove == 1) {\r
+               placeLayer();\r
+       }\r
+}\r
+\r
+// The Close onMouseOver function for stickies\r
+function cClick() {\r
+       hideObject(over);\r
+       o3_showingsticky = 0;\r
+       \r
+       return false;\r
+}\r
+\r
+\r
+// Makes sure target frame has overLIB\r
+function compatibleframe(frameid) {\r
+       if (ns4) {\r
+               if (typeof frameid.document.overDiv =='undefined') return false;\r
+       } else if (ie4) {\r
+               if (typeof frameid.document.all["overDiv"] =='undefined') return false;\r
+       } else if (ns6) {\r
+               if (frameid.document.getElementById('overDiv') == null) return false;\r
+       }\r
+\r
+       return true;\r
+}\r
+\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////////////////\r
+// LAYER FUNCTIONS\r
+////////////////////////////////////////////////////////////////////////////////////\r
+\r
+\r
+// Writes to a layer\r
+function layerWrite(txt) {\r
+       txt += "\n";\r
+       \r
+       if (ns4) {\r
+               var lyr = o3_frame.document.overDiv.document\r
+               lyr.write(txt)\r
+               lyr.close()\r
+       } else if (ie4) {\r
+               o3_frame.document.all["overDiv"].innerHTML = txt\r
+       } else if (ns6) {\r
+               range = o3_frame.document.createRange();\r
+               range.setStartBefore(over);\r
+               domfrag = range.createContextualFragment(txt);\r
+               while (over.hasChildNodes()) {\r
+                       over.removeChild(over.lastChild);\r
+               }\r
+               over.appendChild(domfrag);\r
+       }\r
+}\r
+\r
+// Make an object visible\r
+function showObject(obj) {\r
+       if (ns4) obj.visibility = "show";\r
+       else if (ie4) obj.visibility = "visible";\r
+       else if (ns6) obj.style.visibility = "visible";\r
+}\r
+\r
+// Hides an object\r
+function hideObject(obj) {\r
+       if (ns4) obj.visibility = "hide";\r
+       else if (ie4) obj.visibility = "hidden";\r
+       else if (ns6) obj.style.visibility = "hidden";\r
+\r
+       if (o3_timerid > 0) clearTimeout(o3_timerid);\r
+       if (o3_delayid > 0) clearTimeout(o3_delayid);\r
+       o3_timerid = 0;\r
+       o3_delayid = 0;\r
+       self.status = "";\r
+}\r
+\r
+// Move a layer\r
+function repositionTo(obj,xL,yL) {\r
+       if ( (ns4) || (ie4) ) {\r
+               obj.left = (ie4 ? xL + 'px' : xL);\r
+               obj.top = (ie4 ? yL + 'px' : yL);\r
+       } else if (ns6) {\r
+               obj.style.left = xL + "px";\r
+               obj.style.top = yL+ "px";\r
+       }\r
+}\r
+\r
+function getFrameRef(thisFrame, ofrm) {\r
+       var retVal = '';\r
+       for (var i=0; i<thisFrame.length; i++) {\r
+               if (thisFrame[i].length > 0) { \r
+                       retVal = getFrameRef(thisFrame[i],ofrm);\r
+                       if (retVal == '') continue;\r
+               } else if (thisFrame[i] != ofrm) continue;\r
+               \r
+               retVal = '['+i+']' + retVal;\r
+               break;\r
+       }\r
+       \r
+       return retVal;\r
+}\r
+\r
+\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////////////////\r
+// PARSER FUNCTIONS\r
+////////////////////////////////////////////////////////////////////////////////////\r
+\r
+\r
+// Defines which frame we should point to.\r
+function opt_FRAME(frm) {\r
+       o3_frame = compatibleframe(frm) ? frm : ol_frame;\r
+\r
+       if (o3_frame != ol_frame) {\r
+               var tFrm = getFrameRef(top.frames, o3_frame);\r
+               var sFrm = getFrameRef(top.frames, ol_frame);\r
+\r
+               if (sFrm.length == tFrm.length) { \r
+                       l = tFrm.lastIndexOf('['); \r
+                       if (l) {\r
+                               while(sFrm.substring(0,l) != tFrm.substring(0,l)) l = tFrm.lastIndexOf('[',l-1);\r
+                               tFrm = tFrm.substr(l);\r
+                               sFrm = sFrm.substr(l);\r
+                       }\r
+               }\r
+                       \r
+               var cnt = 0, p = '', str = tFrm;\r
+                       \r
+               while((k = str.lastIndexOf('[')) != -1) {\r
+                       cnt++;\r
+                       str = str.substring(0,k);\r
+               }\r
+\r
+               for (var i=0; i<cnt; i++) p = p + 'parent.';\r
+               fnRef = p + 'frames' + sFrm + '.';\r
+       }\r
+\r
+       if ( (ns4) || (ie4 || (ns6)) ) {\r
+               if (ns4) over = o3_frame.document.overDiv;\r
+               if (ie4) over = o3_frame.overDiv.style;\r
+               if (ns6) over = o3_frame.document.getElementById("overDiv");\r
+       }\r
+\r
+       return 0;\r
+}\r
+\r
+// Calls an external function\r
+function opt_FUNCTION(callme) {\r
+       o3_text = (callme ? callme() : (o3_function ? o3_function() : 'No Function'));\r
+       return 0;\r
+}\r
+\r
+\r
+\r
+\r
+//end (For internal purposes.)\r
+////////////////////////////////////////////////////////////////////////////////////\r
+// OVERLIB 2 COMPATABILITY FUNCTIONS\r
+// If you aren't upgrading you can remove the below section.\r
+////////////////////////////////////////////////////////////////////////////////////\r
+\r
+// Converts old 0=left, 1=right and 2=center into constants.\r
+function vpos_convert(d) {\r
+       if (d == 0) {\r
+               d = LEFT;\r
+       } else {\r
+               if (d == 1) {\r
+                       d = RIGHT;\r
+               } else {\r
+                       d = CENTER;\r
+               }\r
+       }\r
+       \r
+       return d;\r
+}\r
+\r
+// Simple popup\r
+function dts(d,text) {\r
+       o3_hpos = vpos_convert(d);\r
+       overlib(text, o3_hpos, CAPTION, "");\r
+}\r
+\r
+// Caption popup\r
+function dtc(d,text, title) {\r
+       o3_hpos = vpos_convert(d);\r
+       overlib(text, CAPTION, title, o3_hpos);\r
+}\r
+\r
+// Sticky\r
+function stc(d,text, title) {\r
+       o3_hpos = vpos_convert(d);\r
+       overlib(text, CAPTION, title, o3_hpos, STICKY);\r
+}\r
+\r
+// Simple popup right\r
+function drs(text) {\r
+       dts(1,text);\r
+}\r
+\r
+// Caption popup right\r
+function drc(text, title) {\r
+       dtc(1,text,title);\r
+}\r
+\r
+// Sticky caption right\r
+function src(text,title) {\r
+       stc(1,text,title);\r
+}\r
+\r
+// Simple popup left\r
+function dls(text) {\r
+       dts(0,text);\r
+}\r
+\r
+// Caption popup left\r
+function dlc(text, title) {\r
+       dtc(0,text,title);\r
+}\r
+\r
+// Sticky caption left\r
+function slc(text,title) {\r
+       stc(0,text,title);\r
+}\r
+\r
+// Simple popup center\r
+function dcs(text) {\r
+       dts(2,text);\r
+}\r
+\r
+// Caption popup center\r
+function dcc(text, title) {\r
+       dtc(2,text,title);\r
+}\r
+\r
+// Sticky caption center\r
+function scc(text,title) {\r
+       stc(2,text,title);\r
+}\r
diff --git a/htmakeindex.sh b/htmakeindex.sh
new file mode 100644 (file)
index 0000000..ceb0df7
--- /dev/null
@@ -0,0 +1,5 @@
+#!/bin/sh
+## Genera l'indice con i collegamenti ipertestuali
+## per tex4ht
+tex '\def\filename{{gapil}{ind}{idx}{in}{out}} \input  idxmake.4ht'
+makeindex -o gapil.out gapil.in
diff --git a/htmlize.sh b/htmlize.sh
new file mode 100644 (file)
index 0000000..77f40d2
--- /dev/null
@@ -0,0 +1,66 @@
+#!/bin/sh
+## htmlize.sh
+##
+## 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
+##
+## Script per la compilazione del GaPiL con htlatex
+## ./htmlize.sh   
+##    genera i file HTML ed estrae le immagini
+##
+## ./htmlize.sh  -p
+##    genera i file HTML ma non estrae le immagini
+##
+## $id$
+## 
+
+# compila usando il file di configurazione htgapil.cfg
+htlatex gapil htgapil " " "$1"
+
+# rimuove gli width e height dalle immagini, l'impostazione
+# di default di htlatex (che non so cambiare) è di usare la
+# dimesione dell'immagine in punti pica.
+perl -i.orig -pe 's/width=\".*\"//i' *.html
+perl -i.orig -pe 's/height=\".*\"//i' *.html
+perl -i.orig -pe 's/width=\".*\"//i' *.html
+perl -i.orig -pe 's/height=\".*\"//i' *.html
+
+# ripristina il backslash negli esempi di codice HTML
+perl -i.orig -pe 's/INSERT_BACKSLASH_MAGIC8745/\\/g' *.html
+
+# sostitiusci il colore delle note (mouseover)
+perl -i.orig -pe 's/:aqua/:#fcc/g' *.css
+
+# sposta e pulisci
+mv *.html htgapil
+mv *.png htgapil
+mv *.js htgapil
+mv *.css htgapil
+# - rm *.html~
+# - rm *.html.orig
+
+# piccola gabola per immagini mal convertite da htlatex
+convert -density 110x110 -geometry 70% img/tcpip_overview.ps htgapil/gapil117x.png
+convert -density 110x110 -geometry 50% img/iso_tcp_comp.ps htgapil/gapil114x.png
+convert -density 110x110 -geometry 50% img/tcp_data_flux.ps htgapil/gapil116x.png
+
+cd htgapil
+# wwis è uno script che riscrive width e height 
+# corretti nelle immagini
+wwwis *.html
+# pulizia
+# - rm *~
+cd ..
diff --git a/tex4ht.env b/tex4ht.env
new file mode 100644 (file)
index 0000000..458ab35
--- /dev/null
@@ -0,0 +1,52 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% tex4ht.env
+%
+% Notes:
+%  1. empty lines are harmful
+%  2. place this file in your work
+%     directory
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% * Replace `path' and `tfmpath/...'
+%   ~ for environment variable HOME
+%   ~~ for environment variable TEX4HTTFM
+% * A ! requests recursive search into
+%   subdirectories
+% * Multiple entries of each type are
+%   allowed
+%
+%ttfmpath/tex/texmf/fonts/tfm/!
+%ipath/tex4ht.dir/ht-fonts/iso8859/!
+%ipath/tex4ht.dir/ht-fonts/alias/!
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Replace `path'
+% bookkeeping for searched files
+%lpath/tex4ht.dir/tex4ht.fls
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% Default scripts
+%
+ s--- needs --- %%1.idv[%%2] ==> %%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