#!/usr/local/bin/perl

require './cgi-local/jcode.pl';
require './chkurl.cgi';
&chkurl;

$master = 'info@shinryoo.jp';
$contract1 = '１　本契約は、予約システムの使用に対し、契約をするものとする。';
$contract2 = '２　予約システムの使用が、やむをえず使用中止になっても、責任を問わないものとする。';
$contract3 = '３　突然のシステム故障が起こり、システムが停止しても、責任を問わないものとする。';
$contract4 = '４　システム故障で損害が起きても、一切の責任を問わないものとする。 ';
$contract5 = '５　提供された個人情報又は個人情報を含むデータ、並びに技術上・営業その他業務上の情報を第三者に開示又は漏えいさせないものとする。';
$contract6 = '６　ご契約後、当社からご契約者様にご連絡をさせていただいた後、本システムの利用開始をする場合がございます。（ご本人様確認）';
$contract7 = '７　以上、申込者は、管理者に対し契約を承認したものとする。';

$nextmon = '0';

$nextadr = 'monitorcontract.cgi';

&decode;

if ($mode eq "check") {
	&contnext;
}
elsif ($mode eq "approval") {
	&contapproval; 
} else {
	&main;
}

sub main{

&header;
if ($b_check ne "ezweb" and $b_check ne "mobile"){
print <<EOM;
<script type="text/javascript">
    function jump() {
	if(!document.cont.check1.checked || !document.cont.check2.checked || !document.cont.check3.checked || !document.cont.check4.checked || !document.cont.check5.checked || !document.cont.check6.checked || !document.cont.check7.checked){
	    alert( '内容を確認の上チェックしてください。' );
        } else {

	    if(document.cont.code.value == ""){
		alert( '郵便番号を入力してください。' );
	    } else {
		if(document.cont.address.value == ""){
		    alert( '住所を入力してください。' );
		} else {
		    if(document.cont.organization.value == ""){
			alert( '店名を入力してください。' );
		    } else {
			if(document.cont.name.value == ""){
			    alert( '氏名を入力してください。' );
			} else {
			    if(document.cont.tel.value == ""){
				alert( '電話番号を入力してください。' );
			    } else {
				if(document.cont.pagename.value == ""){
				    alert( '希望URLを入力してください。' );
				} else {
				    if(document.cont.eml.value == ""){
					alert( 'メールアドレスを入力してください。' );
				    } else {
					document.cont.submit();
				    }
				}
			    }
			}
		    }
		}
	    }
        }
    }
</script>
EOM
}
&headern;

print <<EOM;

<div align="center"><h3>契約書</h3>
<form name="cont" action=$nextadr method="post">
<HR>
<table>
<tr><td><INPUT TYPE=\"checkbox\"  NAME=\"check1\" VALUE=\"同意します\" ></td><td>$contract1<br></td></tr>
<tr><td><br></td></tr>
<tr><td><INPUT TYPE=\"checkbox\"  NAME=\"check2\" VALUE=\"同意します\" ></td><td>$contract2<br></td></tr>
<tr><td><br></td></tr>
<tr><td><INPUT TYPE=\"checkbox\"  NAME=\"check3\" VALUE=\"同意します\" ></td><td>$contract3<br></td></tr>
<tr><td><br></td></tr>
<tr><td><INPUT TYPE=\"checkbox\"  NAME=\"check4\" VALUE=\"同意します\" ></td><td>$contract4<br></td></tr>
<tr><td><br></td></tr>
<tr><td><INPUT TYPE=\"checkbox\"  NAME=\"check5\" VALUE=\"同意します\" ></td><td>$contract5<br></td></tr>
<tr><td><br></td></tr>
<tr><td><INPUT TYPE=\"checkbox\"  NAME=\"check6\" VALUE=\"同意します\" ></td><td>$contract6<br></td></tr>
<tr><td><br></td></tr>
<tr><td><INPUT TYPE=\"checkbox\"  NAME=\"check7\" VALUE=\"同意します\" ></td><td>$contract7<br></td></tr>
</table>
<br>
<br>
<table>
<tr><td>
<table>
<tr align="center"><td colspan=2>\申\込者<br></td><td>   </td></tr>
<tr><td>郵便番号</td><td>〒<INPUT TYPE=\"text\"  size=\"10\" NAME=\"code\" VALUE=\"$in{'code'}\" style="ime-mode:disabled"><br></td><td>   </td></tr>
<tr><td>住　　所</td><td><INPUT TYPE=\"text\"  size=\"50\" NAME=\"address\" VALUE=\"$in{'address'}\" style="ime-mode:active"><br></td><td>   </td></tr>
<tr><td>店　　名</td><td><INPUT TYPE=\"text\"  size=\"50\" NAME=\"organization\" VALUE=\"$in{'organization'}\" style="ime-mode:active"><br></td><td>   </td></tr>
<tr><td>氏　　名</td><td><INPUT TYPE=\"text\"  size=\"30\" NAME=\"name\" VALUE=\"$in{'name'}\" style="ime-mode:active">様<br></td><td>   </td></tr>
<tr><td>電話番号</td><td><INPUT TYPE=\"text\"  size=\"15\" NAME=\"tel\" VALUE=\"$in{'tel'}\" style="ime-mode:disabled"><br></td><td>   </td></tr>
</table>
</td>
<td>
<table>
<tr align="center"><td>管理者<br></td></tr>
<tr><td>〒370-1201<br></td></tr>
<tr><td>群馬県高崎市倉賀野町３０３５−１<br></td></tr>
<tr><td>有限会社　新菱工業<br></td></tr>
<tr><td><br></td></tr>
<tr><td>027-346-7363<br></td></tr>
</table>
</td>
</tr>
</table>
<br>
<HR>
<div align="center"><h3>確認事項</h3>
希望URL：$cgi_adr/<INPUT TYPE=\"text\"  size=\"30\" NAME=\"pagename\" VALUE=\"$in{'pagename'}\" style="ime-mode:disabled">/protect.cgi<br>
（お客様が\予\約する際にログインするURLです)<br>
<br>
お客様と連絡が出来るメールアドレス：<INPUT TYPE=\"text\"  size=\"30\" NAME=\"eml\" VALUE=\"$in{'eml'}\" style="ime-mode:disabled"><br>
<br>
契約書１〜７の□をマウスでクリックをし、レ点チェックをしてください。\申\込者欄並びに確認事項欄の必要事項を入力後、下の「確認画面へ」をクリックしてください。<br>
<br>
<input type="hidden" name="mode" value="check">
<input type="hidden" name="nname" value="$in{'nname'}">
EOM
if ($b_check ne "ezweb" and $b_check ne "mobile"){
	print "<input type=\"button\" name=\"write\" value=\"確認画面へ\" onclick=\"jump()\">";
} else {
	print "<input type=\"submit\" name=\"write\" value=\"確認画面へ\">";
}
print <<EOM;
</form>

