code: function(obj){
          if (obj == null || typeof(obj) !== 'object') return obj;
          var temp = new obj.constructor();
          for (var key in obj) temp[key] = arguments.callee(obj[key]);
          return temp;
        }
docs: **Clone a javascript object (recursively)**