#!/usr/local/bin/perl

use CGI::Carp qw(fatalsToBrowser);
use DBI;
use CGI;

$q = new CGI;
require 'addin.pl';

$case=$q->param('case');
$gid=$q->param('gid');
$cate=$q->param('cate');
$word=$q->param('word');
$openpic=$q->param('openpic');
$mss=$q->param('mss');
$kai=$q->param('kai');
$allfit=$q->param('allfit');
$era=$q->param('era');
$cb=$q->param('cb');
$kazuerr=$q->param('kazuerr');
$line=$q->param('line');
$title=$q->param('title');
$price=$q->param('price');
$kazu=$q->param('kazu');
$yobi11=$q->param('yobi11');
$yobi21=$q->param('yobi21');
$yobi1=$q->param('yobi1');
$yobi2=$q->param('yobi2');
$selectedcates=$q->param('selectedcates');
$g0=$q->param('g0');
$times=$q->param('times');
$o0=$q->param('o0');
$setlist=$q->param('setlist');

if($case eq "reduce"){
  &reduce;
  $reduce=1;
  $case=2;
  &set_cookie($cookiename,@cookiekeys);
}

use Getpicsize qw();

if($case==2){
  &detail;
  unless($reduce==1){
    &read_cookie($cookiename);
  }
  &list;
  &footer1;
}
elsif($case==3){
  &read_cookie("GOODS");
  &lists3;
  &footer;
}
elsif($case==4){
 &read_cookie("LISTUP");
  &lists4;
  &footer;
}
else{
  if($word eq ""){
     if($cate ne ""){
       &lists;
       &footer;
     }
     else{&header;&search;&speciallists;&footer}
  }
  else{&cateptrn;&header;&search;&lists2;&footer}
}

&log1;
sub menu1{
  my $num1;
  my $fname;
  my $line;
  my $s;
  my $i;
  my $deg;
  my @catedata;
  my $buttonclr1;
  my @buttonclr1;
  my @buttonclr2;
  my @data;
  my $sc1;

  print <<EP;
<div id="cates">
EP
  open(CATE,"$catefile");
  while(<CATE>){
    chomp;
    $line[$s]=$_;
    $s++;
  }
  foreach $line(@line){
    @catedata=split(/\Q,\E/,"$line");
    for($deg=0;$deg<$lastkaiso;$deg++){
      if($catedata[2]==$deg+1){
        $i=$i[$deg];
        $data[$deg][$i][0]=$catedata[0];
        $data[$deg][$i][1]=$catedata[1];
        $data[$deg][$i][2]=$catedata[2];
        $data[$deg][$i][3]=$catedata[3];
        $data[$deg][$i][4]=$catedata[5];
        $i[$deg]++;
        last;
      }
    }
  }
  for($x=0;$x<$i[0];$x++){
    if($data[0][$x][4] ne ""){$ct=$data[0][$x][4]}
    else{$ct=$data[0][$x][1]}

    $fnemes="fm".$num1;
    $sc1="sc".$num1;

    print <<EP;
<form method = "post" name="menuf1"><input type=hidden id="$sc1" name=selectedcates value="$selectedcates">
<input type=submit class="sbm1" value="$data[0][$x][1]"  name="$data[0][$x][0]" title="$ct">
<input type=hidden name="cate" value="$data[0][$x][0]">
<input type=hidden name="kaiso" value="$data[0][$x][2]">
</form>
EP
    $num1++;
  }
  print "</div><div class=\"clear\"></div>";
}

sub menu0{
  my $num1;
  my $fname;
  my $line;
  my $s;
  my $i;
  my $deg;
  my @catedata;
  my $buttonclr1;
  my @buttonclr1;
  my @buttonclr2;
  my @data;

  print <<EP;
<table id="menu_tbl" class="tbl_t1">
EP
  open(CATE,"$catefile");
  while(<CATE>){
    chomp;
    $line[$s]=$_;
    $s++;
  }
  foreach $line(@line){
    @catedata=split(/\Q,\E/,"$line");
    for($deg=0;$deg<$lastkaiso;$deg++){
      if($catedata[2]==$deg+1){
        $i=$i[$deg];
        $data[$deg][$i][0]=$catedata[0];
        $data[$deg][$i][1]=$catedata[1];
        $data[$deg][$i][2]=$catedata[2];
        $data[$deg][$i][3]=$catedata[3];
        $data[$deg][$i][4]=$catedata[5];
        $i[$deg]++;
        last;
      }
    }
  }
  for($x=0;$x<$i[0];$x++){
    if($FORM{'choice'} eq $data[0][$x][0]){$buttonclr1=$buttonclr1[$data[0][$x][2]-1]}
    else{$buttonclr1=$buttonclr2[$data[0][$x][2]-1]}
    if($data[0][$x][4] ne ""){$ct=$data[0][$x][4]}
    else{$ct=$data[0][$x][1]}

    if($x==0){print "<tr>"}
    elsif($x % 6 == 0){print "</tr><tr>"}
    $fnemes="fm".$num1;

    print <<EP;
<form method = "post" name="menuf1"><input type=hidden name=selectedcates value="$selectedcates">
<th><input type=submit class="sbm1" value="$data[0][$x][1]" style="height:22;width:160;font-size:$fontsize;background-color:$buttonclr1;color:#666699"  name="$data[0][$x][0]" title="$ct"></th>
<input type=hidden name="cate" value="$data[0][$x][0]">
<input type=hidden name="kaiso" value="$data[0][$x][2]">
</form>
EP
  }
  print <<EP;
</tr></table>
EP
}

################ detail ここから #########################

sub detail{
 $numxii;
 $xii;
 &lock($lock1);
 open(FILE,"$file");
 while(<FILE>){
   chomp;
   if(/^$gid,/){
     @data=split(/\Q,\E/);
     if($xii>1){$pre=$dls[$xii-1]}
     $numxii=$xii;
   }
   $dls[$xii]=$_;
   if(($numxii > 0)&&($numxii==$xii-1)){
     $next=$dls[$xii];
     last;
   }
   $xii++;
 }
 &unlock($lock1);
 $gid=$data[0];
 $yid=$data[1];
 $price=$data[2];
 $yobi1=$data[3];#サイズ、色等
 $yobi2=$data[4];#サイズ、色等
 $yobi3=$data[5];#サイズ、色等の分類のある場合の個別数量
 $yobi4=$data[6];
 $yobi5=$data[7];#画像1
 $yobi6=$data[8];#画像2
 $yobi7=$data[9];#画像3
 $yobi8=$data[10];
 $yobi9=$data[11];
 $yobi10=$data[12];#商品説明
 $category=$data[13];
 $title=$data[14];
 $detail=$data[12];
 $detail=~s/\"//g;
 $detail=~s/\Q[改行]\E//g;
 $quantity=$data[16];
 $pic[0]=$data[7];
 $pic[1]=$data[8];
 $pic[2]=$data[9];
# 3つ以上の絵に対応準備
 if($pic[2]=~/\Q:\E/){
   @otherpic=split(/\Q:\E/,"$pic[2]");
   $pcn=2;
   foreach(@otherpic){
     $pic[$pcn]=$_;
     $pcn++;
   }
 }
###↑
@pre=split(/\Q,\E/,"$pre");
$pre1=$pre[0];
@next=split(/\Q,\E/,"$next");
$next1=$next[0];

##2003.09.21追加改定
##詳細画面で同一及び上位カテゴリにジャンプできるようにした
 open(CATE,"$catefile");
 while(<CATE>){
   chomp;
   $cates[$c1]=$_;
   if(/^$category,/){$thisline=$_}
   $c1++;
 }
 $catetmp[3]=$category;
 while($x==0){
   foreach(@cates){
     if(/^$catetmp[3],/){@catetmp=split(/\Q,\E/);$kaiso0tmp[$k1]=$catetmp[0];$kaiso1tmp[$k1]=$catetmp[1];$deco=$catetmp[4];$k1++}
   }
   $kk1++;
   if($catetmp[2]==1){last}
   if($kk1==5){last}
 }
 @kaiso0tmp=reverse(@kaiso0tmp);
 @kaiso1tmp=reverse(@kaiso1tmp);
 @thlntmp=split(/\Q,\E/,"$thisline");
 @decos=split(/\Q:\E/,"$thlntmp[4]");
 $mainbgcolor=$mainbgcolor[$decos[1]];
 $mainbgimg=$mainbgimg[$decos[2]];

 &header1;

 print <<EP;
<div id="detail" class="stddiv">
<div id="detailtp" class="stddiv">
<div id="detailtop1" class="hlfdiv"> 
EP

 foreach(@kaiso0tmp){
    if($k2==0){
     print <<EP;
同じカテゴリにある商品を探す場合は、↓をクリックしてください</b><br></font>
<font color="brown" style="font-size:20px">$kaiso1tmp[$k2]</font>
EP
   }
   else{
     print <<EP;
<a href="?cate=$_" class="a_catekaiso1">＞＞$kaiso1tmp[$k2]</a>
EP
   }
     $k2++;
 }
#次へと前へを追加↓
if($pre1 ne ""){
  print <<EP;
<br><a href="?case=2&gid=$pre1">前の商品</a>
EP
}
else{
  print <<EP;
前の商品
EP
}
if($next1 ne ""){
  print <<EP;
  \|\|  <a href="?case=2&gid=$next1">次の商品</a>
EP
}
else{
  print <<EP;
  \|\|  次の商品
EP
}
##############↑ここまで
print <<EP;
</div>
EP
##############↑ここまで

 print <<EP;
<div id="wrap_2list" class="hlfdiv">
  <div id="okiniiri">
    <div class="namediv1">お気に入りリスト</div>
<form method="post" id="okiniirifrm" class="okiniirifrm">
<input type=submit value="リストアップ" id="okiniirilistupsbm">
<input type=hidden name="case" value="2">
<input type=hidden name="setlist" value="1">
<input type=hidden name="gid" value="$gid">
</form>
<form method = "post" id="listviewfrm" class="listviewfrm">
<input type=submit value="リストVIEW" id="okiniiriviewsbm">
<input type=hidden name="case" value="4">
</form>
  </div>
  <div  id="watchlist">
       <div class="namediv1">ウオッチ履歴</div>
<form method = "post" id="watchfrm" class="watchfrm">
<input type=submit value="ウオッチ履歴" id="listwatchsbm">
<input type=hidden name="case" value="3">
</form>
  </div>
</div>
<div class="clear"></div><!--float:leftの解除-->
</div>
<div id="detail1" class="stddiv">
<form method = "post" id="detailfrm">
EP
  if($openpic eq ""){$openpic=1}
###########画像の縦横比によって、画像の表示を切り替え2004/01/23追加修正#######
  if($pic[$openpic-1] ne ""){
    $filename="./pic/$pic[$openpic-1]";
    print <<EP;
<div id="detailimg1" class="img1">
<img src="$filename">
<div id="otherimgs">
EP
  }
  else{
      print <<EP;
<div id="detailimg1" class="img1"><img src="img/noimg.jpg" class="noimg"></div>
EP
  }

  foreach $p1(@pic){
    if($img1 eq ""){$img1=$p1}
    if($p1 eq ""){last}
    $pcn3=$pcn2+1;
    if($pcn2==$openpic-1){
      print <<EP;
$pcn3
EP
    }
    else{
      print <<EP;
<input type=submit name=openpic value="$pcn3">
EP
    }
    $pcn2++;
  }
  print <<EP;
</div></div><!--ここでdetailimgを閉じています-->
<input type=hidden name="case" value=2>
<input type=hidden name="gid" value=$gid>
</form>


<div id="detailletter">
<div id="detailtitle">$title</div>
<div id="detailexp">$detail</div>
EP
#在庫がある場合とない場合でわける
  if($quantity>0){
    print <<EP;
<form method = "post" action="inkago.cgi" name="form1">
EP
    if($yobi1 ne ""){
      @yobif1=split(/\Q:\E/,"$yobi1");
      if($yobi1=~/^\Q$yobif1[0]\E:(.*)/){$yobi11=$1}
        print <<EP;
<div id="detailyobi1">$yobif1[0]<select name="yobi1" onChange="kaZu()" id="yobi1slct">
EP
      @yobi12=split(/\Q:\E/,"$yobi11");
      $y12=@yobi12;
      for($f=0;$f<$y12;$f++){
        print <<EP;
<option value=$yobi12[$f]>$yobi12[$f]</option>
EP
      }
      print <<EP;
</select></div>
EP
    }
    if($yobi2 ne ""){
      @yobif2=split(/\Q:\E/,"$yobi2");
      if($yobi2=~/^\Q$yobif2[0]\E:(.*)/){$yobi21=$1}
        print <<EP;
<div id="detailyobi2">$yobif2[0]<select name="yobi2" onChange="kaZu()" id="yobi2slct">
EP
      @yobi22=split(/\Q:\E/,"$yobi21");
      $y22=@yobi22;
      for($f=0;$f<$y22;$f++){
        print <<EP;
<option value=$yobi22[$f]>$yobi22[$f]</option>
EP
      }
      print <<EP;
</select></div>
EP
    }
  if($yobi3 eq ""){
    print <<EP;
<div id="detailquantity">数量
<select name="kazu">
EP
  if($quantity>10){$quantity1=10}
  else{$quantity1=$quantity}
  for($n=1;$n<=$quantity1;$n++){
    print <<EP;
<option value=$n>$n</option>
EP
  }
  print <<EP;
</select>
</div>
EP
  }
  else{
    print <<EP;
<div id="detailquantity">数量
<select name="kazu">
EP
  if($quantity>10){$quantity1=10}
  else{$quantity1=$quantity}
  for($n=1;$n<=$quantity1;$n++){
    print <<EP;
<option value=$n>$n</option>
EP
  }
  print <<EP;
</select>
</div>
EP
  }
  print <<EP;
<div id="zaikocom">$zaikocomment</div>
<div id="detailprice"><label class="label2">価格</label>$price円</div>
<div><div id="detailtocart">
<input type=submit value="買い物カゴヘ" class="stdsbm">
<input type=hidden name=yid value="$yid">
<input type=hidden name=gid value="$gid">
<input type=hidden name=title value="$title">
<input type=hidden name=price value="$price">
<input type=hidden name=yobi11 value="$yobif1[0]">
<input type=hidden name=yobi21 value="$yobif2[0]">
<input type=hidden name=case value=2>
</form></div>
EP
  }
  else{
    print <<EP;
<div id="zaikocom">\申\し\訳\ご\ざいません。品切れ致しております。</div>
EP
  }
  print <<EP;
<form method = "post" action="asking.cgi" target="_blank" id="askfrm"><input type=hidden name="img1" value="$img1"><input type=hidden name="gid" value="$gid"><input type=hidden name="title" value="$title"><div id="detailask"><input type=submit value="お問い合わせ" class="stdsbm"></form></div></div>
EP

  print "</div></div><div class=\"clear\"></div></div><!--float:leftの解除-->";#div#detail1を閉じる
}