<br>
</div>
</body>
</html>
EOM

exit;

}

sub contnext{
	if($in{'check1'} eq "" or $in{'check2'} eq "" or $in{'check3'} eq "" or $in{'check4'} eq "" or $in{'check5'} eq "" or $in{'check6'} eq "" or $in{'check7'} eq ""){
		&error( '内容を確認の上チェックしてください。' );
	}
	if($in{'code'} eq ""){
		&error( '郵便番号を入力してください。' );
	}
	if($in{'address'} eq ""){
		&error( '住所を入力してください。' );
	}
	if($in{'organization'} eq ""){
		&error( '店名を入力してください。' );
	}
	if($in{'name'} eq ""){
		&error( '氏名を入力してください。' );
	}
	if($in{'tel'} eq ""){
		&error( '電話番号を入力してください。' );
	}
	if($in{'pagename'} eq ""){
		&error( '希望URLを入力してください。' );
	}
	if($in{'eml'} eq ""){
		&error( 'メールアドレスを入力してください。' );
	}

	$in{'pagename'} =~ s/ //g;
	$in{'pagename'} =~ s/\*//g;
	$in{'pagename'} =~ s/\///g;
	$in{'pagename'} =~ s/\\//g;
	$in{'pagename'} =~ s/\?//g;
	$in{'pagename'} =~ s/&amp;/&/g;
	$in{'pagename'} =~ s/&quot;//g;
	$in{'pagename'} =~ s/&lt;//g;
	$in{'pagename'} =~ s/&gt;//g;

	$in{'organization'} =~ s/　/ /g;
$f = 0;
open(IN,"./protect/makedir.txt") || &error("Open Error: 管理ファイルエラー");
while (<IN>) {
	$_ =~ s/\n//;
	if ($in{'pagename'} eq $_) { $f++; last; }
}
close(IN);
if ($f) { &error("同じアドレスが存在します。");}

&header;
&headern;

print <<EOM;

<div align="center"><h3>内容の確認</h3>
<HR>
<h3>契約書</h3>
<form name="cont" action=$nextadr method="post">
<table>
<tr><td>$contract1<br></td></tr>
<tr><td><br></td></tr>
<tr><td>$contract2<br></td></tr>
<tr><td><br></td></tr>
<tr><td>$contract3<br></td></tr>
<tr><td><br></td></tr>
<tr><td>$contract4<br></td></tr>
<tr><td><br></td></tr>
<tr><td>$contract5 <br></td></tr>
<tr><td><br></td></tr>
<tr><td>$contract6<br></td></tr>
<tr><td><br></td></tr>
<tr><td>$contract7<br></td></tr>
</table>
<br>
<br>
<table>
<tr align="center"><td colspan=2>\申\込者<br></td></tr>
<tr><td>郵便番号</td><td>〒$in{'code'}<br></td></tr>
<tr><td>住　　所</td><td>$in{'address'}<br></td></tr>
<tr><td>店　　名</td><td>$in{'organization'}<br></td></tr>
<tr><td>氏　　名</td><td>$in{'name'}様<br></td></tr>
<tr><td>電話番号</td><td>$in{'tel'}<br></td></tr>
</table>
<INPUT TYPE=\"hidden\" NAME=\"code\" VALUE=\"$in{'code'}\">
<INPUT TYPE=\"hidden\" NAME=\"address\" VALUE=\"$in{'address'}\">
<INPUT TYPE=\"hidden\" NAME=\"organization\" VALUE=\"$in{'organization'}\">
<INPUT TYPE=\"hidden\" NAME=\"name\" VALUE=\"$in{'name'}\">
<INPUT TYPE=\"hidden\" NAME=\"tel\" VALUE=\"$in{'tel'}\">
<br>
<div align="center"><h3>確認事項</h3>
<INPUT TYPE=\"hidden\" NAME=\"pagename\" VALUE=\"$in{'pagename'}\">
希望URL：$cgi_adr/$in{'pagename'}/protect.cgi<br>
<br>
お客様と連絡が出来るメールアドレス：$in{'eml'}
<INPUT TYPE=\"hidden\" NAME=\"eml\" VALUE=\"$in{'eml'}\"><br>
<input type="hidden" name="nname" value="$in{'nname'}">
<br>
<HR>
<br>
<h3>以上の内容で同意していただけますか?</h3>
<br>
<input type="hidden" name="mode" value="approval">
<input type="submit" name="write" value="同意します">
EOM
if ($b_check ne "ezweb" and $b_check ne "mobile"){
	print "<input type=\"button\" value=\"前画面に戻る\" onClick=\"history.back()\">\n";
}
print <<EOM;
</form>

<br>
</div>
</body>
</html>
EOM

exit

}


