//////////////////////////////////////////////////////////////////////// MTB library　(06.02.17-)////////////////////////////////////////////////////////////////////////	History:////	06.02.17	作成開始////////////////////////////////////////////////////////////////////////// 作者タグ生成function myName(){	return( "<b>Sazanbo</b>" );}//// MTBユーティリティ// 名前による画像ファイルパス作成function getShareImgPath( name ){	return( "../img/share/" + name + ".gif" );}//// HTMLルーチン// 指定された名前の画像の配列番号を得るfunction findImgIndex( name ){	var i, numImg;	numImg = document.images.length;	for( i=0; i<numImg; i++ )	{		if( document.images[i].name == name )		{			break;		}	}	return( i )}// 指定されたフォームのエレメント番号を得るfunction findFromElemIndex( theForm, name ){	var i, numItem;	numItem = theForm.length;	for( i=0; i<numItem; i++ )	{		if( theForm.elements[i].name == name )		{			break;		}	}	return( i )}//// SELECTタグの選択値//function getMenuSelValue( TheMenu ) // NetscapeでTheMenu.valueがnullになるため必要{	var i = TheMenu.selectedIndex;	return( TheMenu[i].value );}//// 汎用ルーチン// 2つの配列の内容が一致しているかfunction isSameArray( ar1, ar2 ){	var i,len;	len = ar1.length;	if( len != ar2.length )	{		return( false );	}	for( i=0; i<len; i++ )	{		if( ar1[i] != ar2[i] )		{			return( false );		}	}	return( true );}// 配列からランダムな項目取り出しvar gLastRandomItem=0;function getRandomArrayItem( theArray ){	var numItems, index;		numItems = theArray.length;		// Math.Random()は0.0〜1.0を返す	while( true )	{		index = Math.round( Math.random() * (numItems-1) );		if( index != gLastRandomItem )		{			break;		}	}	gLastRandomItem = index;	return( theArray[index] );}// 配列のランダムな並べ替えfunction _randSortFunc(a,b)	// Retun + or - Value	{	return( Math.random()-0.5 ); }function randomSortArray( theArray ){	var	randArray = new Array();	randArray = randArray.concat( theArray );	// Copy by value	randArray.sort( _randSortFunc );	return( randArray );}// ランダムな整数取り出し// EX:f(2,5)var gLastRandomNum=0;function getRandomInt( start, end ){	var num;	var numSpan = end - start; // EX:3			// Math.Random()は0.0〜1.0を返す	while( true )	{		num = Math.round( Math.random() * (numSpan) ); // EX:0.0〜3.0 -> 0〜3		num += start; // EX:2〜5		if( num != gLastRandomNum )		{			break;		}	}	gLastRandomNum = num;	return( num );}// 秒数 sec2 - sec1 を時間フォーマット(HH:MM:SS or MM:SS)にfunction getDeltaTime( sec1, sec2, withHour ){	var deltaSec;	var h,m,s;	deltaSec = sec2 - sec1;	var deltaTime = new Date("jan 1, 2000 0:0:0" );	deltaTime.setSeconds( deltaSec );	h = zeroPad( deltaTime.getHours(), 2 );	m = zeroPad( deltaTime.getMinutes(), 2 );	s = zeroPad( deltaTime.getSeconds(), 2 );	if( withHour )	{		return( h+":"+m+":"+s );	}	else	{		return( m+":"+s );	}}// 経過時間を文字で取り出し EX: "MM:SS"function getElapsedTime( startTime ){	var curSec, startSec;	var deltaTime;	var curTime = new Date();	startSec = Math.round( startTime.getTime()/1000 );	curSec = Math.round( curTime.getTime()/1000 );	deltaTime = getDeltaTime( startSec, curSec, false);	return( deltaTime );}// 比の値をパーセントに変換（小数点以下桁数指定付き、指定以下切り捨て）function myPercent( rate, fracDigit ){	var numStr, periodPos, len;	rate = rate*100;	numStr = rate.toString();	periodPos = numStr.indexOf(".");	if( periodPos != -1 )	{		if( periodPos == 0 ) // NSの場合"0.X"が".X"になるので"0"追加		{			numStr = "0"+numStr;			periodPos++;		}		numStr = numStr.substring( 0, periodPos+fracDigit+1 );	}	return( numStr );}// ×比の値をパーセントに変換（小数点以下の桁数指定付き）// IEで2/3が66.59999999999999%にfunction myPercentOld( rate, fracDigit ){	var shiftValue, n;	shiftValue = Math.pow(10,fracDigit);	n = Math.floor( rate*100*shiftValue );	n = n/shiftValue;	return( n );}// 数字のゼロパッドfunction zeroPad( num, digits ){	var i, len;	var numStr;	numStr = num.toString(); // 文字列にしてから長さを得る	len = numStr.length;	for( i=1; i<=digits-len; i++ )	{		numStr = "0" + numStr;	}	return( numStr );}