Edit

JavaScript Stylesheet Switcher

Style Links HTML

        <link rel="alternate stylesheet" type="text/css" href="/theme/KATALOG/style.css" title="KATALOG"/>
        <link rel="alternate stylesheet" type="text/css" href="/theme/SCREEN/style.css" title="SCREEN"/>
        <link rel="alternate stylesheet" type="text/css" href="/theme/spaecial/style.css" title="spaecial"/>
        <link rel="alternate stylesheet" type="text/css" href="/theme/touchpanel/style.css" title="touchpanel"/>
        <link rel="stylesheet" type="text/css" href="/theme/blawk/style.css" title="blawk"/>

Style Switch Links HTML

        <div id="style_chooser">
            <a href="#" onclick="setActiveStyleSheet('KATALOG');this.blur();return false;">KATALOG</a>
            <a href="#" onclick="setActiveStyleSheet('SCREEN');this.blur();return false;">SCREEN</a>
            <a href="#" onclick="setActiveStyleSheet('touchpanel');this.blur();return false;">(touchpanel)</a>
            <a href="#" onclick="setActiveStyleSheet('spaecial');this.blur();return false;">spæcial</a>
            <a href="#" onclick="setActiveStyleSheet('blawk');this.blur();return false;">blawk</a>
        </div>

JavaScript functions

function setActiveStyleSheet(title) {
	var i, a;
	for (i=0; (a = document.getElementsByTagName("link")[i]); i++) {
		if (a.getAttribute("rel")
		    && a.getAttribute("rel").indexOf("style") != -1
		    && a.getAttribute("title")) {
			a.disabled = true;
			document.getElementById( "style_choice_"+a.getAttribute("title") ).className = "";
			if (a.getAttribute("title") == title){
				a.disabled = false;
				document.getElementById( "style_choice_"+title ).className = "selected";
			}
		}
	}
}

function getActiveStyleSheet() {
	var i, a;
	for (i=0; (a = document.getElementsByTagName("link")[i]); i++) {
		if (a.getAttribute("rel")
		    && a.getAttribute("rel").indexOf("style") != -1
		    && a.getAttribute("title")
		    && !a.disabled) {
			return a.getAttribute("title");
		}
	}
	return null;
}

function getPreferredStyleSheet(){
	var i, a;
	for (i=0; (a = document.getElementsByTagName("link")[i]); i++) {
		if( a.getAttribute("rel")
		    && a.getAttribute("rel").indexOf("style") != -1
		    && a.getAttribute("rel").indexOf("alt") == -1
		    && a.getAttribute("title") ){
			return a.getAttribute("title");
		}
	}
	return null;
}

function createCookie(name, value, days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "expires="+date.toGMTString();
	}
	else expires = "";
	document.cookie = name+"="+value+"; "+expires+"; "+"path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	if( typeof document.cookie != "undefined" ){
		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;
}

JavaScript load/unload event

window.onload = function(e){

    var cookie = readCookie("style");
    var title = cookie ? cookie : getPreferredStyleSheet();
    if( cookie == null || cookie == "null" ) var title = getPreferredStyleSheet();
    else{ var title = cookie;/ *alert("received style through cookie: "+title);* / }
    setActiveStyleSheet(title);

}
window.onunload = function(e){

    var title = getActiveStyleSheet();
    createCookie("style", title, 30);

}