#!/usr/bin/perl
#print "Content-type: text/html;\n\n";print "<br>"; 

use utf8;

chdir('../cgi_system/admin/');

if(Windows_check()) {
	chdir(GetScriptPath($0));
}

sub Windows_check
{
	# IIS,PWS(NT/95)対策
	$www_server_os = $^O;
	# Win98 & NT(SP4)対策
	if($www_server_os eq "") {
		$www_server_os= $ENV{'OS'};
	}
	# AnHTTPd/Omni/IIS 対策
	if($ENV{'SERVER_SOFTWARE'} =~ /AnWeb|Omni|IIS\//i) {
		$www_server_os= 'win';
	}
	# Win Apache 対策
	if($ENV{'WINDIR'} ne "") {
		$www_server_os= 'win';
	}
	if($www_server_os=~ /win/i) {
		return(1);
	}
	return(0);
}

sub GetScriptPath {
	local($path) = @_;
	if($path =~ /[\:\/\\]/){
		$path =~ s/(.*?)[\/\\][^\/\\]+$/$1/;
	} else {
		$path = '.';
	}
	$path;
}




#	入力画面でのエラー表示。
$ERROR_DISPMODE = 1;

#=============================================================================
# ツリー
#
#	----+--[common]
#		|	jcode.pl
#		|	lib.pl
#		|	record.pl
#		|
#		+--[sessions]
#		|
#		+--[data]
#		|
#		+--[files]
#		+--[sys_image]
#		+--[item_image]
#		+--[item_image]
#		|
#		+--[newsreg]--[html_templates]
#						newsreg.cgi
#		+--[新しく作るcgi]
#=============================================================================

%File_NameList = (
	"errormsg"		=> "",												# □
	"nonname"		=> "",												# □
	);


#
# テンプレートファイルマトリクス
#
#	 mode 					テンプレートファイル
%temp_file = (
	"form01"				=> "../../school_templates/form01_add1.html",			# 
	"form01_add2"			=> "../../school_templates/form01_add2.html",			# 
	"form01_add3"			=> "../../school_templates/form01_add3.html",			# 

	"form02"				=> "../../school_templates/form02_add1.html",			# 
	"form02_add2"			=> "../../school_templates/form02_add2.html",			# 
	"form02_add3"			=> "../../school_templates/form02_add3.html",			# 

	"form03"				=> "../../school_templates/form03_add1.html",			# 
	"form03_add2"			=> "../../school_templates/form03_add2.html",			# 
	"form03_add3"			=> "../../school_templates/form03_add3.html",			# 
);

%MODE = (
#	モード名				関数名				関数日本語			管理者区別(1:管理者 0:一般)	次モード
	"form01"				=> [\&form01_add1			,'スクールプラン継続利用お申し込み（保護者様用'				,0						,'form02_add1'			],	#
	"form01_add2"			=> [\&form01_add2			,'スクールプラン継続利用お申し込み（保護者様用'				,0						,'form02_add1'			],	#
	"form01_add3"			=> [\&form01_add3			,'スクールプラン継続利用お申し込み（保護者様用'				,0						,'form02_add2'			],	#

	"form02"				=> [\&form02_add1			,'スクールプラン新規お申し込み・お問い合わせ（学校関係者様用）'				,0						,'form02_add1'			],	#
	"form02_add2"			=> [\&form02_add2			,'スクールプラン新規お申し込み・お問い合わせ（学校関係者様用）'				,0						,'form02_add1'			],	#
	"form02_add3"			=> [\&form02_add3			,'スクールプラン新規お申し込み・お問い合わせ（学校関係者様用）'				,0						,'form02_add2'			],	#

	"form03"				=> [\&form03_add1			,'お問い合わせフォーム'				,0						,'form03_add1'			],	#
	"form03_add2"			=> [\&form03_add2			,'お問い合わせフォーム'				,0						,'form03_add1'			],	#
	"form03_add3"			=> [\&form03_add3			,'お問い合わせフォーム'				,0						,'form03_add2'			],	#
);


#=============================================================================
#
#=============================================================================

$TEMPHTML_OUT			= 1;					# 1:データ置き換えモード	0:テンプレート吐き出しモード   [[--]]を生出力
# チェック方式
#	tel,handyphone,fax,zip,ascii,kana,hira,minus,strnumeric,numeric,float,comma,alphanumeric,email,url,date,time,upfile,length,range,
#	指定無しでなし
#	複数は<>区切り
# 入力文字数最小
#	チェック方式のlength指定のとき有効
# 入力文字数最大
#	チェック方式のlength指定のとき有効
# 未記入
#	0;未記入可能　1:未記入不可
# 変換方式
#	||区切りでパラメータ
#	zip||郵便番号3名||郵便番号4名||郵便番号3-郵便番号4名		郵便番号3,郵便番号4から郵便番号3-郵便番号4の相互変換
#	date||年名||月名||日名||年/月/日名							年,月,日から年/月/日の相互変換
#	tel||tel1名||tel2名||tel3名||tel1-tel2-tel3名				tel1,tel2,tel3からtel1-tel2-tel3の相互変換
#	time||時名||分名||時:分名									時,分から時:分の相互変換
#	br-lf	<BR>からＬＦの相互変換
#	lfdel	改行コード削除
#	tabdel	タブコード削除
#	xss		xss対策html<>&"'を無効化	xssは順番で xss<>br-lfで順番で記述してください反対になると<BR>まで変換されます
#	z2h		全角英数字を半角に
#	h2z		半角を全角英数字に
#	kz2h	全角カナを半角に
#	kh2z	半角カナを全角に
#	指定無しでなし
#	複数は<>区切り
# htmlタイプ(オプション定義しておいてＨＴＭＬ生成に通すと雛形を作るために・・)
# 	text
# 	radio
# 	checkbox
# 	select
# 	textarea
#	||区切りでhtmlパラメータ
#		text||20||30														入力幅||最大入力値
#		radio||表示名1\t値1||表示名2\t値2										選択1\t値||選択2\t値
#		checkbox||表示名1\t値1||表示名2\t値2									選択1\t値||選択2\t値
# 		textarea||4||30															縦幅||入力幅
# 		select1||指定なし||../data/file.txt||hensu1||hensu2||xxx_RECORD			指定なしのときの表記||ファイル名||表示名を定義している変数名 $なし||値を定義している変数名 $なし||値を定義している構造体名 @なし
# 		radio1||指定なし||../data/file.txt||hensu1||hensu2||xxx_RECORD			指定なしのときの表記||ファイル名||表示名を定義している変数名 $なし||値を定義している変数名 $なし||値を定義している構造体名 @なし
# 		checkbox1||指定なし||../data/file.txt||hensu1||hensu2||xxx_RECORD		指定なしのときの表記||ファイル名||表示名を定義している変数名 $なし||値を定義している変数名 $なし||値を定義している構造体名 @なし
# 		select2||指定なし||array変数名											指定なしのときの表記||選択リストの配列変数名　$なし　"表示名\t値"で定義
# 生成しない
#	フォーマット "000000"
#				  ||||||
#				  ++++++---
# 							前から1番目：新規入力		0:生成する 1:しない 2:修正入力時確認表示
# 							前から2番目：新規確認表示	
# 							前から3番目：修正入力		
# 							前から4番目：修正確認表示	
# 							前から5番目：削除確認表示	
# 							前から6番目：確認表示		
# JavaScriptチェック
#	1でJavaScript補助入力を行う	0:でしない