sub contapproval{

	open(OUT,">>./protect/makedir.txt");
	print OUT "$in{'pagename'}\n";
	close(OUT);

	($min,$hour,$mday,$mon,$year,$wday)=(localtime(time))[1..6];
	$year += 1900;
	$mon++;
	$startday = sprintf("%04d年%02d月%02d日%02d時%02d分",$year,$mon,$mday,$hour,$min);
	$mon = $mon + $nextmon;
	if ($mon > 12){ $year++; $mon = $mon - 12;}
	$min = substr($min, 0, 2);
	$today = sprintf("%04d/%02d/%02d %02d:%02d",$year,$mon,$mday,$hour,$min);
	$endday = sprintf("%04d年%02d月%02d日%02d時%02d分",$year,$mon,$mday,$hour,$min);
	open(OUT,">>./protect/member.txt");
	print OUT "$in{'pagename'}<>$in{'code'}<>$in{'address'}<>$in{'organization'}<>$in{'name'}<>$in{'tel'}<>$in{'eml'}<>$today<>monitor<>$in{'nname'}\n";
	close(OUT);

	mkdir $in{'pagename'}, 0755; 
	mkdir "$in{'pagename'}/reservelockdir", 0755; 
	mkdir "$in{'pagename'}/protect", 0755; 
	mkdir "$in{'pagename'}/protect/lock", 0755; 

	open(IN,"./protect/makedat.txt") || &error("Open Error: 管理ファイルエラー");
	@lines=<IN>;
	close(IN);

	foreach (@lines){
		$_ =~ s/\n//;
		open(IN,"./original/$_") || &error("Open Error: 管理ファイルエラー");
		@makelines=<IN>;
		close(IN);

		open(OUT,"> ./$in{'pagename'}/$_");
		print OUT @makelines;
		close(OUT);

		if (index($_,"cgi") != -1){
			chmod (0755, "./$in{'pagename'}/$_");
		}
	}

	open(IN,"./protect/protectdat.txt") || &error("Open Error: 管理ファイルエラー");
	@lines=<IN>;
	close(IN);

	foreach (@lines){
		$_ =~ s/\n//;
		open(IN,"./original/protect/$_") || &error("Open Error: 管理ファイルエラー");
		@makelines=<IN>;
		close(IN);

		open(OUT,"> ./$in{'pagename'}/protect/$_");
		print OUT @makelines;
		close(OUT);

		if (index($_,"cgi") != -1){
			chmod (0755, "./$in{'pagename'}/protect/$_");
		}
	}

	open(OUT,"> ./$in{'pagename'}/init.pl");
	
	$l = (length($in{'organization'})+14)* 10;

	print OUT "\$title = \"$in{'organization'} Member's Room\";\n";
	print OUT "\$master = \'$in{'eml'}\';\n";
	print OUT "\$production = \'$master\';\n";
	print OUT "\$productiontitle = '新菱工業';\n";
	print OUT "\$messageleft = $l;\n";
	print OUT "\$messageright = 170;\n";
	close(OUT);

	open(OUT,"> ./$in{'pagename'}/index.html");

	print OUT "<html>";
	print OUT "<head>";
	print OUT "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\" />";
	print OUT "<title>$in{'organization'}</title>";
	print OUT "</head>";
	print OUT "<BODY bgcolor=\"#ffffff\">";
	print OUT "<table>";
	print OUT "<table bgcolor=\"#FF00FF\" width=\"300\"><tr><td>$in{'organization'}</td></tr>";
	print OUT "</table>";
	print OUT "<table>";
	print OUT '<tr><td><img src="http://shinryoo.jp/qr_img0.50g/php/qr_img.php?d=' . $in{'organization'} . '　' . $in{'eml'} . "会員アドレス：http://shinryoo.jp/$in{'pagename'}/protect.cgi\" width=\"107\" height=\"107\"></td><td><a href=\"$cgi_adr/$in{'pagename'}/protect.cgi\">会員ページへ</a><br><br>ケイタイからもＯＫ<br></td></tr>";
	print OUT "</table>";
	print OUT "</table>";
	print OUT "</body>";
	print OUT "</html>";
	close(OUT);

	open(OUT,"> ./$in{'pagename'}/protect/axslog.txt");
	close(OUT);

	open(OUT,"> ./$in{'pagename'}/protect/admlog.txt");
	close(OUT);

	open(OUT,"> ./$in{'pagename'}/protect/reserve.cgi");
	close(OUT);

	open(OUT,"> ./$in{'pagename'}/protect/lock/lockfile");
	close(OUT);

	open(OUT,"> ./$in{'pagename'}/reservelockdir/lockfile");
	close(OUT);

	open(OUT,"> ./$in{'pagename'}/protect/.htaccess");
	print OUT "AuthUserFile /u/web/shinr4/$in{'pagename'}/protect/.htpasswd\n";
	print OUT "AuthGroupFile /dev/null\n";
	print OUT "AuthName Protected Area\n";
	print OUT "AuthType Basic\n";
	print OUT "\n";
	print OUT "<Limit GET POST>\n";
	print OUT "require user admin\n";
	print OUT "</Limit>\n";
	close(OUT);


	# メール本文
	$mbody = <<EOM;
契約書

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
$contract1
$contract2
$contract3
$contract4
$contract5
$contract6
$contract7

$startday

\申\込者：
〒$in{'code'}
$in{'address'}
$in{'organization'}
$in{'name'}様
TEL:$in{'tel'}
E-Mail:$in{'eml'}

管理者：
〒370-1201
群馬県高崎市倉賀野町３０３５−１
有限会社　新菱工業

TEL:027-346-7363
E-Mail:info\@shinryoo.jp

−−−−−−−−−−−−−−−−−−−−−−−−−−
ご契約ありがとう御座います。

つきましては、下記へお振り込みをお願いいたします。

（弊社銀行口座　　名義：ユ)　シンリョウコウギョウ）
・楽天銀行　ワルツ支店(支店番号：２０４）　普通預金口座：７０３１５１９
注：ご注文日より３日以上経過し、事前のご連絡もなく、ご入金がない場合は、
　　キャンセルとさせて頂きますので、\予\めご了承願います。

EOM

#ログインアドレス：$cgi_adr/$in{'pagename'}/protect.cgi

#ＱＲコードのページ：$cgi_adr/$in{'pagename'}/index.html

#※ＱＲコードのページは、上記アドレスより出力するなどしてご活用下さい。

	# 題名をBASE64化
	local($msub) = &base64("契約書");

	# sendmail送信
	open(MAIL,"| /usr/sbin/sendmail -t") || &error("メール送信失敗");
	print MAIL "To: $in{'eml'}\n";
	print MAIL "From: $master\n";
	print MAIL "Cc: $master\n";
	print MAIL "Subject: $msub\n";
	print MAIL "MIME-Version: 1.0\n";
	print MAIL "Content-type: text/plain; charset=ISO-2022-JP\n";
	print MAIL "Content-Transfer-Encoding: 7bit\n";
	foreach ( split(/\n/, $mbody) ) {
		s/&amp;/&/g;
		s/&quot;/"/g;
		s/&lt;/</g;
		s/&gt;/>/g;
		&jcode'convert(*_, 'jis', 'sjis');
		print MAIL $_, "\n";
	}
	close(MAIL);


&header;
&headern;
print <<EOM;
<div align="center"><h3>契約完了</h3>
<HR>
<br>
<table>
<tr align="center"><td>ご契約ありがとう御座います。<br></td></tr>
<tr><td><br></td></td></tr>
<tr align="center"><td>契約書を登録いただきましたメールアドレス（$in{'eml'}）へ送信致しました。<br></td></tr>
<tr><td><br></td></td></tr>
</form>
</div>
</body>
</html>
EOM

}
#<tr align="left"><td>又、ご登録の準備が出来ましたので、初期設定へお進み下さい。<br></td></tr>
#<tr><td></td></td></tr>
#<tr align="left"><td>尚、$in{'organization'}様、ユーザ（お客様）、お客様携帯、及び新規入会全て、下記のログインアドレスにて、ログインできます。<br></td></tr>
#<tr><td></td></td></tr>
#<tr align="left"><td>その他の説明については、初期設定時又は、ログイン後に、ヘルプのリンクボタンが、\表\示されますので、そこからお入り下さい。<br></td></tr>
#<tr><td></td></td></tr>
#<tr align="center"><th>ログインアドレス：$cgi_adr/$in{'pagename'}/protect.cgi<br></th></tr>
#<tr><td></td></td></tr>
#</table>
#<a  href="$cgi_adr/$in{'pagename'}/protect.cgi" >初期設定へ</a>


