#!/usr/local/bin/perl
utime time(), time(), __FILE__;
#----------------------------------------------------------#
# 姫君スクリプト PC Version 3.4                            #
#----------------------------------------------------------#
#【スクリプト開始】
use lib qw(./HTML);
use HTML::Template;
require './hime_conf.cgi';
require './lib.pl';
require './cgi-lib.pl';
require './jcode.pl';
# WEBから送信されたフォームを読み込む
&getinputfromweb;
# 設定
$action = $form{'action'};
$mode   = $form{'mode'};
$search = $form{'search'};
$yohbi  = $form{'yohbi'};
$pass   = $form{'pass'};
if ($form{'sort'}) {$sort = $form{'sort'};}
if ($form{'yoko'}) {$yoko = $form{'yoko'};}
if ($form{'skin'}) {$tmplfile = $skinlib . $form{'skin'} . '.html';}
if ($form{'size'}) {$imgsize = $form{'size'};}
#if ($form{'hyouji'}) {$hyouji = $form{'hyouji'};}
# パラメータ設定
$parm1 = ""; $parm2 = ""; $parm3 = "";
if ($form{'yoko'} ) {$parm2 .= "&yoko="  . $form{'yoko'};}
if ($form{'skin'} ) {$parm2 .= "&skin="  . $form{'skin'};}
if ($form{'size'} ) {$parm2 .= "&size="  . $form{'size'};}
if ($form{'time'} ) {$parm2 .= "&time="  . $form{'time'};}
if ($form{'yohbi'} =~ /[0-9]/) {$parm3 .= $parm2 . "&yohbi=" . $form{'yohbi'};}
if ($parm2) {$parm1 = $parm2; $parm1 =~ s/&/?/;}
# 日付の設定
($year,$mon,$day,$wday,$hour,$min,$sec) = &lib'getdatetime(time,$jisa);
$today = sprintf("%04d", $year) . sprintf("%02d", $mon) . sprintf("%02d", $day);
# ポップアップの表示位置
if ($popup != 0) {
	$openpopup = 'openpopup';
} else {
	$openpopup = 'openpopup2';
}
# スケジュール表示の日数（1〜7日間）
if (0 >= $hyouji || $hyouji >= 8) {$hyouji = 7;}
if ($yohbi =~ /[0-9]/) {
	if ($yohbi >= $hyouji) {$yohbi = 0;}
} else {
	$yohbi = 99;
}
# 画面制御
if ($action eq 'write' || $action eq 'nwrite') {
	if ($pass eq "" || $pass ne $passwd){ &lib'error("ERR001 パスワードが間違っています。 : $pass","back");
	} else { &Write; } }
elsif ($action eq 'insert') {
	if ($pass eq "" || $pass ne $passwd){ &lib'error("ERR002 パスワードが間違っています。 : $pass","back");
	} else { $eflag = &Insert; if (!$eflag) { &Write; } } }
elsif ($action eq 'replace') {
	if ($pass eq "" || $pass ne $passwd){ &lib'error("ERR003 パスワードが間違っています。 : $pass","back");
	} else { $eflag = &Replace; if (!$eflag) { &Write; } } }
