/*
* CssSwitcher jQuery Plugin 0.0.1
* Copyright (c) 2010 Yousuke Mizuno (www.thingslabo.com)
* $Date: 10.09.02 15:46:34 $
* $Rev: 001 $
* Dual licensed under the MIT and GPL licenses.
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html

* required jQuery 1.4.+ (http://docs.jquery.com/Downloading_jQuery)
* required Cookie Plugin (http://plugins.jquery.com/project/Cookie)
*/

if (typeof CssSwitcher == 'undefined') {
  var CssSwitcher = {};
  // Settings
  CssSwitcher.cssPath = "/css/";
  CssSwitcher.idList = [ 'fontsize' ]; // List up id attribute of 'stylesheet' rel attribute
  // Cookie Settings
  CssSwitcher.domain = "";
  CssSwitcher.path = "/";
  CssSwitcher.expires = 7;
  CssSwitcher.secure = 0;
}

CssSwitcher.change = function (json) {
	for (var i=0; i<json.length; i++){
		if (json[i].theme) {
			$('#' + json[i].id).attr({href : CssSwitcher.cssPath + json[i].theme + ".css"});
		}
	}

	var cookieVal = [];
	for (var i=0; i<CssSwitcher.idList.length; i++) {
		var match_id;
		for (var j=0; j<json.length; j++) {
			if (CssSwitcher.idList[i] == json[j].id) {
				cookieVal.push(["{'id':'", json[j].id, "'\,'theme':'", json[j].theme, "'}"].join(''));
				match_id = json[j].id;
				break;
			}
		}

		for (var j=0; j<CssSwitcher.json.length; j++) {
			if (CssSwitcher.idList[i] == CssSwitcher.json[j].id && CssSwitcher.idList[i] != match_id) {
				cookieVal.push(["{'id':'", CssSwitcher.json[j].id, "'\,'theme':'", CssSwitcher.json[j].theme, "'}"].join(''));
			}
		}
	}

	$.cookie('CssSwitcher', '['+cookieVal+']', { expires: CssSwitcher.expires, path: CssSwitcher.path, domain: CssSwitcher.domain, secure: CssSwitcher.secure });
	CssSwitcher.getJSON();
}

CssSwitcher.getJSON = function () {
	var value = $.cookie('CssSwitcher');
	if (value) {
		CssSwitcher.json = eval(value);
	}
	else {
		CssSwitcher.json = eval([{}]);
	}
}

CssSwitcher.init = function () {
	CssSwitcher.getJSON();
	CssSwitcher.change(CssSwitcher.json);
}

CssSwitcher.init();