#-------------------------------------------------
#  フォームデコード
#-------------------------------------------------
sub decode {
	local($buf);
	if ($ENV{'REQUEST_METHOD'} eq "POST") {
		read(STDIN, $buf, $ENV{'CONTENT_LENGTH'});
	} else {
		$buf = $ENV{'QUERY_STRING'};
	}
	%in=();
	foreach ( split(/&/, $buf) ) {
		local($key, $val) = split(/=/);
		$val =~ tr/+/ /;
		$val =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("H2", $1)/eg;

		# タグ処理
		$val =~ s/&/&amp;/g;
		$val =~ s/"/&quot;/g;
		$val =~ s/</&lt;/g;
		$val =~ s/>/&gt;/g;
		$val =~ s/\0//g;
		$val =~ s/\r\n/<br>/g;
		$val =~ s/\r/<br>/g;
		$val =~ s/\n/<br>/g;

		$in{$key} .= "\0" if (defined($in{$key}));
		$in{$key} .= $val;
	}
	$mode  = $in{'mode'};
	$page  = $in{'page'};

	# 携帯の種類の振り分け
	$agent = $ENV{'HTTP_USER_AGENT'};
	if ($agent =~ /DoCoMo/i){
		$b_check = "mobile";
		$k_check = "imode";
	}
	elsif ($ENV{HTTP_X_JPHONE_COLOR}
		|| $ENV{HTTP_X_JPHONE_DISPLAAY}
		|| $ENV{HTTP_X_JPHONE_MSNAME}
		|| $ENV{HTTP_X_JPHONE_SOUND}) {
		$method = "GET";
		$b_check = "mobile";
		$k_check = "jsky";
	}
	elsif ($agent =~ /ASTEL/i) {
		$b_check = "mobile";
		$k_check = "astel";
	}
	elsif ($ENV{'HTTP_X_UP_SUBNO'} || $agent =~ /^UP\.Browser[^-]*-(\w*)/i) {
		$b_check = "ezweb";
		$k_check = "ezweb";
	}
	elsif ($agent =~ /MSIE 4/i || $agent =~ /MSIE 5/i || $agent =~ /MSIE 6/i) {
		$b_check = "ie";
		$k_check = "pc";
		$fn_size = 25;
		$fe_size = 25;
		$ft_size = 35;
		$fc_size = 51;
		$fu_size = 60;
		$fr_size = 7;
		$fd_size = 8;
	}
	else {
		$b_check = "other";
		$k_check = "pc";
		$fn_size = 25;
		$fe_size = 25;
		$ft_size = 35;
		$fc_size = 43;
		$fu_size = 60;
		$fr_size = 5;
		$fd_size = 10;
	}

	# タイムゾーン設定
	$ENV{'TZ'} = "JST-9";

	if ($buf) { return (1); } else { return (0); }
}