elsif ($action eq 'error') { &lib'error("$form{'ermsg'}","$form{'erkbn'}"); }
elsif ($action eq 'schedule') { &Schedule; }
elsif ($action eq 'week') { &Week; }
else { &List; }
# HTML出力
print "Content-Type: text/html\n\n", $tmpl->output();
$tmpl->clear_params();

exit 0;

# ----------------------------------------------------------
# 一覧の展開
sub List
{
	local($i,$j,$k);
# テンプレート
	$tmplfile = $skinlib . $himelist if (!$tmplfile);
	$tmpl = HTML::Template->new(filename => $tmplfile);
	$listw = ($yoko * 160) + 3;
	if ($top) {$title1 = "<a href=\"$top\" target=\"_self\">$title1</a>";}
	$pagetitle = $title1;
	$alltitle  = "<a href=\"$script$parm1\" title=\"表\示\" target=\"_self\">一覧</a>";
# 曜日算出
	&WeekCalculation;
# 表示日数判定
	@skin_weektitle = ();
	for $i (0..$hyouji-1) {
		push(@skin_weektitle, "<a href=\"$script?yohbi=$i$parm2\" title=\"出勤\" target=\"_self\">$wdays_j[$w_yobi[$i]]曜</a>");
	}
# 配列初期化
	&ArrayClear;
# ログが存在するとき
	if (-e $logfile) {
		&Read;
		if ($#new != -1) {
			$count = 0;
# ソート指定
			&Sort(1);
			if ($amari != 0) {
				for ($i = 1; $i <= ($yoko - $amari); $i++){
					push(@list_flg1, 0);
					push(@list_flg2, 0);
					push(@skin_com, "");
					push(@skin_image, "");
					push(@skin_name, "");
					push(@skin_age, "");
					push(@skin_height, "");
					push(@skin_bust, "");
					push(@skin_cupsize, "");
					push(@skin_waist, "");
					push(@skin_hip, "");
					push(@skin_brog, "");
					push(@skin_newface, "");
				}
			}
		}
	}
# ループを保持する配列の初期化
	my @loop_data = ();
	while (@skin_image) {
# 行データのための新しいハッシュを取得
		my %row_data;
# 行を埋める
		$row_data{LISTFLG1}  = shift @list_flg1;
		$row_data{LISTFLG2}  = shift @list_flg2;
		$row_data{IMAGE}     = shift @skin_image;
		$row_data{NEW}       = shift @skin_newface;
		$row_data{NAME}      = shift @skin_name;
		$row_data{HONORIFIC} = shift @skin_honorific;
		$row_data{AGE}       = shift @skin_age;
		$row_data{HEIGHT}    = shift @skin_height;
		$row_data{BUST}      = shift @skin_bust;
		$row_data{CUP}       = shift @skin_cupsize;
		$row_data{WAIST}     = shift @skin_waist;
		$row_data{HIP}       = shift @skin_hip;
		$row_data{BROG}      = shift @skin_brog;
		$row_data{COM}       = shift @skin_com;
# 行のリファレンスをループに入れる！
		push(@loop_data, \%row_data);
	}
# ループを保持する配列の初期化
	my @loop_week_data = ();
	while (@skin_weektitle) {
# 行データのための新しいハッシュを取得
		my %row_data;
# 行を埋める
		$row_data{WEEKTITLE} = shift @skin_weektitle;
# 行のリファレンスをループに入れる！
		push(@loop_week_data, \%row_data);
	}
# 最後にデータをparamに代入する
	$tmpl->param( THIS_LOOP => \@loop_data,
		SKINPATH   => $skinlib,
		MAINTITLE  => $MainTitle,
		PAGETITLE  => $pagetitle,
		ALLTITLE   => $alltitle,
		WEEK_LOOP  => \@loop_week_data,
		NEWFACE    => $NewFace,
		COPYRIGHT  => 1,
		VER        => $ver
	);
# 配列初期化
	&ArrayClear;
}
# ----------------------------------------------------------
# 一覧の展開（スクリーン）
sub ListScreen
{
	local($i,$j,$k);
	$count++;
	$amari = $count % $yoko;
	$w_link2 = "";
	$wline01 = "line05";
	$wline02 = "line06";
	push(@list_flg1, 1);
	if ($yohbi == 0) {
		if ($r_kin1 == $kintai[$#kintai]) { $r_com = $r_time1; } else { $r_com = $kintai[$r_kin1]; }
	} elsif ($yohbi == 1) {
		if ($r_kin2 == $kintai[$#kintai]) { $r_com = $r_time2; } else { $r_com = $kintai[$r_kin2]; }
	} elsif ($yohbi == 2) {
		if ($r_kin3 == $kintai[$#kintai]) { $r_com = $r_time3; } else { $r_com = $kintai[$r_kin3]; }
	} elsif ($yohbi == 3) {
		if ($r_kin4 == $kintai[$#kintai]) { $r_com = $r_time4; } else { $r_com = $kintai[$r_kin4]; }
	} elsif ($yohbi == 4) {
		if ($r_kin5 == $kintai[$#kintai]) { $r_com = $r_time5; } else { $r_com = $kintai[$r_kin5]; }
	} elsif ($yohbi == 5) {
		if ($r_kin6 == $kintai[$#kintai]) { $r_com = $r_time6; } else { $r_com = $kintai[$r_kin6]; }
	} elsif ($yohbi == 6) {
		if ($r_kin7 == $kintai[$#kintai]) { $r_com = $r_time7; } else { $r_com = $kintai[$r_kin7]; }
	} else {
		if ($form{'time'} == 1) {
			if ($r_kin1 == $kintai[$#kintai]) { $r_com = $r_time1; } else { $r_com = $kintai[$r_kin1]; }
		} else {
			if ($r_com eq "") {
				$r_com = '&nbsp;';
			} else {
				$r_com = "<a href=\"$script?sort=8$parm3\" title=\"コメント順\" target=\"_self\" id=\"listcom\">$r_com</a>";
			}
		}
	}
	if (($yohbi >= 0 && $yohbi <= 6) || $form{'time'} == 1) {
		$r_com =~ s/00:00/早朝/;
	}
# 画像サイズ取得
	($wsizes,$hsizes) = &getimagesize("$r_p");
	if ($r_p ne "" && $r_link ne "") {
		if ($l_hime == 1) {
			$skin_image = "<a href=\"javascript:$openpopup(\'$r_link\',$s_w,$s_h)\" title=\"$r_name\">";
		} else {
			$skin_image = "<a href=\"$r_link\" target=\"_self\" title=\"$r_name\">";
		}
		if ($wsizes != 0 && $hsizes != 0) {
			$skin_image .= "<img src=\"$r_p\" width=\"$wsizes\" height=\"$hsizes\" border=\"0\" onMouseover=\"makevisible(this,1)\" onMouseout=\"makevisible(this,0)\" style=\"filter:alpha(opacity=100);-moz-opacity:1\"></a>";
		} else {
			$skin_image .= "<img src=\"$r_p\" border=\"0\" onMouseover=\"makevisible(this,1)\" onMouseout=\"makevisible(this,0)\" style=\"filter:alpha(opacity=100);-moz-opacity:1\"></a>";
		}
	} elsif ($r_p ne "") {
		if ($wsizes != 0 && $hsizes != 0) {
			$skin_image = "<img src=\"$r_p\" width=\"$wsizes\" height=\"$hsizes\" border=\"0\">";
		} else {
			$skin_image = "<img src=\"$r_p\" border=\"0\">";
		}
	} else {
		$skin_image = $ng;
	}
	push(@skin_com, $r_com);
	push(@skin_image, $skin_image);
	push(@skin_name, "<a href=\"$script?sort=1$parm3\" title=\"名前順\" target=\"_self\" id=\"listname\">$r_name</a>");
	push(@skin_honorific, $k[$r_k]);
	push(@skin_age, "<a href=\"$script?sort=2$parm3\" title=\"年齢順\" target=\"_self\" id=\"listage\">$r_age</a>");
	push(@skin_height, "<a href=\"$script?sort=3$parm3\" title=\"身長順\" target=\"_self\" id=\"listheight\">$r_t</a>");
	push(@skin_bust, "<a href=\"$script?sort=4$parm3\" title=\"バスト順\" target=\"_self\" id=\"listbust\">$r_b</a>");
	push(@skin_cupsize, "<a href=\"$script?sort=5$parm3\" title=\"カップ順\" target=\"_self\" id=\"listcup\">$cup[$r_cup]</a>");
	push(@skin_waist, "<a href=\"$script?sort=6$parm3\" title=\"ウエスト順\" target=\"_self\" id=\"listwaist\">$r_w</a>");
	push(@skin_hip, "<a href=\"$script?sort=7$parm3\" title=\"ヒップ順\" target=\"_self\" id=\"listhip\">$r_h</a>");
# リンク
	if ($r_link2 && $yohbi != 0 && $yohbi != 1 && $yohbi != 2 && $yohbi != 3 && $yohbi != 4 && $yohbi != 5 && $yohbi != 6 && ($t_link[1] == 0 || $t_link[1] == 2)) {
		if ($t_link[2] == 0) {
			$w_link2 = "<a href=\"$r_link2\" title=\"$t_link[0]\" target=\"_self\" id=\"listbrog\">$t_link[0]</a>";
		} else {
			$w_link2 = "<a href=\"$r_link2\" title=\"$t_link[0]\" target=\"_blank\" id=\"listbrog\">$t_link[0]</a>";
		}
	}
	push(@skin_brog, $w_link2);
# 経過日数の算出
	$kdays = &lib'Kdays($r_in);
	if ($kdays <= $NewFace) { push(@skin_newface, $g_NewFace); } else { push(@skin_newface, ""); }
	if ($amari == 0) { push(@list_flg2, 1); } else { push(@list_flg2, 0); }
}
# ----------------------------------------------------------
# 近日スケジュールの展開
sub Schedule
{
	local($i,$j,$k);
# テンプレート
	$tmplfile = $skinlib . $himeschedule if (!$tmplfile);
	$tmpl = HTML::Template->new(filename => $tmplfile);
	if ($top) {$title2 = "<a href=\"$top\" target=\"_self\">$title2</a>";}
	$pagetitle = $title2;
	$alltitle  = "<a href=\"$script?action=schedule$parm2\" title=\"表\示\" target=\"_self\">一覧</a>";
# 曜日算出
	&WeekCalculation;
# 表示日数判定
	@skin_weektitle = ();
	for $i (0..$hyouji-1) {
		push(@skin_weektitle, "<a href=\"$script?action=schedule&yohbi=$i$parm2\" title=\"出勤\" target=\"_self\">$wdays_j[$w_yobi[$i]]曜</a>");
	}
# 配列初期化
	&ArrayClear;
# ログが存在するとき
	if (-e $logfile) {
		&Read;
		if ($#new != -1) {
			&Sort(2);
		}
	}
# ループを保持する配列の初期化
	my @loop_data = ();
	while (@skin_image) {
# 行データのための新しいハッシュを取得
		my %row_data;
# 行を埋める
		$row_data{IMAGE}     = shift @skin_image;
		$row_data{NEW}       = shift @skin_newface;
		$row_data{NAME}      = shift @skin_name;
		$row_data{HONORIFIC} = shift @skin_honorific;
		$row_data{AGE}       = shift @skin_age;
		$row_data{HEIGHT}    = shift @skin_height;
		$row_data{BUST}      = shift @skin_bust;
		$row_data{CUP}       = shift @skin_cupsize;
		$row_data{WAIST}     = shift @skin_waist;
		$row_data{HIP}       = shift @skin_hip;
		$row_data{BROG}      = shift @skin_brog;
		$row_data{COM}       = shift @skin_com;
		if ($hyouji == 1) {
			$row_data{WEEK1} = shift @skin_week1;
			$row_data{TIME1} = shift @skin_time1;
		} elsif ($hyouji == 2) {
			$row_data{WEEK1} = shift @skin_week1;
			$row_data{TIME1} = shift @skin_time1;
			$row_data{WEEK2} = shift @skin_week2;
			$row_data{TIME2} = shift @skin_time2;
		} elsif ($hyouji == 3) {
			$row_data{WEEK1} = shift @skin_week1;
			$row_data{TIME1} = shift @skin_time1;
			$row_data{WEEK2} = shift @skin_week2;
			$row_data{TIME2} = shift @skin_time2;
			$row_data{WEEK3} = shift @skin_week3;
			$row_data{TIME3} = shift @skin_time3;
		} elsif ($hyouji == 4) {
			$row_data{WEEK1} = shift @skin_week1;
			$row_data{TIME1} = shift @skin_time1;
			$row_data{WEEK2} = shift @skin_week2;
			$row_data{TIME2} = shift @skin_time2;
			$row_data{WEEK3} = shift @skin_week3;
			$row_data{TIME3} = shift @skin_time3;
			$row_data{WEEK4} = shift @skin_week4;
			$row_data{TIME4} = shift @skin_time4;
		} elsif ($hyouji == 5) {
			$row_data{WEEK1} = shift @skin_week1;
			$row_data{TIME1} = shift @skin_time1;
			$row_data{WEEK2} = shift @skin_week2;
			$row_data{TIME2} = shift @skin_time2;
			$row_data{WEEK3} = shift @skin_week3;
			$row_data{TIME3} = shift @skin_time3;
			$row_data{WEEK4} = shift @skin_week4;
			$row_data{TIME4} = shift @skin_time4;
			$row_data{WEEK5} = shift @skin_week5;
			$row_data{TIME5} = shift @skin_time5;
		} elsif ($hyouji == 6) {
			$row_data{WEEK1} = shift @skin_week1;
			$row_data{TIME1} = shift @skin_time1;
			$row_data{WEEK2} = shift @skin_week2;
			$row_data{TIME2} = shift @skin_time2;
			$row_data{WEEK3} = shift @skin_week3;
			$row_data{TIME3} = shift @skin_time3;
			$row_data{WEEK4} = shift @skin_week4;
			$row_data{TIME4} = shift @skin_time4;
			$row_data{WEEK5} = shift @skin_week5;
			$row_data{TIME5} = shift @skin_time5;
			$row_data{WEEK6} = shift @skin_week6;
			$row_data{TIME6} = shift @skin_time6;
		} else {
			$row_data{WEEK1} = shift @skin_week1;
			$row_data{TIME1} = shift @skin_time1;
			$row_data{WEEK2} = shift @skin_week2;
			$row_data{TIME2} = shift @skin_time2;
			$row_data{WEEK3} = shift @skin_week3;
			$row_data{TIME3} = shift @skin_time3;
			$row_data{WEEK4} = shift @skin_week4;
			$row_data{TIME4} = shift @skin_time4;
			$row_data{WEEK5} = shift @skin_week5;
			$row_data{TIME5} = shift @skin_time5;
			$row_data{WEEK6} = shift @skin_week6;
			$row_data{TIME6} = shift @skin_time6;
			$row_data{WEEK7} = shift @skin_week7;
			$row_data{TIME7} = shift @skin_time7;
		}
# 行のリファレンスをループに入れる！
		push(@loop_data, \%row_data);
	}
# ループを保持する配列の初期化
	my @loop_week_data = ();
	while (@skin_weektitle) {
# 行データのための新しいハッシュを取得
		my %row_data;
# 行を埋める
		$row_data{WEEKTITLE} = shift @skin_weektitle;
# 行のリファレンスをループに入れる！
		push(@loop_week_data, \%row_data);
	}
# 最後にデータをparamに代入する
	$tmpl->param( THIS_LOOP => \@loop_data,
		SKINPATH   => $skinlib,
		MAINTITLE  => $MainTitle,
		PAGETITLE  => $pagetitle,
		ALLTITLE   => $alltitle,
		WEEK_LOOP  => \@loop_week_data,
		NEWFACE    => $NewFace,
		PASSLK     => $passlk,
		COPYRIGHT  => 1,
		VER        => $ver
	);
# 配列初期化
	&ArrayClear;
}
# ----------------------------------------------------------
# 近日スケジュールの展開（スクリーン）
sub ScheduleScreen
{
	local($i,$j,$k,@wkinmu);
	if ($r_kin1 != $kintai[$#kintai]) {
		push(@skin_time1, $kintai[$r_kin1]);
	} else {
		$r_time1 =~ s/00:00/早朝/;
		push(@skin_time1, $r_time1);
	}
	if ($r_kin2 != $kintai[$#kintai]) {
		push(@skin_time2, $kintai[$r_kin2]);
	} else {
		$r_time2 =~ s/00:00/早朝/;
		push(@skin_time2, $r_time2);
	}
	if ($r_kin3 != $kintai[$#kintai]) {
		push(@skin_time3, $kintai[$r_kin3]);
	} else {
		$r_time3 =~ s/00:00/早朝/;
		push(@skin_time3, $r_time3);
	}
	if ($r_kin4 != $kintai[$#kintai]) {
		push(@skin_time4, $kintai[$r_kin4]);
	} else {
		$r_time4 =~ s/00:00/早朝/;
		push(@skin_time4, $r_time4);
	}
	if ($r_kin5 != $kintai[$#kintai]) {
		push(@skin_time5, $kintai[$r_kin5]);
	} else {
		$r_time5 =~ s/00:00/早朝/;
		push(@skin_time5, $r_time5);
	}
	if ($r_kin6 != $kintai[$#kintai]) {
		push(@skin_time6, $kintai[$r_kin6]);
	} else {
		$r_time6 =~ s/00:00/早朝/;
		push(@skin_time6, $r_time6);
	}
	if ($r_kin7 != $kintai[$#kintai]) {
		push(@skin_time7, $kintai[$r_kin7]);
	} else {
		$r_time7 =~ s/00:00/早朝/;
		push(@skin_time7, $r_time7);
	}
	push(@skin_week1, "<a href=\"$script?action=schedule&yohbi=0$parm2\" title=\"出勤\" target=\"_self\">$w_hi[0]</a>");
	push(@skin_week2, "<a href=\"$script?action=schedule&yohbi=1$parm2\" title=\"出勤\" target=\"_self\">$w_hi[1]</a>");
	push(@skin_week3, "<a href=\"$script?action=schedule&yohbi=2$parm2\" title=\"出勤\" target=\"_self\">$w_hi[2]</a>");
	push(@skin_week4, "<a href=\"$script?action=schedule&yohbi=3$parm2\" title=\"出勤\" target=\"_self\">$w_hi[3]</a>");
	push(@skin_week5, "<a href=\"$script?action=schedule&yohbi=4$parm2\" title=\"出勤\" target=\"_self\">$w_hi[4]</a>");
	push(@skin_week6, "<a href=\"$script?action=schedule&yohbi=5$parm2\" title=\"出勤\" target=\"_self\">$w_hi[5]</a>");
	push(@skin_week7, "<a href=\"$script?action=schedule&yohbi=6$parm2\" title=\"出勤\" target=\"_self\">$w_hi[6]</a>");
# 画像サイズ取得
	($wsizes,$hsizes) = &getimagesize("$r_p");
# 画像表示
	if ($r_p ne "" && $r_link ne "") {
		if ($l_hime == 1) {
			$skin_image = "<a href=\"javascript:$openpopup(\'$r_link\',$s_w,$s_h)\" title=\"$r_name\">";
		} else {
			$skin_image = "<a href=\"$r_link\" target=\"_self\" title=\"$r_name\">";
		}
		if ($wsizes != 0 && $hsizes != 0) {
			$skin_image .= "<img src=\"$r_p\" width=\"$wsizes\" height=\"$hsizes\" border=\"0\" onMouseover=\"makevisible(this,1)\" onMouseout=\"makevisible(this,0)\" style=\"filter:alpha(opacity=100);-moz-opacity:1\"></a>";
		} else {
			$skin_image .= "<img src=\"$r_p\" border=\"0\" onMouseover=\"makevisible(this,1)\" onMouseout=\"makevisible(this,0)\" style=\"filter:alpha(opacity=100);-moz-opacity:1\"></a>";
		}
	} elsif ($r_p ne "") {
		if ($wsizes != 0 && $hsizes != 0) {
			$skin_image = "<img src=\"$r_p\" width=\"$wsizes\" height=\"$hsizes\" border=\"0\">";
		} else {
			$skin_image = "<img src=\"$r_p\" border=\"0\">";
		}
	} else {
		$skin_image = $ng;
	}
# リンク
	if ($r_link2 && ($t_link[1] == 0 || $t_link[1] == 2)) {
		if ($t_link[2] == 0) {
			$w_link2 = "<a href=\"$r_link2\" title=\"$t_link[0]\" target=\"_self\" id=\"scdlbrog\">$t_link[0]</a>";
		} else {
			$w_link2 = "<a href=\"$r_link2\" title=\"$t_link[0]\" target=\"_blank\" id=\"scdlbrog\">$t_link[0]</a>";
		}
	} else {
		$w_link2 = "";
	}
	push(@skin_image, $skin_image);
	push(@skin_brog, $w_link2);
# 経過日数の算出
	$kdays = &lib'Kdays($r_in);
	if ($kdays <= $NewFace) { push(@skin_newface, $g_NewFace); } else { push(@skin_newface, ""); }
	push(@skin_name, "<a href=\"$script?action=schedule&sort=1$parm3\" title=\"名前順\" target=\"_self\" id=\"scdlname\">$r_name</a>");
	push(@skin_honorific, $k[$r_k]);
	push(@skin_age, "<a href=\"$script?action=schedule&sort=2$parm3\" title=\"年齢順\" target=\"_self\" id=\"scdlage\">$r_age</a>");
	push(@skin_height, "<a href=\"$script?action=schedule&sort=3$parm3\" title=\"身長順\" target=\"_self\" id=\"scdlheight\">$r_t</a>");
	push(@skin_bust, "<a href=\"$script?action=schedule&sort=4$parm3\" title=\"バスト順\" target=\"_self\" id=\"scdlbust\">$r_b</a>");
	push(@skin_cupsize, "<a href=\"$script?action=schedule&sort=5$parm3\" title=\"カップ順\" target=\"_self\" id=\"scdlcup\">$cup[$r_cup]</a>");
	push(@skin_waist, "<a href=\"$script?action=schedule&sort=6$parm3\" title=\"ウエスト順\" target=\"_self\" id=\"scdlwaist\">$r_w</a>");
	push(@skin_hip, "<a href=\"$script?action=schedule&sort=7$parm3\" title=\"ヒップ順\" target=\"_self\" id=\"scdlhip\">$r_h</a>");
	push(@skin_com, "<a href=\"$script?action=schedule&sort=8$parm3\" title=\"コメント順\" target=\"_self\" id=\"scdlcom\">$r_com</a>");
}
# ----------------------------------------------------------
# ウィークの展開
sub Week
{
# テンプレート
	$tmplfile = $skinlib . $himeweek if (!$tmplfile);
	$tmpl = HTML::Template->new(filename => $tmplfile);
# 日付曜日編集
	(@p_hi) = &lib'Yobi(1,$year,$today,$f_suncolor,$f_satcolor,@wdays_j);
# 配列初期化
	&ArrayClear;
# ログが存在するとき
	if (-e $logfile) {
		&Read;
		if ($#new != -1) {
			&Sort(4);
		}
	}
# 表示日数判定
	for $i (0..$hyouji-1) {
		push(@skin_date, $p_hi[$i]);
		push(@skin_time, $wkinmu[$i]);
	}
# ループを保持する配列の初期化
	my @loop_data = ();
	while (@skin_date) {
# 行データのための新しいハッシュを取得
		my %row_data;
# 行を埋める
		$row_data{DATE}  = shift @skin_date;
# 行のリファレンスをループに入れる！
		push(@loop_data, \%row_data);
	}
# ループを保持する配列の初期化
	my @loop_time = ();
	while (@skin_time) {
# 行データのための新しいハッシュを取得
		my %row_time;
# 行を埋める
		$row_time{TIME}  = shift @skin_time;
# 行のリファレンスをループに入れる！
		push(@loop_time, \%row_time);
	}
# 最後にデータをparamに代入する
	$tmpl->param( THIS_LOOP1 => \@loop_data,
		THIS_LOOP2 => \@loop_time,
		SKINPATH  => $skinlib,
		MAINTITLE => $MainTitle,
		IMAGE     => $skin_image,
		NEW       => $skin_newface,
		NAME      => $r_name,
		HONORIFIC => $k[$r_k],
		AGE       => $r_age,
		HEIGHT    => $r_t,
		BUST      => $r_b,
		CUP       => $cup[$r_cup],
		WAIST     => $r_w,
		HIP       => $r_h,
		BROG      => $w_link2,
		COM       => $r_com
	);
# 配列初期化
	&ArrayClear;
}
# ----------------------------------------------------------
# ウィークの展開（スクリーン）
sub WeekScreen
{
# 勤務時間
	if ($r_kin1 != $kintai[$#kintai]) {
		$wkinmu[0] = $kintai[$r_kin1];
	} else {
		$r_time1 =~ s/00:00/早朝/;
		$wkinmu[0] = $r_time1;
	}
	if ($r_kin2 != $kintai[$#kintai]) {
		$wkinmu[1] = $kintai[$r_kin2];
	} else {
		$r_time2 =~ s/00:00/早朝/;
		$wkinmu[1] = $r_time2;
	}
	if ($r_kin3 != $kintai[$#kintai]) {
		$wkinmu[2] = $kintai[$r_kin3];
	} else {
		$r_time3 =~ s/00:00/早朝/;
		$wkinmu[2] = $r_time3;
	}
	if ($r_kin4 != $kintai[$#kintai]) {
		$wkinmu[3] = $kintai[$r_kin4];
	} else {
		$r_time4 =~ s/00:00/早朝/;
		$wkinmu[3] = $r_time4;
	}
	if ($r_kin5 != $kintai[$#kintai]) {
		$wkinmu[4] = $kintai[$r_kin5];
	} else {
		$r_time5 =~ s/00:00/早朝/;
		$wkinmu[4] = $r_time5;
	}
	if ($r_kin6 != $kintai[$#kintai]) {
		$wkinmu[5] = $kintai[$r_kin6];
	} else {
		$r_time6 =~ s/00:00/早朝/;
		$wkinmu[5] = $r_time6;
	}
	if ($r_kin7 != $kintai[$#kintai]) {
		$wkinmu[6] = $kintai[$r_kin7];
	} else {
		$r_time7 =~ s/00:00/早朝/;
		$wkinmu[6] = $r_time7;
	}
# 経過日数の算出
	$kdays = &lib'Kdays($r_in);
	if ($kdays <= $NewFace) {
		$skin_newface = $g_NewFace;
	} else {
		$skin_newface = "";
	}
# 画像サイズ取得
	($wsizes,$hsizes) = &getimagesize("$r_p");
# 画像表示
	if ($r_p ne "" && $r_link ne "" && $form{'pop'} ne "no") {
		if ($l_hime == 1) {
			$skin_image = "<a href=\"javascript:$openpopup(\'$r_link\',$s_w,$s_h)\" title=\"$r_name\">";
		} else {
			$skin_image = "<a href=\"$r_link\" target=\"_self\" title=\"$r_name\">";
		}
		if ($wsizes != 0 && $hsizes != 0) {
			$skin_image .= "<img src=\"$r_p\" width=\"$wsizes\" height=\"$hsizes\" border=\"0\" onMouseover=\"makevisible(this,1)\" onMouseout=\"makevisible(this,0)\" style=\"filter:alpha(opacity=100);-moz-opacity:1\"></a>";
		} else {
			$skin_image .= "<img src=\"$r_p\" border=\"0\" onMouseover=\"makevisible(this,1)\" onMouseout=\"makevisible(this,0)\" style=\"filter:alpha(opacity=100);-moz-opacity:1\"></a>";
		}
	} elsif ($r_p ne "") {
		if ($wsizes != 0 && $hsizes != 0) {
			$skin_image = "<img src=\"$r_p\" width=\"$wsizes\" height=\"$hsizes\" border=\"0\">";
		} else {
			$skin_image = "<img src=\"$r_p\" border=\"0\">";
		}
	} else {
		$skin_image = $ng;
	}
# リンク
	if ($r_link2 && ($t_link[1] == 0 || $t_link[1] == 2)) {
		if ($t_link[2] == 0) {
			$w_link2 = "<a href=\"$r_link2\" title=\"$t_link[0]\" target=\"_self\" id=\"scdlbrog\">$t_link[0]</a>";
		} else {
			$w_link2 = "<a href=\"$r_link2\" title=\"$t_link[0]\" target=\"_blank\" id=\"scdlbrog\">$t_link[0]</a>";
		}
	} else {
		$w_link2 = "";
	}
}
# ----------------------------------------------------------
# 書き込み画面の展開
sub Write
{
	local($i,$j,$k,$l);
	local(@day,@kin,@time);
# テンプレート
	$tmplfile = $skinlib . $himeadmin if (!$tmplfile);
	$tmpl = HTML::Template->new(filename => $tmplfile);
# 祝日／振替休日等の算出
	@Holiday = &lib'DayModify($year);
# 祝日／振替休日等の取得
	@flag   = ();
	@w_day  = ();
	@w_yobi = ();
	@w_hi   = ();
	for ($i = 0; $i <= 6; $i++){
		($f_day,$w_yobi[$i]) = &lib'FutureDay($today,$i);
		$w_year     = substr($f_day,0,4);
		$w_mon      = substr($f_day,4,2);
		$w_day[$i]  = substr($f_day,6,2);
# 祝日／振替休日等の算出
		if ($year != $w_year) { @Holiday = &lib'DayModify($w_year); }
		$flag[$i]   = &lib'MakeEvent($w_year,$w_mon,$w_day[$i],@Holiday);
# 0=日 6=土 , 1=休日
		if ($w_yobi[$i] == 0 || $flag[$i] == 1) {
			$w_hi[$i] = "<font color=\"$f_suncolor\">$w_day[$i]($wdays_j[$w_yobi[$i]])</font>";
		} elsif ($w_yobi[$i] == 6) {
			$w_hi[$i] = "<font color=\"$f_satcolor\">$w_day[$i]($wdays_j[$w_yobi[$i]])</font>";
		} else {
			$w_hi[$i] = "$w_day[$i]($wdays_j[$w_yobi[$i]])";
		}
	}
	if ($action eq 'write' || $action eq 'replace' || $action eq 'insert') {
		$whyou = '出勤表の追加';
	} else {
		$whyou = '出勤表の更新／削除';
	}
# 配列初期化
	&ArrayClear;
# ログが存在するとき
	if (-e $logfile) { &Read; }
	if ($action eq 'write' || $action eq 'replace' || $action eq 'insert') {
		&InsertDisp(@w_hi);
	} else {
		&ReplaceDisp(@w_hi);
	}
# ログが存在するとき
	if (-e $logfile) {
# ソート指定
		&Sort(3);
	}
# ループを保持する配列の初期化
	my @loop_data = ();
	while (@skin_image) {
# 行データのための新しいハッシュを取得
		my %row_data;
# 行を埋める
		$row_data{IMAGE}  = shift @skin_image;
		$row_data{NEW}    = shift @skin_newface;
		$row_data{NAME}   = shift @skin_name;
		$row_data{AGE}    = shift @skin_age;
		$row_data{HEIGHT} = shift @skin_height;
		$row_data{BUST}   = shift @skin_bust;
		$row_data{CUP}    = shift @skin_cupsize;
		$row_data{WAIST}  = shift @skin_waist;
		$row_data{HIP}    = shift @skin_hip;
		$row_data{BROG}   = shift @skin_brog;
		$row_data{COM}    = shift @skin_com;
		$row_data{WEEK1}  = shift @skin_week1;
		$row_data{WEEK2}  = shift @skin_week2;
		$row_data{WEEK3}  = shift @skin_week3;
		$row_data{WEEK4}  = shift @skin_week4;
		$row_data{WEEK5}  = shift @skin_week5;
		$row_data{WEEK6}  = shift @skin_week6;
		$row_data{WEEK7}  = shift @skin_week7;
		$row_data{TIME1}  = shift @skin_time1;
		$row_data{TIME2}  = shift @skin_time2;
		$row_data{TIME3}  = shift @skin_time3;
		$row_data{TIME4}  = shift @skin_time4;
		$row_data{TIME5}  = shift @skin_time5;
		$row_data{TIME6}  = shift @skin_time6;
		$row_data{TIME7}  = shift @skin_time7;
		$row_data{SCRIPT} = shift @skin_script;
		$row_data{EDIT_SUBMIT}  = shift @edit_submit;
		push(@loop_data, \%row_data);
	}
# ループを保持する配列の初期化
	my @edit_loop_data = ();
	while (@edit_hi) {
# 行データのための新しいハッシュを取得
		my %row_data;
# 行を埋める
		$row_data{EDIT_HI}         = shift @edit_hi;
		$row_data{EDIT_KINTAI}     = shift @edit_kintai;
		$row_data{EDIT_SELECTTIME} = shift @edit_selecttime;
		$row_data{EDIT_LAST}       = shift @edit_last;
		push(@edit_loop_data, \%row_data);
	}
# 最後にデータをparamに代入する
	$tmpl->param( THIS_LOOP => \@loop_data,
		SKINPATH       => $skinlib,
		MAINTITLE      => $MainTitle,
		SCRIPT         => $script,
		PAGETITLE1     => $title1,
		PAGETITLE2     => $title2,
		TITLENAME      => $whyou,
		EDIT_PASSWORD  => $edit_password,
		EDIT_ACTION    => $edit_action,
		EDIT_IMAGE     => $edit_image,
		EDIT_NAME      => $edit_name,
		EDIT_INDATE    => $edit_indate,
		EDIT_AGE       => $edit_age,
		EDIT_HEIGHT    => $edit_height,
		EDIT_BUST      => $edit_bust,
		EDIT_CUP       => $edit_cup,
		EDIT_WAIST     => $edit_waist,
		EDIT_HIP       => $edit_hip,
		EDIT_IMGE      => $edit_imge,
		EDIT_INFO      => $edit_info,
		EDIT_INFO2     => $edit_info2,
		EDIT_BROG      => $edit_brog,
		EDIT_COM       => $edit_com,
		EDIT_SUN       => $edit_week[0],
		EDIT_MON       => $edit_week[1],
		EDIT_TUE       => $edit_week[2],
		EDIT_WED       => $edit_week[3],
		EDIT_THU       => $edit_week[4],
		EDIT_FRI       => $edit_week[5],
		EDIT_SAT       => $edit_week[6],
		EDIT_TIME      => $edit_time,
		EDIT_WLAST     => $edit_wlast,
		THIS_EDIT_LOOP => \@edit_loop_data,
		EDIT_SUBNAME   => $edit_subname,
		COPYRIGHT      => 1,
		VER            => $ver
	);
# 配列初期化
	&ArrayClear;
}
# ----------------------------------------------------------
# 書き込み画面の展開（スクリーン）
sub WriteScreen
{
	local($i,$j,$k,$l);
	if ($r_kin1 != $kintai[$#kintai]) {
		push(@skin_time1, $kintai[$r_kin1]);
	} else {
		$r_time1 =~ s/00:00/早朝/;
		push(@skin_time1, $r_time1);
	}
	if ($r_kin2 != $kintai[$#kintai]) {
		push(@skin_time2, $kintai[$r_kin2]);
	} else {
		$r_time2 =~ s/00:00/早朝/;
		push(@skin_time2, $r_time2);
	}
	if ($r_kin3 != $kintai[$#kintai]) {
		push(@skin_time3, $kintai[$r_kin3]);
	} else {
		$r_time3 =~ s/00:00/早朝/;
		push(@skin_time3, $r_time3);
	}
	if ($r_kin4 != $kintai[$#kintai]) {
		push(@skin_time4, $kintai[$r_kin4]);
	} else {
		$r_time4 =~ s/00:00/早朝/;
		push(@skin_time4, $r_time4);
	}
	if ($r_kin5 != $kintai[$#kintai]) {
		push(@skin_time5, $kintai[$r_kin5]);
	} else {
		$r_time5 =~ s/00:00/早朝/;
		push(@skin_time5, $r_time5);
	}
	if ($r_kin6 != $kintai[$#kintai]) {
		push(@skin_time6, $kintai[$r_kin6]);
	} else {
		$r_time6 =~ s/00:00/早朝/;
		push(@skin_time6, $r_time6);
	}
	if ($r_kin7 != $kintai[$#kintai]) {
		push(@skin_time7, $kintai[$r_kin7]);
	} else {
		$r_time7 =~ s/00:00/早朝/;
		push(@skin_time7, $r_time7);
	}
	push(@skin_week1, $w_hi[0]);
	push(@skin_week2, $w_hi[1]);
	push(@skin_week3, $w_hi[2]);
	push(@skin_week4, $w_hi[3]);
	push(@skin_week5, $w_hi[4]);
	push(@skin_week6, $w_hi[5]);
	push(@skin_week7, $w_hi[6]);
# 画像サイズ取得
	($wsizes,$hsizes) = &getimagesize("$r_p");
# 画像表示
	if ($r_p ne "" && $r_link ne "") {
		if ($l_hime == 1) {
			$skin_image = "<a href=\"javascript:$openpopup(\'$r_link\',$s_w,$s_h)\">";
		} else {
			$skin_image = "<a href=\"$r_link\" target=\"_self\">";
		}
		if ($wsizes != 0 && $hsizes != 0) {
			$skin_image .= "<img src=\"$r_p\" width=\"$wsizes\" height=\"$hsizes\" border=\"0\" onMouseover=\"makevisible(this,1)\" onMouseout=\"makevisible(this,0)\" style=\"filter:alpha(opacity=100);-moz-opacity:1\"></a>";
		} else {
			$skin_image .= "<img src=\"$r_p\" border=\"0\" onMouseover=\"makevisible(this,1)\" onMouseout=\"makevisible(this,0)\" style=\"filter:alpha(opacity=100);-moz-opacity:1\"></a>";
		}
	} elsif ($r_p ne "") {
		if ($wsizes != 0 && $hsizes != 0) {
			$skin_image = "<img src=\"$r_p\" width=\"$wsizes\" height=\"$hsizes\" border=\"0\">";
		} else {
			$skin_image = "<img src=\"$r_p\" border=\"0\">";
		}
	} else {
		$skin_image = $ng;
	}
# リンク
	if ($r_link2 && ($t_link[1] == 0 || $t_link[1] == 2)) {
		if ($t_link[2] == 0) {
			$w_link2 = "<a href=\"$r_link2\" title=\"$t_link[0]\" target=\"_self\">$t_link[0]</a>";
		} else {
			$w_link2 = "<a href=\"$r_link2\" title=\"$t_link[0]\" target=\"_blank\">$t_link[0]</a>";
		}
	} else {
		$w_link2 = "";
	}
	push(@skin_image, $skin_image);
	push(@skin_brog, $w_link2);
# 経過日数の算出
	$kdays = &lib'Kdays($r_in);
	if ($kdays <= $NewFace) { push(@skin_newface, $g_NewFace); } else { push(@skin_newface, ""); }
	push(@skin_name, "$r_name $k[$r_k]");
	push(@skin_age, $r_age);
	push(@skin_height, $r_t);
	push(@skin_bust, $r_b);
	push(@skin_cupsize, $cup[$r_cup]);
	push(@skin_waist, $r_w);
	push(@skin_hip, $r_h);
	push(@skin_com, $r_com);
	push(@skin_script, $script);
	push(@edit_submit, "<input type=hidden name=sort value=\"$sort\"><input type=hidden name=name value=\"$r_name\"><input type=hidden name=pass value=\"$pass\">");
}
# ----------------------------------------------------------
# 追加画面の展開
sub InsertDisp
{
	local(@w_hi) = @_;
	local($l);
	$edit_password = $pass;
	$edit_action   = "insert";
	$edit_image    = " ";
# 名前
	$edit_name = "名前<input name=\"name\" size=\"20\" type=\"text\" class=\"list\"> ";
# 敬称
	$edit_name .= "<select name=\"k\" class=\"combo\">";
	for($i = 0; $i < $#k; $i++){
		if ($i == $k[$#k]){
			$edit_name .= "<option value=\"$i\" selected>$k[$i]</option>";
		}else{
			$edit_name .= "<option value=\"$i\">$k[$i]</option>";
		}
	}
	$edit_name .= "</select>";
# 入店日
	$edit_indate = "入店日<select name=\"inyear\" class=\"combo\">";
	$next_year = $year - 2;
	for($i = 0; $i <= 3; $i++){
		if ($year == $next_year){
			$edit_indate .= "<option value=\"$next_year\" selected>$next_year</option>";
		}else{
			$edit_indate .= "<option value=\"$next_year\">$next_year</option>";
		}
		$next_year++;
	}
	$edit_indate .= "</select>年<select name=\"inmon\" class=\"combo\">";
	for($i = 1; $i <= 12; $i++){
		if ($mon == $i){
			$edit_indate .= "<option value=\"$i\" selected>$i</option>";
		}else{
			$edit_indate .= "<option value=\"$i\">$i</option>";
		}
	}
	$edit_indate .= "</select>月<select name=\"inday\" class=\"combo\">";
	for($i = 1; $i <= 31; $i++){
		if ($day == $i){
			$edit_indate .= "<option value=\"$i\" selected>$i</option>";
		}else{
			$edit_indate .= "<option value=\"$i\">$i</option>";
		}
	}
	$edit_indate .= "</select>日";
# 年齢
	$edit_age = "Age<select name=\"age\" class=\"combo\">";
	$edit_age .= "<option value=\"$age_se[0]\" selected>$age_se[0]</option>";
	for ($i = ($age_se[0]+1); $i <= $age_se[1]; $i++){
		$edit_age .= "<option value=\"$i\">$i</option>";
	}
	$edit_age .= "</select>";
# 身長
	$edit_height = "T<select name=\"t\" class=\"combo\">";
	$edit_height .= "<option value=\"$t_se[0]\" selected>$t_se[0]</option>";
	for ($i = ($t_se[0]+1); $i <= $t_se[1]; $i++){
		$edit_height .= "<option value=\"$i\">$i</option>";
	}
	$edit_height .= "</select>";
# バスト
	$edit_bust = "B<select name=\"b\" class=\"combo\">";
	$edit_bust .= "<option value=\"$bh_se[0]\" selected>$bh_se[0]</option>";
	for ($i = ($bh_se[0]+1); $i <= $bh_se[1]; $i++){
		$edit_bust .= "<option value=\"$i\">$i</option>";
	}
	$edit_bust .= "</select>";
# カップ
	$edit_cup = "<select name=\"cup\" class=\"combo\">";
	for($i = 0; $i < $#cup; $i++){
		if ($i == $cup[$#cup]){
			$edit_cup .= "<option value=\"$i\" selected>$cup[$i]</option>";
		}else{
			$edit_cup .= "<option value=\"$i\">$cup[$i]</option>";
		}
	}
	$edit_cup .= "</select>";
# ウエスト
	$edit_waist = "W<select name=\"w\" class=\"combo\">";
	$edit_waist .= "<option value=\"$w_se[0]\" selected>$w_se[0]</option>";
	for ($i = ($w_se[0]+1); $i <= $w_se[1]; $i++){
		$edit_waist .= "<option value=\"$i\">$i</option>";
	}
	$edit_waist .= "</select>";
# ヒップ
	$edit_hip = "H<select name=\"h\" class=\"combo\">";
	$edit_hip .= "<option value=\"$bh_se[0]\" selected>$bh_se[0]</option>";
	for ($i = ($bh_se[0]+1); $i <= $bh_se[1]; $i++){
		$edit_hip .= "<option value=\"$i\">$i</option>";
	}
	$edit_hip .= "</select>";
# 画像指定
	$edit_imge = "画像<input name=\"p\" size=\"20\" type=\"text\" class=\"list\">";
	$edit_imge .= "<input type=hidden name=sort value=\"$sort\">";
# PC照会リンク先
	$edit_info  = "PC-L<input name=\"link\" size=\"20\" type=\"text\" class=\"list\">";
# 携帯照会リンク先
	$edit_info2 = "携帯-L<input name=\"link3\" size=\"20\" type=\"text\" class=\"list\">";
# リンク先
	$edit_brog = "$t_link[0]<input name=\"link2\" size=\"20\" type=\"text\" class=\"list\">";
# コメント
	$edit_com = "コメント<input name=\"com\" size=\"20\" type=\"text\" class=\"list\">";
# 毎週
	@edit_week = ();
	for ($i = 0; $i <= $#wdays_e; $i++){
		$edit_week[$i] = "<input type=\"checkbox\" name=\"$wdays_e[$i]\" value=\"on\" class=\"check\">$wdays_j[$i]";
	}
# 毎週出勤時間
	$edit_time = "<select name=\"hhs\" class=\"combo\">";
	$edit_time .= "<option value=\"1\" selected>01</option>";
	for($i = 2; $i <= 24; $i++){
		$w_hh = sprintf("%02d", $i);
		$edit_time .= "<option value=\"$i\">$w_hh</option>";
	}
	$edit_time .= "</select><select name=\"mms\" class=\"combo\">";
	$edit_time .= "<option value=\"0\" selected>00</option>";
	$edit_time .= "<option value=\"30\">30</option>";
	$edit_time .= "</select>-<select name=\"hhe\" class=\"combo\">";
	$edit_time .= "<option value=\"1\" selected>01</option>";
	for($i = 2; $i <= 24; $i++){
		$w_hh = sprintf("%02d", $i);
		$edit_time .= "<option value=\"$i\">$w_hh</option>";
	}
	$edit_time .= "</select><select name=\"mme\" class=\"combo\">";
	$edit_time .= "<option value=\"0\" selected>00</option>";
	$edit_time .= "<option value=\"30\">30</option>";
	$edit_time .= "</select>";
	$edit_wlast  = "<input type=\"checkbox\" name=\"first\" value=\"on\" class=\"check\">早朝&nbsp;";
	$edit_wlast .= "<input type=\"checkbox\" name=\"last\" value=\"on\" class=\"check\">LAST";
# 近日出勤時間
	for ($j = 0; $j <= 6; $j++){
		$edit_kintai = "";
		if ($kinmu == 1) {
			$edit_kintai .= "<tr><td><input type=\"radio\" name=\"kinmu$j\" value=0 class=\"radio\">$kintai[0]</td></tr>";
			$edit_kintai .= "<tr><td><input type=\"radio\" name=\"kinmu$j\" value=1 class=\"radio\" checked>$kintai[1]</td></tr>";
		} else {
			$edit_kintai .= "<tr><td><input type=\"radio\" name=\"kinmu$j\" value=0 class=\"radio\" checked>$kintai[0]</td></tr>";
			$edit_kintai .= "<tr><td><input type=\"radio\" name=\"kinmu$j\" value=1 class=\"radio\">$kintai[1]</td></tr>";
		}
		for($l = 2; $l < $#kintai; $l++){
			$edit_kintai .= "<tr><td><input type=\"radio\" name=\"kinmu$j\" value=$l class=\"radio\">$kintai[$l]</td></tr>";
		}
		$edit_selecttime = "<select name=\"hhs$j\" class=\"combo\">";
		$edit_selecttime .= "<option value=\"1\" selected>01</option>";
		for($i = 2; $i <= 24; $i++){
			$w_hh = sprintf("%02d", $i);
			$edit_selecttime .= "<option value=\"$i\">$w_hh</option>";
		}
		$edit_selecttime .= "</select><select name=\"mms$j\" class=\"combo\">";
		$edit_selecttime .= "<option value=\"0\" selected>00</option>";
		$edit_selecttime .= "<option value=\"30\">30</option>";
		$edit_selecttime .= "</select><br><select name=\"hhe$j\" class=\"combo\">";
		$edit_selecttime .= "<option value=\"1\" selected>01</option>";
		for($i = 2; $i <= 24; $i++){
			$w_hh = sprintf("%02d", $i);
			$edit_selecttime .= "<option value=\"$i\">$w_hh</option>";
		}
		$edit_selecttime .= "</select><select name=\"mme$j\" class=\"combo\">";
		$edit_selecttime .= "<option value=\"0\" selected>00</option>";
		$edit_selecttime .= "<option value=\"30\">30</option>";
		$edit_selecttime .= "</select>";
		$edit_last  = "<input type=\"checkbox\" name=\"first$j\" value=\"on\" class=\"check\">早朝<br>";
		$edit_last .= "<input type=\"checkbox\" name=\"last$j\" value=\"on\" class=\"check\">LAST";
		push(@edit_hi, $w_hi[$j]);
		push(@edit_kintai, $edit_kintai);
		push(@edit_selecttime, $edit_selecttime);
		push(@edit_last, $edit_last);
	}
	$edit_subname = "追加";
}
# ----------------------------------------------------------
# 更新／削除画面の展開
sub ReplaceDisp
{
	local(@w_hi) = @_;
	local($l);
# データの確保
	loop: foreach (@new) {
		($s_time,$s_in,$r_age,$r_t,$r_b,$r_cup,$r_w,$r_h,$r_name,$r_k,$r_in,$r_p,$r_link,$r_com,$r_yobi,$r_time,$r_day1,$r_kin1,$r_time1,$r_day2,$r_kin2,$r_time2,$r_day3,$r_kin3,$r_time3,$r_day4,$r_kin4,$r_time4,$r_day5,$r_kin5,$r_time5,$r_day6,$r_kin6,$r_time6,$r_day7,$r_kin7,$r_time7,$r_link2,$r_link3) = split(/\t/);
		if ("$form{'name'}" eq "$r_name") { last loop; }
	}
	@day  = ($r_day1,$r_day2,$r_day3,$r_day4,$r_day5,$r_day6,$r_day7);
	@kin  = ($r_kin1,$r_kin2,$r_kin3,$r_kin4,$r_kin5,$r_kin6,$r_kin7);
	@time = ($r_time1,$r_time2,$r_time3,$r_time4,$r_time5,$r_time6,$r_time7);
	$edit_password = $pass;
	$edit_action   = "replace";
	$edit_image    = "";
# 経過日数の算出
	$kdays = &lib'Kdays($r_in);
	if ($kdays <= $NewFace) {
		$edit_image .= "$g_NewFace<br>";
	}
# 画像サイズ取得
	($wsizes,$hsizes) = &getimagesize("$r_p");
# 画像表示
	if ($r_p ne "" && $r_link ne "") {
		if ($l_hime == 1) {
			$edit_image .= "<a href=\"javascript:$openpopup(\'$r_link\',$s_w,$s_h)\">";
		} else {
			$edit_image .= "<a href=\"$r_link\" target=\"_self\">";
		}
		if ($wsizes != 0 && $hsizes != 0) {
			$edit_image .= "<img src=\"$r_p\" width=\"$wsizes\" height=\"$hsizes\" border=\"0\" onMouseover=\"makevisible(this,1)\" onMouseout=\"makevisible(this,0)\" style=\"filter:alpha(opacity=100);-moz-opacity:1\"></a>";
		} else {
			$edit_image .= "<img src=\"$r_p\" border=\"0\" onMouseover=\"makevisible(this,1)\" onMouseout=\"makevisible(this,0)\" style=\"filter:alpha(opacity=100);-moz-opacity:1\"></a>";
		}
		$edit_image .= "<br>（60x80）<br>";
	} elsif ($r_p ne "") {
		if ($wsizes != 0 && $hsizes != 0) {
			$edit_image .= "<img src=\"$r_p\" width=\"$wsizes\" height=\"$hsizes\" border=\"0\">";
		} else {
			$edit_image .= "<img src=\"$r_p\" border=\"0\">";
		}
		$edit_image .= "<br>（60x80）<br>";
	} else {
		$edit_image .= "<table cellpadding=\"0\" cellspacing=\"0\" border=\"0\">";
		$edit_image .= "<tr>";
		$edit_image .= "<td align=\"middle\" width=\"60\" height=\"80\" class=\"admin01\">";
		$edit_image .= "$ng</td>";
		$edit_image .= "</tr>";
		$edit_image .= "<tr>";
		$edit_image .= "<td align=\"middle\">（60x80）</td>";
		$edit_image .= "</tr>";
		$edit_image .= "</table>";
	}
	$edit_image .= "<input type=\"checkbox\" name=\"del\" value=\"on\" class=\"check\">削除";
# 名前
	$edit_name = "名前<input name=\"name\" value=\"$r_name\" size=\"20\" type=\"text\" class=\"list2\" readonly>&nbsp;";
# 敬称
	$edit_name .= "<select name=\"k\" class=\"combo\">";
	for($i = 0; $i < $#k; $i++){
		if ($i == $r_k){
			$edit_name .= "<option value=\"$i\" selected>$k[$i]</option>";
		}else{
			$edit_name .= "<option value=\"$i\">$k[$i]</option>";
		}
	}
	$edit_name .= "</select>";
# 入店日
	$w_year = substr($r_in,0,4); $w_mon = substr($r_in,4,2); $w_day = substr($r_in,6,2);
	$edit_indate = "入店日<select name=\"inyear\" class=\"combo\">";
	$n_year = $w_year - 2;
	for($i = 0; $i <= 3; $i++){
		if ($n_year == $w_year){
			$edit_indate .= "<option value=\"$n_year\" selected>$n_year</option>";
		}else{
			$edit_indate .= "<option value=\"$n_year\">$n_year</option>";
		}
		$n_year++;
	}
	$edit_indate .= "</select>年<select name=\"inmon\" class=\"combo\">";
	for($i = 1; $i <= 12; $i++){
		if ($i == $w_mon){
			$edit_indate .= "<option value=\"$i\" selected>$i</option>";
		}else{
			$edit_indate .= "<option value=\"$i\">$i</option>";
		}
	}
	$edit_indate .= "</select>月<select name=\"inday\" class=\"combo\">";
	for($i = 1; $i <= 31; $i++){
		if ($i == $w_day){
			$edit_indate .= "<option value=\"$i\" selected>$i</option>";
		}else{
			$edit_indate .= "<option value=\"$i\">$i</option>";
		}
	}
	$edit_indate .= "</select>日";
# 年齢
	$edit_age = "Age<select name=\"age\" class=\"combo\">";
	for ($i = $age_se[0]; $i <= $age_se[1]; $i++){
		if ($i == $r_age) {
			$edit_age .= "<option value=\"$i\" selected>$i</option>";
		} else {
			$edit_age .= "<option value=\"$i\">$i</option>";
		}
	}
	$edit_age .= "</select>";
# 身長
	$edit_height = "T<select name=\"t\" class=\"combo\">";
	for ($i = $t_se[0]; $i <= $t_se[1]; $i++){
		if ($i == $r_t) {
			$edit_height .= "<option value=\"$i\" selected>$i</option>";
		} else {
			$edit_height .= "<option value=\"$i\">$i</option>";
		}
	}
	$edit_height .= "</select>";
# バスト
	$edit_bust = "B<select name=\"b\" class=\"combo\">";
	for ($i = $bh_se[0]; $i <= $bh_se[1]; $i++){
		if ($i == $r_b) {
			$edit_bust .= "<option value=\"$i\" selected>$i</option>";
		} else {
			$edit_bust .= "<option value=\"$i\">$i</option>";
		}
	}
	$edit_bust .= "</select>";
# カップ
	$edit_cup = "<select name=\"cup\" class=\"combo\">";
	for($i = 0; $i < $#cup; $i++){
		if ($i == $r_cup){
			$edit_cup .= "<option value=\"$i\" selected>$cup[$i]</option>";
		}else{
			$edit_cup .= "<option value=\"$i\">$cup[$i]</option>";
		}
	}
	$edit_cup .= "</select>";
# ウエスト
	$edit_waist = "W<select name=\"w\" class=\"combo\">";
	for ($i = $w_se[0]; $i <= $w_se[1]; $i++){
		if ($i == $r_w) {
			$edit_waist .= "<option value=\"$i\" selected>$i</option>";
		} else {
			$edit_waist .= "<option value=\"$i\">$i</option>";
		}
	}
	$edit_waist .= "</select>";
# ヒップ
	$edit_hip = "H<select name=\"h\" class=\"combo\">";
	for ($i = $bh_se[0]; $i <= $bh_se[1]; $i++){
		if ($i == $r_h) {
			$edit_hip .= "<option value=\"$i\" selected>$i</option>";
		} else {
			$edit_hip .= "<option value=\"$i\">$i</option>";
		}
	}
	$edit_hip .= "</select>";
# 画像指定
	$edit_imge = "画像<input name=\"p\" value=\"$r_p\" size=\"20\" type=\"text\" class=\"list\">";
	$edit_imge .= "<input type=hidden name=sort value=\"$sort\">";
# PC照会リンク先
	$edit_info  = "PC-L<input name=\"link\" value=\"$r_link\" size=\"20\" type=\"text\" class=\"list\">";
# 携帯照会リンク先
	$edit_info2 = "携帯-L<input name=\"link3\" value=\"$r_link3\" size=\"20\" type=\"text\" class=\"list\">";
# リンク先
	$edit_brog = "$t_link[0]<input name=\"link2\" value=\"$r_link2\" size=\"20\" type=\"text\" class=\"list\">";
# コメント
	$edit_com = "コメント<input name=\"com\" value=\"$r_com\" size=\"20\" type=\"text\" class=\"list\">";
# 毎週
	@edit_week = ();
	@yobi = split(/\,/,$r_yobi);
	for ($i = 0; $i <= $#wdays_e; $i++){
		if ($yobi[$i] == 1) {
			$edit_week[$i] = "<input type=\"checkbox\" name=\"$wdays_e[$i]\" value=\"on\" checked class=\"check\">$wdays_j[$i]";
		} else {
			$edit_week[$i] = "<input type=\"checkbox\" name=\"$wdays_e[$i]\" value=\"on\" class=\"check\">$wdays_j[$i]";
		}
	}
# 毎週出勤時間
	$w_hhs   = substr($r_time,0,2);
	$w_mms   = substr($r_time,3,2);
	$w_first = substr($r_time,0,5);
	$w_last  = substr($r_time,-4,4);
	if ($w_last eq 'LAST') {
		$w_hhe = 1;
		$w_mme = 0;
	} else {
		$w_hhe = substr($r_time,8,2);
		$w_mme = substr($r_time,11,2);
	}
	$edit_time = "<select name=\"hhs\" class=\"combo\">";
	for($i = 1; $i <= 24; $i++){
		$w_hh = sprintf("%02d", $i);
		if ($w_hhs == $i) {
			$edit_time .= "<option value=\"$i\" selected>$w_hh</option>";
		} else {
			$edit_time .= "<option value=\"$i\">$w_hh</option>";
		}
	}
	$edit_time .= "</select><select name=\"mms\" class=\"combo\">";
	if ($w_mms == 0) {
		$edit_time .= "<option value=\"0\" selected>00</option>";
		$edit_time .= "<option value=\"30\">30</option>";
	} else {
		$edit_time .= "<option value=\"0\">00</option>";
		$edit_time .= "<option value=\"30\" selected>30</option>";
	}
	$edit_time .= "</select>-<select name=\"hhe\" class=\"combo\">";
	for($i = 1; $i <= 24; $i++){
		$w_hh = sprintf("%02d", $i);
		if ($w_hhe == $i) {
			$edit_time .= "<option value=\"$i\" selected>$w_hh</option>";
		} else {
			$edit_time .= "<option value=\"$i\">$w_hh</option>";
		}
	}
	$edit_time .= "</select><select name=\"mme\" class=\"combo\">";
	if ($w_mme == 0) {
		$edit_time .= "<option value=\"0\" selected>00</option>";
		$edit_time .= "<option value=\"30\">30</option>";
	} else {
		$edit_time .= "<option value=\"0\">00</option>";
		$edit_time .= "<option value=\"30\" selected>30</option>";
	}
	$edit_time .= "</select>";
	$edit_wlast = "";
	if ($w_first eq '00:00') {
		$edit_wlast .= "<input type=\"checkbox\" name=\"first\" value=\"on\" checked class=\"check\">早朝&nbsp;";
	} else {
		$edit_wlast .= "<input type=\"checkbox\" name=\"first\" value=\"on\" class=\"check\">早朝&nbsp;";
	}
	if ($w_last eq 'LAST') {
		$edit_wlast .= "<input type=\"checkbox\" name=\"last\" value=\"on\" checked class=\"check\">LAST";
	} else {
		$edit_wlast .= "<input type=\"checkbox\" name=\"last\" value=\"on\" class=\"check\">LAST";
	}
# 出勤時間
	for ($j = 0; $j <= 6; $j++){
		$edit_kintai = "";
		for($l = 0; $l < $#kintai; $l++){
			if ($kin[$j] == $l) {
				$edit_kintai .= "<tr><td><input type=\"radio\" name=\"kinmu$j\" value=$l class=\"radio\" checked>$kintai[$l]</td></tr>";
			} else {
				$edit_kintai .= "<tr><td><input type=\"radio\" name=\"kinmu$j\" value=$l class=\"radio\">$kintai[$l]</td></tr>";
			}
		}
		if ($time[$j] eq "01:00 - 01:00") {
			$time[$j] = $r_time;
		}
		$w_hhs   = substr($time[$j],0,2);
		$w_mms   = substr($time[$j],3,2);
		$w_first = substr($time[$j],0,5);
		$w_last  = substr($time[$j],-4,4);
		if ($w_last eq 'LAST') {
			$w_hhe = 1;
			$w_mme = 0;
		} else {
			$w_hhe = substr($time[$j],8,2);
			$w_mme = substr($time[$j],11,2);
		}
		$edit_selecttime = "<select name=\"hhs$j\" class=\"combo\">";
		for($i = 1; $i <= 24; $i++){
			$w_hh = sprintf("%02d", $i);
			if ($w_hhs == $i) {
				$edit_selecttime .= "<option value=\"$i\" selected>$w_hh</option>";
			} else {
				$edit_selecttime .= "<option value=\"$i\">$w_hh</option>";
			}
		}
		$edit_selecttime .= "</select><select name=\"mms$j\" class=\"combo\">";
		if ($w_mms == 0) {
			$edit_selecttime .= "<option value=\"0\" selected>00</option>";
			$edit_selecttime .= "<option value=\"30\">30</option>";
		} else {
			$edit_selecttime .= "<option value=\"0\">00</option>";
			$edit_selecttime .= "<option value=\"30\" selected>30</option>";
		}
		$edit_selecttime .= "</select><br><select name=\"hhe$j\" class=\"combo\">";
		for($i = 1; $i <= 24; $i++){
			$w_hh = sprintf("%02d", $i);
			if ($w_hhe == $i) {
				$edit_selecttime .= "<option value=\"$i\" selected>$w_hh</option>";
			} else {
				$edit_selecttime .= "<option value=\"$i\">$w_hh</option>";
			}
		}
		$edit_selecttime .= "</select><select name=\"mme$j\" class=\"combo\">";
		if ($w_mme == 0) {
			$edit_selecttime .= "<option value=\"0\" selected>00</option>";
			$edit_selecttime .= "<option value=\"30\">30</option>";
		} else {
			$edit_selecttime .= "<option value=\"0\">00</option>";
			$edit_selecttime .= "<option value=\"30\" selected>30</option>";
		}
		$edit_selecttime .= "</select>";
		$edit_last = "";
		if ($w_first eq '00:00') {
			$edit_last .= "<input type=\"checkbox\" name=\"first$j\" value=\"on\" checked class=\"check\">早朝<br>";
		} else {
			$edit_last .= "<input type=\"checkbox\" name=\"first$j\" value=\"on\" class=\"check\">早朝<br>";
		}
		if ($w_last eq 'LAST') {
			$edit_last .= "<input type=\"checkbox\" name=\"last$j\" value=\"on\" checked class=\"check\">LAST";
		} else {
			$edit_last .= "<input type=\"checkbox\" name=\"last$j\" value=\"on\" class=\"check\">LAST";
		}
		push(@edit_hi, $w_hi[$j]);
		push(@edit_kintai, $edit_kintai);
		push(@edit_selecttime, $edit_selecttime);
		push(@edit_last, $edit_last);
	}
	$edit_subname = "更新";
#	print "<input type=hidden name=no value=\"19\">\n";
}
# ----------------------------------------------------------
# ログの入力
sub Read
{
	local($i,$j,$k);
	local(@lines,@day,@kin,@time);
	open(IN,"$logfile") || &lib'error("ERR004 Open Error : $logfile","clr");
	@lines = <IN>;
	close(IN);
	@new = ();
	foreach (@lines) {
		($r_age,$r_t,$r_b,$r_cup,$r_w,$r_h,$r_name,$r_k,$r_in,$r_p,$r_link,$r_com,$r_yobi,$r_time,$r_day1,$r_kin1,$r_time1,$r_day2,$r_kin2,$r_time2,$r_day3,$r_kin3,$r_time3,$r_day4,$r_kin4,$r_time4,$r_day5,$r_kin5,$r_time5,$r_day6,$r_kin6,$r_time6,$r_day7,$r_kin7,$r_time7,$r_link2,$r_link3) = split(/\t/);
		chop($r_link3);
# スケジューリング
		if ($today != $r_day1) {
			@day  = ($r_day1,$r_day2,$r_day3,$r_day4,$r_day5,$r_day6,$r_day7);
			@kin  = ($r_kin1,$r_kin2,$r_kin3,$r_kin4,$r_kin5,$r_kin6,$r_kin7);
			@time = ($r_time1,$r_time2,$r_time3,$r_time4,$r_time5,$r_time6,$r_time7);
			$j = 0;
			for($i = 0; $i <= $#day; $i++){
				if ($today <= $day[$i]) {
					$day[$j]  = $day[$i];
					$kin[$j]  = $kin[$i];
					$time[$j] = $time[$i];
					$j++;
				}
			}
			if ($j <= 6) {
				@yobi = split(/\,/,$r_yobi);
				for($i = $j; $i <= $#day; $i++){
					($f_day,$f_yobi) = &lib'FutureDay($today,$i);
					$day[$i] = $f_day;
					if ($yobi[$f_yobi] == 1) {
						$kin[$i]  = $kintai[$#kintai];
					} else {
						$kin[$i]  = $kinmu;
					}
					$time[$i] = $r_time;
				}
			}
			($r_day1,$r_day2,$r_day3,$r_day4,$r_day5,$r_day6,$r_day7) = ($day[0],$day[1],$day[2],$day[3],$day[4],$day[5],$day[6]);
			($r_kin1,$r_kin2,$r_kin3,$r_kin4,$r_kin5,$r_kin6,$r_kin7) = ($kin[0],$kin[1],$kin[2],$kin[3],$kin[4],$kin[5],$kin[6]);
			($r_time1,$r_time2,$r_time3,$r_time4,$r_time5,$r_time6,$r_time7) = ($time[0],$time[1],$time[2],$time[3],$time[4],$time[5],$time[6]);
		}
# 抽出
		$flag = 0;
		$s_time = "00:00 - 00:00";
		if ($mode ne "") {
			if ($mode eq 'new') {
				$kdays = &lib'Kdays($r_in);
				if ($kdays <= $NewFace) {
					$flag = 1;
				}
			} elsif ($mode eq 'first') {
				if ($r_kin1 == 2 && index($r_time1,"00:00") >= 0) {
					$flag = 1;
				}
			} elsif ($mode eq 'last') {
				if ($r_kin1 == 2 && index($r_time1,"LAST") >= 0) {
					$flag = 1;
				}
			} else {
				$flag = 1;
			}
		} elsif ($search ne "") {
			if (index($r_name,$search) >= 0 || index($r_link,$search) >= 0) {
				$flag = 1;
			}
		} elsif ($yohbi == 0) {
			if (($r_kin1 == $kintai[$#kintai]) || ($work == 1 && $r_kin1 == 1)) {
				if ($r_kin1 == 1) { $s_time = "99:99 - 99:00"; } else { $s_time = $r_time1; }
				$flag = 1;
			} else {
				$s_time = "99:99 - 99:01";
			}
			if ($form{'time'} == 1) { $flag = 1; }
		} elsif ($yohbi == 1) {
			if (($r_kin2 == $kintai[$#kintai]) || ($work == 1 && $r_kin2 == 1)) {
				if ($r_kin2 == 1) { $s_time = "99:99 - 99:00"; } else { $s_time = $r_time2; }
				$flag = 1;
			} else {
				$s_time = "99:99 - 99:01";
			}
			if ($form{'time'} == 1) { $flag = 1; }
		} elsif ($yohbi == 2) {
			if (($r_kin3 == $kintai[$#kintai]) || ($work == 1 && $r_kin3 == 1)) {
				if ($r_kin3 == 1) { $s_time = "99:99 - 99:00"; } else { $s_time = $r_time3; }
				$flag = 1;
			} else {
				$s_time = "99:99 - 99:01";
			}
			if ($form{'time'} == 1) { $flag = 1; }
		} elsif ($yohbi == 3) {
			if (($r_kin4 == $kintai[$#kintai]) || ($work == 1 && $r_kin4 == 1)) {
				if ($r_kin4 == 1) { $s_time = "99:99 - 99:00"; } else { $s_time = $r_time4; }
				$flag = 1;
			} else {
				$s_time = "99:99 - 99:01";
			}
			if ($form{'time'} == 1) { $flag = 1; }
		} elsif ($yohbi == 4) {
			if (($r_kin5 == $kintai[$#kintai]) || ($work == 1 && $r_kin5 == 1)) {
				if ($r_kin5 == 1) { $s_time = "99:99 - 99:00"; } else { $s_time = $r_time5; }
				$flag = 1;
			} else {
				$s_time = "99:99 - 99:01";
			}
			if ($form{'time'} == 1) { $flag = 1; }
		} elsif ($yohbi == 5) {
			if (($r_kin6 == $kintai[$#kintai]) || ($work == 1 && $r_kin6 == 1)) {
				if ($r_kin6 == 1) { $s_time = "99:99 - 99:00"; } else { $s_time = $r_time6; }
				$flag = 1;
			} else {
				$s_time = "99:99 - 99:01";
			}
			if ($form{'time'} == 1) { $flag = 1; }
		} elsif ($yohbi == 6) {
			if (($r_kin7 == $kintai[$#kintai]) || ($work == 1 && $r_kin7 == 1)) {
				if ($r_kin7 == 1) { $s_time = "99:99 - 99:00"; } else { $s_time = $r_time7; }
				$flag = 1;
			} else {
				$s_time = "99:99 - 99:01";
			}
			if ($form{'time'} == 1) { $flag = 1; }
		} else {
			$flag = 1;
		}
# ソート設定（1=名前 2=年齢 3=身長 4=バスト 5=カップ 6=ウエスト 7=ヒップ 8=コメント 9=入店）
		if ($flag) {
			$_  = "$s_time\t";
			if ($sort == 1) {
				$_ .= "$r_name\t";
			} elsif ($sort == 2) {
				$_ .= "\t";
			} elsif ($sort == 3) {
				$_ .= "$r_t\t";
			} elsif ($sort == 4) {
				$w_sort = sprintf("%03d", $r_b);
				$_ .= "$w_sort\t";
			} elsif ($sort == 5) {
				$_ .= "$r_cup\t";
			} elsif ($sort == 6) {
				$w_sort = sprintf("%03d", $r_w);
				$_ .= "$w_sort\t";
			} elsif ($sort == 7) {
				$w_sort = sprintf("%03d", $r_h);
				$_ .= "$w_sort\t";
			} elsif ($sort == 8) {
				$_ .= "$r_com\t";
			} else {
				$_ .= "$r_in\t";
			}
			$_ .= "$r_age\t$r_t\t$r_b\t$r_cup\t$r_w\t$r_h\t$r_name\t$r_k\t$r_in\t$r_p\t$r_link\t$r_com\t$r_yobi\t$r_time\t";
			$_ .= "$r_day1\t$r_kin1\t$r_time1\t$r_day2\t$r_kin2\t$r_time2\t$r_day3\t$r_kin3\t$r_time3\t$r_day4\t$r_kin4\t$r_time4\t$r_day5\t$r_kin5\t$r_time5\t$r_day6\t$r_kin6\t$r_time6\t$r_day7\t$r_kin7\t$r_time7\t";
			$_ .= "$r_link2\t$r_link3\n";
			push(@new,$_);
		}
	}
	@new = sort(@new);
}
# ----------------------------------------------------------
# ログの追加
sub Insert
{
	local($i,$j,$k);
	local(@new,$eflag);
# テンプレート
	$tmplfile = $skinlib . $himeadmin if (!$tmplfile);
	$tmpl = HTML::Template->new(filename => $tmplfile);
	@new  = ();
	$flag = 0; $eflag = 0;
	if ("$form{'name'}" eq "") {
		&lib'error("ERR005 名前を省略されている為、追加出来ません : $form{'name'}","clr");
		$eflag = 1;
	} else {
# ログが存在するとき
		if (-e $logfile) {
			open(IN,"$logfile") || &lib'error("ERR006 Open Error : $logfile","clr");
			while (<IN>) {
				($r_age,$r_t,$r_b,$r_cup,$r_w,$r_h,$r_name,$r_k,$r_in,$r_p,$r_link,$r_com,$r_yobi,$r_time,$r_day1,$r_kin1,$r_time1,$r_day2,$r_kin2,$r_time2,$r_day3,$r_kin3,$r_time3,$r_day4,$r_kin4,$r_time4,$r_day5,$r_kin5,$r_time5,$r_day6,$r_kin6,$r_time6,$r_day7,$r_kin7,$r_time7,$r_link2,$r_link3) = split(/\t/);
				chop($r_link3);
# 追加チェック
				if ("$form{'name'}" eq "$r_name") {
					&lib'error("ERR007 既に $form{'name'} は存在する為、追加出来ません : $form{'name'}","clr");
					$eflag = 1;
				} else {
					push(@new,$_);
				}
			}
			close(IN);
		} else {
			$flag = 1;
		}
# 編集
		if (!$eflag) {
			&Edit;
			push(@new,$_);
			@new = sort(@new);
# ログの書き込み
			if(&lib'FlockOn($lockfile) == 0){
				open(OUT,">$logfile") || &lib'error("ERR008 Write Error : $logfile","clr");
				print OUT @new;
				close(OUT);
				&lib'FlockOff($lockfile);
			}else{
				&lib'error("ERR009 混雑しています。少し時間をおいてから書き込みを行ってください。 : $lockfile","clr");
			}
# ログが存在しないとき（新規）パーミッションを666へ
			if ($flag) { chmod(0666,$logfile); }
		}
	}
	return $eflag;
}
# ----------------------------------------------------------
# ログの更新
sub Replace
{
	local($i,$j,$k,$d);
	local(@new,$eflag);
# テンプレート
	$tmplfile = $skinlib . $himeadmin if (!$tmplfile);
	$tmpl = HTML::Template->new(filename => $tmplfile);
	@new = (); $d = 0; $eflag = 0;
	open(IN,"$logfile") || &lib'error("ERR010 Open Error : $logfile","clr");
	while (<IN>) {
		($r_age,$r_t,$r_b,$r_cup,$r_w,$r_h,$r_name,$r_k,$r_in,$r_p,$r_link,$r_com,$r_yobi,$r_time,$r_day1,$r_kin1,$r_time1,$r_day2,$r_kin2,$r_time2,$r_day3,$r_kin3,$r_time3,$r_day4,$r_kin4,$r_time4,$r_day5,$r_kin5,$r_time5,$r_day6,$r_kin6,$r_time6,$r_day7,$r_kin7,$r_time7,$r_link2,$r_link3) = split(/\t/);
		chop($r_link3);
# 削除チェック
		if ($form{'del'} eq "on" && "$form{'name'}" eq "$r_name") {
			$d++;
# 修正チェック
		} elsif ("$form{'name'}" eq "$r_name") {
# 編集
			&Edit;
			push(@new,$_);
		} else {
			push(@new,$_);
		}
	}
	close(IN);
	@new = sort(@new);
# ログの書き込み
	if(&lib'FlockOn($lockfile) == 0){
		open(OUT,">$logfile") || &lib'error("ERR011 Write Error : $logfile","clr");
		print OUT @new;
		close(OUT);
		&lib'FlockOff($lockfile);
	}else{
		&lib'error("ERR012 混雑しています。少し時間をおいてから書き込みを行ってください。 : $lockfile","clr");
	}
	return $eflag;
}
# ----------------------------------------------------------
# 編集
sub Edit
{
	$r_age   = $form{'age'};
	$r_t     = $form{'t'};
	$r_b     = $form{'b'};
	$r_cup   = $form{'cup'};
	$r_w     = $form{'w'};
	$r_h     = $form{'h'};
	$r_name  = $form{'name'};
	$r_k     = $form{'k'};
	$r_in    = sprintf("%02d", $form{'inyear'}) . sprintf("%02d", $form{'inmon'}) . sprintf("%02d", $form{'inday'});
	$r_p     = $form{'p'};
	$r_link  = $form{'link'};
	$r_link2 = $form{'link2'};
	$r_link3 = $form{'link3'};
	$r_com   = $form{'com'};
	$r_yobi  = "";
	for($i = 0; $i <= $#wdays_e; $i++){
		if ($form{$wdays_e[$i]} eq "on") {
			$r_yobi .= "1";
		} else {
			$r_yobi .= "0";
		}
		if ($i < 6) {$r_yobi .= ",";}
	}
	if ($form{'first'} eq "on") {
		$r_time  = sprintf("%02d", 0) .":". sprintf("%02d", 0) ." - ";
	} else {
		$r_time  = sprintf("%02d", $form{'hhs'}) .":". sprintf("%02d", $form{'mms'}) ." - ";
	}
	if ($form{'last'} eq "on") {
		$r_time .= "LAST";
	} else {
		$r_time .= sprintf("%02d", $form{'hhe'}) .":". sprintf("%02d", $form{'mme'});
	}
	($f_day,$f_yobi) = &lib'FutureDay($today,0);
	$r_day1  = $f_day;
	$r_kin1  = $form{'kinmu0'};
	if ($form{'first0'} eq "on") {
		$r_time1 = sprintf("%02d", 0) .":". sprintf("%02d", 0) ." - ";
	} else {
		$r_time1 = sprintf("%02d", $form{'hhs0'}) .":". sprintf("%02d", $form{'mms0'}) ." - ";
	}
	if ($form{'last0'} eq "on") {
		$r_time1 .= "LAST";
	} else {
		$r_time1 .= sprintf("%02d", $form{'hhe0'}) .":". sprintf("%02d", $form{'mme0'});
	}
	($f_day,$f_yobi) = &lib'FutureDay($today,1);
	$r_day2  = $f_day;
	$r_kin2  = $form{'kinmu1'};
	if ($form{'first1'} eq "on") {
		$r_time2 = sprintf("%02d", 0) .":". sprintf("%02d", 0) ." - ";
	} else {
		$r_time2 = sprintf("%02d", $form{'hhs1'}) .":". sprintf("%02d", $form{'mms1'}) ." - ";
	}
	if ($form{'last1'} eq "on") {
		$r_time2 .= "LAST";
	} else {
		$r_time2 .= sprintf("%02d", $form{'hhe1'}) .":". sprintf("%02d", $form{'mme1'});
	}
	($f_day,$f_yobi) = &lib'FutureDay($today,2);
	$r_day3  = $f_day;
	$r_kin3  = $form{'kinmu2'};
	if ($form{'first2'} eq "on") {
		$r_time3 = sprintf("%02d", 0) .":". sprintf("%02d", 0) ." - ";
	} else {
		$r_time3 = sprintf("%02d", $form{'hhs2'}) .":". sprintf("%02d", $form{'mms2'}) ." - ";
	}
	if ($form{'last2'} eq "on") {
		$r_time3 .= "LAST";
	} else {
		$r_time3 .= sprintf("%02d", $form{'hhe2'}) .":". sprintf("%02d", $form{'mme2'});
	}
	($f_day,$f_yobi) = &lib'FutureDay($today,3);
	$r_day4  = $f_day;
	$r_kin4  = $form{'kinmu3'};
	if ($form{'first3'} eq "on") {
		$r_time4 = sprintf("%02d", 0) .":". sprintf("%02d", 0) ." - ";
	} else {
		$r_time4 = sprintf("%02d", $form{'hhs3'}) .":". sprintf("%02d", $form{'mms3'}) ." - ";
	}
	if ($form{'last3'} eq "on") {
		$r_time4 .= "LAST";
	} else {
		$r_time4 .= sprintf("%02d", $form{'hhe3'}) .":". sprintf("%02d", $form{'mme3'});
	}
	($f_day,$f_yobi) = &lib'FutureDay($today,4);
	$r_day5  = $f_day;
	$r_kin5  = $form{'kinmu4'};
	if ($form{'first4'} eq "on") {
		$r_time5 = sprintf("%02d", 0) .":". sprintf("%02d", 0) ." - ";
	} else {
		$r_time5 = sprintf("%02d", $form{'hhs4'}) .":". sprintf("%02d", $form{'mms4'}) ." - ";
	}
	if ($form{'last4'} eq "on") {
		$r_time5 .= "LAST";
	} else {
		$r_time5 .= sprintf("%02d", $form{'hhe4'}) .":". sprintf("%02d", $form{'mme4'});
	}
	($f_day,$f_yobi) = &lib'FutureDay($today,5);
	$r_day6  = $f_day;
	$r_kin6  = $form{'kinmu5'};
	if ($form{'first5'} eq "on") {
		$r_time6 = sprintf("%02d", 0) .":". sprintf("%02d", 0) ." - ";
	} else {
		$r_time6 = sprintf("%02d", $form{'hhs5'}) .":". sprintf("%02d", $form{'mms5'}) ." - ";
	}
	if ($form{'last5'} eq "on") {
		$r_time6 .= "LAST";
	} else {
		$r_time6 .= sprintf("%02d", $form{'hhe5'}) .":". sprintf("%02d", $form{'mme5'});
	}
	($f_day,$f_yobi) = &lib'FutureDay($today,6);
	$r_day7  = $f_day;
	$r_kin7  = $form{'kinmu6'};
	if ($form{'first6'} eq "on") {
		$r_time7 = sprintf("%02d", 0) .":". sprintf("%02d", 0) ." - ";
	} else {
		$r_time7 = sprintf("%02d", $form{'hhs6'}) .":". sprintf("%02d", $form{'mms6'}) ." - ";
	}
	if ($form{'last6'} eq "on") {
		$r_time7 .= "LAST";
	} else {
		$r_time7 .= sprintf("%02d", $form{'hhe6'}) .":". sprintf("%02d", $form{'mme6'});
	}
	$_  = "$r_age\t$r_t\t$r_b\t$r_cup\t$r_w\t$r_h\t$r_name\t$r_k\t$r_in\t$r_p\t$r_link\t$r_com\t$r_yobi\t$r_time\t";
	$_ .= "$r_day1\t$r_kin1\t$r_time1\t$r_day2\t$r_kin2\t$r_time2\t$r_day3\t$r_kin3\t$r_time3\t$r_day4\t$r_kin4\t$r_time4\t$r_day5\t$r_kin5\t$r_time5\t$r_day6\t$r_kin6\t$r_time6\t$r_day7\t$r_kin7\t$r_time7\t$r_link2";
	$_ .= "\t$r_link3\n";
}
# ----------------------------------------------------------
# ソート
sub Sort
{
	local($kbn) = @_;
	if (($sort >= 1 && $sort <= 8) || ($yohbi >= 0 && $yohbi <= 6)) {
		foreach (@new) {
			($s_time,$s_in,$r_age,$r_t,$r_b,$r_cup,$r_w,$r_h,$r_name,$r_k,$r_in,$r_p,$r_link,$r_com,$r_yobi,$r_time,$r_day1,$r_kin1,$r_time1,$r_day2,$r_kin2,$r_time2,$r_day3,$r_kin3,$r_time3,$r_day4,$r_kin4,$r_time4,$r_day5,$r_kin5,$r_time5,$r_day6,$r_kin6,$r_time6,$r_day7,$r_kin7,$r_time7,$r_link2,$r_link3) = split(/\t/);
			if ($kbn == 1) {
				&ListScreen;
			} elsif ($kbn == 2) {
				&ScheduleScreen;
			} elsif ($kbn == 3) {
				&WriteScreen;
			} else {
				&WeekScreen;
			}
		}
	} else {
		foreach (reverse @new) {
			($s_time,$s_in,$r_age,$r_t,$r_b,$r_cup,$r_w,$r_h,$r_name,$r_k,$r_in,$r_p,$r_link,$r_com,$r_yobi,$r_time,$r_day1,$r_kin1,$r_time1,$r_day2,$r_kin2,$r_time2,$r_day3,$r_kin3,$r_time3,$r_day4,$r_kin4,$r_time4,$r_day5,$r_kin5,$r_time5,$r_day6,$r_kin6,$r_time6,$r_day7,$r_kin7,$r_time7,$r_link2,$r_link3) = split(/\t/);
			if ($kbn == 1) {
				&ListScreen;
			} elsif ($kbn == 2) {
				&ScheduleScreen;
			} elsif ($kbn == 3) {
				&WriteScreen;
			} else {
				&WeekScreen;
			}
		}
	}
}
# ----------------------------------------------------------
# ＷＥＢから送信されたフォームを読み込む
# 引き数：jcode.plの文字コード(sjis,jis,euc,etc)
# 戻り値：フォームの配列(form{'name'})
sub getinputfromweb
{
	&ReadParse;
	while (($key,$val) = each %in) {
# 文字コード変換
		&jcode'convert(*val, $kanji_code, "", "z");
# タグ処理（非対応）
		$val =~ s/</&lt;/g;
		$val =~ s/>/&gt;/g;
# 改行処理
		if ($key eq "comment") {
			$val =~ s/\r\n/<br>/g;
			$val =~ s/\r/<br>/g;
			$val =~ s/\n/<br>/g;
		} else {
			$val =~ s/\r//g;
			$val =~ s/\n//g;
		}
		$form{$key} = $val;
	}
}
# ----------------------------------------------------------
# 画像サイズの取得
# 引き数：画像
# 戻り値：横サイズ、縦サイズ
sub getimagesize
{
	local($picture) = @_;
	$wsizes = 0;
	$hsizes = 0;
	# 画像サイズの取得
	if (-e $picture) {
		if (substr($picture, -4, 4) eq '.gif') {
			($wsize,$hsize) = &lib'GifSize("$picture");
		} elsif (substr($picture, -4, 4) eq '.jpg') {
			($wsize,$hsize) = &lib'JpegSize("$picture");
		} elsif (substr($picture, -4, 4) eq '.png') {
			($wsize,$hsize) = &lib'PngSize("$picture");
		}
		if ($wsize > $imgsize || $hsize > $imgsize) {
			$SW = $imgsize / $wsize;
			$SH = $imgsize / $hsize;
			if ($SW < $SH) {
				$skey = $SW;
			} else {
				$skey = $SH;
			}
			$wsizes = int ($wsize * $skey) || 1;
			$hsizes = int ($hsize * $skey) || 1;
		} else {
			$wsizes = $wsize;
			$hsizes = $hsize;
		}
	}
	return ($wsizes, $hsizes);
}
# ----------------------------------------------------------
# 曜日算出
sub WeekCalculation
{
	local($i,$j,$k);
	local($w_year,$w_mon,$w_day);
# 祝日／振替休日等の算出
	@Holiday = &lib'DayModify($year);
# 祝日／振替休日等の取得
	@wflag  = ();
	@w_day  = ();
	@w_yobi = ();
	@w_hi   = ();
	for ($i = 0; $i <= 6; $i++){
		($f_day,$w_yobi[$i]) = &lib'FutureDay($today,$i);
		$w_year     = substr($f_day,0,4);
		$w_mon      = substr($f_day,4,2);
		$w_day[$i]  = substr($f_day,6,2);
# 祝日／振替休日等の算出
		if ($year != $w_year) { @Holiday = &lib'DayModify($w_year); }
		$wflag[$i]  = &lib'MakeEvent($w_year,$w_mon,$w_day[$i],@Holiday);
# 0=日 6=土 , 1=休日
		if ($w_yobi[$i] == 0 || $wflag[$i] == 1) {
			$w_hi[$i] = "<font color=\"$f_suncolor\">$w_day[$i]($wdays_j[$w_yobi[$i]])</font>";
		} elsif ($w_yobi[$i] == 6) {
			$w_hi[$i] = "<font color=\"$f_satcolor\">$w_day[$i]($wdays_j[$w_yobi[$i]])</font>";
		} else {
			$w_hi[$i] = "$w_day[$i]($wdays_j[$w_yobi[$i]])";
		}
	}
}
# ----------------------------------------------------------
# 配列初期化
sub ArrayClear
{
	@skin_image   = ();
	@skin_newface = ();
	@skin_name    = ();
	@skin_honorific = ();
	@skin_age     = ();
	@skin_height  = ();
	@skin_bust    = ();
	@skin_cupsize = ();
	@skin_waist   = ();
	@skin_hip     = ();
	@skin_brog    = ();
	@skin_com     = ();
	@skin_week1   = ();
	@skin_week2   = ();
	@skin_week3   = ();
	@skin_week4   = ();
	@skin_week5   = ();
	@skin_week6   = ();
	@skin_week7   = ();
	@skin_time1   = ();
	@skin_time2   = ();
	@skin_time3   = ();
	@skin_time4   = ();
	@skin_time5   = ();
	@skin_time6   = ();
	@skin_time7   = ();
	@skin_script  = ();
	@edit_submit  = ();
	@edit_hi      = ();
	@edit_kintai  = ();
	@edit_last    = ();
	@edit_selecttime  = ();
	@list_flg1 = ();
	@list_flg2 = ();
}
