var Flash =
{
	ClassID: "clsid:d27cdb6e-ae6d-11cf-96b8-444553540000",
	CodeBase: "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,12,36",
	ContentType: "application/x-shockwave-flash",
	PluginsPage: "http://www.macromedia.com/go/getflashplayer",
	VersionMajor: 0,
	VersionMinor: 0,
	VersionRelease: 0,
	HasPlugin: false,

	Initialize: function()
	{
		var PlayerVersion = Array();
		PlayerVersion = this.GetPlayerVersion();

		if (PlayerVersion.length) {
			this.HasPlugin = true;
		} else {
			return;
		}

		this.VersionMajor = PlayerVersion[0];
		this.VersionMinor = PlayerVersion[1];
		this.VersionRelease = PlayerVersion[2];
	},

	Insert: function(FileName, Variable, Width, Height, Name, Element, Wmode)
	{
		if (!this.HasPlugin && Browser.Browser == 'Safari')
			return;

		if (typeof(Element)=="string")
			Element = document.getElementById(Element);
		else if (typeof(Element)=="undefined")
			Element = this;

		if (document.getElementById(Name))
			return;

		var Object = document.createElement("object");
		Element.parentNode.insertBefore(Object, Element);

		var Param = document.createElement("param");
		Param.setAttribute("name", "movie");
		Param.setAttribute("value", FileName+((Variable)?"?"+Variable:""));
		Object.appendChild(Param);

		var Param = document.createElement("param");
		Param.setAttribute("name", "allowScriptAccess");
		Param.setAttribute("value", "sameDomain");
		Object.appendChild(Param);

		var Param = document.createElement("param");
		Param.setAttribute("name", "quality");
		Param.setAttribute("value", "high");
		Object.appendChild(Param);

		var Param = document.createElement("param");
		Param.setAttribute("name", "allowFullscreen");
		Param.setAttribute("value", "true");
		Object.appendChild(Param);

		var Param = document.createElement("param");
		Param.setAttribute("name", "wmode");
		//Param.setAttribute("value", "transparent");
		Param.setAttribute("value", Wmode);
		Object.appendChild(Param);

	    if (Browser.Browser!="Explorer")
	    {
			var Embed = document.createElement("embed");
			Embed.setAttribute("src", FileName+((Variable)?"?"+Variable:""));
			Embed.setAttribute("quality", "high");
			Embed.setAttribute("width", Width);
			Embed.setAttribute("height", Height);
			Embed.setAttribute("name", Name);
			Embed.setAttribute("bgcolor", '#000000');
			Embed.setAttribute("allowScriptAccess", "sameDomain");
			Embed.setAttribute("type", Flash.ContentType);
			Embed.setAttribute("pluginspage", Flash.PluginsPage);
			Embed.setAttribute("allowFullscreen", "true");
			//Embed.setAttribute("wmode", "transparent");
			Embed.setAttribute("wmode", Wmode);
			Object.appendChild(Embed);
		}

		Object.setAttribute("classid", Flash.ClassID);
		Object.setAttribute("codebase", Flash.CodeBase);
		Object.setAttribute("width", Width);
		Object.setAttribute("height", Height);
		Object.setAttribute("id", Name);
		Object.setAttribute("bgcolor", '#000000');

		eval("if ((document.forms.length)&&(document.forms[document.forms.length-1]."+Name+")) window."+Name+" = document.forms[document.forms.length-1]."+Name+";");
	},

	GetSWFObject: function(Name)
	{
		var SWFObject = null;

	    if (navigator.appName.indexOf("Microsoft") != -1)
	        SWFObject = document.getElementById(Name);
		else
			SWFObject = document.getElementById(Name).getElementsByTagName("EMBED")[0];

		return(SWFObject);
	},

	GetPlayerVersion: function()
	{
		var PlayerVersion = Array();

		if(navigator.plugins && navigator.mimeTypes.length)
		{
			if((navigator.plugins["Shockwave Flash"])&&(navigator.plugins["Shockwave Flash"].description))
				PlayerVersion = navigator.plugins["Shockwave Flash"].description.replace(/([a-zA-Z]|\s)+/, "").replace(/(\s+r|\s+b[0-9]+)/, ".").split(".");
		}
		else if (navigator.userAgent && navigator.userAgent.indexOf("Windows CE") >= 0)
		{
			var ObjectActiveX = 1;
			var VersionCounter = 3;
			while(ObjectActiveX)
			{
				try
				{
					VersionCounter++;
					ObjectActiveX = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + VersionCounter);
					PlayerVersion = [VersionCounter, 0, 0];
				}
				catch (e)
				{
					ObjectActiveX = null;
				}
			}
		}
		else
		{
			try
			{
				var ObjectActiveX = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
			}
			catch(e)
			{
				try
				{
					var ObjectActiveX = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
					PlayerVersion = [6, 0, 21];
					ObjectActiveX.AllowScriptAccess = "always"; // error if player version < 6.0.47 (thanks to Michael Williams @ Adobe for this code)
				}
				catch(e)
				{
					if (PlayerVersion[0] == 6)
					{
						return PlayerVersion;
					}
				}

				try
				{
					ObjectActiveX = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
				}
				catch(e)
				{
				}
			}

			if (ObjectActiveX != null)
			{
				PlayerVersion = ObjectActiveX.GetVariable("$version").split(" ")[1].split(",");
			}
		}

		return PlayerVersion;
	},

	IsGreaterThan: function(Left, Right)
	{
		if ((Left[0]>Right[0])||((Left[0]==Right[0])&&(Left[1]>Right[1]))||((Left[0]==Right[0])&&(Left[1]==Right[1])&&(Left[2]>Right[2])))
			return(true);
		else
			return(false);
	},

	IsSmallerThan: function(Left, Right)
	{
		if ((Left[0]<Right[0])||((Left[0]==Right[0])&&(Left[1]<Right[1]))||((Left[0]==Right[0])&&(Left[1]==Right[1])&&(Left[2]<Right[2])))
			return(true);
		else
			return(false);
	}
}

Flash.Initialize();
