var XFlash=
{
factory:new Object(),
flashVersion:"8.0.0",
apply:function(context,callback){
var elements=context[0]==null?$("*.xf"):$("*.xf",context[0]);
var elData;
var r;
for(var k=0;k<elements.length;k++){
elData=XFlash.getParams(elements[k]);
r=XFlash.factory[elData.type](elData);
if(r!=null)
XFlash.render(r,elData.element,k);
k==elements.length-1&&typeof callback=="function"&&callback();
}
},
render:function(recipe,targetOld,k){
setTimeout(function(){
target=$("<span></span>").appendTo($(targetOld).empty()).html(targetOld.innerHTML);
var dimensions=recipe.width!=null
?{
w:recipe.width,
h:recipe.height
}
:{
w:target.width(),
h:target.height()
};
target[0].id=target[0].id==""?"_replace"+k:target[0].id;
recipe.wmode="transparent";
swfobject.embedSWF(
recipe.src,
target[0].id,
dimensions.w,
dimensions.h,
XFlash.flashVersion,
false,
recipe.flashvars,
recipe.params
);
$(targetOld).addClass("XFlashaAplied");
recipe.flashvars.mascara&&$("<div class='over' style='height:"+dimensions.h+"px'></div>").appendTo(targetOld);
},5);
},
getParams:function(el){
var params=el.className;
params=params.substr(params.indexOf("xf ")+3).split(" ");
var ret=new XFlash.ElementData(el,params);
return ret;
},
ElementData:function(el,params){
this.element=el;
this.type=params[0];
this.params=params.slice(1);
},
addFactory:function(name,fnProcessor){
XFlash.factory[name]=fnProcessor;
}
}
