function getElementsByClassName(node,tag,searchClass) {
		var classElements = new Array();
		if ( node == null )
			node = document;
		if ( tag == null )
			tag = '*';
		var els = node.getElementsByTagName(tag);
		var elsLen = els.length;
		var pattern = new RegExp('(^|\\s)'+searchClass+'(\\s|$)');
		for (i = 0, j = 0; i < elsLen; i++) {
			if ( pattern.test(els[i].className) ) {
				classElements[j] = els[i];
				j++;
			}
		}
		return classElements;
}

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 + "=";
  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 setActiveStyleSheet(title) {
  var i, a, setName;
  if(title.indexOf("text-size") != -1){
	  setName = "text-size";
  } else if(title.indexOf("layout") != -1){
	  setName = "layout";
//  } else if(title.indexOf("pure-text") != -1){
//	  setName = "pure-text";
  }
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("stylesheet") != -1 && a.getAttribute("title")) {
		if(a.getAttribute("title").indexOf(setName) != -1){
			a.disabled = true;
			if(a.getAttribute("title") == title) a.disabled = false;
		}
    }
  }
  var title = getActiveStyleSheet();
  title = escape(title);
  createCookie("style", title, 365);
}

function getActiveStyleSheet() {
  var i, a, styleName1, styleName2, styleName3;
  var zaehler1 = 0;
  var zaehler2 = 0;
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("stylesheet") != -1 && a.getAttribute("title") && !a.disabled) {
		zaehler1++;
	}
  }
  for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
    if(a.getAttribute("rel").indexOf("stylesheet") != -1 && a.getAttribute("title") && !a.disabled) {
		zaehler2++;
		if(a.getAttribute("title").indexOf("text-size") != -1){
			styleName1 = a.getAttribute("title");
		}
		else if(a.getAttribute("title").indexOf("layout") != -1){
			styleName2 = a.getAttribute("title");
		}
//		else if(a.getAttribute("title").indexOf("pure-text") != -1){
//			styleName3 = a.getAttribute("title");
//		}
		if (zaehler2 == zaehler1){
			//alert(styleName1+'/'+styleName2);
//			return styleName1+'/'+styleName2+'/'+styleName3;
			return styleName1+'/'+styleName2;
		}
		
	}
  }
  return null;
}

function startSwitching () {
	var styleCookie = readCookie("style");
	if(styleCookie){
		styleCookie = unescape(styleCookie);
		var title = styleCookie ? styleCookie : null;
		if (title != 'null'){
			var cookieInhalt = new Array();
			cookieInhalt = title.split('/');
			eintraege = cookieInhalt.length;
			for(i=0;i<=eintraege-1;i++){
				if (cookieInhalt[i] != "undefined") {
					setActiveStyleSheet(cookieInhalt[i]);
				}
			}
		}
	} else {
		var title = escape("text-size small/layout colour");
//		var title = escape("text-size: default/layout: colour/pure-text: text");
		createCookie("style", title, 365);
	}
	switchingEvent();
}

function switchingEvent () {
	var i,z,a;
	var zaehler = 0;
	var styleLinksAr = new Array();
	var getStyleSwitchElement = new Array();
	var getStyleSwitchElement = getElementsByClassName(document, "a", "setstyleswitch");
	var getStyleSwitchElementLength = getStyleSwitchElement.length;
	for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
		if(a.getAttribute("rel").indexOf("stylesheet") != -1 && a.getAttribute("rel").indexOf("alternate") != -1) {
			styleLinksAr[zaehler] = a.getAttribute("title");
			getStyleSwitchElement[zaehler].myZaehler = zaehler;
			getStyleSwitchElement[zaehler].onclick = function (){
				setActiveStyleSheet(styleLinksAr[this.myZaehler]); 
				return false;
			}
			zaehler++;
		}
	}	
}

