﻿//*************************************************************
// エラーチェッカーVer1.68 2006/01/27
//*************************************************************

//*************************************************************
// HyperjamJavaScript
//*************************************************************
    
//-------------------------------------------------------------
// バナーリンク
//-------------------------------------------------------------  
    function banaOpen(url)
    {
//        var wnd = window.open('http://www.8989drive.net/hyperjam/servlet/wakutore.getbnr_countsv?no='+no,'bana1','');
        var wnd = window.open(url,'bana1','');
    }

//-------------------------------------------------------------
// submit を呼び出す
//-------------------------------------------------------------  
var bp_flg = 0;
function bp_doIt(wformname){
    if(bp_flg == 0){    
      bp_flg = -1;
      document.forms[wformname].submit();
      }else
      {
       
      }
}

//-------------------------------------------------------------
//  input要素modeにmodeを代入してポスト
//-------------------------------------------------------------
function bp_submitmode(wformname,mode){
    document.forms[wformname].submitMode.value = mode;
    document.forms[wformname].submit();
}

//-------------------------------------------------------------
// submit を呼び出す
//-------------------------------------------------------------
function bp_link_replace(LinkUrl){
    location.replace(LinkUrl);
}

//-------------------------------------------------------------
// submit を呼び出す
//-------------------------------------------------------------
String.prototype.trim = function() {
    return String(this).replace(/^[ 　]*/gim, "").replace(/[ 　]*$/gim, "");

}
//-------------------------------------------------------------
// 禁止キー制御
//-------------------------------------------------------------
function kdown(e) {
	var msg ="";//フラグメッセージ
	var flg = 1;//禁止解除用フラグ
  //ファイルタグは制御不可
//alert('window.event.srcElement.tagName=['+window.event.srcElement.tagName+'] event.ctrlKey=['+event.ctrlKey+'] event.keyCode=['+event.keyCode+']');
  if (!(window.event.srcElement.tagName == "INPUT" && window.event.srcElement.type == "file")){
	switch(window.event.srcElement.tagName){	//許可範囲
		case "INPUT" :
			if (window.event.srcElement.type == "text" || window.event.srcElement.type == "password"){
				flg = 0;
			}
			break;
		case "TEXTAREA" :flg = 0;break;
	}
	//禁止対象に出会ったらフラグメッセージをセットする。
	if (event.ctrlKey){
		switch(window.event.srcElement.tagName){	//許可範囲
		case "INPUT" :
			if (window.event.srcElement.type == "text" || window.event.srcElement.type == "password"){
				if (event.keyCode == 67 || event.keyCode == 86 || event.keyCode == 88){
				}else{
					msg = "ctl";
					event.keyCode = 0;	//キーコードも消去して返す。
					return false;
				}
			}else{
				msg = "ctl";
				event.keyCode = 0;	//キーコードも消去して返す。
				return false;
			}
			break;
		case "TEXTAREA" :			
				if (event.keyCode == 67 || event.keyCode == 86 || event.keyCode == 88){
				}else{
					msg = "ctl";
					event.keyCode = 0;	//キーコードも消去して返す。
					return false;
				}
			break;
		default:
			msg = "ctl";
			event.keyCode = 0;	//キーコードも消去して返す。
			return false;
		}
	}
	if (event.altKey && event.keyCode == 37){
		return false;
	}
	if (event.altKey && event.keyCode == 39){
		return false;
	}
	switch(event.keyCode){
		case  8 :msg = "BackSpace";break;
		case 18 :msg = "Alt";break;
		case 27 :msg = "Esc";break;
		case 37 :msg = "←";break;
		case 39 :msg = "→";break;
		case 116 :msg = "F5";break;
		case 122 :msg = "F11";break;
	}
	//許可範囲での許可キー
//	if (flg == 0 ) {
		switch(event.keyCode){
		case 8 :msg = "";break;//BackSpace
		case 37 :msg = "";break;//←
		case 39 :msg = "";break;//→
		}
//	}
	//メッセージがセットされていたら禁止対象とする。
	if (msg != "" ) {
		event.keyCode = 0;	//キーコードも消去して返す。
		return false;
	}else{
		return true;
	}
   }
}
//キーダウンイベントハンドラに設定する。
//document.onkeydown = kdown;

//-------------------------------------------------------------
//  イメージ入れ替え
//-------------------------------------------------------------
    function MM_preloadImages() { //v3.0
        var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
        var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
        if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
    }

    function MM_swapImgRestore() { //v3.0
        var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
    }

    function MM_findObj(n, d) { //v4.01
        var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
        d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
        if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
        for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
        if(!x && d.getElementById) x=d.getElementById(n); return x;
    }

    function MM_swapImage() { //v3.0
        var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
        if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
    }

//-------------------------------------------------------------
// 日本語以外であるかをチェックする。　true/false
//-------------------------------------------------------------
function chkNotJp(_str){
  var str = escape(_str);
  if(str.indexOf('%u', 0) == -1){
    return true;
  }
  else{
    return false;
  }
}