#detailここまで

sub detail1{
 $numxii;
 $xii;
 &lock($lock1);
 open(FILE,"$file");
 while(<FILE>){
   chomp;
   if(/^$gid,/){
     @data=split(/\Q,\E/);
     if($xii>1){$pre=$dls[$xii-1]}
     $numxii=$xii;
   }
   $dls[$xii]=$_;
   if(($numxii > 0)&&($numxii==$xii-1)){
     $next=$dls[$xii];
     last;
   }
   $xii++;
 }
 &unlock($lock1);
 $gid=$data[0];
 $yid=$data[1];
 $price=$data[2];
 $yobi1=$data[3];#サイズ、色等
 $yobi2=$data[4];#サイズ、色等
 $yobi3=$data[5];#サイズ、色等の分類のある場合の個別数量
 $yobi4=$data[6];
 $yobi5=$data[7];#画像1
 $yobi6=$data[8];#画像2
 $yobi7=$data[9];#画像3
 $yobi8=$data[10];
 $yobi9=$data[11];
 $yobi10=$data[12];#商品説明
 $category=$data[13];
 $title=$data[14];
 $detail=$data[12];
 $detail=~s/\"//g;
 $detail=~s/\Q[改行]\E//g;
 $quantity=$data[16];
 $pic[0]=$data[7];
 $pic[1]=$data[8];
 $pic[2]=$data[9];
# 3つ以上の絵に対応準備
 if($pic[2]=~/\Q:\E/){
   @otherpic=split(/\Q:\E/,"$pic[2]");
   $pcn=2;
   foreach(@otherpic){
     $pic[$pcn]=$_;
     $pcn++;
   }
 }
###↑
@pre=split(/\Q,\E/,"$pre");
$pre1=$pre[0];
@next=split(/\Q,\E/,"$next");
$next1=$next[0];

##2003.09.21追加改定
##詳細画面で同一及び上位カテゴリにジャンプできるようにした
 open(CATE,"$catefile");
 while(<CATE>){
   chomp;
   $cates[$c1]=$_;
   if(/^$category,/){$thisline=$_}
   $c1++;
 }
 $catetmp[3]=$category;
 while($x==0){
   foreach(@cates){
     if(/^$catetmp[3],/){@catetmp=split(/\Q,\E/);$kaiso0tmp[$k1]=$catetmp[0];$kaiso1tmp[$k1]=$catetmp[1];$deco=$catetmp[4];$k1++}
   }
   $kk1++;
   if($catetmp[2]==1){last}
   if($kk1==5){last}
 }
 @kaiso0tmp=reverse(@kaiso0tmp);
 @kaiso1tmp=reverse(@kaiso1tmp);
 @thlntmp=split(/\Q,\E/,"$thisline");
 @decos=split(/\Q:\E/,"$thlntmp[4]");
 $mainbgcolor=$mainbgcolor[$decos[1]];
 $mainbgimg=$mainbgimg[$decos[2]];

 &header1;
 print <<EP;
<table align=center width=850><tr><td bgcolor="#ffffdd">
EP
 foreach(@kaiso0tmp){
   if($k2==0){
     print <<EP;
<font color="red" style="font-size:14px"><b>同じカテゴリにある商品を探す場合は、↓をクリックしてください</b><br></font><b>
<font color="brown" style="font-size:20px">$kaiso1tmp[$k2]</font>
EP
   }
   else{
     print <<EP;
<a href="?cate=$_" style="font-size:20px;background-color:yellow">＞＞$kaiso1tmp[$k2]</a>
EP
   }
     $k2++;
 }
#次へと前へを追加↓
if($pre1 ne ""){
  print <<EP;
<br><a href="?case=2&gid=$pre1">前の商品</a>
EP
}
else{
  print <<EP;
前の商品
EP
}
if($next1 ne ""){
  print <<EP;
  \|\|  <a href="?case=2&gid=$next1">次の商品</a>
EP
}
else{
  print <<EP;
  \|\|  次の商品
EP
}
##############↑ここまで
print <<EP;
</b></td><td width=30>　</td>
EP
##############↑ここまで

 print <<EP;
<th bgcolor="#ddffff">
<form method=post>
<table align=right style="font-size:10px"><tr><th width=100>
お気に入りリスト
</th><th>
<input type=submit value="リストアップ" style="font-size:10px;color:forestgreen;background-color:#ddffdd"></th>
<input type=hidden name="case" value="2">
<input type=hidden name="setlist" value="1">
<input type=hidden name="gid" value="$gid">
</form>
<form method=post>
<th><input type=submit value="リストVIEW" style="font-size:10px;color:magenta;background-color:#ffdddd"></th>
<input type=hidden name="case" value="4">
</form>
</th></tr>
<form method=post>
<tr><th>
ウオッチ履歴
</th><th colspan=2>
<input type=submit value="ウオッチ履歴" style="font-size:10px;color:seablue;background-color:#ddddff">
</th></tr></table>
<input type=hidden name="case" value="3">
</form>
</th></tr></table><br clear=all>

<table align=center width=720>
<tr><td>
<table width=320><tr><td>
<form method=post>
EP
  if($openpic eq ""){$openpic=1}
###########画像の縦横比によって、画像の表示を切り替え2004/01/23追加修正#######
  if($pic[$openpic-1] ne ""){
    $filename="pic/$pic[$openpic-1]";
    if((-e $filename)&&($pic[$openpic-1] ne "")){
      ($format, $width, $height) =Getpicsize::GetImageSize($filename);
      if($pic[$openpic-1]=~/^l.*/){
        print<<EP;
<SCRIPT LANGUAGE="JavaScript">
<!--
  Images = new Array();
  Images[1] = new Image();
  Images[1].src = "pic/$pic[0]";
  Images[2] = new Image();
  Images[2].src = "pic/$pic[1]";
  function change_image( Image_no ) {
    document.chimg.src = Images[Image_no].src;
  }
// End -->
</SCRIPT>
EP
        if($height/$width > 250/300){
          if($height>500){$height1=500}
          else{$height1=300}
          print "<A HREF=\"\#\" onMouseOver=\"change_image(2)\" onMouseOut=\"change_image(1)\"><img src=\"$filename\" name=\"chimg\" height=$height1></a>\n";
        }
        else{
          if($width>500){$width1=500}
          else{$width1=300}
          print "<A HREF=\"\#\" onMouseOver=\"change_image(2)\" onMouseOut=\"change_image(1)\"><img src=\"$filename\" name=\"chimg\" width=$width1></a>\n";
        }
        print "<br clear=all><center><font style=\"font-size:13px;color:red\">画像にマウスを乗せると照明が消えます</font></center>";
      }
      else{
        if($height/$width > 250/300){
          if($height>500){$height1=500}
          else{$height1=300}
          print "<img src=\"$filename\" height=$height1>\n";
        }
        else{
          if($width>500){$width1=500}
          else{$width1=300}
          print "<img src=\"$filename\" width=$width1>\n";
        }
        print "<br clear=all>";
      }
    }
  }
  else{
      print <<EP;
<img src="img/noimg.jpg" width=300><br clear=all>
EP
  }

  if(($width>500)||($height>500)){
    print <<EP;
<nobr>
<a href="$filename" target="_new" style="background-color:fff0f0;color:red">画像拡大</a>
EP
  }
  else{
    print <<EP;
<nobr>
画像
EP
  }

  foreach $p1(@pic){
    if($img1 eq ""){$img1=$p1}
    if($p1 eq ""){last}
    $pcn3=$pcn2+1;
    if($pcn2==$openpic-1){
      print <<EP;
$pcn3
EP
    }
    else{
      print <<EP;
<input type=submit name=openpic value="$pcn3">
EP
    }
    $pcn2++;
  }
  print <<EP;
</nobr>
<input type=hidden name="case" value=2>
<input type=hidden name="gid" value=$gid>
</form></td></tr></table></td>
<td valign=top>
<table width=400 valign=top cellpadding=10>
<tr><th colspan=2 height=60><b><u><font color=$goodstitlecolor size="+1">$title</b></u></font><br></th></tr>
<tr><td colspan=2>
<b>$detail</b>
</td>
</tr>
EP
  if($quantity>0){
    print <<EP;
<form method = "post" action="inkago.cgi" name="form1">
EP
    if($yobi1 ne ""){
      @yobif1=split(/\Q:\E/,"$yobi1");
      if($yobi1=~/^\Q$yobif1[0]\E:(.*)/){$yobi11=$1}
        print <<EP;
<tr><td>$yobif1[0]</td><td><select name="yobi1" onChange="kaZu()">
EP
      @yobi12=split(/\Q:\E/,"$yobi11");
      $y12=@yobi12;
      for($f=0;$f<$y12;$f++){
        print <<EP;
<option value=$yobi12[$f]>$yobi12[$f]</option>
EP
      }
      print <<EP;
</select></td></tr>
EP
    }
    if($yobi2 ne ""){
      @yobif2=split(/\Q:\E/,"$yobi2");
      if($yobi2=~/^\Q$yobif2[0]\E:(.*)/){$yobi21=$1}
        print <<EP;
<tr><td>$yobif2[0]</td><td><select name="yobi2" onChange="kaZu()">
EP
      @yobi22=split(/\Q:\E/,"$yobi21");
      $y22=@yobi22;
      for($f=0;$f<$y22;$f++){
        print <<EP;
<option value=$yobi22[$f]>$yobi22[$f]</option>
EP
      }
      print <<EP;
</select></td></tr>
EP
    }
  if($yobi3 eq ""){
    print <<EP;
<tr><td>数量<!--(残数 $quantity)--></td><td>
<select name="kazu">
EP
  if($quantity>10){$quantity1=10}
  else{$quantity1=$quantity}
  for($n=1;$n<=$quantity1;$n++){
    print <<EP;
<option value=$n>$n</option>
EP
  }
  print <<EP;
</select>
</td></tr>
EP
  }
  else{
    print <<EP;
<tr><td>数量<!--(残数 $quantity)--></td><td>
<select name="kazu">
EP
  if($quantity>10){$quantity1=10}
  else{$quantity1=$quantity}
  for($n=1;$n<=$quantity1;$n++){
    print <<EP;
<option value=$n>$n</option>
EP
  }
  print <<EP;
</select>
</td></tr>
EP
  }
  print <<EP;
<tr><td colspan=2><font color=red>$zaikocomment</font></td></tr>
<tr><td>価格</td><td><font color=red><b>$price円</b></td></tr>
</table>
<table align=center><tr><th>
<input type=submit value="買い物カゴヘ">
<input type=hidden name=yid value="$yid">
<input type=hidden name=gid value="$gid">
<input type=hidden name=title value="$title">
<input type=hidden name=price value="$price">
<input type=hidden name=yobi11 value="$yobif1[0]">
<input type=hidden name=yobi21 value="$yobif2[0]">
<input type=hidden name=case value=2>
</form></th>
EP
  }
  else{
    print <<EP;
<tr><th>\申\し\訳\ご\ざいません。品切れ致しております。</th>
EP
  }
  print <<EP;
<form method = "post" action="asking.cgi" target="_blank"><input type=hidden name="img1" value="$img1"><input type=hidden name="gid" value="$gid"><input type=hidden name="title" value="$title"><th valign=top><input type=submit value="お問い合わせ"></th></form></tr></table></td></tr></table>
EP
}

