      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 getActiveStyleSheets() {
	var i, a, sheets = "";
	for(i=0; i < document.styleSheets.length; i++) {
	  a = document.styleSheets[i];
	  if (!a.disabled && a.title.length > 0) {
	    sheets += a.title + ",";
	  }
	}

	if (sheets.length > 0) {

	  return sheets.substring(0, sheets.length - 1);
	} else {
	  return null;
	}
      }

      function toggleStylesheet(title) {
	var i, a;

	for(i=0; i < document.styleSheets.length; i++) {
	  a = document.styleSheets[i];
	  if ( a.title == title) {
	    a.disabled = !a.disabled;
	  }
	}
	createCookie("style", getActiveStyleSheets(), 7);
      }

      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;
      }

      function on_load() {
	var cookie = readCookie("style");

	if (cookie == null) {
	  return;
	}
	cookie = cookie.split(",");
	
	for (var i=0; i < cookie.length; i++) {
	  toggleStylesheet(cookie[i]);
	}
      }