function Check_Radio(obj1) {
	if ( !obj1.length ) {
	
	} else {
		for ( lp2=0; lp2<obj1.length; lp2++ ) {
			if (obj1[lp2].checked ) {
				return true;
			}
		}
		alert('【'+obj1[0].title+'】'+'がチェックされていません');
	}
	return false;
}


//-------------------------------------------------------------------
//		エラーチェック
//-------------------------------------------------------------------

// --------------------------------------------------
// [概要]
//		フォーム内の全ての入力項目をチェック
// 
// [引数]
//		prm_Form	- フォーム
//
// [備考]
//		①チェックできるタグは以下の3通り。
//			1.<INPUT>(Typeが text 又は file)
//				必須、様々な入力内容のチェックを行う。
//
//			2.<TEXTAREA>
//				必須、入力文字数のチェックを行う。
//
//			3.<SELCT>
//				一番目以外を選択しているかどうかのチェック。
//
//
//		②タグに設定するIDについて
//			IDについては、7バイトの文字で形成する。詳細は以下の通り。
//
//			1   byte:必須フラグ。Y - 必須、N - Nullあり
//
//			2～3byte:タイプ。詳細は以下を参照。
//
//			4～7byte:<TEXTAREA>のみMaxLengthとして設定する。
//					<INPUT>はMixLengthとして設定し、最小桁を設定できる。
//					<INPUT>でAC,SCを使用時にはMinLengthとする。
//					
//
//			※<SELCT>については1byteだけ設定すればよい。
//			※<TEXTAREA>についてはタイプは「AL」固定とする。
//
//
//		③ID・内容は以下の通り(基本的には<INPUT>のみ対応)
//			AL:なんでもあり
//			AC:英数コードMinLengthを使用しない場合は４－７バイト目は指定しない。その場合MaxLengthのみ自動で見る。何文字以上
//			   何文字以下とする場合は、Minを指定し、Min～Maxの範囲を見る。
//			   ※ AHで処理可能なので、使用しないこと
//			SC:数値コード：上記とほぼ同じ。
//			00:数値のみ
//			0C:数値 +「.」+「-」
//			TL:電話番号
//			ZP:郵便番号(999-9999)
//			ML:メールアドレス(???@???.???)
//			AH:半角英数 + スペース
//			AM:半角英数 +「.」+「-」+「_」+ スペース
//			JZ:全角のみ + スペース
//			KZ:全角カナのみ + スペース
//			KH:半角カナ + スペース
//			D1:日付1(yyyy/mm/dd)
//			D2:日付2(yyyymmdd)
//			D3:日付3(yy/mm/dd)
//			D4:日付4(yymmdd)
//			D5:日付5(mm/dd)
//			D6:日付6(mmdd)
//			T1:時間1(hh24:mi:ss)
//			T2:時間2(hh24:mi)
//
//
//		④タグに設定するその他の情報について
//			・Title
//			・MaxLength(<INPUT>のみ)
//
//		[備考]
//			数値の範囲チェックできるものが必要(100～999等)
//
// --------------------------------------------------
function Form_Check(from_nm , error_div){ // チェック項目設定
//alert('Form_Check 001');	
	var Error_Div = error_div;
	var Error_Msg = '';
	var Elt;
	var msg='';
	var Frm = from_nm;
	var i;
	var ID_1 = '';
	var ID_2 = '';
	var ID_3 = 0;

	for(i=0;i<Frm.length;i++){
		Elt = Frm.elements[i];
//alert('Form_Check 002 Elt=['+Elt+']');	

		ID_1 = '';
		ID_2 = '';
		ID_3 = 0;
		msg = '';
		if(Elt.id.length >= 1)
		{
			ID_1 = Elt.id.substring(0,1);

			if(Elt.id.length >= 3)
			{
				ID_2 = Elt.id.substring(1,3);
				ID_3 = Elt.id.substring(3,Elt.id.length);
			}
		} else {
			// IDが未設定の場合はチェックしない
			continue;
		}
//alert('Form_Check 003 ID_2=['+ID_2+']');	

		// テキスト
		if(Elt.type == 'text' || Elt.type == 'password')
		{
		    if(Elt.maxLength<0){ Elt.maxLength=999999 }
//		alert('Elt.title=['+Elt.title+'] Elt.value=['+Elt.value+'] Elt.maxLength=['+Elt.maxLength+'] ID_1=['+ID_1+'] ID_2=['+ID_2+']');
			// AL:なんでもあり
			if(ID_2 == 'AL')
			{
				msg = chk_Len(Elt.title, Elt.value, 0, Elt.maxLength,ID_1=='N');

			// AC:英数コード ※ AHで処理可能なので、使用しないこと
			}else if(ID_2 == 'AC')
			{
				msg = chk_Code(Elt.title, Elt.value, ID_3, Elt.maxLength,0,ID_1=='N');

			// SC:数値コード
			}else if(ID_2 == 'SC')
			{
				msg =  chk_NumCode(Elt.title, Elt.value, ID_3, Elt.maxLength,ID_1=='N');

			// 00:数値のみ
			}else if(ID_2 == '00')
			{
				msg = chk_Num(Elt.title, Elt.value, 0, ID_1=='N');

			// 0C:数値 +「.」+「-」
			}else if(ID_2 == '0C')
			{
				msg = chk_Num(Elt.title, Elt.value, 1, ID_1=='N');

			// TL:電話番号
			}else if(ID_2 == 'TL')
			{
				msg = chk_Num(Elt.title, Elt.value, 2, ID_1=='N');

			// ZP:郵便番号(999-9999)
			}else if(ID_2 == 'ZP')
			{
				msg = chk_Zip(Elt.title, Elt.value,ID_1=='N');

			// ML:メールアドレス(???@???.???)
			}else if(ID_2 == 'ML')
			{
				msg = chk_EMail(Elt.title, Elt.value,ID_1=='N');

			// AH:半角英数
			}else if(ID_2 == 'AH')
			{
				msg = chk_Code(Elt.title, Elt.value,ID_3,Elt.maxLength,0,ID_1=='N');

			// AM:半角英数 +「.」+「-」+「_」+ スペース
			}else if(ID_2 == 'AM')
			{
				msg = chk_Code(Elt.title, Elt.value,ID_3,Elt.maxLength,1,ID_1=='N');

			// JZ:全角のみ + スペース
			}else if(ID_2 == 'JZ')
			{
				msg = chk_LenMB(Elt.title, Elt.value, 0, Elt.maxLength,ID_1=='N');

			// KZ:全角カナのみ + スペース
			}else if(ID_2 == 'KZ')
			{
				msg = chk_Kataz(Elt.title,Elt.value,ID_1=='N');

			// KH:半角カナ + 英数 + スペース
			}else if(ID_2 == 'KH')
			{					
				msg = chk_Katah(Elt.title,Elt.value,ID_1=='N');

			// D1:日付1(yyyy/mm/dd)
			}else if(ID_2 == 'D1')
			{
				msg = chk_Date(Elt.title,Elt.value,0,ID_1=='N');

			// D2:日付2(yyyymmdd)
			}else if(ID_2 == 'D2')
			{
				msg = chk_Date(Elt.title,Elt.value,3,ID_1=='N');

			// D3:日付3(yy/mm/dd)
			}else if(ID_2 == 'D3')
			{
				msg = chk_Date(Elt.title,Elt.value,1,ID_1=='N');

			// D4:日付4(yymmdd)
			}else if(ID_2 == 'D4')
			{
				msg = chk_Date(Elt.title,Elt.value,4,ID_1=='N');

			// D5:日付5(mm/dd)
			}else if(ID_2 == 'D5')
			{
				msg = chk_Date(Elt.title,Elt.value,2,ID_1=='N');

			// D6:日付6(mmdd)
			}else if(ID_2 == 'D6')
			{
				msg = chk_Date(Elt.title,Elt.value,5,ID_1=='N');

			// D7:日付7(dd)
			}else if(ID_2 == 'D7')
			{
				msg = chk_Date(Elt.title,Elt.value,6,ID_1=='N');

			// T1:時間1(hh24:mi:ss)
			}else if(ID_2 == 'T1')
			{
				msg = chk_Time(Elt.title,Elt.value,0,ID_1=='N');

			// T2:時間2(hh24:mi)
			}else if(ID_2 == 'T2')
			{
				msg = chk_Time(Elt.title,Elt.value,1,ID_1=='N');
			}
		}else if(Elt.type == 'radio')
		{
			if(ID_1 == 'Y')
			{ 
					return(false);
			}
/*
			// 選択された Radio の値を取得
			function Get_CardID (obj1) {
			if ( !document.MyForm.elements[obj1].length ){

			} else {
					for ( lp2=0; lp2<Elt.length; lp2++ ) {
						if ( document.MyForm.elements[obj1][lp2].checked ) {
							return document.MyForm.elements[obj1][lp2].value;
						}
					}
				}
				return 0;
			}
*/

		}else if(Elt.type == 'textarea')
		{
			msg = chk_Len(Elt.title, Elt.value, 0,ID_3,ID_1=='N');
		}else if(Elt.type == 'file')
		{
			msg = chk_Len(Elt.title, Elt.value, 0, Elt.maxLength,ID_1=='N');

			if(Elt.value.length > 1){
				var match = "";
				match	=	Elt.value.match(/.jpg|.jpeg|.png|.gif/i);
//				alert(match);
				if(match == null){
					msg = '【'+Elt.title+'】は画像ファイルを指定して下さい。';
				}
			}


		}
		else if(Elt.type == 'select-one')
		{
			if(ID_1 == 'Y' && Elt.selectedIndex < 1)
			{ 
//				if (Elt.selectedIndex < 1){
					msg ='【'+Elt.title+'】が選択されていません。\n';
//
//				}

			}
		}

		// for
		if(Error_Div == '0' && msg.length > 0)
		{
			Error_Msg += msg+'\n';

		}else if(Error_Div == '1' && msg.length > 0)
		{
			alert(msg);
			return(false);
		}

	}

	// for end
	if(Error_Msg.length > 0)
	{
		alert(Error_Msg);
		return(false);
	}else
	{
		return(true);
	}
}