sub speciallists1{
  my $n1;
  $n1=0;
  if($mss ne ""){
    if($cate ne ""){&cate}
    print <<EP;
<table><tr><th align=left>$mss</th></tr></table>
EP
  }
  &lock($lock1);
  open(FILE,"$file");
  while(<FILE>){
    chomp;
    $line[$n1]=$_;
    $n1++;
  }
  &unlock($lock1);
  foreach(@line){
    @data=split(/\Q,\E/);
    if($data[6] eq "s"){
      $selectline[$m]=$_;
      $gid[$m]=$data[0],
      $yid[$m]=$data[1],
      $yobi1[$m]=$data[3];
      $yobi2[$m]=$data[4];
      $yobi3=$data[5];
      $yobi4=$data[6];
      $yobi5=$data[7];
      $yobi6=$data[8];
      $yobi7=$data[9];
      $yobi8=$data[10];
      $yobi9=$data[11];
      $yobi10=$data[12];
      $goodsname[$m]=$data[14];
      $price[$m]=$data[2];
      $pic1[$m]=$data[7];
      $m++;
    }
  }
  $mm=$m;
  if($m<$colsnum1){
    for($n=1;$n<=$colsnum1-$mm;$n++){
      @data=split(/\Q,\E/,$line[$n]);
      $selectline[$m]=$_;
      $gid[$m]=$data[0],
      $yid[$m]=$data[1],
      $yobi1[$m]=$data[3];
      $yobi2[$m]=$data[4];
      $yobi3=$data[5];
      $yobi4=$data[6];
      $yobi5=$data[7];
      $yobi6=$data[8];
      $yobi7=$data[9];
      $yobi8=$data[10];
      $yobi9=$data[11];
      $yobi10=$data[12];
      $goodsname[$m]=$data[14];
      $price[$m]=$data[2];
      $pic1[$m]=$data[7];
      $m++;
    }
  }
  print <<EP;
<b>全$n1 アイテム<br>
<font style="font-size:15px;color:green">お勧めアイテム<br></font>
<table align=center width=$colsnum1*220>
EP
#↓$spstが1の場合、表示を$splnumアイテムとし、$spstrtを開始行とする改良(H17.1.16)
  if($spst==0){
    for($j=0;$j<$m;$j++){
      if($gid[$j] eq ""){last}
      if(($j==0)||($j % $colsnum1==0)){print "<tr>"}
      print <<EP;
<th width=220>
<table align=center width=220 style="font-size:11px" bgcolor=$maintablebgclr border=$maintableborder>
<tr><th width=220 colspan=2><a href="?case=2&gid=$gid[$j]"><img src="pic/$pic1[$j]"  height=150 border=0></a></th></tr>
<th colspan=2 width=220><a href="?case=2&gid=$gid[$j]">$goodsname[$j] </a></th></tr>
<tr><th width=80>価格</td><th width=140>$price[$j]円</th></tr>
EP
       if($yobi1[$j] ne ""){
         @yobif1=split(/:/,"$yobi1[$j]");
         if($yobi1[$j]=~/^$yobif1[0]:(.*)/){$yobi12=$1;$yobi12=~s/:/\ /g}
         print <<EP;
<tr><td>$yobif1[0]</td><td>$yobi12</td></tr>
EP
       }
       if($yobi2[$j] ne ""){
         @yobif2=split(/:/,"$yobi2[$j]");
         if($yobi2[$j]=~/^$yobif2[0]:(.*)/){$yobi22=$1;$yobi22=~s/:/\ /g}
         print <<EP;
<tr><th>$yobif2[0]</th><th>$yobi22</th></tr>
EP
      }
      print <<EP;
<!--<tr><th><font style="background-color:yellow"><a href="?case=2&gid=$gid[$j]">詳細</a></font></th></tr>-->
</table>
EP
      if($j==$m){print "</tr>"}
      elsif($j % $colsnum1==$colsnum1-1){print "</tr>"}
    }
  }
  else{
    $nt=time;
    $spstrt=$nt%($m-1);
    for($j=0;$j<$splnum;$j++){
      $j1=$spstrt+$j;
      if($gid[$j1] eq ""){last}
      if(($j==0)||($j % $colsnum1==0)){print "<tr>"}
      print <<EP;
<th width=220>
<table align=center width=220 style="font-size:11px" bgcolor=$maintablebgclr border=$maintableborder>
<tr><th width=220 colspan=2><a href="?case=2&gid=$gid[$j1]"><img src="pic/$pic1[$j1]"  height=150 border=0></a></th></tr>
<th colspan=2 width=220><a href="?case=2&gid=$gid[$j1]">$goodsname[$j1] </a></th></tr>
<tr><th width=80>価格</td><th width=140>$price[$j1]円</th></tr>
EP
     if($yobi1[$j1] ne ""){
       @yobif1=split(/:/,"$yobi1[$j1]");
       if($yobi1[$j1]=~/^$yobif1[0]:(.*)/){$yobi12=$1;$yobi12=~s/:/\ /g}
       print <<EP;
<tr><td>$yobif1[0]</td><td>$yobi12</td></tr>
EP
       }
       if($yobi2[$j1] ne ""){
         @yobif2=split(/:/,"$yobi2[$j1]");
         if($yobi2[$j1]=~/^$yobif2[0]:(.*)/){$yobi22=$1;$yobi22=~s/:/\ /g}
         print <<EP;
<tr><th>$yobif2[0]</th><th>$yobi22</th></tr>
EP
      }
      print <<EP;
<!--<tr><th><font style="background-color:yellow"><a href="?case=2&gid=$gid[$j1]">詳細</a></font></th></tr>-->
</table>
EP
      if($j==$m){print "</tr>"}
      elsif($j % $colsnum1==$colsnum1-1){print "</tr>"}
    }
  }
  print "</table><br clear=all><hr>";
}




sub speciallists2{
  my $d;
  my $sn;
  my $n1;
  $n1=0;
  if($mss ne ""){
    if($cate ne ""){&cate}
    print <<EP;
<table><tr><th align=left>$mss</th></tr></table>
EP
  }
  &lock($lock1);
  open(FILE,"$file");
  while(<FILE>){
    chomp;
    $line[$n1]=$_;
    $n1++;
  }
  &unlock($lock1);
  open(SLIST,"$slistfile");
  while(<SLIST>){
    chomp;
    $sid[$sn]=$_;
    $sn++;
  }
  foreach(@line){
    @data=split(/\Q,\E/);
    if($data[6] eq "s"){
      $d=0;
      foreach $sid(@sid){
        if($data[0] eq $sid){$snum=$d;$sget=1;last}
        $d++;
      }
      if($sget==1){
        $selectline[$snum]=$_;
        $gid[$snum]=$data[0],
        $yid[$d]=$data[1],
        $yobi1[$snum]=$data[3];
        $yobi2[$snum]=$data[4];
        $yobi3=$data[5];
        $yobi4=$data[6];
        $yobi5=$data[7];
        $yobi6=$data[8];
        $yobi7=$data[9];
        $yobi8=$data[10];
        $yobi9=$data[11];
        $yobi10=$data[12];
        $goodsname[$snum]=$data[14];
        $price[$snum]=$data[2];
        $pic1[$snum]=$data[7];
        $m++;
        $sget=0;
      }
    }
  }
  $mm=$m;
  if($m<$colsnum1){
    for($n=1;$n<=$colsnum1-$mm;$n++){
      @data=split(/\Q,\E/,$line[$n]);
      $selectline[$m]=$_;
      $gid[$m]=$data[0],
      $yid[$m]=$data[1],
      $yobi1[$m]=$data[3];
      $yobi2[$m]=$data[4];
      $yobi3=$data[5];
      $yobi4=$data[6];
      $yobi5=$data[7];
      $yobi6=$data[8];
      $yobi7=$data[9];
      $yobi8=$data[10];
      $yobi9=$data[11];
      $yobi10=$data[12];
      $goodsname[$m]=$data[14];
      $price[$m]=$data[2];
      $pic1[$m]=$data[7];
      $m++;
    }
  }
#↓$spstが1の場合、表示を$splnumアイテムとし、$spstrtを開始行とする改良(H17.1.16)
  if($spst==0){
    print <<EP;
<b>全$n1アイテム<br>
<font style="font-size:15px;color:green">お勧めアイテム</font><font style="font-size:13px;color:red">（$mmアイテム）<br></font>
</b>
EP
    print <<EP;
<table align=center width=$colsnum1*220>
EP
    for($j=0;$j<$m;$j++){
      if($gid[$j] eq ""){last}
      if(($j==0)||($j % $colsnum1==0)){print "<tr>"}
      print <<EP;
<th width=220 valign=top>
<table align=center width=220 height=220 style="font-size:11px" bgcolor=$maintablebgclr border=$maintableborder>
<tr><th width=220 height=160 colspan=2><a href="?case=2&gid=$gid[$j]">
EP
#画像の縦横比によって、画像の並び替えを決めることにした。
      $filename="pic/$pic1[$j]";
      if((-e $filename)&&($pic1[$j] ne "")){
        ($format, $width, $height) =Getpicsize::GetImageSize($filename);
        if($height/$width>150/200){print "<img src='$filename' height=150>\n"}
        else{print "<img src='$filename' width=200>\n"}
      }
      print <<EP;
</a></th></tr>
<th colspan=2 width=220><a href="?case=2&gid=$gid[$j]">$goodsname[$j] </a></th></tr>
<tr><th width=80>価格</td><th width=140>$price[$j]円</th></tr>
EP

#ここから少し中止
    if($teishi==1){
      if($yobi1[$j] ne ""){
      @yobif1=split(/:/,"$yobi1");
      if($yobi1=~/^$yobif1[0]:(.*)/){$yobi12=$1;$yobi12=~s/:/\ /g}
      print <<EP;
<tr><th>$yobif1[0]</th><th>$yobi12</th></tr>
EP
      }
      if($yobi2[$j] ne ""){
        @yobif2=split(/:/,"$yobi2");
        if($yobi2=~/^$yobif2[0]:(.*)/){$yobi22=$1;$yobi22=~s/:/\ /g}
        print <<EP;
<tr><th>$yobif2[0]</th><th>$yobi22</th></tr>
EP
      }
    }
#ここまで(2007/04/23)

      print <<EP;
<!--<tr><th><font style="background-color:yellow"><a href="?case=2&gid=$gid[$j]">詳細</a></font></th></tr>-->
</table>
EP
      if($j==$m){print "</tr>"}
      elsif($j % $colsnum1==$colsnum1-1){print "</tr>"}
    }
    print "</table><br clear=all><hr>";
  }
  else{
#$spst=1の場合。$splnumも指定できる
    if($mm>0){
    print <<EP;
<b>全$n1アイテム<br>
<font style="font-size:15px;color:green">お勧めアイテム</font><font style="font-size:13px;color:red">(全$mm個のお勧めアイテム中、$splnumアイテムがランダムに\表\示されます。左上の[メニューボタン]を押すと変化します。)<br></font>
</b>
EP
    print <<EP;
<table align=center width=$colsnum1*220>
EP
    $nt=time;
    $spstrt=$nt%$mm;
    for($j=0;$j<$splnum;$j++){
    $j1=$spstrt+$j;
    if($j1>=$mm){$j1=($spstrt+$j)-$mm}
      if($gid[$j1] eq ""){last}
      if(($j==0)||($j % $colsnum1==0)){print "<tr>"}
      print <<EP;
<th width=220 valign=top>
<table align=center width=220 height=220 style="font-size:11px" bgcolor=$maintablebgclr border=$maintableborder>
<tr><th width=220 height=160 colspan=2><a href="?case=2&gid=$gid[$j1]">
EP
#画像の縦横比によって、画像の並び替えを決めることにした。
      $filename="pic/$pic1[$j1]";
      if((-e $filename)&&($pic1[$j1] ne "")){
        ($format, $width, $height) =Getpicsize::GetImageSize($filename);
        if($height/$width>150/200){print "<img src='$filename' height=150>\n"}
        else{print "<img src='$filename' width=200>\n"}
      }
      print <<EP;
</a></th></tr>
<th colspan=2 width=220><a href="?case=2&gid=$gid[$j1]">$goodsname[$j1] </a></th></tr>
<tr><th width=80>価格</td><th width=140>$price[$j1]円</th></tr>
EP

#ここから少し中止
    if($teishi==1){
      if($yobi1[$j1] ne ""){
        @yobif1=split(/\:/,"$yobi1[$j1]");
        $yobi12="";
        $t=0;
        foreach(@yobif1){
          if($t>0){$yobi12="$yobi12 $_"}
          $t++;
        }
      print <<EP;
<tr><th>$yobif1[0]</th><th>$yobi12</th></tr>
EP
      }
      if($yobi2[$j1] ne ""){
        @yobif2=split(/\:/,"$yobi2[$j1]");
        $yobi22="";
        $t=0;
        foreach(@yobif2){
          if($t>0){$yobi22="$yobi22 $_"}
          $t++;
        }
        print <<EP;
<tr><th>$yobif2[0]</th><th>$yobi22</th></tr>
EP
      }
    }
#ここまで(2007/04/23)

      print <<EP;
</table>
EP
      if($j==$splnum-1){print "</tr>"}
      elsif($j % $colsnum1==$colsnum1-1){print "</tr>"}
    }
    print "</table><br clear=all><hr>";
  }
  }
}


#トップ表示変更(#2008/08/17)
sub speciallists{
  &liststop;
}


