//====================================================================
//====================================================================
//====================================================================
//
// フォームに入力された値の確認を行う関数 v1.00
//
//====================================================================
//====================================================================
//====================================================================
//====================================================================

	var blnSubmit = false;

	var __Ret__   = null;

//====================================================================
//=== 未入力か？ =====================================================
//====================================================================

function isBlank( value )
{
	if ( !value )
		return true;
	else
		return false;
}

//====================================================================
//=== 半角数字 =======================================================
//====================================================================

function isNumber( value )
{
	var string = "0123456789";

	//=== チェック ===================================================
	for ( var i = 0 ; i < string.length ; i++ )
	{
		if ( string.indexOf( value.charAt( i ) ) < 0 )
			return false;
	}

	//================================================================
	return true;
}

//====================================================================
//=== カタカナのチェック =============================================
//====================================================================

function CheckKatakana( objElm, strName )
{
	if ( !strName ) strName = objElm.name;

	if ( !objElm.value.isKatakana( ) )
	{
		alert( strName + "はカタカナを利用下さい。" );
		objElm.focus( );
		
		return false;
	}

	//================================================================
	return true;
}

//====================================================================
//=== 半角英数のチェック =============================================
//====================================================================

function CheckHanEisu( objElm, strName )
{
	if ( !strName ) strName = objElm.name;

	var strJustify =
		  "0123456789"
		+ "abcdefghijklmnopqrstuvwxyz"
		+ "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
		+ "!#$%&*+-/=?^_`{|}~";

	var strJMess = strName + "は半角英数を利用下さい。";

	//================================================================
	if ( !CheckString( objElm, strJustify, strJMess, null, null ) )
		return false;

	//================================================================
	return true;
}

//====================================================================
//=== 文字種確認 =====================================================
//====================================================================

function CheckString( objElm, strJustify, strJMess, strNeed, strNMess )
{
	var strValue = objElm.value;

	// === 使えない文字の確認 ========================================
	if ( strJustify )
	{
		if ( !strValue.justify( strJustify  ) )
		{
			alert( strJMess );
			objElm.focus( );

			//========================================================
			return false;
		}
	}

	//=== 必要な文字の確認 ===========================================
	if ( strNeed )
	{
		if ( !strValue.isExist( strNeed ) ) return false;
		{
			alert( strNMess );
			objElm.focus( );

			//========================================================
			return false;
		}
	}

	// ===============================================================
	return true;

}

//====================================================================
//=== セレクトボックスの一番上が選択されてるか調べる =================
//====================================================================

function isTopSelect( objElm )
{
	if ( !objElm.selectedIndex ) return false;

	//================================================================
	return true;
}

//====================================================================
//=== ｾﾚｸﾄﾎﾞｯｸｽが選択されているか調べる ==============================
//====================================================================

function isListSelect( objElm, blnMode )
{

	var blnTop = 0;
	if ( blnMode ) blnTop = 1;

	//=== 項目が一つの場合 ===========================================
	if ( !objElm.length )
	{
		if ( blnMode )
			return objElm.selectedIndex;
		else
			return false;
	}

	//=== 項目が複数ある場合 =========================================
	for ( var i = blnTop; i < objElm.length; ++ i )
		if ( objElm.options[ i ].selected ) return true;

	//================================================================
	return false;
}

//====================================================================
//=== セレクトボックスが選択されているか調べる =======================
//====================================================================

function checkSelectbox( objElm, strName, blnMode )
{

	if ( !strName ) strName = objElm.name;

	//================================================================
	if ( !isListSelect( objElm, blnMode ) )
	{
		alert( strName + "を選んでください。" );
		return false;
	}

	//================================================================
	return true;
}

//====================================================================
//=== チェックされているかどうか調べる ===============================
//====================================================================

function isChecked( objElm )
{
	if ( !objElm.length )
		return objElm.checked;
	else
	{
		for ( var i = 0; i < objElm.length; ++ i )
		{
			if ( objElm[ i ].checked )
				return true;
		}
	}

	//================================================================
	return false;
}

