Source: globalscripts/utility.js

/**
 * returns a clone of a simple object or array
 * Only valid JSON objects are accepted
 * So no recursion, and only plain objects or arrays
 */
function clone(o)
{
	if (o instanceof Array)
		var r = [];
	else if (o instanceof Object)
		var r = {};
	else // native data type
		return o;
	for (var key in o)
		r[key] = clone(o[key]);
	return r;
}