// Default
var fontSize            = 12;
var curFontSize         = fontSize;
var minFontSize         = 10;
var maxFontSize         = 14;

// Function - Load Current Fontsize
var loadCurrentFontsize = function() {
    
    // Get - Fontsize
    newCurFontSize                          = getCookie("fontsize");
    
    // Check - Fontsize
    if( newCurFontSize==null )              return false;
    
    // Var
    curFontSize                             = parseFloat(newCurFontSize);
 
    // Check - Min & Max Size
    if( curFontSize > maxFontSize )         curFontSize = maxFontSize;
    else if( curFontSize < minFontSize )    curFontSize = minFontSize;

    // Set - Class
    if( el = document.getElementById("fs_norm") ) {
        if( curFontSize != fontSize ) {
            el.className                    = "";
        } else {
            el.className                    = "standard";
        }
    }

    // Set - Fontsize
    document.body.style.fontSize            = curFontSize+"px";
    
    // Return
    return true;    
}

// Function - Save Current Fontsize
var saveCurrentFontsize = function() {
    
    // Var
    ischecked           = false;
    
    // Set Cookie
    document.cookie     = "fontsize="+ curFontSize +";path=/";
    
    // Return
    return true;
}

// Function - Set Default Fontsize
var setDefaultFontsize = function() {
    
    // Var
    curFontSize                             = fontSize;
    
    // Set - Fontsize
    document.body.style.fontSize            = curFontSize+"px";
    
    // Set - Class
    if( el = document.getElementById("fs_norm") ) {
        el.className                        = "standard";
    }

    // Save Current Fontsize
    saveCurrentFontsize();
}

// Function - Set Next Min Fontsize
var setNextMinFontsize = function() {
    
    // Var
    curFontSize                             = curFontSize - 1;
    
    // Check - Min Fontsize
    if( curFontSize < minFontSize )         curFontSize = minFontSize;
    
    // Set - Fontsize
    document.body.style.fontSize            = curFontSize+"px";
    
    // Set - Class
    if( el = document.getElementById("fs_norm") ) {
        if( curFontSize != fontSize ) {
            el.className                    = "";
        } else {
            el.className                    = "standard";
        }
    }
    
    // Save Current Fontsize
    saveCurrentFontsize();
}

// Function - Set Next Max Fontsize
var setNextMaxFontsize = function() {

    // Var
    curFontSize                             = curFontSize + 1;
    
    // Check - Max Fontsize
    if( curFontSize > maxFontSize )         curFontSize = maxFontSize;
    
    // Set - Fontsize
    document.body.style.fontSize            = curFontSize+"px";
    
    // Set - Class
    if( el = document.getElementById("fs_norm") ) {
        if( curFontSize != fontSize ) {
            el.className                    = "";
        } else {
            el.className                    = "standard";
        }
    }
    
    // Save Current Fontsize
    saveCurrentFontsize();
}

// Function - Get Cookie
var getCookie = function(name) {
    
    // Vars
    var i               = 0;
    var search          = name+"=";
    
    // While - Cookie List
    while( i<document.cookie.length ) {
        if( document.cookie.substring(i, i+search.length)==search ) {
            
            // Vars
            var ende    = document.cookie.indexOf(";", i+search.length);
            ende        = ( (ende>-1) ? ende : document.cookie.length);
            var cook    = document.cookie.substring(i+search.length, ende);
            
            // Return
            return unescape(cook);
        }
        i++;
    }
    
    // Return
    return null;
}


// Loading - DOM Ready
Ext.onReady(function(){
    
    // Load Current Fontsize
    loadCurrentFontsize();
    
    // Set - Buttons
    Ext.select('.zm_in').on(
        'click',
        function() {
            setNextMaxFontsize();
        },
        this,
        {stopEvent: true}
    );
    Ext.select('.zm_out').on(
        'click',
        function() {
            setNextMinFontsize();
        },
        this,
        {stopEvent: true}
    );    
});
