src/shims/moxie/js/moxie-swf.js
function(target) {
		var undef;

		each(arguments, function(arg, i) {
			if (i > 0) {
				each(arg, function(value, key) {
					if (value !== undef) {
						if (typeOf(target[key]) === typeOf(value) && !!~inArray(typeOf(value), ['array', 'object'])) {
							extend(target[key], value);
						} else {
							target[key] = value;
						}
					}
				});
			}
		});
		return target;
	}
function(target) {
		var undef;

		each(arguments, function(arg, i) {
			if (i > 0) {
				each(arg, function(value, key) {
					if (value !== undef) {
						if (typeOf(target[key]) === typeOf(value) && !!~inArray(typeOf(value), ['array', 'object'])) {
							extend(target[key], value);
						} else {
							target[key] = value;
						}
					}
				});
			}
		});
		return target;
	}
function ( target ) { var undef ; each ( arguments , function ( arg , i ) { if ( i > 0 ) { each ( arg , function ( value , key ) { if ( value !== undef ) { if ( typeOf ( target [ key ] ) === typeOf ( value ) && ! ! ~ inArray ( typeOf ( value ) , [ 'array' , 'object' ] ) ) { extend ( target [ key ] , value ) ; } else { target [ key ] = value ; } } } ) ; } } ) ; return target ; }
Extends the specified object with another object.

@method extend
@static
@param {Object} target Object to extend.
@param {Object} [obj]* Multiple objects to extend with.
@return {Object} Same as target, the extended object.
Extends the specified object with another object .