//-------------------------------------------------------------------
// ★☆★☆ 文字列のチェック関数郡 ★☆★☆
//
// [戻り値] ※全関数共通
//		文字列の長さが0     - 問題なし
//		文字列の長さが1以上 - 文字列がおかしい
//
//	関数一覧
//		①未入力文字をチェック
//		②未入力文字をチェック[①とはメッセージが違うVer.]
//		③不正文字をチェック
//		④文字列の長さをチェック
//		⑤文字列の全て全角かをチェック
//		⑥文字列が全て全角カナかをチェック
//		⑦文字列が全て半角カナかをチェック
//		⑧文字列が数値かをチェック
//		⑨文字列が決められた長さの数値かをチェック
//		⑩文字列が決められた長さの半角英数字かをチェック
//		⑪郵便番号の書式かチェック
//		⑫文字列がE-Mailアドレスとして正しいかをチェック
//		⑬日付かどうかをチェック
//		⑭時間かどうかをチェック
//
//	※①と③は単独で呼ぶ必要はない。
//


// --------------------------------------------------
// [概要]
//		①未入力文字をチェック
// 
// [引数]
//		prm_Title	- 項目名
//		prm_Str		- チェックする文字列
//
// [備考]
//		
// --------------------------------------------------
function chk_Null(prm_Title, prm_Str) {
var msg1='';

	if ( prm_Str == "" )
		msg1 = "【" + prm_Title + "】は必須項目です。"+'\n';

	return msg1;
}


