/**
 * zudolab jqStyleswitcher
 *
 * @version    1
 * @copyright    (c)2008 Takeshi Takatsudo (http://zudolab.net/)
 * @license    MIT (http://www.opensource.org/licenses/mit-license.php)
 * original idea of this script is "styleswitcher.js" by Paul Sowden (http://www.alistapart.com/articles/alternate/)
 */

(function($){

	Styleswitcher = function()
	{
		this.linkElemSets = [];
		this.prepareElems();
		this.enableLastCSSFromCookie();
		this.setUnloadEvents();
	}
	Styleswitcher.prototype.prepareElems = function()
	{
		var links = $("link[rel*=style][title]");
		var sets = [];
		for(var i=0,link; link=links[i]; i++){
			sets.push({
				elem: link,
				title: link.title
			});
		}
		this.linkElemSets = sets;
	}
	Styleswitcher.prototype.enableLastCSSFromCookie = function()
	{
		var lastCSSTitle = $.cookie("siteStyle");
		if(!lastCSSTitle) return;
		this.setActiveCSS(lastCSSTitle);
	}
	Styleswitcher.prototype.setActiveCSS = function(requestedTitle)
	{
		var activeLinkElem;
		for(var i=0,link; link=this.linkElemSets[i]; i++){
			link.elem.disabled = true;
			if(requestedTitle==link.elem.title) activeLinkElem = link.elem;
		}
		activeLinkElem.disabled = false;
		$.cookie("siteStyle", activeLinkElem.title, { expires:365,path:"/" });
	}
	Styleswitcher.prototype.getActiveCSSTitle = function()
	{
		for(var i=0,link; link=this.linkElemSets[i]; i++){
			if(!link.elem.disabled) return link.title;
		}
		return null;
	}
	Styleswitcher.prototype.setUnloadEvents = function()
	{
		var self = this;
		$(document).unload(function(){
			var activeCSSTitle = self.getActiveCSSTitle();
			$.cookie("siteStyle", activeCSSTitle, { expires:365,path:"/" });
		});
	}
	
})(jQuery);

var styleswitcher = new Styleswitcher;