#-------------------------------------------------
#  HTMLヘッダ
#-------------------------------------------------
sub header {
	return if ($headflag == 1);

if ($b_check eq "ezweb" or $b_check eq "mobile"){

		print "Content-type: text/html; charset=Shift_JIS\n\n";
		print <<"EOM";
<html>
<head>
EOM

} else {
	print "Content-type: text/html\n\n";
	print <<EOM;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=Shift_JIS">
<META HTTP-EQUIV="Content-Style-Type" content="text/css">
<STYLE type="text/css">
<!--
tr,td,th { font-family:"MS UI Gothic", "ＭＳ Ｐゴシック", Osaka; }
a:hover { text-decoration:underline; color:#DD0000; }
.l { background-color: $titlecolor; color: #ffffff; }
.r { background-color: #ffffff; color: #000000; }
.ent1 {
    color: #ffffff;
    padding: 8px;
    background-color: $titlecolor;
    border-top: 1px solid #C0C0C0;
    border-left: 1px solid #C0C0C0;
    border-right: 1px solid #C0C0C0;
    border-bottom: 1px solid #C0C0C0;
}
.ent2 {
    color: #000000;
    padding: 6px;
    background-color: #EFEBDE;
    border-top: 1px solid #C0C0C0;
    border-left: 1px solid #C0C0C0;
    border-right: 1px solid #C0C0C0;
    border-bottom: 1px solid #C0C0C0;
}
#tabmenu a{
	color:black;
	border:0px solid #6c6 !important;
	text-decoration:none !important;
	margin:0 0px !important;
	padding:0px 0px 0em 0px !important;
}
#tabmenu td{
    padding: 1px;
    border-bottom: 1px solid #000000;
}
#tabmenu td{
    padding: 1px;
    border-bottom: 1px solid #000000;
}
#tabn {
    color: #000000;
    background-color: #99ffff;
    padding: 1px;
    border-top: 1px solid #000000;
    border-left: 1px solid #000000;
    border-right: 1px solid #000000;
    border-bottom: 1px solid #000000;
}
#tabmenu th{
    padding: 1px;
    border-top: 1px solid #000000;
    border-left: 1px solid #000000;
    border-right: 1px solid #000000;
}
#tabmenu a:hover{
	background:#ccffff;
	color:#000 !important;
}
EOM
	return if ($headflag == 2);
	print <<EOM;