#####2006
# 横並で項目表示
#	1で項目を横並びで出力する
# ｺﾒﾝﾄ制御
#	生成しないフォーマットと同じ	0でコメント出力		1でコメント出力しない
# 前ｺﾒﾝﾄ
#	入力エリアの前にｺﾒﾝﾄを出す
# 後ｺﾒﾝﾄ
#	入力エリアの後にｺﾒﾝﾄを出す

#\―ソЫⅨ噂浬欺圭構蚕十申曾箪貼能表暴予禄兔喀媾彌拿杤歃濬畚秉綵臀藹觸軆鐔饅鷭偆砡
#↑の文字を使う場合 \を頭に入れてください

#
#	スクールプラン申し込みマスタ
#
%MAIN01_REQUIRED = (
#   input name=						入力順位		日本語名				未記入		横並	ｺﾒﾝﾄ制御	前ｺﾒﾝﾄ		後ｺﾒﾝﾄ
	"form01_id"						,["10"			,"ID"					,"0"		,""		,""			,""			,""		],	#	ID
	"form01_adddate"				,["20"			,"追加日付"				,"0"		,""		,""			,""			,""		],	#	追加日付
	"form01_moddate"				,["30"			,"更新日付"				,"0"		,""		,""			,""			,""		],	#	更新日付
	"form01_valid"					,["40"			,"有効"					,"0"		,""		,""			,""			,""		],	#	有効
	"form01_name_sei"				,["50"			,"ご契約者様氏名(保護者様名)"		,"1"		," "	,""			,""			,""		],	#	氏名
	"form01_name_mei"				,["60"			,"ご契約者様氏名"		,"1"		,""		,""			,""			,""		],	#	氏名
	"form01_name_sei_phonetic"		,["70"			,"フリガナ"				,"1"		," "	,""			,""			,""		],	#	フリガナ
	"form01_name_mei_phonetic"		,["80"			,"フリガナ"				,"1"		,""		,""			,""			,""		],	#	フリガナ
	"form01_name_sub_sei"			,["90"			,"お子様の情報"			,"1"		," "	,""			,""			,""		],	#	氏名
	"form01_name_sub_mei"			,["100"			,"お子様の情報"			,"1"		,""		,""			,""			,""		],	#	氏名
	"form01_name_sub_sei_phonetic"	,["110"			,"フリガナ"				,"1"		," "	,""			,""			,""		],	#	フリガナ
	"form01_name_sub_mei_phonetic"	,["120"			,"フリガナ"				,"1"		,""		,""			,""			,""		],	#	フリガナ
	"form01_schoolname"				,["130"			,"学校名"				,"1"		,""		,""			,""			,""		],	#	氏名
	"form01_schoolclass"			,["140"			,"クラス"				,"1"		,""		,""			,""			,""		],	#	氏名
	"form01_post"					,["150"			,"郵便番号"				,"1"		,""		,""			,""			,""		],	#	郵便番号
	"form01_prefecture"				,["160"			,"都道府県"				,"1"		,""		,""			,""			,""		],	#	都道府県
	"form01_address1"				,["170"			,"住所1"				,"1"		,""		,""			,""			,""		],	#	住所1
	"form01_address2"				,["180"			,"住所2"				,"1"		,""		,""			,""			,""		],	#	住所2
	"form01_tel"					,["190"			,"電話番号"				,"1"		,""		,""			,""			,""		],	#	電話番号
	"form01_handyphone"				,["210"			,"携帯電話番号"			,"1"		,""		,""			,""			,""		],	#	電話番号
	"form01_mail"					,["220"			,"Eメールアドレス"		,"1"		,""		,""			,""			,""		],	#	Eメールアドレス
	"form01_mail_check"				,["230"			,"Eメールアドレス"		,"1"		,""		,""			,""			,""		],	#	Eメールアドレス
	"form01_course_1_1"				,["240"			,"コース"				,"0"		,""		,""			,""			,""		],	#	コース
	"form01_course_1_2"				,["240"			,"コース"				,"0"		,""		,""			,""			,""		],	#	コース
	"form01_course_2_1"				,["250"			,"コース"				,"0"		,""		,""			,""			,""		],	#	コース
	"form01_course_2_2"				,["250"			,"コース"				,"0"		,""		,""			,""			,""		],	#	コース
	"form01_course_3_1"				,["260"			,"コース"				,"0"		,""		,""			,""			,""		],	#	コース
	"form01_course_3_2"				,["260"			,"コース"				,"0"		,""		,""			,""			,""		],	#	コース
	"form01_san_orange"				,["270"			,"SANタグ"				,"0"		,""		,""			,""			,""		],	#	SANタグ
	"form01_san_yellow"				,["280"			,"SANタグ"				,"0"		,""		,""			,""			,""		],	#	SANタグ
	"form01_san_white"				,["290"			,"SANタグ"				,"0"		,""		,""			,""			,""		],	#	SANタグ
	"form01_san_purple"				,["310"			,"SANタグ"				,"0"		,""		,""			,""			,""		],	#	SANタグ
	"form01_san_pink"				,["320"			,"SANタグ"				,"0"		,""		,""			,""			,""		],	#	SANタグ
	"form01_san_green"				,["330"			,"SANタグ"				,"0"		,""		,""			,""			,""		],	#	SANタグ
	"form01_san_blue"				,["340"			,"SANタグ"				,"0"		,""		,""			,""			,""		],	#	SANタグ
	"form01_san_black"				,["350"			,"SANタグ"				,"0"		,""		,""			,""			,""		],	#	SANタグ
	"form01_san_radar"				,["370"			,"SANレーダー"			,"0"		,""		,""			,""			,""		],	#	SANレーダー
	"form01_payment"				,["380"			,"支払方法"				,"0"		,""		,""			,""			,""		],	#	支払方法
	"form01_inquiry"				,["390"			,"備考欄"				,"0"		,""		,""			,""			,""		],	#	備考欄
);

