var UserController = new function(){
	var settings = null;
	
	this.setSetting = function(name, value){
		if(settings == null)	
			loadSettings();
			
		for(var i = 0; i<settings.length; i++){
			if(settings[i][0] == name){
				settings[i][1] = value;
				saveSettings();
				return;
			}
		}
		settings.push([name, value]);
		saveSettings();
	}
	
	this.getSetting = function(name){
		if(settings == null)	
			loadSettings();
			
		for(var i = 0; i<settings.length; i++){
			if(settings[i][0] == name){
				return settings[i][1];
			}
		}
		return null;
	}
		
	var loadSettings = function(){
		settings = [];
		var c = readCookie("usersettings");
		if(c != null)
			settings = c;
	}
		
	var saveSettings = function(){
		setCookie("usersettings", settings, 666);
	}
}

/**
 * Reads the content from a cookie
 * @param name The name of the cookie
 */
function readCookie(c_name) {
	var nameEQ = c_name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' '){ c = c.substring(1,c.length); }
		if (c.indexOf(nameEQ) === 0){ 
         return JSON.parse(c.substring(nameEQ.length,c.length)); 
      }
	}
	return null;
}

/**
 * Sets a cookie
 * @param c_name The name of the cookie
 * @param value The value of the cookie
 * @param expiredays How long the cookie will live
 */
function setCookie(c_name,value,expiredays){
   var exdate=new Date();
   exdate.setDate(exdate.getDate()+expiredays);
   document.cookie=c_name+ "=" +JSON.stringify(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
