$(document).ready(function() {
    var body = $('div#body');
    var defaultSize = 'medium';
    var defaultColor = 'white_black';
    var cookieSize = readCookie('preference_size');
    var cookieColor = readCookie('preference_color');

    $('div#controller_size_big').click(function() {
        setSize('big');
    });

    $('div#controller_size_medium').click(function() {
        setSize('medium');
    });

    $('div#controller_size_small').click(function() {
        setSize('small');
    });

    $('div#controller_color_white_black').click(function() {
        setColor('white_black');
    });

    $('div#controller_color_black_white').click(function() {
        setColor('black_white');
    });

    $('div#controller_color_blue_white').click(function() {
        setColor('blue_white');
    });

    $('div#controller_color_yellow_black').click(function() {
        setColor('yellow_black');
    });

    function setSize(size)
    {
        removeClass('preference_size_big');
        removeClass('preference_size_medium');
        removeClass('preference_size_small');
        createCookie('preference_size', size, 1);

        if (size == 'big') {
            addClass('preference_size_big');
        } else if(size == 'small') {
            addClass('preference_size_small');
        } else {
            addClass('preference_size_medium');
        }
    }

    function setColor(color)
    {
        removeClass('preference_color_white_black');
        removeClass('preference_color_black_white');
        removeClass('preference_color_blue_white');
        removeClass('preference_color_yellow_black');
        createCookie('preference_color', color, 1);

        if (color == 'black_white') {
            addClass('preference_color_black_white');
        } else if (color == 'blue_white') {
            addClass('preference_color_blue_white');
        } else if (color == 'yellow_black') {
            addClass('preference_color_yellow_black');
        } else {
            addClass('preference_color_white_black');
        }
    }

    function addClass(className)
    {
        $('div#body').addClass(className);
    }

    function removeClass(className)
    {
        $('div#body').removeClass(className);
    }

    if (typeof cookieSize !== null) {
        setSize(cookieSize);
    } else {
        setSize(defaultSize);
    }

    if (typeof cookieColor !== null) {
        setColor(cookieColor);
    } else {
        setColor(defaultColor);
    }
});
