#!/usr/bin/perl

use CGI qw(:standard);
#エラーの出力
use CGI::Carp qw(fatalsToBrowser);
#ファイルベースネームモジュール
use File::Basename;

#設定ファイルの呼び込み
require './config.cgi';
require $LIB_PC;
#メールエンコード用MIMEWライブラリ
require './lib/mimew.pl';

$mode = param('mode');
$id = param('id');
if ($id  =~ /[^0-9a-z]/) {&error("IDは半角英数字のみとなります。")}
#基本設定データーの呼び込み
$BASE = $FORM_DIR . $id."/pc_base.pl";
if(-e $BASE){ require "$BASE";}else{&error("メールフォームが存在しません。");}
$QUESTDATA = $FORM_DIR . $id . "/quest.pl";

#IP制御
#リモートホスト名の取得
$remote_host = $ENV{'REMOTE_HOST'};
$remote_addr = $ENV{'REMOTE_ADDR'};
if($remote_host eq '' || $remote_host eq $remote_addr){
	$remote_host = gethostbyaddr(pack('C4',split(/\./,$remote_addr)),2);
	if($remote_host eq ''){ $remote_host = $remote_addr; }
}

$deny_ip =~ s/\r\n/\n/g;
$deny_ip =~ s/\r/\n/g;
@deny_ip = split(/\n/,$deny_ip);
foreach (@deny_ip){
	if($_ ne '' && ($remote_host =~ /\Q$_\E/ || $remote_addr =~ /\Q$_\E/)){
		&error("$deny_ip_error");
	}
}

if($mode eq 'submit'){&submit;}
elsif($mode eq 'check'){&check;}
elsif($mode eq 'post_navi'){&post_navi;}
else{&form;}