#カテゴリー別の表示
sub lists{
  &lock($lock1);
  $n=0;

  open(FILE,"$file");
  while(<FILE>){
    chomp;
    $line[$n]=$_;
    $n++;
  }
  &unlock($lock1);
  close(FILE);
  if($kai < 4){
    open(CATE,"$catefile");
    while(<CATE>){
      chomp;
      @catedata1=split(/\Q,\E/);
      $catedata20[$c21]=$catedata1[0];
      $catedata21[$c21]=$catedata1[1];
      $catedata22[$c21]=$catedata1[2];
      $catedata23[$c21]=$catedata1[3];
      if($catedata1[3] eq $cate){
        $kocate1[$kc1]=$catedata1[0];
        $kocate2[$kc1][0]=$catedata1[0];#コード
        $kocate2[$kc1][1]=$catedata1[1];#カテゴリ名
        $kocate2[$kc1][2]=$catedata1[2];#階層
        $kocate2[$kc1][4]=$catedata1[5];#説明
        if($catedata1[6] ne ""){
          $kocate2[$kc1][3]=$catedata1[6];#画像
          $pic1[$kc1]=$catedata1[6];
          $kg=1;
        }
        $kc1++;
      }
      elsif($catedata1[0] eq $cate){
        $ctmsg=$catedata1[5];
        $parentcate1=$catedata1[3];
        $parentkai1=$catedata1[2];
      }
      $c21++;
    }

#兄弟カテゴリを調べる
    for($br1=0;$br1<$c21;$br1++){
      if($catedata23[$br1] eq $parentcate1){
        $brothercate1[$br]=$catedata20[$br1];
        $brothercate2[$br]=$catedata21[$br1];
        $brothercate3[$br]=$catedata22[$br1];
        $br++;
      }
    }
#ここまで↑

#孫カテを調べる
    for($kn2=0;$kn2<$kc1;$kn2++){
       if($kocate2[$kn2][2]<4){
         for($bb2=0;$bb2<$c21;$bb2++){
           if($catedata23[$bb2] eq $kocate2[$kn2][0]){
             $magonum[$kn2]++;
           }
         }
       }
       else{
         foreach $line11(@line){
           @data=split(/\Q,\E/,"$line11");
           if($data[13] eq $kocate2[$kn2][0]){
             $magonum2[$kn2]++;
           }
         }
       }
    }
#ここまで↑

    foreach $kocate1(@kocate1){
      if($kocate2[$k][3] eq ""){
        foreach $kcline(@line){
          @data=split(/\Q,\E/,"$kcline");
          if($data[13] eq $kocate1){
            $kocate2[$k][3]=$data[7];
            $k1++;
            last;
          }
        }
      }
      $k++;
    }
    if($k==0){
      foreach(@line){
        @data=split(/\Q,\E/);
        if($data[13] eq $cate){
          $selectline[$m]=$_;
          $gid[$m]=$data[0],
          $yid[$m]=$data[1],
          $yobi1[$m]=$data[3];
          $yobi2[$m]=$data[4];
          $yobi3=$data[5];
          $yobi4=$data[6];
          $yobi5=$data[7];
          $yobi6=$data[8];
          $yobi7=$data[9];
          $yobi8=$data[10];
          $yobi9=$data[11];
          $yobi10=$data[12];
          $goodsname[$m]=$data[14];
          $price[$m]=$data[2];
          $pic1[$m]=$data[7];
          $m++;
        }
      }
    }
  }
  else{
#兄弟カテゴリ表示のために追加(H19/05/09)
    open(CATE,"$catefile");
    while(<CATE>){
      chomp;
      @catedata1=split(/\Q,\E/);
      $catedata20[$c21]=$catedata1[0];
      $catedata21[$c21]=$catedata1[1];
      $catedata22[$c21]=$catedata1[2];
      $catedata23[$c21]=$catedata1[3];
      if($catedata1[0] eq $cate){
        $ctmsg=$catedata1[5];
        $parentcate1=$catedata1[3];
        $parentkai1=$catedata1[2];
      }
      $c21++;
    }
    for($br1=0;$br1<$c21;$br1++){
      if($catedata23[$br1] eq $parentcate1){
        $brothercate1[$br]=$catedata20[$br1];
        $brothercate2[$br]=$catedata21[$br1];
        $brothercate3[$br]=$catedata22[$br1];
        $br++;
      }
    }
#ここまで↑↑↑
    foreach(@line){
      @data=split(/\Q,\E/);
      if($data[13] eq $cate){
        $selectline[$m]=$_;
        $gid[$m]=$data[0],
        $yid[$m]=$data[1],
        $yobi1[$m]=$data[3];
        $yobi2[$m]=$data[4];
        $yobi3=$data[5];
        $yobi4=$data[6];
        $yobi5=$data[7];
        $yobi6=$data[8];
        $yobi7=$data[9];
        $yobi8=$data[10];
        $yobi9=$data[11];
        $yobi10=$data[12];
        $goodsname[$m]=$data[14];
        $price[$m]=$data[2];
        $pic1[$m]=$data[7];
        $m++;
      }
    }
  }
  
  
#装飾のため追加
    @mainbgimg;
    $mainbgcolor;
    $mainbgimg;
    $maintablebgclr;
    $maintableborder;
    $colsnum1;
    &cateptrn;
    &headerm;
    &search;
    &cate;
    if($ctmsg ne ""){
      print <<EP;
<table align=center width="700" bgcolor="#fff0f0" cellpadding=10 cellspacing=10>
<tr><td style="font-size:16px;font-weight:bold;color:magenta">
$ctmsg
</td></tr></table>
EP
    }
    $kk=$kg+$k1;

    print <<EP;
<div id="content1" class="wddiv">
EP


    if($kk>0){
      print <<EP;
<table align=center width=$colsnum1*220>
EP
      for($j=0;$j<$k;$j++){
        if(($j==0)||($xj % $colsnum1==0)){print "<tr>"}
        unless(($kocate2[$j][3] eq "")&&($kocate2[$j][2]==4)){
          if($kocate2[$j][4] ne ""){$kct=$kocate2[$j][4]}
          else{$kct=$kocate2[$j][1]}
          print <<EP;
<th width=220 valign=top>
<table align=center width=220 height=220 style="font-size:15px" bgcolor="$maintablebgclr" border="$maintableborder">
<tr><th width=220 height=160 colspan=2>
<a href="?cate=$kocate2[$j][0]&kai=$kocate2[$j][2]" title="$kct">
EP
#画像の縦横比によって、画像の並び替えを決めることにした。
          $filename="pic/$kocate2[$j][3]";
          if((-e $filename)&&($kocate2[$j][3] ne "")){
            ($format, $width, $height) =Getpicsize::GetImageSize($filename);
            if($height/$width>150/200){print "<img src='$filename' height=150>\n"}
            else{print "<img src='$filename' width=200>\n"}
          }

#孫カテの数を表示のために追加
          if($magonum[$j]>0){$magonumcomment="<br><font style=\"font-size:12px\">($magonum[$j]種のカテゴリを含みます)</font>"}
          else{$magonumcomment="<br><font style=\"font-size:12px\">($magonum2[$j]個の商品を含みます)</font>"}
#############################

          print <<EP;
</a></th></tr>
<th colspan=2 width=220><a href="?cate=$kocate2[$j][0]&kai=$kocate2[$j][2]" title="$kct">$kocate2[$j][1] </a>$magonumcomment</th></tr>
</table>
EP
          $xj++;
        }

        if($xj==$m){print "</tr>"}
        elsif($j % $colsnum1==$colsnum1-1){print "</tr>"}
      }
      print "</table><br clear=all><hr>";
      if($br>0){
        print <<EP;
<table align=center width=600 style="font-size:12px;color:forestgreen;text-align:justify;text-justify:distribute"><tr><th>
EP
        for($brc=0;$brc<$br;$brc++){
           if(($brc>0)&&($brc%4==0)){print "<tr><th>"}
           print <<EP;
<a href="?cate=$brothercate1[$brc]&kai=$brothercate3[$brc]" style="background-color:yellow;padding:5px;margin:3px">$brothercate2[$brc]</a>
EP
           if(($brc>0)&&($brc%4==3)){print "</th></tr>"}
        }
        if($brc%4 != 3){print "</th></tr>"}
        print <<EP;
</table>
<table align=center>
<tr><th><a href="$maincgi" style="background:red;color:yellow;font-size:25px;border-color:navy;border-style: solid">トップに戻る</a></th></tr>
</table>
<br clear=all><hr>
EP
      }
    }
    elsif($m>0){
      print <<EP;
<table align=center width=$colsnum1*220>
EP
      for($j=0;$j<$m;$j++){
        if(($j==0)||($j % $colsnum1==0)){print "<tr>"}
        print <<EP;
<th width=220 valign=top>
<table align=center width=220 height=220 style="font-size:11px" bgcolor=$maintablebgclr border=$maintableborder>
<tr><th width=220 height=160 colspan=2><a href="?case=2&gid=$gid[$j]">
EP
#画像の縦横比によって、画像の並び替えを決めることにした。
        $filename="pic/$pic1[$j]";
        if((-e $filename)&&($pic1[$j] ne "")){
          ($format, $width, $height) =Getpicsize::GetImageSize($filename);
          if($height/$width>150/200){print "<img src='$filename' height=150>\n"}
          else{print "<img src='$filename' width=200>\n"}
        }
        print <<EP;
</a></th></tr>
<th colspan=2 width=220><a href="?case=2&gid=$gid[$j]">$goodsname[$j] </a></th></tr>
<tr><th width=80>価格</td><th width=140>$price[$j]円</th></tr>
EP
        if($yobi1[$j] ne ""){
          @yobif1=split(/:/,"$yobi1[$j]");
          if($yobi1[$j]=~/^\Q$yobif1[0]\E:(.*)/){$yobi12=$1;$yobi12=~s/:/\ /g}
          print <<EP;
<tr><th>$yobif1[0]</th><th>$yobi12</th></tr>
EP
        }
        if($yobi2[$j] ne ""){
          @yobif2=split(/:/,"$yobi2[$j]");
          if($yobi2[$j]=~/^\Q$yobif2[0]\E:(.*)/){$yobi22=$1;$yobi22=~s/:/\ /g}
          print <<EP;
<tr><th>$yobif2[0]</th><th>$yobi22</th></tr>
EP
        }
        print <<EP;
<!--<tr><th><font style="background-color:yellow"><a href="?case=2&gid=$gid[$j]">詳細</a></font></th></tr>-->
</table>
EP
        if($j==$m){print "</tr>"}
        elsif($j % $colsnum1==$colsnum1-1){print "</tr>"}
      }
      print <<EP;
</table><br clear=all><hr>
EP
      if($br>0){
        print <<EP;
<table align=center width=600 style="font-size:12px;color:forestgreen;text-align:justify;text-justify:distribute"><tr><th>
EP
        for($brc=0;$brc<$br;$brc++){
           if(($brc>0)&&($brc%4==0)){print "<tr><th>"}
           print <<EP;
<a href="?cate=$brothercate1[$brc]&kai=$brothercate3[$brc]" style="background-color:yellow;padding:5px;margin:3px">$brothercate2[$brc]</a>
EP
           if(($brc>0)&&($brc%4==3)){print "</th></tr>"}
        }
        if($brc%4 != 3){print "</th></tr>"}
        print <<EP;
</table>
<table align=center>
<tr><th><a href="$maincgi" style="background:red;color:yellow;font-size:25px;border-color:navy;border-style: solid">トップに戻る</a></th></tr>
</table>
<br clear=all>
<hr>
EP
      }
    }
    else{
      $mss="現在このカテゴリの商品はありません。";
      print <<EP;
<table><tr><th>$mss</th></tr>
<tr><th><br><a href="$maincgi" style="background:red;color:yellow;font-size:25px;border-color:navy;border-style: solid">トップに戻る</a></th></tr>
</table>
EP
      &speciallists2;
    }
    print "</div>";
}


#カテゴリー別の表示(トップのため #2008/08/17)
sub liststop{
  &lock($lock1);
  $n=0;
  open(FILE,"$file");
  while(<FILE>){
    chomp;
    $line[$n]=$_;
    $n++;
  }
  &unlock($lock1);
  close(FILE);
  if($kai < 4){
    open(CATE,"$catefile");
    while(<CATE>){
      chomp;
      @catedata1=split(/\Q,\E/);
      $catedata20[$c21]=$catedata1[0];
      $catedata21[$c21]=$catedata1[1];
      $catedata22[$c21]=$catedata1[2];
      $catedata23[$c21]=$catedata1[3];
      if($catedata1[3] eq $cate){
        $kocate1[$kc1]=$catedata1[0];
        $kocate2[$kc1][0]=$catedata1[0];#コード
        $kocate2[$kc1][1]=$catedata1[1];#カテゴリ名
        $kocate2[$kc1][2]=$catedata1[2];#階層
        $kocate2[$kc1][4]=$catedata1[5];#説明
        if($catedata1[6] ne ""){
          $kocate2[$kc1][3]=$catedata1[6];#画像
          $pic1[$kc1]=$catedata1[6];
          $kg=1;
        }
        $kc1++;
      }
      elsif($catedata1[0] eq $cate){
        $ctmsg=$catedata1[5];
        $parentcate1=$catedata1[3];
        $parentkai1=$catedata1[2];
      }
      $c21++;
    }

#兄弟カテゴリを調べる
    for($br1=0;$br1<$c21;$br1++){
      if($catedata23[$br1] eq $parentcate1){
        $brothercate1[$br]=$catedata20[$br1];
        $brothercate2[$br]=$catedata21[$br1];
        $brothercate3[$br]=$catedata22[$br1];
        $br++;
      }
    }
#ここまで↑

#孫カテを調べる
    for($kn2=0;$kn2<$kc1;$kn2++){
       if($kocate2[$kn2][2]<4){
         for($bb2=0;$bb2<$c21;$bb2++){
           if($catedata23[$bb2] eq $kocate2[$kn2][0]){
             $magonum[$kn2]++;
           }
         }
       }
       else{
         foreach $line11(@line){
           @data=split(/\Q,\E/,"$line11");
           if($data[13] eq $kocate2[$kn2][0]){
             $magonum2[$kn2]++;
           }
         }
       }
    }
#ここまで↑

    foreach $kocate1(@kocate1){
      if($kocate2[$k][3] eq ""){
        foreach $kcline(@line){
          @data=split(/\Q,\E/,"$kcline");
          if($data[13] eq $kocate1){
            $kocate2[$k][3]=$data[7];
            $k1++;
            last;
          }
        }
      }
      $k++;
    }
    if($k==0){
      foreach(@line){
        @data=split(/\Q,\E/);
        if($data[13] eq $cate){
          $selectline[$m]=$_;
          $gid[$m]=$data[0],
          $yid[$m]=$data[1],
          $yobi1[$m]=$data[3];
          $yobi2[$m]=$data[4];
          $yobi3=$data[5];
          $yobi4=$data[6];
          $yobi5=$data[7];
          $yobi6=$data[8];
          $yobi7=$data[9];
          $yobi8=$data[10];
          $yobi9=$data[11];
          $yobi10=$data[12];
          $goodsname[$m]=$data[14];
          $price[$m]=$data[2];
          $pic1[$m]=$data[7];
          $m++;
        }
      }
    }
  }
  else{
#兄弟カテゴリ表示のために追加(H19/05/09)
    open(CATE,"$catefile");
    while(<CATE>){
      chomp;
      @catedata1=split(/\Q,\E/);
      $catedata20[$c21]=$catedata1[0];
      $catedata21[$c21]=$catedata1[1];
      $catedata22[$c21]=$catedata1[2];
      $catedata23[$c21]=$catedata1[3];
      if($catedata1[0] eq $cate){
        $ctmsg=$catedata1[5];
        $parentcate1=$catedata1[3];
        $parentkai1=$catedata1[2];
      }
      $c21++;
    }
    for($br1=0;$br1<$c21;$br1++){
      if($catedata23[$br1] eq $parentcate1){
        $brothercate1[$br]=$catedata20[$br1];
        $brothercate2[$br]=$catedata21[$br1];
        $brothercate3[$br]=$catedata22[$br1];
        $br++;
      }
    }
#ここまで↑↑↑
    foreach(@line){
      @data=split(/\Q,\E/);
      if($data[13] eq $cate){
        $selectline[$m]=$_;
        $gid[$m]=$data[0],
        $yid[$m]=$data[1],
        $yobi1[$m]=$data[3];
        $yobi2[$m]=$data[4];
        $yobi3=$data[5];
        $yobi4=$data[6];
        $yobi5=$data[7];
        $yobi6=$data[8];
        $yobi7=$data[9];
        $yobi8=$data[10];
        $yobi9=$data[11];
        $yobi10=$data[12];
        $goodsname[$m]=$data[14];
        $price[$m]=$data[2];
        $pic1[$m]=$data[7];
        $m++;
      }
    }
  }
#装飾のため追加
    @mainbgimg;
    $mainbgcolor;
    $mainbgimg;
    $maintablebgclr;
    $maintableborder;
    $colsnum1;
    if($ctmsg ne ""){
      print <<EP;
<table align=center width="700" bgcolor="#fff0f0" cellpadding=10 cellspacing=10>
<tr><td style="font-size:16px;font-weight:bold;color:magenta">
$ctmsg
</td></tr></table>
EP
    }
    $kk=$kg+$k1;

    print <<EP;
<div id="content1" class="wddiv">
EP

    if($kk>0){
      print <<EP;
<table align=center width=$colsnum1*220>
EP
      for($j=0;$j<$k;$j++){
        if(($j==0)||($xj % $colsnum1==0)){print "<tr>"}
        unless(($kocate2[$j][3] eq "")&&($kocate2[$j][2]==4)){
          if($kocate2[$j][4] ne ""){$kct=$kocate2[$j][4]}
          else{$kct=$kocate2[$j][1]}
          print <<EP;
<th width=220 valign=top>
<table align=center width=220 height=220 style="font-size:15px" bgcolor="$maintablebgclr" border="$maintableborder">
<tr><th width=220 height=160 colspan=2>
<a href="?cate=$kocate2[$j][0]&kai=$kocate2[$j][2]" title="$kct">
EP
#画像の縦横比によって、画像の並び替えを決めることにした。
          $filename="pic/$kocate2[$j][3]";
          if((-e $filename)&&($kocate2[$j][3] ne "")){
            ($format, $width, $height) =Getpicsize::GetImageSize($filename);
            if($height/$width>150/200){print "<img src='$filename' height=150>\n"}
            else{print "<img src='$filename' width=200>\n"}
          }

#孫カテの数を表示のために追加
          if($magonum[$j]>0){$magonumcomment="<br><font style=\"font-size:12px\">($magonum[$j]種のカテゴリを含みます)</font>"}
          else{$magonumcomment="<br><font style=\"font-size:12px\">($magonum2[$j]個の商品を含みます)</font>"}
#############################

          print <<EP;
</a></th></tr>
<th colspan=2 width=220><a href="?cate=$kocate2[$j][0]&kai=$kocate2[$j][2]" title="$kct">$kocate2[$j][1] </a>$magonumcomment</th></tr>
</table></th>
EP
          $xj++;
        }

        if($xj==$m){print "</tr>"}
        elsif($j % $colsnum1==($colsnum1-1)){print "</tr>"}
      }
      print "</table><br clear=all><hr>";
      if($br>0){
        print <<EP;
<table align=center width=600 style="font-size:12px;color:forestgreen;text-align:justify;text-justify:distribute"><tr><th>
EP
        for($brc=0;$brc<$br;$brc++){
           if(($brc>0)&&($brc%4==0)){print "<tr><th>"}
           print <<EP;
<a href="?cate=$brothercate1[$brc]&kai=$brothercate3[$brc]" style="background-color:yellow;padding:5px;margin:3px">$brothercate2[$brc]</a>
EP
           if(($brc>0)&&($brc%4==3)){print "</th></tr>"}
        }
        if($brc%4 != 3){print "</th></tr>"}
        print <<EP;
</table>
<table align=center>
<tr><th><a href="$maincgi" style="background:red;color:yellow;font-size:25px;border-color:navy;border-style: solid">トップに戻る</a></th></tr>
</table>
<br clear=all><hr>
EP
      }
    }
    elsif($m>0){
      print <<EP;
<table align=center width=$colsnum1*220>
EP
      for($j=0;$j<$m;$j++){
        if(($j==0)||($j % $colsnum1==0)){print "<tr>"}
        print <<EP;
<th width=220 valign=top>
<table align=center width=220 height=220 style="font-size:11px" bgcolor=$maintablebgclr border=$maintableborder>
<tr><th width=220 height=160 colspan=2><a href="?case=2&gid=$gid[$j]">
EP
#画像の縦横比によって、画像の並び替えを決めることにした。
        $filename="pic/$pic1[$j]";
        if((-e $filename)&&($pic1[$j] ne "")){
          ($format, $width, $height) =Getpicsize::GetImageSize($filename);
          if($height/$width>150/200){print "<img src='$filename' height=150>\n"}
          else{print "<img src='$filename' width=200>\n"}
        }
        print <<EP;
</a></th></tr>
<th colspan=2 width=220><a href="?case=2&gid=$gid[$j]">$goodsname[$j] </a></th></tr>
<tr><th width=80>価格</td><th width=140>$price[$j]円</th></tr>
EP
        if($yobi1[$j] ne ""){
          @yobif1=split(/:/,"$yobi1[$j]");
          if($yobi1[$j]=~/^\Q$yobif1[0]\E:(.*)/){$yobi12=$1;$yobi12=~s/:/\ /g}
          print <<EP;
<tr><th>$yobif1[0]</th><th>$yobi12</th></tr>
EP
        }
        if($yobi2[$j] ne ""){
          @yobif2=split(/:/,"$yobi2[$j]");
          if($yobi2[$j]=~/^\Q$yobif2[0]\E:(.*)/){$yobi22=$1;$yobi22=~s/:/\ /g}
          print <<EP;
<tr><th>$yobif2[0]</th><th>$yobi22</th></tr>
EP
        }
        print <<EP;
<!--<tr><th><font style="background-color:yellow"><a href="?case=2&gid=$gid[$j]">詳細</a></font></th></tr>-->
</table>
EP
        if($j==$m){print "</tr>"}
        elsif($j % $colsnum1==$colsnum1-1){print "</tr>"}
      }
      print <<EP;
</table><br clear=all><hr>
EP
      if($br>0){
        print <<EP;
<table align=center width=600 style="font-size:12px;color:forestgreen;text-align:justify;text-justify:distribute"><tr><th>
EP
        for($brc=0;$brc<$br;$brc++){
           if(($brc>0)&&($brc%4==0)){print "<tr><th>"}
           print <<EP;
<a href="?cate=$brothercate1[$brc]&kai=$brothercate3[$brc]" style="background-color:yellow;padding:5px;margin:3px">$brothercate2[$brc]</a>
EP
           if(($brc>0)&&($brc%4==3)){print "</th></tr>"}
        }
        if($brc%4 != 3){print "</th></tr>"}
        print <<EP;
</table>
<table align=center>
<tr><th><a href="$maincgi" style="background:red;color:yellow;font-size:25px;border-color:navy;border-style: solid">トップに戻る</a></th></tr>
</table>
<br clear=all><hr>
EP
      }
    }
    else{
      $mss="現在このカテゴリの商品はありません。";
      print <<EP;
<table><tr><th>$mss</th></tr>
<tr><th><br><a href="$maincgi" style="background:red;color:yellow;font-size:25px;border-color:navy;border-style: solid">トップに戻る</a></th></tr>
</table>
EP
      &speciallists2;
    }
    print "</div>";
}

