// クライアントのブラウザのタイプを検出
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;
// Flash Player プラグインのバージョン情報を検出するには、JavaScript ヘルパーが必要です
function JSGetSwfVer (i) {
	// プラグイン配列内の Flash プラグインについて NS/Opera バージョンが 3 以上かどうかを確認します
	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);
}
