/**
* 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;
}