function set_cookie(name, value, expire, path) {
	var e = isNaN(expire) ? 0 : expire;
	var cur_date = new Date();
	var cookie_expire = new Date(Date.parse(cur_date.toUTCString()) + e * 24 * 60 * 60 * 1000);
	var cookie_path = '; path=' + (path ? path : '/');
	document.cookie = name + '=' + escape(value) + (e ? ('; expires=' + cookie_expire.toUTCString()) : '') + cookie_path;
}

function get_cookie(name) {
	var search = name + '=';

	if (document.cookie.length > 0) {
		offset = document.cookie.indexOf(search) ;
		if (offset != -1) {
			offset += search.length;
			end = document.cookie.indexOf(';', offset);

			if (end == -1) {
				end = document.cookie.length;
			}

			return unescape(document.cookie.substring(offset, end));
		}
	}

	return '';
}

function remove_from_cookie_list(name, value, expire) {
	cookie_list(name, value, expire);
}

function save_into_cookie_list(name, value, expire) {
	cookie_list(name, value, expire, value);
}

function cookie_list(name, value, expire, init) {
	var cookies = get_cookie(name).split('|');
	var new_cookies = new Array(init);

	for (var i = 0; i < cookies.length; i++) {
		if (cookies[i] != '' && cookies[i] != value) {
			new_cookies.push(cookies[i]);
		}
	}

	if (new_cookies.length > 0) {
		set_cookie(name, new_cookies.join('|'), expire);
	} else {
		set_cookie(name, '', -1);
	}
}