function checkCheckbox( objElm, strName )
{
	if ( !strName ) strName = objElm.name;

	//================================================================
	if ( !isChecked( objElm ) )
	{
		alert( strName + "を選んでください。" );
		return false;
	}

	//================================================================
	return true;
}

function checkRadio( objElm, strName )
{
	if ( !strName ) strName = objElm.name;

	//================================================================
	if ( !isChecked( objElm ) )
	{
		alert( strName + "を選んでください。" );
		return false;
	}

	//================================================================
	return true;
}

//====================================================================
//=== 送信 ===========================================================
//====================================================================

function selfSubmit( objForm, strAction )
{
	//================================================================
	if ( !blnSubmit )
	{
		if ( strAction ) objForm.action = strAction;

		//============================================================
		objForm.submit( );
		blnSubmit = true;
	}
	else
	{
//		alert( "連打しないでね。" );
	}

}

//====================================================================
//=== 未入力確認 =====================================================
//====================================================================

function checkBlank( objElm, strName )
{
	var value = objElm.value;

	//================================================================
	//=== 未入力の確認 ===============================================
	//================================================================
	if ( isBlank( value ) )
	{
		//=== エラーメッセージ =======================================
		if ( strName == null )
			var strMess = objElm.name + "を入力して下さい。";
		else
			var strMess = strName     + "を入力して下さい。";

		alert( strMess );

		//=== フォーカスの移動 =======================================
		objElm.focus( );

		//============================================================
		return false;
	}

	return true;
}

//====================================================================
//=== ２つｾｯﾄのﾌｫｰﾑで片方しか入力されていないか調べる ================
//====================================================================

function checkFormset( objElm1, objElm2, strName1, strName2 )
{
	if (  objElm1.value &&  objElm2.value ) return true;
	if ( !objElm1.value && !objElm2.value ) return true;

	//================================================================
	if ( !strName1 ) strName1  = objElm1.name;
	if (  strName2 ) strName1 += "と" + strName2;

	var strMess = strName1 + "は同時に入力して下さい。";
	alert( strMess );

	if ( !objElm1.value ) objElm1.focus( );
	if ( !objElm2.value ) objElm2.focus( );

	//================================================================
	return false;
}


//====================================================================
//=== 数字の確認 =====================================================
//====================================================================

function checkNumber( objElm, strName )
{
	//================================================================
	var value = objElm.value;

	//================================================================
	//=== 空白はO.K. =================================================
	//================================================================
	if ( isBlank( value ) ) return true;

	//================================================================
	// === 使えない文字の確認 ========================================
	//================================================================
	if ( !isNumber( value ) )
	{
		//=== エラーメッセージ =======================================
		if ( strName == null ) strName = objElm.name;

		var strMess = strName + "には半角数字を入力してください。";

		alert( strMess );

		//=== フォーカスの移動 =======================================
		objElm.focus( );

		//============================================================
		return false;
	}

	//================================================================
	return true;
}


//====================================================================
//=== 文字数の確認 ===================================================
//====================================================================

function checkLength( objElm, iMax, strName )
{
	var strValue = objElm.value.replace( /\r/g, "" );
	var iLength = strValue.getBytes( );

	//================================================================
	if ( iLength > iMax )
	{
		//=== エラーメッセージの作成 =================================
		if ( strName == null ) strName = objElm.name;

		var strMess =
			  strName + "は半角" + iMax + "文字までにご記入ください。\r\n"
			+ "現在、" + iLength + "文字使用しています。\r\n"
			+ "（全角は半角２文字分になります）";

		alert( strMess );

		//=== フォーカスの移動 =======================================
		objElm.focus( );

		//============================================================
		return false;
	}

	//================================================================
	return true;

}

//====================================================================
//=== 指定の数字幅に収まっているか調べる =============================
//====================================================================

