// -----------------------------------------------------------------------------
// Globals
// Major version of Flash required

requiredMajorVersion = 8;
// Minor version of Flash required
requiredMinorVersion = 0;
// Minor version of Flash required
requiredRevision = 0;
// the version of javascript supported
jsVersion = 1.0;

// Alternate content control variable
alternateOn = false;

document.write('<scr' + 'ipt language="VBScr' + 'ipt" type="text/vbscr' + 'ipt">' + '\n');
document.write('Function VBGetSwfVer(i)' + '\n');
document.write('  on error resume next' + '\n');
document.write('  Dim swControl, swVersion, objectName' + '\n');
document.write('  swVersion = 0' + '\n');
document.write('  objectName = "ShockwaveFlash.ShockwaveFlash"' + '\n');
document.write("  if( i > 0 ) then\n");
document.write("  objectName = objectName & \".\" & CStr(i)\n");
document.write("  end if\n");
document.write('  set swControl = CreateObject(objectName)' + '\n');
document.write('  if (IsObject(swControl)) then' + '\n');
document.write('	swVersion = swControl.GetVariable("$version")' + '\n');
document.write('  end if' + '\n');
document.write('  VBGetSwfVer = swVersion' + '\n');
document.write('End Function' + '\n');
document.write('</scr' + 'ipt>' + '\n');

// -----------------------------------------------------------------------------

if ( !window.movieId )
{
	movieId = 'movie';
}

isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;
jsVersion = 1.1;

// JavaScript helper required to detect Flash Player PlugIn version information
function JSGetSwfVer(i){
	// NS/Opera version >= 3 check for Flash plugin in plugin array
	if (navigator.plugins != null && navigator.plugins.length > 0) {
		if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
			var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
			var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
			descArray = flashDescription.split(" ");
			tempArrayMajor = descArray[2].split(".");
			versionMajor = tempArrayMajor[0];
			versionMinor = tempArrayMajor[1];
			if ( descArray[3] != "" ) {
				tempArrayMinor = descArray[3].split("r");
			} else {
				tempArrayMinor = descArray[4].split("r");
			}
			versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
			flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
		} else {
			flashVer = -1;
		}
	}
	// MSN/WebTV 2.6 supports Flash 4
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
	// WebTV 2.5 supports Flash 3
	else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
	// older WebTV supports Flash 2
	else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
	// Can't detect in all other cases
	else {
		
		flashVer = -1;
	}
	return flashVer;
}

// When called with reqMajorVer, reqMinorVer, reqRevision returns true if that version or greater is available
function getFlashVersion() 
{
	var versionArray = [ 0, 0, 0 ];

	if( isIE && isWin && !isOpera )
	{
		// loop through the versions until we find the newest version	
		for( i = 0; i < 25; ++i )
		{
			versionStr = VBGetSwfVer( i );

			if( versionStr != -1 && versionStr != 0 )
			{
				tempArray    = versionStr.split(" ");
				tempString   = tempArray[1];
				versionArray = tempString .split(",");
				break;
			} // endif
		} // endif
	}
	else // !useVB
	{
		versionStr = JSGetSwfVer( 0 );

		if( versionStr != -1 && versionStr != 0 )
			versionArray = versionStr.split(".");
	} // endif

	return versionArray;
}

function hasFlashVersion(versionArray, reqMajorVer, reqMinorVer, reqRevision)
{
	var reqVer = parseFloat( reqMajorVer + "." + reqRevision );
	var versionMajor    = versionArray[0];
	var versionMinor    = versionArray[1];
	var versionRevision = versionArray[2];
	var versionNum = parseFloat( versionMajor + "." + versionRevision );

	// is the major.revision >= requested major.revision AND the minor version >= requested minor
	if ( (versionMajor > reqMajorVer) && (versionNum >= reqVer) ) {
		return true;
	} else {
		return ((versionNum >= reqVer && versionMinor >= reqMinorVer) ? true : false );	
	}
}

var flashVersion = getFlashVersion();

// Check to see if the version meets the requirements for playback
if ( hasFlashVersion( flashVersion, requiredMajorVersion, requiredMinorVersion, requiredRevision ) ) {  // if we've detected an acceptable version

	if( typeof flashVars == "undefined" )
		flashVars = "";

	if( typeof windowMode == "undefined" )
		windowMode = "";

	var oeTags = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" '
	+ 'width="' + movieWidth + '" height="' + movieHeight + '" '
	+ 'id="' + movieId + '" '
	+ 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" name="' + movieId + '">'
	+ '<param name="allowFullScreen" value="true" />'
	+ '<param name="movie" value="' + movieSrc + '" /><param name="allowScriptAccess" value="always" /><param name="quality" value="high" />'
	+ ( windowMode != "" ? '<param name="wmode" value="' + windowMode + '" />' : '' )
	+ ( flashVars != "" ? '<param name="FlashVars" value="' + flashVars + '" />' : '' )
	+ '<embed src="' + movieSrc + '" quality="high" '
	+ ( windowMode != "" ? 'wmode="' + windowMode + '" ' : '' )
	+ 'width="' + movieWidth + '" height="' + movieHeight + '" name="' + movieId + 'E" id="' + movieId + 'E" align="middle" '
	+ 'swLiveConnect=true '
	+ 'play="true" '
	+ 'loop="false" '
	+ 'quality="high" '
	+ 'allowScriptAccess="always" '
	+ 'allowFullScreen="true" '
	+ 'type="application/x-shockwave-flash" '
	+ ( flashVars != "" ? 'FlashVars="' + flashVars + '" ' : '' )
	+ 'pluginspage="http://www.macromedia.com/go/getflashplayer">'
	+ '<\/embed>'
	+ '<\/object>';
	document.write(oeTags);   // embed the Flash Content SWF when all tests are passed
}
else if( flashVersion[ 0 ] == 7 )
{
	document.write( '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'
						+ 'width="' + movieWidth + '" height="' + movieHeight + '"'
						+ 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab" name="' + movieId + '">'
						+ '<param name="movie" value="/contentroot/uol/art/systemimages/channel/global/images/must-upgrade.swf" /><param name="allowScriptAccess" value="always" /><param name="quality" value="high" /><param name="wmode" value="opaque" />'
						+ '<embed src="/contentroot/uol/art/systemimages/channel/global/images/must-upgrade.swf" quality="high" wmode="opaque" '
						+ 'width="' + movieWidth + '" height="' + movieHeight + '" name="' + movieId + '" id="' + movieId + '" aligh="middle" '
						+ 'swLiveConnect=true '
						+ 'play="true" '
						+ 'loop="false" '
						+ 'quality="high" '
						+ 'allowScriptAccess="always" '
						+ 'type="application/x-shockwave-flash" '
						+ 'pluginspage="http://www.macromedia.com/go/getflashplayer">'
						+ '<\/embed>'
						+ '<\/object>' );
}
else {  // flash is too old or we can't detect the plugin
	
	finalAlternateContent = '';
	if ( window.alternateContent )
	{
		finalAlternateContent = alternateContent;
	}
	else {
		finalAlternateContent = '<a href="' + altLinkURL + '" target="_blank"><img src="' + altImgSrc + '" border="0" alt="" /></a>';
	}
	document.write(finalAlternateContent);  // insert non-flash content
	alternateOn = true;
}
