// Initialisierung der Schriftgroesse auf in der URL uebergebene, die der Funktion
// uebergebene bzw. oben angegebene Standardgroesse (falls keine Parameter uebergeben
// wurden)
font_unity = 'em';
delta = '0.1';    
init_FontSize (1);

function init_FontSize (ifontSize){
    if (getFontSize () != '')
    {
        ifs = getFontSize ();
    }    
    else if (typeof ifontSize != "undefined" && !isNaN(ifontSize))
    {
        ifs = ifontSize;
    }
    else
    {
        ifs = 1;
    }
    setFontSize (ifs);
}

function setFontDefaults (ifs)
{
    if (ifs > 5)
    {
        font_unity = 'px';
        delta = '1';
    }
    else
    {
        font_unity = 'em';
        delta = '0.1';    
    }
}
// Schriftgroesse um delta erhoehen
function incFontSize (){
    if (typeof fsize == "undefined") 
        fsize = 1;
        
    if (!isNaN(delta))
        setFontSize (Math.round((parseFloat(fsize) + parseFloat(delta)) * 100) / 100);

}

// Schriftgroesse um delta verkleinern
function decFontSize (){
    if (typeof fsize == "undefined") 
        fsize = 1;
        
    if (!isNaN(delta))
        setFontSize (Math.round((parseFloat(fsize) - parseFloat(delta)) * 100) / 100);

}

// Schriftgroesse um delta veraendern
function setFontSize (newsize){
    if (document.getElementsByTagName('body')[0])
    {
        if (!isNaN(newsize))
        {
            setFontDefaults (newsize);
            fsize = Math.round((parseFloat(newsize)) * 100) / 100;
            document.getElementsByTagName('body')[0].style.fontSize = fsize + font_unity;
            addFontSizeToLinks ();
        }
    }
}

// Eingestellte Schriftgroesse aus dedem Coockie auslesen bzw. Standardwert fuer die
// Schriftgroesse liefern
function getFontSize (){
    var fs;
    fs = CookieLesen('fszpp');
    if (fs != null) {
        return fs;
         }else{
         return '';
         }
    
}

function CookieLesen(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}

// Schriftgroesse in Cookie schreiben, damit die eingestellte Schriftgroesse
// auch in Folgeseiten beibehalten wird
function addFontSizeToLinks (){
    var a = new Date();
    a = new Date(a.getTime() + (300 * 24 * 60 * 60 * 1000));
    document.cookie = 'fszpp='+fsize+'; expires='+a.toGMTString()+';';
}
