// Flash Player プラグインのバージョン情報を検出するには、JavaScript ヘルパーが必要です
function aa_gnavi_fla_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;
      var descArray = flashDescription.split(" ");
      var tempArrayMajor = descArray[2].split(".");
      var versionMajor = tempArrayMajor[0];
      var versionMinor = tempArrayMajor[1];
      if ( descArray[3] != "" ) {
        tempArrayMinor = descArray[3].split("r");
      } else {
        tempArrayMinor = descArray[4].split("r");
      }
          var versionRevision = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
          var flashVer = versionMajor + "." + versionMinor + "." + versionRevision;
        } else {
      var 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 {
    
    var flashVer = -1;
  }
  return flashVer;
} 

//Flashのバージョン判定を行います
// パラメータは 判定するメジャーバージョン、マイナーバージョン、リビジョンとします
function aa_gnavi_fla_DetectFlashVer(reqMajorVer, reqMinorVer, reqRevision) 
{

  // クライアントのブラウザのタイプを検出
  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;

   reqVer = parseFloat(reqMajorVer + "." + reqRevision);
     // 最新のバージョンを見つけるまで、バージョンを遡ってループします  
  for (i=25;i>0;i--) {  
    if (isIE && isWin && !isOpera) {
      var versionStr = aa_gnavi_fla_VBGetSwfVer(i);
    } else {
      var versionStr = aa_gnavi_fla_JSGetSwfVer(i);    
    }
    if (versionStr == -1 ) { 
      return 'no_plugin';
    } 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);
}

//Flashムービーを描画します。
//引数は描画するムービーのファイル名
function aa_gnavi_fla_drawMovie(movieName, gnavi_id01,gnavi_id02,gnavi_id03){

  var hasRightVersion = aa_gnavi_fla_DetectFlashVer(6, 0, 0); //判定するバージョンを引数とする
  if(hasRightVersion == true) {  // 使用可能なバージョンが検出された場合
    var oeTags = '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'
    + 'width="955" height="93"'
    + 'codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">'
    + '<param name="movie" value="http://pts.allabout.co.jp/pts/fla/'
    + movieName
    + '" /><param name="quality" value="high" /><param name="scale" value="noscale" /><param name="bgcolor" value="#000000" /><param name="wmode" value="transparent" />'
    + '<param name="FlashVars" value="gnavi_id01='
    + gnavi_id01
    + '&gnavi_id02='
    + gnavi_id02
    + '&gnavi_id03='
    + gnavi_id03
    + '"/>'
    + '<embed src="http://pts.allabout.co.jp/pts/fla/'
    + movieName
    + '" quality="high" scale="noscale" bgcolor="#000000" '
    + 'width="955" height="93" name="global navigation" align="middle"'
    + 'play="true"'
    + 'loop="false"'
    + 'quality="high"'
    + 'flashvars="'
    + 'gnavi_id01='
    + gnavi_id01
    + '&gnavi_id02='
    + gnavi_id02
    + '&gnavi_id03='
    + gnavi_id03
    + '"'
    + 'wmode="transparent"'
    + 'allowScriptAccess="always"'
    + 'type="application/x-shockwave-flash"'
    + 'pluginspage="http://www.macromedia.com/go/getflashplayer">'
    + '<\/embed>'
    + '<\/object>';
      document.write(oeTags);   // Flash ムービーの埋め込み
  } else if(hasRightVersion == 'no_plugin') { // プラグインが検出できなかった場合
    var alternateContent = '<div class="no-Gnavi">'
	+'<div id="logo-r" class="clearfix">'
	+'<div id="headerlink" class="vari21 clearfix">'
	+'<ul>'
	+'<li><a href="http://allabout.co.jp/">All About トップへ</a></li>'
	+'<li><a href="http://guides.allabout.co.jp/">サイトマップ</a></li>'
	+'<li><a href="http://faq.allabout.co.jp/">ヘルプ</a></li>'
	+'<!--<li><a href="http://allabout.co.jp/rss/">RSS</a></li>-->'
	+'<!--<li><a href="http://i.allabout.co.jp/">新規登録/ログイン</a></li>-->'
	+'</ul>'
	+'</div>'
	+'</div><!--logo-r end-->'
	+ '</div>';
    document.write(alternateContent);  // エラーメッセージを挿入する
  }else{ // Flashのバージョンが規定に満たなかった場合
    var alternateContent = '<div class="no-Gnavi">'
	+'<div id="logo-r" class="clearfix">'
	+'<div id="headerlink" class="vari21 clearfix">'
	+'<ul>'
	+'<li><a href="http://allabout.co.jp/">All About トップへ</a></li>'
	+'<li><a href="http://guides.allabout.co.jp/">サイトマップ</a></li>'
	+'<li><a href="http://faq.allabout.co.jp/">ヘルプ</a></li>'
	+'<!--<li><a href="http://allabout.co.jp/rss/">RSS</a></li>-->'
	+'<!--<li><a href="http://i.allabout.co.jp/">新規登録/ログイン</a></li>-->'
	+'</ul>'
	+'</div>'
	+'</div><!--logo-r end-->'
	+ '</div>';
	+ '</div>';
    document.write(alternateContent);  // エラーメッセージを挿入する
  }

}