function checkNumRange( objElm, iMin, iMax, strName )
{
	var value = objElm.value;
	
	if ( !value ) return true;
	
	if ( !strName ) strName = objElm.name;

	if ( value < iMin || value > iMax )
	{
		alert( strName + "は" + iMin + "〜" + iMax + "までの数字を入力して下さい。" );
		objElm.focus( );
		return false;
	}

	//================================================================
	return true;
}

//====================================================================
//=== メールアドレス =================================================
//====================================================================

function isMail( objElm, strName )
{
	//================================================================
	//=== 初期化 =====================================================
	//================================================================
	var strValue = objElm.value;

	//================================================================
	if ( strName == null ) strName = objElm.name;

	//================================================================
	//=== 文字の確認 =================================================
	//================================================================
	var objValue = strValue.split( ";" );
	for ( var i = 0; i < objValue.length; ++ i )
	{
		var strAddress = objValue[ i ].strDellFrontRearSpace( );

		if ( !strAddress.isMail( ) )
		{
			strName +=
				  "が、不正です。\r\n"
				+ "（'@'か'.'(コンマ)が含まれていないか、\r\n"
				+ "使用できない文字が含まれています）\r\n";
			alert( strName );
			objElm.focus( );

			//========================================================
			return false;

		}
	}

	// ===============================================================
	//=== 終了処理 ===================================================
	// ===============================================================
	return true;

}

//====================================================================
//=== IPアドレス =====================================================
//====================================================================

function isIP( objElm, strName, strExp )
{
	//=== 初期化 =====================================================
	var string = "0123456789.";
	var value  = objElm.value;

	//================================================================
	if ( strName == null ) strName = objElm.name;
	if ( strExp  == null ) strExp = "　　　　例（192.168.0.183）";

	//=== エラーメッセージの作成 =====================================
	strName += "には'.'と半角数字を入力してください。\n";
	strName += "\n";
	strName += strExp;

	// === 使えない文字の確認 ========================================
	if ( !value.justify( string ) )
	{
		alert( strName );
		objElm.focus( );
		return false;
	}

	// ===============================================================
	return true;

}

//====================================================================
//=== 時間 ===========================================================
//====================================================================

function isTime( objElm, strName )
{
	//=== 初期化 =====================================================
	var string = "0123456789:";
	var value  = objElm.value;

	//================================================================
	if ( strName == null ) strName = objElm.name;

	//=== エラーメッセージの作成 =====================================
	strName +=
		  "には':'と半角数字で入力してください。\r\n"
		+ "\r\n"
		+ "　　　　　　例（ 12:30 ）";

	// === 使えない文字の確認 ========================================
	if ( !value.justify( string ) )
	{
		alert( strName );
		objElm.focus( );
		return false;
	}

	// ===============================================================
	return true;
}

//====================================================================
//=== セレクトボックスを選択する =====================================
//====================================================================

function setSelectFromValue( objElm, strValue )
{
	if ( !strValue ) return false;
	if ( objElm.length <= 1 ) return false;

	//=== valueで検索 ================================================
	var iSet = false;
	for ( var i = 0 ; objElm.options[ i ] ; ++ i )
	{
		if ( objElm.options[ i ].value == strValue )
		{
			objElm.selectedIndex = i;
			iSet = true;
		}
	}

	//=== valueが無ければtext ========================================
	if ( !iSet )
	{
		for ( var i = 0 ; objElm.options[ i ] ; ++ i )
		{
			if ( objElm.options[ i ].text == strValue )
			{
				objElm.selectedIndex = i;
				iSet = true;
			}
		}
	}

	//================================================================
	__Ret__ = iSet;

	//================================================================
	return __Ret__;
}

//====================================================================
//====================================================================
//====================================================================


//====================================================================
//=== ウィンドウポップアップ =========================================
//====================================================================

function pop(theURL,winName,features) { //v2.0
	return window.open(theURL,winName,features);
}


//====================================================================
//====================================================================
//====================================================================
//
// フォームに入力された値の確認を行う関数
//
//====================================================================
//====================================================================
//====================================================================
//====================================================================

