//***********************************************************************
//
// onContextMenu		Version :1.00
//
// 目的 :	コンテキストメニューの制御
//
// 引数 :	なし
//
// 戻り値 :	なし
//
// 新規作成:	2001/12/04(中川)
//
// 最終更新:	2001/12/04(中川)
//
//***********************************************************************
function onContextMenu()
{
//	window.event.returnValue=false;
	window.event.returnValue=true;
}

//***********************************************************************
//
// invalidKey		Version :1.00
//
// 目的 :	ショートカットキーの封殺
//
// 引数 :	なし
//
// 戻り値 :	なし
//
// 新規作成:	2001/09/12(酒井)
//
// 最終更新:	2001/09/12(酒井)
//
//***********************************************************************
function invalidKey()
{
	return true;
	
	//Altキーが押された場合
	if (event.altKey)
	{
		if (event.keyCode==37 || event.keyCode==39)
		{
			event.returnValue=false;
			return false;
		}
		else if(event.keyCode==36)
		{
			event.keyCode=37;
 			event.returnValue=false;
			return false;
		}
		else
		{
			event.keyCode=0;
			event.returnValue=false;
			return false;
		}
	}

	//Ctrlキーが押された場合
	if (event.ctrlKey)
	{
		if (event.keyCode==65 || event.keyCode==67 || event.keyCode==70 || event.keyCode==80 || event.keyCode==86 || event.keyCode==88 || event.keyCode==90)
		{
			return true;
		}
		else
		{
			event.keyCode=0;
			event.returnValue=false;
			return false;
		}
	}

	//Shiftキーが押された場合
	if (event.shiftKey)
	{	
		if (window.event.srcElement.tagName == "INPUT" || window.event.srcElement.tagName == "TEXTAREA") 
		{
			return true;
		}
		else
		{
			event.keyCode=0;
			event.returnValue=false;
			return false;
		}
	}
	
	//バックスペースが押された場合
	if (event.keyCode==8)
	{	
		if (window.event.srcElement.tagName == "INPUT" || window.event.srcElement.tagName == "TEXTAREA") 
		{
			return true;
		}
		else
		{
			event.keyCode=0;
			event.returnValue=false;
		}
	}

	if(event.type=="keydown")
	{
		//F5が押された場合
		if (event.keyCode==116)
		{
			event.keyCode=0;
			event.returnValue=false;
			return false;
		}

		//F6が押された場合
		if (event.keyCode==117)
		{
			event.keyCode=0;
			event.returnValue=false;
			return false;
		}
	}
}

//***********************************************************************
//
// checkCombo		Version :1.00
//
// 目的 :	コンボボックスに愚かにも空を入力した際に空を無効にする。
//
// 引数 :	objCombo...コンボボックス
//
// 戻り値 :	なし
//
// 新規作成:	2001/07/24(山野)
//
// 最終更新:	2001/07/24(山野)
//
//***********************************************************************
function checkCombo(objCombo)
{
	if( objCombo.selectedIndex==-1 )
	{
		objCombo.selectedIndex=0;
	}
}


//***********************************************************************
//
// checkEnter		Version :1.00
//
// 目的 :	Enterキーの入力を無効にする。
//
// 引数 :	なし
//
// 戻り値 :	true/false
//
// 新規作成:	2001/03/28(中川)
//
// 最終更新:	2001/07/13(山野)
//
//***********************************************************************
function checkEnter()
{
	if( window.event.keyCode==13 )
	{
		window.event.returnValue = false;
	}
	return true;
}


//***********************************************************************
//
// checkNum		Version :1.00
//
// 目的 :	数字の入力チェック用イベントハンドラ。
//
// 引数 :	なし
//
// 戻り値 :	true=数字、false=それ以外
//
// 新規作成:	2001/03/26(中川)
//
// 最終更新:	2001/03/26(中川)
//
//***********************************************************************
function checkNum()
{
	if( (event.keyCode>57) | (event.keyCode<48) )
	{
		event.returnValue=false;
	}
	return false;
}


//***********************************************************************
//
// checkDragNum		Version :1.00
//
// 目的 :	数字インプトットボックスのドラッグ用イベントハンドラ。
//
// 引数 :	なし
//
// 戻り値 :	true=数字、false=それ以外
//
// 新規作成:	2001/07/10(山野)
//
// 最終更新:	2001/07/10(山野)
//
//***********************************************************************
function checkDragNum()
{
	//正規表現
	var objReg = new RegExp(/^[0-9]+$/);

	//数値
	if( objReg.test(event.dataTransfer.getData("Text")) == true )
	{
		event.returnValue=event.dataTransfer.getData("Text");
	}
	else
	{
		event.dataTransfer.clearData("Text");
		event.returnValue=false;
	}
	return false;
}


//***********************************************************************
//
// checkPasteNum		Version :1.00
//
// 目的 :	数字インプトットボックスのペースト用イベントハンドラ。
//
// 引数 :	なし
//
// 戻り値 :	true=数字、false=それ以外
//
// 新規作成:	2001/07/10(山野)
//
// 最終更新:	2001/07/10(山野)
//
//***********************************************************************
function checkPasteNum()
{
	//正規表現
	var objReg = new RegExp(/^[0-9]+$/);

	//数値
	if( objReg.test(clipboardData.getData("Text")) == true )
	{
		event.returnValue=clipboardData.getData("Text");
	}
	else
	{
		event.returnValue=false;
	}
	return false;
}


