var w;
// ===================================================================
//	添付ファイル追加処理
// ===================================================================
function addAppend()
{
	var formdata = document.myform;
	var retval = "";
	var retdatas;
	var sumsize;
	var addfile;

	// --------------------
	// 0: 正常
	// -1:通常失敗
	// -2:致命的な失敗
	// --------------------

	var urldata = "op_append_ne.php?apdir=" + formdata.itempdir.value;
	w = open( urldata , 'TEST', "scrollbars=no,resizable=no,dependent=yes,width=450,height=200, alwaysRaised=yes");

	// 戻り値を返す。
	return 0;
}

// ===================================================================
//	添付ファイル削除処理
// ===================================================================
function removeAppend()
{
	var formdata = document.myform;

//	formdata.iappend.value = "";

	return 0;
}

// ===================================================================
//	入力フォーム処理実行
// ===================================================================
function execSubmit()
{
	var ret_check;
	var cnt;
	var datas;
	var formdata = document.myform;

	// 各種チェックを行なう。
	ret_check = InputCheck();

	// 結果が大丈夫であれば、ＤＢ処理へ遷移する。
	if ( ret_check != false )
	{
//		datas = formdata.iappend.value;
		formdata.ifiledata.value = datas;
		// 遷移
		formdata.action = "op_input_rs.php";
		formdata.submit();
		return true;
	}

	// 戻り値を返す。
	return false;
}

// ===================================================================
//	入力フォーム画面リセット
// ===================================================================
function resetInput()
{
	var formdata = document.myform;

	// 団体名・氏名
	// ふりがな
	// 郵便番号
	// 電話番号
	// 住所
	// メールアドレス
	// 件名
	// 要望内容
	// 内容
	// 添付ファイル
	// 回答先区分
	formdata.iname.value = "";
	formdata.ihurigana.value = "";
	formdata.izipcd.value = "";
	formdata.itelno.value = "";
	formdata.iaddr.value = "";
	formdata.imailaddr.value = "";
	formdata.ititle.value = "";
	formdata.iNaiyoucd.options[0].selected = true;
	formdata.idemand.value = "";
//	formdata.iappend.value = "";
	formdata.ireply.options[0].selected = true;
	
	// 戻り値を返す。
	return false;
}
// ===================================================================
//	入力チェック
// ===================================================================
function InputCheck()
{
	// 必須チェック
	if ( InputHissuCheck() == false )
	{
		return false;
	}

	// 最大長チェック
	if ( InputMaxCheck() == false )
	{
		return false;
	}

	// 各属性チェック
	if ( InputAtributeCheck() == false )
	{
		return false;
	}

	return true;
}

// ===================================================================
//	入力必須チェック
// ===================================================================
function InputHissuCheck()
{
	var formdata = document.myform;

	// 件名
	// 要望内容
	// 内容

	strtitle = formdata.ititle.value.replace("　", "");
	strtitle = strtitle.replace(" ", "");

	//alert("["+strtitle+"]");
	
	if ( strtitle == "" )
	//if ( formdata.ititle.value == "" )
	{
		alert( "件名が入力されていません。入力してください。" );
		return false;
	}

	strnaiyou = formdata.iNaiyoucd.options[ formdata.iNaiyoucd.selectedIndex ].value;
	if ( strnaiyou == "" )
	{
		alert( "要望内容が選択されていません。選択してください。" );
		return false;
	}

	strdemand = formdata.idemand.value.replace("　", "");
	strdemand = strdemand.replace(" ", "");
	if ( strdemand == "" )
	//if ( formdata.idemand.value == "" )
	{
		alert( "内容が入力されていません。入力してください。" );
		return false;
	}
	strreplay = formdata.ireply.options[ formdata.ireply.selectedIndex ].value;
	if ( strreplay == "1" )
	{
		// 手紙
		strtempdata = formdata.iaddr.value.replace("　", "");
		strtempdata = strtempdata.replace(" ", "");
		if ( strtempdata == "" )
		//if ( formdata.iaddr.value == "" )
		{
			alert( "回答先区分で郵送を選択してますので、住所を入力してください。" );
			return false;
		}
	}
	else
	if ( strreplay == "2" )
	{
		// 電話
		strtempdata = formdata.itelno.value.replace("　", "");
		strtempdata = strtempdata.replace(" ", "");
		if ( strtempdata == "" )
		//if ( formdata.itelno.value == "" )
		{
			alert( "回答先区分で電話を選択してますので、電話番号を入力してください。" );
			return false;
		}
	}
	else
	if ( strreplay == "3" )
	{
		// メール
		strtempdata = formdata.imailaddr.value.replace("　", "");
		strtempdata = strtempdata.replace(" ", "");
		if ( strtempdata == "" )
		//if ( formdata.imailaddr.value == "" )
		{
			alert( "回答先区分でメールを選択してますので、メールアドレスを入力してください。" );
			return false;
		}
	}
}

