function FlashViewer()
{
	this.Quality;
	this.Data;
	this.Width;
	this.Height;
	this.swfFile;
	this.ObjectId;
	this.Version;
	this.BackgroundColor;

	// Databinding for property Data
	this.SetData = function(data)
	{
		///UserCodeRegionStart:[SetData] (do not remove this comment.)
		this.Data = data;
		
		///UserCodeRegionEnd: (do not remove this comment.)
	}

	// Databinding for property Data
	this.GetData = function()
	{
		///UserCodeRegionStart:[GetData] (do not remove this comment.)
		return this.Data;
		
		///UserCodeRegionEnd: (do not remove this comment.)
	}

	this.show = function()
	{
		///UserCodeRegionStart:[show] (do not remove this comment.)
		// Variables
		var buffer = '';
		var divStartupTag = '<div';		
		var divEndTag = '</div>';
		var noFlashInstalled = "This Text is replaced by the Flash movie. If you see this text, you do not have the <a href='http://www.adobe.com/go/getflashplayer/'>Flash plugin installed</a>.(version " + this.Version + ").";
		var loadingAni = this.swfFile;
		var lineBreak = '\n';
		var savepoint = '';
		var item = "";
		var value = "";
		var so = null;
		// First Tag
		var objectIdentifier = this.ParentObject.CmpContext + this.ObjectId;
		divStartupTag += ' id="' + objectIdentifier + '">';
		divStartupTag += noFlashInstalled + lineBreak;
		divStartupTag += divEndTag + lineBreak;
		// Set initial HTML
		buffer = divStartupTag;
		this.setHtml(buffer);
		try 
		{
			savepoint = 'creating SWFObject object...';
			so = new SWFObject(loadingAni, objectIdentifier, this.Width, this.Height, this.Version, this.BackgroundColor, this.Quality);
			savepoint = 'checking Flash parameters...';
			if (this.Data.Parameters!=undefined && this.Data.Parameters[0]!=undefined ) // Flash uses parameters
			{
				for( i=0 ; this.Data.Parameters[i]!=undefined ; i++ )
				{
					item =  this.Data.Parameters[i].Item;
					value = this.Data.Parameters[i].Value;
					so.addParam( item , value ); // adding parameters
				}
			}
			savepoint = 'checking Flash variables...';
			if (this.Data.Variables!=undefined && this.Data.Variables[0]!=undefined ) // Flash uses variables
			{ 
				for( i=0 ; this.Data.Variables[i]!=undefined ; i++ )
				{
					item =  this.Data.Variables[i].Item;
					value = this.Data.Variables[i].Value;
					so.addVariable( item , value ); // adding variables
				}
			}
			savepoint = 'replacing Flash Object tag using ' + flashViewerLibrary;
			so.write(objectIdentifier);
			savepoint = 'created Flash Object tag...';
		}
		catch (e)
		{
			buffer = "An Exception occurred creating the Flash Object." + lineBreak;
			buffer += "when: " + savepoint + lineBreak;
			buffer += "Exception Detail: " + e.name + "-" + e.message + ". Source:" + e.fileName + ":" + e.lineNumber;
			document.getElementById(this.ContainerName).innerHTML = buffer;
			so = null;			
		}
		finally
		{
			// finally section here
		}
		
		///UserCodeRegionEnd: (do not remove this comment.)
	}
	///UserCodeRegionStart:[User Functions] (do not remove this comment.)
	var flashViewerLibrary = "SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/";
	
	///UserCodeRegionEnd: (do not remove this comment.):
}