sub form{
if(!open(DATA,"$QUESTDATA")){
	&error("質問データーファイル読みこみエラー");}
else{
@quest=<DATA>;
close(DATA);
}

#順位ナンバーで並び替え
foreach(@quest){
$data = $_;
chop $data;
$key = (split(/\,/,$data))[1];
push @alldata,$data;
push @keys,$key;
}
sub bynumber {$keys[$a] <=> $keys[$b];}
@quest = @alldata[ sort bynumber 0..$#alldata];

#グループ化
my %quest;
foreach $line(@quest){
  &quest_line;
   if($indicate eq 'on'){
    if($group){
     $quest{$group}[0] .= "$order:";
     $quest{$group}[1] .= "$no:";
     $quest{$group}[2] .= "$must:";
    }else{
     $quest{$questname}[0] = "$order";
    $quest{$questname}[1] = "$no";
    $quest{$questname}[2] = "$must";
     }
   }
}



#順位を並び替えながら
foreach $name (sort {$quest{$a}[0] <=> $quest{$b}[0]} keys %quest){
if($quest{$name}[2] !~ m/on/){$mustmark_on = "";}else{$mustmark_on=$cnf{mustmark_msg};}
$HTML .=<<"EOM";
 <tr>
  <td width=\"$left_td_width\" align=left class="EasyLeftTd"><span class="EasyLeftFont">$name</span> $mustmark_on </td>
  <td width=\"$right_td_width\" align=left class="EasyRightTd"><span class="EasyRightFont">
EOM
    @no = split(/:/,$quest{$name}[1]);
    foreach $value1 (@no){
      foreach $line (@quest){
       &quest_line;
       
       #改行タグを取り除く
       $top_text =~ s/#br#//g;
       $under_text =~ s/#br#//g;
       $top_explain =~ s/#br#//g;
       $under_explain =~ s/#br#//g;
       $separate_com =~ s/#br#//g;
       
       if($no eq "$value1"){
	#テキストボックスの場合
	if(($formtype eq 'text' && $indicate eq 'on') || ($formtype eq 'main_mail' && $indicate eq 'on')){
		&textform_output;
	}
	#パスワードの場合
	if($formtype eq 'text_password' && $indicate eq 'on'){
		&passform_output;
	}
	#複数行テキストエリアの場合
	if($formtype eq 'textarea' && $indicate eq 'on'){
		&textareaform_output;
	}
	#ラジオボタンの場合
	if($formtype eq 'radio' && $indicate eq 'on'){
		&radioform_output;
	}
	#チェックボックスの場合
	if($formtype eq 'checkbox' && $indicate eq 'on'){
		&checkboxform_output;
	}
	#一行選択式の場合
	if($formtype eq 'select' && $indicate eq 'on'){
		&selectform_output;
	}
	#複数選択式の場合
	if($formtype eq 'select_multiple' && $indicate eq 'on'){
		&select_multiple_output;
	}
	#郵便番号検索
	if($formtype eq 'post_navi' && $indicate eq 'on'){
		&post_navi_output;
	}
	#ファイルのアップロードの場合
	if($formtype eq 'file_up' && $indicate eq 'on'){
		&file_up_output;
	}
        if($separate eq 'on'){$separate2 ='on'; $separate_com2=$separate_com;}#ループの外の区切りの為に変数を持たす
        }
       }
     }

$HTML .=<<"EOM";
   </span>
  </td>
 </tr>
EOM
if($separate2 eq 'on'){
$HTML .=<<"EOM";
</table><br>
$separate_com2
<table border="$table_border" bgcolor="$tablebg_c" cellspacing="$table_cellspace" cellpadding="$table_cellpadding" class="EasyTable">
EOM
}
$separate2 = "";$separate_com2 ="";#区切りの変数を初期化

}

$form_msg=&CheckHtml2($form_msg);
$form_footer_msg=&CheckHtml2($form_footer_msg);
&header;
print<<"EOM";
$ZIP_JS
$form_msg
<form action=$form method=post name="MyForm"  style="margin-top:0em; margin-bottom:0em" enctype="multipart/form-data">
<input type=hidden name=mode value="check">
<input type=hidden name=id value="$id">
<table border="$table_border" bgcolor="$tablebg_c" cellspacing="$table_cellspace" cellpadding="$table_cellpadding" class="EasyTable">
EOM

print $HTML;

print<<"EOM";
</table>
<div align="center">
	<input type=submit value="確認画面へ">
</div>
</form>
$form_footer_msg
EOM
&footer;
exit;
}

#確認画面
sub check {

if(!open(IN,"$QUESTDATA")){&error('質問データー読み取りエラー2'); }
else{
@quest=<IN>;
close(IN);
}
#順位ナンバーで並び替え
foreach(@quest){
$data = $_;
chop $data;
$key = (split(/\,/,$data))[1];
push @alldata,$data;
push @keys,$key;
}
sub bynumber {$keys[$a] <=> $keys[$b];}
@quest = @alldata[ sort bynumber 0..$#alldata];

#グループ化
my %quest;
foreach $line(@quest){
chomp $line;
&quest_line;
   if($indicate eq 'on'){
     if($group){
        $quest{$group}[0] .= "$order:";
        $quest{$group}[1] .= "$no:";
        $quest{$group}[2] .= "$must:";
     }else{
        $quest{$questname}[0] = "$order";
        $quest{$questname}[1] = "$no";
        $quest{$questname}[2] = "$must";
     }

       if($if_must){
       push @if_must,"$no,$if_must,$if_must_error,";
       }
}

}

#再入力チェックのグループ化
my %quest2;
foreach $line(@quest){
chomp $line;
&quest_line;
   if($re_input_error){
     $quest2{$re_input_error}[0] .= "$order:";
     $quest2{$re_input_error}[1] .= "$no:";
    }
}


#順位を並び替えながらHTMLを生成
foreach $name (sort {$quest{$a}[0] <=> $quest{$b}[0]} keys %quest){
$HTML .=<<"EOM";
 <tr>
  <td width=\"$left_td_width\" align=left class="EasyLeftTd"><span class="EasyLeftFont">$name</span></td>
  <td width=\"$right_td_width\"  align=left class="EasyRightTd"><span class="EasyRightFont">
EOM

    @no = split(/:/,$quest{$name}[1]);
    foreach $value1 (@no){
       $checkbox_hit="";
	foreach $line (@quest){
	 chomp $line;
	 &quest_line;
       #改行タグを取り除く
       $top_text =~ s/#br#//g;
       $under_text =~ s/#br#//g;
       $top_explain =~ s/#br#//g;
       $under_explain =~ s/#br#//g;
       $separate_com =~ s/#br#//g;
       
       	 	#郵便番号関連なら
	 	if($formtype eq 'post_navi'){
		&postcode_check;
	 	}
	 	#チェックボックスなら
	 	elsif($formtype eq 'checkbox'){
		&checkbox_check;
		
		}
	 	#セレクトボックス(複数選択)なら
	 	elsif($formtype eq 'select_multiple'){
		&select_multiple_check;
		}
		#ファイルアップロードなら
	 	elsif($formtype eq 'file_up'){
		&file_up_check;
		}
	 	#テキスト、パスワードなら
	 	else{
		&text_check;
	 	}
	 	
	if($separate eq 'on' && $no eq "$value1"){$separate2 ='on'; $separate_com2=$separate_com;}#ループの外の区切りの為に変数を持たす
	}
       foreach $target_group(@if_must){
        @target_array = split(/\,/,$target_group);
        @if_must_no = split(/\&/,$target_array[1]);
         foreach $line2(@if_must_no){

          if($line2 == $value1){
           if($checkbox_hit[$target_array[0]]){
                $i=1;
                $hit=0;
		foreach(@option){
		 if(param("${line2}-${i}")){$hit=1;}
		 $i++;
		}
		if($hit eq '0'){$if_ketsugou{"$name"}[0] ="<font color=\"$error_msg_color\"><b>$target_array[2]</b></font><br>";$error_on = 1;last;}
           }
           elsif(param($target_array[0]) ne '' && param($line2) eq ''){$if_ketsugou{"$name"}[0] ="<font color=\"$error_msg_color\"><b>$target_array[2]</b></font><br>";$error_on = 1;last;}
           }

           
         }
       }
    }
      $HTML .= $if_ketsugou{"$name"}[0];


$HTML .=<<"EOM";
   </span>
  </td>
 </tr>
EOM
if($separate2 eq 'on'){
$HTML .=<<"EOM";
</table><br>
$separate_com2
<table border="$table_border" bgcolor="$tablebg_c" cellspacing="$table_cellspace" cellpadding="$table_cellpadding" class="EasyTable">
EOM
}
$separate2 = "";$separate_com2 ="";#区切りの変数を初期化
}

foreach $name (sort {$quest2{$a}[0] <=> $quest2{$b}[0]} keys %quest2){
    @no = split(/:/,$quest2{$name}[1]);
    if(param($no[0]) ne param($no[1])){
     $REINPUT_HTML .="<font color=\"$error_msg_color\"><b><span style=\"font-size: ${fontpt}pt;\">$name</span></b></font><br>";
     $error_on = 1;
    }
}

$table_width = $left_td_width+$right_td_width;
&header;
if($error_on !=1){
$check_msg=&CheckHtml2($check_msg);
print $check_msg;
}else{
$check_error_msg=&CheckHtml2($check_error_msg);
print $check_error_msg;
print $REINPUT_HTML;
}
print <<"EOM";

<form action=$form method=post style="margin-top:0em; margin-bottom:0em" enctype="multipart/form-data">
<input type=hidden name=mode value=submit>
<input type=hidden name=id value="$id">
<table border="$table_border" bgcolor="$tablebg_c" cellspacing="$table_cellspace" cellpadding="$table_cellpadding" class="EasyTable">
EOM
print $HTML;

print<<"EOM";
</table>
EOM
if($error_on != 1){
print<<"EOM";
<div class="EasySubmit">
<input type=submit value="送信"></form>
  
  <form action="$form" method=post  style="margin-top:0em; margin-bottom:0em">
   <input type=hidden name=mode value="return">
   <input type=hidden name=id value="$id">
   $HIDDEN_TAG
   <input type=submit value="戻る">
  </form>
</div>
EOM
}else{
print<<"EOM";
</form>
<div align="center">
   <form action=$form method=post  style="margin-top:0em; margin-bottom:0em">
   <input type=hidden name=mode value="return">
   <input type=hidden name=id value="$id">
   $HIDDEN_TAG
   <input type=submit value="戻る">
   </form>
</div>
EOM
}
if($error_on !=1){
$check_footer_msg=&CheckHtml2($check_footer_msg);
print $check_footer_msg;
}
&footer;
exit;
}


sub submit {

if(!open(IN,"$QUESTDATA")){&error('質問データー読み取りエラー3'); }
else{
@quest=<IN>;
close(IN);
}

#順位ナンバーで並び替え
foreach(@quest){
$data = $_;
chop $data;
$key = (split(/\,/,$data))[1];
push @alldata,$data;
push @keys,$key;
}
sub bynumber {$keys[$a] <=> $keys[$b];}
@quest = @alldata[ sort bynumber 0..$#alldata];

#グループ化
my %quest;
foreach $line(@quest){
&quest_line;
   if($indicate eq 'on'){
     if($group){
        $quest{$group}[0] .= "$order:";
        $quest{$group}[1] .= "$no:";
        $quest{$group}[2] .= "$must:";

     }else{
        $quest{$questname}[0] = "$order";
        $quest{$questname}[1] = "$no";
        $quest{$questname}[2] = "$must";
     }
}

}

#再入力チェックのグループ化
my %quest2;
foreach $line(@quest){
chomp $line;
&quest_line;
   if($re_input_error){
     $quest2{$re_input_error}[0] .= "$order:";
     $quest2{$re_input_error}[1] .= "$no:";
    }
}

	#CSVに日時を挿入しておく
	$CSV_DATA = "$DATE1,";
	
#順位を並び替えながらメール内容を生成
foreach $name (sort {$quest{$a}[0] <=> $quest{$b}[0]} keys %quest){
	$MAIL_BODY .= "\n■$name\n";
	$MAIL_BODY_ADMIN .="\n■$name\n";
    @no = split(/:/,$quest{$name}[1]);
    foreach $value1 (@no){
      foreach $line (@quest){
       &quest_line;
       $mail_top_text =~ s/#br#//g;
       $mail_under_text =~ s/#br#//g;
       $mail_top_text =~ s/#NN#/\n/g;
       $mail_under_text =~ s/#NN#/\n/g;
	 	#郵便番号関連なら
	 	if($formtype eq 'post_navi'){
		 &postnavi_mailbody;
	 	}
	 	#チェックボックスなら
	 	elsif($formtype eq 'checkbox'){
	 	 &checkbox_mailbody;
		}
	 	#セレクトボックス(複数選択)なら
	 	elsif($formtype eq 'select_multiple'){
	 	 &select_multiple_mailbody;
		}
	 	#ファイルアップなら
	 	elsif($formtype eq 'file_up'){
	 	 &file_up_mailbody;
		}
	 	#テキスト、パスワードなら
	 	else{
		 &select_text_mailbody;
	 	}
       }

    }
	$MAIL_BODY .= "\n";
	$MAIL_BODY_ADMIN .="\n";
}

foreach $name (sort {$quest2{$a}[0] <=> $quest2{$b}[0]} keys %quest2){
    @no = split(/:/,$quest2{$name}[1]);
    if(param($no[0]) ne param($no[1])){
     &error("$name");;
     $error_on = 1;
    }
}

	#改行があれば取り除く
	$CSV_DATA =~ s/\r\n/ /g;
	$CSV_DATA =~ s/\n/ /g;
	$CSV_DATA =~ s/\r/ /g;
	#CSVデーターの最後に改行コードをいれる
	$CSV_DATA .= "\n";

#日時を置換
$mail_header =~ s/#YYYY#/$year2/g;
$mail_header =~ s/#YY#/$year/g;
$mail_header =~ s/#MM#/$mon/g;
$mail_header =~ s/#DD#/$day/g;
$mail_header =~ s/#KWE#/$wday1/g;
$mail_header =~ s/#AWE#/$wday2/g;
$mail_header =~ s/#HH#/$hour/g;
$mail_header =~ s/#MI#/$min/g;
$mail_header =~ s/#SS#/$sec/g;
$mail_header =~ s/#IP#/$ip_addr/g;
$mail_header =~ s/#HOST#/$host/g;
$mail_header =~ s/#UA#/$useragent/g;

$mail_footer =~ s/#YYYY#/$year2/g;
$mail_footer =~ s/#YY#/$year/g;
$mail_footer =~ s/#MM#/$mon/g;
$mail_footer =~ s/#DD#/$day/g;
$mail_footer =~ s/#KWE#/$wday1/g;
$mail_footer =~ s/#AWE#/$wday2/g;
$mail_footer =~ s/#HH#/$hour/g;
$mail_footer =~ s/#MI#/$min/g;
$mail_footer =~ s/#SS#/$sec/g;
$mail_footer =~ s/#IP#/$ip_addr/g;
$mail_footer =~ s/#HOST#/$host/g;
$mail_footer =~ s/#UA#/$useragent/g;

#質問を置換
$mail_header =~ s/\#NO(.+?)\#/$replace_{$1}/g;
$mail_footer =~ s/\#NO(.+?)\#/$replace_{$1}/g;

#タイトルを置換
$subject =~ s/\#NO(.+?)\#/$replace_{$1}/g;
#サンキュー画面の置換
$thanks_msg =~ s/\#NO(.+?)\#/$replace_{$1}/g;
$thanks_msg =~ s/#YYYY#/$year2/g;
$thanks_msg =~ s/#YY#/$year/g;
$thanks_msg =~ s/#MM#/$mon/g;
$thanks_msg =~ s/#DD#/$day/g;
$thanks_msg =~ s/#HH#/$hour/g;
$thanks_msg =~ s/#MI#/$min/g;
$thanks_msg =~ s/#SS#/$sec/g;

#特殊文字を置換
$subject = &CheckHtml2($subject);
$mail_header = &CheckHtml2($mail_header);
$mail_footer = &CheckHtml2($mail_footer);

#subjectをエンコード
&jcode::convert(\$subject,'jis');
$subject = &mimeencode($subject);

#最終メールアドレスチェック
if($user_mail){
if($user_mail !~ /^[\w\d\-\+\/.]+\@[\w\d\-\.]+$/) {&error("メールアドレスが不正です。1 ");}
elsif(!($user_mail =~ /(.*)\@(.*)\.(.*)/)) {&error("メールアドレスが不正です。2");}
elsif($user_mail =~ /[\xA1-\xFE][\xA1-\xFE]/) {&error("メールアドレスが不正です。3");}
}
if($user_mail){$frommail=$user_mail;}else{$frommail=$adminmail;}
$mailheader=<<"EOM";
Reply-To: $frommail
Errors-To: $adminmail
To: $adminmail
From: $frommail
EOM
if($adminmail2){$mailheader .= "Bcc: $adminmail2\n";}
$mailheader .=<<"EOM";
Subject: $subject
content-transfer-encoding: 7bit
Content-type: text/plain; charset=ISO-2022-JP
X-Mailer: Mail Form by 1st-netJapan
EOM

$mailheader2=<<"EOM";
Reply-To: $adminmail
Errors-To: $adminmail
To: $user_mail
From: $adminmail
Subject: $subject
content-transfer-encoding: 7bit
Content-type: text/plain; charset=ISO-2022-JP
X-Mailer: Mail Form by 1st-netJapan
EOM


#管理人用の確認メールの本文
$body= "$mail_header\n";
if($mail_body_indi_admin){$body.="$MAIL_BODY_ADMIN\n";}
$body.="$mail_footer\n";


#ユーザー用の確認メールの本文
$body2="$mail_header\n";
if($mail_body_indi){$body2.="$MAIL_BODY\n";}
$body2.="$mail_footer\n";


&jcode::convert(\$mailheader,'jis');
&jcode::convert(\$mailheader2,'jis');
&jcode::convert(\$body,'jis');
&jcode::convert(\$body2,'jis');

#管理人に確認メールを送る設定なら
if($copymail_admin){
if($f_option == 1){
if (!open(SENDMAIL,"| $sendmail -t -f $frommail")) { &error('sendmailが開けません1。メール送信できません'); }
}else{
if (!open(SENDMAIL,"| $sendmail -t")) { &error('sendmailが開けません1。メール送信できません'); }
}
print SENDMAIL $mailheader; 
print SENDMAIL $body;
close(SENDMAIL);
}
#ユーザーに確認メールを送るなら
if($copymail==1 && $user_mail){
if($f_option == 1){
if (!open(SENDMAIL,"| $sendmail -t -f $adminmaill")) { &error('sendmailが開けません2。メール送信できません'); }
}else{
if (!open(SENDMAIL,"| $sendmail -t")) { &error('sendmailが開けません2。メール送信できません'); }
}
print SENDMAIL $mailheader2; 
print SENDMAIL $body2; 
close(SENDMAIL);
}


#もしCSV形式で保存するなら
if($save eq '1'){
$CSV_FILE =$FORM_DIR . $id. "/csv.cgi";
if(!open(OUT,">>$CSV_FILE")){
	&error("CSVデーターファイルが書込みできません。<br>");}
else{
print OUT $CSV_DATA;
close(OUT);
}

}

$thanks_msg=&CheckHtml2($thanks_msg);
&header;
print<<"EOM";
$thanks_msg
EOM

&footer;
exit;
}


#郵便番号検索
sub post_navi {

$postalcode_pm = param('postalcode');
$quest_no_pm =param('quest_no');

if(!$postalcode_pm) {
	&error2 ("郵便番号が入力されていません。");
}

# 入力郵便番号を全角→半角変換 入力値チェック
$Result = &Check($postalcode_pm);

if (!open(IN,"$POSTAL_DATA")) { &error2('郵便データベースがありません。<br>すでに設置済みの場合は読み取りができないディレクトリの可能\性があります。'); }
@DATA = <IN>;
close(IN);
$addr ="";
foreach (@DATA){
@array = split(/\,/,$_);
if($Result eq $array[0]){$pref= $array[1];$city = $array[2];last;}
}
if(!$pref){&error2("該当の住所がありません。");}

#郵便番号を2つに分ける
$ZIP1 = substr($Result, 0, 3);
$ZIP2 = substr($Result, 3, 4);

print "Content-type: text/html\n\n";
print<<"EOM";
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<meta http-equiv="Content-Language" content="ja">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>検索結果</title>
</head>

<body>
<SCRIPT language="JavaScript">
function setForm()
{
 var Mypref = document.subForm.pref.value;
 window.opener.document.MyForm.pref_$quest_no_pm.value = Mypref;
 var Mycity = document.subForm.city.value;
 window.opener.document.MyForm.city_$quest_no_pm.value = Mycity;
}
//-->
</SCRIPT>
<p>検索結果</p>
<table border="0" cellpadding="5">
  <tr>
    <td nowrap>郵便番号</td>
    <td>$ZIP1-$ZIP2</td>
  </tr>
  <tr>
    <td>住所</td>
    <td><form name=subForm>
    <input type="text" name="pref" size="20" value="$pref">
    <input type="text" name="city" size="60" value="$city"></form></td>
  </tr>
  </table>
  <p align=center><input type="submit" value="入力" onclick="javascript:setForm();self.close()"></p>
  <p align=center><a href="#" onclick="javascript:window.close()">閉じる</a></p>
</body>
</html>
EOM

exit;


sub error2 {
my($msg) = @_;
print "Content-type: text/html\n\n";
print<<"EOM";
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<meta http-equiv="Content-Language" content="ja">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>エラー</title>
</head>

<body>
<center>
<table border="0" bgcolor="#000000" width="300" height="100" cellspacing="1" cellpadding="2" >
  
    <tr>
      <td width="100%" align="center" bgcolor="#cccccc"><font size=2>$msg</font></td>
    </tr>
  
</table>
<p align=center><A href=\"#\" onclick=\"javascript:window.close()\">閉じる</A></p></center>
</body>
</html>
EOM
exit;
}

}

#エラー処理
sub error{
local($msg)=@_;
&header;
print<<"EOM";

<br><br>
<div align="$div_align">

<font size=2>エラーです</font><br>
  <table border="$table_border" width="500" height=150 bgcolor="$tablebg_c" cellspacing="$table_cellspace" cellpadding="$table_cellpadding" class="EasyTable">
    <tr>
      <td width="100%" align=center bgcolor=\"$tableright_c\">
	$msg
      </td>
    </tr>
  </table>
</div>

EOM
&footer;
exit;

}



#############
#ヘッダー
sub header{
$header=&CheckHtml2($header);
print "content-type: text/html\n\n";
if($extend_header_on == 1){
#拡張ヘッダーの場合
$extend_header_tag=&CheckHtml2($extend_header_tag);

print<<"EOM";
$extend_header_tag
EOM
}else{
#通常ヘッダーの場合
print<<"EOM";
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=shift_jis">
<title>$title</title></head>
<META name="GENERATOR" content="CGI BANK メールフォームEasyMail ">
<META NAME="description" CONTENT="EasyMailはCGI BANK(シージーアイバンク)のメールフォームCGIです。[http://www.1st-net.jp/cgi/]">
<STYLE TYPE="text/css">
<!--
.EasyTable a{ text-decoration:underline; color:$plink }
.EasyTable a:visited  { text-decoration:underline; color:$vlink }
.EasyTable a:hover    { text-decoration:underline; color:$alink }
.EasyTable { font-size:$fontpt\pt;}
.EasyLeftTd { background-color:$ordertable_c;}
.EasyRightTd { background-color:$tableright_c;}
.EasyLeftFont { color:$fontcolor_left;}
.EasyRightFont { color:$fontcolor;}
.EasySubmit { width: 180px; margin-right: auto; margin-left: auto; }
.EasySubmit input { float: left; margin-right: 20px; margin-left: 20px;}

-->
</STYLE>
<body topmargin="0" leftmargin="0" bgcolor="$bodycolor" background="$bkgd">
EOM
}
print<<"EOM";
$header
<div align="$div_align">
EOM
}


#フッダー
sub footer{
$footer=&CheckHtml2($footer);

print<<"EOM";
</div>
$footer
<div style="text-indent: -9998pt;height: -9998px;font-size: 0.1em;"><a href="http://www.1st-net.jp/cgi/">ショッピングカート</a><a href="http://www.1st-net.jp/">ホームページ制作</a><a href="http://www.1st-net.jp/cgi/sample/mail/">メールフォーム</a></div>
 </body>
</html>
EOM
}