-->
</STYLE>
EOM
}
	$headflag = 1;
}

#-------------------------------------------------
#  HTMLヘッダ
#-------------------------------------------------
sub headern {
	print <<EOM;
<title>$title</title></head>
<body $body>
EOM
if ($b_check ne "ezweb" and $b_check ne "mobile"){
print <<EOM;
<img src="http://shinryoo.jp/acc/acclog.cgi?guid=ON&url=http://shinryoo.jp/$nextadr">
EOM
} else {
print <<EOM;
<script type="text/javascript">
<!--
document.write("<img src='http://shinryoo.jp/acc/acclog.cgi?");
document.write("referrer="+document.referrer+"&");
document.write("width="+screen.width+"&");
document.write("height="+screen.height+"&");
document.write("color="+screen.colorDepth+"'>");
// -->
</script> 
EOM
}
}

#-------------------------------------------------
#  エラー処理
#-------------------------------------------------
sub error {
	if ($lockflag) { &unlock; }

	if ($b_check eq "ezweb" or $b_check eq "mobile"){
		print "Content-type: text/html; charset=Shift_JIS\n\n";
		print <<"EOM";
<html>
<head>
<title>$title</title></head>
<body $body>
EOM
			print "<center><hr><br><br>ERROR !<br>\n";
			print "<br><font color='#CC0000'><b>$_[0]</b></font>\n";
			print "<br><br><hr></center>\n</body>\n</html>\n";
	} else {

	&header;
	$headflag = 3;
	&headern;
	print <<EOM;
<div align="center">
<table class="ent2" cellpadding="15" width="400">
<tr><td align="center">
<h3>ERROR !</h3>
<font color="#dd0000">$_[0]</font>
<p>
<form>
<input type="button" value="前画面に戻る" onclick="history.back()">
</form>
</td></tr></table>
</div>
</body>
</html>
EOM
	}
	exit;
}

