/*=============================================================================

			 	 TITLE:		NetMediaOne - Shockwave Flash Initializer
		  MODIFIED:		2007.02.16
		 AUTHOR(S): 	Graham Wheeler - NetMediaOne - www.netmediaone.com
		  REQUIRES:		NetMediaOne Core 1.1
									Prototype 1.5.0

=============================================================================*/

NMO.FlashObject = Class.create();
NMO.FlashObject.prototype = {

	initialize: function(elementRef) {
		this.container = $(elementRef);
		this.altImage = this.container.getAttribute("altImage");
		this.params = $H( eval("(" + this.container.getAttribute("params") + ")") );				
		
		return this;
	},
	
	toHTML: function() {
		// Renders an HTML 4.01 compliant object element (cross-browser compatible version)
		var sb = new StringBuffer('<object type="application/x-shockwave-flash"');
		if ( this.params.id != null ) { sb.append(' id="').append(this.params.id).append('" name="').append(this.params.id).append('"'); }
		if ( this.params.width != null ) { sb.append(' width="').append(this.params.width).append('"'); }
		if ( this.params.height != null ) { sb.append(' height="').append(this.params.height).append('"'); }
		sb.append(' data="').append(this.params.movie).append('">\n');
		sb.append('\t<param name="allowScriptAccess" value="sameDomain">\n\t<param name="menu" value="false">\n\t<param name="quality" value="high">\n');
		this.params.each( function(p) {
			if ( !p.key.match(/^(id|className)$/) ) {
				sb.append('\t<param name="').append(p.key).append('" value="').append(p.value).append('">\n');
			}
		} );
		if ( this.altImage != null ) { sb.append('\t<img src="').append(this.altImage).append(' alt="">\n'); }
		sb.append('</object>\n\n');
		
		new Insertion.Top( this.container, sb.toString() );
	}

};

Event.observe( window, "load", function() {
	$$(".FlashObject").each( function(fo) {
		var obj = new NMO.FlashObject(fo).toHTML();
	} );
} );