﻿$(document).ready(
    function () {

        var resizeCounter = 0;
        var fontSizeMultiplier = 1.15;



        initFontSize();
        /*
        var multiplier = 1;

        // Cookie font-size larger than normal font-size.
        if (resizeCounter > 0) {
        while (resizeCounter > 0) {
        multiplier = multiplier * fontSizeMultiplier;
        resizeCounter--;
        }

        applyFontSize(multiplier);
        }

        // Cookie font-size smaller than normal font-size.
        else if (resizeCounter < 0) {
        while (resizeCounter < 0) {
        multiplier = multiplier / fontSizeMultiplier;
        resizeCounter++;

        }
        applyFontSize(multiplier);
        }

        */
        function initFontSize() {
            // Get cookie font-size.
            var temp = $.cookie("font-size");
            if (temp != null) {
                resizeCounter = parseFloat(temp);
            }

            var multiplier = 1;

            // Cookie font-size larger than normal font-size.
            if (resizeCounter > 0) {
                while (resizeCounter > 0) {
                    multiplier = multiplier * fontSizeMultiplier;
                    resizeCounter--;
                }

                applyFontSize(multiplier);
            }

            // Cookie font-size smaller than normal font-size.
            else if (resizeCounter < 0) {
                while (resizeCounter < 0) {
                    multiplier = multiplier / fontSizeMultiplier;
                    resizeCounter++;

                }
                applyFontSize(multiplier);
            }

        }

        function restoreFontSize() {
            // Get cookie font-size.
            var temp = $.cookie("font-size");
            if (temp != null) {
                resizeCounter = parseFloat(temp);
            }

            var multiplier = 1;

            // Cookie font-size larger than normal font-size.
            if (resizeCounter < 0) {
                while (resizeCounter < 0) {
                    multiplier = multiplier * fontSizeMultiplier;
                    resizeCounter++;
                }

                applyFontSize(multiplier);
            }

            // Cookie font-size smaller than normal font-size.
            else if (resizeCounter > 0) {
                while (resizeCounter > 0) {
                    multiplier = multiplier / fontSizeMultiplier;
                    resizeCounter--;

                }
                applyFontSize(multiplier);
            }
        }

        function applyFontSize(multiplier) {
           
			var dom = $("html");
            var currentFontSize = dom.css('font-size');
            var currentFontSizeNum = parseFloat(currentFontSize, 10);
            var newFontSize = Math.round(currentFontSizeNum * multiplier);
            dom.css('font-size', newFontSize);

            dom = $("div");
            var currentFontSize = dom.css('font-size');
            var currentFontSizeNum = parseFloat(currentFontSize, 10);
            var newFontSize = Math.round(currentFontSizeNum * multiplier);
            dom.css('font-size', newFontSize);

            dom = $("#siteBody .navigator");
            currentFontSize = dom.css('font-size');
            currentFontSizeNum = parseFloat(currentFontSize, 10);
            newFontSize = Math.round(currentFontSizeNum * multiplier);
            dom.css('font-size', newFontSize);

			dom = $("#siteBody a");
            currentFontSize = dom.css('font-size');
            currentFontSizeNum = parseFloat(currentFontSize, 10);
            newFontSize = Math.round(currentFontSizeNum * multiplier);
            dom.css('font-size', newFontSize);


            dom = $("h1");
            currentFontSize = dom.css('font-size');
            currentFontSizeNum = parseFloat(currentFontSize, 10);
            newFontSize = Math.round(currentFontSizeNum * multiplier);
            dom.css('font-size', newFontSize);

            dom = $("h2");
            currentFontSize = dom.css('font-size');
            currentFontSizeNum = parseFloat(currentFontSize, 10);
            newFontSize = Math.round(currentFontSizeNum * multiplier);
            dom.css('font-size', newFontSize);

            dom = $("ul");
            currentFontSize = dom.css('font-size');
            currentFontSizeNum = parseFloat(currentFontSize, 10);
            newFontSize = Math.round(currentFontSizeNum * multiplier);
            dom.css('font-size', newFontSize);

            dom = $("ol");
            currentFontSize = dom.css('font-size');
            currentFontSizeNum = parseFloat(currentFontSize, 10);
            newFontSize = Math.round(currentFontSizeNum * multiplier);
            dom.css('font-size', newFontSize);
/*
            dom = $("p");
            currentFontSize = dom.css('font-size');
            currentFontSizeNum = parseFloat(currentFontSize, 10);
            newFontSize = Math.round(currentFontSizeNum * multiplier);
            dom.css('font-size', newFontSize);
*/
            dom = $("#menu a");
            currentFontSize = dom.css('font-size');
            currentFontSizeNum = parseFloat(currentFontSize, 10);
            newFontSize = Math.round(currentFontSizeNum * multiplier);
            dom.css('font-size', newFontSize);

            dom = $("#leftBar ul li ul li a");
            currentFontSize = dom.css('font-size');
            currentFontSizeNum = parseFloat(currentFontSize, 10);

            newFontSize = Math.round(currentFontSizeNum * multiplier);
            dom.css('font-size', newFontSize);

        }

        // font size reset.
        $("#btnReset").click(
            function () {

                restoreFontSize();

                // Reset cookie.
                $.cookie("font-size", 0, { path: '/' });

                return false;
            }
        );

        // font size increase.
        $("#btnFontUp").click(
            function () {

                // Get cookie font-size.
                var temp = $.cookie("font-size");
                if (temp != null) {
                    resizeCounter = parseFloat(temp);
                }

                if (resizeCounter < 2) {
                    resizeCounter += 1;

                    // Update cookie.
                    $.cookie("font-size", resizeCounter, { path: '/' });

                    applyFontSize(fontSizeMultiplier);
                }


                return false;
            }
        );

        // font size decrease.
        $("#btnFontDown").click(
            function () {

                // Get cookie font-size.
                var temp = $.cookie("font-size");
                if (temp != null) {
                    resizeCounter = parseFloat(temp);
                }

                if (resizeCounter > -2) {
                    resizeCounter -= 1;

                    // Update cookie.
                    $.cookie("font-size", resizeCounter, { path: '/' });
                    applyFontSize((1 / fontSizeMultiplier));

                }
                return false;
            }
        );

        $("#btnPrint").click(
            function () {
                window.print();
            }
        );


    }

);