//====================================================================
//=== 文字列のバイト数を取得 =========================================
//====================================================================

String.prototype.getBytes = function( )
{ with ( this ) {

	var bytes = 0;
	var n = this.length;

	//================================================================
	for ( var i = 0; i < n; i ++ )
		bytes += 1 + Number( this.charCodeAt( i ) > 0xff );

	//================================================================
	__Ret__ = bytes;

	//================================================================
	return __Ret__;

} }

//====================================================================
//=== 指定文字での文字種確認を行う ===================================
//====================================================================

String.prototype.justify = function( string )
{ with ( this ) {

	for ( var i = 0 ; i < this.length ; i++ )
	{
		if ( string.indexOf( this.charAt( i ) ) < 0 )
			return false;
	}

	//================================================================
	return true;

} }

//====================================================================
//=== 必要な文字が含まれているか確認する =============================
//====================================================================

String.prototype.isExist = function( string )
{ with ( this ) {

	//=== 必要な文字の確認 ===========================================
	for ( var i = 0 ; i < string.length ; i++ )
	{
		if ( this.indexOf( string.charAt( i ) ) < 0 )
			return false;
	}

	//================================================================
	return true;

} }

//====================================================================
//=== ﾒｰﾙｱﾄﾞﾚｽか調べる ===============================================
//====================================================================

String.prototype.isMail = function ( )
{ with ( this ) {

	//=== 初期化 =====================================================
	var string =
		  "0123456789@."
		+ "abcdefghijklmnopqrstuvwxyz"
		+ "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
		+ "!#$%&*+-/=?^_`{|}~";
	var strNeed   = "@.";

	// === 使えない文字の確認 ========================================
	if ( !this.justify( string  ) ) return false;

	//=== 必要な文字の確認 ===========================================
	if ( !this.isExist( strNeed ) ) return false;

	// ===============================================================
	return true;

} }

//====================================================================
//=== 前後のｽﾍﾟｰｽを削除する ==========================================
//====================================================================

String.prototype.strDellFrontRearSpace = function ( )
{ with ( this ) {

	var string = this;

	//================================================================
	//=== 前のｽﾍﾟｰｽを除去 ============================================
	//================================================================
	var i = 0;
	do
	{
		var c = string.charAt( i );

		//============================================================
		if ( !(c == ' ' || c == '　') ) break;

		string = string.substr( 1 );

	} while ( 1 )

	//================================================================
	//=== 後ろのｽﾍﾟｰｽを除去 ==========================================
	//================================================================
	var i = 1;
	do
	{
		var c = string.charAt( string.length - i );

		//============================================================
		if ( !(c == ' ' || c == '　') ) break;

		string = string.substr( 0, string.length - i );

	} while ( 1 )

	//================================================================
	//=== 終了処理 ===================================================
	//================================================================
	__Ret__ = string;

	return __Ret__;

} }


//====================================================================
//=== 半角数字 =======================================================
//====================================================================

String.prototype.isNumber = function ( )
{ with ( this ) {

	var string = "0123456789";

	//=== チェック ===================================================
	for ( var i = 0 ; i < string.length ; i++ )
	{
		if ( string.indexOf( this.charAt( i ) ) < 0 )
			return false;
	}

	//================================================================
	return true;

} }

//====================================================================
//=== ０パディング ===================================================
//====================================================================

String.prototype.zeroPadding = function ( size )
{
	var str = this;

	//================================================================
	__Ret__ = str.padding( size, '0' );

	//================================================================
	return __Ret__;
}

//====================================================================
//=== ０パディング ===================================================
//====================================================================

Number.prototype.zeroPadding = function ( size )
{
	var str = this.toString( );

	//================================================================
	__Ret__ = str.zeroPadding( size );

	//================================================================
	return __Ret__;
}

//====================================================================
//=== パディング =====================================================
//====================================================================

