$(document).ready(function () {
    initRoundQuotes();
    initTextResize();
});

function initRoundQuotes ()
{
    $('#Content > blockquote').wrap('<div class="bq-top"><div class="bq-bottom"></div></div>');
}

function initTextResize ()
{
    var data = {
        small:  { size: '12px', link: $('#TextSmall') },
        medium: { size: '14px', link: $('#TextMedium') },
        large:  { size: '16px', link: $('#TextLarge') }
    };

    /* Attach click event to resize links */
    for (var i in data)
        data[i].link.click(createResizeEvent(i, data[i]));

    /* Get default text size from cookie */
    var cookie = getCookie('textSize'),
        size = data[cookie] ? cookie : 'small';

    data[size].link.click();
}

/* Returns event handler */
function createResizeEvent (size, node)
{
    return function (e) {
        /* Highlight link */
        $('#HeaderControls a').removeClass('active');
        node.link.addClass('active');

        /* Resize text and save size in cookie */
        resizeText(node.size);
        setCookie('textSize', size, 365);

        e.preventDefault();
    };
}

/* Sets base font-size */
function resizeText (size) {
    document.body.style.fontSize = size;
}

/* Sets a cookie */
function setCookie (name, value, days) {
    var cookie = name + "=" + value;
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + days * 24 * 3600000);
        cookie += "; expires=" + date.toUTCString();
    }
    document.cookie = cookie + "; path=/";
}

/* Gets a cookie value by name */
function getCookie (name) {
    var cookies = document.cookie.split('; ');
    for (var i in cookies) {
        var cookie = cookies[i].split('=');
        if (cookie[0] == name)
            return cookie[1];
    }
    return null;
}