#カテゴリー別の表示
sub lists0{
  &lock($lock1);
  $n=0;
  open(FILE,"$file");
  while(<FILE>){
    chomp;
    $line[$n]=$_;
    $n++;
  }
  &unlock($lock1);
  foreach(@line){
    @data=split(/\Q,\E/);
    if($data[13] eq $cate){
      $selectline[$m]=$_;
      $gid[$m]=$data[0],
      $yid[$m]=$data[1],
      $yobi1[$m]=$data[3];
      $yobi2[$m]=$data[4];
      $yobi3=$data[5];
      $yobi4=$data[6];
      $yobi5=$data[7];
      $yobi6=$data[8];
      $yobi7=$data[9];
      $yobi8=$data[10];
      $yobi9=$data[11];
      $yobi10=$data[12];
      $goodsname[$m]=$data[14];
      $price[$m]=$data[2];
      $pic1[$m]=$data[7];
      $m++;
    }
  }
  close(FILE);
  if($m==0){
    open(CATE,"$catefile");
    while(<CATE>){
      chomp;
      @catedata1=split(/\Q,\E/);
      if($catedata1[3] eq $cate){
        $kocate[$kc1]=$catedata1[0];
        $kc1++;
      }
    }
    foreach $kcline(@line){
      @data=split(/\Q,\E/,"$kcline");
      foreach $kocate1(@kocate){
        if($data[13] eq $kocate1){
          $selectline[$m]=$_;
          $gid[$m]=$data[0],
          $yid[$m]=$data[1],
          $yobi1[$m]=$data[3];
          $yobi2[$m]=$data[4];
          $yobi3=$data[5];
          $yobi4=$data[6];
          $yobi5=$data[7];
          $yobi6=$data[8];
          $yobi7=$data[9];
          $yobi8=$data[10];
          $yobi9=$data[11];
          $yobi10=$data[12];
          $goodsname[$m]=$data[14];
          $price[$m]=$data[2];
          $pic1[$m]=$data[7];
          $m++;
        }
      }
    }
  }

#装飾のため追加
  @mainbgimg;
  $mainbgcolor;
  $mainbgimg;
  $maintablebgclr;
  $maintableborder;
  $colsnum1;
  &cateptrn;
  &header;
  &search;
  &cate;
  
  print <<EP;
<div id="content1" class="wddiv">
EP

  if($m==0){
    $mss="現在このカテゴリの商品はありません。";
    print <<EP;
<table><tr><th>$mss</th></tr>
<tr><td><br><a href="javascript:history.back()" style="background:red;color:yellow;font-size:25px">戻る</a></td></tr>
</table>
EP
    &speciallists2;
  }
  else{
    $twidth1 = $colsnum1*220;
    $twidth=$twidth1."px";
    print <<EP;

<table align=center width="$twidth">
EP
    for($j=0;$j<$m;$j++){
      if(($j==0)||($j % $colsnum1==0)){print "<tr>"}
        print <<EP;
<th width=220 valign=top>
<table align=center width=220 height=220 style="font-size:11px" bgcolor=$maintablebgclr border=$maintableborder>
<tr><th width=220 height=160 colspan=2><a href="?case=2&gid=$gid[$j]">
EP
#画像の縦横比によって、画像の並び替えを決めることにした。
  $filename="pic/$pic1[$j]";
  if((-e $filename)&&($pic1[$j] ne "")){
    ($format, $width, $height) =Getpicsize::GetImageSize($filename);
    if($height/$width>150/200){print "<img src='$filename' height=150>\n"}
    else{print "<img src='$filename' width=200>\n"}
  }
        print <<EP;
</a></th></tr>
<th colspan=2 width=220><a href="?case=2&gid=$gid[$j]">$goodsname[$j] </a></th></tr>
<tr><th width=80>価格</td><th width=140>$price[$j]円</th></tr>
EP
       if($yobi1[$j] ne ""){
         @yobif1=split(/:/,"$yobi1[$j]");
         if($yobi1[$j]=~/^\Q$yobif1[0]\E:(.*)/){$yobi12=$1;$yobi12=~s/:/\ /g}
         print <<EP;
<tr><th>$yobif1[0]</th><th>$yobi12</th></tr>
EP
      }
      if($yobi2[$j] ne ""){
        @yobif2=split(/:/,"$yobi2[$j]");
        if($yobi2[$j]=~/^\Q$yobif2[0]\E:(.*)/){$yobi22=$1;$yobi22=~s/:/\ /g}
        print <<EP;
<tr><th>$yobif2[0]</th><th>$yobi22</th></tr>
EP
      }
      print <<EP;
<!--<tr><th><font style="background-color:yellow"><a href="?case=2&gid=$gid[$j]">詳細</a></font></th></tr>-->
</table>
EP
      if($j==$m){print "</tr>"}
      elsif($j % $colsnum1==$colsnum1-1){print "</tr>"}
    }
    print "</table><br clear=all><hr>";
  }
  print "<div>";
}

sub lists2{
  $cate=~s/　/\ /g;
  @word=split(/\ /,$cate);
  $fnum=@word;
  &lock($lock1);
  open(FILE,"$file");
  while(<FILE>){
    chomp;
    if((/^.*,.*,.*,.*,$cate,/)||($cate eq "")){
      $line[$n]=$_;
      $n++;
    }
  }
  &unlock($lock1);
  if($allfit ne ""){
    foreach(@line){
      for($f=0;$f<$fnum;$f++){
        if(/\Q$word[$f]\E/){
          $fit=$fit+1;
        }
        else{
          last;
        }
        if($fit==$fnum-1){
          $selectline[$m]=$_;
          @data=split(/\Q,\E/);
          $gid[$m]=$data[0],
          $yid[$m]=$data[1],
          $yobi1[$m]=$data[3];
          $yobi2[$m]=$data[4];
          $yobi3=$data[5];
          $yobi4=$data[6];
          $yobi5=$data[7];
          $yobi6=$data[8];
          $yobi7=$data[9];
          $yobi8=$data[10];
          $yobi9=$data[11];
          $yobi10=$data[12];
          $goodsname[$m]=$data[14];
          $price[$m]=$data[2];
          $pic1[$m]=$data[7];
          $m++;
        }
      }
    }
  }
  else{
    foreach(@line){
      for($f=0;$f<$fnum;$f++){
        if(/\Q$word[$f]\E/){
          $selectline[$m]=$_;
          @data=split(/,/);
          $gid[$m]=$data[0],
          $yid[$m]=$data[1],
          $yobi1[$m]=$data[3];
          $yobi2[$m]=$data[4];
          $yobi3=$data[5];
          $yobi4=$data[6];
          $yobi5=$data[7];
          $yobi6=$data[8];
          $yobi7=$data[9];
          $yobi8=$data[10];
          $yobi9=$data[11];
          $yobi10=$data[12];
          $goodsname[$m]=$data[14];
          $price[$m]=$data[2];
          $pic1[$m]=$data[7];
          $m++;
        }
      }
    }
  }
    print <<EP;
<table align=center width=$colsnum1*220>
EP
    for($j=0;$j<$m;$j++){
      if(($j==0)||($j % $colsnum1==0)){print "<tr>"}
        print <<EP;
<th width=220>
<table align=center width=220 height=220 style="font-size:11px" bgcolor=$maintablebgclr border=$maintableborder>
<tr><th width=220 height=160 colspan=2><a href="?case=2&gid=$gid[$j]">
EP
#画像の縦横比によって、画像の並び替えを決めることにした。
  $filename="pic/$pic1[$j]";
  if((-e $filename)&&($pic1[$j] ne "")){
    ($format, $width, $height) =Getpicsize::GetImageSize($filename);
    if($height/$width>150/200){print "<img src='$filename' height=150>\n"}
    else{print "<img src='$filename' width=200>\n"}
  }
        print <<EP;
</a></th></tr>
<th colspan=2 width=220><a href="?case=2&gid=$gid[$j]">$goodsname[$j] </a></th></tr>
<tr><th width=80>価格</td><th width=140>$price[$j]円</th></tr>
EP
       if($yobi1[$j] ne ""){
         @yobif1=split(/:/,"$yobi1");
         if($yobi1=~/^$yobif1[0]:(.*)/){$yobi12=$1;$yobi12=~s/:/\ /g}
         print <<EP;
<tr><td>$yobif1[0]</td><td>$yobi12</td></tr>
EP
      }
      if($yobi2[$j] ne ""){
        @yobif2=split(/:/,"$yobi2");
        if($yobi2=~/^$yobif2[0]:(.*)/){$yobi22=$1;$yobi22=~s/:/\ /g}
        print <<EP;
<tr><th>$yobif2[0]</th><th>$yobi22</th></tr>
EP
      }
      print <<EP;
<!--<tr><th><font style="background-color:yellow"><a href="?case=2&gid=$gid[$j]">詳細</a></font></th></tr>-->
</table>
EP
      if($j==$m){print "</tr>"}
      elsif($j % $colsnum1==$colsnum1-1){print "</tr>"}
    }
    print "</table><br clear=all><hr>";
}

