From: oetiker Date: Wed, 28 Oct 2009 20:05:35 +0000 (+0000) Subject: update for 1.4 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=2bd0bef5ea3a5d5efc074621b8a6ef2368291a4d;p=rrdtool-all.git update for 1.4 git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.4@1966 a5681a0c-68f1-0310-ab6d-d61299d08faa --- 2bd0bef5ea3a5d5efc074621b8a6ef2368291a4d diff --git a/website/.htaccess b/website/.htaccess new file mode 100644 index 00000000..e62adf1b --- /dev/null +++ b/website/.htaccess @@ -0,0 +1,12 @@ +DirectoryIndex index.en.html index.html +ErrorDocument 404 http://oss.oetiker.ch/rrdtool/404.var +RewriteEngine On +RewriteRule index.html http://oss.oetiker.ch/rrdtool/ [R=302,L] +RewriteRule download.html http://oss.oetiker.ch/rrdtool/download.en.html [R=302,L] + + Order Allow,Deny + Allow From All + + + SetHandler cgi-script + diff --git a/website/.pics/rrdtool.gif b/website/.pics/rrdtool.gif new file mode 100644 index 00000000..e95824a5 Binary files /dev/null and b/website/.pics/rrdtool.gif differ diff --git a/website/.wmkrc b/website/.wmkrc new file mode 100755 index 00000000..9600053a --- /dev/null +++ b/website/.wmkrc @@ -0,0 +1,3 @@ +-o LANG_VAR:%BASE.var +-o (ALL-LANG_*)+LANG_EN:%BASE.en.html@ug+x +#-o (ALL-LANG_*)+LANG_DE:%BASE.de.html@ug+x diff --git a/website/.wmlrc b/website/.wmlrc new file mode 100755 index 00000000..56435066 --- /dev/null +++ b/website/.wmlrc @@ -0,0 +1,17 @@ +-DROOT~. + +############################### +# Language setup +-DLANGS="en" + +############################### + +#-I/home/eedesign/public_html +# last has priority +-I. + +-E $(ROOT)/bin/htmlfix.sh +-P $(ROOT)/bin/headfix.pl + +# tune mp4h behaviour (expansion 0 means complain about everything) +-W "2,--expansion=0" diff --git a/website/404.wml b/website/404.wml new file mode 100644 index 00000000..f1161d9f --- /dev/null +++ b/website/404.wml @@ -0,0 +1,9 @@ + + + +

Sorry this page does not exist

+ +

For the release of RRDtool 1.2 the RRDtool website has been restructured. +Most things are still around, but probably under a new address.

+ diff --git a/website/award-white.png b/website/award-white.png new file mode 100644 index 00000000..40d0b24d Binary files /dev/null and b/website/award-white.png differ diff --git a/website/bin/fix-hrefs.pl b/website/bin/fix-hrefs.pl new file mode 100755 index 00000000..4b6701b7 --- /dev/null +++ b/website/bin/fix-hrefs.pl @@ -0,0 +1,22 @@ +#!/usr/bin/perl -w + +use strict; +use HTML::Parser; + +my $p = HTML::Parser->new(api_version => 3); +$p->handler(start => \&startsub, 'tagname, text'); +#$p->handler(end => \&endsub, 'tagname, text'); +$p->handler(default => sub { print shift() }, 'text'); +$p->parse_file(shift||"-") or die("parse: $!"); + +sub startsub { + my $tag = shift; + my $text = shift; + + if ($tag eq "a") { + $text =~ s,".*?/doc/,",; + $text =~ /^http:/ || $text =~ s,\.html,.en.html,; + $text =~ s/name=".+?"//; + } + print $text; +} diff --git a/website/bin/fix-pod2html-orig.pl b/website/bin/fix-pod2html-orig.pl new file mode 100755 index 00000000..fa514006 --- /dev/null +++ b/website/bin/fix-pod2html-orig.pl @@ -0,0 +1,73 @@ +#!/usr/bin/perl -w + +use strict; +use HTML::Parser; + +# fix pod2html output: +# v1.0: defer and tags until +# the next
,
or + +# v1.1: don't nest any elements; +# end one before beginning another + +# v1.2: insert
tags if
occurs +# inside
+ +# v1.3: anchors must not start with a digit; +# insert a letter "N" at the start if they do + +# v1.4: insert the "N" letter into too. + +my $p = HTML::Parser->new(api_version => 3); +$p->handler(start => \&startsub, 'tagname, text'); +$p->handler(end => \&endsub, 'tagname, text'); +$p->handler(default => sub { print shift() }, 'text'); +$p->parse_file(shift||"-") or die("parse: $!"); + +my @stack; +my $a=0; + +sub startsub { + my $tag = shift; + my $text = shift; + if ($tag eq "dl") { + if (@stack and $stack[0] eq "dt") { + $stack[0] = "dd"; + print "
"; + } + unshift @stack, 0; + } + if (($tag eq "dt" or $tag eq "dd") and $stack[0]) { + print ""; + $stack[0] = 0; + } + if ($tag eq "a") { + if ($a) { + print ""; + } else { + $a++; + } + $text =~ s/(name="|href="#)(\d)/$1N$2/; + } + print $text; +} + + +sub endsub { + my $tag = shift; + my $text = shift; + if ($tag eq "dl") { + print "" if $stack[0]; + shift @stack; + } + if ($tag eq "a") { + if ($a) { + print ""; + $a--; + } + } elsif ($tag eq "dd" or $tag eq "dt") { + $stack[0] = $tag; + } else { + print $text; + } +} diff --git a/website/bin/fix-pod2html.pl b/website/bin/fix-pod2html.pl new file mode 100755 index 00000000..a48eb7c3 --- /dev/null +++ b/website/bin/fix-pod2html.pl @@ -0,0 +1,87 @@ +#!/usr/bin/perl -w + +use strict; +use HTML::Parser; + +# fix pod2html output: +# v1.0: defer
and tags until +# the next
,
or
+ +# v1.1: don't nest any elements; +# end one before beginning another + +# v1.2: insert
tags if
occurs +# inside
+ +# v1.3: anchors must not start with a digit; +# insert a letter "N" at the start if they do + +# v1.4: insert the "N" letter into too. + +my $p = HTML::Parser->new(api_version => 3); +$p->handler(start => \&startsub, 'tagname, text'); +$p->handler(end => \&endsub, 'tagname, text'); +$p->handler(default => sub { print shift() }, 'text'); +$p->parse_file(shift||"-") or die("parse: $!"); + +my @ddstack; +my @listack; +my $a=0; + +sub startsub { + my $tag = shift; + my $text = shift; + if ($tag eq "dl") { + if (@ddstack and $ddstack[0] eq "dt") { + $ddstack[0] = "dd"; + print "
"; + } + unshift @ddstack, 0; + } + if ($tag =~ /^[uo]l$/) { + unshift @listack, 0; + } + if (($tag eq "dt" or $tag eq "dd") and $ddstack[0]) { + print ""; + $ddstack[0] = 0; + } + if (($tag eq "li") and $listack[0]) { + print ""; + $listack[0] = 0; + } + if ($tag eq "a") { + if ($a) { + print ""; + } else { + $a++; + } + $text =~ s/(name="|href="#)(\d)/$1N$2/; + } + print $text; +} + + +sub endsub { + my $tag = shift; + my $text = shift; + if ($tag eq "dl") { + print "" if $ddstack[0]; + shift @ddstack; + } elsif ($tag =~ /^[uo]l$/) { + print "" if $listack[0]; + shift @listack; + } + + if ($tag eq "a") { + if ($a) { + print ""; + $a--; + } + } elsif ($tag eq "dd" or $tag eq "dt") { + $ddstack[0] = $tag; + } elsif ($tag eq "li") { + $listack[0] = $tag; + } else { + print $text; + } +} diff --git a/website/bin/headfix.pl b/website/bin/headfix.pl new file mode 100755 index 00000000..4495445e --- /dev/null +++ b/website/bin/headfix.pl @@ -0,0 +1,15 @@ +#!/usr/bin/perl +undef $/; #slurp alll +$_ = <>; +while (s/]+))/|#include PAGE="$VAL{PAGE}" AUTHOR="$VAL{AUTHOR}" TYPE="$VAL{TYPE}"\n|si; + +print; + diff --git a/website/bin/htmlfix.sh b/website/bin/htmlfix.sh new file mode 100755 index 00000000..8fcf8680 --- /dev/null +++ b/website/bin/htmlfix.sh @@ -0,0 +1,24 @@ +#! /bin/sh +case $1 in +*.html) +# tidy -latin1 -wrap 0 -q -asxhtml $1 >$1.fixed 2>$1.report +# TIDY_RET=$? + cp $1 $1.fixed + TIDY_RET=0 + perl -i -0777 -p -e 's/^\s*//;s{="mailto:(oetiker|tobi|tobias)@(oetiker.ch|ee.ethz.ch)"}{="http://tobi.oetiker.ch/"}g;s{="mailto:(\S*?)\@(\S*?)"}{="mailto:$1@..delete..this..$2"}g' $1.fixed + # yes, beleive it or not IE chockes on propper xhtml pages ... sigh + perl -i -0777 -p -e 's/^\s*<\?xml.+?\?>\s*//;' $1.fixed + if [ $TIDY_RET != 0 ]; then + echo Parsing: $1 + egrep -v "^(HTML Tidy|$1:|To learn|Please send|HTML and CSS|Lobby your)" $1.report + rm $1.report + name=`basename $1 .html` + name=`basename $name .en` + name=`basename $name .de` + touch -m -t 198001010000 $name.*.html + exit 1 + fi + mv $1.fixed $1 + rm -f $1.report +;; +esac diff --git a/website/bin/pod2wml.classic.sh b/website/bin/pod2wml.classic.sh new file mode 100755 index 00000000..e94c673e --- /dev/null +++ b/website/bin/pod2wml.classic.sh @@ -0,0 +1,39 @@ +pod2wml (){ + base=$1 + [ -z "$descr" ] && descr=$base + [ -z "$menu" ] && menu=$descr + pod2html --infile=$base.pod --outfile=$base.pre --noindex --htmlroot='$(ROOT)' --podroot=$SITEROOT --podpath=$PODPATH + $SITEROOT/bin/fix-pod2html.pl $base.pre | $SITEROOT/bin/fix-hrefs.pl >$base.html + echo "" >>navbar.inc + printf "
" >>index.inc + grep $base $base.pod |fgrep ' - '|head -1|sed 's| - |
|' >>index.inc + echo "
" >>index.inc + echo " $base.wml + perl -0777 -n -e 's|E|<|g;s|E|>|g;m|=head1 AUTHO\S+\s*(.+)| && do {$a=$1;$e="no\@address.nowhere";$a=~ s/\s*<(.+?)>\s*,?// and $e=$1; $e=~ s/\s\S+\s/\@/;print "author=\"$a <$e>\"/>\n"}' $base.pod >>$base.wml + # perl -0777 -n -e 's|.*?(.*|$1|s;for($i=5;$i>0;$i--){$j=$i-1;s|(|$1$i>|g}; s|

NAME

.*?

(.+?) - .*?

|

$1

|s;s|

\s*