#-------------------------------------------------
#  crypt暗号
#-------------------------------------------------
sub encrypt {
	local($in) = @_;
	local($salt, $enc, @s);

	@s = ('a'..'z', 'A'..'Z', '0'..'9', '.', '/');
	srand;
	$salt = $s[int(rand(@s))] . $s[int(rand(@s))];
	$enc = crypt($in, $salt) || crypt ($in, '$1$' . $salt);
	$enc;
}

#-------------------------------------------------
#  crypt照合
#-------------------------------------------------
sub decrypt {
	local($in, $dec) = @_;

	local $salt = $dec =~ /^\$1\$(.*)\$/ && $1 || substr($dec, 0, 2);
	if (crypt($in, $salt) eq $dec || crypt($in, '$1$' . $salt) eq $dec) {
		return (1);
	} else {
		return (0);
	}
}

#-------------------------------------------------
#  時間取得
#-------------------------------------------------
sub get_time {
	local($min,$hour,$mday,$mon,$year) = (localtime(time))[1..5];

	sprintf("%04d/%02d/%02d-%02d:%02d",
			$year+1900,$mon+1,$mday,$hour,$min);
}

#-------------------------------------------------
#  ホスト名取得
#-------------------------------------------------
sub get_host {
	$host = $ENV{'REMOTE_HOST'};
	$addr = $ENV{'REMOTE_ADDR'};

	if ($gethostbyaddr && ($host eq "" || $host eq $addr)) {
		$host = gethostbyaddr(pack("C4", split(/\./, $addr)), 2);
	}
	if ($host eq "") { $host = $addr; }
}


#-------------------------------------------------
#
#-------------------------------------------------
sub readday{
	local($y,$m) =@_;
	local($e) = 31;
	if ($m == 4 or $m == 6 or $m == 9 or $m == 11){ $e = 30;}
	if ($m == 2){
		if ($y % 400 == 0) {$e = 29;}
		elsif ($y % 100 == 0) {$e = 28;}
		elsif ($y % 4 == 0) {$e = 29;}
		else {$e = 28;}
	}
	return ($e);
}

#-------------------------------------------------
#  BASE64変換
#-------------------------------------------------
#		とほほのWWW入門で公開されているルーチンを
#		参考にしました。( http://tohoho.wakusei.ne.jp/ )
sub base64 {
	local($sub) = @_;
	&jcode'convert(*sub, 'jis', 'sjis');

	$sub =~ s/\x1b\x28\x42/\x1b\x28\x4a/g;
	$sub = "=?iso-2022-jp?B?" . &b64enc($sub) . "?=";
	$sub;
}
sub b64enc {
	local($ch)="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
	local($x, $y, $z, $i);
	$x = unpack("B*", $_[0]);
	for ($i=0; $y=substr($x,$i,6); $i+=6) {
		$z .= substr($ch, ord(pack("B*", "00" . $y)), 1);
		if (length($y) == 2) {
			$z .= "==";
		} elsif (length($y) == 4) {
			$z .= "=";
		}
	}
	$z;
}


1;


__END__

