z7locationmap = {
	known: [],
	duration: 0.3
};

function z7locationmapShow(uid) {

	// hide all other
	z7locationmapHide(uid);

	// show the current stuff
	Effect.Appear('locationmap-tooltip-'+uid, {duration: z7locationmap.duration});
	document.getElementById('locationmap-link-'+uid).className = 'active';
	
	// remember current uid
	z7locationmapRemember(uid);
}


function z7locationmapHide(uid) {

	var knownCopy = z7locationmap.known;
	z7locationmap.known = [];

	for(i=0, n=knownCopy.length; i<n; i++) {
	
		if(knownCopy[i] != uid) {
			Effect.Fade('locationmap-tooltip-'+knownCopy[i], {duration: z7locationmap.duration});
			document.getElementById('locationmap-link-'+knownCopy[i]).className = '';
		}
	}
}


/**
 * Add an uid to the global array, if it's not already registered.
 *
 * @param string/integer uid: The value to remember.
 */
function z7locationmapRemember(uid) {

	var iknow = false;
	
	// go through the array and search for the current uid ...
	for(i=0, n=z7locationmap.known.length; i<n; i++) {
		// ... if current uid was found, stop and remember
		if(z7locationmap.known[i] == uid) {
			iknow = true;
			break;
		}
	}
	
	// if we didn't find the uid, we add it
	if(!iknow) {
		z7locationmap.known.push(uid);
	}
}