// JavaScript Document

function showFlash(params) {
/* FUNCTION NOTES

author:       Clarke Schroeder
created:      Wednesday, October 4, 2006
last updated: Wednesday, October 4, 2006
update by:    Clarke Schroeder

The following are valid keys for params:
	REQUIRED
	params.swfurl  (required string)
	
	OPTIONAL
	params.version (default = 8)
	params.width   (default = 200)
	params.height  (default = 200)
	params.align   (default = 'left')
	params.id
	params.xclass   *** NOTICE key is called xclass not class.  JavaScript will error out if you try to use params.class
	params.quality (default = 'high')
	params.wmode   (default = 'opaque')
	params.bgcolor (defaults = '#FFFFFF')
*/

	// Set defaults for object property - codebase attribute version
	if (!params.version) params.version = 8;
	
	// Set defaults for object/embed shared attributes
	if (!params.width)   params.width = 200;
	if (!params.height)  params.height = 200;
	if (!params.align)   params.align = 'left';
	
	// Set defaults for param/other embed attributes
	if (!params.quality) params.quality = 'high';
	if (!params.wmode)   params.wmode = 'opaque';
	if (!params.bgcolor) params.bgcolor = '#FFFFFF';

	
	// Only required attribute is swfurl; check for it here
	if (params.swfurl) {
		
		// Create string of shared attributes (shared between the <object> and <embed> tags
		var pass_shared = "width=\"" + params.width + "\" ";
			pass_shared += "height=\"" + params.height + "\" ";
			pass_shared += "align=\"" + params.align + "\" ";	
		

		
		// Create string for <object> tag attributes
		var pass_object = "<object classid=\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\" codebase=\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=" + params.version + ",0,0,0\" ";
		// add other attributes
			if (params.xclass) pass_object += "class=\"" + params.xclass + "\" "; // see why it is called xclass in function notes
			if (params.id) pass_object += "id=\"" + params.id + "\" ";
			// add shared attributes
			pass_object += pass_shared;
			// close tag
			pass_object += ">";
			
	
		// Create string for <embed> tag attributes
		var pass_embed = "<embed src=\"" + params.swfurl + "\" ";
			// add optional attributes
			pass_embed += "quality=\"" + params.quality + "\" ";
			pass_embed += "wmode=\"" + params.wmode + "\" ";
			pass_embed += "bgcolor=\"" + params.bgcolor + "\" ";
			// add shared attributes
			pass_embed += pass_shared;			
			// close embed tag
			pass_embed += "allowScriptAccess=\"sameDomain\" type=\"application/x-shockwave-flash\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" />";
		
		// write object tag
		document.write(pass_object);
		
		// write param tags
		document.write("<param name=\"movie\" value=\"" + params.swfurl + "\" />");
		document.write("<param name=\"quality\" value=\"" + params.quality + "\" />");
		document.write("<param name=\"wmode\" value=\"" + params.wmode + "\" />");
		document.write("<param name=\"bgcolor\" value=\"" + params.bgcolor + "\" />");
		document.write("<param name=\"allowScriptAccess\" value=\"sameDomain\" />");
		
		// write embed tag
		document.write(pass_embed);

		// close object tag
		document.write("</object>");
	}
	else { 
		// no params.swfurl provided
		// show error message
		document.write("<h2 style=\"color:red\">Debug - no Flash URL (params.swfurl) provided in JavaScript call to showFlash();</h2>");
	} 
}
