var StyleSwitcher = {
  init: function() {
    StyleSwitcher.addEvent(window, 'load', StyleSwitcher.startup, false);
  },
  startup: function() {
    var links = document.getElementsByTagName('a');
    for (var i=0; i<links.length; i++) {
      (function (link) {
        if (link.getAttribute('rel') && (link.getAttribute('rel').indexOf('theme:') == 0)) {
          StyleSwitcher.addEvent(link, 'click', StyleSwitcher.makeClickFn(link), false);
        }
      })(links[i]);
    }
  },
  makeClickFn: function(link) {
    var theme = link.getAttribute('rel').replace('theme:', '');
    return function(e) {
      StyleSwitcher.setActiveStyleSheet(theme);
      StyleSwitcher.cancelClick(e);
      return false;
    }
  },
  setActiveStyleSheet: function(title) {
     var i, a, main;
     for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
       if(a.getAttribute("rel").indexOf("style") != -1
          && a.getAttribute("title")) {
         a.disabled = true;
         if(a.getAttribute("title") == title) a.disabled = false;
       }
     }
     var img = new Image();
     img.src = 'set-theme.php?img=1&theme=' + title;
  },
	getTarget:function(e){
		var target = window.event ? window.event.srcElement : e ? e.target : null;
		if (!target){return false;}
		while(target.nodeType!=1 && target.nodeName.toLowerCase()!='body'){
			target=target.parentNode;
		}
		return target;
	},
	cancelClick:function(e){
		if (window.event){
			window.event.cancelBubble = true;
			window.event.returnValue = false;
			return;
		}
		if (e){
			e.stopPropagation();
			e.preventDefault();
		}
	},
	addEvent: function(elm, evType, fn, useCapture){
		if (elm.addEventListener)
		{
			elm.addEventListener(evType, fn, useCapture);
			return true;
		} else if (elm.attachEvent) {
			var r = elm.attachEvent('on' + evType, fn);
			return r;
		} else {
			elm['on' + evType] = fn;
		}
	}
};
StyleSwitcher.init();