// --------------------------------------------------
// [概要]
//		②未入力文字をチェック[①とはメッセージが違うVer.]
// 
// [引数]
//		prm_Title	- 項目名
//		prm_Str		- チェックする文字列
//
// [備考]
//		
// --------------------------------------------------
function chk_Nulls(prm_Title, prm_Str) {

var msg1='';

	if ( prm_Str == "" ) {
		msg1 = prm_Title + "のいずれかを必ず入力してください。"+'\n';
		return msg1;
	}
	return msg1;
}


// --------------------------------------------------
// [概要]
//		③不正文字をチェック
// 
// [引数]
//		prm_Title	- 項目名
//		prm_Str		- チェックする文字列
//
// [備考]
//		不正文字は「*」「'」「"」「%」「％」「－」
// --------------------------------------------------
function chk_NGCode(prm_Title, prm_Str) {

var msg1='';
var data='';

	// 不正文字のチェック
	data = prm_Str.match(/[*\'%％]/);
	if ( data )
		msg1 = "【" + prm_Title + "】に不正文字[*\'%％]が入力されています。"+'\n';

	return msg1;
}


// --------------------------------------------------
// [概要]
//		④文字列の長さをチェック
// 
// [引数]
//		prm_Title	- 項目名
//		prm_Str		- チェックする文字列
//		prm_MinLen	- 必要な最少長さ
//		prm_MaxLen	- 必要な最大長さ
//		prm_Null	- True = Null 可能、False = Null 不可
//
// [備考]
//		全角は2byte、半角は1byte
// --------------------------------------------------
function chk_Len(prm_Title, prm_Str, prm_MinLen, prm_MaxLen, prm_Null) {

var msg1='';
var cnt1, lp, len1, cd;

	// 未入力チェック
	if ( !prm_Null ) {
		msg1 = chk_Null(prm_Title, prm_Str);
		if(msg1 != '') return msg1;
	}

	// 不正文字のチェック
	msg1 = chk_NGCode(prm_Title, prm_Str);

	// 文字数のチェック
	cnt1 = 0;
	len1 = prm_Str.length;
	for (lp = 0; lp < len1; lp++) {
		cd = prm_Str.charCodeAt(lp);
		if ( cd < 256 )
			cnt1++;
		else if ( (cd > 65375) && (cd < 65440) )
			cnt1++;
		else
			cnt1 += 2;
	}

	if ( cnt1 < prm_MinLen || cnt1 > prm_MaxLen ) {
		msg1 = "【" + prm_Title + "】の入力を確認してください(全角で";
		if ( prm_MinLen > 0 ) msg1 += prm_MinLen + "から";
		msg1 += parseInt(prm_MaxLen / 2) + "文字まで)"+'\n';
		return msg1;
	}

	return "";
}


// --------------------------------------------------
// [概要]
//		⑤文字列の全て全角かをチェック
// 
// [引数]
//		prm_Title	- 項目名
//		prm_Str		- チェックする文字列
//		prm_MaxLen	- 必要な最大長さ
//		prm_Kind	- チェックする種類
//						0:スペース可
//						1:スペース不可
//		prm_Null	- True = Null 可能、False = Null 不可
//
// [備考]
//		スペースを許可した場合を踏まえて、文字長さのチェックも行う
// --------------------------------------------------
function chk_LenMB(prm_Title, prm_Str, prm_MaxLen, prm_Kind, prm_Null) {

var cnt1='', lp='', len1='', cd='';
var msg1='';
var MBErr = false;

	// 未入力チェック
	if ( !prm_Null ) {
		msg1 = chk_Null(prm_Title, prm_Str);
		if(msg1 != '') return msg1;
	}

	// 不正文字のチェック
	msg1 = chk_NGCode(prm_Title, prm_Str);

	// 文字数のチェック
	cnt1 = 0;
	len1 = prm_Str.length;
	for (lp = 0; lp < len1; lp++) {
		cd = prm_Str.charCodeAt(lp);

		if ( prm_Kind == 0 && cd == 32 ) {
			// スペースは条件によってOKとする
			cnt1++;
		} else if ( cd < 256 ) {
			MBErr = true;
			break;
		} else if ( (cd > 65375) && (cd < 65440) ) {
			MBErr = true;
			break;
		} else
			cnt1 += 2;
	}

	if ( MBErr ) {
		msg1 = "【" + prm_Title + "】は全て全角で入力してください。"+'\n';
		return msg1;
	}

	if ( cnt1 > prm_MaxLen ) {
		msg1 = "【" + prm_Title + "】の入力を確認してください(全角で";
		msg1 += parseInt(prm_MaxLen / 2) + "文字まで)"+'\n';
		return msg1;
	}

	return "";
}


// --------------------------------------------------
// [概要]
//		⑥文字列が全て全角カナかをチェック
// 
// [引数]
//		prm_Title	- 項目名
//		prm_Str		- チェックする文字列
//		prm_MaxLen	- 必要な最大長さ
//		prm_Null	- True = Null 可能、False = Null 不可
//
// [備考]
//		「・」「　(全角スペース)」「－」「 (半角スペース)」も許可する
// --------------------------------------------------
function chk_Kataz(prm_Title, prm_Str, prm_Null) {

var msg1='';
var data;

	// 未入力チェック
	if ( !prm_Null ) {
		msg1 = chk_Null(prm_Title, prm_Str);
		if(msg1 != '') return msg1;
	}

	// 全角カナ以外が含まれていないかチェック
	data = prm_Str.match(/[^ア-ン,"ー","ヴ","ッ","ァ","ィ","ゥ","ェ","ォ","ャ","ュ","ョ","ヮ","ヰ","ヱ","・","　","－","･"," ",-]/);
	if ( data ) {
		msg1 = "【" + prm_Title + "】は全て全角カナで入力してください。"+'\n';
		
		return msg1;
	}

	return "";
}


// --------------------------------------------------
// [概要]
//		⑦文字列が全て半角カナかをチェック
// 
// [引数]
//		prm_Title	- 項目名
//		prm_Str		- チェックする文字列
//		prm_Null	- True = Null 可能、False = Null 不可
//
// [備考]
//		「･」「-」「 (半角スペース)」も許可する
// --------------------------------------------------
function chk_Katah(prm_Title, prm_Str, prm_Null) {
var msg1='';
var data;

	// 未入力チェック
	if ( !prm_Null ) {
		msg1 = chk_Null(prm_Title, prm_Str);
		if(msg1 != '') return msg1;
	}

	// 全角カナ以外が含まれていないかチェック
	data = prm_Str.match(/[^ｱ-ﾝ,"ｰ","ｳ","ｯ","ｧ","ｨ","ｩ","ｪ","ｫ","ｬ","ｭ","ｮ","ﾞ","･"," ","-]/);
	if ( data ) {
		msg1 = "【" + prm_Title + "】は全て半角カナで入力してください。"+'\n';
		return msg1;
	}

	return "";
}


// --------------------------------------------------
// [概要]
//		⑧文字列が数値かをチェック
// 
// [引数]
//		prm_Title	- 項目名
//		prm_Str		- チェックする文字列
//		prm_Kind	- 0:数値のみ
//					  1:数値、ハイフン、ピリオド
//					  2:数値、ハイフン
//		prm_Null	- True = Null 可能、False = Null 不可
//
// [備考]
//		
// --------------------------------------------------
function chk_Num(prm_Title, prm_Str, prm_Kind, prm_Null) {

var data;
var msg1='';
var msg2="";

	// 未入力チェック
	if ( !prm_Null ) {
		msg1 = chk_Null(prm_Title, prm_Str);
		if(msg1 != '') return msg1;
	}

	// Null可能で、Nullの場合は処理抜け
	if (prm_Str == "") return "";

	// 数値以外が含まれていないかチェック
	switch ( prm_Kind ) {
	case 0:
		data = prm_Str.match(/[^0-9]/);
		break;
	case 1:
		data = prm_Str.match(/[^0-9-.]/);
		msg2 = "、ハイフン、ピリオド";
		break;
	case 2:
		data = prm_Str.match(/[^0-9-]/);
		msg2 = "、ハイフン";
		break;
	default:
		return "";
	}

	if ( data || ( prm_Kind==1 && isNaN(prm_Str) ) ) {
		msg1 = "【" + prm_Title + "】は全て数字(半角)" + msg2 + "で入力してください。"+'\n';
		return msg1;
	}

	return "";
}


// --------------------------------------------------
// [概要]
//		⑨文字列が決められた長さの数値かをチェック
// 
// [引数]
//		prm_Title	- 項目名
//		prm_Str		- チェックする文字列
//		prm_MinLen	- 必要な最少長さ
//		prm_MaxLen	- 必要な最大長さ
//		prm_Null	- True = Null 可能、False = Null 不可
//
// [備考]
//		
// --------------------------------------------------
function chk_NumCode(prm_Title, prm_Str, prm_MinLen, prm_MaxLen, prm_Null) {

var msg1='';
var cnt1, data;

	// 未入力チェック
	if ( !prm_Null ) {
		msg1 = chk_Null(prm_Title, prm_Str);
		if(msg1 != '')
		return msg1;

	}

	// 数値以外が含まれていないかチェック
	data = prm_Str.match(/[^0-9]/);
	if ( data ) {
		msg1 = "【" + prm_Title + "】は全て数字(半角)で入力してください。"+'\n';
		return msg1;
	}
	
	// 長さをチェック
	if(prm_Str.length > 0 ){
		cnt1 = prm_Str.length;
		if ( !(prm_MinLen <= cnt1 && cnt1 == prm_MaxLen) ) {
			msg1 = "【" + prm_Title + "】の入力を確認してください(";
			if ( prm_MinLen!=prm_MaxLen && prm_MinLen!=0 ) msg1 += prm_MinLen + "桁から";
			msg1 += prm_MaxLen + "桁";
			if ( prm_MinLen!=prm_MaxLen ) msg1 += "まで";
			msg1 += ")"+'\n';
			return msg1;
		}
	}

	return "";
}


// --------------------------------------------------
// [概要]
//		⑩文字列が決められた長さの半角英数字かをチェック
// 
// [引数]
//		prm_Title	- 項目名
//		prm_Str		- チェックする文字列
//		prm_MinLen	- 必要な最少長さ
//		prm_MaxLen	- 必要な最大長さ
//		prm_Kind	- チェックする種類
//						0:半角英数のみ
//						1:「.-_ 」も可
//		prm_Null	- True = Null 可能、False = Null 不可
//
// [備考]
//		
// --------------------------------------------------
function chk_Code(prm_Title, prm_Str, prm_MinLen, prm_MaxLen, prm_Kind, prm_Null) {

var msg1='';
var cnt1, data;

	// 未入力チェック
	if ( !prm_Null ) {
		msg1 = chk_Null(prm_Title, prm_Str);
		if(msg1 != '') return msg1;
	}

	// 半角英数字以外が含まれていないかチェック
	if ( prm_Kind == 1 )
		data = prm_Str.match(/[^0-9a-zA-Z-_. ]/);
	else
		data = prm_Str.match(/[^0-9a-zA-Z]/);

	if ( data ) {
		msg1 = "【" + prm_Title + "】は全て半角英数字で入力してください。"+'\n';
		return msg1;
	}

	// 長さをチェック
	cnt1 = prm_Str.length;
	if ( cnt1 < prm_MinLen || cnt1 > prm_MaxLen ) {
		msg1 = "【" + prm_Title + "】の入力を確認してください(";
		if ( prm_MinLen!=prm_MaxLen && prm_MinLen!=0 ) msg1 += prm_MinLen + "桁から";
		msg1 += prm_MaxLen + "桁";
		if ( prm_MinLen!=prm_MaxLen ) msg1 += "まで";
		msg1 += ")"+'\n';
		return msg1;
	}

	return "";
}


// --------------------------------------------------
// [概要]
//		⑪郵便番号の書式かチェック
// 
// [引数]
//		prm_Title	- 項目名
//		prm_Str		- チェックする文字列
//		prm_Null	- True = Null 可能、False = Null 不可
//
// [備考]
//		
// --------------------------------------------------
function chk_Zip(prm_Title, prm_Str,prm_Null) {

var msg1='';
var data;

	// 未入力チェック
	if ( !prm_Null ) {
		msg1 = chk_Null(prm_Title, prm_Str);
		if(msg1 != '') return msg1;
	}

	// Null可能で、Nullの場合は処理抜け
	if (prm_Str == "") return "";

	// 数値以外が含まれていないかチェック
	data = prm_Str.match(/^\d{3}-\d{4}$/);
	if ( !data ) {
		msg1 = "【" + prm_Title + "】は全て数字ハイフン含む(半角8桁)で入力してください。例【999-9999】"+'\n';
		return msg1;
	}

	return "";
}


// --------------------------------------------------
// [概要]
//		⑫文字列がE-Mailアドレスとして正しいかをチェック
// 
// [引数]
//		prm_Title	- 項目名
//		prm_Str		- チェックする文字列
//		prm_Null	- True = Null 可能、False = Null 不可
//
// [備考]
//		???@???.???の形式
// --------------------------------------------------
function chk_EMail(prm_Title, prm_Str, prm_Null) {

var msg1='';
var data1='';
var data2='';

	// 未入力チェック
	if ( !prm_Null ) {
		msg1 = chk_Null(prm_Title, prm_Str);
		if(msg1 != '') return msg1;
	}

	// Null可能で、Nullの場合は処理抜け
	if (prm_Str == "") return msg1;

	// メールアドレスと認識できるかをチェック
	data1 = prm_Str.match(/^[^@]+\@[^.]+\..+$/);
	data2 = prm_Str.match(/[^0-9a-zA-Z-_.@]/);
	// data1 = prm_Str.match(/^[0-9a-zA-Z-_.]+@+[0-9a-zA-Z-_.]+.+[0-9a-zA-Z.]$/);
	// if(data1 != prm_Str || data2 != null){
	if( !data1 || data2 ) {
		msg1 = "【" + prm_Title + "】は適正ではありません。"+'\n';
		return msg1;
	}

    return "";
}


// --------------------------------------------------
// [概要]
//		⑬日付かどうかをチェック
// 
// [引数]
//		prm_Title	- 項目名
//		prm_Str		- チェックする文字列
//		prm_Kind	- チェックする種類
//						0:年月日A: ex.2005/10/14
//						1:年月日B: ex.05/10/14
//						2:月日A  : ex.10/14
//						3:年月日C: ex.20051014
//						4:年月日D: ex.051014
//						5:月日B  : ex.1014
//						6:日     : ex.14
//		prm_Null	- True = Null 可能、False = Null 不可
//
// [備考]
//		
// --------------------------------------------------
function chk_Date(prm_Title,prm_Str, prm_Kind, prm_Null) {

var year=0;
var month=0;
var day=0;
var date0;
var msg1="";
var msg2="";

	// 未入力チェック
	if ( !prm_Null ) {
		msg1 = chk_Null(prm_Title, prm_Str);
		if(msg1 != '') return msg1;
	}

	// Null可能で、Nullの場合は処理抜け
	if (prm_Str == "") return "";

	switch ( prm_Kind ) {
	case 0: // 年月日A: ex.2005/10/14
		if ( prm_Str.match(/^(\d{4})\/(\d{2})\/(\d{2})$/) ) {
		    year  = RegExp.$1;
	    	month = RegExp.$2;
		    day   = RegExp.$3;
		} else {
			msg2 = "例「2005/10/14」";
		}
		break;
	case 1: // 年月日B: ex.05/10/14
		if ( prm_Str.match(/^(\d{2})\/(\d{2})\/(\d{2})$/) ) {
		    year  = parseInt(RegExp.$1) + 2000;
	    	month = RegExp.$2;
		    day   = RegExp.$3;
		} else {
			msg2 = "例「05/10/14」";
		}
		break;
	case 2: // 月日A: ex.10/14
		if ( prm_Str.match(/^(\d{2})\/(\d{2})$/) ) {
		    year  = 2000;
	    	month = RegExp.$1;
		    day   = RegExp.$2;
		} else {
			msg2 = "例「10/14」";
		}
		break;
	case 3: // 年月日C: ex.20051014
		if ( prm_Str.match(/^(\d{4})(\d{2})(\d{2})$/) ) {
		    year  = RegExp.$1;
	    	month = RegExp.$2;
		    day   = RegExp.$3;
		} else {
			msg2 = "例「20051014」";
		}
		break;
	case 4: // 年月日D: ex.051014
		if ( prm_Str.match(/^(\d{2})(\d{2})(\d{2})$/) ) {
		    year  = parseInt(RegExp.$1) + 2000;
	    	month = RegExp.$2;
		    day   = RegExp.$3;
		} else {
			msg2 = "例「051014」";
		}
		break;
	case 5: // 月日B: ex.1014
		if ( prm_Str.match(/^(\d{2})(\d{2})$/) ) {
		    year  = 2000;
	    	month = RegExp.$1;
		    day   = RegExp.$2;
		} else {
			msg2 = "例「1014」";
		}
		break;
	case 6: // 日: ex.14
		if ( prm_Str>=1 && prm_Str <= 31 )
			return "";
		else
			msg1 = "【" + prm_Title + "】は正しい日付ではありません。\n";
			return msg1;
	default:
		return "";
	}

	if ( msg2 != "" ) {
		msg1 = "【" + prm_Title + "】は日付の書式が正しくありません。"+msg2+"\n";
		return msg1;
	}

	// 正規表現の結果で日付を作成
	date0 = new Date(year, month-1, day);
	if ( (date0.getMonth() != month-1) || (year < 1900) ) {
		msg1 = "【" + prm_Title + "】は正しい日付ではありません。\n";
		return msg1;
	}

	return "";
}


// --------------------------------------------------
// [概要]
//		⑭時間かどうかをチェック
// 
// [引数]
//		prm_Title	- 項目名
//		prm_Year	- チェックする年
//		prm_Month	- チェックする月
//		prm_Day		- チェックする日
//
// [備考]
//		
// --------------------------------------------------
function chk_Time(prm_Title, prm_Str, prm_Kind, prm_Null) {

var h;
var m;
var s;
var msg1='';
var msg2='';

	// 未入力チェック
	if ( !prm_Null ) {
		msg1 = chk_Null(prm_Title, prm_Str);
		if(msg1 != '') return msg1;
	}

	// Null可能で、Nullの場合は処理抜け
	if (prm_Str == "") return "";

	if ( prm_Kind==1 ) { // 時分のフォーマット
		msg2 = "例「23:01」";
		if ( prm_Str.match(/^(\d{2}):(\d{2})$/) ) {
			h = RegExp.$1;
			m = RegExp.$2;
			s = 0;
		} else {
			msg1 = "【" + prm_Title + "】の入力を確認してください。" + msg2;
			return msg1;
		}
	} else { // 時分秒のフォーマット
		msg2 = "例「23:59:01」";
		if ( prm_Str.match(/^(\d{2}):(\d{2}):(\d{2})$/) ) {
			h = RegExp.$1;
			m = RegExp.$2;
			s = RegExp.$3;
		} else {
			msg1 = "【" + prm_Title + "】の入力を確認してください。" + msg2;
			return msg1;
		}
	}

	if (h  >= 24 || m >= 59 || s >= 59) {
		msg1 = "【" + prm_Title + "】は正しい時間ではありません。"+msg2+'\n';
		return msg1;
	}

    return "";
}

//-------------------------------------------------------------
// URLページカウンター
//-------------------------------------------------------------
function count_loadData(id , nextUrl)
{
  //alert('loadData');
      if(typeof window.XMLHttpRequest == "undefined" || 
            typeof window.XMLHttpRequest == "object")
      {
            try{
                  xhObj = new ActiveXObject("Msxml2.XMLHTTP");
            }catch(e){

                  try{
                        xhObj = new ActiveXObject("Microsoft.XMLHTTP");
                  }catch(e){}
            }

            xhObj.onreadystatechange = count_displayData;
      }
      else
      {
            xhObj = new XMLHttpRequest();
            xhObj.onload = count_displayData;
      }

      xhObj.open("GET","/hyperjam/servlet/fjp.countsv?u="+id+"&NX="+nextUrl,true);
      xhObj.send(null);
}

function count_displayData()
{
//        if ((xhObj.readyState == 4) && (xhObj.status == 200))
//        {
//              document.getElementById("display").innerHTML = xhObj.responseText;
//        }
}


//-------------------------------------------------------------
// head部分をインクルードする
//-------------------------------------------------------------
function include(filename, afterfunc) {
    if(window.opera){                 //Operaの場合
      include.seq = (include.seq)? include.seq + 1: 1;
      var id = new Date().getTime() + "-" + include.seq;
      var s = "<iframe src='" + filename + "' name='" + id + "' width='100%' scrolling='Auto' frameborder='0' id='" + id + "'> インターネットエクスプローラー3.0以上、ネットスケープ6.0以上のブラウザでご覧下さい。</iframe>";
//      document.write(s);
      if(filename != 'inc_footer.html')
      {
          document.write("このブラウザ（Opera）ではこのコンテンツを使用することができませんので、Internet Explorer をご利用ください。");
      }
    }
    else
    {
    
      include.seq = (include.seq)? include.seq + 1: 1;
    
      var id = new Date().getTime() + "-" + include.seq;
      var inc = document.createElement("iframe");
    
      inc.id = "inc-" + id;
      inc.src = filename;
      inc.style.display = "none";
      document.write("<span id=\"" + id + "\"></span>");
        
      var incfunc = function() {
        
        var s = (function() {
          var suffix = (n = filename.lastIndexOf(".")) >= 0 ? filename.substring(n): "default";
          if (suffix == ".html")       return inc.contentWindow.document.body.innerHTML;
          if (suffix == ".txt")        return inc.contentWindow.document.body.firstChild.innerHTML;
          if (suffix.substring(0,4) == ".inc") return inc.contentWindow.document.body.innerHTML;
          if (suffix == "default")     return inc.contentWindow.document.body.innerHTML;
        })();
    
        var span = document.getElementById(id);
    
        var insertBeforeHTML = function(htmlStr, refNode) {
          if (document.createRange) {
            var range = document.createRange();
            range.setStartBefore(refNode);
            refNode.parentNode.insertBefore(range.createContextualFragment(htmlStr), refNode);
          } else {
            refNode.insertAdjacentHTML('BeforeBegin', htmlStr);
          }
        };
    
        insertBeforeHTML(s.split("&gt;").join(">").split("&lt;").join("<"), span);
        document.body.removeChild(inc);
        span.parentNode.removeChild(span);
        if (afterfunc) afterfunc();
      };
    
      if (window.attachEvent) {
        window.attachEvent('onload', 
          function() {
            document.body.appendChild(inc); 
            inc.onreadystatechange = function() { if (this.readyState == "complete") incfunc(); };
          });
      }
      else {
        document.body.appendChild(inc);
        inc.onload = incfunc;
      }
    }
}

//-->
