﻿// SET VARIABLES
var fontSize = 1;

// set currentSize to either 1, or whatever is in the cookie
var currentSize = $.cookie('fontSize');
var currentSize = parseFloat(currentSize, 12);

if (isNaN(currentSize) == true) { 
    currentSize = 1;
}

// INITIALIZE THE UI SLIDER ------------------------------------------------------------------------------------------------
function initializeUiSlider() {
    // jquery.ui slider
    $("#sliderBar").slider({
        handle: '.slider_handle',
        value: currentSize,
        min: 0.8,
        max: 1.5,
        step: 0.02,
        slide: function(event, ui) { changeFontSize(ui); },
        stop: function(event, ui) { saveFontSize(ui); }
    });
    
    // increase button
    $("a.increaseButton").bind("click", function(event) {
         // round the current size to 1 dp
         currentSize = roundNumber(currentSize, 1);
         // if it is not at its max size
         if (currentSize < 1.5) {   
            // add 0.1 em to the font size
            currentSize = currentSize + 0.1;    
            // alter the slider value and change the font size
            $('#sliderBar').slider('option','value', currentSize);
            $('.resizeable').css('font-size', currentSize + "em");
            // save the new size to the cookie
            saveToCookie();
        }
        event.preventDefault();
    });
    
    // decrease button (same as increase button in functionality)
    $("a.decreaseButton").bind("click", function(event){
        currentSize = roundNumber(currentSize, 1);
        if (currentSize > 0.8) {
            currentSize = currentSize - 0.1;
            $('#sliderBar').slider('option','value', currentSize);
            $('.resizeable').css('font-size', currentSize + "em");
            saveToCookie();
        }
        event.preventDefault();
    });
}

// FONT SIZE FUNCTIONS ----------------------------------------------------------------------------------------------------------------
    function changeFontSize (ui) {
        // get the slider value
        currentSize = ui.value;
        // set the font size
        $('.resizeable').css("font-size",currentSize + "em");
    }

    function saveFontSize (ui) {
        // get the slider value
        currentSize = ui.value;
        // save to a cookie
        saveToCookie();
    }  

    function saveToCookie () {
        var fontSize = parseFloat(currentSize, 10);
        $.cookie('fontSize', fontSize); 
    }

    function roundNumber(num, dec) {
        var result = Math.round(num*Math.pow(10,dec))/Math.pow(10,dec);
        return result;
    }

$(function() {
    initializeUiSlider();

    });