String.prototype.padding = function ( size, c )
{
	var str = this;
	if ( !c ) c = "0";

	while ( str.length < size )
		str = c + str;

	//================================================================
	__Ret__ = str;

	//================================================================
	return __Ret__;
}

//====================================================================
//=== パディング ===================================================
//====================================================================

Number.prototype.padding = function ( size, c )
{
	var str = this.toString( );

	//================================================================
	__Ret__ = str.padding( size, c );

	//================================================================
	return __Ret__;
}


//====================================================================
//=== 曜日の確認 =====================================================
//====================================================================

Date.prototype.isSun = function ( )
{
	return ( this.getDay( ) == 0 );
}

Date.prototype.isMon = function ( )
{
	return ( this.getDay( ) == 1 );
}

Date.prototype.isTue = function ( )
{
	return ( this.getDay( ) == 2 );
}

Date.prototype.isWed = function ( )
{
	return ( this.getDay( ) == 3 );
}

Date.prototype.isThu = function ( )
{
	return ( this.getDay( ) == 4 );
}

Date.prototype.isFri = function ( )
{
	return ( this.getDay( ) == 5 );
}

Date.prototype.isSat = function ( )
{
	return ( this.getDay( ) == 6 );
}

//====================================================================
//=== 数字の更新 =====================================================
//====================================================================

//=== 月を1月増やす ==================================================

Date.prototype.setUpMonth = function ( i )
{ with ( this ) {

	if ( !i ) i = 1;
	setMonth( getMonth( ) + i );

} }

//=== 日付を１日増やす ===============================================

Date.prototype.setUpDate = function ( i )
{ with ( this ) {

	if ( !i ) i = 1;
	setDate( getDate( ) + i );

} }

//====================================================================
//=== 半角カタカナを全角にする =======================================
//====================================================================

String.prototype.cnvKanaHanZen = function ( )
{
	var string = this;

	//================================================================
	//=== 濁点有り ===================================================
	//================================================================
	var strZen =
		  "ガギグゲゴザジズゼゾ"
		+ "ダヂヅデドバビブベボ"
		+ "パピプペポ"

	//================================================================
	var strHan =
		  "ｶﾞｷﾞｸﾞｹﾞｺﾞｻﾞｼﾞｽﾞｾﾞｿﾞ"
		+ "ﾀﾞﾁﾞﾂﾞﾃﾞﾄﾞﾊﾞﾋﾞﾌﾞﾍﾞﾎﾞ"
		+ "ﾊﾟﾋﾟﾌﾟﾍﾟﾎﾟ"

	//================================================================
	for ( var i = 0; i < strHan.length; ++ i )
	{
		var rgExp = new RegExp( strHan.substr( i * 2, 2 ), "g" )
		string = string.replace( rgExp, strZen.charAt( i ) )
	}

	//================================================================
	//=== 通常 =======================================================
	//================================================================
	var strZen =
		  "アイウエオカキクケコ"
		+ "サシスセソタチツテト"
		+ "ナニヌネノハヒフヘホ"
		+ "マミムメモヤユヨ"
		+ "ラリルレロワヲン"
		+ "ァィゥェォッャュョ"
		+ "ー"

	//================================================================
	var strHan =
		  "ｱｲｳｴｵｶｷｸｹｺ"
		+ "ｻｼｽｾｿﾀﾁﾂﾃﾄ"
		+ "ﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎ"
		+ "ﾏﾐﾑﾒﾓﾔﾕﾖ"
		+ "ﾗﾘﾙﾚﾛﾜｦﾝ"
		+ "ｧｨｩｪｫｯｬｭｮ"
		+ "ｰ"

	//================================================================
	for ( var i = 0; i < strHan.length; ++ i )
	{
		var rgExp = new RegExp( strHan.charAt( i ), "g" )
		string = string.replace( rgExp, strZen.charAt( i ) )
	}

	//================================================================
	return string;
}

//====================================================================
//=== 半角を全角にする ===============================================
//====================================================================