//***********************************************************************
//
// openDialog		Version :1.01
//
// 目的 :	ダイアログを開く。
//
// 引数 :	strURL...URL
//			nWidth...ダイアログの幅
//			nHeight...ダイアログの高さ
//
// 戻り値 :	true
//
// 新規作成:	2001/03/26(中川)
//
// 最終更新:	2001/08/10(中川)
//
//***********************************************************************
function openDialog(strURL,nWidth,nHeight)
{
	return window.showModalDialog(strURL, window, 
			"scroll: 1;help: no;resizable: no; status: no;dialogWidth:" + nWidth + "px;dialogHeight:"+ nHeight +"px;");
}


//***********************************************************************
//
// openWindow		Version :1.00
//
// 目的 :	ウインドウを開く。
//
// 引数 :	strURL..........URL
//			strWindowName...ウインドウ名
//			nWidth..........ウインドウの幅
//			nHeight.........ウインドウの高さ
//
// 戻り値 :	ウインドウオープンオブジェクト
//
// 新規作成:	2001/07/25(田部井)
//
// 最終更新:	2001/07/25(田部井)
//
//***********************************************************************
function openWindow(strURL,strWindowName,nWidth,nHeight){
	return window.open(strURL,strWindowName,'channelmode=0,directories=0,fullscreen=0,location=0,menubar=0,resizable=1,scrollbars=1,status=0,titlebar=1,toolbar=0,width=' + nWidth + 'px,height=' + nHeight + 'px,top=0,left=0');
}


//***********************************************************************
//
// isNumeric		Version :1.00
//
// 目的 :	数字(全角数字も含む)かどうかを判定する
//			半角英数のみでチェックしたい場合は、is1ByteCharsと組み合わせる。
//
// 引数 :	objString...文字列
//
// 戻り値 :	true/false
//
// 新規作成:	2001/05/10(中川)
//
// 最終更新:	2001/05/10(中川)
//
//***********************************************************************
function isNumeric(objString)
{
	var i,len;
	var objNums = new Array("１","２","３","４","５","６","７","８","９","０");
	
	for( i=0,len=0 ; i<objString.length ; i++ )
	{
		if( parseInt(objString.charCodeAt(i))>256 )
		{
			var j;
			for( j=0 ; j<objNums.length ; j++ )
			{
				if( objString.substr(i,1) == objNums[j] )
					break;
			}
			if( j>=objNums.length )
				return false;
			continue;
		}
	
		if( parseInt(objString.charCodeAt(i))<'0'.charCodeAt(0) || parseInt(objString.charCodeAt(i))>'9'.charCodeAt(0) )
			return false;
	}

	return true;
}


//***********************************************************************
//
// setLinksDisable		Version :1.00
//
// 目的 :	リンク、ボタンを使用不可にする
//
// 引数 :	なし
//
// 戻り値 :	なし
//
// 新規作成:	2001/07/26(中川)
//
// 最終更新:	2001/07/26(中川)
//
//***********************************************************************
function setLinksDisable()
{
	var i;
	var objReturn = new Function("return false;");

	for( i=0 ; i<document.anchors.length ; i++ )
	{
		document.anchors.item(i).onclick = objReturn;
		document.anchors.item(i).disabled = true;
	}

	for( i=0 ; i<document.forms.length ; i++ )
	{
		var objForm = document.forms.item(i);
		objForm.onclick = objReturn;
		objForm.onsubmit = objReturn;
		for( j=0 ; j<objForm.length ; j++ )
		{
			var objItem = objForm.elements(j);
			objItem.onclick = objReturn;
			objItem.onkeydown = objReturn;
			objItem.onpaste = objReturn;
			objItem.style.cursor = "wait";
		}
//		document.forms.item(i).style.cursor = "wait";
	}
	
	if( document.all.cursorChange != null )
		document.all.cursorChange.href = "../css/wait.css"
	else
		document.body.style.cursor = "wait";
//	document.body.disabled = true;
}


//***********************************************************************
//
// setParentTitle		Version :1.00
//
// 目的 :	最上層のタイトルを変更する
//
// 引数 :	なし
//
// 戻り値 :	なし
//
// 新規作成:	2001/07/31(山野)
//
// 最終更新:	2001/07/31(山野)
//
//***********************************************************************
function setParentTitle()
{
	parent.top.document.title = document.title
}


//***********************************************************************
//
// getFrameByName		Version :1.00
//
// 目的 :	引数の名前のフレームを探す
//
// 引数 :	objTargetWnd ... 該当フレームの検索の起点となるウィンドウオブジェクト
//			strName ... 該当フレーム名
//
// 戻り値 :	なし
//
// 新規作成:	2002/06/17(中川)
//
// 最終更新:	2002/06/17(中川)
//
//***********************************************************************
function getFrameByName(objTargetWnd, strName)
{
	var k = objTargetWnd;
	while(true)
	{
		for( var i=0 ; i<k.frames.length ; i++ )
		{
			if( k.frames[i].name == strName )
				return k.frames[i];
		}

		if( k.name == strName )
			return k;
		
		if( k == k.parent )
			return null;
		
		k = k.parent;
	}
}
