/**
 * Styleswitcher allows to switch css style sheets.
 * @author NOSE
 *
 * @requires jquery.js, jquery.cookie.js 
 * @example var sheets = {"style1":'style1.css',"style2":'style2.css'};
 *			jQuery(this).styleSwitcher(sheets);
 * @before
 	- head
 	<link rel="stylesheet" type="text/css" title="switchstyle" href="_test/css/style1.css" />
 	- body
 	<a href="#" rel="style1" class="styleswitch">style1</a>
	<a href="#" rel="style2" class="styleswitch">style2</a>
 * 
 * @param sheets The rel to stylesheet matching.
 *
 * @option classStyleswitch Switcher class.
 * @option styleSheetTitle Stylesheet to switch.
 * @option cookieName The cookie name.
 * 
 * if (script.src && script.src.match(/library\.js(\?.*)?$/)) {
			  var path = script.src.replace(/library\.js(\?.*)?$/,'');
		  }
 * 
 * @version 1.0.0	initial version			
 */
jQuery.fn.styleSwitcher = function(sheets,op) {
	// defaults
	var defaults =  {	
			classStyleswitch: ".styleswitch",
			styleSheetTitle: "switchstyle",
			cookieName:"style"
	};
	jQuery.extend(defaults, op);
	
	// event
	jQuery(defaults.classStyleswitch).click(function(){
		var r = jQuery(this).attr("rel");
		switchStyle(r);
	});
	
	
	
	/* Switches the style.
	*/
	function switchStyle(rel) {
		// stylesheet
		var sSheet = jQuery("link[@rel*=style][@title='"+defaults.styleSheetTitle+"']");
		var sSheetFile = sheets[rel];
		
		// replace
		var shref = sSheet.attr("href");
		for (style in sheets) {
			var sheet = sheets[style];
			if (shref.match(sheet)) {
				shref = shref.replace(sheet,sSheetFile);
				break;
			}
		}
		sSheet.attr("href",shref);
		
		// cookie
		jQuery.cookie(defaults.cookieName,rel, {path:"/"});		
	}
	
	// init
	var cs = jQuery.cookie(defaults.cookieName);
	if (cs) {
		switchStyle(cs);		
	}
  
    // return
    return this;
};