String.prototype.cnvHanZen = function ( )
{
	var string = this;

	//================================================================
	//=== 濁点有り ===================================================
	//================================================================
	var strZen =
		  "ガギグゲゴザジズゼゾ"
		+ "ダヂヅデドバビブベボ"
		+ "パピプペポ"

	//================================================================
	var strHan =
		  "ｶﾞｷﾞｸﾞｹﾞｺﾞｻﾞｼﾞｽﾞｾﾞｿﾞ"
		+ "ﾀﾞﾁﾞﾂﾞﾃﾞﾄﾞﾊﾞﾋﾞﾌﾞﾍﾞﾎﾞ"
		+ "ﾊﾟﾋﾟﾌﾟﾍﾟﾎﾟ"

	//================================================================
	for ( var i = 0; i < strHan.length; ++ i )
	{
		var rgExp = new RegExp( strHan.substr( i * 2, 2 ), "g" )
		string = string.replace( rgExp, strZen.charAt( i ) )
	}

	//================================================================
	//=== 通常 =======================================================
	//================================================================
	var strZen =
		  "０１２３４５６７８９"
		+ "ＡＢＣＤＥＦＧＨＩＪ"
		+ "ＫＬＭＮＯＰＱＲＳＴ"
		+ "ＵＶＷＸＹＺ"
		+ "ａｂｃｄｅｆｇｈｉｊ"
		+ "ｋｌｍｎｏｐｑｒｓｔ"
		+ "ｕｖｗｘｙｚ"
		+ "アイウエオカキクケコ"
		+ "サシスセソタチツテト"
		+ "ナニヌネノハヒフヘホ"
		+ "マミムメモヤユヨ"
		+ "ラリルレロワヲン"
		+ "ァィゥェォッャュョ"
		+ "ー゛"

	//================================================================
	var strHan =
		  "0123456789"
		+ "ABCDEFGHIJ"
		+ "KLMNOPQRST"
		+ "UVWXYZ"
		+ "abcdefghij"
		+ "klmnopqrst"
		+ "uvwxyz"
		+ "ｱｲｳｴｵｶｷｸｹｺ"
		+ "ｻｼｽｾｿﾀﾁﾂﾃﾄ"
		+ "ﾅﾆﾇﾈﾉﾊﾋﾌﾍﾎ"
		+ "ﾏﾐﾑﾒﾓﾔﾕﾖ"
		+ "ﾗﾘﾙﾚﾛﾜｦﾝ"
		+ "ｧｨｩｪｫｯｬｭｮ"
		+ "ｰﾞ"

	//================================================================
	for ( var i = 0; i < strHan.length; ++ i )
	{
		var rgExp = new RegExp( strHan.charAt( i ), "g" )
		string = string.replace( rgExp, strZen.charAt( i ) )
	}

	//================================================================
	return string;
}

//====================================================================
//=== カタカナか調べる ===============================================
//====================================================================

String.prototype.isKatakana = function ( )
{
	var string = this.cnvHanZen( );

	//================================================================
	//=== 濁点有り ===================================================
	//================================================================
	var strKatakana =
		  "アイウエオカキクケコ"
		+ "サシスセソタチツテト"
		+ "ナニヌネノハヒフヘホ"
		+ "マミムメモヤユヨ"
		+ "ラリルレロワヲン"
		+ "ァィゥェォッャュョ"
		+ "ー゛"
		+ "ガギグゲゴザジズゼゾ"
		+ "ダヂヅデドバビブベボ"
		+ "パピプペポ"

	// === 使えない文字の確認 ========================================
	if ( !string.justify( strKatakana  ) ) return false;

	//================================================================
	return true;
}

//====================================================================
//====================================================================
//====================================================================
//
// 更新履歴
//
//====================================================================
//====================================================================
//====================================================================
//
// v2.00 tukamoto 04/01/28 カスタムしてしまいました。
//                         isKatakana
//                         cnvKanaHanZen,CheckHanEisu,CheckStringを追加
// v1.00 tukamoto 03/07/17 新規作成
//
//====================================================================
//====================================================================
//====================================================================
