        function set_cookie(key, value) {
            document.cookie =
                key + '=' + value + '; ' +
                'expires=Wed, 1 Jan 2038 01:00:00 UTC; path=/; domain=.beds.ac.uk';
        };

        function parse_cookies() {
            var cookies = document.cookie.split('; ');
            var ret = {};
            for (var i=0; i < cookies.length; i++) {
                var keyvalue = cookies[i].split('=');
                ret[keyvalue[0]] = keyvalue[1];
            };
            return ret;
        };

        function load_css(id, defaulthref) {
            var linkel = document.getElementById(id);
            var cookies = parse_cookies();
            var newhref = cookies['csshref-' + id] || defaulthref;
            linkel.href = newhref;
        };

        function switch_theme(id, theme, store_cookie) {
            var newhref = '/css/' + theme + '.css';
            var linkel = document.getElementById(id);
            linkel.href = newhref;
            if (store_cookie || store_cookie === undefined) {
                set_cookie('csshref-' + id, theme);
            };
            var obj = document.getElementById(theme);
            var linkList = document.getElementById("style-switcher").getElementsByTagName("a");
            for (i = 0; i < linkList.length; i++) {
                linkList[i].className = "";
            };
            obj.className = "selected";
        };

        function switch_font_size(id, theme, store_cookie) {
            var newhref = '/css/' + theme + '.css';
            var linkel = document.getElementById(id);
            linkel.href = newhref;
            if (store_cookie || store_cookie === undefined) {
                set_cookie('csshref-' + id, theme);
            };
            var obj = document.getElementById(theme);
            var linkList = document.getElementById("font-size-switcher").getElementsByTagName("a");
            for (i = 0; i < linkList.length; i++) {
                linkList[i].className = "";
            };
            obj.className = "selected";
        };

        function set_default_theme(){
            var theme = parse_cookies()['csshref-colors']; 
            if (theme !== undefined) {
                switch_theme('colors', theme);
            };
        };

        function set_default_font_theme(){
            var font_theme = parse_cookies()['csshref-fontsize'];
            if (font_theme !== undefined) {
                switch_font_size('fontsize', font_theme);
            };
        };