IBSYS.using('media');

IBSYS.media.genericFlash = {
	init: function(el, config) {
		var so = new SWFObject(
      config.swfUrl,
      config.id || el.id + '_swf',
      config.width || 400,
      config.height || 300,
      config.version || 3,
      config.background || '#ffffff',
      'high'
    );
    
    so.addParam("allowFullScreen","true");
    so.addParam("allowScriptAccess","always");
    so.addParam("swLiveConnect","true");
    
    if (config.queryString) {
    	this.parseQueryString(config.queryString, function(n,v) {
    		/* Wrapped in a closure so scope isn't hijacked. */
    		so.addVariable(n,v);
    	});
    }
    
    if (config.qsAppProps) {
    	this.parseQueryString(config.qsAppProps, function(n,v) {
    		v = IBSYS.application.Application.getProperty(v)
    		if (n !='' && v != '') {
    			so.addVariable(n,v);
    		}
    	});
    }
    
    if (config.qsPropPath) {
    	this.parseQueryString(config.qsPropPath, function(n,v) {
    		v = IBSYS.propPath(v);
    		if (n !='' && v != '') {
    			so.addVariable(n,v);
    		}
    	});
    }
    
    if (config.useExpressInstall) {
    	so.useExpressInstall('/_public/js/swfobject_1.5/expressinstall.swf');
    	//so.setAttribute('xiRedirectUrl', window.location);
    }
    
    so.write(el);
	},
	
	parseQueryString: function(qs, f) {
		var nvPairs = qs.split('&');
  	if (nvPairs.length>0) {
  		for (var i=0;i<nvPairs.length;i++) {
    		var nv = nvPairs[i].split('=');
    		if (nv.length == 2 && nv[0] != '' && nv[1] != '') {
    			f(nv[0],nv[1]);
    		}
    	}
  	}
	}
}