sub lists3{
  my $w;
  &lock($lock1);
  $n=0;
  open(FILE,"$file");
  while(<FILE>){
    chomp;
    $line[$n]=$_;
    $n++;
  }
  close(FILE);
  &unlock($lock1);
  @ckname=("g0","g1","g2","g3","g4","g5","g6","g7","g8","g9");
  foreach $ck(@ckname){
    ($c1[$cn2],$c2[$cn2],$c3[$cn2])=split(/\Q_\E/,"$COOKIE{$ck}");
    $cn2++;
  }

  foreach $ch1(@c1){
    if($ch1 eq ""){last}
    foreach $line(@line){
      @data=split(/\Q,\E/,"$line");
      if($data[0] eq $ch1){
        $selectline[$m]=$_;
        $gid[$m]=$data[0],
        $yid[$m]=$data[1],
        $yobi1[$m]=$data[3];
        $yobi2[$m]=$data[4];
        $yobi3=$data[5];
        $yobi4=$data[6];
        $yobi5=$data[7];
        $yobi6=$data[8];
        $yobi7=$data[9];
        $yobi8=$data[10];
        $yobi9=$data[11];
        $yobi10=$data[12];
        $goodsname[$m]=$data[14];
        $price[$m]=$data[2];
        $pic1[$m]=$data[7];
        $gettimes[$m]=$c2[$tc1];
        $gettime[$m]=$c3[$tc1];
        $m++;
        last;
      }
    }
    $tc1++;
  }

#装飾のため追加
  @mainbgimg;
  $mainbgcolor;
  $mainbgimg;
  $maintablebgclr;
  $maintableborder;
  $colsnum1;
  &cateptrn;
  &header;#ヘッダーの呼び出し
  &search;
#  &cate;
  if($m==0){
    $mss="商品はまだ見ていません。";
    print <<EP;
<table><tr><th align=left>$mss</th></tr></table>
EP
    &speciallists;
  }
  else{
    $w=$colsnum1*220;
    print <<EP;
<table align=center width=300>
<tr><th style="color:magenta;font-size:20px">最近ご覧になった１０アイテム</th></tr>
</table>
<table align=center width=$w>
EP
    for($j=0;$j<$m;$j++){
      if(($j==0)||($j % $colsnum1==0)){print "<tr>"}
        print <<EP;
<th width=220>
<table align=center width=220 height=220 style="font-size:11px" bgcolor=$maintablebgclr border=$maintableborder>
<tr><th width=220 height=160 colspan=2><a href="?case=2&gid=$gid[$j]">
EP
#画像の縦横比によって、画像の並び替えを決めることにした。
  $filename="pic/$pic1[$j]";
  if((-e $filename)&&($pic1[$j] ne "")){
    ($format, $width, $height) =Getpicsize::GetImageSize($filename);
    if($height/$width>150/200){print "<img src='$filename' height=150>\n"}
    else{print "<img src='$filename' width=200>\n"}
  }
  ($cs1,$cm1,$ctm1,$cd1,$cmth1,$cy1,$cw1,$cyd1,$ccc)=localtime($gettime[$j]);
  $cmth1=$cmth1+1;
        print <<EP;
</a></th></tr>
<th colspan=2 width=220><a href="?case=2&gid=$gid[$j]">$goodsname[$j] </a></th></tr>
<tr><th width=80>価格</td><th width=140>$price[$j]円</th></tr>
<tr><th width=80>回数</td><th width=140>$gettimes[$j]回</th></tr>
<tr><th width=80>最終アクセス</td><th width=140>$cmth1月$cd1日 $ctm1時$cm1分</th></tr>
EP
       if($yobi1[$j] ne ""){
         @yobif1=split(/:/,"$yobi1");
         if($yobi1=~/^$yobif1[0]:(.*)/){$yobi12=$1;$yobi12=~s/:/\ /g}
         print <<EP;
<tr><td>$yobif1[0]</td><td>$yobi12</td></tr>
EP
      }
      if($yobi2[$j] ne ""){
        @yobif2=split(/:/,"$yobi2");
        if($yobi2=~/^$yobif2[0]:(.*)/){$yobi22=$1;$yobi22=~s/:/\ /g}
        print <<EP;
<tr><th>$yobif2[0]</th><th>$yobi22</th></tr>
EP
      }
      print <<EP;
<!--<tr><th><font style="background-color:yellow"><a href="?case=2&gid=$gid[$j]">詳細</a></font></th></tr>-->
</table>
EP
      if($j==$m){print "</tr>"}
      elsif($j % $colsnum1==$colsnum1-1){print "</tr>"}
    }
    print "</table><br clear=all><hr>";
  }
}

sub lists4{
  my ($cn2,$n,$w);
  @ckname2=("o0","o1","o2","o3","o4","o5","o6","o7","o8","o9","o10","o11","o12","o13","o14","o15","o16","o17","o18","o19");
  if($era eq "era"){
    @cbxera=split(/\Q:\E/,"$cb");
    foreach $ckn2(@ckname2){
      if($COOKIE{$ckn2} eq ""){last}
      foreach $cbx1(@cbxera){
        if(($COOKIE{$ckn2}=~/^$cbx1/)&&($cbx1 ne "")){$erari=1;last}
      }
      if($erari==0){
          @cktmp2=split(/\Q_\E/,"$COOKIE{$ckn2}");
          $COOKIE{$ckname2[$cnum1]}="$cktmp2[0]_$cktmp2[1]_$cktmp2[2]";
          $cnum1++;
      }
      else{$erari=0}
    }
    &set_cookie("LISTUP",@ckname2);
  }
  &lock($lock1);
  $n=0;
  open(FILE,"$file");
  while(<FILE>){
    chomp;
    $line[$n]=$_;
    $n++;
  }
  close(FILE);
  &unlock($lock1);

  if($era eq "era"){
    foreach $ck(@ckname2){
      ($c1[$cn2],$c2[$cn2],$c3[$cn2])=split(/\Q_\E/,"$q->param($ck)");
      $cn2++;
    }
  }
  else{
    foreach $ck(@ckname2){
      ($c1[$cn2],$c2[$cn2],$c3[$cn2])=split(/\Q_\E/,"$COOKIE{$ck}");
      $cn2++;
    }
  }

  foreach $ch1(@c1){
    if($ch1 eq ""){last}
    foreach $line(@line){
      @data=split(/\Q,\E/,"$line");
      if($data[0] eq $ch1){
        $selectline[$m]=$_;
        $gid[$m]=$data[0],
        $yid[$m]=$data[1],
        $yobi1[$m]=$data[3];
        $yobi2[$m]=$data[4];
        $yobi3=$data[5];
        $yobi4=$data[6];
        $yobi5=$data[7];
        $yobi6=$data[8];
        $yobi7=$data[9];
        $yobi8=$data[10];
        $yobi9=$data[11];
        $yobi10=$data[12];
        $goodsname[$m]=$data[14];
        $price[$m]=$data[2];
        $pic1[$m]=$data[7];
        $gettimes[$m]=$c2[$tc1];
        $gettime[$m]=$c3[$tc1];
        $m++;
        last;
      }
    }
    $tc1++;
  }

#装飾のため追加
  @mainbgimg;
  $mainbgcolor;
  $mainbgimg;
  $maintablebgclr;
  $maintableborder;
  $colsnum1;
  &cateptrn;
  &header;
  &search;
#  &cate;

  if($m==0){
    $mss="お気に入りの登録はありません。";
    print <<EP;
<table><tr><th align=left>$mss</th></tr></table>
EP
    &speciallists;
  }
  else{
    $w=$colsnum1*220;
    print <<EP;
<script language="javascript">
<!--
  function checkall(){
    for(ck=0;ck<window.document.ok.cb.length;ck++){
      window.document.ok.cb[ck].checked=true;
    }
  }
-->
</script>
<form method = "post" name="ok">
<input type=hidden name="case" value=4>
<input type=hidden name="era" value="era">
<table align=center width=800>
<tr><th align=center style="color:magenta;font-size:20px">お気に入りリストアイテム</th></tr>
<tr><th>
<table><tr><th style="font-size:12px">
<input type=button name="b1" value="全てをチェック" onClick="checkall()"></th>
<th align=right style="font-size:12px"><input type=submit name="s1" value="チェックしたアイテムをお気に入りから外す">
</th></tr></table>
</th></tr></table>
<table align=center width=$w>
EP
    for($j=0;$j<$m;$j++){
      if(($j==0)||($j % $colsnum1==0)){print "<tr>"}
        print <<EP;
<th width=220>
<table align=center width=220 height=220 style="font-size:11px" bgcolor=$maintablebgclr border=$maintableborder>
<tr><th width=220 height=160 colspan=2>
<input type=checkbox name="cb" value="$gid[$j]">
<a href="?case=2&gid=$gid[$j]">
EP
#画像の縦横比によって、画像の並び替えを決めることにした。
  $filename="pic/$pic1[$j]";
  if((-e $filename)&&($pic1[$j] ne "")){
    ($format, $width, $height) =Getpicsize::GetImageSize($filename);
    if($height/$width>150/200){print "<img src='$filename' height=150>\n"}
    else{print "<img src='$filename' width=200>\n"}
  }
  ($cs1,$cm1,$ctm1,$cd1,$cmth1,$cy1,$cw1,$cyd1,$ccc)=localtime($gettime[$j]);
        print <<EP;
</a>
</th></tr>
<th colspan=2 width=220><a href="?case=2&gid=$gid[$j]">$goodsname[$j] </a></th></tr>
<tr><th width=80>価格</td><th width=140>$price[$j]円</th></tr>
<tr><th width=80>回数</td><th width=140>$gettimes[$j]回</th></tr>
<tr><th width=80>最終アクセス</td><th width=140>$cmth1月$cd1日 $ctm1時$cm1分</th></tr>
EP
       if($yobi1[$j] ne ""){
         @yobif1=split(/:/,"$yobi1");
         if($yobi1=~/^$yobif1[0]:(.*)/){$yobi12=$1;$yobi12=~s/:/\ /g}
         print <<EP;
<tr><td>$yobif1[0]</td><td>$yobi12</td></tr>
EP
      }
      if($yobi2[$j] ne ""){
        @yobif2=split(/:/,"$yobi2");
        if($yobi2=~/^$yobif2[0]:(.*)/){$yobi22=$1;$yobi22=~s/:/\ /g}
        print <<EP;
<tr><th>$yobif2[0]</th><th>$yobi22</th></tr>
EP
      }
      print <<EP;
<!--<tr><th><font style="background-color:yellow"><a href="?case=2&gid=$gid[$j]">詳細</a></font></th></tr>-->
</table>
EP
      if($j==$m){print "</tr>"}
      elsif($j % $colsnum1==$colsnum1-1){print "</tr>"}
    }
    print "</table><br clear=all></form><hr>";
  }
}


sub search{
  print <<EP;
<form method=post>
<table align=center style="margin:0 auto;width:800px;font-size:16px">
<tr><th bgcolor="#ffddff" >
<table width="500px"><tr><th width="100x">検索語</th>
<th align=left><input type=text name=word size=20 value="$cate"></th>
<td width="150px"><input type=submit name=fit value="検索" style="color:yellow;background-color:forestgreen"></td><td width="250px"><input type=checkbox name=allfit value=1>全ての語にフィット</td></table>
</th>
</form>
<form method=post>
<th bgcolor="#ffffdd" width="150px"><input type=submit value="お気に入りリスト" style="color:marineblue;background-color:#ddddff"></th>
<input type=hidden name="case" value=4>
</form>
<form method=post>
<th bgcolor="#ddffff" width="150px"><input type=submit value="ウオッチ履歴" style="color:magenta;background-color:#ffdddd"></th></tr></table>
<input type=hidden name="case" value=3>
</form>
EP
}

