/* ====================================
  File        : common.js
  Date        : 2008.05.19
  Last Update : 2008.05.19
===================================== */

/* ------------------------------
 Rollover
------------------------------ */
	var elementTagName = "img";
	// 
	var clsName = "rollover";
	// 
	var postfixName = "_ov";

	function rollOver() {
		// 
		var preloadImg = new Array();
		var elementImg
		var objectId = document.getElementsByTagName( elementTagName );
		for( i=0; i<objectId.length; i++ ) {
			if( objectId[i].className == clsName ) {
				// preload
				var imgSource = objectId[i].getAttribute( "src" );
				var fileType = imgSource.substring( imgSource.lastIndexOf( "." ), imgSource.length );
				var mouseoverImg = imgSource.replace( fileType, postfixName + fileType );
				objectId[i].setAttribute( "mouseoverImg" , mouseoverImg );
				// 
				preloadImg[i] = new Image();
				preloadImg[i].src = mouseoverImg;
				objectId[i].onmouseover = function() {
					elementImg = this.getAttribute( "src" );
					this.setAttribute( "src", this.getAttribute( "mouseoverImg" ));
				}
				objectId[i].onmouseout = function() {
					if ( !elementImg ) {
						elementImg = this.getAttribute( "src" ).replace( postfixName + fileType, fileType);
					} else {
						this.setAttribute( "src", elementImg );
					}
				}

			}
		}

	}
	function loadFunction( objctName, eventType, functionName ) {
		eval( objctName + "." + eventType + " = " + functionName );
	}
	// Program Execution
	loadFunction( "window", "onload" , "rollOver" );
// ------------------------------------------------------



/* ------------------------------
 スクロールバー制御
------------------------------ */

var __scroll = {sp:6, fps:16, timer:0};

function setScrollSp(sp) {

	if(typeof sp == "number") {

		this.__scroll.sp = sp;

	}

}

function setScrollFps(fps) {

	if(typeof fps == "number") {

		this.__scroll.fps = fps;

	}

}

function scrollToTop() {

	pageScroll(0, 0);

}

function getScrollLeft() {

	if(navigator.userAgent.indexOf("MSIE") != -1) {

		return document.body.scrollLeft;

	} else {

 	 return (window.pageXOffset) ? window.pageXOffset : 0;

 }

}

function getScrollTop() {

	if(navigator.userAgent.indexOf("MSIE") != -1) {

		return document.body.scrollTop;

	} else {

 	 return (window.pageYOffset) ? window.pageYOffset : 0;

 }

}

function pageScroll(toX, toY, cuX, cuY) {

	clearTimeout(this.__scroll.timer);

	toX = (!toX || toX < 0) ? 0 : toX;

	toY = (!toY || toY < 0) ? 0 : toY;

	cuX = (!cuX) ? 0 + getScrollLeft() : cuX;

	cuY = (!cuY) ? 0 + getScrollTop() : cuY;

	cuX += (toX - getScrollLeft()) / this.__scroll.sp; 

	cuY += (toY - getScrollTop()) / this.__scroll.sp; 

	if(cuX < 0) { cuX = 0; }

	if(cuY < 0) {	cuY = 0;	}

	window.scrollTo(Math.floor(cuX), Math.floor(cuY));

	if(Math.floor(cuX) != toX || Math.floor(cuY) != toY) {

		this.__scroll.timer = setTimeout("pageScroll("+toX+","+toY+"," +cuX+","+cuY+")",this.__scroll.sp);

	}

}

// ------------------------------------------------------



/* ------------------------------
 flash video
------------------------------ */
function MM_CheckFlashVersion(reqVerStr,msg){
  with(navigator){
    var isIE  = (appVersion.indexOf("MSIE") != -1 && userAgent.indexOf("Opera") == -1);
    var isWin = (appVersion.toLowerCase().indexOf("win") != -1);
    if (!isIE || !isWin){  
      var flashVer = -1;
      if (plugins && plugins.length > 0){
        var desc = plugins["Shockwave Flash"] ? plugins["Shockwave Flash"].description : "";
        desc = plugins["Shockwave Flash 2.0"] ? plugins["Shockwave Flash 2.0"].description : desc;
        if (desc == "") flashVer = -1;
        else{
          var descArr = desc.split(" ");
          var tempArrMajor = descArr[2].split(".");
          var verMajor = tempArrMajor[0];
          var tempArrMinor = (descArr[3] != "") ? descArr[3].split("r") : descArr[4].split("r");
          var verMinor = (tempArrMinor[1] > 0) ? tempArrMinor[1] : 0;
          flashVer =  parseFloat(verMajor + "." + verMinor);
        }
      }
      // WebTV has Flash Player 4 or lower -- too low for video
      else if (userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 4.0;

      var verArr = reqVerStr.split(",");
      var reqVer = parseFloat(verArr[0] + "." + verArr[2]);
  
      if (flashVer < reqVer){
        if (confirm(msg))
          window.location = "http://www.macromedia.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash";
      }
    }
  } 
}