||g;s|||g;s|\s*
|\n|g;s|\s*||g;s|
\s*
||g;print ' $base.html >>$base.wml + perl -0777 -n -e ' + s|.*?(.*|$1|s; + for($i=5;$i>0;$i--){ + $j=$i-1; + s|(|$1$i>|g + }; + s|.*?NAME.*?.*?\s*(.+?)\s*- .*?

|

$1

|s; + s{
  • (.+?)(?=
  • ||)}{
  • $1
  • }sg; + s|
    \s*(.+?)\s*
    |
    $1
    \n
    |sg; + s|

    \s*

    |\n|g; + s|\n\s|\n|g; + s|\s*\s*
    \s*|\n\n|g;
    +  s|(\S)
    |$1\n|g; + s|
    (.+?)
    |
    $1
    |gs; +# s|\s*(.+?)\s*
    \s+|$1\n|g; + s|
    \s*

    |

    |g; + s|
    \s*
    ||gs; + s|)\s*(\S)(.+?)\s*(

    )|$1$2\L$3\E$4|g; + print + ' $base.html >>$base.wml +# rm $base.html + perl -i~ -0777 -p -e 's|
    \s*\s*
    |
    |sg' $base.wml + rm $base.html $base.pre + descr="" +} diff --git a/website/bin/pod2wml.sh b/website/bin/pod2wml.sh new file mode 100755 index 00000000..b2669f87 --- /dev/null +++ b/website/bin/pod2wml.sh @@ -0,0 +1,61 @@ +pod2wml (){ + base=$1 + [ -z "$descr" ] && descr=$base + [ -z "$menu" ] && menu=$descr + perl-5.8.8 -I/home/oetiker/checkouts/mrtg/trunk/web/bin/lib -MPod::Simple::HTML -e Pod::Simple::HTML::go $base.pod $base.html +#Thing.pod Thing.html +# pod2html-5.8.8 --infile=$base.pod --outfile=$base.pre --noindex --htmlroot='$(ROOT)' --podroot=$SITEROOT --podpath=$PODPATH +# $SITEROOT/bin/fix-pod2html.pl $base.pre | $SITEROOT/bin/fix-hrefs.pl >$base.html + echo "" >>navbar.inc + printf "
    " >>index.inc + grep -i $base $base.pod |fgrep ' - '|head -1|sed 's| - |
    |' >>index.inc + echo "
    " >>index.inc + echo " $base.wml + perl-5.8.8 -0777 -n -e 's|E|<|g;s|E|>|g;m|=head1 AUTHO\S+\s*(.+)| && do {$a=$1;$a =~ s/>.*/>/; $e="no\@address.nowhere";$a=~ s/\s*<(.+?)>\s*,?// and $e=$1; $e=~ s/\s\S+\s/\@/;print "author=\"$a <$e>\"/>\n"}' $base.pod >>$base.wml + # perl -0777 -n -e 's|.*?(.*|$1|s;for($i=5;$i>0;$i--){$j=$i-1;s|(|$1$i>|g}; s|

    NAME

    .*?

    (.+?) - .*?

    |

    $1

    |s;s|

    \s*

    ||g;s|||g;s|\s*
    |\n|g;s|\s*||g;s|\s*
    ||g;print ' $base.html >>$base.wml +true <<'XXXX' + perl-5.8.8 -0777 -n -e ' + s|.*?(.*|$1|s; + for($i=5;$i>0;$i--){ + $j=$i-1; + s|(|$1$i>|g + }; + s|.*?NAME.*?.*?\s*(.+?)\s*- .*?

    |

    $1

    |s; + s{
  • (.+?)(?=
  • ||)}{
  • $1
  • }sg; + s|
    \s*(.*?)\s*
    |
    $1
    \n
    |sg; + s|
    \s*

    \s*(.*?)\s*

    \s*
    |
    $1
    |sg; + s|
  • \s*

    ([^<]+?)

    \s*
  • |
  • $1
  • |sg; + s|

    \s*

    |\n|g; + s|\n\s|\n|g; + s|\s*
    \s*
    \s*|\n\n|g;
    +  s|(\S)
    |$1\n|g; + s|
    (.+?)
    |
    $1
    |gs; +# s|\s*(.+?)\s*
    \s+|$1\n|g; + s|
    \s*()|$1|g; + s|
    \s*
    ||gs; + s|)\s*(\S)(.+?)\s*()|$1$2\L$3\E$4|g; + print + ' $base.html >>$base.wml +# rm $base.html + perl-5.8.8 -i~ -0777 -p -e 's|\s*\s*
    |
    |sg' $base.wml +XXXX + perl-5.8.8 -0777 -n -e ' + s|

    \s*
    |

    \n
    |sg; + s|\s*
    |\n
    |sg; + s|
    (.+?)
    |
    $1
    |gs; + s|.*?(.*|$1|s; + for($i=5;$i>0;$i--){ + $j=$i-1; + s|(|$1$i>|g + }; + s|http://search.cpan.org/perldoc\?([^ #."]+)|$1.en.html|g; + s|rrdtutorial.en.html|../tut/rrdtutorial.en.html|g; + s|.*?NAME.*?.*?\s*(.+?)\s*- .*?

    |

    $1

    |s; + print + ' $base.html >>$base.wml +# rm $base.html + rm $base.html +# $base.pre + descr="" +} diff --git a/website/btdmd8.png b/website/btdmd8.png new file mode 100644 index 00000000..ba559d81 Binary files /dev/null and b/website/btdmd8.png differ diff --git a/website/build.sh b/website/build.sh new file mode 100755 index 00000000..c6a3bc53 --- /dev/null +++ b/website/build.sh @@ -0,0 +1,10 @@ +#!/bin/sh +PERL5LIB=/home/oetiker/lib/fake-perl/ +SITEROOT=`pwd` +PODPATH=`ls */build.sh | sed -e 's|/.*||g' | perl -0777 -e 'print join ":", map {"$_"} split /\n/, <>'` +export PERL5LIB SITEROOT PODPATH +rm */pod*tmp +for x in `ls */build.sh | sed 's|/.*||g'`; do + echo '****' $x '****' + (cd $x;./build.sh) +done diff --git a/website/cast.wml b/website/cast.wml new file mode 100644 index 00000000..93fd0919 --- /dev/null +++ b/website/cast.wml @@ -0,0 +1,14 @@ + + +

    Cast

    + +

    Tobias Oetiker -- Initial design, Main Developer.

    +

    Jake Brutlag -- Aberrant Behavior Detection, Computed datasources.

    +

    Alex van den Bogaerdt -- VDEF and other features, lots of documentation.

    + +

    Over the Years many people have coded for RRDtool. Their contributions +have helped greatly to make RRDtool as useful as it is today.

    + +#use wml::fmt::verbatim + diff --git a/website/doc/build.sh b/website/doc/build.sh new file mode 100755 index 00000000..7d99f45f --- /dev/null +++ b/website/doc/build.sh @@ -0,0 +1,25 @@ + +#!/bin/sh +sect=doc +src=../../program +. ../bin/pod2wml.sh + +pod2descr() { + pod=$1.pod + descr=`grep " - " $pod|head -1|sed 's/.*- //'` + menu=`grep " - " $pod|head -1|sed 's/ -.*//'` +} + + +# build probe list +rm -f navbar.inc +rm -f index.inc + +for pod in `cd $src/doc/;echo rrdtool.pod;echo rrdcached.pod;ls *.pod|egrep -v 'rrdcached.pod|tutorial|beginners|graph-old|bin_dec|rrdtool.pod|python|RRD|ruby|lua|thread'`; do + base=`echo $pod |sed 's,.pod,,'` + echo $base + cat $src/doc/$pod > $base.pod + pod2descr $base + pod2wml $base +done + diff --git a/website/doc/index.wml b/website/doc/index.wml new file mode 100644 index 00000000..4f08e6c7 --- /dev/null +++ b/website/doc/index.wml @@ -0,0 +1,8 @@ + + +

    RRDtool Documentation

    + +
    +#include "index.inc" +
    diff --git a/website/download.wml b/website/download.wml new file mode 100644 index 00000000..73204173 --- /dev/null +++ b/website/download.wml @@ -0,0 +1,79 @@ + + +

    RRDtool Download

    + +You can download RRD tool from several places: + +

    Primary Distribution Point

    + + + +

    You might want to read the build instructions for inspiration on where to go after downloading the source.

    + +#

    Mirror Sites

    +# +# + +

    Binary Distributions

    + + + +

    Anonymous SVN for RRDtool

    + +

    RRDtool source is stored in a subversion repository with anonymous access.

    + +

    Browse the RRDtool SVN via RRDtrac. +Or if you want todo more than look ...

    + +
    +svn ls -R svn://svn.oetiker.ch/rrdtool/
    +
    + +

    tells you what is in the repository. Normally, development will happen in +the "trunk" directory. Every major release gets an entry in the "branches" +tree, and every released version get added to the "tags" tree.

    + +

    If you checkout code from the subversion repository, you will find that +the configure script is missing. You get this generated by running: +./MakeMakefile ... note that you will need automake, autoconf and +libtool installed for this to work.

    + + +

    If you fix a bug, I would love to see the output of 'svn diff'.

    + +

    Starting with rrdtool 1.3rc1, make sure to run ./configure --enable-maintainer-mode prior +before 'makeing' modified source, to ensure that all bits get properly +rebuilt.

    + +

    To get the latest changes from the current 1.2 branch use this:

    +
    +svn checkout svn://svn.oetiker.ch/rrdtool/branches/1.2/program
    +mv program rrdtool-1.2
    +cd rrdtool-1.2
    +./MakeMakefile
    +
    + diff --git a/website/forum.wml b/website/forum.wml new file mode 100644 index 00000000..d10614e9 --- /dev/null +++ b/website/forum.wml @@ -0,0 +1,5 @@ + + +RRD Mailinglists + diff --git a/website/gallery/576_nodes.png b/website/gallery/576_nodes.png new file mode 100644 index 00000000..894d2be7 Binary files /dev/null and b/website/gallery/576_nodes.png differ diff --git a/website/gallery/576_nodes.xml b/website/gallery/576_nodes.xml new file mode 100644 index 00000000..b480b2cc --- /dev/null +++ b/website/gallery/576_nodes.xml @@ -0,0 +1,12 @@ + + + The Matrix + Fabien Wernli + This is a part of our cluster of about 2000 CPUs. + All nodes are being monitored in real-time for major system + information every 15 seconds. Data collection and consolidation + is done on one central server. + + 2006 1 + + diff --git a/website/gallery/CPU__Load.xml b/website/gallery/CPU__Load.xml new file mode 100644 index 00000000..61b34bef --- /dev/null +++ b/website/gallery/CPU__Load.xml @@ -0,0 +1,10 @@ + + CPU Load drawed with drraw.cgi + Christoph Baumann + +Created with drraw from Christophe Kalt (See RRDtool Companions) +Changing Colors and using the new Trend Funkion. + + 2005 5 + christoph.baumann@coop.ch + diff --git a/website/gallery/CPU__Trend.png b/website/gallery/CPU__Trend.png new file mode 100644 index 00000000..ef47348e Binary files /dev/null and b/website/gallery/CPU__Trend.png differ diff --git a/website/gallery/all_gamers_36h.png b/website/gallery/all_gamers_36h.png new file mode 100644 index 00000000..de35010e Binary files /dev/null and b/website/gallery/all_gamers_36h.png differ diff --git a/website/gallery/all_gamers_36h.xml b/website/gallery/all_gamers_36h.xml new file mode 100644 index 00000000..904e2b24 --- /dev/null +++ b/website/gallery/all_gamers_36h.xml @@ -0,0 +1,11 @@ + + + Gamer count on 1stgame.nl + Tom Mulder + Stacked graph of gameserver player counts + 2005 11 + + http://stats.1stgame.nl/ + tom@removethis.1stgame.nl + + diff --git a/website/gallery/andrey.png b/website/gallery/andrey.png new file mode 100644 index 00000000..b20a190b Binary files /dev/null and b/website/gallery/andrey.png differ diff --git a/website/gallery/andrey.xml b/website/gallery/andrey.xml new file mode 100644 index 00000000..9d33c820 --- /dev/null +++ b/website/gallery/andrey.xml @@ -0,0 +1,16 @@ + + + Statistic for network interfaces + Andrey Afanasiev + + This a real (not artificial) data from a production machine. + Isn't it amazing? Probably not the ideal sampling interval. + + 2006 11 + + + + none + afanasiev-av@mcc.elektra.ru + + diff --git a/website/gallery/btdmd8.png b/website/gallery/btdmd8.png new file mode 100644 index 00000000..013d82e9 Binary files /dev/null and b/website/gallery/btdmd8.png differ diff --git a/website/gallery/btdmd8.xml b/website/gallery/btdmd8.xml new file mode 100644 index 00000000..d45c26a2 --- /dev/null +++ b/website/gallery/btdmd8.xml @@ -0,0 +1,18 @@ + + + Interconnect Utilization in Erlangs (Minutes per Minute) + Ben Golden +Graph shows inbound and outbound call traffic going in and out +of the switch via the 6 trunks connected to the Diamond exchange. Inbound +traffic shown as positive and uses a lowest-free fill method. Outbound +traffic shown as negative uses a distributed fill method. Tech +details on RRDtrac. + + 20063 + + + + bengolden@.removethis.blueyonder.co.uk + + diff --git a/website/gallery/charles.png b/website/gallery/charles.png new file mode 100644 index 00000000..a64ad9da Binary files /dev/null and b/website/gallery/charles.png differ diff --git a/website/gallery/charles.xml b/website/gallery/charles.xml new file mode 100644 index 00000000..3975455e --- /dev/null +++ b/website/gallery/charles.xml @@ -0,0 +1,9 @@ + + + HTTP Cache Traffic + Charles Glass + HTTP cache traffic from servers and to clients + 2008 10 + charlesequal@gmail.com + + diff --git a/website/gallery/cubemon.png b/website/gallery/cubemon.png new file mode 100644 index 00000000..9b053174 Binary files /dev/null and b/website/gallery/cubemon.png differ diff --git a/website/gallery/cubemon.xml b/website/gallery/cubemon.xml new file mode 100644 index 00000000..d4746a4f --- /dev/null +++ b/website/gallery/cubemon.xml @@ -0,0 +1,13 @@ + + + + + Cubemon + Hamish Marson +Cubemon - Real-Time openGL rotating .png images from RRDTool. Images generated by stats from monitored devices rotate in cubes. This example showing 26 devices at once + 2008 4 + + + hamish@travellingkiwi.com + + diff --git a/website/gallery/docsis_upstream_utilization.png b/website/gallery/docsis_upstream_utilization.png new file mode 100644 index 00000000..bc3b7f3b Binary files /dev/null and b/website/gallery/docsis_upstream_utilization.png differ diff --git a/website/gallery/docsis_upstream_utilization.xml b/website/gallery/docsis_upstream_utilization.xml new file mode 100644 index 00000000..2a390e7c --- /dev/null +++ b/website/gallery/docsis_upstream_utilization.xml @@ -0,0 +1,16 @@ + + + + DOCSIS UPSTREAM UTILIZATION + Diego Santos Soares + This graph show de upstream utilization +of DOCSIS CMTS in the cable modem broadband operator. + + 2006 10 + + + + diegosoares@yahoo.com.br + + diff --git a/website/gallery/energy_graph.png b/website/gallery/energy_graph.png new file mode 100644 index 00000000..16204f73 Binary files /dev/null and b/website/gallery/energy_graph.png differ diff --git a/website/gallery/energy_graph.xml b/website/gallery/energy_graph.xml new file mode 100644 index 00000000..97aa08ce --- /dev/null +++ b/website/gallery/energy_graph.xml @@ -0,0 +1,15 @@ + + + Energy Mix + Lutz Schulze + This graph shows indoor and outdoor temperature, heating temperatures, +brightness, natural gas and electric power consumption. Values come from MessPC +system and is created with sensorserver project + 2008 3 + + + + http://www.messpc.de/sensorserver.php + lschulze@messpc.de + + diff --git a/website/gallery/entry.txt b/website/gallery/entry.txt new file mode 100644 index 00000000..415866a5 --- /dev/null +++ b/website/gallery/entry.txt @@ -0,0 +1,13 @@ + + + A Title for the Graph + Who created it ? + max 300 characters of background information. + 2005 4 + + + + http://somesite.blabla.plac + max@example.com + + diff --git a/website/gallery/filegroei.png b/website/gallery/filegroei.png new file mode 100644 index 00000000..6829081f Binary files /dev/null and b/website/gallery/filegroei.png differ diff --git a/website/gallery/filegroei.xml b/website/gallery/filegroei.xml new file mode 100644 index 00000000..2c56a34f --- /dev/null +++ b/website/gallery/filegroei.xml @@ -0,0 +1,13 @@ + + + Traffic jam statistics Netherlands + Jeroen Wunnink +RRD with number of dutch traffic jams, length, weather, prediction and 24h ago + 2008 5 + + + + http://www.filegroei.nl + info@filegroei.nl + + \ No newline at end of file diff --git a/website/gallery/flux.png b/website/gallery/flux.png new file mode 100644 index 00000000..cfaa44d5 Binary files /dev/null and b/website/gallery/flux.png differ diff --git a/website/gallery/flux.xml b/website/gallery/flux.xml new file mode 100644 index 00000000..9cb89754 --- /dev/null +++ b/website/gallery/flux.xml @@ -0,0 +1,20 @@ + + + Fluxoscope Graph + Simon Leinen + Fluxoscope is a system used by SWITCH for measurements of + our external network traffic. One of its products are graphs which + represent, for each external connection, the protocol distribution + of traffic over time. The example graph shows the traffic + distribution on one of our "upstream" or transit ISPs over a + period of a few hours. The "positive" part of the graph shows + incoming traffic (what we receive from the ISP), the "negative" + part corresponds to outgoing traffic (what we send them). + + 2005 5 + + + + simon@switch.ch + + diff --git a/website/gallery/fsu_predict.png b/website/gallery/fsu_predict.png new file mode 100644 index 00000000..0b27481b Binary files /dev/null and b/website/gallery/fsu_predict.png differ diff --git a/website/gallery/fsu_predict.xml b/website/gallery/fsu_predict.xml new file mode 100644 index 00000000..e040bcd9 --- /dev/null +++ b/website/gallery/fsu_predict.xml @@ -0,0 +1,8 @@ + + Filesystem Utilization and Predicted Trends + Damien S. Stuart + Shows filesystem utilization with projected trend lines based on various starting points in the dataset. Trends are computed using the rrdtool Least Squares Line functions. If a trend is predicted to cross 100% utiliztion within the graph window, the date of the crossing is displayed. + 20076 + dstuart@dstuart.org + + diff --git a/website/gallery/gate.spamd.day.600.png b/website/gallery/gate.spamd.day.600.png new file mode 100644 index 00000000..397dda8d Binary files /dev/null and b/website/gallery/gate.spamd.day.600.png differ diff --git a/website/gallery/gate.spamd.week.600.png b/website/gallery/gate.spamd.week.600.png new file mode 100644 index 00000000..cc1f5cb6 Binary files /dev/null and b/website/gallery/gate.spamd.week.600.png differ diff --git a/website/gallery/index.en.html b/website/gallery/index.en.html new file mode 100644 index 00000000..46097105 --- /dev/null +++ b/website/gallery/index.en.html @@ -0,0 +1,615 @@ + + + + + + +RRDtool - RRDtool Gallery + + + + + + + + + + + + + + + + + + +
    +
    +Swiss Original. Mirrors: +UK +TW +SE +DE +US +
    + + + + +
    + +

    RRDtool Gallery

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    Add your own graphs to this list

    +

    If you have created a graph you like, and you think I would like it too, +please send me the image plus an xml file like the example below to be +considered for addition to this page. Note that your graph must not be wider +than 600 pixels.

    +
    +<gallery image="graph.png" > <!-- no wider than 600 pixle -->
    +
    +      <title> A Title for the Graph </title>
    +     <author> Who created it ? </author> 
    +<description> max 300 characters of background information. </description>
    +       <year> 2005 </year><month> 4 </month> <!-- creation date -->
    +      
    +   <!-- Optional -->   
    +
    +   <livesite> http://somesite.blabla.plac </livesite> 
    +      <email> max@example.com </email>
    +
    +</gallery>
    + +
    +
    + + + +
    + +10/28/09 | Tobias Oetiker | OETIKER+PARTNER AG + +
    +
    +
    +

    +NOTE: The content of this website is accessible with any browser. The graphical +design though relies completely on CSS2 styles. If you see this text, this means +that your browser does not support CSS2. Consider upgrading to a standard conformant +browser like Mozilla Firefox or +Opera but also Apple's Safari +or KDE's Konqueror for example. +It may also be that you are looking at a mirror page which did not copy the CSS for this page. Or if some pictu +res are missing, then the mirror may not have picked up the contents of the inc directory. +

    + + + + diff --git a/website/gallery/index.var b/website/gallery/index.var new file mode 100644 index 00000000..51873586 --- /dev/null +++ b/website/gallery/index.var @@ -0,0 +1,9 @@ + +URI: index + +URI: index.en.html +Content-type: text/html +Content-language: en + +URI: index.en.html +Content-type: text/html diff --git a/website/gallery/index.wml b/website/gallery/index.wml new file mode 100644 index 00000000..d19b6c1b --- /dev/null +++ b/website/gallery/index.wml @@ -0,0 +1,59 @@ + + + +

    RRDtool Gallery

    + +#include "mmh11.xml" +#include "miszek.xml" +#include "charles.xml" +#include "upstream-traffic-day.xml" +#include "pings.xml" +#include "systembelastung.xml" +#include "filegroei.xml" +#include "sip_messages_week.xml" +#include "cubemon.xml" +#include "sintraf.xml" +#include "energy_graph.xml" +#include "netapp-iops.xml" +#include "temp6.xml" +#include "fsu_predict.xml" +#include "stream-pop.xml" +#include "n20e-daily.xml" +#include "ups_voltage_month.xml" +#include "temp-poprs.xml" +#include "docsis_upstream_utilization.xml" +#include "andrey.xml" +#include "rrdtool-xmas.xml" +#include "termonit.xml" +#include "meteo-igf.xml" +#include "load.xml" +#include "btdmd8.xml" +#include "576_nodes.xml" +#include "windvaan.xml" +#include "rrdstats.xml" +#include "all_gamers_36h.xml" +#include "smpp.xml" +#include "ryan.xml" +#include "zug.xml" +#include "pmacct.xml" +#include "solar.xml" +#include "mailstat-daily.xml" +#include "panel_user.xml" +#include "mailgraph_gallery.xml" +#include "ramUsage.xml" +#include "CPU__Load.xml" +#include "flux.xml" +#include "spamd_rrdgraph.xml" +#include "uw-hep-condor.xml" + + +

    Add your own graphs to this list

    + +

    If you have created a graph you like, and you think I would like it too, +please send me the image plus an xml file like the example below to be +considered for addition to this page. Note that your graph must not be wider +than 600 pixels.

    + +#use wml::fmt::verbatim + diff --git a/website/gallery/load.png b/website/gallery/load.png new file mode 100644 index 00000000..c1441883 Binary files /dev/null and b/website/gallery/load.png differ diff --git a/website/gallery/load.xml b/website/gallery/load.xml new file mode 100644 index 00000000..5ff88814 --- /dev/null +++ b/website/gallery/load.xml @@ -0,0 +1,9 @@ + + Load and CPU usage + Lars Kotthoff + Graphs the load averages on the system and the fractions of CPU + states under the curve. + 200610 + http://www.metalhead.ws/rrdtool + metalhead@metalhead.ws + diff --git a/website/gallery/mailgraph_gallery.png b/website/gallery/mailgraph_gallery.png new file mode 100644 index 00000000..37ea0ad2 Binary files /dev/null and b/website/gallery/mailgraph_gallery.png differ diff --git a/website/gallery/mailgraph_gallery.xml b/website/gallery/mailgraph_gallery.xml new file mode 100644 index 00000000..095039e3 --- /dev/null +++ b/website/gallery/mailgraph_gallery.xml @@ -0,0 +1,18 @@ + + + Mailgraph and Greylisting + David Schweikert +This graphs show the effect that the greylisting technique +had on our mail traffic. Notice the drop of spam and viruses in the +middle of the graph (June 2004) and the corresponding increase in the +rejected mails. + + + 2005 6 + + + + dws@ee.ethz.ch + + diff --git a/website/gallery/mailstat-daily.png b/website/gallery/mailstat-daily.png new file mode 100644 index 00000000..87aed1f7 Binary files /dev/null and b/website/gallery/mailstat-daily.png differ diff --git a/website/gallery/mailstat-daily.xml b/website/gallery/mailstat-daily.xml new file mode 100644 index 00000000..90ccae40 --- /dev/null +++ b/website/gallery/mailstat-daily.xml @@ -0,0 +1,17 @@ + + + Statistic for antispam server + Bambang Budiharto + + Unlike most other report, data in this report are +collected every hour (3600 sec). This graph shows how the effectiveness of +using postfix UCE control, + greylisting and + spamassassin to reduce spam. + + 2005 6 + + budhi@i6x.org + + + diff --git a/website/gallery/meteo-igf.png b/website/gallery/meteo-igf.png new file mode 100644 index 00000000..a4acee51 Binary files /dev/null and b/website/gallery/meteo-igf.png differ diff --git a/website/gallery/meteo-igf.xml b/website/gallery/meteo-igf.xml new file mode 100644 index 00000000..0f2e486e --- /dev/null +++ b/website/gallery/meteo-igf.xml @@ -0,0 +1,16 @@ + + Temperature, humidity and pressure plots + Sylwester Arabas + + We use rrdtool to plot some basic meteorological + parameters. Data is coming from our institute's + (http://www.igf.fuw.edu.pl/zfa/en/) meteo-station + which was build from scratch by students. Rrdtool + fetch command is also used for creation of datafiles + available on the website. + + 2005 + 12 + http://skng.igf.fuw.edu.pl/pl/stacja/ + slayoo@igf.fuw.edu.pl + diff --git a/website/gallery/miszek.png b/website/gallery/miszek.png new file mode 100644 index 00000000..4ac5b43c Binary files /dev/null and b/website/gallery/miszek.png differ diff --git a/website/gallery/miszek.xml b/website/gallery/miszek.xml new file mode 100644 index 00000000..88a1f7e1 --- /dev/null +++ b/website/gallery/miszek.xml @@ -0,0 +1,10 @@ + + Transaction monitoring on property market + M.Cegielski + Graph presents number of transactions on Real Estate market in Wroclaw. Chart is made based on week updates. Similar +graphs present average property prices. Image is not unique but object of monitoring is quite original :) + 2008 11 + + http://wycena.net.pl/ceny-mieszkania-wroclaw.htm + info@wycena.net.pl + diff --git a/website/gallery/mmh11.xml b/website/gallery/mmh11.xml new file mode 100644 index 00000000..5aeb6369 --- /dev/null +++ b/website/gallery/mmh11.xml @@ -0,0 +1,36 @@ + + + MMS Inbound + Alex Rivoltella + Simply parse of SNMPget from Vendor OID. The graph display the +actual volume of transactions for MMS submitions, from 3 differents devices, +such +as, Phone, VAS and MM4 (others operator). + 2006 3 + alessio.r-delme-@tiscalinet.it + + + + + + MMS Retrieve + Alex Rivoltella + Simply parse of SNMPget from Vendor OID. The graph display the +actual volume of transactions for MMS retrieve for mobile phone and sent to +other Operators (OLO). + 2006 3 + alessio.r-delme-@tiscalinet.it + + + + + + MMS Errors + Alex Rivoltella + Simply parse of SNMPget from Vendor OID. The graph display the +actual send a PAP push to the mobile, possibile errors due to get to HLR and +retrieve for mobile. + 2006 3 + alessio.r-delme-@tiscalinet.it + + diff --git a/website/gallery/mmh11_er.png b/website/gallery/mmh11_er.png new file mode 100644 index 00000000..ddce4552 Binary files /dev/null and b/website/gallery/mmh11_er.png differ diff --git a/website/gallery/mmh11_pi.png b/website/gallery/mmh11_pi.png new file mode 100644 index 00000000..3a8faac1 Binary files /dev/null and b/website/gallery/mmh11_pi.png differ diff --git a/website/gallery/mmh11_po.png b/website/gallery/mmh11_po.png new file mode 100644 index 00000000..1f857ba3 Binary files /dev/null and b/website/gallery/mmh11_po.png differ diff --git a/website/gallery/mmsc0.xml b/website/gallery/mmsc0.xml new file mode 100644 index 00000000..5ea4150b --- /dev/null +++ b/website/gallery/mmsc0.xml @@ -0,0 +1,35 @@ + + + MMS Inbound + Alex Rivoltella + Simply parse of SNMPget from Vendor OID. The graph display +the actual volume of transactins for MMS submition, from 3 differents +devices such as, Phone, VAS, and MM4 (others operator). + 2006 1 + alessio.r-leaveme@tiscalinet.it + + + + + + MMS Outbound + Alex Rivoltella + Simply parse of SNMPget from Vendor OID. The graph display +the actual volume of transactins for MMS retreive, to 2 differents +devices such as, Phone and MM4 (others operator). + 2006 1 + alessio.r-leaveme@tiscalinet.it + + + + + + MMS In queue + Alex Rivoltella + Simply parse of SNMPget from Vendor OID. The graph display +the actual volume of transactins for MMS retreive, to 2 differents +devices such as, Phone and MM4 (others operator). + 2006 1 + alessio.r-leaveme@tiscalinet.it + + diff --git a/website/gallery/mmsc0pin.png b/website/gallery/mmsc0pin.png new file mode 100644 index 00000000..4cb020e4 Binary files /dev/null and b/website/gallery/mmsc0pin.png differ diff --git a/website/gallery/mmsc0pout.png b/website/gallery/mmsc0pout.png new file mode 100644 index 00000000..23210d21 Binary files /dev/null and b/website/gallery/mmsc0pout.png differ diff --git a/website/gallery/mmsc0qep.png b/website/gallery/mmsc0qep.png new file mode 100644 index 00000000..0730dc69 Binary files /dev/null and b/website/gallery/mmsc0qep.png differ diff --git a/website/gallery/n20e-daily.png b/website/gallery/n20e-daily.png new file mode 100644 index 00000000..2576e142 Binary files /dev/null and b/website/gallery/n20e-daily.png differ diff --git a/website/gallery/n20e-daily.xml b/website/gallery/n20e-daily.xml new file mode 100644 index 00000000..88be5eb8 --- /dev/null +++ b/website/gallery/n20e-daily.xml @@ -0,0 +1,9 @@ + + Thermostat with Indoor / Outdoor Temperature + Anders Brownworth + A graph of the internal (green) and external (grey) temperature from an IP enabled thermostat. Red areas denote times when the heat +was on while blue denotes times when the air-conditioning was on. This graph also simulates translucent intersecting areas where the internal and +external temperatures can swap places without becoming unreadable. + 2007 5 + http://www.anders.com/projects/thermostat-graph/ + diff --git a/website/gallery/netapp-iops.png b/website/gallery/netapp-iops.png new file mode 100644 index 00000000..071fdd21 Binary files /dev/null and b/website/gallery/netapp-iops.png differ diff --git a/website/gallery/netapp-iops.xml b/website/gallery/netapp-iops.xml new file mode 100644 index 00000000..252186aa --- /dev/null +++ b/website/gallery/netapp-iops.xml @@ -0,0 +1,13 @@ + + + Network Appliance IOPs by protocol + Robert McDermott + We use a combination of RRDtool, SNMP and Python to gather metrics and generate graphs for several of our critical systems. This graph shows a three hour window of the disk IO activity on one of our NetApp filers broken down by protocol (CIFS, NFS, FCP and iSCSI). + 2007 12 + + + +# + rmcdermo@gmail.com + + diff --git a/website/gallery/panel_user.png b/website/gallery/panel_user.png new file mode 100644 index 00000000..8945b17c Binary files /dev/null and b/website/gallery/panel_user.png differ diff --git a/website/gallery/panel_user.xml b/website/gallery/panel_user.xml new file mode 100644 index 00000000..54248d02 --- /dev/null +++ b/website/gallery/panel_user.xml @@ -0,0 +1,11 @@ + + ACAD Network - kuzniki.net - traffic graphing + Gabriel Borkowski + This graph shows amount of total and peer2peer traffic generated by user. + Online, offline decision is based on information if the computer was sending any data. +(Legend translation: 'bajtow na sek DO' - eng. incoming Bps, 'bajtow na sek Z' - eng. outgoing Bps, 'razem' - eng. total, + 'wylaczony' - eng. offline, 'wlaczony' - eng. online) + 2005 6 + + + diff --git a/website/gallery/pings.png b/website/gallery/pings.png new file mode 100644 index 00000000..2ce339be Binary files /dev/null and b/website/gallery/pings.png differ diff --git a/website/gallery/pings.xml b/website/gallery/pings.xml new file mode 100644 index 00000000..182a363e --- /dev/null +++ b/website/gallery/pings.xml @@ -0,0 +1,17 @@ + + + RTT of MPLS VPN endpoints + Bruno Ciscato +Although MPLS VPN endpoints seem just one hop away from +the IP point of view, there is always a more complex underlying +infrastructure. +Collecting endpoint RTTs (pings) and plotting them reveals the hidden +infrastructure. This image shows that there are 6 groups of endpoints +that have consistent +minimum RTTs. This is most likely due to the number of real hops in +the underlying infrastructure and can also be influenced by the last +mile technology. It's also easy to spot temporary re-routing: in this +example the light green endpoint plots temporarily out of his +"league". + 2008 9 + diff --git a/website/gallery/pmacct-3hour.png b/website/gallery/pmacct-3hour.png new file mode 100644 index 00000000..c30e1576 Binary files /dev/null and b/website/gallery/pmacct-3hour.png differ diff --git a/website/gallery/pmacct.xml b/website/gallery/pmacct.xml new file mode 100644 index 00000000..90c0e3fc --- /dev/null +++ b/website/gallery/pmacct.xml @@ -0,0 +1,16 @@ + + + WAN Link Monitoring + Martin Pot +These graphs show network traffic inbound and outbound on the WAN link from our office into our corporate network, and allow us to monitor the network usage of each department in the office. +pmacct is used to monitor all traffic on a mirrored switch port, with some perl scripts to parse the pmacct data, store it into rrd files and generate the graphs. +Get in touch with me if you have any questions. + + 2004 1 + + + + + + + diff --git a/website/gallery/ramUsage.png b/website/gallery/ramUsage.png new file mode 100644 index 00000000..d4d8b828 Binary files /dev/null and b/website/gallery/ramUsage.png differ diff --git a/website/gallery/ramUsage.xml b/website/gallery/ramUsage.xml new file mode 100644 index 00000000..d15edbf1 --- /dev/null +++ b/website/gallery/ramUsage.xml @@ -0,0 +1,9 @@ + + + Ram Usage on Linux Machine + Michiel Brandenburg +Created for use with Torrus (unsubmitted) to show the usage of all available RAM, stacked by type of usage. + 2005 5 + + apex@xepa.nl + diff --git a/website/gallery/rrdstats.png b/website/gallery/rrdstats.png new file mode 100644 index 00000000..bce659a0 Binary files /dev/null and b/website/gallery/rrdstats.png differ diff --git a/website/gallery/rrdstats.xml b/website/gallery/rrdstats.xml new file mode 100644 index 00000000..ff947e61 --- /dev/null +++ b/website/gallery/rrdstats.xml @@ -0,0 +1,10 @@ + + RRDstats QOS classes usage + Dolly +RRDStats is Coyote Linux & BrazilFW floppy router package. +Graphical statistics for bandwidth usage, link quality and defined QOS +classes. + 200511 + http://dolly.czi.cz/coyote/statssample/ + dolly@czi.cz + diff --git a/website/gallery/rrdtool-xmas-orig.png b/website/gallery/rrdtool-xmas-orig.png new file mode 100644 index 00000000..18bd04ef Binary files /dev/null and b/website/gallery/rrdtool-xmas-orig.png differ diff --git a/website/gallery/rrdtool-xmas.png b/website/gallery/rrdtool-xmas.png new file mode 100644 index 00000000..d44a7d87 Binary files /dev/null and b/website/gallery/rrdtool-xmas.png differ diff --git a/website/gallery/rrdtool-xmas.xml b/website/gallery/rrdtool-xmas.xml new file mode 100644 index 00000000..baac8566 --- /dev/null +++ b/website/gallery/rrdtool-xmas.xml @@ -0,0 +1,16 @@ + + + Merry Christmas + Peter J. Linden + Over a year ago I discoverd RRDtool. I had lots of fun +creating all sorts of new graphs since then. So why not use RRDtool for +my christmas cards too. A formula for the trees was simple. Father Christmas +was more of a challenge though. + + 2005 12 + + + + linden@linden-itc.de + + diff --git a/website/gallery/ryan.png b/website/gallery/ryan.png new file mode 100644 index 00000000..cc64e82c Binary files /dev/null and b/website/gallery/ryan.png differ diff --git a/website/gallery/ryan.xml b/website/gallery/ryan.xml new file mode 100644 index 00000000..f96240c2 --- /dev/null +++ b/website/gallery/ryan.xml @@ -0,0 +1,9 @@ + + Traffic in Kibibytes - cable modem. + Ryan Jordan + Just an example of different colors and transparency more or less using the rrdtool's site colors. Has a one minute --step. + 2005 + 11 + http://carmex.ath.cx/graphs/ + ryanstuartjordan@gmail.com + diff --git a/website/gallery/sintraf.png b/website/gallery/sintraf.png new file mode 100644 index 00000000..1ebcb041 Binary files /dev/null and b/website/gallery/sintraf.png differ diff --git a/website/gallery/sintraf.xml b/website/gallery/sintraf.xml new file mode 100644 index 00000000..df53c3a0 --- /dev/null +++ b/website/gallery/sintraf.xml @@ -0,0 +1,21 @@ + + + Sinus-Regression of Server-Traffic + Holger Kohn + This graph shows the traffic of a +networkinterface(dark-green). In red is displayed the optimal +sinus-curve thru the points of one week. Light-green is the +"can-be-range" of the traffic that was not alarmed. Yellow is the +"warning-range" of the curve and every other points cause an +CRITICAL-Warning in our minitoring. So we bring the +statistics-calculations into the monitoring. That will show us abnormaly +using of different curves and alarm it. + 2008 1 + + + + http://www.kohn-nf.de + holger@kohn-nf.de + + diff --git a/website/gallery/sip_messages_week.png b/website/gallery/sip_messages_week.png new file mode 100644 index 00000000..91ea0772 Binary files /dev/null and b/website/gallery/sip_messages_week.png differ diff --git a/website/gallery/sip_messages_week.xml b/website/gallery/sip_messages_week.xml new file mode 100644 index 00000000..86e2db15 --- /dev/null +++ b/website/gallery/sip_messages_week.xml @@ -0,0 +1,6 @@ + +SIP Messages Last Week +Chris Aloi and Matthew M. Boedicker +Inbound and outbound SIP messages on a VoIP trunk group over the last week. +20085 + diff --git a/website/gallery/smpp.png b/website/gallery/smpp.png new file mode 100644 index 00000000..252691f5 Binary files /dev/null and b/website/gallery/smpp.png differ diff --git a/website/gallery/smpp.xml b/website/gallery/smpp.xml new file mode 100644 index 00000000..401acb7a --- /dev/null +++ b/website/gallery/smpp.xml @@ -0,0 +1,13 @@ + + + SMPP Router Statistics + Osinet + SMSs per second statistics graph + 2005 11 + + + + http://www.osinet.com.ar + info@osinet.com.ar + + diff --git a/website/gallery/solar.png b/website/gallery/solar.png new file mode 100644 index 00000000..9e06ab37 Binary files /dev/null and b/website/gallery/solar.png differ diff --git a/website/gallery/solar.xml b/website/gallery/solar.xml new file mode 100644 index 00000000..ff7e1a10 --- /dev/null +++ b/website/gallery/solar.xml @@ -0,0 +1,14 @@ + + + Solar System's Data + Christian Kaiser + Shows the daily information about our solar system's data and state + 2005 8 + + + + http://www.invest-tools.com/pub/solar/today.png + chk@online.de + + + diff --git a/website/gallery/spamd_rrdgraph.xml b/website/gallery/spamd_rrdgraph.xml new file mode 100644 index 00000000..ba06bd48 --- /dev/null +++ b/website/gallery/spamd_rrdgraph.xml @@ -0,0 +1,14 @@ + + + spamd connections + Christopher Kruslicky + +OpenBSD's +spam deferral daemon connection graph shows simultaneous connections in green, and connection times in blue. The dark blue line shows the average connection time, with lighter blue used to show the range from minimum to maximum as a blurring effect. The data is taken from a spamd logfile every time a line is added, or at 10 second intervals if no new data arrives in which case the most recent values are duplicated. The RRD is created with a 30 second heartbeat - so some fractional number of connections is possible. For those unfamiliar with spamd, it is an SMTP tarpit for blacklisted senders. The logfile includes the number of concurrent connections each time a new host connects, and the time a connection has lasted when a host disconnects. The number of connections should be fairly accurate in the graphs, while the connection times are not so in the short-term, depending more on the timing of the disconnects. Connections and times are tracked separately in perl, except that disconnects cause a decrement in the connection count as well. + + + 2005 4 + + chris-rrdgallery@kruslicky.net + + diff --git a/website/gallery/stream-pop.png b/website/gallery/stream-pop.png new file mode 100644 index 00000000..d3537eba Binary files /dev/null and b/website/gallery/stream-pop.png differ diff --git a/website/gallery/stream-pop.xml b/website/gallery/stream-pop.xml new file mode 100644 index 00000000..9cfa3ed0 --- /dev/null +++ b/website/gallery/stream-pop.xml @@ -0,0 +1,11 @@ + + + Streaming Auditor mesure + Black Dragon ? + This graph waas made in order to have an idea of how many listerners are on the webradio every 5 minutes (in order to have a look on privileged listeing hours). It's an example of a "Blue Flaming". Thanks to ED and dedibox-news great helper team. If you want more explainations send me a mail. + 2007 5 + + http://www.fantasticworlds.eu + black@ozone-server.com + + \ No newline at end of file diff --git a/website/gallery/systembelastung.png b/website/gallery/systembelastung.png new file mode 100644 index 00000000..84f5e904 Binary files /dev/null and b/website/gallery/systembelastung.png differ diff --git a/website/gallery/systembelastung.xml b/website/gallery/systembelastung.xml new file mode 100644 index 00000000..0d63399d --- /dev/null +++ b/website/gallery/systembelastung.xml @@ -0,0 +1,11 @@ + + + System Information (retro look) + kmindi + These 2 graphs are displayed on a status page of my +small server at home. The colour green on black is used because I like these colours in combination with computers referring to the opinion of +windows user about linux console freaks that are all supposed to have these colours in their console command line interfaces and because it looks +somehow old school. + + 2008 08 + diff --git a/website/gallery/temp-poprs.png b/website/gallery/temp-poprs.png new file mode 100644 index 00000000..23c6cb52 Binary files /dev/null and b/website/gallery/temp-poprs.png differ diff --git a/website/gallery/temp-poprs.xml b/website/gallery/temp-poprs.xml new file mode 100644 index 00000000..efd381e1 --- /dev/null +++ b/website/gallery/temp-poprs.xml @@ -0,0 +1,16 @@ + + + Temperature + João Marcelo Ceron + This graph shows the temperature of a computer room (indoor) and make a parallel with external +temperature (in Porto Alegre city). + 2007 6 + + + http://www.pop-rs.rnp.br/temperatura + + + + + + diff --git a/website/gallery/temp6.png b/website/gallery/temp6.png new file mode 100644 index 00000000..e18b5a5a Binary files /dev/null and b/website/gallery/temp6.png differ diff --git a/website/gallery/temp6.xml b/website/gallery/temp6.xml new file mode 100644 index 00000000..afe21978 --- /dev/null +++ b/website/gallery/temp6.xml @@ -0,0 +1,8 @@ + + PC temperatures and fan speeds + Ciprian Popovici + An aggregate of all the temperatures and fans in my +personal desktop computer. The spike is me watching a HD movie trailer. +The grey area is a reboot. + 200710 + diff --git a/website/gallery/termonit.png b/website/gallery/termonit.png new file mode 100644 index 00000000..f1ba7773 Binary files /dev/null and b/website/gallery/termonit.png differ diff --git a/website/gallery/termonit.xml b/website/gallery/termonit.xml new file mode 100644 index 00000000..6c3c83e5 --- /dev/null +++ b/website/gallery/termonit.xml @@ -0,0 +1,11 @@ + + + Server room temperature monitoring + Evgueni V. Gavrilov + There are 8 thermal sensors across my server room. This graph shows thermal condition of various parts of the server room. + 2006 + 10 + aquatique@rusunix.org + + + diff --git a/website/gallery/ups_voltage_month.png b/website/gallery/ups_voltage_month.png new file mode 100644 index 00000000..fd801cb8 Binary files /dev/null and b/website/gallery/ups_voltage_month.png differ diff --git a/website/gallery/ups_voltage_month.xml b/website/gallery/ups_voltage_month.xml new file mode 100644 index 00000000..d9df701a --- /dev/null +++ b/website/gallery/ups_voltage_month.xml @@ -0,0 +1,9 @@ + + + Voltage control on APC Smart-UPS 2200 (Last Month) + SnikS + This graph shows the operating voltage of the electrical outlets in the last month. + 20074 + admin@vitmn.ru + + diff --git a/website/gallery/upstream-traffic-day.png b/website/gallery/upstream-traffic-day.png new file mode 100644 index 00000000..41415879 Binary files /dev/null and b/website/gallery/upstream-traffic-day.png differ diff --git a/website/gallery/upstream-traffic-day.xml b/website/gallery/upstream-traffic-day.xml new file mode 100644 index 00000000..aa8b88ed --- /dev/null +++ b/website/gallery/upstream-traffic-day.xml @@ -0,0 +1,10 @@ + + Peering/Upstream Ratio + Alex Detzen + This graph shows Peering- and Upstream-Traffic and +summarizes total amount of traffic from our Autonoumous System to the +World Wide Web. Several RRD-DBs are used to create the graph. MRTG is used +for collecting values from Cisco and Juniper routers. + 2009 9 + diff --git a/website/gallery/uw-condor-use.png b/website/gallery/uw-condor-use.png new file mode 100644 index 00000000..d4df7e5a Binary files /dev/null and b/website/gallery/uw-condor-use.png differ diff --git a/website/gallery/uw-condor.png b/website/gallery/uw-condor.png new file mode 100644 index 00000000..0cebe28d Binary files /dev/null and b/website/gallery/uw-condor.png differ diff --git a/website/gallery/uw-hep-condor.xml b/website/gallery/uw-hep-condor.xml new file mode 100644 index 00000000..3a4e1825 --- /dev/null +++ b/website/gallery/uw-hep-condor.xml @@ -0,0 +1,37 @@ + + + + UW-HEP Grid Computing Resources Graph + Steve Rader + +This graph shows that the Linux Intel computing resources available +for particle physics research at the University of Wisconsin +provides 4.7 CPU years of computing power every day. It's a +combination of Condor pools managed by High Energy Physics, the +Computer Science Department and the Grid Laboratory of Wisconsin. + + + 2005 5 + http://nrg.hep.wisc.edu + + rader@hep.wisc.edu + + + + + + UW-HEP Grid CPU Utilization Graph + Steve Rader + + +This graph shows the utilization of Linux Intel CPUs by particle +physics researchers and other members of the Grid Laboratory of +Wisconsin. + + + 2005 5 + http://nrg.hep.wisc.edu + rader@hep.wisc.edu + + + diff --git a/website/gallery/windvaan.png b/website/gallery/windvaan.png new file mode 100644 index 00000000..c7a12c8b Binary files /dev/null and b/website/gallery/windvaan.png differ diff --git a/website/gallery/windvaan.xml b/website/gallery/windvaan.xml new file mode 100644 index 00000000..dc6b70ad --- /dev/null +++ b/website/gallery/windvaan.xml @@ -0,0 +1,12 @@ + + + Windvaan de drie delfzijlen + H.R. ter Veer + A graph showing wind speed & direction. + 2006 1 + + + + h.r.terveer@noorderzijlvest.nl + + diff --git a/website/gallery/zug.png b/website/gallery/zug.png new file mode 100644 index 00000000..64047467 Binary files /dev/null and b/website/gallery/zug.png differ diff --git a/website/gallery/zug.xml b/website/gallery/zug.xml new file mode 100644 index 00000000..021aeb2b --- /dev/null +++ b/website/gallery/zug.xml @@ -0,0 +1,15 @@ + + + Weather monitoring + Kantonsschule Zug + This graph shows the atmospheric pressure measured at our +school's weather station. We use this data and graphs to +demonstrate weather behavior with real life data. + 2005 11 + + + + http://weather.kanti-zug.ch + info@kanti-zug.ch + + diff --git a/website/hoster.html b/website/hoster.html new file mode 100644 index 00000000..bf9c8509 --- /dev/null +++ b/website/hoster.html @@ -0,0 +1,25 @@ + + + + + + + + + diff --git a/website/iana/RRDMONITOR.MIB b/website/iana/RRDMONITOR.MIB new file mode 100644 index 00000000..3e1e2fd6 --- /dev/null +++ b/website/iana/RRDMONITOR.MIB @@ -0,0 +1,87 @@ +RRDMONITOR-MIB DEFINITIONS ::= BEGIN + +IMPORTS + NOTIFICATION-TYPE, OBJECT-TYPE, MODULE-IDENTITY + FROM SNMPv2-SMI + TEXTUAL-CONVENTION + FROM SNMPv2-TC + rrdtool + FROM RRDTOOL-SMI; + +rrdmonitor MODULE-IDENTITY + LAST-UPDATED "200505160000Z" + ORGANIZATION + "RRDMonitor project" + CONTACT-INFO + "contact info@rrdmonitor.net + http://rrdmonitor.net" + DESCRIPTION + "The MIB module for SNMP variables specific to RRDMonitor project" +::= { rrdtool 3 } + + +EventType ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Defines the event type: + warning -- The monitor condition is first time met + critical -- The monitor condition is met again on the consequtive + monitorin cycle + clear -- The monitor condition is not met the first time after + event type set or repeat" + SYNTAX INTEGER { + warning (1), + critical (2), + clear (3) + } + + +rrdmonitorAlarmTable OBJECT-TYPE + SYNTAX SEQUENCE OF RrdmonitorAlarmEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "" + ::= { rrdmonitor 1 } + +rrdmonitorAlarmEntry OBJECT-TYPE + SYNTAX RrdmonitorAlarmEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "" + INDEX { rrdmonitorEventType, + rrdmonitorMessage } + ::= { rrdmonitorAlarmTable 1 } + +RrdmonitorAlarmEntry ::= SEQUENCE { + rrdmonitorEventType + EventType, + rrdmonitorMessage + OCTET STRING +} + +rrdmonitorEventType OBJECT-TYPE + SYNTAX EventType + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The type of the event: warning(1), critical(2), clear(3)" + ::= { rrdmonitorAlarmEntry 1 } + +rrdmonitorMessage OBJECT-TYPE + SYNTAX OCTET STRING (SIZE(0..128)) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The value of this object uniquely identifies this event entry." + ::= { rrdmonitorAlarmEntry 2 } + +generic NOTIFICATION-TYPE + OBJECTS { rrdmonitorEventType, + rrdmonitorMessage } + STATUS current + DESCRIPTION + "The SNMP trap that is generated when an rrdmonitor monitor condition is changed for the leaf being monitored" + ::= { rrdmonitor 2 } +END \ No newline at end of file diff --git a/website/iana/RRDTOOL-SMI.txt b/website/iana/RRDTOOL-SMI.txt new file mode 100644 index 00000000..0d70ea55 --- /dev/null +++ b/website/iana/RRDTOOL-SMI.txt @@ -0,0 +1,56 @@ +RRDTOOL-SMI DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, + OBJECT-IDENTITY, + enterprises + FROM SNMPv2-SMI; + +rrdtool MODULE-IDENTITY + LAST-UPDATED "200404010000Z" + ORGANIZATION "RRD Tool" + CONTACT-INFO + " Tobi Oetiker + + Postal: OETIKER+PARTNER + Aarweg 15 + CH-4600 Olten + Switzerland + + Telephone: +41 62 213 9907 + E-mail: tobi@oetiker.ch + + RRD Tool Information: + http://oss.oetiker.ch/rrdtool/ + " + DESCRIPTION + "The Structure of RRDTool fellow projects" + ::= { enterprises 14697 } -- assigned by IANA + +rrfw OBJECT-IDENTITY + STATUS current + DESCRIPTION + "Round Robin Database Framework. + http://rrfw.sourceforge.net/ + " + ::= { rrdtool 1 } + +mobilerrd OBJECT-IDENTITY + STATUS current + DESCRIPTION + "RRDtool within KPN Mobile. + Contact mobilerrd{at}12move.nl + " + ::= { rrdtool 2 } + +rrdmonitor OBJECT-IDENTITY + STATUS current + DESCRIPTION + "The MIB module for SNMP variables specific to rrdmonitor project + Contact: skorza@gmail.com, rrdmonitor@10096.it + " + ::= { rrdtool 3 } + +-- more to come if necessary. + +END diff --git a/website/iana/index.wml b/website/iana/index.wml new file mode 100644 index 00000000..9540895a --- /dev/null +++ b/website/iana/index.wml @@ -0,0 +1,24 @@ + + +

    The RRDtool Enterprise Tree

    + +

    The IANA has assigned the Enterprise OID 1.3.6.1.4.1.14697 to the +RRDtool project. This enables us to give out sub OIDs to RRDtool +frontends which need a place in the SNMP tree to place their own OIDs. If +you want an OID for your project, please drop me a line.

    + +

    The toplevel MIB defining the basic structure of our tree is RRDTOOL-SMI

    + +

    MIB Subregistrations

    + +

    The following subregistrations have been accepted:

    + + + +

    If you submit MIB modules, please validate them +before sending them to me. State in your mail that you have validated the MIB, or I will ask you todo it.

    diff --git a/website/inc/IE7/README.txt b/website/inc/IE7/README.txt new file mode 100644 index 00000000..647c8ea7 --- /dev/null +++ b/website/inc/IE7/README.txt @@ -0,0 +1,34 @@ +Installation +------------ + +Follow these simple instructions to get IE7 working immediately on your server: + + * download the latest IE7 ZIP file (https://sourceforge.net/project/showfiles.php?group_id=109983&package_id=119707) + + * extract the contents to a directory on your server (keep the folder names used in the ZIP) + + * you will now have an IE7 directory on your server + + * include the IE7 JavaScript library in the page you wish to test + + + + + * make sure this also points to the same directory + + * open the page in your web browser + + * the page should now be IE7 enabled. + + * if you are using the PNG solution then be aware that it operates on files + names "something-trans.png" + + * see this page for more configuration and usage options: + http://dean.edwards.name/IE7/usage/ + +You may extract the contents of the ZIP file to your hard disk if you do not have access to a web server. + + +Enjoy ;-) + +Dean Edwards, 23rd May 2005 diff --git a/website/inc/IE7/blank.gif b/website/inc/IE7/blank.gif new file mode 100644 index 00000000..a4fe2e62 Binary files /dev/null and b/website/inc/IE7/blank.gif differ diff --git a/website/inc/IE7/ie7-base64.php b/website/inc/IE7/ie7-base64.php new file mode 100644 index 00000000..530392d7 --- /dev/null +++ b/website/inc/IE7/ie7-base64.php @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/website/inc/IE7/ie7-content.htc b/website/inc/IE7/ie7-content.htc new file mode 100644 index 00000000..cc480cb5 --- /dev/null +++ b/website/inc/IE7/ie7-content.htc @@ -0,0 +1,14 @@ + + + + + + + + + + diff --git a/website/inc/IE7/ie7-core.js b/website/inc/IE7/ie7-core.js new file mode 100644 index 00000000..c3dbcefa --- /dev/null +++ b/website/inc/IE7/ie7-core.js @@ -0,0 +1,6 @@ +/* + IE7, version 0.9 (alpha) (2005-08-19) + Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/) + License: http://creativecommons.org/licenses/LGPL/2.1/ +*/ +eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('x(!1M.1j)z 6(){1l{1M.1j=8;4 1W=8.2m=z 26;8.O=6(){7"1j 2q 0.9 (5G)"};4 36=/36/.B(42.41.40);4 1G=(36)?6(m){1M.1G(1j+"\\n\\n"+m)}:1W;4 2t=5F.2t.1g(/5E (\\d\\.\\d)/)[1];4 2z=K.5D!="5C";x(/5B/.B(42.41.40)||2t<5||!/^5A/.B(K.1J.2A))7;4 1H=K.39=="1H";4 1t,5z;4 1J=K.1J,2s,3X,17=K.17;4 5y="!";4 22={};4 1u=1C;1j.2m=6(n,s){x(!22[n]){x(1u)1k("s="+2o(s));22[n]=z s()}};4 R=/^[\\w\\.]+[^:]*$/;6 1I(h,p){x(R.B(h))h=(p||"")+h;7 h};6 2e(h,p){h=1I(h,p);7 h.1d(0,h.3n("/")+1)};4 s=K.3Z[K.3Z.y-1];1l{1k(s.3z)}1i(i){}4 1R=2e(s.5x);4 1F;1l{4 l=(5w()>=5)?"5v":"5u";1F=z 5t(l+".5s")}1i(i){}4 2w={};6 2y(h,p){1l{h=1I(h,p);x(!2w[h]){1F.5r("5q",h,1C);1F.5p();x(1F.3Y==0||1F.3Y==5o){2w[h]=1F.5n}}}1i(i){1G("2x [1]: 30 5m 5l "+h)}37{7 2w[h]||""}};4 5k=1I("5j.5i",1R);6 1E(V){x(V!=1L){V.2v=13.16.2v;V.12=13.16.12}7 V};1E.12=6(p,c){x(!p)p={};x(!c)c=p.J;x(c=={}.J)c=z 26("8.2v()");c.Y=z 26("7 8");c.Y.16=z 8.Y;c.Y.16.12(p);c.16=z c.Y;c.Y.16.J=c.16.J=c;c.1r=8;c.12=F.32;c.2u=8.2u;7 c};1E.Y=z 26("7 8");1E.Y.16={J:1E,2v:6(){7 F.32.5h.1r.2k(8,F)},12:6(V){x(8==8.J.16&&8.J.12){7 8.J.Y.16.12(V)}D(4 i 5g V){2K(i){1o"J":1o"O":1o"Y":2X}x(2V V[i]=="6"&&V[i]!=8[i]){V[i].1r=8[i]}8[i]=V[i]}x(V.O!=8.O&&V.O!={}.O){V.O.1r=8.O;8.O=V.O}7 8}};6 13(){};8.13=1E.12({J:13,O:6(){7"[5f "+(8.J.2Z||"5e")+"]"},5d:6(1h){7 8.J==1h||1h.2u(8.J)}});13.2Z="13";13.1r=1L;13.2u=6(1h){1f(1h&&1h.1r!=8)1h=1h.1r;7 3J(1h)};13.Y.1r=1E;2a 8.13;4 3A=13.12({J:6(){8.5c=[];8.1p=[]},1s:1W});x(2t<5.5)1k(2y("Z-5b.3a",1R));4 35=1C;1j.1s=6(){1l{x(35)7;35=1H=1c;2s=K.2s;3X=(2z)?2s:1J;x(1K&&1t)1t.2k();15.2k();1n();1G("1u 5a")}1i(e){1G("2x [2]: "+e.38)}};4 1p=[];6 2C(r){1p.11(r)};6 1n(){H.3P();x(1K&&1t)1t.1n();15.1n();D(4 i=0;i<1p.y;i++)1p[i]()};6 23(){4 E=0,R=1,L=2;4 G=/\\(/g,S=/\\$\\d/,I=/^\\$\\d+$/,T=/([\'"])\\1\\+(.*)\\+\\1\\1$/,3Q=/\\\\./g,Q=/\'/,3W=/\\25[^\\25]*\\25/g;4 1X=8;8.18=6(e,r){x(!r)r="";4 l=(34(2o(e)).1g(G)||"").y+1;x(S.B(r)){x(I.B(r)){r=3e(r.1d(1))-1}1b{4 i=l;4 q=Q.B(34(r))?\'"\':"\'";1f(i)r=r.2S("$"+i--).2p(q+"+a[o+"+i+"]+"+q);r=z 26("a,o","7"+q+r.19(T,"$1")+q)}}3V(e||"/^$/",r,l)};8.1U=6(s){24.y=0;7 3R(3S(s,8.2r).19(z 1Z(1D,8.33?"2I":"g"),3T),8.2r).19(3W,"")};8.59=6(){1D.y=0};4 24=[];4 1D=[];4 3U=6(){7"("+2o(8[E]).1d(1,-1)+")"};1D.O=6(){7 8.2p("|")};6 3V(){F.O=3U;1D[1D.y]=F}6 3T(){x(!F[0])7"";4 i=1,j=0,p;1f(p=1D[j++]){x(F[i]){4 r=p[R];2K(2V r){1o"6":7 r(F,i);1o"58":7 F[r+i]}4 d=(F[i].57(1X.2r)==-1)?"":"\\25"+F[i]+"\\25";7 d+r}1b i+=p[L]}};6 3S(s,e){7 e?s.19(z 1Z("\\\\"+e+"(.)","g"),6(m,c){24[24.y]=c;7 e}):s};6 3R(s,e){4 i=0;7 e?s.19(z 1Z("\\\\"+e,"g"),6(){7 e+(24[i++]||"")}):s};6 34(s){7 s.19(3Q,"")}};23.16={J:23,33:1C,2r:""};13.12(23.16);4 1V=23.12({33:1c});4 H=6(){4 2q="2.0.2";4 C=/\\s*,\\s*/;4 H=6(s,14){1l{4 m=[];4 u=F.32.2Q&&!14;4 b=(14)?(14.J==3G)?14:[14]:[K];4 31=3D(s).2S(C),i;D(i=0;i<31.y;i++){s=2R(31[i]);x(3K&&s.1d(0,3).2p("")==" *#"){s=s.1d(2);14=3H([],b,s[1])}1b 14=b;4 j=0,t,f,a,c="";1f(j+~]/;4 3E=/[\\s#.:>+~()@]|[^\\s#.:>+~()@]+/g;6 2R(s){x(S.B(s))s=" "+s;7 s.1g(3E)||[]};4 W=/\\s*([\\s>+~(),]|^|$)\\s*/g;4 I=/([\\s>+~,]|[^(]\\+|^)([#.:@])/g;4 3D=6(s){7 s.19(W,"$1").19(I,"$1*$2")};4 1y={O:6(){7"\'"},1g:/^(\'[^\']*\')|("[^"]*")$/,B:6(s){7 8.1g.B(s)},18:6(s){7 8.B(s)?s:8+s+8},3C:6(s){7 8.B(s)?s.1d(1,-1):s}};4 1N=6(t){7 1y.3C(t)};4 E=/([\\/()[\\]?{}|*+-])/g;6 4O(s){7 s.19(E,"\\\\$1")};1u=1c;7 H}();H.2Q=1c;H.2m("Z",6(){1q=6(e){7(e&&e.3B==1&&e.2P!="!"&&!e.3d)?e:1L}});H.Y("1N=F[1]",3k);4 1K=!H.Y("2O(F[1])",1J);4 2h=":21{Z-21:21}:2N{Z-21:2N}"+(1K?"":"*{4N:0}");4 15=z(3A.12({2F:z 1V,1O:"",1w:"",2L:[],1s:6(){8.2M();8.2g()},2g:6(){15.1Y.X=2h+8.1O+8.1w},3y:6(){4 20=K.2l("1e"),s;D(4 i=20.y-1;(s=20[i]);i--){x(!s.2H&&!s.Z){8.2L.11(s.3z)}}},2k:6(){8.3y();8.2g();z 28("1O");8.3u()},3w:6(e,r){8.2F.18(e,r)},1n:6(){4 R=/3v\\d+/g;4 s=2h.1g(/[{,]/g).y;4 20=s+(8.1O.X.1g(/\\{/g)||"").y;4 3x=8.1Y.4M,r;4 2j,c,2i,e,i,j,k,1a;D(i=s;i<20;i++){r=3x[i];x(r&&(2j=r.1e.X.1g(R))){2i=H(r.4L);x(2i.y)D(j=0;j<2j.y;j++){1a=2j[j];c=15.1p[1a.1d(10)][2];D(k=0;(e=2i[k]);k++){x(e.1v[1a])c(e)}}}}},2C:6(p,t,h,r){t=z 1Z("([{;\\\\s])"+p+"\\\\s*:\\\\s*"+t+"[^;}]*");4 i=8.1p.y;x(r)r=p+":"+r;8.3w(t,6(m,o){7(r?m[o+1]+r:m[o])+";Z-"+m[o].1d(1)+";3v"+i+":1"});8.1p.11(F);7 i},1N:6(s){7 s.X||""},2M:6(){x(1H||!1K)K.2M();1b K.4K("<1e Z=1c>");8.1Y=17[17.y-1];8.1Y.Z=1c;8.1Y.X=2h},3u:6(){D(4 i=0;i<17.y;i++){x(!17[i].Z&&17[i].X){17[i].X=""}}}}));6 28(m){8.1z=m;8.1S();15[m]=8;15.2g()};13.12({J:28,O:6(){7"@1z "+8.1z+"{"+8.X+"}"},1n:1W,1S:6(){8.X="";8.1N();8.3m();8.X=3j(8.X);f={}},1N:6(){4 3r=[].3t(15.2L);4 M=/@1z\\s+([^{]*)\\{([^@]+\\})\\s*\\}/2I;4 A=/\\4J\\b|^$/i,S=/\\4I\\b/i,P=/\\4H\\b/i;6 3q(c,m){2f.v=m;7 c.19(M,2f)};6 2f(4G,m,c){m=2J(m);2K(m){1o"1O":1o"1w":x(m!=2f.v)7"";1o"1A":7 c}7""};6 2J(m){x(A.B(m))7"1A";1b x(S.B(m))7(P.B(m))?"1A":"1O";1b x(P.B(m))7"1w"};4 1X=8;6 2G(s,p,m,l){4 c="";x(!l){m=2J(s.1z);l=0}x(m=="1A"||m==1X.1z){x(l<3){D(4 i=0;i/);4 2c=z 1V;2c.18(/\\\\\'/,"\\\\4C");2c.18(/\\\\"/,"\\\\4B");4 2D=z 1V;2D.18(/\'(\\d+)\'/,3i);6 3j(c){7 2D.1U(c)};6 3i(m,o){7 2b[m[o+1]]};4 2B=[];6 4A(h){2C(h);1Q(1M,"4z",h)};6 1Q(e,t,h){e.4y(t,h);2B.11(F)};6 3g(e,t,h){1l{e.4x(t,h)}1i(i){}};1Q(1M,"4w",6(){4 h;1f(h=2B.3h()){3g(h[0],h[1],h[2])}});6 4v(h,e,c){x(!h.29)h.29={};x(c)h.29[e.2A]=e;1b 2a h.29[e.2A];7 c};1Q(1M,"4u",6(){x(!15.1w)z 28("1w");15.1w.1n()});4 3f=/^\\d+(4t)?$/i;4 4s=/^\\d+%$/;4 4r=6(e,v){x(3f.B(v))7 3e(v);4 s=e.1e.1m;4 r=e.1T.1m;e.1T.1m=e.1v.1m;e.1e.1m=v||0;v=e.1e.4q;e.1e.1m=s;e.1T.1m=r;7 v};6 4p(t){4 e=K.4o(t||"4n");e.1e.X="3c:4m;4l:0;4k:4j;4i:4h;4g:4f(0 0 0 0);1m:-4e";e.3d=1c;7 e};4 27="Z-";6 4d(e){7 e.1v["Z-3c"]=="4c"};6 4b(e,p){7 e.1v[27+p]||e.1v[p]};6 4a(e,p,v){x(e.1v[27+p]==1L){e.1T[27+p]=e.1v[p]}e.1T[p]=v};6 49(o,c,u){4 t=48(6(){1l{x(!o.1S)7;o.1S(o,c,u);3b(t)}1i(i){3b(t)}},10)};1u=1c;x(2z)1k(2y("Z-47.3a",1R));15.1s();x(1K&&1t)1t.1s();x(1H)1j.1s();1b{1J.46(1I("Z-1S.45",1R));1Q(K,"44",6(){x(K.39=="1H")43(1j.1s,0)})}}1i(e){1G("2x [0]: "+e.38)}37{}};',62,353,'||||var||function|return|this|||||||||||||||||||||||||if|length|new||test||for||arguments||cssQuery||constructor|document||||toString|||||||that||cssText|valueOf|ie7||push|specialize|Common|fr|ie7CSS|prototype|styleSheets|add|replace|id|else|true|slice|style|while|match|klass|catch|IE7|eval|try|left|recalc|case|recalcs|thisElement|ancestor|init|ie7HTML|loaded|currentStyle|print|encoder|Quote|media|all|selectors|false|_0|ICommon|httpRequest|alert|complete|makePath|documentElement|isHTML|null|window|getText|screen|cache|addEventHandler|path|load|runtimeStyle|exec|Parser|DUMMY|self|styleSheet|RegExp|st|link|modules|ParseMaster|_1|x01|Function|_2|StyleSheet|elements|delete|_3|safeString|href|getPath|_4|refresh|HEADER|el|ca|apply|getElementsByTagName|addModule|pseudoClasses|String|join|version|escapeChar|body|appVersion|ancestorOf|inherit|_5|Error|loadFile|quirksMode|uniqueID|_6|addRecalc|decoder|_7|parser|_8|disabled|gi|_9|switch|styles|createStyleSheet|visited|isXML|tagName|caching|_10|split|compareNamespace|getDocument|typeof|nextElementSibling|continue|links|className|error|se|callee|ignoreCase|_11|_12|ie7_debug|finally|description|readyState|js|clearInterval|position|ie7_anon|parseInt|PIXEL|removeEventHandler|pop|_13|decode|getString|_14|parse|lastIndexOf|_15|_16|_17|_18|imports|concat|trash|ie7_recalc|addFix|ru|getInlineStyles|innerHTML|Fix|nodeType|remove|parseSelector|ST|select|Array|_19|mimeType|Boolean|isMSIE|firstElementChild|lastChild|previousElementSibling|firstChild|clearCache|ES|_20|_21|_22|_23|_24|DE|viewport|status|scripts|search|location|top|setTimeout|onreadystatechange|htc|addBehavior|quirks|setInterval|addTimer|setOverrideStyle|getDefinedStyle|fixed|isFixed|9999|rect|clip|none|border|block|display|padding|absolute|object|createElement|createTempElement|pixelLeft|getPixelValue|PERCENT|px|onbeforeprint|register|onunload|detachEvent|attachEvent|onresize|addResize|x22|x27|import|namespace|url|ma|bprint|bscreen|ball|write|selectorText|rules|margin|regEscape|item|innerText|getTextContent|scopeName|toUpperCase|compareTagName|ownerDocument|Document|XML|URL|xml|unknown|childElements|lastElementChild|nextSibling|previousSibling|attributeSelectors|AttributeSelector|indexOf|number|reset|successfully|ie5|fixes|instanceOf|Object|common|in|caller|gif|blank|BLANK_GIF|file|loading|responseText|200|send|GET|open|XMLHTTP|ActiveXObject|Microsoft|Msxml2|ScriptEngineMajorVersion|src|ANON|ie7Layout|ms_|ie7_off|CSS1Compat|compatMode|MSIE|navigator|alpha'.split('|'),0,{})) diff --git a/website/inc/IE7/ie7-css-strict.js b/website/inc/IE7/ie7-css-strict.js new file mode 100644 index 00000000..0c7e330d --- /dev/null +++ b/website/inc/IE7/ie7-css-strict.js @@ -0,0 +1,6 @@ +/* + IE7, version 0.9 (alpha) (2005-08-19) + Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/) + License: http://creativecommons.org/licenses/LGPL/2.1/ +*/ +IE7.addModule("ie7-css-strict",function(){if(!modules["ie7-css2-selectors"])return;StyleSheet.prototype.specialize({parse:function(){this.inherit();var r=[].concat(this.rules);r.sort(ie7CSS.Rule.compare);this.cssText=r.join("\n")},createRule:function(s,c){var m;if(m=s.match(ie7CSS.PseudoElement.MATCH))return new ie7CSS.PseudoElement(m[1],m[2],c);else if(m=s.match(ie7CSS.DynamicRule.MATCH))return new ie7CSS.DynamicRule(s,m[1],m[2],m[3],c);else return new ie7CSS.Rule(s,c)}});ie7CSS.specialize({apply:function(){this.inherit();this.Rule.MATCH=/([^{}]+)(\{[^{}]*\})/g}});ie7CSS.Rule.compare=function(r1,r2){return r1.specificity-r2.specificity};var N=[],I=/#/g,C=/[.:\[]/g,T=/^\w|[\s>+~]\w/g;ie7CSS.Rule.score=function(s){return(s.match(I)||N).length*10000+(s.match(C)||N).length*100+(s.match(T)||N).length};ie7CSS.Rule.simple=function(){return""};ie7CSS.Rule.prototype.specialize({specificity:0,init:function(){this.specificity=ie7CSS.Rule.score(this.selector)}})}); diff --git a/website/inc/IE7/ie7-css2-selectors.js b/website/inc/IE7/ie7-css2-selectors.js new file mode 100644 index 00000000..bb08da3d --- /dev/null +++ b/website/inc/IE7/ie7-css2-selectors.js @@ -0,0 +1,6 @@ +/* + IE7, version 0.9 (alpha) (2005-08-19) + Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/) + License: http://creativecommons.org/licenses/LGPL/2.1/ +*/ +IE7.addModule("ie7-css2-selectors",function(){cssQuery.addModule("css-level2",function(){selectors[">"]=function(r,f,t,n){var e,i,j;for(i=0;i+~\[]|([:.])[\\w-()]+\\1|:("+p+")");var c="[^\\s(]+\\s*[+~]|@\\d+|:(";Rule.COMPLEX=new RegExp(c+p+")","g");DynamicRule.COMPLEX=new RegExp(c+this.pseudoClasses+")","g");DynamicRule.MATCH=new RegExp("(.*):("+this.dynamicPseudoClasses+")(.*)");PseudoElement.MATCH=/(.*):(before|after).*/;this.inherit()},recalc:function(){this.screen.recalc();this.inherit()},getText:function(s,p){return httpRequest?(loadFile(s.href,p)||s.cssText):this.inherit(s)},addEventHandler:function(e,t,h){addEventHandler(e,t,h)}});function Rule(s,c){this.id=ie7CSS.rules.length;this.className=Rule.PREFIX+this.id;s=(s).match(F)||s||"*";this.selector=s[1]||s;this.selectorText=Rule.simple(this.selector)+"."+this.className+(s[2]||"");this.cssText=c;this.MATCH=new RegExp("\\s"+this.className+"(\\s|$)","g");ie7CSS.rules.push(this);this.init()};Common.specialize({constructor:Rule,toString:function(){return this.selectorText+" {"+this.cssText+"}"},init:DUMMY,add:function(e){e.className+=" "+this.className},remove:function(e){e.className=e.className.replace(this.MATCH,"$1")},recalc:function(){var m=ie7CSS.cache[" *."+this.className]=cssQuery(this.selector);for(i=0;i/g;Rule.simple=function(s){s=AttributeSelector.parse(s);return s.replace(this.COMPLEX,"").replace(this.CHILD," ")};function DynamicRule(s,a,d,t,c){this.attach=a||"*";this.dynamicPseudoClass=ie7CSS.dynamicPseudoClasses[d];this.target=t;this.inherit(s,c)};Rule.specialize({constructor:DynamicRule,recalc:function(){var m=cssQuery(this.attach);for(var i=0;i";PseudoElement.ANON="%3";function DynamicPseudoClass(n,a){this.name=n;this.apply=a;this.instances={};ie7CSS.dynamicPseudoClasses[n]=this};Common.specialize({constructor:DynamicPseudoClass,register:function(i){var c=i[2];i.id=c.id+i[0].uniqueID;if(!this.instances[i.id]){var t=i[1],j;for(j=0;j1)p+="\\([^)]*\\)";t.push(p)}return t.join("|")};ie7CSS.pseudoClasses["link"]=function(e){return e.currentStyle["ie7-link"]=="link"};ie7CSS.pseudoClasses["visited"]=function(e){return e.currentStyle["ie7-link"]=="visited"};var _4=(appVersion<5.5)?"onmouseover":"onmouseenter";var _3=(appVersion<5.5)?"onmouseout":"onmouseleave";ie7CSS.dynamicPseudoClasses.toString=ie7CSS.pseudoClasses.toString;var _0=new DynamicPseudoClass("hover",function(e){var i=arguments;ie7CSS.addEventHandler(e,_4,function(){_0.register(i)});ie7CSS.addEventHandler(e,_3,function(){_0.unregister(i)})});var _1=new DynamicPseudoClass("focus",function(e){var i=arguments;ie7CSS.addEventHandler(e,"onfocus",function(){_1.unregister(i);_1.register(i)});ie7CSS.addEventHandler(e,"onblur",function(){_1.unregister(i)});if(e==document.activeElement){_1.register(i)}});var _2=new DynamicPseudoClass("active",function(e){var i=arguments;ie7CSS.addEventHandler(e,"onmousedown",function(){_2.register(i)})});addEventHandler(document,"onmouseup",function(){var i=_2.instances,j;for(j in i)_2.unregister(i[j]);i=_0.instances;for(j in i)if(!i[j][0].contains(event.srcElement))_0.unregister(i[j])});ICommon(AttributeSelector);AttributeSelector.specialize({getAttribute:function(n){switch(n.toLowerCase()){case"class":return"e.className.replace(/\\b\\s*ie7_class\\d+/g,'')";case"src":return"(e.pngSrc||e.src)"}return this.inherit(n)}});encoder.add(/::/,":");safeString.add(/\\([\da-fA-F]{1,4})/,function(m,o){m=m[o+1];return"\\u"+"0000".slice(m.length)+m})}); diff --git a/website/inc/IE7/ie7-css3-selectors.js b/website/inc/IE7/ie7-css3-selectors.js new file mode 100644 index 00000000..7337b824 --- /dev/null +++ b/website/inc/IE7/ie7-css3-selectors.js @@ -0,0 +1,6 @@ +/* + IE7, version 0.9 (alpha) (2005-08-19) + Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/) + License: http://creativecommons.org/licenses/LGPL/2.1/ +*/ +IE7.addModule("ie7-css3-selectors",function(){cssQuery.addModule("css-level3",function(){selectors["~"]=function(r,f,t,n){var e,i;for(i=0;(e=f[i]);i++){while(e=nextElementSibling(e)){if(compareTagName(e,t,n))r.push(e)}}};pseudoClasses["contains"]=function(e,t){t=new RegExp(regEscape(getText(t)));return t.test(getTextContent(e))};pseudoClasses["root"]=function(e){return e==getDocument(e).documentElement};pseudoClasses["empty"]=function(e){var n,i;for(i=0;(n=e.childNodes[i]);i++){if(thisElement(n)||n.nodeType==3)return false}return true};pseudoClasses["last-child"]=function(e){return!nextElementSibling(e)};pseudoClasses["only-child"]=function(e){e=e.parentNode;return firstElementChild(e)==lastElementChild(e)};pseudoClasses["not"]=function(e,s){var n=cssQuery(s,getDocument(e));for(var i=0;i=c);return(c%m)==s}});var firstElementChild=cssQuery.valueOf("firstElementChild");ie7CSS.pseudoClasses["root"]=function(e){return(e==viewport)||(!isHTML&&e==firstElementChild(body))};var _4=new ie7CSS.DynamicPseudoClass("checked",function(e){if(typeof e.checked!="boolean")return;var i=arguments;ie7CSS.addEventHandler(e,"onpropertychange",function(){if(event.propertyName=="checked"){if(e.checked)_4.register(i);else _4.unregister(i)}});if(e.checked)_4.register(i)});var _3=new ie7CSS.DynamicPseudoClass("enabled",function(e){if(typeof e.disabled!="boolean")return;var i=arguments;ie7CSS.addEventHandler(e,"onpropertychange",function(){if(event.propertyName=="disabled"){if(!e.isDisabled)_3.register(i);else _3.unregister(i)}});if(!e.isDisabled)_3.register(i)});var _2=new ie7CSS.DynamicPseudoClass("disabled",function(e){if(typeof e.disabled!="boolean")return;var i=arguments;ie7CSS.addEventHandler(e,"onpropertychange",function(){if(event.propertyName=="disabled"){if(e.isDisabled)_2.register(i);else _2.unregister(i)}});if(e.isDisabled)_2.register(i)});var _1=new ie7CSS.DynamicPseudoClass("indeterminate",function(e){if(typeof e.indeterminate!="boolean")return;var i=arguments;ie7CSS.addEventHandler(e,"onpropertychange",function(){if(event.propertyName=="indeterminate"){if(e.indeterminate)_1.register(i);else _1.unregister(i)}});ie7CSS.addEventHandler(e,"onclick",function(){_1.unregister(i)})});var _0=new ie7CSS.DynamicPseudoClass("target",function(e){var i=arguments;if(!e.tabIndex)e.tabIndex=0;ie7CSS.addEventHandler(document,"onpropertychange",function(){if(event.propertyName=="activeElement"){if(e.id==location.hash.slice(1))_0.register(i);else _0.unregister(i)}});if(e.id==location.hash.slice(1))_0.register(i)});decoder.add(/\|/,"\\:")}); diff --git a/website/inc/IE7/ie7-dhtml.js b/website/inc/IE7/ie7-dhtml.js new file mode 100644 index 00000000..d768063d --- /dev/null +++ b/website/inc/IE7/ie7-dhtml.js @@ -0,0 +1,57 @@ +/* + IE7, version 0.9 (alpha) (2005-08-19) + Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/) + License: http://creativecommons.org/licenses/LGPL/2.1/ +*/ +IE7.addModule("ie7-dhtml", function() { + +/* --------------------------------------------------------------------- + This module is still in development and should not be used. +--------------------------------------------------------------------- */ + +ie7CSS.specialize("recalc", function() { + this.inherit(); + for (var i = 0; i < this.recalcs.length; i++) { + var $recalc = this.recalcs[i]; + for (var j = 0; i < $recalc[3].length; i++) { + _addPropertyChangeHandler($recalc[3][j], _getPropertyName($recalc[2]), $recalc[1]); + } + } +}); + +// constants +var _PATTERNS = { + width: "(width|paddingLeft|paddingRight|borderLeftWidth|borderRightWidth|borderLeftStyle|borderRightStyle)", + height: "(height|paddingTop|paddingBottom|borderTopHeight|borderBottomHeight|borderTopStyle|borderBottomStyle)" +}; +var _PROPERTY_NAMES = { + width: "fixedWidth", + height: "fixedHeight", + right: "width", + bottom: "height" +}; +var _DASH_LETTER = /-(\w)/g; +var _PROPERTY_NAME = /\w+/; + +function _addPropertyChangeHandler($element, $propertyName, $fix) { + addEventHandler($element, "onpropertychange", function() { + if (_getPattern($propertyName).test(event.propertyName)) { + _reset($element, $propertyName); + $fix($element); + } + }); +}; +function _upper($match, $letter) {return $letter.toUpperCase()}; +function _getPropertyName($pattern) { + return String(String($pattern).toLowerCase().replace(_DASH_LETTER, _upper).match(_PROPERTY_NAME)); +}; +function _getPattern($propertyName) { + return eval("/^style." + (_PATTERNS[$propertyName] || $propertyName) + "$/"); +}; +function _reset($element, $propertyName) { + $element.runtimeStyle[$propertyName] = ""; + $propertyName = _PROPERTY_NAMES[$propertyName] + if ($propertyName) $element.runtimeStyle[$propertyName] = ""; +}; + +}); diff --git a/website/inc/IE7/ie7-dynamic-attributes.js b/website/inc/IE7/ie7-dynamic-attributes.js new file mode 100644 index 00000000..e0669113 --- /dev/null +++ b/website/inc/IE7/ie7-dynamic-attributes.js @@ -0,0 +1,6 @@ +/* + IE7, version 0.9 (alpha) (2005-08-19) + Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/) + License: http://creativecommons.org/licenses/LGPL/2.1/ +*/ +IE7.addModule("ie7-dynamic-attributes",function(){if(!modules["ie7-css2-selectors"])return;var attributeSelectors=cssQuery.valueOf("attributeSelectors");var parseSelector=cssQuery.valueOf("parseSelector");function DynamicAttribute(s,a,d,t,c){this.attach=a||"*";parseSelector(d);this.dynamicAttribute=attributeSelectors["@"+d];this.target=t;this.inherit(s,c)};ie7CSS.Rule.specialize({constructor:DynamicAttribute,recalc:function(){var m=cssQuery(this.attach);for(var i=0;i=0){w=Math.max(getPixelValue(e,e.currentStyle.width)-w,0);setOverrideStyle(e,"width",w)}}};eval(_1(clipWidth));function positionLeft(e,r){if(!r&&PERCENT.test(e.currentStyle.width)){e.runtimeStyle.fixWidth=e.currentStyle.width}if(e.runtimeStyle.fixWidth){e.runtimeStyle.width=getPixelWidth(e,e.runtimeStyle.fixWidth)}if(r){if(!e.runtimeStyle.autoLeft)return}else{e.runtimeStyle.shiftLeft=0;e.runtimeStyle._12=e.currentStyle.left;e.runtimeStyle.autoLeft=e.currentStyle.right!="auto"&&e.currentStyle.left=="auto"}e.runtimeStyle.left="";e.runtimeStyle.screenLeft=getScreenLeft(e);e.runtimeStyle.pixelLeft=e.runtimeStyle.screenLeft;if(!r&&!_3(e.offsetParent)){var ex="runtimeStyle.screenLeft+runtimeStyle.shiftLeft+document."+_10+".scrollLeft";setExpression(e,"pixelLeft",ex)}};eval(_1(positionLeft));function getScreenLeft(e){var s=e.offsetLeft,n=1;if(e.runtimeStyle.autoLeft){s=viewport.clientWidth-e.offsetWidth-getPixelWidth(e,e.currentStyle.right)}if(e.currentStyle.marginLeft!="auto"){s-=getPixelWidth(e,e.currentStyle.marginLeft)}while(e=e.offsetParent){if(e.currentStyle.position!="static")n=-1;s+=e.offsetLeft*n}return s};eval(_1(getScreenLeft));function getPixelWidth(e,v){if(PERCENT.test(v))return parseInt(parseFloat(v)/100*viewport.clientWidth);return getPixelValue(e,v)};eval(_1(getPixelWidth));function _11(){var e=_7.elements;for(var i in e)_9(e[i]);e=_6.elements;for(i in e){_5(e[i],true);_5(e[i],true)}_4=0};var _4;addResize(function(){if(!_4)_4=setTimeout(_11,0)})}); \ No newline at end of file diff --git a/website/inc/IE7/ie7-graphics.js b/website/inc/IE7/ie7-graphics.js new file mode 100644 index 00000000..7e63c47f --- /dev/null +++ b/website/inc/IE7/ie7-graphics.js @@ -0,0 +1,6 @@ +/* + IE7, version 0.9 (alpha) (2005-08-19) + Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/) + License: http://creativecommons.org/licenses/LGPL/2.1/ +*/ +IE7.addModule("ie7-graphics",function(){if(appVersion<5.5)return;var A="DXImageTransform.Microsoft.AlphaImageLoader";var F="progid:"+A+"(src='%1',sizingMethod='scale')";var _3=new RegExp((window.IE7_PNG_SUFFIX||"-trans.png")+"$","i");var _0=[];function _2(e){var f=e.filters[A];if(f){f.src=e.src;f.enabled=true}else{e.runtimeStyle.filter=F.replace(/%1/,e.src);_0.push(e)}e.src=BLANK_GIF};function _5(e){e.src=e.pngSrc;e.filters[A].enabled=false};ie7CSS.addFix(/opacity\s*:\s*([\d.]+)/,function(m,o){return"zoom:1;filter:progid:DXImageTransform.Microsoft.Alpha(opacity="+((parseFloat(m[o+1])*100)||1)+")"});var B=/background(-image)?\s*:\s*([^\(};]*)url\(([^\)]+)\)([^;}]*)/;ie7CSS.addFix(B,function(m,o){var u=getString(m[o+3]);return _3.test(u)?"filter:"+F.replace(/scale/,"crop").replace(/%1/,u)+";zoom:1;background"+(m[o+1]||"")+":"+(m[o+2]||"")+"none"+(m[o+4]||""):m[o]});if(ie7HTML){ie7HTML.addRecalc("img,input",function(e){if(e.tagName=="INPUT"&&e.type!="image")return;_4(e);addEventHandler(e,"onpropertychange",function(){if(!_1&&event.propertyName=="src"&&e.src.indexOf(BLANK_GIF)==-1)_4(e)})});var B64=/^data:.*;base64/i;var _7=makePath("ie7-base64.php",path);function _4(e){if(_3.test(e.src)){var i=new Image(e.width,e.height);i.onload=function(){e.width=i.width;e.height=i.height;i=null};i.src=e.src;e.pngSrc=e.src;_2(e)}else if(B64.test(e.src)){e.src=_7+"?"+e.src.slice(5)}};var I=/^image/i;var _6=makePath("ie7-object.htc",path);ie7HTML.addRecalc("object",function(e){if(I.test(e.type)){var o=document.createElement("");o.style.width=e.currentStyle.width;o.style.height=e.currentStyle.height;o.data=_6;var u=makePath(e.data,getPath(location.href));e.parentNode.replaceChild(o,e);cssQuery.clearCache("object");addTimer(o,"",u);return o}})}var _1=false;addEventHandler(window,"onbeforeprint",function(){_1=true;for(var i=0;i<_0.length;i++)_5(_0[i])});addEventHandler(window,"onafterprint",function(){for(var i=0;i<_0.length;i++)_2(_0[i]);_1=false})}); diff --git a/website/inc/IE7/ie7-html4.js b/website/inc/IE7/ie7-html4.js new file mode 100644 index 00000000..3fcd8916 --- /dev/null +++ b/website/inc/IE7/ie7-html4.js @@ -0,0 +1,6 @@ +/* + IE7, version 0.9 (alpha) (2005-08-19) + Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/) + License: http://creativecommons.org/licenses/LGPL/2.1/ +*/ +IE7.addModule("ie7-html4",function(){if(!isHTML)return;HEADER+="h1{font-size:2em}h2{font-size:1.5em;}h3{font-size:1.17em;}"+"h4{font-size:1em}h5{font-size:.83em}h6{font-size:.67em}";var _0={};ie7HTML=new(Fix.specialize({init:DUMMY,addFix:function(){this.fixes.push(arguments)},apply:function(){for(var i=0;i"){var en="",n;while((n=e.nextSibling)&&n.outerHTML!=en){f.appendChild(n)}if(n)n.removeNode()}e.parentNode.replaceChild(f,e)}}); diff --git a/website/inc/IE7/ie7-ie5.js b/website/inc/IE7/ie7-ie5.js new file mode 100644 index 00000000..a07fd983 --- /dev/null +++ b/website/inc/IE7/ie7-ie5.js @@ -0,0 +1,6 @@ +/* + IE7, version 0.9 (alpha) (2005-08-19) + Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/) + License: http://creativecommons.org/licenses/LGPL/2.1/ +*/ +if(appVersion<5.5){ANON="HTML:!";var ap=function(f,o,a){f.apply(o,a)};if(''.replace(/^/,String)){var _0=String.prototype.replace;var _1=function(e,r){var m,n="",s=this;while(s&&(m=e.exec(s))){n+=s.slice(0,m.index)+ap(r,this,m);s=s.slice(m.lastIndex)}return n+s};String.prototype.replace=function(e,r){this.replace=(typeof r=="function")?_1:_0;return this.replace(e,r)}}if(!Function.apply){var APPLY="apply-"+Number(new Date);ap=function(f,o,a){var r;o[APPLY]=f;switch(a.length){case 0:r=o[APPLY]();break;case 1:r=o[APPLY](a[0]);break;case 2:r=o[APPLY](a[0],a[1]);break;case 3:r=o[APPLY](a[0],a[1],a[2]);break;case 4:r=o[APPLY](a[0],a[1],a[2],a[3]);break;default:var aa=[],i=a.length-1;do aa[i]="a["+i+"]";while(i--);eval("r=o[APPLY]("+aa+")")}delete o[APPLY];return r};ICommon.valueOf.prototype.inherit=function(){return ap(arguments.callee.caller.ancestor,this,arguments)}}if(![].push)Array.prototype.push=function(){for(var i=0;i=getFixedWidth(e,e.currentStyle.maxWidth)){e.runtimeStyle.width=getFixedWidth(e,e.currentStyle.maxWidth)}else{e.runtimeStyle.width=e.runtimeStyle.fixedWidth}};function fixRight(e){if(register(fixRight,e,/^(fixed|absolute)$/.test(e.currentStyle.position)&&getDefinedStyle(e,"left")!="auto"&&getDefinedStyle(e,"right")!="auto"&&A.test(getDefinedStyle(e,"width")))){resizeRight(e);ie7Layout.boxSizing(e)}};ie7Layout.fixRight=fixRight;function resizeRight(e){var l=getPixelWidth(e,e.runtimeStyle._4||e.currentStyle.left);var w=layoutWidth(e)-getPixelWidth(e,e.currentStyle.right)-l-getMarginWidth(e);if(parseInt(e.runtimeStyle.width)==w)return;e.runtimeStyle.width="";if(isFixed(e)||H||e.offsetWidth diff --git a/website/inc/IE7/ie7-object.htc b/website/inc/IE7/ie7-object.htc new file mode 100644 index 00000000..392409ea --- /dev/null +++ b/website/inc/IE7/ie7-object.htc @@ -0,0 +1,12 @@ + + + + + + +
    + diff --git a/website/inc/IE7/ie7-overflow.js b/website/inc/IE7/ie7-overflow.js new file mode 100644 index 00000000..ad2e0307 --- /dev/null +++ b/website/inc/IE7/ie7-overflow.js @@ -0,0 +1,6 @@ +/* + IE7, version 0.9 (alpha) (2005-08-19) + Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/) + License: http://creativecommons.org/licenses/LGPL/2.1/ +*/ +IE7.addModule("ie7-overflow",function(){var S={backgroundColor:"transparent",backgroundImage:"none",backgroundPositionX:null,backgroundPositionY:null,backgroundRepeat:null,borderTopWidth:0,borderRightWidth:0,borderBottomWidth:0,borderLeftStyle:"none",borderTopStyle:"none",borderRightStyle:"none",borderBottomStyle:"none",borderLeftWidth:0,height:null,marginTop:0,marginBottom:0,marginRight:0,marginLeft:0,width:"100%"};function _3(p,s,t){t.style[p]=s.currentStyle[p];if(S[p]!=null){s.runtimeStyle[p]=S[p]}};ie7CSS.addRecalc("overflow","visible",function(e){if(e.parentNode.ie7_wrapper)return;if(ie7Layout&&e.currentStyle["max-height"]!="auto"){ie7Layout.maxHeight(e)}if(e.currentStyle.marginLeft=="auto")e.style.marginLeft=0;if(e.currentStyle.marginRight=="auto")e.style.marginRight=0;var w=document.createElement(ANON);w.ie7_wrapper=true;for(var p in S)_3(p,e,w);w.style.display="block";w.style.position="relative";e.runtimeStyle.position="absolute";e.parentNode.insertBefore(w,e);w.appendChild(e)});cssQuery.addModule("ie7-overflow",function(){function _0(e){return(e&&e.ie7_wrapper)?e.firstChild:e};var _2=previousElementSibling;previousElementSibling=function(e){return _0(_2(e))};var _1=nextElementSibling;nextElementSibling=function(e){return _0(_1(e))};selectors[" "]=function(r,f,t,n){var e,i,j;for(i=0;i"]=function(r,f,t,n){var e,i,j;for(i=0;i= 6) ie7CSS.addRecalc("float", "left|right", function($element) { + ie7Layout.boxSizing($element.parentElement); + // "doubled margin" bug + $element.runtimeStyle.display = "inline"; + }); + + // "unscrollable content" bug + // http://www.positioniseverything.net/explorer/unscrollable.html + ie7CSS.addRecalc("position", "absolute|fixed", function($element) { + if ($element.offsetParent && $element.offsetParent.currentStyle.position == "relative") + ie7Layout.boxSizing($element.offsetParent); + }); +} + +//# // get rid of Microsoft's pesky image toolbar +//# if (!complete) document.write(''); + +}); diff --git a/website/inc/IE7/ie7-standard-p.js b/website/inc/IE7/ie7-standard-p.js new file mode 100644 index 00000000..6db85f5a --- /dev/null +++ b/website/inc/IE7/ie7-standard-p.js @@ -0,0 +1,6 @@ +/* + IE7, version 0.9 (alpha) (2005-08-19) + Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/) + License: http://creativecommons.org/licenses/LGPL/2.1/ +*/ +eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('y(!26.1F)11 7(){2C{26.1F=8;6 2s=8.24=11 3b;8.1g=7(){z"1F 4x 0.9 (ad)"};6 5T=/5T/.Z(2y.5h.7C);6 31=(5T)?7(m){26.31(1F+"\\n\\n"+m)}:2s;6 29=ac.29.19(/ab (\\d\\.\\d)/)[1];6 2m=16.aa!="a9";y(/a8/.Z(2y.5h.7C)||29<5||!/^a7/.Z(16.2F.2a))z;6 33=16.5W=="33";6 1s,1K;6 2F=16.2F,1X,1J,1R=16.1R;6 4E="!";6 3Q={};6 2G=1z;1F.24=7(n,s){y(!3Q[n]){y(2G)1k("s="+23(s));3Q[n]=11 s()}};6 R=/^[\\w\\.]+[^:]*$/;7 1Z(h,p){y(R.Z(h))h=(p||"")+h;z h};7 3F(h,p){h=1Z(h,p);z h.1q(0,h.7a("/")+1)};6 s=16.7B[16.7B.K-1];2C{1k(s.7j)}2j(i){}6 2k=3F(s.1l);6 2v;2C{6 l=(a6()>=5)?"a5":"5n";2v=11 a4(l+".a3")}2j(i){}6 4A={};7 3T(h,p){2C{h=1Z(h,p);y(!4A[h]){2v.a2("a1",h,1z);2v.a0();y(2v.7A==0||2v.7A==9Z){4A[h]=2v.9Y}}}2j(i){31("4B [1]: 5O 9X 9W "+h)}5U{z 4A[h]||""}};6 4i=1Z("9V.9U",2k);7 2o(1w){y(1w!=1U){1w.1T=1t.1C.1T;1w.1e=1t.1C.1e}z 1w};2o.1e=7(p,c){y(!p)p={};y(!c)c=p.1h;y(c=={}.1h)c=11 3b("8.1T()");c.1i=11 3b("z 8");c.1i.1C=11 8.1i;c.1i.1C.1e(p);c.1C=11 c.1i;c.1i.1C.1h=c.1C.1h=c;c.2E=8;c.1e=1a.5P;c.4z=8.4z;z c};2o.1i=11 3b("z 8");2o.1i.1C={1h:2o,1T:7(){z 1a.5P.9T.2E.2q(8,1a)},1e:7(1w){y(8==8.1h.1C&&8.1h.1e){z 8.1h.1i.1C.1e(1w)}O(6 i 28 1w){34(i){1m"1h":1m"1g":1m"1i":5M}y(3Y 1w[i]=="7"&&1w[i]!=8[i]){1w[i].2E=8[i]}8[i]=1w[i]}y(1w.1g!=8.1g&&1w.1g!={}.1g){1w.1g.2E=8.1g;8.1g=1w.1g}z 8}};7 1t(){};8.1t=2o.1e({1h:1t,1g:7(){z"[9S "+(8.1h.1x||"9R")+"]"},9Q:7(2i){z 8.1h==2i||2i.4z(8.1h)}});1t.1x="1t";1t.2E=1U;1t.4z=7(2i){1D(2i&&2i.2E!=8)2i=2i.2E;z 7q(2i)};1t.1i.2E=2o;3u 8.1t;6 5x=1t.1e({1h:7(){8.3L=[];8.1Q=[]},1S:2s});y(29<5.5)1k(3T("17-9P.5X",2k));6 5S=1z;1F.1S=7(){2C{y(5S)z;5S=33=1o;1X=16.1X;1J=(2m)?1X:2F;y(2l&&1s)1s.2q();V.2q();1u();31("2G 9O")}2j(e){31("4B [2]: "+e.5V)}};6 1Q=[];7 1n(r){1Q.1b(r)};7 1u(){14.5g();y(2l&&1s)1s.1u();V.1u();O(6 i=0;i<1Q.K;i++)1Q[i]()};7 2U(){6 E=0,R=1,L=2;6 G=/\\(/g,S=/\\$\\d/,I=/^\\$\\d+$/,T=/([\'"])\\1\\+(.*)\\+\\1\\1$/,7t=/\\\\./g,Q=/\'/,7z=/\\3S[^\\3S]*\\3S/g;6 3N=8;8.15=7(e,r){y(!r)r="";6 l=(5R(23(e)).19(G)||"").K+1;y(S.Z(r)){y(I.Z(r)){r=25(r.1q(1))-1}1d{6 i=l;6 q=Q.Z(5R(r))?\'"\':"\'";1D(i)r=r.2O("$"+i--).2p(q+"+a[o+"+i+"]+"+q);r=11 3b("a,o","z"+q+r.13(T,"$1")+q)}}7y(e||"/^$/",r,l)};8.2V=7(s){3R.K=0;z 7u(7v(s,8.4y).13(11 1N(30,8.5Q?"5D":"g"),7w),8.4y).13(7z,"")};8.72=7(){30.K=0};6 3R=[];6 30=[];6 7x=7(){z"("+23(8[E]).1q(1,-1)+")"};30.1g=7(){z 8.2p("|")};7 7y(){1a.1g=7x;30[30.K]=1a}7 7w(){y(!1a[0])z"";6 i=1,j=0,p;1D(p=30[j++]){y(1a[i]){6 r=p[R];34(3Y r){1m"7":z r(1a,i);1m"9N":z 1a[r+i]}6 d=(1a[i].6F(3N.4y)==-1)?"":"\\3S"+1a[i]+"\\3S";z d+r}1d i+=p[L]}};7 7v(s,e){z e?s.13(11 1N("\\\\"+e+"(.)","g"),7(m,c){3R[3R.K]=c;z e}):s};7 7u(s,e){6 i=0;z e?s.13(11 1N("\\\\"+e,"g"),7(){z e+(3R[i++]||"")}):s};7 5R(s){z s.13(7t,"")}};2U.1C={1h:2U,5Q:1z,4y:""};1t.1e(2U.1C);6 3M=2U.1e({5Q:1o});6 14=7(){6 4x="2.0.2";6 C=/\\s*,\\s*/;6 14=7(s,1E){2C{6 m=[];6 u=1a.5P.5I&&!1E;6 b=(1E)?(1E.1h==7n)?1E:[1E]:[16];6 2f=45(s).2O(C),i;O(i=0;i<2f.K;i++){s=5J(2f[i]);y(4P&&s.1q(0,3).2p("")==" *#"){s=s.1q(2);1E=7o([],b,s[1])}1d 1E=b;6 j=0,t,f,a,c="";1D(j+~]/;6 7l=/[\\s#.:>+~()@]|[^\\s#.:>+~()@]+/g;7 5J(s){y(S.Z(s))s=" "+s;z s.19(7l)||[]};6 W=/\\s*([\\s>+~(),]|^|$)\\s*/g;6 I=/([\\s>+~,]|[^(]\\+|^)([#.:@])/g;6 45=7(s){z s.13(W,"$1").13(I,"$1*$2")};6 2c={1g:7(){z"\'"},19:/^(\'[^\']*\')|("[^"]*")$/,Z:7(s){z 8.19.Z(s)},15:7(s){z 8.Z(s)?s:8+s+8},3v:7(s){z 8.Z(s)?s.1q(1,-1):s}};6 2w=7(t){z 2c.3v(t)};6 E=/([\\/()[\\]?{}|*+-])/g;7 4O(s){z s.13(E,"\\\\$1")};2G=1o;z 14}();14.5I=1o;14.24("17",7(){2D=7(e){z(e&&e.7k==1&&e.2W!="!"&&!e.2K)?e:1U}});14.1i("2w=1a[1]",42);6 2l=!14.1i("5H(1a[1])",2F);6 2r=":21{17-21:21}:37{17-21:37}"+(2l?"":"*{6Q:0}");6 V=11(5x.1e({5B:11 3M,2P:"",2Y:"",5F:[],1S:7(){8.5G();8.4t()},4t:7(){V.3O.18=2r+8.2P+8.2Y},7i:7(){6 3P=16.4w("1r"),s;O(6 i=3P.K-1;(s=3P[i]);i--){y(!s.3m&&!s.17){8.5F.1b(s.7j)}}},2q:7(){8.7i();8.4t();11 3y("2P");8.7g()},3i:7(e,r){8.5B.15(e,r)},1u:7(){6 R=/7h\\d+/g;6 s=2r.19(/[{,]/g).K;6 3P=s+(8.2P.18.19(/\\{/g)||"").K;6 2Q=8.3O.2t,r;6 4v,c,4u,e,i,j,k,1c;O(i=s;i<3P;i++){r=2Q[i];y(r&&(4v=r.1r.18.19(R))){4u=14(r.4M);y(4u.K)O(j=0;j<4v.K;j++){1c=4v[j];c=V.1Q[1c.1q(10)][2];O(k=0;(e=4u[k]);k++){y(e.D[1c])c(e)}}}}},1n:7(p,t,h,r){t=11 1N("([{;\\\\s])"+p+"\\\\s*:\\\\s*"+t+"[^;}]*");6 i=8.1Q.K;y(r)r=p+":"+r;8.3i(t,7(m,o){z(r?m[o+1]+r:m[o])+";17-"+m[o].1q(1)+";7h"+i+":1"});8.1Q.1b(1a);z i},2w:7(s){z s.18||""},5G:7(){y(33||!2l)16.5G();1d 16.9A("<1r 17=1o>");8.3O=1R[1R.K-1];8.3O.17=1o;8.3O.18=2r},7g:7(){O(6 i=0;i<1R.K;i++){y(!1R[i].17&&1R[i].18){1R[i].18=""}}}}));7 3y(m){8.2Z=m;8.3q();V[m]=8;V.4t()};1t.1e({1h:3y,1g:7(){z"@2Z "+8.2Z+"{"+8.18+"}"},1u:2s,3q:7(){8.18="";8.2w();8.38();8.18=41(8.18);f={}},2w:7(){6 7e=[].4J(V.5F);6 M=/@2Z\\s+([^{]*)\\{([^@]+\\})\\s*\\}/5D;6 A=/\\9z\\b|^$/i,S=/\\9y\\b/i,P=/\\9x\\b/i;7 7d(c,m){4s.v=m;z c.13(M,4s)};7 4s(9w,m,c){m=5E(m);34(m){1m"2P":1m"2Y":y(m!=4s.v)z"";1m"1Y":z c}z""};7 5E(m){y(A.Z(m))z"1Y";1d y(S.Z(m))z(P.Z(m))?"1Y":"2P";1d y(P.Z(m))z"2Y"};6 3N=8;7 5C(s,p,m,l){6 c="";y(!l){m=5E(s.2Z);l=0}y(m=="1Y"||m==3N.2Z){y(l<3){O(6 i=0;i/);6 3r=11 3M;3r.15(/\\\\\'/,"\\\\9t");3r.15(/\\\\"/,"\\\\46");6 5z=11 3M;5z.15(/\'(\\d+)\'/,78);7 41(c){z 5z.2V(c)};7 78(m,o){z 4r[m[o+1]]};6 5y=[];7 4U(h){1n(h);1j(26,"9s",h)};7 1j(e,t,h){e.9r(t,h);5y.1b(1a)};7 76(e,t,h){2C{e.9q(t,h)}2j(i){}};1j(26,"9p",7(){6 h;1D(h=5y.77()){76(h[0],h[1],h[2])}});7 20(h,e,c){y(!h.1O)h.1O={};y(c)h.1O[e.2a]=e;1d 3u h.1O[e.2a];z c};1j(26,"6z",7(){y(!V.2Y)11 3y("2Y");V.2Y.1u()});6 75=/^\\d+(9o)?$/i;6 3d=/^\\d+%$/;6 3c=7(e,v){y(75.Z(v))z 25(v);6 s=e.1r.1f;6 r=e.J.1f;e.J.1f=e.D.1f;e.1r.1f=v||0;v=e.1r.4e;e.1r.1f=s;e.J.1f=r;z v};7 6x(t){6 e=16.3X(t||"2M");e.1r.18="1y:3C;6R:0;4K:9n;3G:1M;9m:9l(0 0 0 0);1f:-9k";e.2K=1o;z e};6 4q="17-";7 3D(e){z e.D["17-1y"]=="2z"};7 4o(e,p){z e.D[4q+p]||e.D[p]};7 2T(e,p,v){y(e.D[4q+p]==1U){e.J[4q+p]=e.D[p]}e.J[p]=v};7 4H(o,c,u){6 t=9j(7(){2C{y(!o.3q)z;o.3q(o,c,u);74(t)}2j(i){74(t)}},10)};1F.24("17-9i",7(){y(!2l)z;2r+="9h{3p-3o:9g}9f{3p-3o:1.9e;}9d{3p-3o:1.9c;}"+"9b{3p-3o:9a}99{3p-3o:.98}97{3p-3o:.96}";6 5w={};1s=11(5x.1e({1S:2s,3i:7(){8.3L.1b(1a)},2q:7(){O(6 i=0;i<8.3L.K;i++){6 m=14(8.3L[i][0]);6 f=8.3L[i][1]||6X;O(6 j=0;j"){6 6V="",n;1D((n=e.6W)&&n.3z!=6V){f.6t(n)}y(n)n.8W()}e.4R.6A(f,e)}});1F.24("17-8V",7(){1K=8;2r+="*{3H:22-2X}";8.3j=(29<5.5)?7(e){z e.1I}:7(e){z e.D.3j};8.3H=7(e){y(!1K.3j(e)){e.1r.2b="6T";y(e.D.6U=="1P")e.J.6U="2y";4k(e)}};7 4k(e){y(e!=1J&&e.D.1y!="3C"){4p(e);8U(e)}};6 3l=14.1i("3l");6 5t=14.1i("5t");7 4p(e){y(!e.J.3k){6 p=e.59;y(p&&1K.3j(p)&&e==3l(p))z;6 f=3l(e);y(f&&f.D.8T=="1M"&&1K.3j(f)){4p(f);m=5s(e,e.D.3k);c=5s(f,f.D.3k);y(m<0||c<0){e.J.3k=m+c}1d{e.J.3k=4g.3g(c,m)}f.J.3k="8S"}}};1k(23(4p).13(/5c/g,"6N").13(/4N/g,"8R"));7 5s(e,v){z(v=="1P")?0:3c(e,v)};6 U=/^[.\\d][\\w%]*$/,A=/^(1P|6T)$/,N="[.\\\\d]";6 4l,6S;7 6O(e){4l(e);6S(e)};7 2g(H){4l=7(e){y(!3d.Z(e.D.12))2g(e);4k(e)};7 2g(e,v){y(!e.J.3J){y(!v)v=e.D.12;e.J.3J=(U.Z(v))?4g.3g(0,2B(e,v)):v;2T(e,"12",e.J.3J)}};7 5r(e){y(!3D(e)){6 l=e.3B;1D(l&&!1K.3j(l))l=l.3B}z(l||1J).1I};7 1H(e,v){y(3d.Z(v))z 25(4c(v)/3w*5r(e));z 3c(e,v)};6 2B=7(e,v){6 b=e.D["2X-5o"]=="3G-2X";6 a=0;y(2m&&!b)a+=4n(e)+3K(e);1d y(!2m&&b)a-=4n(e)+3K(e);z 1H(e,v)+a};7 4n(e){z e.2S-e.1I};7 3K(e){z 1H(e,e.D.8Q)+1H(e,e.D.8P)};1k(23(3K).13(/6R/g,"6Q").13(/8O/g,"8N"));2r+="*{1A:1M;27:1M;3I-12:1M;3g-12:1M}";7 1A(e){y(e.D["3I-12"]!=1U){e.1r.1A=e.D["3I-12"]}y(20(1A,e,e.D.1A!="1M")){1K.3H(e);2g(e);4m(e)}};1k(23(1A).13(/3I/g,"3g"));1K.1A=1A;1K.27=27;7 4m(e){6 r=e.54();6 w=r.1W-r.1f;y(e.D.1A!="1M"&&w<=2B(e,e.D.1A)){e.J.12=2B(e,e.D.1A)}1d y(e.D.27!="1M"&&w>=2B(e,e.D.27)){e.J.12=2B(e,e.D.27)}1d{e.J.12=e.J.3J}};7 2x(e){y(20(2x,e,/^(2z|3C)$/.Z(e.D.1y)&&4o(e,"1f")!="1P"&&4o(e,"1W")!="1P"&&A.Z(4o(e,"12")))){5p(e);1K.3H(e)}};1K.2x=2x;7 5p(e){6 l=1H(e,e.J.52||e.D.1f);6 w=5r(e)-1H(e,e.D.1W)-l-8M(e);y(25(e.J.12)==w)z;e.J.12="";y(3D(e)||H||e.2S");o.1r.12=e.D.12;o.1r.2b=e.D.2b;o.3W=6B;6 u=1Z(e.3W,3F(5h.2u));e.4R.6A(o,e);14.5g("2M");4H(o,"",u);z o}})}6 4j=1z;1j(26,"6z",7(){4j=1o;O(6 i=0;i<3h.K;i++)6y(3h[i])});1j(26,"8r",7(){O(6 i=0;i<3h.K;i++)5f(3h[i]);4j=1z})});1F.24("17-2z",7(){V.1n("1y","2z",4a,"3C");V.1n("5e(-8q)?","[^};]*2z",4b);6 4Z=(2m)?"1X":"2F";6 4h=7(){y(1X.D.5b!="2z"){y(1X.D.5a=="1M"){1X.J.8p="8o-8n";1X.J.5a="43("+4i+")"}1X.J.5b="2z"}4h=2s};6 2h=6x("5d");7 1v(f){z 2A.2V(23(f))};6 2A=11 2U;2A.15(/6w/,"5c");2A.15(/1f/,"2y");2A.15(/6v/,"6u");2A.15(/12/,"2b");2A.15(/1W/,"56");2A.15(/X/,"Y");7 3f(e){z(e)?3D(e)||3f(e.59):1z};7 4f(e,p,3e){32("16.1Y."+e.2a+".J.4f(\'"+p+"\',\'"+3e+"\')",0)};7 4b(e){y(20(4b,e,e.D.5b=="2z"&&!e.61(1X))){4h();58(e);8m(e);4V(e)}};7 4V(e){2h.1l=e.D.5a.1q(5,-2);6 p=(e.6c)?e:e.59;p.6t(2h);57(e);8l(e);p.8k(2h)};7 58(e){e.1r.3E=e.D.3E;y(!3f(e)){6 3e="(25(J.3A)+16."+4Z+".6s)||0";4f(e,"3E",3e)}};1k(1v(58));7 57(e){6 p=3f(e)?"3E":"3A";e.J[p]=55(e,e.1r.3E)-e.54().1f-e.8j+2};1k(1v(57));7 55(e,p){34(p){1m"1f":1m"2y":z 0;1m"1W":1m"56":z 1J.1I-2h.2S;1m"8i":z(1J.1I-2h.2S)/2;8h:y(3d.Z(p)){z 25((1J.1I-2h.2S)*4c(p)/3w)}2h.1r.1f=p;z 2h.3A}};1k(1v(55));7 4a(e){y(20(4a,e,3D(e))){2T(e,"1y","3C");2T(e,"1f",e.D.1f);2T(e,"2y",e.D.2y);4h();y(1K)1K.2x(e);49(e)}};7 49(e,r){8g(e,r);4Y(e,r,1o);y(!e.J.4d&&e.D.4X=="1P"&&e.D.1W!="1P"){6 l=1J.1I-1H(e,e.D.1W)-1H(e,e.J.52)-e.1I;y(e.D.8f=="1P")l=25(l/2);y(3f(e.3B))e.J.4e+=l;1d e.J.50=l}53(e);8e(e)};7 53(e){y(e.D.12!="1P"){6 r=e.54();6 w=e.2S-1J.1I+r.1f-2;y(w>=0){w=4g.3g(3c(e,e.D.12)-w,0);2T(e,"12",w)}}};1k(1v(53));7 4Y(e,r){y(!r&&3d.Z(e.D.12)){e.J.2g=e.D.12}y(e.J.2g){e.J.12=1H(e,e.J.2g)}y(r){y(!e.J.4d)z}1d{e.J.50=0;e.J.52=e.D.1f;e.J.4d=e.D.1W!="1P"&&e.D.1f=="1P"}e.J.1f="";e.J.51=4W(e);e.J.4e=e.J.51;y(!r&&!3f(e.3B)){6 3e="J.51+J.50+16."+4Z+".6s";4f(e,"4e",3e)}};1k(1v(4Y));7 4W(e){6 s=e.3A,n=1;y(e.J.4d){s=1J.1I-e.2S-1H(e,e.D.1W)}y(e.D.4X!="1P"){s-=1H(e,e.D.4X)}1D(e=e.3B){y(e.D.1y!="8d")n=-1;s+=e.3A*n}z s};1k(1v(4W));7 1H(e,v){y(3d.Z(v))z 25(4c(v)/3w*1J.1I);z 3c(e,v)};1k(1v(1H));7 6r(){6 e=4b.1O;O(6 i 28 e)4V(e[i]);e=4a.1O;O(i 28 e){49(e[i],1o);49(e[i],1o)}48=0};6 48;4U(7(){y(!48)48=32(6r,0)})});1F.24("17-8c-1V",7(){14.24("8b-8a",7(){1V[">"]=7(r,f,t,n){6 e,i,j;O(i=0;i+~\\[]|([:.])[\\\\w-()]+\\\\1|:("+p+")");6 c="[^\\\\s(]+\\\\s*[+~]|@\\\\d+|:(";1G.44=11 1N(c+p+")","g");2d.44=11 1N(c+8.1B+")","g");2d.39=11 1N("(.*):("+8.36+")(.*)");1L.39=/(.*):(6i|6h).*/;8.1T()},1u:7(){8.2P.1u();8.1T()},2w:7(s,p){z 2v?(3T(s.2u,p)||s.18):8.1T(s)},1j:7(e,t,h){1j(e,t,h)}});7 1G(s,c){8.1c=V.2t.K;8.1x=1G.3x+8.1c;s=(s).19(F)||s||"*";8.40=s[1]||s;8.4M=1G.6g(8.40)+"."+8.1x+(s[2]||"");8.18=c;8.39=11 1N("\\\\s"+8.1x+"(\\\\s|$)","g");V.2t.1b(8);8.1S()};1t.1e({1h:1G,1g:7(){z 8.4M+" {"+8.18+"}"},1S:2s,15:7(e){e.1x+=" "+8.1x},3v:7(e){e.1x=e.1x.13(8.39,"$1")},1u:7(){6 m=V.2e[" *."+8.1x]=14(8.40);O(i=0;i/g;1G.6g=7(s){s=1p.38(s);z s.13(8.44,"").13(8.6f," ")};7 2d(s,a,d,t,c){8.6e=a||"*";8.6d=V.36[d];8.4L=t;8.1T(s,c)};1G.1e({1h:2d,1u:7(){6 m=14(8.6e);O(6 i=0;i";1L.4E="<17:! 3U=\'2K %1\' 2K 1r=\'%2\'>%3";7 2J(n,a){8.66=n;8.2q=a;8.2I={};V.36[n]=8};1t.1e({1h:2J,20:7(i){6 c=i[2];i.1c=c.1c+i[0].2a;y(!8.2I[i.1c]){6 t=i[1],j;O(j=0;j1)p+="\\\\([^)]*\\\\)";t.1b(p)}z t.2p("|")};V.1B["21"]=7(e){z e.D["17-21"]=="21"};V.1B["37"]=7(e){z e.D["17-21"]=="37"};6 64=(29<5.5)?"7T":"7S";6 63=(29<5.5)?"7R":"7Q";V.36.1g=V.1B.1g;6 3s=11 2J("65",7(e){6 i=1a;V.1j(e,64,7(){3s.20(i)});V.1j(e,63,7(){3s.35(i)})});6 3t=11 2J("7P",7(e){6 i=1a;V.1j(e,"7O",7(){3t.35(i);3t.20(i)});V.1j(e,"7N",7(){3t.35(i)});y(e==16.7M){3t.20(i)}});6 3V=11 2J("62",7(e){6 i=1a;V.1j(e,"7L",7(){3V.20(i)})});1j(16,"7K",7(){6 i=3V.2I,j;O(j 28 i)3V.35(i[j]);i=3s.2I;O(j 28 i)y(!i[j][0].61(60.7J))3s.35(i[j])});2o(1p);1p.1e({2H:7(n){34(n.5Z()){1m"3U":z"e.1x.13(/\\\\b\\\\s*5Y\\\\d+/g,\'\')";1m"1l":z"(e.4D||e.1l)"}z 8.1T(n)}});2n.15(/::/,":");3r.15(/\\\\([\\7I-7H-F]{1,4})/,7(m,o){m=m[o+1];z"\\\\u"+"7G".1q(m.K)+m})});2G=1o;y(2m)1k(3T("17-7F.5X",2k));V.1S();y(2l&&1s)1s.1S();y(33)1F.1S();1d{2F.7E(1Z("17-3q.4C",2k));1j(16,"7D",7(){y(16.5W=="33")32(1F.1S,0)})}}2j(e){31("4B [0]: "+e.5V)}5U{}};',62,634,'||||||var|function|this||||||||||||||||||||||||||if|return||||currentStyle||||||runtimeStyle|length||||for|||||||ie7CSS||||test||new|width|replace|cssQuery|add|document|ie7|cssText|match|arguments|push|id|else|specialize|left|toString|constructor|valueOf|addEventHandler|eval|src|case|addRecalc|true|AttributeSelector|slice|style|ie7HTML|Common|recalc|_0|that|className|position|false|minWidth|pseudoClasses|prototype|while|fr|IE7|Rule|getPixelWidth|clientWidth|viewport|ie7Layout|PseudoElement|none|RegExp|elements|auto|recalcs|styleSheets|init|inherit|null|selectors|right|body|all|makePath|register|link|content|String|addModule|parseInt|window|maxWidth|in|appVersion|uniqueID|height|Quote|DynamicRule|cache|se|fixWidth|_1|klass|catch|path|isHTML|quirksMode|encoder|ICommon|join|apply|HEADER|DUMMY|rules|href|httpRequest|getText|fixRight|top|fixed|_2|getFixedWidth|try|thisElement|ancestor|documentElement|loaded|getAttribute|instances|DynamicPseudoClass|ie7_anon|type|object|co|split|screen|ru|attributeSelectors|offsetWidth|setOverrideStyle|ParseMaster|exec|tagName|box|print|media|_3|alert|setTimeout|complete|switch|unregister|dynamicPseudoClasses|visited|parse|MATCH|tests|Function|getPixelValue|PERCENT|ex|_4|max|_5|addFix|hasLayout|marginTop|firstElementChild|disabled|value|size|font|load|safeString|_6|_7|delete|remove|100|PREFIX|StyleSheet|outerHTML|offsetLeft|offsetParent|absolute|isFixed|backgroundPositionX|getPath|border|boxSizing|min|fixedWidth|getPaddingWidth|fixes|Parser|self|styleSheet|st|modules|_8|x01|loadFile|class|_9|data|createElement|typeof|create|selector|decode|getString|url|COMPLEX|parseSelector|x22|nextElementSibling|_10|_11|_12|_13|parseFloat|autoLeft|pixelLeft|setExpression|Math|_14|BLANK_GIF|_15|_16|applyWidth|resizeWidth|getBorderWidth|getDefinedStyle|collapseMarginTop|_17|_18|_19|refresh|el|ca|getElementsByTagName|version|escapeChar|ancestorOf|_20|Error|htc|pngSrc|ANON|po|cs|addTimer|attr|concat|display|target|selectorText|first|regEscape|isMSIE|lang|parentNode|previousElementSibling|compareTagName|addResize|_21|getScreenLeft|marginLeft|positionLeft|_22|shiftLeft|screenLeft|_23|clipWidth|getBoundingClientRect|getOffsetLeft|bottom|setOffsetLeft|backgroundLeft|parentElement|backgroundImage|backgroundAttachment|Top|img|background|_24|clearCache|location|image|_25|_26|input|filter|Microsoft|sizing|resizeRight|_27|layoutWidth|_28|lastElementChild|clicked|submit|_29|Fix|_30|decoder|_31|parser|_32|gi|_33|styles|createStyleSheet|isXML|caching|_34|compareNamespace|getDocument|continue|links|error|callee|ignoreCase|_35|_36|ie7_debug|finally|description|readyState|js|ie7_class|toLowerCase|event|contains|active|_37|_38|hover|name|scriptlet|text|OBJECT|CONTENT|_39|canHaveChildren|dynamicPseudoClass|attach|CHILD|simple|after|before|UNKNOWN|createRule|B1|B2|_40|htmlFor|NS_IE|childElements|_41|scrollLeft|appendChild|Height|Width|Left|createTempElement|_42|onbeforeprint|replaceChild|_43|_44|B64|base64|indexOf|zoom|scale|opacity|DXImageTransform|progid|enabled|filters|Bottom|borderBox|spacing|margin|padding|applyHeight|0cm|verticalAlign|en|nextSibling|_45|title|_46|BUTTON|button|reset|onclick|clearInterval|PIXEL|removeEventHandler|pop|_47|_48|lastIndexOf|_49|_50|_51|_52|imports|trash|ie7_recalc|getInlineStyles|innerHTML|nodeType|ST|select|Array|_53|mimeType|Boolean|lastChild|firstChild|ES|_54|_55|_56|_57|_58|DE|status|scripts|search|onreadystatechange|addBehavior|quirks|0000|fA|da|srcElement|onmouseup|onmousedown|activeElement|onblur|onfocus|focus|onmouseleave|onmouseout|onmouseenter|onmouseover|insertAdjacentHTML|insertAdjacentElement|Number|inline|charAt|beforeEnd|after1|afterEnd|after0|afterBegin|before1|beforeBegin|before0|letter|line|child|level2|css|css2|static|clipHeight|marginRight|positionTop|default|center|clientLeft|removeChild|setOffsetTop|backgroundTop|repeat|no|backgroundRepeat|attachment|onafterprint|onload|Image|php|propertyName|onpropertychange|INPUT|crop|Alpha|png|trans|IE7_PNG_SUFFIX|sizingMethod|AlphaImageLoader|graphics|fixHeight|Right|cellSpacing|collapse|borderCollapse|IE7_BOX_MODEL|getMarginWidth|Margin|Padding|paddingRight|paddingLeft|last|0px|styleFloat|collapseMarginBottom|layout|removeNode|HTML|alt|onsubmit|form|click|textarea|label|abbr|pow|67em|h6|83em|h5|1em|h4|17em|h3|5em|h2|2em|h1|html4|setInterval|9999|rect|clip|block|px|onunload|detachEvent|attachEvent|onresize|x27|import|namespace|ma|bprint|bscreen|ball|write|item|innerText|getTextContent|scopeName|toUpperCase|ownerDocument|Document|XML|URL|xml|unknown|previousSibling|number|successfully|ie5|instanceOf|Object|common|caller|gif|blank|file|loading|responseText|200|send|GET|open|XMLHTTP|ActiveXObject|Msxml2|ScriptEngineMajorVersion|ms_|ie7_off|CSS1Compat|compatMode|MSIE|navigator|alpha'.split('|'),0,{})) diff --git a/website/inc/IE7/ie7-xml-extras.js b/website/inc/IE7/ie7-xml-extras.js new file mode 100644 index 00000000..97846f66 --- /dev/null +++ b/website/inc/IE7/ie7-xml-extras.js @@ -0,0 +1,6 @@ +/* + IE7, version 0.9 (alpha) (2005-08-19) + Copyright: 2004-2005, Dean Edwards (http://dean.edwards.name/) + License: http://creativecommons.org/licenses/LGPL/2.1/ +*/ +function XMLHttpRequest(){var l=(ScriptEngineMajorVersion()>=5)?"Msxml2":"Microsoft";return new ActiveXObject(l+".XMLHTTP")};function DOMParser(){};DOMParser.prototype={toString:function(){return"[object DOMParser]"},parseFromString:function(s,c){var x=new ActiveXObject("Microsoft.XMLDOM");x.loadXML(s);return x},parseFromStream:new Function,baseURI:""};function XMLSerializer(){};XMLSerializer.prototype={toString:function(){return"[object XMLSerializer]"},serializeToString:function(r){return r.xml||r.outerHTML},serializeToStream:new Function}; diff --git a/website/inc/IE7/ie7.gif b/website/inc/IE7/ie7.gif new file mode 100644 index 00000000..64a2c2d9 Binary files /dev/null and b/website/inc/IE7/ie7.gif differ diff --git a/website/inc/IE7/test-trans.png b/website/inc/IE7/test-trans.png new file mode 100644 index 00000000..e187e2c8 Binary files /dev/null and b/website/inc/IE7/test-trans.png differ diff --git a/website/inc/IE7/test.html b/website/inc/IE7/test.html new file mode 100644 index 00000000..ab78f461 --- /dev/null +++ b/website/inc/IE7/test.html @@ -0,0 +1,100 @@ + + +IE7 Test Page + + + + + + + +
    +
    +

    IE7 { css2: auto; }

    +
    +
    + +
    + +

    Black & White Test

    + +

    Legend

    + +
    PASS
    +
    FAIL
    + +
    + +

    ie7-html4.js

    + +
     
    + +

    ie7-layout.js

    + +
    + +

    ie7-graphics.js

    + +
    + +

    ie7-fixed.js

    + +
    + +

    ie7-css2-selectors.js

    + +
     
    + +

    ie7-css3-selectors.js

    + +
    + +

    ie7-css-strict.js

    + +
    +
    + + +
    + + diff --git a/website/inc/button.png b/website/inc/button.png new file mode 100644 index 00000000..d8a7a0ec Binary files /dev/null and b/website/inc/button.png differ diff --git a/website/inc/customtags.inc b/website/inc/customtags.inc new file mode 100644 index 00000000..54ad7c10 --- /dev/null +++ b/website/inc/customtags.inc @@ -0,0 +1,118 @@ +\ + +my $path=$WML_SRC_DIRNAME."/".$WML_SRC_BASENAME; +$path =~ s|.+?website/||s; +print "$path.en.html"; +\ + + +# +# an rrdworld entry +# +# +# +# RRRRumble +# Peter Example +# Makes rrdtool rumble when new data is added +# http://somesite.blabla.plac +# 2005 4 +# GPL +# +# +# +# http://somesite.blabla.plac +# max@example.com +# +# + +# +# +# Virus Graph +# Max Beispiel +# The five most common critters of the week. +# 2005 4 +# +# +# +# http://somesite.blabla.plac +# max@example.com +# +# + + + +

    %body

    +

    %body

    +%body +%body + ... ">[home] + %body + /%body +License: %body + ">[demo] +< @ "@XYZ-" />> + + + + +%body + + +
    + "/> /> + +
    | Date: |
    +
    + + +
    +
    + +
    + + + + +%body + + + + + + + + + +use POSIX qw(strftime); +use POSIX qw(locale_h); + setlocale(LC_TIME,"de"); + my $x_de = strftime "%e. %B %Y", localtime("$(WML_SRC_TIME)"); + setlocale(LC_TIME,"en_US"); + my $x_en = strftime "%B %e, %Y", localtime("$(WML_SRC_TIME)"); + $x_de=~ s/\s/ /g; + $x_en=~ s/\s/ /g; + + + + print $x_en; + + + + + print $x_de; + + + + + +
    +
    + + + +# vi: ft=wml diff --git a/website/inc/design.css b/website/inc/design.css new file mode 100644 index 00000000..446405a1 --- /dev/null +++ b/website/inc/design.css @@ -0,0 +1,277 @@ +body { + margin: 10px; + padding: 0px; + font-family: sans-serif; + line-height: 1.5em; + text-align: center; +} + +/* hide old stuff */ +.legacy { + display: none; +} + +/************************** + * layout + **************************/ +table#frame { + width: 950px; + margin: 10px auto; + border-collapse: collapse; + text-align: left; +} + +table#frame > tr > td { + vertical-align: top; + margin: 0px; + padding: 0px; +} + + +/************************** + * body + **************************/ +div#body { + margin-left: 40px; + margin-right: 6px; + margin-bottom: 40px; + margin-top: 60px; +} + +div#body h1 { + color: #717fe5; + margin-top: 0px; + margin-bottom: 0.5em; + padding-bottom: 0.1em; + line-height: 1em; + font-size: 220%; + border-bottom-style: solid; + border-bottom-width: 4px; + border-bottom-color: #808080; +} + +div#body h2 { + margin-top: 0.6em; + margin-bottom: 0.1em; +} + + +div#body a { + color: #4a71e4; +} + +div#body a[name] { + color: black; +} + +div#body a:hover { + color: #7b9dff; +} + +div#body h2 a, +div#body h3 a, +div#body h4 a, +div#body h5 a, +div#body h2, +div#body h3, +div#body h4, +div#body h5 { + color: #606060; +} + +div#body dl dd { + margin-left: 1.5em; +} + +div#body dl dt { + padding-top: 1em; + font-weight: bold; +} + +div#body dl dt a { + text-decoration: none; +} + +div#body dl p { + margin-bottom: 0.2em; + margin-top: 0.2em; +} + +div#body pre { + border-style: solid; + border-color: #bfbfbf; + border-width: 1px; + background-color: #E8E8E8; + padding: 1em; +} + +div#body pre a{ + color: black; +} + +div#googlead_right { + background-color: white; + float: right; + margin-top: 5px; + padding-left: 20px; + margin-left: 20px; + padding-right: 0px; + padding-bottom: 10px; +} + +/************************** + * footer + **************************/ +table#frame td#footcell { + padding-left: 40px; +} + +div#address { +} + +div#address small { + color: #202020; + font-size: 90%; +} + +div#address a { + color: #202020; + text-decoration: none; +} + +/************************** + * logo + **************************/ + +div#logo { + float: right; + height: 78px; + width: 190px; + background-image: url("rrdtool-3dlogo.png"); +} + +/************************** + * rrdworld + **************************/ + +div.rrdworld h3 { + background: #E0E0F0; + margin-top: 0.1em; + margin-bottom: 0.3em; + padding: 3px; +} + +div.rrdworld { + border-style: solid; + border-color: #bfbfbf; + border-width: 1px; + background-color: #D0D0D0; + padding: 1em; + margin-top: 0.5em; + margin-bottom: 1em; +} + + +/************************** + * mirrors + **************************/ + +div#mirrors { + float: left; + padding: 3px; + padding-left: 40px; + font-size: 10px; +} + +div#mirrors, +div#mirrors a { + color: #606060; +} + + +/************************** + * menu + **************************/ +table#frame td#leftcornercell, +table#frame td#menucell { + width: 10%; + background-color: #F0F0F0; +} + +div#menu { + font-weight: normal; + margin-top: 20px; + margin-left: 10px; + margin-right: 10px; + font-size: 14px; + width: 200px; + line-height: 1em; +} + +div#menu li { + padding-top: 4px; + padding-bottom: 4px; + border-top-style: dotted; + border-top-width: 1px; + border-top-color: #444; +} + +div#menu li li { + padding-top: 3px; + padding-bottom: 3px; + border-top-color: #ccc; +} + +div#menu a { + color: black; + text-decoration: none; +} + +div#menu ul ul a { + color: black; + text-decoration: none; +} + +div#menu ul { + list-style: none; + margin-left: 0px; + padding-left: 0px; +} + +div#menu ul ul { + padding-left: 10px; + font-size: 12px; +} + +div#menu ul a, +div#menu ul div.selected { + padding-left: 0px; +} + +div#menu ul ul { + margin-top: 3px; +} + +div#menu > ul { + border-bottom-style: dotted; + border-bottom-width: 1px; + border-bottom-color: #888; +} + +div#menu ul ul ul li { + padding-left: 1em; +} + +div#menu a:hover { + color: #5c5b8a; +} + +div#menu a:active { + color: #373672; +} + +div#menu li div.selected { + color: 1d255f; + font-weight: bold; +} + diff --git a/website/inc/event.js b/website/inc/event.js new file mode 100644 index 00000000..cc99e465 --- /dev/null +++ b/website/inc/event.js @@ -0,0 +1,149 @@ +// event.js: cross-browser Listener-style event handling +// version 0.9, 18-Apr-2001 +// written by Andrew Clover , use freely + +event_list= new Array(); + +event_level= 0; +if (document.implementation) + if (document.implementation.hasFeature('Events', '2.0')) + event_level= 2; + +function event_addListener(esource, etype, elistener) { + var i; + var alreadyTriggering= false; + for (i= 0; i0;) { + els= event_getElementsByTag(event_binds[i][0]); + blistener= event_binds[i][2]; + for (j= event_binds[i][1]; j0) return arr; + } + if (document.all) { + if (tag=='*') return event_array(document.all); + else return event_array(document.all.tags(tag)); + } + tag= tag.toLowerCase(); + if (tag=='a') return event_array(document.links); + if (tag=='img') return event_array(document.images); + if (tag=='form') return event_array(document.forms); + if (document.layers && tag=='div') return event_array(document.layers); + return event_NIL; +} +function event_array(coll) { + var arr= new Array(coll.length); + for (var i= arr.length; i-->0;) + arr[i]= coll[i]; + return arr; +} \ No newline at end of file diff --git a/website/inc/favicon.ico b/website/inc/favicon.ico new file mode 100644 index 00000000..7d08dd48 Binary files /dev/null and b/website/inc/favicon.ico differ diff --git a/website/inc/fixed.js b/website/inc/fixed.js new file mode 100644 index 00000000..5382876e --- /dev/null +++ b/website/inc/fixed.js @@ -0,0 +1,354 @@ +// fixed.js: fix fixed positioning and fixed backgrounds in IE/Win +// version 1.8, 08-Aug-2003 +// written by Andrew Clover , use freely + +/*@cc_on +@if (@_win32 && @_jscript_version>4) + +var fixed_positions= new Array(); +var fixed_backgrounds= new Array(); +var fixed_viewport; + +// Initialisation. Called when the tag arrives. Set up viewport so the +// rest of the script knows we're going, and add a measurer div, used to detect +// font size changes and measure image sizes for backgrounds later + +function fixed_init() { + fixed_viewport= (document.compatMode=='CSS1Compat') ? + document.documentElement : document.body; + var el= document.createElement('div'); + el.setAttribute('id', 'fixed-measure'); + el.style.position= 'absolute'; + el.style.top= '0'; el.style.left= '0'; + el.style.overflow= 'hidden'; el.style.visibility= 'hidden'; + el.style.fontSize= 'xx-large'; el.style.height= '5em'; + el.style.setExpression('width', 'fixed_measureFont()'); + document.body.insertBefore(el, document.body.firstChild); +} + +// Binding. Called every time an element is added to the document, check it +// for fixed features, if found add to our lists and set initial props + +function fixed_bind(el) { + var needLayout= false; + var tag= el.tagName.toLowerCase(); + var st= el.style; + var cst= el.currentStyle; + var anc; + + // find fixed-position elements + if (cst.position=='fixed') { + needLayout= true; + fixed_positions[fixed_positions.length]= el; + // store original positioning as we'll overwrite it + st.position= 'absolute'; + st.fixedPLeft= cst.left; + st.fixedPTop= cst.top; + st.fixedPRight= cst.right; + st.fixedPBottom= cst.bottom; + st.fixedPWidth= fixed_parseLength(cst.width); + st.fixedPHeight= fixed_parseLength(cst.height); + // find element that will act as containing box, for convenience later + st.fixedCB= null; + for (anc= el; (anc= anc.parentElement).parentElement;) { + if (anc.currentStyle.position!='static') { + st.fixedCB= anc; + break; + } } + // detect nested fixed positioning (only ancestor need move) + st.fixedNest= false; + for (anc= el; anc= anc.parentElement;) { + if (anc.style.fixedNest!=null) + st.fixedNest= true; + break; + } + } + + // find fixed-background elements (not body/html which IE already gets right) + if (cst.backgroundAttachment=='fixed' && tag!='body' && tag!='html') { + needLayout= true; + fixed_backgrounds[fixed_backgrounds.length]= el; + // get background offset, converting from keyword if necessary + st.fixedBLeft= fixed_parseLength(cst.backgroundPositionX); + st.fixedBTop= fixed_parseLength(cst.backgroundPositionY); + // if it's a non-zero %age, need to know size of image for layout + if (st.fixedBLeft[1]=='%' || st.fixedBTop[1]=='%') { + st.fixedBWidth= 0; st.fixedBHeight= 0; + fixed_measureBack(el); + } + } + if (needLayout) fixed_layout(); +} + +// Layout. On every window or font size change, recalculate positioning + +// Request re-layout at next free moment +var fixed_delaying= false; +function fixed_delayout() { + if (fixed_delaying) return; + fixed_delaying= true; + window.setTimeout(fixed_layout, 0); +} + +var fixed_ARBITRARY= 200; + +function fixed_layout() { + fixed_delaying= false; + if (!fixed_viewport) return; + var i, el, st, j, pr, tmp, A= 'auto'; + var cb, cbLeft, cbTop, cbRight, cbBottom, oLeft, oTop, oRight, oBottom; + var vpWidth=fixed_viewport.clientWidth, vpHeight=fixed_viewport.clientHeight; + + // calculate initial position for fixed-position elements [black magic] + for (i= fixed_positions.length; i-->0;) { + el= fixed_positions[i]; st= el.style; + // find positioning of containing block + cb= st.fixedCB; if (!cb) cb= fixed_viewport; + cbLeft= fixed_pageLeft(cb); cbTop= fixed_pageTop(cb); + if (cb!=fixed_viewport) { cbLeft+= cb.clientLeft; cbTop+= cb.clientTop; } + cbRight= fixed_viewport.clientWidth-cbLeft-cb.clientWidth; + cbBottom= fixed_viewport.clientHeight-cbTop-cb.clientHeight; + // if size is in %, must recalculate relative to viewport + if (st.fixedPWidth[1]=='%') + st.width= Math.round(vpWidth*st.fixedPWidth[0]/100)+'px'; + if (st.fixedPHeight[1]=='%') + st.height= Math.round(vpHeight*st.fixedPHeight[0]/100)+'px'; + // find out offset values at max size, to account for margins + st.left= A; st.right= '0'; st.top= A; st.bottom= '0'; + oRight= el.offsetLeft+el.offsetWidth; oBottom= el.offsetTop+el.offsetHeight; + st.left= '0'; st.right= A; st.top= '0'; st.bottom= A; + oLeft= el.offsetLeft; oTop= el.offsetTop; + // use this to convert all edges to pixels + st.left= A; st.right= st.fixedPRight; + st.top= A; st.bottom= st.fixedPBottom; + oRight-= el.offsetLeft+el.offsetWidth; + oBottom-= el.offsetTop+el.offsetHeight; + st.left= st.fixedPLeft; st.top= st.fixedPTop; + oLeft= el.offsetLeft-oLeft; oTop= el.offsetTop-oTop; + // edge positioning fix + if (st.fixedPWidth[1]==A && st.fixedPLeft!=A && st.fixedPRight!=A) { + tmp= el.offsetLeft; st.left= A; st.width= fixed_ARBITRARY+'px'; + tmp= fixed_ARBITRARY+el.offsetLeft-tmp+cbLeft+cbRight; + st.left= st.fixedPLeft; st.width= ((tmp<1)?1:tmp)+'px'; + } + if (st.fixedPHeight[1]==A && st.fixedPTop!=A && st.fixedPBottom!=A) { + tmp= el.offsetTop; st.top= A; st.height= fixed_ARBITRARY+'px'; + tmp= fixed_ARBITRARY+el.offsetTop-tmp+cbTop+cbBottom; + st.top= st.fixedPTop; st.height= ((tmp<1)?1:tmp)+'px'; + } + // move all non-auto edges relative to the viewport + st.fixedCLeft= (st.fixedPLeft=='auto') ? oLeft : oLeft-cbLeft; + st.fixedCTop= (st.fixedPTop=='auto') ? oTop : oTop-cbTop; + st.fixedCRight= (st.fixedPRight=='auto') ? oRight : oRight-cbRight; + st.fixedCBottom= (st.fixedPBottom=='auto') ? oBottom : oBottom-cbBottom; + // remove left-positioning of right-positioned elements + if (st.fixedPLeft=='auto' && st.fixedPRight!='auto') st.fixedCLeft= 'auto'; + if (st.fixedPTop=='auto' && st.fixedPBottom!='auto') st.fixedCTop= 'auto'; + } + + + // calculate initial positioning of fixed backgrounds + for (i= fixed_backgrounds.length; i-->0;) { + el= fixed_backgrounds[i]; st= el.style; + tmp= st.fixedBImage; + if (tmp) { + if (tmp.readyState!='uninitialized') { + st.fixedBWidth= tmp.offsetWidth; + st.fixedBHeight= tmp.offsetHeight; + st.fixedBImage= window.undefined; + } + } + st.fixedBX= fixed_length(el, st.fixedBLeft, vpWidth-st.fixedBWidth); + st.fixedBY= fixed_length(el, st.fixedBTop, vpHeight-st.fixedBHeight); + } + + // now call scroll() to set the positions from the values just calculated + fixed_scroll(); +} + +// Scrolling. Offset fixed elements relative to viewport scrollness + +var fixed_lastX, fixed_lastY; +var fixed_PATCHDELAY= 300; +var fixed_patching= false; + +// callback function after a scroll, because incorrect scroll position is +// often reported first go! +function fixed_patch() { + fixed_patching= false; + var scrollX= fixed_viewport.scrollLeft, scrollY= fixed_viewport.scrollTop; + if (scrollX!=fixed_lastX && scrollY!=fixed_lastY) fixed_scroll(); +} + +function fixed_scroll() { + if (!fixed_viewport) return; + var i, el, st, viewportX, viewportY; + var scrollX= fixed_viewport.scrollLeft, scrollY= fixed_viewport.scrollTop; + fixed_lastX= scrollX; fixed_lastY= scrollY; + + // move non-nested fixed-position elements + for (i= fixed_positions.length; i-->0;) { + st= fixed_positions[i].style; + viewportX= (st.fixedNest) ? 0 : scrollX; + viewportY= (st.fixedNest) ? 0 : scrollY; + if (st.fixedCLeft!='auto') st.left= (st.fixedCLeft+viewportX)+'px'; + if (st.fixedCTop!='auto') st.top= (st.fixedCTop+viewportY)+'px'; + viewportX= (st.fixedCB==null || st.fixedCB==fixed_viewport) ? 0 : viewportX; + viewportY= (st.fixedCB==null || st.fixedCB==fixed_viewport) ? 0 : viewportY; + st.right= (st.fixedCRight-viewportX+1)+'px'; st.right= (st.fixedCRight-viewportX)+'px'; + st.bottom= (st.fixedCBottom-viewportY+1)+'px'; st.bottom= (st.fixedCBottom-viewportY)+'px'; + } + + // align fixed backgrounds to viewport + for (i= fixed_backgrounds.length; i-->0;) { + el= fixed_backgrounds[i]; st= el.style; + viewportX= scrollX; + viewportY= scrollY; + while (el.offsetParent) { + viewportX-= el.offsetLeft+el.clientLeft; + viewportY-= el.offsetTop +el.clientTop; + el= el.offsetParent; + } + st.backgroundPositionX= (st.fixedBX+viewportX)+'px'; + st.backgroundPositionY= (st.fixedBY+viewportY)+'px'; + } + + // call back again in a tic + if (!fixed_patching) { + fixed_patching= true; + window.setTimeout(fixed_patch, fixed_PATCHDELAY); + } +} + +// Measurement. Load bg-image into an invisible element on the page, when +// loaded write the width/height to an element's style for layout use; detect +// when font size changes + +function fixed_measureBack(el) { + var measure= document.getElementById('fixed-measure'); + var img= document.createElement('img'); + img.setAttribute('src', fixed_parseURL(el.currentStyle.backgroundImage)); + measure.appendChild(img); + el.style.fixedBImage= img; + if (img.readyState=='uninitialized') + img.attachEvent('onreadystatechange', fixed_measureBackImage_ready); +} + +function fixed_measureBackImage_ready() { + var img= event.srcElement; + if (img && img.readyState!='uninitialized') { + img.detachEvent('onreadystatechange', fixed_measureBackImage_ready); + fixed_layout(); + } +} + +var fixed_fontsize= 0; +function fixed_measureFont() { + var fs= document.getElementById('fixed-measure').offsetHeight; + if (fixed_fontsize!=fs && fixed_fontsize!=0) + fixed_delayout(); + fixed_fontsize= fs; + return '5em'; +} + +// Utility. General-purpose functions + +// parse url() to get value inside + +function fixed_parseURL(v) { + v= v.substring(4, v.length-1); + if (v.charAt(0)=='"' && v.charAt(v.length-1)=='"' || + v.charAt(0)=="'" && v.charAt(v.length-1)=="'") + return v.substring(1, v.length-1); + else return v; +} + +// parse length or auto or background-position keyword into number and unit + +var fixed_numberChars= '+-0123456789.'; +var fixed_ZERO= new Array(0, 'px'); +var fixed_50PC= new Array(50, '%'); +var fixed_100PC= new Array(100, '%'); +var fixed_AUTO= new Array(0, 'auto'); + +function fixed_parseLength(v) { + var num, i; + if (v=='left' || v=='top') return fixed_ZERO; + if (v=='right' || v=='bottom') return fixed_100PC; + if (v=='center') return fixed_50PC; + if (v=='auto') return fixed_AUTO; + i= 0; + while (i arrives, then call main init. Pass any new elements +// found on each scan to be bound + +var fixed_SCANDELAY= 500; + +function fixed_scan() { + if (!document.body) return; + if (!fixed_viewport) fixed_init(); + var el; + for (var i= 0; i + + +%body +{#H1_FLAT#:<: $x = <:#H1_FLAT#} + "" + {#Title#:{#H1_FLAT#}:#Title#} +/> + + + + + + +{#!Title#:<: $_ = <:#Title#} + + +my $addcount=0; + + + +$addcount++; +if ($addcount == 7){ +print <<'GOOGLEAD'; +

    + + +

    +GOOGLEAD +} +
    +%body +
    + + + +$addcount++; +if ($addcount == 7){ +print <<'GOOGLEAD'; +

    + + +

    +GOOGLEAD +} +
    +%body +
    diff --git a/website/inc/langset.inc b/website/inc/langset.inc new file mode 100644 index 00000000..bd566d6b --- /dev/null +++ b/website/inc/langset.inc @@ -0,0 +1,34 @@ +# +# +# all definitions in the include rely on the existence of $LANG +# +# +############################################################################### +# define base languages of the document +############################################################################### +#use wml::std::lang + /> + "[a-z][a-z]" />> + "[a-z][a-z]" action=extract /> /> + "[a-z][a-z]" action=delete /> /> + short /> + + +############################################################################### +## creates .var file for automatic language selection +############################################################################### +[LANG_VAR: +URI: $(WML_SRC_BASENAME) + /> + "[a-z][a-z]" /> > + "[a-z][a-z]" action=extract /> /> + "[a-z][a-z]" action=delete /> /> + +URI: $(WML_SRC_BASENAME)..html +Content-type: text/html +Content-language: + + +URI: $(WML_SRC_BASENAME).en.html +Content-type: text/html +:LANG_VAR] diff --git a/website/inc/minmax.js b/website/inc/minmax.js new file mode 100644 index 00000000..7ebf1f56 --- /dev/null +++ b/website/inc/minmax.js @@ -0,0 +1,144 @@ +// minmax.js: make IE5+/Win support CSS min/max-width/height +// version 1.0, 08-Aug-2003 +// written by Andrew Clover , use freely + +/*@cc_on +@if (@_win32 && @_jscript_version>4) + +var minmax_elements; + +minmax_props= new Array( + new Array('min-width', 'minWidth'), + new Array('max-width', 'maxWidth'), + new Array('min-height','minHeight'), + new Array('max-height','maxHeight') +); + +// Binding. Called on all new elements. If , initialise; check all +// elements for minmax properties + +function minmax_bind(el) { + var i, em, ms; + var st= el.style, cs= el.currentStyle; + + if (minmax_elements==window.undefined) { + // initialise when body element has turned up, but only on IE + if (!document.body || !document.body.currentStyle) return; + minmax_elements= new Array(); + window.attachEvent('onresize', minmax_delayout); + // make font size listener + em= document.createElement('div'); + em.setAttribute('id', 'minmax_em'); + em.style.position= 'absolute'; em.style.visibility= 'hidden'; + em.style.fontSize= 'xx-large'; em.style.height= '5em'; + em.style.top='-5em'; em.style.left= '0'; + if (em.style.setExpression) { + em.style.setExpression('width', 'minmax_checkFont()'); + document.body.insertBefore(em, document.body.firstChild); + } + } + + // transform hyphenated properties the browser has not caught to camelCase + for (i= minmax_props.length; i-->0;) + if (cs[minmax_props[i][0]]) + st[minmax_props[i][1]]= cs[minmax_props[i][0]]; + // add element with properties to list, store optimal size values + for (i= minmax_props.length; i-->0;) { + ms= cs[minmax_props[i][1]]; + if (ms && ms!='auto' && ms!='none' && ms!='0' && ms!='') { + st.minmaxWidth= cs.width; st.minmaxHeight= cs.height; + minmax_elements[minmax_elements.length]= el; + // will need a layout later + minmax_delayout(); + break; + } } +} + +// check for font size changes + +var minmax_fontsize= 0; +function minmax_checkFont() { + var fs= document.getElementById('minmax_em').offsetHeight; + if (minmax_fontsize!=fs && minmax_fontsize!=0) + minmax_delayout(); + minmax_fontsize= fs; + return '5em'; +} + +// Layout. Called after window and font size-change. Go through elements we +// picked out earlier and set their size to the minimum, maximum and optimum, +// choosing whichever is appropriate + +// Request re-layout at next available moment +var minmax_delaying= false; +function minmax_delayout() { + if (minmax_delaying) return; + minmax_delaying= true; + window.setTimeout(minmax_layout, 0); +} + +function minmax_stopdelaying() { + minmax_delaying= false; +} + +function minmax_layout() { + window.setTimeout(minmax_stopdelaying, 100); + var i, el, st, cs, optimal, inrange; + for (i= minmax_elements.length; i-->0;) { + el= minmax_elements[i]; st= el.style; cs= el.currentStyle; + + // horizontal size bounding + st.width= st.minmaxWidth; optimal= el.offsetWidth; + inrange= true; + if (inrange && cs.minWidth && cs.minWidth!='0' && cs.minWidth!='auto' && cs.minWidth!='') { + st.width= cs.minWidth; + inrange= (el.offsetWidthoptimal); + } + if (inrange) st.width= st.minmaxWidth; + + // vertical size bounding + st.height= st.minmaxHeight; optimal= el.offsetHeight; + inrange= true; + if (inrange && cs.minHeight && cs.minHeight!='0' && cs.minHeight!='auto' && cs.minHeight!='') { + st.height= cs.minHeight; + inrange= (el.offsetHeightoptimal); + } + if (inrange) st.height= st.minmaxHeight; + } +} + +// Scanning. Check document every so often until it has finished loading. Do +// nothing until arrives, then call main init. Pass any new elements +// found on each scan to be bound + +var minmax_SCANDELAY= 500; + +function minmax_scan() { + var el; + for (var i= 0; i +#
  • +# +#
  • +#
  • +# +#
  • +#
  • +# +#
  • +#
  • +# +# +#
  • +# + + + + + + + + + + + + + + + + + + + my ($mcode, $CFG, $select) = @_; + # have the top selected too + $mcode =~ s|
    (.+?)
      |
      $1
        |g; + $mcode =~ s|
        ([^<]+?)
          |
          $1
            |g; + $mcode =~ s|
              |
          |g; + $mcode =~ s|
        \s*
    \s*||g; + return $mcode; +
    +
    + %body +
    +
    + + + + + + /> + diff --git a/website/inc/position.js b/website/inc/position.js new file mode 100644 index 00000000..7e95b678 --- /dev/null +++ b/website/inc/position.js @@ -0,0 +1,118 @@ +// position.js: make edge-positioning work on IE/Win +// version 0.5, 15-Jul-2003 +// written by Andrew Clover , use freely + +/*@cc_on +@if (@_win32 && @_jscript_version>4) + +var position_h= new Array(); +var position_v= new Array(); +var position_viewport; +var position_width= 0; +var position_height= 0; +var position_fontsize= 0; +var position_ARBITRARY= 200; + +// Binding. Called on each new element; if the it's , initialise script. +// Check all new elements to see if they need our help, make lists of them + +function position_bind(el) { + if (!position_viewport) { + if (!document.body) return; + // initialisation + position_viewport= (document.compatMode=='CSS1Compat') ? + document.documentElement : document.body; + window.attachEvent('onresize', position_delayout); + var em= document.createElement('div'); + em.setAttribute('id', 'position_em'); + em.style.position= 'absolute'; em.style.visibility= 'hidden'; + em.style.fontSize= 'xx-large'; em.style.height= '5em'; + em.style.top='-5em'; em.style.left= '0'; + em.style.setExpression('width', 'position_checkFont()'); + document.body.appendChild(em); + } + + // check for absolute edge-positioned elements (ignore ones from fixed.js!) + var st= el.style; var cs= el.currentStyle; + if (cs.position=='absolute' && !st.fixedPWidth) { + if (cs.left!='auto' && cs.right!='auto') { + position_h[position_h.length]= el; + st.position_width= position_ARBITRARY; + st.width= st.position_width+'px'; + position_delayout(); + } + if (cs.top!='auto' && cs.bottom!='auto') { + position_v[position_v.length]= el; + st.position_height= position_ARBITRARY; + st.height= st.position_height+'px'; + position_delayout(); + } } +} + +function position_checkFont() { position_delayout(); return '1em'; } + +// Layout. For each edge-positioned axis, measure difference between min-edge +// and max-edge positioning, set size to the difference + +// Request re-layout at next available moment +var position_delaying= false; +function position_delayout() { + if (position_delaying) return; + position_delaying= true; + window.setTimeout(position_layout, 0); +} + +function position_layout() { + position_delaying= false; + var i, el, st, pos, tmp; + var fs= document.all['position_em'].offsetWidth; + var newfs= (position_fontsize!=fs && position_fontsize!=0); + position_fontsize= fs; + + // horizontal axis + if (position_viewport.clientWidth!=position_width || newfs) { + position_width= position_viewport.clientWidth; + for (i= position_h.length; i-->0;) { + el= position_h[i]; st= el.style; cs= el.currentStyle; + pos= el.offsetLeft; tmp= cs.left; st.left= 'auto'; + st.position_width+= el.offsetLeft-pos; st.left= tmp; + if (st.position_width<1) st.position_width= 1; + st.width= st.position_width+'px'; + } } + // vertical axis + if (position_viewport.clientHeight!=position_height || newfs) { + position_height= position_viewport.clientHeight; + for (i= position_v.length; i-->0;) { + el= position_v[i]; st= el.style; cs= el.currentStyle; + pos= el.offsetTop; tmp= cs.top; st.top= 'auto'; + st.position_height+= el.offsetTop-pos; st.top= tmp; + if (st.position_height<1) st.position_height= 1; + st.height= st.position_height+'px'; + } } +} + +// Scanning. Check document every so often until it has finished loading. Do +// nothing until arrives, then call main init. Pass any new elements +// found on each scan to be bound + +var position_SCANDELAY= 500; + +var position_nscanned= 0; +function position_scan() { + var nall= document.all.length; + for (var i= position_nscanned; i + + + + + +RRDtool - RRDtool Crontrib Area + + + + + + + + + + + + + + + + + +
    +
    Swiss Original. Mirrors: UK +TW +US +CA +RO
    + + + + +
    +

    RRDtool Crontrib Area

    +
    diff --git a/website/inc/pub_footer.html b/website/inc/pub_footer.html new file mode 100644 index 00000000..f0c95ed9 --- /dev/null +++ b/website/inc/pub_footer.html @@ -0,0 +1,23 @@ +
    +
    + + + +
    +
    +

    NOTE: The content of this website is accessible with any browser. The graphical design though relies completely on CSS2 styles. If you see this text, this means that your browser does not support CSS2. Consider upgrading to a standard conformant browser like Mozilla Firefox or Opera but also Apple's Safari or KDE's Konqueror for example. It may also be that you are looking at a mirror page which did not copy the CSS for this page. Or if some pictu res are missing, then the mirror may not have picked up the contents of the inc directory.

    + + + diff --git a/website/inc/pub_header.html b/website/inc/pub_header.html new file mode 100644 index 00000000..ed1d67ac --- /dev/null +++ b/website/inc/pub_header.html @@ -0,0 +1,127 @@ + + + + + + +RRDtool - RRDtool Download Area + + + + + + + + + + + +
    +
    Swiss Original. Mirrors: UK +TW +US +CA +RO
    + + + + +
    +

    RRDtool Download Area

    +
    + diff --git a/website/inc/rrdtool-3dlogo.png b/website/inc/rrdtool-3dlogo.png new file mode 100644 index 00000000..d4e48a0d Binary files /dev/null and b/website/inc/rrdtool-3dlogo.png differ diff --git a/website/inc/rrdtool-design.xar b/website/inc/rrdtool-design.xar new file mode 100644 index 00000000..0f524792 Binary files /dev/null and b/website/inc/rrdtool-design.xar differ diff --git a/website/inc/rrdtool-gold.png b/website/inc/rrdtool-gold.png new file mode 100644 index 00000000..e60eacc2 Binary files /dev/null and b/website/inc/rrdtool-gold.png differ diff --git a/website/inc/rrdtool-logo-dark.png b/website/inc/rrdtool-logo-dark.png new file mode 100644 index 00000000..e9b930d1 Binary files /dev/null and b/website/inc/rrdtool-logo-dark.png differ diff --git a/website/inc/rrdtool-logo-light.png b/website/inc/rrdtool-logo-light.png new file mode 100644 index 00000000..26a3c64a Binary files /dev/null and b/website/inc/rrdtool-logo-light.png differ diff --git a/website/inc/rrdtool-logo.png b/website/inc/rrdtool-logo.png new file mode 100644 index 00000000..adf2b0e4 Binary files /dev/null and b/website/inc/rrdtool-logo.png differ diff --git a/website/inc/rrdtool-logo.xar b/website/inc/rrdtool-logo.xar new file mode 100644 index 00000000..544e5f29 Binary files /dev/null and b/website/inc/rrdtool-logo.xar differ diff --git a/website/inc/rrdtool-theme.png b/website/inc/rrdtool-theme.png new file mode 100644 index 00000000..e862e9e1 Binary files /dev/null and b/website/inc/rrdtool-theme.png differ diff --git a/website/inc/silver-logo.png b/website/inc/silver-logo.png new file mode 100644 index 00000000..8759bac5 Binary files /dev/null and b/website/inc/silver-logo.png differ diff --git a/website/inc/template.inc b/website/inc/template.inc new file mode 100644 index 00000000..59b231e1 --- /dev/null +++ b/website/inc/template.inc @@ -0,0 +1,216 @@ +# this seems to confuse just too many things out there ... +# guess following the standard is not there yet + + +# this must be the very first line to make doc-type switching work on IE +#use wml::std::logo +#use wml::std::tags +#use wml::des::space +#use wml::des::imgdot +#use wml::std::grid +#use wml::fmt::url +#include +#include +#include +#use wml::des::navbar +#include +#include <$(ROOT)/navbar.inc> + + + +