// *********************************************************************
// Funktioner til brug for omgåelse af IE flash problematik
// *********************************************************************
// Version 1.15 (c) Datagraf Auning AS
// *********************************************************************
// I Internet Explorer er det nødvendigt at klikke på hvert
// flash element for at aktivere dette.
// Javascript funktionerne i denne fil omgår dette, så det ikke
// er nødvendigt at klikke for at aktivere flash elementer.
// *********************************************************************
// v1.15: Opdateret GetFlashVersion()
// v1.14: Ændret så WriteFlash selv afgør om der køres HTTP eller HTTPS
// v1.13: Opdateret GetFlashVersion()
// v1.12: GetFlashVersion() returnerer Shockwave Flash versionsnummeret
// v1.11: Variabler der hed 'name' er omdøbt til 'fname'
// v1.10: WriteFlash() er delt op i flere funktioner
// *********************************************************************

function WriteFlash(url,width,height,bgcolor,wmode,version,scriptaccess,fname,align) {
	document.write(ReturnFlash(url,width,height,bgcolor,wmode,version,scriptaccess,fname,align));
}

function ReturnFlash(url,width,height,bgcolor,wmode,version,scriptaccess,fname,align) {
	var out        = '';
	var embedParam = '';
	out += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="' + window.location.protocol + '//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version='+version+'" width="'+width+'" height="'+height+'" id="'+fname+'" align="'+align+'">';
	out += '<param name="movie" value="'+url+'">';
	out += '<param name="menu" value="false">';
	out += '<param name="bgcolor" value="'+bgcolor+'">';
	out += '<param name="allowScriptAccess" value="'+scriptaccess+'">';

	embedParam += 'bgcolor="'+bgcolor+'" ';
	embedParam += 'allowScriptAccess="'+scriptaccess+'" ';

	if (wmode==true) {
		out += '<param name="WMODE" value="Transparent">';
		embedParam += 'WMODE="Transparent" ';
	}

	out += '<param name="quality" value="high">';
	out += '<embed menu="false" src="'+url+'" quality="high" pluginspage="' + window.location.protocol + '//www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="'+width+'" height="'+height+'" name="'+fname+'" align="'+align+'" '+embedParam+'></embed></object>';
	return out;
}


function ReplaceFlash(id, url, width, height, bgcolor, wmode, version, scriptaccess, fname, align) {
	var elem = document.getElementById(id);
	if (elem) {
		elem.innerHTML = ReturnFlash(url, width, height, bgcolor, wmode, version, scriptaccess, fname, align);
	}
}


function ReplaceFlashConditional(id, url, width, height, bgcolor, wmode, version, scriptaccess, fname, align) {
	// as ReplaceFlash(...), except it only replaces the content if the
	// major version of the flash player installed is at least the required
	// version given
	var elem = document.getElementById(id);
	if (elem) {
		var flashversion = GetFlashVersion();
		var majorrequired = version;
		majorrequired = majorrequired.substr(0, majorrequired.indexOf(","));
		if (flashversion - 0 >= majorrequired - 0) {
			elem.innerHTML = ReturnFlash(url, width, height, bgcolor, wmode, version, scriptaccess, fname, align);
		}
	}
}


function RandomFlash(htmlarray) {
	var arraylength = html_array.length;
	var arrayindex  = Math.floor( Math.random() * arraylength );
	document.write(htmlarray[arrayindex]);
}


function GetFlashVersion() {
	var version = 0;
	var player = '';
	if ((navigator.userAgent) && (navigator.userAgent.indexOf("MSIE") >= 0)
	 && (navigator.userAgent.indexOf("Opera") < 0)
	 && ((navigator.userAgent.indexOf("Windows 95") >= 0)
	  || (navigator.userAgent.indexOf("Windows 98") >= 0)
	  || (navigator.userAgent.indexOf("Windows NT") >= 0))
	) {
		// MSIE on windows, examine ActiveXObjects
		for (var i = 20; i > 7; i--) {
			if (!version) {
				try {
					var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash." + i);
					version = axo.GetVariable("$version");
					player = 'ShockwaveFlash';
					i = 0;
				} catch (e) {
				}
			}
		}
		if (!version) {
			try {
				// version will be set for 7.X or greater players
				var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
				version = axo.GetVariable("$version");
				player = 'ShockwaveFlash';
			} catch (e) {
			}
		}
		if (!version) {
			try {
				// version will be set for 6.X players only
				var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
				// installed player is some revision of 6.0
				// GetVariable("$version") crashes for versions 6.0.22 through 6.0.29,
				// so we have to be careful.
				// default to the first public version
				version = "WIN 6,0,21,0";
				player = 'ShockwaveFlash';
				// throws if AllowScripAccess does not exist (introduced in 6.0r47)
				axo.AllowScriptAccess = "always";
				// safe to call for 6.0r47 or greater
				version = axo.GetVariable("$version");
			} catch (e) {
			}
		}
		if (!version) {
			try {
				// version will be set for 4.X or 5.X player
				var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
				version = axo.GetVariable("$version");
				player = 'ShockwaveFlash';
			} catch (e) {
			}
		}
		if (!version) {
			try {
				// version will be set for 3.X player
				var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.3");
				version = "WIN 3,0,18,0";
				player = 'ShockwaveFlash';
			} catch (e) {
			}
		}
		if (!version) {
			try {
				// version will be set for 2.X player
				var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
				version = "WIN 2,0,0,11";
				player = 'ShockwaveFlash';
			} catch (e) {
				version = 0;
			}
		}
		if (version) {
			version = version.toString();
			version = version.substr(version.indexOf(" ") + 1, version.length - version.indexOf(" ") - 1);
			version = version.substr(0, version.indexOf(","));
		} else {
			try {
				// Instead of ShockwaveFlash, the object could be SWCtl (Director?)
				var axo = new ActiveXObject("SWCtl.SWCtl");
				player = 'ShockwavePlayer';
				version = '1';
				try {
					version = axo.ShockwaveVersion("");
					version = version.substr(0, version.indexOf("."));
				} catch (e) {
				}
			} catch (e) {
				version = 0;
			}
		}
	}
	if (!version) {
		// try Netscape/Mozilla model
		if ((navigator.mimeTypes) && (navigator.mimeTypes["application/x-shockwave-flash"])
		 && (navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)) {
			if (!version) {
				try {
					var plugname   = navigator.plugins['Shockwave Flash'].description;
					var plugsub    = plugname.substring(plugname.indexOf("."),-1);
					while (plugsub.indexOf(" ") > -1) {
						plugsub = plugsub.substr(plugsub.indexOf(" ") - plugsub.length + 1);
					}
					version = plugsub;
					player = 'ShockwaveFlash';
				} catch (e) {
					version = 0;
				}
			}
			if (!version) {
				try {
					var plugname   = navigator.plugins['Shockwave Flash 2.0'].description;
					var plugsub    = plugname.substring(plugname.indexOf("."),-1);
					while (plugsub.indexOf(" ") > -1) {
						plugsub = plugsub.substr(plugsub.indexOf(" ") - plugsub.length + 1);
					}
					version = plugsub;
					player = 'ShockwaveFlash2';
				} catch (e) {
					version = 0;
				}
			}
		}
	}
	if (arguments.length == 1) {
		return { version: version, player: player };
	} else {
		return version;
	}
}

