
/**
 * Saves the current class of all objects in the selection
 * into a cookie. Only works on objects that have an id.
 * Requires the jQuery Cookie plugin
 */
jQuery.fn.persist = function() {
	
	var state = $.cookie('class-state');
	if (state == null) {
		state = new Array();
	} else {
		state = $.secureEvalJSON(state);
	}
	
	this.each(function() {
		var elem = $(this);
		var id = elem.attr('id');
		if (id != '') {
			var replaced = false;
			for (var i = 0; i < state.length; i++) {
				if (state[i].elementId == id) {
					state[i].className = elem.attr('class');
					replaced = true;
				}
			}
			if (replaced == false) {
				state[state.length] = { elementId : id, className : elem.attr('class') };
			}
		}
	});
	
	state = $.toJSON(state);
	$.cookie('class-state', state);
}

jQuery.initPersistentClasses = function() {

	var state = $.cookie('class-state');
	if (state != null) {
		state = $.secureEvalJSON(state);
		for (var i = 0; i < state.length; i++) {
			$('#' + state[i].elementId).attr('class', state[i].className);
		}
	}
}