#
#	申し込みマスタ
#
%MAIN01_CHECKED = (
#									チェック方式		入力文字数最小	入力文字数最大				変換方式					htmlタイプ							生成しない			JavaScriptチェック
	"form01_id"						,["numeric"				,"0"			,"0"			,"xss<>lfdel<>tabdel"			,"text||20||30"							,"111111"			,"0"			],	#	ID
	"form01_adddate"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||20||60"							,"111111"			,"0"			],	#	追加日付
	"form01_moddate"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||20||60"							,"111111"			,"0"			],	#	更新日付
	"form01_valid"					,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"radio2||||SELECT_VALID"				,"111111"			,"0"			],	#	有効
	"form01_name_sei"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||10"							,"000000"			,"0"			],	#	氏名
	"form01_name_mei"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||10"							,"000000"			,"0"			],	#	氏名
	"form01_name_sei_phonetic"		,["length<>kana"		,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||10"							,"000000"			,"0"			],	#	フリガナ
	"form01_name_mei_phonetic"		,["length<>kana"		,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||10"							,"000000"			,"0"			],	#	フリガナ
	"form01_name_sub_sei"			,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||10"							,"000000"			,"0"			],	#	氏名
	"form01_name_sub_mei"			,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||10"							,"000000"			,"0"			],	#	氏名
	"form01_name_sub_sei_phonetic"	,["length<>kana"		,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||10"							,"000000"			,"0"			],	#	フリガナ
	"form01_name_sub_mei_phonetic"	,["length<>kana"		,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||10"							,"000000"			,"0"			],	#	フリガナ
	"form01_schoolname"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||10"							,"000000"			,"0"			],	#	氏名
	"form01_schoolclass"			,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||10"							,"000000"			,"0"			],	#	氏名
	"form01_post"					,["numeric"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||10"							,"000000"			,"0"			],	#	郵便番号
	"form01_prefecture"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"select2||||SELECT_PREFECTURE"			,"000000"			,"0"			],	#	都道府県
	"form01_address1"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||10||255"						,"000000"			,"0"			],	#	住所
	"form01_address2"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||10||255"						,"000000"			,"0"			],	#	住所
	"form01_tel"					,["strnumeric"			,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||10"							,"000000"			,"0"			],	#	電話番号
	"form01_handyphone"				,["strnumeric"			,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||10"							,"000000"			,"0"			],	#	電話番号
	"form01_mail"					,["length<>email"		,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||100"							,"000000"			,"0"			],	#	Eメールアドレス
	"form01_mail_check"				,["length<>email"		,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||100"							,"000000"			,"0"			],	#	Eメールアドレス
	"form01_inquiry"				,["length"				,"0"			,"0"			,"xss<>br-lf<>tabdel"			,"textarea||10||40"						,"000000"			,"0"			],	#	お問合せ
	"form01_course_1_1"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"select2||個数||SELECT_COURSE"			,"000000"			,"0"			],	#	コース
	"form01_course_1_2"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"select2||個数||SELECT_COURSE"			,"000000"			,"0"			],	#	コース
	"form01_course_2_1"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"select2||個数||SELECT_COURSE"			,"000000"			,"0"			],	#	コース
	"form01_course_2_2"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"select2||個数||SELECT_COURSE"			,"000000"			,"0"			],	#	コース
	"form01_course_3_1"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"select2||個数||SELECT_COURSE"			,"000000"			,"0"			],	#	コース
	"form01_course_3_2"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"select2||個数||SELECT_COURSE"			,"000000"			,"0"			],	#	コース
	"form01_san_orange"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"select2||個数||SELECT_SANTAG"			,"000000"			,"0"			],	#	SANタグ
	"form01_san_yellow"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"select2||個数||SELECT_SANTAG"			,"000000"			,"0"			],	#	SANタグ
	"form01_san_white"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"select2||個数||SELECT_SANTAG"			,"000000"			,"0"			],	#	SANタグ
	"form01_san_purple"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"select2||個数||SELECT_SANTAG"			,"000000"			,"0"			],	#	SANタグ
	"form01_san_pink"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"select2||個数||SELECT_SANTAG"			,"000000"			,"0"			],	#	SANタグ
	"form01_san_green"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"select2||個数||SELECT_SANTAG"			,"000000"			,"0"			],	#	SANタグ
	"form01_san_blue"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"select2||個数||SELECT_SANTAG"			,"000000"			,"0"			],	#	SANタグ
	"form01_san_black"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"select2||個数||SELECT_SANTAG"			,"000000"			,"0"			],	#	SANタグ
	"form01_san_radar"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"select2||個数||SELECT_SANRADAR"		,"000000"			,"0"			],	#	SANタグ
	"form01_payment"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"radio2_br||||SELECT_PAYMENT"			,"000000"			,"0"			],	#	支払方法;
);

#
#	スクールプラン申し込みマスタ
#
%MAIN02_REQUIRED = (
#   input name=					入力順位		日本語名				未記入		横並	ｺﾒﾝﾄ制御	前ｺﾒﾝﾄ		後ｺﾒﾝﾄ
	"form02_id"					,["10"			,"ID"					,"0"		,""		,""			,""			,""		],	#	ID
	"form02_adddate"			,["20"			,"追加日付"				,"0"		,""		,""			,""			,""		],	#	追加日付
	"form02_moddate"			,["30"			,"更新日付"				,"0"		,""		,""			,""			,""		],	#	更新日付
	"form02_valid"				,["40"			,"有効"					,"0"		,""		,""			,""			,""		],	#	有効
	"form02_schoolname"			,["50"			,"学校名"				,"1"		,""		,""			,""			,""		],	#	氏名
	"form02_schoolname_phonetic",["60"			,"学校名フリガナ"		,"1"		,""		,""			,""			,""		],	#	フリガナ
	"form02_name_sei"			,["70"			,"ご担当者様氏名"		,"1"		," "	,""			,""			,""		],	#	氏名
	"form02_name_mei"			,["80"			,"ご担当者様氏名"		,"1"		,""		,""			,""			,""		],	#	氏名
	"form02_name_sei_phonetic"	,["90"			,"フリガナ"				,"1"		," "	,""			,""			,""		],	#	フリガナ
	"form02_name_mei_phonetic"	,["100"			,"フリガナ"				,"1"		,""		,""			,""			,""		],	#	フリガナ
	"form02_post"				,["110"			,"郵便番号"				,"1"		,""		,""			,""			,""		],	#	郵便番号
	"form02_prefecture"			,["120"			,"都道府県"				,"1"		,""		,""			,""			,""		],	#	都道府県
	"form02_address1"			,["130"			,"住所1"				,"1"		,""		,""			,""			,""		],	#	住所1
	"form02_address2"			,["140"			,"住所2"				,"1"		,""		,""			,""			,""		],	#	住所2
	"form02_tel"				,["150"			,"電話番号"				,"1"		,""		,""			,""			,""		],	#	電話番号
	"form02_mail"				,["160"			,"Eメールアドレス"		,"1"		,""		,""			,""			,""		],	#	Eメールアドレス
	"form02_mail_check"			,["170"			,"Eメールアドレス"		,"1"		,""		,""			,""			,""		],	#	Eメールアドレス
	"form02_inquiry"			,["180"			,"お問合せ"				,"0"		,""		,""			,""			,""		],	#	お問合せ
); 
     


