﻿/*
* Styleswitch stylesheet switcher built on jQuery
* Under an Attribution, Share Alike License
* By Kelvin Luck ( http://www.kelvinluck.com/ )
*/

// This script replicates the same server-side functionality as in StyleChanger.ascx.cs, on the client

$(document).ready(function() {
    $('.styleswitch').click(function() {
        return switchStylestyle(this.getAttribute("rel"));
    });
});
function switchStylestyle(styleName) {
    // determine if we are to enlarge or set size
    var currentSize = getCurrentSize();
    // if cookies are disabled, getCurrentSize will fail. Return true and perform server side resizing
    if (currentSize == null)
        return true;
    if (styleName == 'enlarge') {
        switch (currentSize) {
            case 'small':
                return switchStylestyle('medium');
            case 'medium':
                return switchStylestyle('large');
            case 'large':
                return switchStylestyle('huge');
            default:
                return false;
        }
    }
    $('#sizesheet').attr("href", "Assets/Style/" + styleName + "Font.css");
    createCookie('style', styleName, 365);
    return false;
}

function getCurrentSize()
{
    var setSheet = readCookie('style');
    if(setSheet)
        return setSheet;
    return null;
}

// cookie functions http://www.quirksmode.org/js/cookies.html
function createCookie(name, value, days) {
    var expires = "";
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        expires = "; expires=" + date.toGMTString();
    }
    document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}
