function createCookie(name, value, days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime() + (days*24*60*60*1000));
		var expires = "; expires=" + date.toGMTString();
	} else {
		var expires = "";
	}
	if (typeof(value) == 'object') {
		var arrayString = "map:";
		$.each(value, function(k, v) {
			arrayString += k + '=' + v + '|';
		});
		value = arrayString.substring(0, arrayString.length - 1);
	}
	document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name) {
	var nameEQ = 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) {
			value = c.substring(nameEQ.length, c.length);
			if (value.substring(0, 4) == 'map:') {
				values = value.substring(4).split('|');
				returnValue = {};
				for(x = 0; x < values.length; x++) {
					keyValue = values[x];
					if (keyValue.indexOf('=') > -1) {
						keyValue = keyValue.split('=');
						returnValue[keyValue[0]] = keyValue[1];
					} else {
						returnValue[x] = keyValue;
					}
				}
				value = returnValue;
			}
			return value;
		}
	}
	return false;
}

function eraseCookie(name) {
	createCookie(name,"",-1);
}