#
#	申し込みマスタ
#
%MAIN02_CHECKED = (
#									チェック方式		入力文字数最小	入力文字数最大				変換方式					htmlタイプ							生成しない			JavaScriptチェック
	"form02_id"						,["numeric"				,"0"			,"0"			,"xss<>lfdel<>tabdel"			,"text||20||30"							,"111111"			,"0"			],	#	ID
	"form02_adddate"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||20||60"							,"111111"			,"0"			],	#	追加日付
	"form02_moddate"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||20||60"							,"111111"			,"0"			],	#	更新日付
	"form02_valid"					,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"radio2||||SELECT_VALID"				,"111111"			,"0"			],	#	有効
	"form02_schoolname"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||10"							,"000000"			,"0"			],	#	氏名
	"form02_schoolname_phonetic"	,["length<>kana"		,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||10"							,"000000"			,"0"			],	#	フリガナ
	"form02_name_sei"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||10"							,"000000"			,"0"			],	#	氏名
	"form02_name_mei"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||10"							,"000000"			,"0"			],	#	氏名
	"form02_name_sei_phonetic"		,["length<>kana"		,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||10"							,"000000"			,"0"			],	#	フリガナ
	"form02_name_mei_phonetic"		,["length<>kana"		,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||10"							,"000000"			,"0"			],	#	フリガナ
	"form02_post"					,["numeric"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||10"							,"000000"			,"0"			],	#	郵便番号
	"form02_prefecture"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"select2||||SELECT_PREFECTURE"			,"000000"			,"0"			],	#	都道府県
	"form02_address1"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||10||255"						,"000000"			,"0"			],	#	住所
	"form02_address2"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||10||255"						,"000000"			,"0"			],	#	住所
	"form02_tel"					,["strnumeric"			,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||10"							,"000000"			,"0"			],	#	電話番号
	"form02_mail"					,["length<>email"		,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||100"							,"000000"			,"0"			],	#	Eメールアドレス
	"form02_mail_check"				,["length<>email"		,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||100"							,"000000"			,"0"			],	#	Eメールアドレス
	"form02_inquiry"				,["length"				,"0"			,"0"			,"xss<>br-lf<>tabdel"			,"textarea||10||40"						,"000000"			,"0"			],	#	お問合せ
);


#
#	お問い合わせマスタ
#
%MAIN03_REQUIRED = (
#   input name=					入力順位		日本語名				未記入		横並	ｺﾒﾝﾄ制御	前ｺﾒﾝﾄ		後ｺﾒﾝﾄ
	"form03_id"					,["10"			,"ID"					,"0"		,""		,""			,""			,""		],	#	ID
	"form03_adddate"			,["20"			,"追加日付"				,"0"		,""		,""			,""			,""		],	#	追加日付
	"form03_moddate"			,["30"			,"更新日付"				,"0"		,""		,""			,""			,""		],	#	更新日付
	"form03_valid"				,["40"			,"有効"					,"0"		,""		,""			,""			,""		],	#	有効
	"form03_name_sei"			,["70"			,"氏名"					,"1"		," "	,""			,""			,""		],	#	氏名
	"form03_name_mei"			,["80"			,"氏名"					,"1"		,""		,""			,""			,""		],	#	氏名
	"form03_name_sei_phonetic"	,["90"			,"フリガナ"				,"1"		," "	,""			,""			,""		],	#	フリガナ
	"form03_name_mei_phonetic"	,["100"			,"フリガナ"				,"1"		,""		,""			,""			,""		],	#	フリガナ
	"form03_tel"				,["150"			,"電話番号"				,"1"		,""		,""			,""			,""		],	#	電話番号
	"form03_mail"				,["160"			,"Eメールアドレス"		,"1"		,""		,""			,""			,""		],	#	Eメールアドレス
	"form03_mail_check"			,["170"			,"Eメールアドレス"		,"1"		,""		,""			,""			,""		],	#	Eメールアドレス
	"form03_inquiry"			,["180"			,"お問合せ"				,"1"		,""		,""			,""			,""		],	#	お問合せ
); 
     


#
#	お問い合わせマスタ
#
%MAIN03_CHECKED = (
#									チェック方式		入力文字数最小	入力文字数最大				変換方式					htmlタイプ							生成しない			JavaScriptチェック
	"form03_id"						,["numeric"				,"0"			,"0"			,"xss<>lfdel<>tabdel"			,"text||20||30"							,"111111"			,"0"			],	#	ID
	"form03_adddate"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||20||60"							,"111111"			,"0"			],	#	追加日付
	"form03_moddate"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||20||60"							,"111111"			,"0"			],	#	更新日付
	"form03_valid"					,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"radio2||||SELECT_VALID"				,"111111"			,"0"			],	#	有効
	"form03_name_sei"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||10"							,"000000"			,"0"			],	#	氏名
	"form03_name_mei"				,["length"				,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||10"							,"000000"			,"0"			],	#	氏名
	"form03_name_sei_phonetic"		,["length<>kana"		,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||10"							,"000000"			,"0"			],	#	フリガナ
	"form03_name_mei_phonetic"		,["length<>kana"		,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||10"							,"000000"			,"0"			],	#	フリガナ
	"form03_tel"					,["strnumeric"			,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||10"							,"000000"			,"0"			],	#	電話番号
	"form03_mail"					,["length<>email"		,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||100"							,"000000"			,"0"			],	#	Eメールアドレス
	"form03_mail_check"				,["length<>email"		,"0"			,"255"			,"xss<>lfdel<>tabdel"			,"text||5||100"							,"000000"			,"0"			],	#	Eメールアドレス
	"form03_inquiry"				,["length"				,"0"			,"0"			,"xss<>br-lf<>tabdel"			,"textarea||10||40"						,"000000"			,"0"			],	#	お問合せ
);


%MAIN_OPTION	= (
#						入力説明文	オプションタグ、コメント
#	"mem_zip"				,[ "",	'<input type="button" value="郵便番号→住所検索" onClick="popup_home_zip()">'	]	,#"郵便番号",
	"eve_sdate"				,[ "",	qq|<a href="#" onclick="javascript:OpenWinCal(document.mform.eve_sdate, 'mform.eve_sdate');return false;"><img src="../../cgi_image/images/cal_icon.gif" border=0></a>　<input type="button" value="クリア" onClick="TextClear(document.mform.eve_sdate);" class="BtnGrayStyle02">|	]	,
	"eve_edate"				,[ "",	qq|<a href="#" onclick="javascript:OpenWinCal(document.mform.eve_edate, 'mform.eve_edate');return false;"><img src="../../cgi_image/images/cal_icon.gif" border=0></a>　<input type="button" value="クリア" onClick="TextClear(document.mform.eve_edate);" class="BtnGrayStyle02">|	]	,
	"eve_toplink"			,[ "※TOP画面一覧説明文すべてにリンクが掛かります。",	""	]	,
	"eve_body"				,[ "※終了していないタグを登録するとレイアウト崩れの原因となりますのでご注意ください。",	""	]	,
	"eve_eventdate"			,[ "",	qq|<a href="#" onclick="javascript:OpenWinCal(document.mform.eve_eventdate, 'mform.eve_eventdate');return false;"><img src="../../cgi_image/images/cal_icon.gif" border=0></a>　<input type="button" value="クリア" onClick="TextClear(document.mform.eve_eventdate);" class="BtnGrayStyle02">|	]	,
#	"eve_eventedate"		,[ "",	qq|<a href="#" onclick="javascript:OpenWinCal(document.mform.eve_eventedate, 'mform.eve_eventedate');return false;"><img src="../../cgi_image/images/cal_icon.gif" border=0></a>　<input type="button" value="クリア" onClick="TextClear(document.mform.eve_eventedate);" class="BtnGrayStyle02">|	]	,
	"eve_file_image1"		,[ "",	""	]	,
	"eve_file_image2"		,[ "※詳細ページに表示されます",	""	]	,
	"eve_file_image3"		,[ "※詳細ページに表示されます",	""	]	,
);

%MAIN_OPTION_EX	= (
#						入力タグ制御文(disabled style)			checkbox,radio改行指定
	"eve_sdate"				,[ "readonly",										""],
	"eve_edate"				,[ "readonly",										""],
	"eve_eventdate"			,[ "readonly",										""],
#	"eve_eventedate"		,[ "readonly",										""],
);


#	一覧画面での検索条件を設定する。
%GROBAL_SESSION	= (
#		設定名				順序
		"event_keys",		[0],
		"p",				[1],
		"area",				[2],
);


#	イベント情報データベース登録フィールド設定。
@OUTPUT_EVENT_DATA	= (
	"eve_id"							,#	イベントID
	"eve_sdate"							,#	イベント表示開始日
	"eve_sdate_hour"					,#	イベント表示開始時間
	"eve_sdate_minute"					,#	イベント表示開始分
	"eve_edate"							,#	イベント表示終了日
	"eve_edate_hour"					,#	イベント表示終了時間
	"eve_edate_minute"					,#	イベント表示終了分
	"eve_title"							,#	イベントタイトル
	"eve_eventdate"						,#	イベント開催開始日
	"eve_eventdate_shour"				,#	イベント開催時間
	"eve_eventdate_sminute"				,#	イベント開催時間
	"eve_eventdate_ehour"				,#	イベント開催時間
	"eve_eventdate_eminute"				,#	イベント開催時間
	"eve_eventoption"					,#	イベント希望選択
	);

#=============================================================================
#
#=============================================================================

eval("use File::Copy;");

require '../public/basic.cgi';
require '../public/gconfig.cgi';
require '../spublic/setting.cgi';
require '../public/gcalender.cgi';
require '../public/cal.cgi';

require '../public/sendmail.cgi';
require '../public/mimew.pl';
require '../spublic/mail_setting.cgi';

#	初期設定。
$VAR{'method'} = $SETTING{'method'};

$SETTING{'inputhtml'}	 = '../../school_templates/input_tr.html';
$SETTING{'confirmhtml'}	 = '../../school_templates/confirm_tr.html';
$SETTING{'blankhtml'}	 = '../../school_templates/blank_tr.html';


#	画面間保存(GROBAL_SESSION)に検索条件を追加する。
&GrobalSessionAddValue(\%GROBAL_SESSION);


&operation();


#
#	メイン処理。
#
sub		operation
{

	@MAIN_RECORD = ();
	%MAIN_SQLCREATE = ();

	@MEMBER_REC = ();

#	#	M_NAME設定値を取得し、配列にセットする。
#	&Make_M_NAME_Arrayset();

	#	スクリプト名を取得する。
	return $FALSE if (&GetScriptName(\$SETTING{'cgi_name'}) == $FALSE);
	$VAR{'cgi_url'} = $SETTING{'cgi_name'};

	#	フォーム入力を取得する。
	&ReadParse(\%IN);

	#	入力文字列の不正をエスケープする。
	return $FALSE if (&InputEscape(\%IN) == $FALSE);

	$SETTING{'list_limit'} = $IN{'itemnum'} if(int($IN{'itemnum'}) > 0);

	#	ヘッダ・フッタボタンの生成。
	return $FALSE if (&MakeCommonButton(\%IN, \%VAR, \%SESSION) == $FALSE);

	#	設定情報追加。
	return $FALSE if (&Setting_Ex(\%IN, \%VAR, \%SESSION, \%MODE) == $FALSE);

	#	文字コードをプログラム内で利用するUTF8形式に変換する。
	return $FALSE if (&CharacterEncode_UTF8(\%IN, \%VAR, \%SESSION) == $FALSE);

	#	処理実行。
	return $FALSE if (&CallFunction($MODE{$IN{'mode'}}->[0]) == $FALSE);

	#	HTMLの出力。
	return $FALSE if (&ResultDisplay(\$VAR{'results'}) == $FALSE);

	#	ログの出力。
	&OutputLog($SETTING{'log_dir'},$SETTING{'cgi_name'},$IN{'mode'},"",$IN{'userid'},$IN{'loginname'});

	#	正常終了。
	return $TRUE;

}

#
#	入力内容確認
#
sub 	item_check01
{

	my($mode) = @_;

	my(@suffixlist);
	my($suffix);

	$ret = &input_check(\%MAIN01_REQUIRED, \%MAIN01_CHECKED, \%IN, $mode);

	return($ret);

}


#
#	追加画面
#
sub 	form01_add1
{

	&MakeOutputEditHtml(\%IN, \$ADD_MODE, \$SETTING{'upload_dir'}, 'MAIN01');

	&MakeOutputHtml(\%IN, \%VAR, \$temp_file{$IN{'mode'}});

	#	正常終了。
	return $TRUE;

}


#
#	追加確認画面
#
sub 	form01_add2
{
	my($err_ret);

	#	入力値の保存。
	$IN{'csession'} = &parsedata_save(\%IN, \%MAIN01_REQUIRED, \$SETTING{'csession_dir'}, \$SETTING{'csession_length'});

	#	入力値のエラーチェック。
	$err_ret = &item_check01($ADDVIEW_MODE);

	if($IN{'form01_mail'} ne $IN{'form01_mail_check'}){
		$IN{'form01_mail_check_err'} = 'メールアドレス(確認用)に入力されたメールアドレスが異なります。';
		$err_ret = $TRUE;
	}

	if($IN{'clause'} eq ''){
		$IN{'clause_err'} = '約款をご確認の上、同意チェックをしてください。';
		$err_ret = $TRUE;
	}

	if($IN{'privacypolicy'} eq ''){
		$IN{'privacypolicy_err'} = 'プライバシーポリシーをご確認の上、同意チェックをしてください。';
		$err_ret = $TRUE;
	}

	if($err_ret != $FALSE){
		$IN{'mode'} = "form01";
		$VAR{'program_title'}	= $MODE{$IN{'mode'}}->[1];
		$VAR{'mode_next'}	 	= $MODE{$IN{'mode'}}->[3];
		if(($VAR{'form01_name_sei_err'} ne '') && ($VAR{'form01_name_mei_err'} ne '')){
			$VAR{'form01_name_mei_err'} = '';
		}
		if(($VAR{'form01_name_sei_phonetic_err'} ne '') && ($VAR{'form01_name_mei_phonetic_err'} ne '')){
			$VAR{'form01_name_mei_phonetic_err'} = '';
		}
		$IN{'form01_inquiry'} =~ s/<br>/\n/gi;
		form01_add1();
		return $TRUE;
	}

	$VAR{'hidden'} = "";
	$VAR{'hidden'} .= "<INPUT TYPE=hidden NAME=\"csession\" VALUE=\"$IN{'csession'}\">\n";

	#	更新画面の生成。
	&MakeOutputEditHtml(\%IN, \$ADDVIEW_MODE, \$SETTING{'upload_dir'}, 'MAIN01');

	#	HTML生成。
	&MakeOutputHtml(\%IN, \%VAR, \$temp_file{$IN{'mode'}});

	#	正常終了。
	return $TRUE;

}

#
#	追加完了画面
#
sub 	form01_add3
{
	my($err_ret);

	#	入力値の読み込み。
	&parsedata_read(\%IN, \%MAIN01_REQUIRED, \$SETTING{'csession_dir'}, \$IN{'csession'});

	#	入力値のエラーチェック。
	$ret = &item_check01($ADDVIEW_MODE);
	if($ret) {
		$IN{'mode'} = "form01";
		$VAR{'program_title'}		= $MODE{$IN{'mode'}}->[1];
		$VAR{'mode_next'}			= $MODE{$IN{'mode'}}->[3];

		form01_add1();
		return $TRUE;
	}

	#	連続投稿を不可とする。
	if(-e "$SETTING{'csession_dir'}/$IN{'csession'}.cgi"){

		&perl_lock(*LOCKFILE,$SETTING{'lockfile'});

		#	デフォルト設定。
		$IN{'form01_id'}		= &createpass_id(5);		#	ID
		$IN{'form01_adddate'}	= &GetNowDateTimes();		#	追加日付
		$IN{'form01_moddate'}	= &GetNowDateTimes();		#	更新日付
		$IN{'form01_inquiry'}	=~ s/<BR>/\n/gi;

		&perl_unlock(*LOCKFILE);

		#	管理者にメール送信。
		$_from = $ADMIN_SYSTEM_MAIL;

		#	メール設定がない場合は管理者へメールする。
		$_mailto = $ADMIN_MAIL if($_mailto eq '');
		$_mailcc = "";
		$_subject = '【SANフラワー】お客様よりスクールプラン継続利用お申し込みがありました。';
		$_messag = &parse_template("../../school_templates/mail01_admin.txt");
		#	「～」、「-」の文字化けを解消する。
		$_messag =~ tr/[\x{ff5e}\x{2225}\x{ff0d}\x{ffe0}\x{ffe1}\x{ffe2}]/[\x{301c}\x{2016}\x{2212}\x{00a2}\x{00a3}\x{00ac}]/;
		$_messag = encode('SJIS', $_messag);
		$_subject = encode('SJIS', $_subject);
		&_SendMail($_from, $_mailto, $_mailcc, $_subject, $_messag);

		#	ユーザにメール送信。
		$_from = $ADMIN_SYSTEM_MAIL;
		$_mailto = "$IN{'form01_mail'}";
		$_mailcc = '';
		$_subject = '【SANフラワー】スクールプラン継続利用お申し込みをありがとうございます。';
		$_messag = &parse_template("../../school_templates/mail01_user.txt");
		#	「～」、「-」の文字化けを解消する。
		$_messag =~ tr/[\x{ff5e}\x{2225}\x{ff0d}\x{ffe0}\x{ffe1}\x{ffe2}]/[\x{301c}\x{2016}\x{2212}\x{00a2}\x{00a3}\x{00ac}]/;
		$_messag = encode('SJIS', $_messag);
		$_subject = encode('SJIS', $_subject);
		&_SendMail($_from, $_mailto, $_mailcc, $_subject, $_messag);

		# hidden保存データ破棄
		&parsedata_unlink($SETTING{'csession_dir'}, $IN{'csession'});

		#	ログの出力。
		&OutputLog($SETTING{'log_dir'},$SETTING{'cgi_name'},$IN{'mode'},"",$IN{'userid'},$IN{'loginname'});

	}

	#	HTML生成。
	&MakeOutputHtml(\%IN, \%VAR, \$temp_file{$IN{'mode'}});

	#	正常終了。
	return $TRUE;

}


#
#	入力内容確認
#
sub 	item_check02
{

	my($mode) = @_;

	my(@suffixlist);
	my($suffix);

	$ret = &input_check(\%MAIN02_REQUIRED, \%MAIN02_CHECKED, \%IN, $mode);

	return($ret);

}


#
#	追加画面
#
sub 	form02_add1
{

	&MakeOutputEditHtml(\%IN, \$ADD_MODE, \$SETTING{'upload_dir'}, 'MAIN02');

	&MakeOutputHtml(\%IN, \%VAR, \$temp_file{$IN{'mode'}});

	#	正常終了。
	return $TRUE;

}


#
#	追加確認画面
#
sub 	form02_add2
{
	my($err_ret);

	#	入力値の保存。
	$IN{'csession'} = &parsedata_save(\%IN, \%MAIN02_REQUIRED, \$SETTING{'csession_dir'}, \$SETTING{'csession_length'});

	#	入力値のエラーチェック。
	$err_ret = &item_check02($ADDVIEW_MODE);

	if($IN{'form02_mail'} ne $IN{'form02_mail_check'}){
		$IN{'form02_mail_check_err'} = 'メールアドレス(確認用)に入力されたメールアドレスが異なります。';
		$err_ret = $TRUE;
	}

	if($IN{'privacypolicy'} eq ''){
		$IN{'privacypolicy_err'} = 'プライバシーポリシーをご確認の上、同意チェックをしてください。';
		$err_ret = $TRUE;
	}

	if($err_ret != $FALSE){
		$IN{'mode'} = "form02";
		$VAR{'program_title'}	= $MODE{$IN{'mode'}}->[1];
		$VAR{'mode_next'}	 	= $MODE{$IN{'mode'}}->[3];
		if(($VAR{'form02_name_sei_err'} ne '') && ($VAR{'form02_name_mei_err'} ne '')){
			$VAR{'form02_name_mei_err'} = '';
		}
		if(($VAR{'form02_name_sei_phonetic_err'} ne '') && ($VAR{'form02_name_mei_phonetic_err'} ne '')){
			$VAR{'form02_name_mei_phonetic_err'} = '';
		}
		$IN{'form02_inquiry'} =~ s/<br>/\n/gi;
		form02_add1();
		return $TRUE;
	}

	$VAR{'hidden'} = "";
	$VAR{'hidden'} .= "<INPUT TYPE=hidden NAME=\"csession\" VALUE=\"$IN{'csession'}\">\n";

	#	更新画面の生成。
	&MakeOutputEditHtml(\%IN, \$ADDVIEW_MODE, \$SETTING{'upload_dir'}, 'MAIN02');

	#	HTML生成。
	&MakeOutputHtml(\%IN, \%VAR, \$temp_file{$IN{'mode'}});

	#	正常終了。
	return $TRUE;

}

#
#	追加完了画面
#
sub 	form02_add3
{
	my($err_ret);

	#	入力値の読み込み。
	&parsedata_read(\%IN, \%MAIN02_REQUIRED, \$SETTING{'csession_dir'}, \$IN{'csession'});

	#	入力値のエラーチェック。
	$ret = &item_check02($ADDVIEW_MODE);
	if($ret) {
		$IN{'mode'} = "form02";
		$VAR{'program_title'}		= $MODE{$IN{'mode'}}->[1];
		$VAR{'mode_next'}			= $MODE{$IN{'mode'}}->[3];

		form02_add1();
		return $TRUE;
	}

	#	連続投稿を不可とする。
	if(-e "$SETTING{'csession_dir'}/$IN{'csession'}.cgi"){

		&perl_lock(*LOCKFILE,$SETTING{'lockfile'});

		#	デフォルト設定。
		$IN{'form02_id'}		= &createpass_id(5);		#	ID
		$IN{'form02_adddate'}	= &GetNowDateTimes();		#	追加日付
		$IN{'form02_moddate'}	= &GetNowDateTimes();		#	更新日付
		$IN{'form02_inquiry'}	=~ s/<BR>/\n/gi;

		&perl_unlock(*LOCKFILE);

		#	管理者にメール送信。
		$_from = $ADMIN_SYSTEM_MAIL;

		#	メール設定がない場合は管理者へメールする。
		$_mailto = $ADMIN_MAIL if($_mailto eq '');
		$_mailcc = "";
		$_subject = '【SANフラワー】お客様よりスクールプラン新規お申し込み・お問い合わせがありました。';
		$_messag = &parse_template("../../school_templates/mail02_admin.txt");
		#	「～」、「-」の文字化けを解消する。
		$_messag =~ tr/[\x{ff5e}\x{2225}\x{ff0d}\x{ffe0}\x{ffe1}\x{ffe2}]/[\x{301c}\x{2016}\x{2212}\x{00a2}\x{00a3}\x{00ac}]/;
		$_messag = encode('SJIS', $_messag);
		$_subject = encode('SJIS', $_subject);
		&_SendMail($_from, $_mailto, $_mailcc, $_subject, $_messag);

		#	ユーザにメール送信。
		$_from = $ADMIN_SYSTEM_MAIL;
		$_mailto = "$IN{'form02_mail'}";
		$_mailcc = '';
		$_subject = '【SANフラワー】スクールプラン新規お申し込み・お問い合わせをありがとうございます。';
		$_messag = &parse_template("../../school_templates/mail02_user.txt");
		#	「～」、「-」の文字化けを解消する。
		$_messag =~ tr/[\x{ff5e}\x{2225}\x{ff0d}\x{ffe0}\x{ffe1}\x{ffe2}]/[\x{301c}\x{2016}\x{2212}\x{00a2}\x{00a3}\x{00ac}]/;
		$_messag = encode('SJIS', $_messag);
		$_subject = encode('SJIS', $_subject);
		&_SendMail($_from, $_mailto, $_mailcc, $_subject, $_messag);

		# hidden保存データ破棄
		&parsedata_unlink($SETTING{'csession_dir'}, $IN{'csession'});

		#	ログの出力。
		&OutputLog($SETTING{'log_dir'},$SETTING{'cgi_name'},$IN{'mode'},"",$IN{'userid'},$IN{'loginname'});

	}

	#	HTML生成。
	&MakeOutputHtml(\%IN, \%VAR, \$temp_file{$IN{'mode'}});

	#	正常終了。
	return $TRUE;

}



#
#	入力内容確認
#
sub 	item_check03
{

	my($mode) = @_;

	my(@suffixlist);
	my($suffix);

	$ret = &input_check(\%MAIN03_REQUIRED, \%MAIN03_CHECKED, \%IN, $mode);

	return($ret);

}


#
#	追加画面
#
sub 	form03_add1
{

	&MakeOutputEditHtml(\%IN, \$ADD_MODE, \$SETTING{'upload_dir'}, 'MAIN03');

	&MakeOutputHtml(\%IN, \%VAR, \$temp_file{$IN{'mode'}});

	#	正常終了。
	return $TRUE;

}


#
#	追加確認画面
#
sub 	form03_add2
{
	my($err_ret);

	#	入力値の保存。
	$IN{'csession'} = &parsedata_save(\%IN, \%MAIN03_REQUIRED, \$SETTING{'csession_dir'}, \$SETTING{'csession_length'});

	#	入力値のエラーチェック。
	$err_ret = &item_check03($ADDVIEW_MODE);

	if($IN{'form03_mail'} ne $IN{'form03_mail_check'}){
		$IN{'form03_mail_check_err'} = 'メールアドレス(確認用)に入力されたメールアドレスが異なります。';
		$err_ret = $TRUE;
	}

	if($IN{'privacypolicy'} eq ''){
		$IN{'privacypolicy_err'} = 'プライバシーポリシーをご確認の上、同意チェックをしてください。';
		$err_ret = $TRUE;
	}

	if($err_ret != $FALSE){
		$IN{'mode'} = "form03";
		$VAR{'program_title'}	= $MODE{$IN{'mode'}}->[1];
		$VAR{'mode_next'}	 	= $MODE{$IN{'mode'}}->[3];
		if(($VAR{'form03_name_sei_err'} ne '') && ($VAR{'form03_name_mei_err'} ne '')){
			$VAR{'form03_name_mei_err'} = '';
		}
		if(($VAR{'form03_name_sei_phonetic_err'} ne '') && ($VAR{'form03_name_mei_phonetic_err'} ne '')){
			$VAR{'form03_name_mei_phonetic_err'} = '';
		}
		$IN{'form03_inquiry'} =~ s/<br>/\n/gi;
		form03_add1();
		return $TRUE;
	}

	$VAR{'hidden'} = "";
	$VAR{'hidden'} .= "<INPUT TYPE=hidden NAME=\"csession\" VALUE=\"$IN{'csession'}\">\n";

	#	更新画面の生成。
	&MakeOutputEditHtml(\%IN, \$ADDVIEW_MODE, \$SETTING{'upload_dir'}, 'MAIN03');

	#	HTML生成。
	&MakeOutputHtml(\%IN, \%VAR, \$temp_file{$IN{'mode'}});

	#	正常終了。
	return $TRUE;

}

#
#	追加完了画面
#
sub 	form03_add3
{
	my($err_ret);

	#	入力値の読み込み。
	&parsedata_read(\%IN, \%MAIN03_REQUIRED, \$SETTING{'csession_dir'}, \$IN{'csession'});

	#	入力値のエラーチェック。
	$ret = &item_check03($ADDVIEW_MODE);
	if($ret) {
		$IN{'mode'} = "form03";
		$VAR{'program_title'}		= $MODE{$IN{'mode'}}->[1];
		$VAR{'mode_next'}			= $MODE{$IN{'mode'}}->[3];

		form03_add1();
		return $TRUE;
	}

	#	連続投稿を不可とする。
	if(-e "$SETTING{'csession_dir'}/$IN{'csession'}.cgi"){

		&perl_lock(*LOCKFILE,$SETTING{'lockfile'});

		#	デフォルト設定。
		$IN{'form03_id'}		= &createpass_id(5);		#	ID
		$IN{'form03_adddate'}	= &GetNowDateTimes();		#	追加日付
		$IN{'form03_moddate'}	= &GetNowDateTimes();		#	更新日付
		$IN{'form03_inquiry'}	=~ s/<BR>/\n/gi;

		&perl_unlock(*LOCKFILE);

		#	管理者にメール送信。
		$_from = $ADMIN_SYSTEM_MAIL;

		#	メール設定がない場合は管理者へメールする。
		$_mailto = $ADMIN_MAIL if($_mailto eq '');
		$_mailcc = "";
		$_subject = '【SANフラワー】お客様よりお問い合わせがありました。';
		$_messag = &parse_template("../../school_templates/mail03_admin.txt");
		#	「～」、「-」の文字化けを解消する。
		$_messag =~ tr/[\x{ff5e}\x{2225}\x{ff0d}\x{ffe0}\x{ffe1}\x{ffe2}]/[\x{301c}\x{2016}\x{2212}\x{00a2}\x{00a3}\x{00ac}]/;
		$_messag = encode('SJIS', $_messag);
		$_subject = encode('SJIS', $_subject);
		&_SendMail($_from, $_mailto, $_mailcc, $_subject, $_messag);

		#	ユーザにメール送信。
		$_from = $ADMIN_SYSTEM_MAIL;
		$_mailto = "$IN{'form03_mail'}";
		$_mailcc = '';
		$_subject = '【SANフラワー】お問い合わせありがとうございます。';
		$_messag = &parse_template("../../school_templates/mail03_user.txt");
		#	「～」、「-」の文字化けを解消する。
		$_messag =~ tr/[\x{ff5e}\x{2225}\x{ff0d}\x{ffe0}\x{ffe1}\x{ffe2}]/[\x{301c}\x{2016}\x{2212}\x{00a2}\x{00a3}\x{00ac}]/;
		$_messag = encode('SJIS', $_messag);
		$_subject = encode('SJIS', $_subject);
		&_SendMail($_from, $_mailto, $_mailcc, $_subject, $_messag);

		# hidden保存データ破棄
		&parsedata_unlink($SETTING{'csession_dir'}, $IN{'csession'});

		#	ログの出力。
		&OutputLog($SETTING{'log_dir'},$SETTING{'cgi_name'},$IN{'mode'},"",$IN{'userid'},$IN{'loginname'});

	}

	#	HTML生成。
	&MakeOutputHtml(\%IN, \%VAR, \$temp_file{$IN{'mode'}});

	#	正常終了。
	return $TRUE;

}