// ===================================================================
//	最大長チェック
// ===================================================================
function InputMaxCheck()
{
	var formdata = document.myform;

	// 団体名・氏名
	// ふりがな
	// 住所
	// 郵便番号
	// 電話番号
	// メールアドレス
	// 件名
	// 内容

	if ( underMaxLength( formdata.iname.value, 50 ) == false )
	{
		alert( "団体名・氏名が長すぎます。全角25文字以内で入力してください。" );
		return false;
	}

	if ( underMaxLength( formdata.ihurigana.value, 80 ) == false )
	{
		alert( "ふりがなが長すぎます。全角40文字以内で入力してください。" );
		return false;
	}

	if ( underMaxLength( formdata.izipcd.value, 8 ) == false )
	{
		alert( "郵便番号が長すぎます。半角8文字以内で入力してください。" );
		return false;
	}

	if ( underMaxLength( formdata.itelno.value, 20 ) == false )
	{
		alert( "電話番号が長すぎます。半角20文字以内で入力してください。" );
		return false;
	}

	if ( underMaxLength( formdata.iaddr.value, 100 ) == false )
	{
		alert( "住所が長すぎます。全角50文字以内で入力してください。" );
		return false;
	}

	if ( underMaxLength( formdata.imailaddr.value, 50 ) == false )
	{
		alert( "メールアドレスが長すぎます。半角50文字以内で入力してください。" );
		return false;
	}

	if ( underMaxLength( formdata.ititle.value, 50 ) == false )
	{
		alert( "件名が長すぎます。全角25文字以内で入力してください。" );
		return false;
	}

	if ( underMaxLength( formdata.idemand.value, 2000 ) == false )
	{
		alert( "内容が長すぎます。全角1000文字以内で入力してください。" );
		return false;
	}
	
	return true;
}

function InputAtributeCheck()
{
	var formdata = document.myform;

	// ふりがな
	if ( formdata.ihurigana.value != "" )
	{
		if ( isHiragana( formdata.ihurigana.value ) == false )
		{
			alert( "ふりがなは、ひらがなで入力してください。" );
			return false;
		}
	}

	// 郵便番号
	if ( formdata.izipcd.value != "" )
	{
		if ( isYubinNo( formdata.izipcd.value ) == false )
		{
			alert( "郵便番号として正しくありません。数値と「-」で入力してください。" );
			return false;
		}
	}

	// 電話番号
	if ( formdata.itelno.value != "" )
	{
		if ( isTelNo( formdata.itelno.value ) == false )
		{
			alert( "電話番号として正しくありません。数値と「-」で入力してください。" );
			return false;
		}
	}

	// メールアドレス
	if ( formdata.imailaddr.value != "" )
	{
		if ( isEmail( formdata.imailaddr.value ) == false )
		{
			alert( "メールアドレスとして正しくありません。修正してください。" );
			return false;
		}
	}

	return true;
}

// ===================================================================
//	ひらがなチェック
// ===================================================================
function isHiragana(strValue)
{
	var i, transTarget, char_length;
	var checkStr = new String("ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん?゛゜ゝゞー−・１２３４５６７８９０1234567890");
	var char_length = ("あ".length);

	transTarget = strValue.replace(/[ 　]/g, "");
	if(transTarget.length==0){
		return false;
	}
	for(i=0;i<transTarget.length;i=i+char_length){
		if(checkStr.indexOf(transTarget.charAt(i),0)==-1){
			return false;
		}
	}
	return true;
}

// ===================================================================
//	郵便番号チェック
// ===================================================================
function isYubinNo( strValue )
{
	var data;
	if ( strValue != "" )
	{
		data = strValue.match(/^\d{3}-\d{4}$|^\d{3}-\d{2}$|^\d{3}$/);
		if(!data)
		{
			return false;
		}
	}
	return true;
}

// ===================================================================
//	電話番号チェック
// ===================================================================
function isTelNo( strValue )
{
	var data1;
	var data2;

	if ( strValue != "" )
	{
		data1 = strValue.match(/^[0-9-]{6,9}$|^[0-9-]{12}$/);
		data2 = strValue.match(/^\d{1,4}-\d{4}$|^\d{2,5}-\d{1,4}-\d{4}$/);
		if(!data1 && !data2)
		{
			return false;
		}
	}
	return true;
}

// ===================================================================
//	数値チェック
// ===================================================================
function isNumeric( strValue )
{
	if (isNan(strValue) != false )
	{
		return false;
	}
	return true;
}
// ===================================================================
//	Eメールチェック
// ===================================================================
function isEmail( strValue )
{
	if ( strValue != "" )
	{
		if ( strValue.match(/[!#$%&\(\)=\\|,:;^\[\]\{\}`*?+><]/))
		{
			return false;
		}
		if( !strValue.match(/.*@.*\..*/i))
		{
			return false;
		}
	}
	return true;
}

// ===================================================================
//	最大長チェック
// ===================================================================
function underMaxLength( strValue, intMaxByte )
{
	var count;
	var i;
	var n;
	count = 0;
	for (i=0; i< strValue.length; i++)
	{
		n = escape(strValue.charAt(i));
		if (n.length < 4)
		{
			count++;
		} else {
			count+=2;
		}
	}

	if ( count > intMaxByte )
	{
		return false;
	}
	return true;
}

// -------------------------------
// モーダル用処理
// -------------------------------
function check()
{
	if( w != null ){
		if( w.closed != true )
		{
			w.focus();
		}
	}
}


