(function($) {	
	var _pre_swf_id = '_aud_swf_'
	,	_pre_swf_evt = '_aud_swf_evt_'
	, 	_swf_idx = 0
	,	_swf_evt_idx = 0
	;
	$.fn.swf = function(src,cfg){
		cfg = cfg ? $.extend({},cfg) : {};
		var _sel = this.selector, _count = 0;
		return this.each(function(){
			var _el = this
			,	$el = $(_el)
			,	vars = cfg.vars || {}
			,	evts = vars.events ? vars.events.split(',') : []
			,	evtstr = ''
			;
			
			for (var i=0; i<evts.length; i++) {
				var evt = evts[i]
				,	eidx = ++_swf_evt_idx
				,	nm = _pre_swf_evt + evt + (eidx)
				;
				if (i>0) evtstr += ',';
				evtstr += (evt + ':' + nm);
				window[nm] = (function(type,idx,elobj){
					return function() {
						var data = [$(_sel)[0]], a = arguments;
						for (var i = 0; i < a.length; i++) {
							var res;
							try {
								res = JSON.parse(a[i]);
							} catch (e) {
								res = a[i];
							}
							data.push(res);
						}
						elobj.trigger(type,data);
					}
				})(evt,_count,$el);
				if (cfg.vars) cfg.vars.events = evtstr;
			}
		
			if (!_el.id) _el.id = _pre_swf_id + (++_swf_idx);
			swfobject.embedSWF(src, _el.id, cfg.w || "100%", cfg.h || "100%", cfg.ver || "10.0.0", cfg.install || null,
					vars,
					cfg.attr || {}
			);
			_count++;
		});
	};
})(jQuery);
//$('#flash').swf('blah.swf',{
//	vars: {
//		events: 'selected,ready'
//	}
//})
//.bind('ready',function(event,ui){
//	
//})
//.bind('selected',function(event,ui,data){
//	
//});