/*
        (c) 2002 functionNewMedia, Inc.

        The script may distributed and used freely, provided the above
        copyright notice remains intact and the both the script and this
        readme file are distributed together and unaltered.
        Send bug reports, comments, questions or requests to:
        c.kaminski@function.de
*/

var fun_baseSize = 15;
var fun_increment = 1;

var fun_bigger = ['<div id="zoom" class="here">',
                                  '+&nbsp;zoom',
                                  'gr&ouml;sser | accesskey: alt + ',
                                  '',
                                  '',
                                  '',
                                  '+',
                                  '',
                                  '',
                                  '11',
                                  ' | '
                                  ]
				    
var fun_reset = ['',
                                 'reset',
                                 'zur&uuml;ckstellen | accesskey: alt 0 ',
                                  '',
                                  '',
                                  '',
                                  '0',
                                  '',
                                  '',
                                  '13',
				  '</div>'
                                  ]

var fun_smaller = ['',
                                   '-&nbsp;zoom',
                                   'kleiner | accesskey: alt - ',
                                   '',
                                   '',
                                   '',
                                   '-',
                                   '',
                                   '',
                                   '12',
                                   ' | '
                                   ]

function Fun_fontsize(baseSize,increment,bigger,reset,smaller) {
        this.userAgent = navigator.userAgent.toLowerCase();
        this.w3c = (document.getElementById);
        this.ms = (document.all);
        this.isOp = (this.userAgent.indexOf('opera') != -1);
        this.isMacIe5 = ((this.userAgent.indexOf('msie') != -1) && !this.isOp && this.w3c && (this.userAgent.indexOf('mac') != -1));
        this.isOw = (this.userAgent.indexOf('omniweb') != -1);
        if ((this.w3c || this.ms) && !this.isOp && !this.isOw && !this.isMacIe5) {
                this.increment = increment;
                this.baseSize = baseSize;
                this.name = "fun_fontSize";
                this.cookieName = "funfontpref=";
                this.expires = this.getExpiresDate();
                this.domain = this.getDomain();
                this.currentSize = this.getFontPref();
                this.biggerLink = this.getLinkHtml(1,bigger);
                this.resetLink = this.getLinkHtml(0,reset);
                this.smallerLink = this.getLinkHtml(-1,smaller);
                window.onload = new Function(this.name + '.init();');
                window.onunload = new Function(this.name + '.storeFontPref();');
        } else {
                this.biggerLink = '';
                this.resetLink = '';
                this.smallerLink = '';
        }
        this.allLinks = this.biggerLink + this.resetLink + this.smallerLink;
        this.style = this.getStyleHtml(baseSize);
}
Fun_fontsize.prototype.init = function() {
        this.body = (this.w3c)?document.getElementsByTagName('body')[0].style:document.all.tags('body')[0].style;
}
Fun_fontsize.prototype.getStyleHtml = function(size) {
        var html = '<style type="text/css" media="screen"> body { font-size: ';
        html += (this.currentSize)?this.currentSize:size;
        return html += 'px; } table { font-size: 1em; } --><' + '/style>';
}
Fun_fontsize.prototype.getLinkHtml = function(increment,properties) {
        if (properties[1]) {
                var html = properties[0] + '<a href="#" onclick="fun_fontSize.change(' + increment + '); return false;"';
                html += (properties[2])?'title="' + properties[2] + '"':'';
                html += (properties[3])?'class="' + properties[3] + '"':'';
                html += (properties[4])?'id="' + properties[4] + '"':'';
                html += (properties[5])?'name="' + properties[5] + '"':'';
                html += (properties[6])?'accesskey="' + properties[6] + '"':'';
                html += (properties[7])?'onmouseover="' + properties[7] + '"':'';
                html += (properties[8])?'onmouseout="' + properties[8] + '"':'';
                html += (properties[9])?'tabindex="' + properties[9] + '"':'';
                return html += '>'+ properties[1] + '<' + '/a>' + properties[10];
        } else return '';
}
Fun_fontsize.prototype.getDomain = function() {
        var href = document.location.href;
        return href.substring(href.indexOf('.'),href.indexOf('/',href.indexOf('.')));
}
Fun_fontsize.prototype.getExpiresDate = function() {
        var expires = new Date();
        expires.setFullYear(expires.getFullYear() + 1);
        return expires
}
Fun_fontsize.prototype.getFontPref = function() {
        var allCookies = document.cookie;
        var start = allCookies.indexOf(this.cookieName);
        if (start != -1) {
                start += this.cookieName.length;
                var end = allCookies.indexOf(';',start);
                end = (end != -1)?end:allCookies.length;
                return parseInt(allCookies.substring(start,end));
        } else return this.baseSize;
}
Fun_fontsize.prototype.storeFontPref = function() {
        document.cookie = this.cookieName + this.currentSize + '; expires=' + this.expires.toGMTString() + ';' + '; path=/; domain=' + 'evakreisky.at';
}
Fun_fontsize.prototype.change = function(increment) {
        this.currentSize = (!increment)?this.baseSize:this.currentSize + increment;
        this.setFontSize();
}
Fun_fontsize.prototype.setFontSize = function() {
        this.body.fontSize = this.currentSize + 'px';
}

var  fun_fontSize = new Fun_fontsize(fun_baseSize,fun_increment,fun_bigger,fun_reset,fun_smaller);