var sIFR = new Class({
	options:{
		fontSize: 'auto',
		textColor: 'auto',
		textAlign: 'auto',
		textX: -2,
		textY: -2,
		leading: 0,
		fontStyle:0,
		letterspacing: 0,
		selectable: 'true',
		bgcolor: 'transparent',
		shadowColor: 'false',
		shadowDistanceX: 2,
		shadowDistanceY: 2
	},

	initialize: function(elements,flashsrc,options){
		if(!hasFlash) return;
		if($type(elements)=='string') elements=$$(elements);
		if(elements.length==0) return;
		this.setOptions(options);
		
		//$$("html").addClass("sIFR-hasFlash");
		
		elements.each(function(el){
			if(el.hasClass("sIFR-replaced") || el.hasClass("sIFR-alternate")) return;
			//
			var alternate = new Element('span',{'class':'sIFR-alternate'}).setHTML(el.innerHTML);
			var vars = el.getStyles('width','height','padding-top','padding-right','padding-bottom','padding-left','color','font-size','text-transform','text-align');
			var offsets = el.getSize();
			var sWidth = offsets.x - vars['padding-left'].toInt() - vars['padding-right'].toInt();
			var sHeight = window.ie ? offsets.y - vars['padding-top'].toInt() - vars['padding-bottom'].toInt() + 4 : offsets.y;
		
			var links = ''; $each(el.getElements('a'), function(link, i){links += '&sifr_url_'+i+'='+link.getProperty('href');link.setProperty('href','asfunction:_root.launchURL,'+i)});
			var text = el.innerHTML.replace(/\+/g, "%2B").replace(/&/g, "%26").replace(/\"/g, "%22");
		
			if(vars['text-transform']=='uppercase') text = text.toUpperCase();
			else if(vars['text-transform']=='lowercase') text = text.toLowerCase();
			else if(vars['text-transform']=='capitalize') text = text.capitalize();

			if(this.options.fontSize=='auto') this.options.fontSize=vars['font-size'].toInt();
			if(this.options.textColor=='auto') this.options.textColor=vars['color'];
			if(this.options.textAlign=='auto') this.options.textAlign=vars['text-align'];

			var flashvars = '&txt=' + text + '&w=' + sWidth + '&h=' + sHeight + links; $each(this.options,function(v,k){flashvars+='&'+k+'='+v});

			//replace
			el.empty().addClass('sIFR-replaced').setHTML('<embed class="sIFR-flash" type="application/x-shockwave-flash" src="' + flashsrc + '" quality="best" wmode="' + (this.options.bgcolor=='transparent'?'transparent':'opaque') + '" bgcolor="' + this.options.bgcolor + '" flashvars="' + flashvars + '" width="' + sWidth + '" height="' + sHeight + '" sifr="true"></embed>');
			if(window.ie || window.opera) el.innerHTML += ''; //force IE and safari to render correctly
			//el.setStyle('padding',0);
			alternate.injectInside(el);

		}, this);
	
	}
});
sIFR.implement(new Options);

//-------------------------------------->
var checkFlash = function(){
	var pVersion = 0;
	if(navigator.plugins && navigator.mimeTypes.length) {
		var x = navigator.plugins["Shockwave Flash"];
		if(x && x.description){pVersion = x.description.replace(/([a-zA-Z]|\s)+/, "").replace(/(\s+r|\s+b[0-9]+)/, ".").split(".")[0]}
	}else{
		try{var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7")}catch(e){
			try{var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");pVersion = 6;axo.AllowScriptAccess = "always"}catch(e){if (pVersion == 6){window.hasFlash = pVersion;return true}}
			try{axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(e){}
		}
		if(axo != null){pVersion = axo.GetVariable("$version").split(" ")[1].split(",")[0]}
	}
	return pVersion >= 6;
}
var hasFlash = checkFlash();