function removeFromCookie( oldId ) {
	var currentlySelected = getChosenValuesFromCookie();
	delete currentlySelected[oldId];

	storeAssociativeArrayToCookie( currentlySelected );
}

function addToCookie( newId ) {
	var currentlySelected = getChosenValuesFromCookie();
	currentlySelected[newId] = true;
	
	storeAssociativeArrayToCookie( currentlySelected );
}
function storeAssociativeArrayToCookie( associativeArray ) {
	var cookieValue = "";
	for( eventId in associativeArray ) {
	    if ( cookieValue.length > 0 ) {
	    	cookieValue += ":";
	    }
		cookieValue += eventId;
	}
	document.cookie = "clink_selected_events=" + cookieValue +
		"; max-age=" + (60*60*24*365);
}

/*
  Get the ids of all user selected events as associative array from the colon-separated
  string stored in cookie 'clink_selected_events' 
 */
function getChosenValuesFromCookie() {
    var toReturn = new Object();
	var allCookies = document.cookie;
	var key = "clink_selected_events=";
	var positionEqualSign = allCookies.indexOf( key );
	
	if ( positionEqualSign != -1 ) {
		var start = positionEqualSign + key.length;
		var end = allCookies.indexOf( ";", start );
		if ( end == -1 ) {
			end = allCookies.length;
		}
		var value = allCookies.substring( start, end );
		value = decodeURIComponent( value );
		var singleIds = value.split( ":" );
	    for( var i = 0; i < singleIds.length; i++ ) {
	        var singleId = singleIds[i];
	        toReturn[singleId] = true; /* value does not matter */
	    }
	}
	return( toReturn );
}