rem: var obj = new Element('div').setHTML(build).firstChild; if (options.inject) $(options.inject).appendChild(obj); return obj; 
add:  var object = new Element('div').setHTML(build).firstChild; for (var event in options.events) Swiff.Events[instance][event] = options.events[event].bind(object); return object;  
context: var Swiff = function(movie, options){	if (!Swiff.fixed) Swiff.fix();	options = $merge({		width: 1,		height: 1,		id: null,		inject: null,		params: {			allowScriptAccess: 'sameDomain'		},		properties: {},		callBacks: {},		vars: {}	}, options);	var instance = Swiff.nextInstance();	var properties = $merge(options.properties, {		id: options.id || instance,		width: options.width,		height: options.height	});	var params = options.params;	var vars = options.vars;	Swiff.callBacks[instance] = {};	for (var prop in options.callBacks){		Swiff.callBacks[instance][prop] = options.callBacks[prop];		vars[prop] = 'Swiff.callBacks.' + instance + '.' + prop;	}	if ($type(vars) == 'object') vars = Hash.toQueryString(vars);	if (vars) params.FlashVars = (params.FlashVars) ? (params.FlashVars + '&' + vars) : vars;	if (Client.Engine.ie){		properties.classid = 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000';		params.movie = movie;	} else{		properties.type = 'application/x-shockwave-flash';		properties.data = movie;	}	var build = '<object ';	for (var attr in properties) build += attr + '="' + properties[attr] + '" ';	build += '>';	for (var name in params) build += '<param name="' + name + '" value="' + params[name] + '" />';	build += '</object>';	var obj = new Element('div').setHTML(build).firstChild;	if (options.inject) $(options.inject).appendChild(obj);	return obj;};
meta: 6317	/local1/tlutelli/issta_data/temp/all_js/javascript/2007_temp/2007/6317/ef8025f377bd8a5d14df9840c53596ac0b251077/Swiff.js/buggy/Source/Swiff/Swiff.js