﻿// Configuration area ---------------------------------------------------->
var fontSizeCookieName       = "clubOneFontSize"; //The name of the cookie
var fontSizeDefaultSize      = 2; // Default size's id
var fontSizeActiveClassName  = "active"; // Css class for the active <a>
var fontSizeIdText           = "fontSize"; // <span>'s id text before fontSize id
var fontSizeBodyClass        = "fontSize"; // Css class text before fontSize id for the <body>
var fontSizeBodyDefaultClass = ""; // Class for <body> when default size is active
var fontSizeCookieDuration   = 31; // Cookie expiration, in days (to make the cookie to last only for the current session use 0)
// <----------------------------------------------------------------------

var fontSize;
function getFontSizeCookieValue() {
    var results = document.cookie.match('(^|;) ?' + fontSizeCookieName + '=([^;]*)(;|$)');

    if (results)
        return (unescape(results[2]));
    else
        return null;
}
function deleteFontSizeCookie() {
    var cookie_date = new Date();
    cookie_date.setTime(cookie_date.getTime() - 1);
    document.cookie = fontSizeCookieName += "=; expires=" + cookie_date.toGMTString();
}
function setFontSizeCookie(size) {
    if (fontSizeCookieDuration != 0) {
        var current_date = new Date;
        var cookie_year = current_date.getFullYear();
        var cookie_month = current_date.getMonth();
        var cookie_day = current_date.getDate() + fontSizeCookieDuration;

        var cookie_string = fontSizeCookieName + "=" + escape(size);

        if (cookie_year) {
            var expires = new Date(cookie_year, cookie_month, cookie_day);
            cookie_string += "; expires=" + expires.toGMTString();
        }
    }

    cookie_string += "; path=/";

    document.cookie = cookie_string;
}
function setFontSize(size) {
    if (size != fontSizeDefaultSize) {
        document.body.className = fontSizeBodyClass + size;
    } else {
        document.body.className = fontSizeBodyDefaultClass;
    }
    fontSize = size;
}
// Change the size, the active anchor and updates te cookie 
function changeFontSize(sizeAnchor) {
    if (sizeAnchor.id) {
        var size = sizeAnchor.id;
        size = size.substring(8);
        document.getElementById(fontSizeIdText + fontSize).className = "";
        setFontSize(size);
        setFontSizeCookie(size);
        sizeAnchor.className = fontSizeActiveClassName;
    }
}
// Init function
function fontSizeInit() {
    // Gets or sets the cookie
    if (!getFontSizeCookieValue()) {
        setFontSizeCookie(fontSizeDefaultSize);
        fontSize = fontSizeDefaultSize;
    }
    else {
        fontSize = getFontSizeCookieValue();
    }

    changeFontSize(document.getElementById(fontSizeIdText + fontSize));
}
// Call init onLoad because the <body> element is not avalible till page loads
window.onload = fontSizeInit;