
var FlashLoader = Class.create(
{
	dom: {},
	
	option: {},
	
	template: null,
	
	loaded: false,
	
	initialize: function( parentNode, option )
	{
		this.dom.parentNode = $( parentNode );
		
		if( !this.dom.parentNode )
			return;
		
		this.option = option;
		this.initOther();
	},
	
	initOther: function()
	{
		var t = '<object id="#{id}" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="#{width}" height="#{height}" align="middle">'
			  + '<param name="allowScriptAccess" value="sameDomain" />'
			  + '<param name="allowFullScreen" value="false" />'
			  + '<param name="movie" value="#{uri}" />'
			  + '<param name="quality" value="high" />'
			  + '<param name="bgcolor" value="#{backgroundColor}" />'
			  + '<embed src="#{uri}" quality="high" bgcolor="#{backgroundColor}" width="#{width}" height="#{height}" name="#{name}" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />'
			  + '</object>';
		
		this.template = new Template( t );
	},
	
	load: function()
	{
		if( this.loaded )
			throw "Flash file already loaded: " + this.option.uri;
		
		var position = this.option.insertPosition || "bottom";
		var html = this.template.evaluate( this.option );
		this.dom.parentNode.insert( { bottom: html } );

		this.loaded = true;
	}
});