sub list{
  my $n;

  @gid=split(/\Q^.^\E/,"$COOKIE{'gid'}");
  @title=split(/\Q^.^\E/,"$COOKIE{'title'}");
  @price=split(/\Q^.^\E/,"$COOKIE{'price'}");
  @kazu=split(/\Q^.^\E/,"$COOKIE{'kazu'}");
  @yobi11=split(/\Q^.^\E/,"$COOKIE{'yobi11'}");
  @yobi21=split(/\Q^.^\E/,"$COOKIE{'yobi21'}");
  @yobi1=split(/\Q^.^\E/,"$COOKIE{'yobi1'}");
  @yobi2=split(/\Q^.^\E/,"$COOKIE{'yobi2'}");
  $num=@title;
  if($kazuerr==1){
    print <<EP;
<script language="javascript">
<!--
f1=0;
function falert1(){
  f1=window.alert("\申\し\訳\ご\ざいません在庫不足で処理できません");
}
function kaZu(){
  var y1a=new Array();
  var y2a=new Array();
  var kaz1a=new Array();
  var kazunew=new Array();
  var y1;
  var y2;
  var y3;
  var y1sel;
  var y2sel;
  var ny1;
  var ny2;
  var ny3;
  var ny11;
  var ny21;
  y1="$yobi11";
  y2="$yobi21";
  y3="$yobi3";
  if(y1 == ""){
    ny1=0;
  }
  else{
    y1a=y1.split(/:/);
    ny1=y1a.length;
    ny11=document.form1.yobi1.selectedIndex;
  }
  if(y2 == ""){
    ny2=0;
  }
  else{
    y2a=y2.split(/:/);
    ny2=y2a.length;
    ny21=document.form1.yobi2.selectedIndex;
  }
  if(y3 == ""){
    kaz1a=0;
  }
  else{
    kaz1a=y3.split(/:/);
  }
  if((ny1 >0)&&(ny2 >0)){
    ny3=ny11*ny2+ny21;
  }
  else if((ny1>0)&&(ny2 == 0)){
    ny3=ny11;
  }
  else{
    ny3=ny21;
  }
  kaz3=kaz1a[ny3];
  if(y3 !=""){
    window.document.form1.kazu.options.length=kaz3;
    setOptionText(window.document.form1.kazu, ny3);
  }
}
function setOptionText(the_select, kaz1){
  for (loop=0; loop < the_select.options.length; loop++){
//    if(loop<kaz1){
      the_select.options[loop].text = loop+1;
      the_select.options[loop].value = loop+1;
//    }
//    else{
//      the_select.options[loop].text = 0;
//      the_select.options[loop].value = 0;
//    }
  }
}
//-->
</script>
EP
  }
  else{
    print <<EP;
<script language="javascript">
<!--
function falert1(){
}
function kaZu(){
  var y1a=new Array();
  var y2a=new Array();
  var kaz1a=new Array();
  var kazunew=new Array();
  var y1;
  var y2;
  var y3;
  var y1sel;
  var y2sel;
  var ny1;
  var ny2;
  var ny3;
  var ny11;
  var ny21;
  y1="$yobi11";
  y2="$yobi21";
  y3="$yobi3";
  if(y1 == ""){
    ny1=0;
  }
  else{
    y1a=y1.split(/:/);
    ny1=y1a.length;
    ny11=document.form1.yobi1.selectedIndex;
  }
  if(y2 == ""){
    ny2=0;
  }
  else{
    y2a=y2.split(/:/);
    ny2=y2a.length;
    ny21=document.form1.yobi2.selectedIndex;
  }
  if(y3 == ""){
    kaz1a=0;
  }
  else{
    kaz1a=y3.split(/:/);
  }
  if((ny1 >0)&&(ny2 >0)){
    ny3=ny11*ny2+ny21;
  }
  else if((ny1>0)&&(ny2 == 0)){
    ny3=ny11;
  }
  else{
    ny3=ny21;
  }
  kaz3=kaz1a[ny3];
  if(y3 !=""){
　  if(kaz3>10){window.document.form1.kazu.options.length=10}
    else{window.document.form1.kazu.options.length=kaz3}
    setOptionText(window.document.form1.kazu,ny3);
  }
}
function setOptionText(the_select, kaz1){
  for (loop=0; loop < the_select.options.length; loop++){
      the_select.options[loop].text = loop+1;
      the_select.options[loop].value = loop+1;
  }
}
function kazuChange(kazu1){
  var selectId='kazu' + kazu1;
  var kazu=document.getElementById(selectId).value;
  var red1=kazu1 + '_' + kazu;
  var form = document.getElementById("frm");
  var elm1 = document.createElement("input");
  elm1.setAttribute("name", "case");
  elm1.setAttribute("type", "hidden");
  elm1.setAttribute("value", "reduce");
  var elm2 = document.createElement("input");
  elm2.setAttribute("name", "reduce1");
  elm2.setAttribute("type", "hidden");
  elm2.setAttribute("value", red1);
  var elm3 = document.createElement("input");
  elm3.setAttribute("name", "gid");
  elm3.setAttribute("type", "hidden");
  elm3.setAttribute("value", "$gid");
  form.appendChild(elm1);
  form.appendChild(elm2);
  form.appendChild(elm3);
  form.submit();
  console.log(red1);
}
//-->
</script>
EP
  }
  print <<EP;
<center><font style="background-color:pink"> ↓買い物カゴ </center></font>
<hr><div id="kago1" class="stddiv">
EP
  if($num>0){
    print <<EP;
<form action="main1.cgi" method="post" id="frm"></form>

<table id="cart_tbl">
<tr><th id="amount_tbl_th1">商品名</th><th id="amount_tbl_th2">操作</th><th id="amount_tbl_th3">価格</th><th id="amount_tbl_th4">数量</th><th id="amount_tbl_th5">金額</th><th id="amount_tbl_th6">備考</th></tr>
EP
    for($f=0;$f<$num;$f++){
      $kingaku=$price[$f] * $kazu[$f];
      if($yobi1[$f] ne ""){$bikou1=$yobi11[$f]."：".$yobi1[$f]}
      if($yobi2[$f] ne ""){$bikou2=$yobi21[$f]."：".$yobi2[$f]}
      if($bikou1 eq "y：y"){$bikou1=""}
      if($bikou2 eq "y：y"){$bikou2=""}
      if(($bikou1 ne "")&&($bikou2 ne "")){$bikoujoint="  "}
      $bikou=$bikou1.$bikoujoint.$bikou2;

      $selectid="kazu".$f;
      print <<EP;
<td>$title[$f]</td><td>
<a href="outkago.cgi?line=$f"><img src="img/sakujo.gif"></a>
</td><td>$price[$f]</td><td>
<select id="$selectid" onChange="kazuChange($f);">
EP
     $n=0;
     for($n=$kazu[$f];$n>=0;$n--){
       print "<option value=\"$n\">$n</option>";
     }

print <<EP;
</select>
</td><td>$kingaku\円</td><td>$bikou</td></tr>
EP
      $amount=$amount+$kingaku;
    }
use integer;
#    $tax=$amount * $taxrate / 100;
    if($amount<$transfarlimit){$transfar=$transfarfee;$transfarcomment1=$transfarcomment}
    else{$transfar=0;$transfarcomment1=$transfarcomment}
#    $kei=$amount + $tax + $transfar;#外税の場合、下をこの行に変える。下記の表示部も改訂
   if($transfar=~/[^0-9]/){$kei=$amount;$transfar1=$transfar}
   else{$kei=$amount+$transfar;$transfar1="$transfar"."円"}
no integer;
    print <<EP;
</table></div>
<div id="amount" class="wddiv">
<div id="amount1" class="hlfdiv">
<table id="am_tbl1">
<tr><th id="goukei">金額合計</th><td id="goukei1">$amount 円</td></tr>
<tr><th id="souryou">送　料</th><td id="souryou1">$transfar1</td></tr>
<tr><th id="soukei">総　計</th><td id="soukei1">$kei 円　(プラス送料：ご連絡します。)</td></tr>
</table>
</div>
<div id="amount2" class="hlfdiv">
<table id="am_tbl2">
<tr><th id="am21"><a href="cdelete.cgi"><img src="img/reset.gif"></a></th>
<th id="am22"><a href="pay.cgi"><img src="img/pay.gif"></a></th></tr>
</table>
</div>
<div class="clear"></div>
<div id="am_comment" class="stddiv">$transfarcomment1</div>
</div>
EP
  }
  else{
    print <<EP;
<div id="kago2" class="nrwdiv">現在カゴには何も入っていません。</div>
EP
  }
    print <<EP;
<!-- Google Code for &#21830;&#21697;&#38322;&#35239; Conversion Page -->
<script type="text/javascript">
/* <![CDATA[ */
var google_conversion_id = 1014867597;
var google_conversion_language = "ja";
var google_conversion_format = "2";
var google_conversion_color = "ffffff";
var google_conversion_label = "AOl9CKvApAIQjc324wM";
var google_conversion_value = 0;
/* ]]> */
</script>
<script type="text/javascript" src="http://www.googleadservices.com/pagead/conversion.js">
</script>
<noscript>
<div style="display:inline;">
<img height="1" width="1" style="border-style:none;" alt="" src="http://www.googleadservices.com/pagead/conversion/1014867597/?label=AOl9CKvApAIQjc324wM&amp;guid=ON&amp;script=0"/>
</div>
</noscript>
<br>
<!-- Yahoo Code for shojiken20121110 Conversion Page -->
<script type="text/javascript">
/* <![CDATA[ */
var yahoo_conversion_id = 1000019916;
var yahoo_conversion_label = "WQQpCJ7J6wIQ0vy96AM";
var yahoo_conversion_value = 0;
/* ]]> */
</script>
<script type="text/javascript" src="http://i.yimg.jp/images/listing/tool/cv/conversion.js">
</script>
<noscript>
<div style="display:inline;">
<img height="1" width="1" style="border-style:none;" alt="" src="http://b91.yahoo.co.jp/pagead/conversion/1000019916/?label=WQQpCJ7J6wIQ0vy96AM&amp;guid=ON&amp;script=0&amp;disvt=true"/>
</div>
</noscript>
EP
}

#減数 2015/07/20/
sub reduce{
  my $reduce1;
  my $kazu1;
  my $num1;
  my @kazu;
  my @red1;
  $reduce1=$q->param('reduce1');
  @red1=split(/\Q_\E/,"$reduce1");
  $num1=$red1[0];
  $kazu1=$red1[1];
  &read_cookie($cookiename);
  @kazu=split(/\Q^.^\E/,"$COOKIE{'kazu'}");
  $kazu[$num1]=$kazu1;
  $COOKIE{'kazu'}=join('^.^',@kazu);
}

sub listout{
  @gid=split(/\Q^.^\E/,"$COOKIE{'gid'}");
  @title=split(/\Q^.^\E/,"$COOKIE{'title'}");
  @price=split(/\Q^.^\E/,"$COOKIE{'price'}");
  @kazu=split(/\Q^.^\E/,"$COOKIE{'kazu'}");
  @yobi11=split(/\Q^.^\E/,"$COOKIE{'yobi11'}");
  @yobi21=split(/\Q^.^\E/,"$COOKIE{'yobi21'}");
  @yobi1=split(/\Q^.^\E/,"$COOKIE{'yobi1'}");
  @yobi2=split(/\Q^.^\E/,"$COOKIE{'yobi2'}");
  $num = @title;
  for($n=0;$n<$num;$n++){
    unless($n eq $line){
      $newgid[$m]=$gid[$n];
      $newtitle[$m]=$title[$n];
      $newprice[$m]=$price[$n];
      $newkazu[$m]=$kazu[$n];
      $newyobi11[$m]=$yobi11[$n];
      $newyobi21[$m]=$yobi21[$n];
      $newyobi1[$m]=$yobi1[$n];
      $newyobi2[$m]=$yobi2[$n];
      $m++;
    }
  }
  $gid=join("^.^",@newgid);
  $title=join("^.^",@newtitle);
  $price=join("^.^",@newprice);
  $kazu=join("^.^",@newkazu);
  $yobi11=join("^.^",@newyobi11);
  $yobi21=join("^.^",@newyobi21);
  $yobi1=join("^.^",@newyobi1);
  $yobi2=join("^.^",@newyobi2);
}
sub list2{
  $COOKIE{'gid'}=$gid;
  $COOKIE{'title'}=$title;
  $COOKIE{'price'}=$price;
  $COOKIE{'kazu'}=$kazu;
  $COOKIE{'yobi11'}=$yobi11;
  $COOKIE{'yobi21'}=$yobi21;
  $COOKIE{'yobi1'}=$yobi1;
  $COOKIE{'yobi2'}=$yobi2;
}
sub cateptrn{
  open(CATE,"$catefile");
  while(<CATE>){
    chomp;
    if(/^$cate,/){@catetmp=split(/\Q,\E/);$cateptrn=$catetmp[4];last}
  }
  close(CATE);
  if($cateptrn ne ""){
    ($cclmnum,$mbackclr,$mbackimg,$cbgclr,$cbrclr,$cyobi1,$cyobi2)=split(/\Q:\E/,"$cateptrn");
    if($mbackclr>0){$mainbgcolor=$mainbgcolor[$mbackclr]};
    if($mbackimg>0){$mainbgimg=$mainbgimg[$mbackimg]};
    if($cbgclr>0){$maintablebgclr=$maintablebgclr[$cbgclr]};
    if($cbrclr>0){$maintableborder=$maintableborder[$cbrclr]};
    if($cclmnum>0){$colsnum1=$colsnum[$cclmnum]}
  }
}
sub cate{
   my $i;
   my $s;
   my $t;
  @selectedcates=split(/\Q.\E/,"$selectedcates");
  open(CATE,"$catefile");
  while(<CATE>){
    chomp;
    $cateline[$s]=$_;
    $s++;
  }
  foreach(@cateline){
    @datatmp2=split(/\Q,\E/);
    if($datatmp2[0] eq $cate){$selectedcates[$datatmp2[2]-1]=$datatmp2[0];last}
  }
  for($i=0;$i<4;$i++){
    foreach(@cateline){
      @datatmp1=split(/\Q,\E/);
      if($datatmp1[0] eq $selectedcates[$i]){$catename[$t]=$datatmp1[1];$t++;last}
    }
  }
  $catename=join("＞＞",@catename);
  print <<EP;
<table align=center><tr><th align=left>$catename</th></tr></table>
EP
}
###　HTMLの最初##########################
sub header{
  if($mainbgimg ne ""){
    my $bgimg="bgimg/$mainbgimg";
  }
  print <<EP;
Content-type:text/html charset=UTF-8\n\n
<html>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=UTF-8">
<script src="./js/jquery.js"></script>
<meta name="viewport" content="width=device-width,initial-scale=1">
<link rel="stylesheet" href="./css/style.css">
<link rel="shortcut icon" href="../img/favicon.ico" />
<link rel="icon" type="image/vnd.microsoft.icon" href="../img/favicon.ico”>
<script src="./js/menu.js"></script>
<STYLE TYPE="text/css"><!--
A:link {text-decoration:none}
A:visited {text-decoration:none }
--></STYLE>
<head><title>$title</title>
<body bgcolor="$mainbgcolor" background="$bgimg">
<div id="top1" class="wddiv">
<div id="kanban"><img src="./img/松司軒.png"></div>
<div id="telme"><a href="tel:0556620210"><img src="./img/telme2.png"></a>
<br><a href="mailto:shojiken\@abelia.ocn.ne.jp">メール：shojiken\@abelia.ocn.ne.jp</a>
</div>
<div class="clear"></div>
</div>
<form method = "post" action="$maincgi" id="frm1"></form>
<div align=right><a href="http://www.bosatsu.jp/minobu/" target="_new" style="font-size:1px">.</a></div>
EP
  if($maintopletter==1){
    open(TOP,"$maintopletterfile");
    while(<TOP>){
      chomp;
      print <<EP;
$_
EP
    }
  }
  print <<EP;
<div id="menu1">
EP
&menu1;
  print <<EP;
</div>
EP
}

