﻿// JavaScript Document	
// -----------------------------------------------------------------------------
// 全域
// 需要 Flash 的主要版本
var requiredMajorVersion = 6;
// 需要 Flash 的次要版本
var requiredMinorVersion = 0;
// 需要的 Flash 版本
var requiredRevision = 0;
// 支援的 Javascript 版本
var jsVersion = 1.0;
// -----------------------------------------------------------------------------
<!-- // 偵測用戶端瀏覽器類型
	var isIE  = (navigator.appVersion.indexOf('MSIE') != -1) ? true : false;
	var isWin = (navigator.appVersion.toLowerCase().indexOf('win') != -1) ? true : false;
	var isOpera = (navigator.userAgent.indexOf('Opera') != -1) ? true : false;
	jsVersion = 1.1;
	// 需要 JavaScript 協助程式以偵測 Flash Player PlugIn 版本資訊
	function JSGetSwfVer(i)
	{
		// NS/Opera 版本 >= 3 檢查外掛程式陣列中的 Flash 外掛程式
		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 支援 Flash 4
		else if (navigator.userAgent.toLowerCase().indexOf('webtv/2.6') != -1)
		{
			flashVer = 4;
		}
		// WebTV 2.5 支援 Flash 3
		else if (navigator.userAgent.toLowerCase().indexOf('webtv/2.5') != -1)
		{
			flashVer = 3;
		}
		// 舊的 WebTV 支援 Flash 2
		else if (navigator.userAgent.toLowerCase().indexOf('webtv') != -1)
		{
			flashVer = 2;
		}
		// 在其它情況下皆無法偵測
		else
		{
			flashVer = -1;
		}
		return flashVer;
	} 
// 如果以沒有參數的方式呼叫，這個函數會傳回應為 Flash Player 的版本值或 0.0 的浮點值 例如：Flash Player 7r14 會傳回 7.14
// 使用 reqMajorVer、reqMinorVer 或 reqRevision 呼叫時，如果有該版本或更新的版本時，會傳回 true
	function DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision)
	{
		reqVer = parseFloat(reqMajorVer + '.' + reqRevision);
		// 往後尋找最新版本	
		for (i=25; i>0; i--)
		{
			if (isIE && isWin && !isOpera)
			{
				versionStr = VBGetSwfVer(i);
			}
			else
			{
				versionStr = JSGetSwfVer(i);
			}
			if (versionStr == -1)
			{
				return false;
			}
			else if (versionStr != 0)
			{
				if (isIE && isWin && !isOpera)
				{
					tempArray = versionStr.split(' ');
					tempString = tempArray[1];
					versionArray = tempString.split(',');
				}
				else
				{
					versionArray = versionStr.split('.');
				}
				versionMajor = versionArray[0];
				versionMinor = versionArray[1];
				versionRevision = versionArray[2];
				versionString = versionMajor + '.' + versionRevision;
				// 7.0r24 == 7.24
				versionNum = parseFloat(versionString);
				// 是否主版本 >= 需要的主版本，而且次版本 >= 需要的次版本
				if ((versionMajor>reqMajorVer) && (versionNum>=reqVer))
				{
					return true;
				}
				else
				{
					return ((versionNum>=reqVer && versionMinor>=reqMinorVer) ? true : false);
				}
			}
		}
		return (reqVer ? false : 0.0);
	}