sub headerm{
  if($mainbgimg ne ""){
    my $bgimg="bgimg/$mainbgimg";
  }
  print <<EP;
Content-type:text/html charset=UTF-8\n\n
<html>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<script src="./js/jquery.min.js"></script>
<link rel="stylesheet" href="./css/style.css">
<link rel="shortcut icon" href="../img/favicon.ico" />
<link rel="icon" type="image/vnd.microsoft.icon" href="../img/favicon.ico”>
<script src="./js/menu.js"></script>
<STYLE TYPE="text/css"><!--
A:link {text-decoration:none}
A:visited {text-decoration:none }
--></STYLE>
<head><title>$title</title>
<body bgcolor="$mainbgcolor" background="$bgimg">
<div id="top1" class="wddiv">
<div id="kanban"><img src="./img/松司軒.png"></div>
<div id="telme"><a href="tel:0556620210"><img src="./img/telme2.png"></a>
<br><a href="mailto:shojiken\@abelia.ocn.ne.jp">shojiken\@abelia.ocn.ne.jp</a>
</div>
<div class="clear"></div>
</div>
<div id="menu1">
EP
&menu1;
  print <<EP;
</div>
EP
}

sub header1{
#履歴のためのクッキー
  my $num;
  &read_cookie("GOODS");

  $nc1=1;
  @ckname=("g0","g1","g2","g3","g4","g5","g6","g7","g8","g9");
  foreach $ck(@ckname){
    if($COOKIE{$ck}=~/^$gid/){$ari=1}
    $cookies[$num]=$COOKIE{$ck};
    $num++;
  }
  if($ari==1){
    foreach $ck(@ckname){
      @ctmp=();
      if($COOKIE{$ck} eq ""){last}
      if($COOKIE{$ck}=~/^$gid/){
          @ctmp=split(/\Q_\E/,"$COOKIE{$ck}");
          $ctmp[1]++;
          $ctmp[2]=time;
          $ari=1;
          $COOKIE{$ck}=$ctmp[0]."_".$ctmp[1]."_".$ctmp[2];
      }
#      else{
#        @ctmp=split(/\Q_\E/,"$COOKIE{$ck}");
#        $COOKIE{$ckname[$nc1]}=$ctmp[0]."_".$ctmp[1]."_".$ctmp[2];
#        $nc1++;
#      }
    }
  }
  else{
    $t1=time;
    $cnum=@ckname;
    for($cnum1=$cnum-1;$cnum1>0;$cnum1--){
      @ctmp=();
      $COOKIE{$ckname[$cnum1]}=$COOKIE{$ckname[$cnum1-1]};
    }
    $COOKIE{'g0'}=$gid."_1_".$t1;
  }
  $COOKIE{'times'}=time;
  

  @ckey=("g0","g1","g2","g3","g4","g5","g6","g7","g8","g9","times");

&set_cookie("GOODS",@ckey);
#お気に入りのためのクッキー
  $aro=0;
  $ccn1=0;
  @ckname2=("o0","o1","o2","o3","o4","o5","o6","o7","o8","o9","o10","o11","o12","o13","o14","o15","o16","o17","o18","o19");
  &read_cookie("LISTUP");
  if($setlist==1){
    foreach $cktmp2(@ckname2){
      if($COOKIE{$cktmp2}=~/^$gid/){$aro=2;}
    }
    

    if($aro==0){
      $cnum=@ckname2;
      $cnum1=0;
      $otime=time;
      for($cnum1=$cnum-1;$cnum1>0;$cnum1--){
        $COOKIE{$ckname2[$cnum1]}=$COOKIE{$ckname2[$cnum1-1]};
        print FILE "$ckname2[$cnum1]:$COOKIE{$ckname2[$cnum1]}\n";
      }
      $COOKIE{'o0'}=$gid."_1_".$otime;
      &set_cookie("LISTUP",@ckname2);
    }
    else{
      foreach $ckn2(@ckname2){
        print FILE "$ck2:$COOKIE{$ck2}\n";
        @cktmp2=();
        if($COOKIE{$ckn2}=~/^$gid/){
          @cktmp2=split(/\Q_\E/,"$COOKIE{$ckn2}");
          $cktmp2[1]=$cktmp2[1]+1;
          $cktmp2[2]=time;
          $COOKIE{$ckn2}=$cktmp2[0]."_".$cktmp2[1]."_".$cktmp2[2];
         }
        else{
          if($COOKIE{$ckn2} ne ""){
            @cktmp2=split(/\Q_\E/,"$COOKIE{$ckn2}");
            $COOKIE{$ckn2}=$cktmp2[0]."_".$cktmp2[1]."_".$cktmp2[2];
          }
          else{
            last;
          }
        }
      }
      &set_cookie("LISTUP",@ckname2);
    }
 }
  print <<EP;
Content-type:text/html charset=UTF-8\n\n
<html>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<script type="text/javascript" src="./js/jquery.min.js"></script>
<link rel="stylesheet" href="./css/style.css">
<link rel="shortcut icon" href="../img/favicon.ico" />
<link rel="icon" type="image/vnd.microsoft.icon" href="../img/favicon.ico”>
<script type="text/javascript" src="./js/menu.js"></script>
<STYLE TYPE="text/css"><!--
A:link {text-decoration:none}
A:visited {text-decoration:none }
--></STYLE>
<head><title>$title</title>
EP
  if($mainbgimg ne ""){
    my $bgimg="bgimg/$mainbgimg";
  }
  print <<EP;  
</head><body onLoad="falert1();kaZu();" bgcolor="$mainbgcolor" background="$bgimg">
<div id="top1" class="wddiv">
<div id="kanban"><img src="./img/松司軒.png"></div>
<div id="telme"><a href="tel:0556620210"><img src="./img/telme2.png"></a>
<br><a href="mailto:shojiken\@abelia.ocn.ne.jp">shojiken\@abelia.ocn.ne.jp</a>
</div>
<div class="clear"></div>
</div>
<div id="menu1">
EP
&menu1;
  print <<EP;
</div>
<div align=right><a href="http://www.bosatsu.jp/minobu/" target="_new" style="font-size:1px">.</a></div>
EP
}
###　HTMLの最後###########################
sub footer{
  if($mainlastletter==1){
    open(LST,"$mainlastletterfile");
    while(<LST>){
      chomp;
      print <<EP;
$_
EP
    }
  }
  print <<EP;
<hr color=black size=1>
<font style="font-size:10px">
<div align=right><!--
 <a href="http://www.minobusan.net/webshop/pageindex1.html" target="_new">\松\司軒珠数仏具店</a> <a href="http://www.minobusan.net/webshop/pageindex2.html" target="_new">松司軒珠数仏具店</a> <a href="http://www.minobusan.net/webshop/pageindex3.html" target="_new">松司軒珠数仏具店</a> <a href="http://www6.ocn.ne.jp/~minobu/pageindex1.html" target="_new">松司軒珠数仏具店</a> <a href="http://www6.ocn.ne.jp/~minobu/pageindex2.html" target="_new">松司軒珠数仏具店</a> <a href="http://www.bosatsu.jp/minobu/" target="_new" style="font-size:1px">.</a> <a href="http://www.bosatsu.jp/minobu/" target="_new" style="font-size:1px">.</a>
-->
</div>
</font><img src="gif.cgi?tt=index">
</body>
<script src="./js/gen.js"></script>
</html>
EP
}
sub footer1{
  print <<EP;
<hr color=black size=1>
<font style="font-size:10px">
<div align=right> <a href="http://www.minobusan.net/webshop/pageindex1.html" target="_new">松司軒珠数仏具店</a> <a href="http://www.minobusan.net/webshop/pageindex2.html" target="_new">松司軒珠数仏具店</a> <a href="http://www.minobusan.net/webshop/pageindex3.html" target="_new">松司軒珠数仏具店</a> <a href="http://www6.ocn.ne.jp/~minobu/pageindex1.html" target="_new">松司軒珠数仏具店</a> <a href="http://www6.ocn.ne.jp/~minobu/pageindex2.html" target="_new">松司軒珠数仏具店</a> <a href="http://www.bosatsu.jp/minobu/" target="_new" style="font-size:1px">.</a><a href="http://www.bosatsu.jp/minobu/" target="_new" style="font-size:1px">.</a></div>
</font>
</body>
<script src="./js/gen.js"></script>
</html>
EP
}
# クッキーを読む
####################################################
#$cookiename変数にクッキーの名前を入れる。
sub read_cookie{
  my ($cookiename)=@_;
  @pairs = split(/\;/,$ENV{'HTTP_COOKIE'});
  foreach $pair(@pairs){
    local($name,$value) = split(/\=/,$pair);
  #エンコードしたセパレータ＝を戻す．	
    $name	=~ s/Enc_eq/\=/g;
    $value =~ s/Enc_eq/\=/g;
    $name =~ s/ //g;
    $COOKIES{$name} = $value;
  }
  foreach ( split(/\,/,$COOKIES{$cookiename})){
    local($name,$value) = split(/\:/);
    $COOKIE{$name} = $value;
  }
}

####################################################
# クッキーを書く
####################################################
sub set_cookie{
  my ($cookiename,@cookiekey)=@_;
  my $date;
  $DAY1=$q->param('DAY1');
  $DAY2=$q->param('DAY2');
#セパレータと区別できなくなる＝を事前にEnc_eqに置換
  my $ckeynum=@cookiekey;
  ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time + 31536000);
  if ($sec < 10)  { $sec = "0$sec";   }
  if ($min < 10)  { $min = "0$min";   }
  if ($hour < 10) { $hour = "0$hour"; }
$y0="Sunday"; $y1="Monday"; $y2="Tuesday"; $y3="Wednesday"; $y4="Thursday"; $y5="Friday"; $y6="Saturday";
##(    $y0="Sun"; $y1="Mon"; $y2="Tue"; $y3="Wed"; $y4="Thu"; $y5="Fri"; $y6="Sat";)
  $youbi = ($y0,$y1,$y2,$y3,$y4,$y5,$y6) [$wday];
  $year=1900+$year;
  @mon=("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
  $date="$youbi $mday-$mon[$mon]-$year $hour:$min:$sec GMT";
  $DAY2=time;
  if($DAY1 eq ""){$DAY1=time}
  for($num=0;$num<$ckeynum;$num++){
    $cval[$num]=$COOKIE{$cookiekey[$num]};
    $cval[$num]=~ s/\=/Enc_eq/g;
    $set[$num]="$cookiekey[$num]:$cval[$num]";
  }
  $set_cookie_value=join(",",@set);
  print "Set-Cookie: $cookiename=$set_cookie_value; expires=$date;\n";
}
####################################################
# 日付
####################################################
sub date{
  my $tt=time;
  ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($tt);
#  if ($sec < 10)  { $sec = "0$sec";   }
#  if ($min < 10)  { $min = "0$min";   }
#  if ($hour < 10) { $hour = "0$hour"; }
  $month = ($mon + 1);
  $y0="日"; $y1="月"; $y2="火"; $y3="水"; $y4="木"; $y5="金"; $y6="土";
  $youbi = ($y0,$y1,$y2,$y3,$y4,$y5,$y6) [(localtime)[6]];
  $year=1900+$year;
  $date="$year/$month/$mday($youbi)";
  $times="$hour:$min:$sec";
}
####################################################
# 書き飛ばしを防ぐためのロック
####################################################
sub lock{
  my ($lockfile)=@_;
  my $retry= 2;
  while(!symlink(".", $lockfile)){
    if(--$retry <= 0) {&errorjump}
    sleep(1);
  }
}
sub unlock{
  my ($lockfile)=@_;
  if(-e $lockfile){unlink($lockfile)}
}

sub errorjump{
  if ($ENV{PERLXS} eq "PerlIS") { # IIS (PerlIS) サーバ対応
    print "HTTP/1.0 302 Temporary Redirection\r\n";
    print "Content-type:text/html\n";
  }
  print "Location:$errorurl\n\n";
exit;
}
sub errors{
  my ($er2)=@_;
  print <<EP;
<b>$er2が書き込まれていません。</b><br>
EP
}

sub jump{
if ($ENV{PERLXS} eq "PerlIS") { # IIS (PerlIS) サーバ対応
  print "HTTP/1.0 302 Temporary Redirection\r\n";
  print "Content-type:text/html\n";
}
print "Location:$url1?&mss=$mss\n\n";
exit;
}

sub report{
  &date;
  $time1=time;
  open(REP,">>$maincgirepfile");
  print REP<<EP;
$date,$times,$gid,$cate,$ENV{'HTTP_REFERER'},$ENV{'REMOTE_HOST'},$ENV{'REMOTE_ADDR'},$time1
EP
}
sub log1{
  my ($s,$m,$h,$d,$mth,$yr,$w,$yd,$w,$gid,$cate,$date,$hour);
  $redu1[0]="koufu\.yamanashi\.ocn\.ne\.jp";#ここに減らすべき行を書く
  $redu1[1]="inktomisearch\.com";
  $redu1[2]="search\.msn\.com";
  $redu1[3]="msnbot\.msn\.com";
  $redu1[4]="googlebot\.com";
  $redu1[5]="exabot\.com";
  $user = 'minobusan-net';
  $passwd = 'RgP22hUr';
  ($s,$m,$h,$d,$mth,$yr,$w,$yd,$w)=localtime(time);
  $yr=$yr+1900;
  $mth=$mth+1;
  if($mth<10){$mth="0$mth"}
  if($d<10){$d="0$d"}
  if($h<10){$h="0$h"}
  if($m<10){$m="0$m"}
  if($s<10){$s="0$s"}
  $date1="$yr-$mth-$d";
  $hour1="$h:$m:$s";
  $addr1=$ENV{'REMOTE_ADDR'};
  $referer1=$ENV{'HTTP_REFERER'};
  $host1=&GetHostName($addr1);
  $cate1=$cate;
  $gid1=$gid;
  $tms1=time;
  foreach $rd1(@redu1){
    if($host1=~/$rd1/){$hits=1;last}
  }
#  if($hits==0){
#    $db = DBI->connect('DBI:mysql:minobusan-net00001:localhost', $user, $passwd);
#    $sth = $db->prepare("insert into logs (date1, hour1, cate1, gid1, referer1, host1, addr1, tms1) values ('$date1','$hour1','$cate1','$gid1','$referer1','$host1','$addr1','$tms1')");
#    $sth->execute;
#    $sth->finish;
#    $db->disconnect;
#  }
}
sub GetHostName {
	my($ip_address) = @_;
	my(@addr) = split(/\./, $ip_address);
	my($packed_addr) = pack("C4", $addr[0], $addr[1], $addr[2], $addr[3]);
	my($name, $aliases, $addrtype, $length, @addrs);
	($name, $aliases, $addrtype, $length, @addrs) = gethostbyaddr($packed_addr, 2);
	return $name;
}
