#!/usr/bin/perl
#設置の方法によってパスの変更が必要です。

# jcode.plへのパス
require './jcode.pl';

# cgi-lib.plへのパス
require './cgi-lib.pl';

# MIMEコード変換ライブラリ
require './mimew.pl';

# 各種設定ファイル
require '../set/conf_test.pl';

# カテゴリー設定ファイル
require '../set/shop_class.pl';

# 送料設定ファイル
require '../set/souryoufile.pl';

# メール文書ファイル
require '../set/mail_set.pl';

#ショッピングカート共通部分の設定ファイル
require '../set/shop_set.pl';


#=====設定終了===================================================================

&ReadParse;

while (($key,$val) = each %in) {

#	&jcode'convert(*val, "sjis");
	$form{$key} = $val;
	
	$val =~ s/<>//g;

	if($form{'mode'} eq 'adm4' || $form{'mode'} eq 'order_form' || $form{'mode'} eq 'order_mail'){
		$val =~ s/&quot;/\"/g;
		if ($key eq "MESS" || $key eq "setumei") {
			$val =~ s/&lt;/</g;
			$val =~ s/&gt;/>/g;
			$val =~ s/<br>/\n/g;
			$val =~ s/\.\n/\. \n/g;

		}else{
			$val =~ s/</&lt;/g;
			$val =~ s/>/&gt;/g;	

			$val =~ s/\r\n//g;
			$val =~ s/\r//g;
			$val =~ s/\n//g;
			$val =~ s/\s//g;
		}
			
	}else{
		$val =~ s/\"/&quot;/g;
		$val =~ s/\0/ /g;
		if ($key eq "MESS" || $key eq "setumei" || $key eq "setumei2" || $key eq "setumei3") {
			$val =~ s/\r\n/<br>/g;
			$val =~ s/\r/<br>/g;
			$val =~ s/\n/<br>/g;
			if ($val =~ /<br>$/) {
				while ($val =~ /<br>$/) { $val =~ s/<br>$//g; }
			}	

		} else {
			$val =~ s/</&lt;/g;
			$val =~ s/>/&gt;/g;	
			$val =~ s/\r\n//g;
			$val =~ s/\r//g;
			$val =~ s/\n//g;
			$val =~ s/\s//g;
		}
	}

	$in{$key} = $val;

}

#=================注文加算============================================
if($in{'order'} eq ""){
# Cookieの値を得る
&getCookie();
	$in{'order'} = $COOKIE{'ORDER'};
}	

$order=$in{'order'};
$order_new =$in{'g_no'}.",".$in{'op1'}.",".$in{'op2'};
if($in{'amount'} ne "" and $in{'amount'} ne "0"){
		if($order eq ""){
			$order =$in{'g_no'}.",".$in{'op1'}.",".$in{'op2'}.":".$in{'amount'};
	    }else{
			@order_1 = split(/!/,$order);
			foreach (@order_1) {
				($i,$j) = split(/:/,$_);
                if($i eq $order_new){
                	$j = $j + $in{"amount"};
                	if($order_2 eq ""){
                		$order_2 =$order_new.":".$j;
                	}else{
                    	$order_2 .="!".$order_new.":".$j;
                    }
                    $k =1;
                }else{
                	if($order_2 eq ""){
                		$order_2 =$_;
                	}else{
                    	$order_2 .="!".$_;
                    }
                }
	        }

	        if($k ne 1){
	    		$order .="!".$in{'g_no'}.",".$in{'op1'}.",".$in{'op2'}.":".$in{'amount'};
	    	}else{
	    	    $order =$order_2;
	    	}
	    }
$in{'order'}=$order;
}
#=================注文減算============================================

if($in{'del_no'} ne ""){
	$order ="";
	@order_1 = split(/!/,$in{'order'});
	foreach (@order_1) {
		($s,$t) = split(/:/,$_);
		if($s eq $in{'del_no'}){next;}
		if($order eq ""){
			$order = $s.":".$t;
		}else{
			$order .="!".$s.":".$t;
		}
	}
	$in{'order'}=$order;
}
	
#クッキーの設定
print &setCookie_0("ORDER", $order);

# 設定ファイル====================================================================
if ( $in{'mode'} eq 'order_mail' ) {
	$in{'order'} ='';
	require '../set/shop_set.pl';
	$in{'order'}=$order;
}else{
	require '../set/shop_set.pl';
}
#===== 戻り先========================================================
$save_data="$script?&keyword=$in{'keyword'}&FF=$in{'FF'}&class=$in{'class'}";
$modoru_adding = "$save_data&mode=adm2&pass=$adm_pass";
$modoru_dell = "$save_data&mode=adm3&pass=$adm_pass";
$modoru_renew = "$save_data&mode=adm4&pass=$adm_pass";
$modoru_goods ="$script?order=$in{'order'}&class=$in{'class'}&keyword=$in{'keyword'}&FF=$in{'FF'}&price_sort=$in{'price_sort'}";
$modoru_goods_2 ="$script?class=$in{'class'}&keyword=$in{'keyword'}&FF=$in{'FF'}&price_sort=$in{'price_sort'}";
$modoru_goods_end ="$script?class=$in{'class'}&keyword=$in{'keyword'}&FF=$in{'FF'}&price_sort=$in{'price_sort'}";

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

	if (!open(IN,"$data_file")) { &error('データベース読取エラー','復旧をお待ちください.'); }
	@BASE = <IN>;
	close(IN);

if($in{'price_sort'} ne 1){
	@BASE = reverse @BASE;
}else{	
	@BASE = sort { (split(/\<\>/,$a))[8] <=> (split(/\<\>/,$b))[8] } @BASE;
}

	$hit = 0;
	$next_num = '';
	$over_no = 0;
	
	if($in{'mode'} eq 'adm3' or $in{'mode'} eq 'addell'){
		$page =$page_dell;	
	}

#=========消費税のの扱い====================
if($tax_flag eq '' or $tax_flag == 0){
	$tax_set ='(税別)';
	$br_tax_set ='<br>(税別)';
}elsif($tax_flag == 1){
	$tax_set ='(税込)';
	$br_tax_set ='<br>(税込)';
	$syouhi_tax =0;
}else{
	$syouhi_tax =0;
}

#====================================================================
    if ( $in{'mode'} eq 'adding' ) { &adding; exit;}
	if ( $in{'mode'} eq 'renew' ) { &renew; exit;}
	if ( $in{'mode'} eq 'dell' ) { &dell; exit;}
	if ( $in{'mode'} eq 'look' ) { &look; exit;}
	if ( $in{'mode'} eq 'order_form' ) { &order_form; exit;}
	if ( $in{'mode'} eq 'sure' ) { &sure; exit;}
	if ( $in{'mode'} eq 'order_mail' ) { &order_mail; exit;}
#=====TEST中=========================================================
	if ( $in{'mode'} eq 'adm5' ) { &csv_adm; exit;}
	if ( $in{'mode'} eq 'adm6' ) { &csv_adm_ok; exit;}
	if ( $in{'mode'} eq 'adm7' ) { &csv_new; exit;}

#====================================================================
# Cookieの値を得る
&getCookie();
$classmei = $COOKIE{'BUNRUIMEI'};
$ff_no = $COOKIE{'FF'};
if($ff_no eq ''){$ff_no =0;}

$pas_word = $COOKIE{'WORD'};

if($in{'class'} ne ""){
	$classmei = $in{'class'};
	print &setCookie("BUNRUIMEI", $classmei);
}
if($in{'FF'} ne ""){
	$ff_no = $in{'FF'};
	print &setCookie('FF', $ff_no);
}
if($in{'keyword'} ne "" or $in{'superkey'} eq "1"){
	$pas_word = $in{'keyword'};
	print &setCookie('WORD', $pas_word);
}
$in{'keyword'} = $pas_word;
$in{'class'}=$classmei;
#===================================================================
$data_su= 0;
$data_ff =0;
foreach $num (0 .. $#BASE) {

		$data = $data2 = $BASE[$num];
		&jcode'convert(*data,'sjis');
		($goods_no,$name,$artist,$kigou,$option,$option2,$class,$setumei,$fcolor,$price,$tani,$zaiko,$limit,$picture,$bikou,$nensiki,$syaken,$haikiryou,$door,$handle,$gaisou,$sonota,$recycling,$syuhuku,$hosyotuki,$seibituki,$icon) = split(/\<\>/,$data);
	if($pas_word ne "") {
    
		# 入力内容を整理
		$word = $pas_word;
		$word =~ s/　/ /g;
		$word =~ s/\t/ /g;
		@pairs = split(/ /,$word);

($a,$b)  =split(/\//,$class);
&class_name_get();

	# 検索処理(検索対象の指定)
			$flag_k = 0;
			foreach $pair (@pairs){
#				if (index($kigou,$pair) >= 0) {
#					 next;
#kaigyou		}els
				if (index($name,$pair) >= 0) {
					 next;
				}elsif (index($artist,$pair) >= 0) {
					 next;
	#			}elsif (index($goods_no,$pair) >= 0) {
	#				 next;
				}elsif (index($class_B,$pair) >= 0) {
					 next;
				}elsif (index($class_S,$pair) >= 0) {
					 next;
				}elsif (index($option,$pair) >= 0) {
					 next;
				}elsif (index($setumei,$pair) >= 0) {
					 next;
				}elsif (index($bikou,$pair) >= 0) {
					 next;
#				}elsif (index($price,$pair) >= 0) {
#					 next;
#				}elsif (index($class,$pair) >= 0) {
#					 next;
				}
				$flag_k = 1;
				last;
			}
			if ($flag_k == 1) { next; }

    }
		if ($classmei ne "all" && $classmei ne "") {
			($a1,$a2)  =split(/\//,$class);
			($b1,$b2)  =split(/\//,$classmei);
			
			if ($a1 ne $b1) { next; }
			if ($b2 ne ''){
				if($a2 ne $b2){ next;}
			}

		}

		if ($in{'id'} ne '' && ($in{'mode'} eq 'adm4' or $in{'mode'} eq 'p_wide')) {
			if ($goods_no eq $in{'id'}) {
			 	push(@NEW,$data2);
			 	last; 
			 } else { next; }
		}

		$data_su++;

		# 検索終了処理
		if ($hit == $page) { $next_num = $data_ff; $over_no ++; $hit++; next; }
		elsif($hit < $page && $data_ff >= $ff_no){
			 push(@NEW,$data2); $hit++; 
		}elsif($hit > $page && $data_ff >= $ff_no){
			$over_no ++;
		}
		$data_ff ++;
}

if($over_no > $page){
	$over_no = $page;
}
#=========================================================================================
	if ( $in{'mode'} eq 'adm1' ) { &adm1; exit;}
	elsif ( $in{'mode'} eq 'adm2' ) { &adm_add; exit;}
	elsif ( $in{'mode'} eq 'adm3' ) { &adm_dell; exit;}
	elsif ( $in{'mode'} eq 'adm4' ) { &adm_renew; exit;}
	elsif ( $in{'mode'} eq 'p_wide' ) { &p_wide; exit;}
	else { &shop_form; exit;}

#=============================画像の拡大（詳細画面）===========================================
sub p_wide {

&html_header();

if($zaiko eq ""){
    $zaiko = 10000000;
}
if($limit eq ""){
    $limit =100000;
}

$kosuu_setting = "";
foreach ( @kosuu_set ) {
	if($_ >$limit or $_ >$zaiko){
		last;
	}else{
		$kosuu_setting .= "<option value=$_>$_</option>";
	}
}
if($kosuu_setting eq ""){
	$kosuu_setting = "<select name='amount'><option value=0>−</option></select>$tani_set";
}else{
	$kosuu_setting = "<select name='amount'>$kosuu_setting</select>$tani_set";
}

$folder="$dir_p/order.gif";
if($zaiko ne ''){
	$get_setting = "<INPUT TYPE=submit value=\"かごに入れる\">";
}else{
    $get_setting = $zaiko3;
}

($pic1,$pic2,$pic3,$pic4,$pic5,$pici,$picj) =split(/\|/,$picture);

if($pic1 eq ""){
	$pic1 ="$dir_p/space2.gif";
}
if($pic2 eq ""){
	$pic2 ="$dir_p/space2.gif";
}
if($pic3 eq ""){
	$pic3 ="$dir_p/space2.gif";
}
if($pic4 eq ""){
	$pic4 ="$dir_p/space2.gif";
}
if($pic5 eq ""){
	$pic5 ="$dir_p/space2.gif";
}
($setumei,$setumei2) =split(/\|\|/,$setumei);

@option = split(/\:/,$option);
$i = 0;
$option_set = "";
while($i < $option_no) {
	($op_k[$i],$op_m[$i]) =split(/\,/,$option[$i]);
	if($op_k[$i] eq ""){ $i++; next;}
		$option_set = $option_set."<option value='$op_k[$i]'>$op_m[$i]($op_k[$i])</option>\n";
	$i++;
}
if($option_set ne ""){
    $option_set = "<select name='op1'>".$option_set."</select>";
}else{
	$option_set ="\　";
}

@option2 = split(/\:/,$option2);
$i = 0;
$option2_set = "";
while($i < $option2_no) {
	($op2_k[$i],$op2_m[$i]) =split(/\,/,$option2[$i]);
	if($op2_k[$i] eq ""){ $i++; next;}
		$option2_set = $option2_set."<option value='$op2_k[$i]'>$op2_m[$i]($op2_k[$i])</option>\n";
	$i++;
}
if($option2_set ne ""){
    $option2_set = "<select name='op2'>".$option2_set."</select>";
}else{
	$option2_set ="\　";
}
($icon1,$icon2,$icon3,$icon4,$icon5,$icon6,$icon7,$icon8,$icon9,$icon11,$icon12,$icon13,$icon14,$icon15,$icon16,$icon17,$icon18,$icon19,$icon20,$icon21,$icon22,$icon23,$icon24,$icon25,$icon26,$icon27,$icon28,$icon29,$icon30,$icon31,$icon32,$icon33,$icon34,$icon35,$icon36,$icon37,$icon38,$icon39,$icon40,$icon41,$icon42,$icon43,$icon44,$icon45,$icon46,$icon47,$icon48,$icon49,$icon50,$icon51,$icon52,$icon53,$icon54,$icon55,$icon56,$icon57,$icon58,$icon59,$icon60,$icon61,$icon62,$icon63,$icon64,$icon65) =split(/\|/,$icon);

if($icon1 eq ""){$icon_set = "<img src=\"$img_dir/icon/1.gif\">"}

print <<"EOF";
	<!--検索テーブル-->
	<table width="700">
	<tr>
	<td align="right">
	<form method=post action=$script>
	<select name="class">
	<option value="all">$class_all</option>
EOF
$i =0;
foreach (@class_tb) {
	($class_B,$k) = split(/\//,$_);
	if("$i" ne $classmei){
	print <<"EOF";
	<option value="$i">$class_B</option>
EOF
		}else{
	print <<"EOF";
	<option value="$i" selected>$class_B</option>
EOF
		}

	@class_S =split(/:/,$k);
	$j =0;
	foreach (@class_S) {
	
		if("$i/$j" ne $classmei){
	print <<"EOF";
	<option value="$i/$j">$class_B/$class_S[$j]</option>
EOF
		}else{
	print <<"EOF";
	<option value="$i/$j" selected>$class_B/$class_S[$j]</option>
EOF
		}
		$j ++;
	}
	$i ++;
}	

print <<"EOF";
	</select>
	<input TYPE="submit" VALUE="ジャンル別検索">
	<input type="hidden" name="FF" value=0>
	<input type="hidden" name="superkey" value="1">
	<input type="hidden" name="keyword" value="">
	<input type="hidden" name="order" value=$in{'order'}>
	</form>
	</td>
	<td align="right">
	<form method=post action=$script>
	<input type="text" size=20 name="keyword" value="$pas_word">
	<input TYPE="submit" VALUE="キーワード検索">
	<input type="hidden" name="class" value="all">
	<input type="hidden" name="FF" value=0>
	<input type="hidden" name="superkey" value="1">
	<input type="hidden" name="order" value=$in{'order'}>
	</form>
	</td>
	</tr>
	</table>
EOF

1 while $price =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理

print <<"EOF";
<center>
<TABLE cellSpacing=0 cellPadding=0 width="$t_width" border=0>
<TBODY>
<TR>
<TD width="350" align="center" valign="top">
<IMG src="$pic1" border="0" width="300" name="main_pic">
<TABLE width="300">
<TR>
<TD align="center"><a href="javascript:;" onClick="document.main_pic.src='$pic1'"><IMG src="$pic1" border="0" width="50" height="38"></a></TD>
<TD align="center"><a href="javascript:;" onClick="document.main_pic.src='$pic2'"><IMG src="$pic2" border="0" width="50" height="38"></a></TD>
<TD align="center"><a href="javascript:;" onClick="document.main_pic.src='$pic3'"><IMG src="$pic3" border="0" width="50" height="38"></a></TD>
<TD align="center"><a href="javascript:;" onClick="document.main_pic.src='$pic4'"><IMG src="$pic4" border="0" width="50" height="38"></a></TD>
<TD align="center"><a href="javascript:;" onClick="document.main_pic.src='$pic5'"><IMG src="$pic5" border="0" width="50" height="38"></a></TD>
</TR>
</TABLE>
</TD>
<TD rowspan="3" align="left" valign="top">
<TABLE border=0 cellspacing=3 cellpadding=5>
<TR><TD bgcolor="$color_d">商品名</TD><TD>$name</TD></TR>
<TR><TD bgcolor="$color_d">$maker</TD><TD>$artist</TD></TR>
<TR><TD bgcolor="$color_d">商品ID</TD><TD>$kigou</TD></TR>
<TR><TD bgcolor="$color_d" valign=top>商品の説明</TD><TD>
$setumei2
<BR><BR>
<FORM action="$script" method="post">
	<input type='hidden' name='g_no' value="$in{'id'}">
    <input type="hidden" name="class" value="$in{'class'}">
    <input type="hidden" name="FF" value="$in{'FF'}">
    <input type="hidden" name="order" value="$in{'order'}">
    <input type="hidden" name="keyword" value="$in{'keyword'}">
    <input type="hidden" name="price_sort" value=$in{"price_sort"}>
</TD></TR>

<TR><TD bgcolor="$color_d">販売価格</TD><TD>$price円$tax_set</TD></TR>
<TR><TD bgcolor="$color_d">在庫数</TD><TD>$zaiko2</TD></TR>
</TABLE>
<br><br>$option_set\　 $option2_set\　注文数 $kosuu_setting$tani</b> \　 $get_setting
</FORM>
</TD>
    </TR>
<TR>
<TD align=center valign=top>


</TD>
    </TR>
<TR>
<TD align=middle>上記のサムネール画像をクリックすると<BR>画像が切り替わります。</TD>
    </TR>
  </TBODY>
</TABLE>
</center>
EOF

print <<"EOF";
	<TABLE width="$t_width" bgcolor="$bg_color">
	<TR>
	<TD align="right">
	<a href="$modoru_goods">■戻る</a>
	</TD>
	</TR>
	</TABLE>

EOF

	print "$foot\n" ;	
	print "</BODY>\n" ;	
	print "</HTML>\n" ;	

}
#=============================注文メール=================================================	
sub order_mail {
    # タイムゾーンを日本時間に合わせる
	$ENV{'TZ'} = "JST-9";
	$times = time;
	($sec,$min,$hour,$day,$month,$year,$wday,$Days,$dmy) = localtime($times);
	$month = $month +1;
	$year = $year + 1900;
    $year_m_d = "$year"."年"."$month"."月"."$day"."日";
    $year_m_d2 = "$year"."/"."$month"."/"."$day";

if($in{'d_time'}){
	$in{'MESS'} = "[配達時間指定：$in{'d_time'}]\n"."$in{'MESS'}";
}

$order_log="";
# ロック処理
if ($lockkey ne 0) { &lock_log(); }

	open (IN,"$data_file") || &error('オープンエラー1','指定された書込みファイルが開けません。');
	@BASE = <IN>;
	close (IN);
	
	#データチェック
	$order=$in{'order'};
	&keisan();

foreach $data ( @BASE ) {
	($goods_no,$name,$artist,$kigou,$option,$option2,$class,$setumei,$fcolor,$price,$tani,$zaiko,$limit,$tail,$bikou) = split(/\<\>/,$data);

	@order_1 = split(/!/,$in{'order'});
	foreach (@order_1) {
		($s,$t) = split(/:/,$_);
		($a,$b,$c) = split(/\,/,$s);

		if ( $goods_no == $a ) {
			if($zaiko ne ''){
		 		$zaiko =$zaiko -$t;       #在庫数更新
            }
			$data = "$goods_no<>$name<>$artist<>$kigou<>$option<>$option2<>$class<>$setumei<>$fcolor<>$price<>$tani<>$zaiko<>$limit<>$tail<>$bikou";
		}
	}
	push (@NEW,$data); 
}
	
	open (OUT,">$data_file") || &error('オープンエラー2','指定された書込みファイルが開けません。');
	print OUT (@NEW);
	close (OUT);

	open (IN,"$NO_file") || &error('オープンエラー3','指定された書込みファイル【$NO_file】が開けません。');
	$order_max = <IN>;
	close (IN);
	
	if($order_max eq ""){$order_max = 0;}
	$order_no = $order_max + 1;
	
	open (OUT,">$NO_file") || &error('オープンエラー4','指定された書込みファイルが開けません。');
	print OUT "$order_no";
	close (OUT);

# ファイルロック解除
if (-e $loglock) { unlink($loglock); }

$souryou_csv=$in{'souryou'};

$mailto ="$in{'MAIL'}";
$fromname =$shop_name;
$frommail =$shop_mail;
$subject =$mail_subject;
	&mail_make();
	&mail_send();

$mailto =$shop_mail;
$fromname =$shop_name;;
$frommail =$shop_mail;
$subject =$mail_subject;
$report="次の方にメールを送信しました。"."\n          "."$in{'SIMEI'}"."\n          "."$in{'MAIL'}"."\n";
$mailbody=$report.$mailbody2;

if($csv_tenpu){
	&mail_send_tenpu();
	&csv_unlock();
}else{
    &mail_send();
}

#注文完了メッセージ====
#クッキーの設定
print &setCookie_0("ORDER", "");
$in{'order'} ='';

&html_header();
print <<"EOF";
<TABLE border="1" bordercolor="#e4e4e4" cellpadding="5">
<TBODY>
<TR>
<TD>商品の検索</TD>
<TD>&gt;&gt;</TD>
<TD>かごの中</TD>
<TD>&gt;&gt;</TD>
<TD>ご注文</TD>
<TD>&gt;&gt;</TD>
<TD>ご注文内容のご確認</TD>
<TD>&gt;&gt;</TD>
<TD bgcolor="#ffd7d7">完了</TD>
</TR>
</TBODY>
</TABLE>
EOF
print <<"EOF";
<CENTER>
<TABLE cellpadding="3" width="$o_width">
	<TBODY>
	<TR>
	<TD align="right" width="$o_width"><A href="$modoru_goods_end" onmouseover="window.status='商品ページへ!!';return true;" onmouseout="window.status='';return true;">■商品画面へ戻る</A></TD>
	</TR>
	</TBODY>
</TABLE>
</CENTER>
<CENTER>
<TABLE bgcolor="$color_d" width="$o_width">
	<TBODY>
	<TR>
	<TD align="center" bgcolor="$color_d"><b>ご注文ありがとうございました</b></TD>
	</TR>
	<TR>
	<TD align="center"><BR>$in{"SIMEI"}$end_mess<BR><BR></TD>
	</TR>
	<TR>
	<TD colspan="2" align="center" bgcolor="$color_d" height="16"><B><b>ありがとうございました</b></B></TD>
	</TR>
	</TBODY>
</TABLE>
<BR>
</CENTER>
EOF

	print "$foot\n" ;	
	print "</BODY>\n" ;	
	print "</HTML>\n" ;	

}

#=======ログ及びCSV形式のファイルの作成======
sub csv_make{
#=============ログの作成=============

	if($order_log){
		$order_log .=":"."$k_no[$data_no],$k_name[$data_no],$k_artist[$data_no],$option_1,$option_2,$kigou,$k_price[$data_no],$k_amount[$data_no],$k_total[$data_no]";
	}else{
		$order_log .="$k_no[$data_no],$k_name[$data_no],$k_artist[$data_no],$option_1,$option_2,$kigou,$k_price[$data_no],$k_amount[$data_no],$k_total[$data_no]";
	}

#=============csvデータ===============
#データ構成
#     顧客管理（user.csv）
#         注文番号,氏名,メール,郵便番号,住所,電話,送金方法,機種,連絡事項,氏名2,郵便番号2,住所2,電話2
#     販売管理（sale.csv）
#         注文番号,日付,商品番号,商品名,アーティスト,オプション１,オプション２,商品記号,単価,注文数,合計,送料,代引き料

$mess =$in{'MESS'};
$mess =~ s/\r\n/\　/g;
$mess =~ s/\r/\　/g;
$mess =~ s/\n/\　/g;

if($csv_tenpu eq 0){return;}

if($option_1 eq ""){$option_1 = "-";}
if($option_2 eq ""){$option_2 = "-";}

# 顧客管理用csvデータ
	open (OUT,">$file_user") || &error('オープンエラー5','指定された書込みファイルが開けません。');
	print OUT "$order_no,$in{'SIMEI'},$in{'MAIL'},$in{'POST'},$in{'ADDR'},$in{'TEL'},$in{'METHOD'},PC,$mess,$in{'SIMEI2'},$in{'POST2'},$in{'ADDR2'},$in{'TEL2'}";
	print OUT "\n";
	close (OUT);
    
# 販売管理用csvデータ
	open (OUT,">$file_sale") || &error('オープンエラー6','指定された書込みファイルが開けません。');

			$data = "$order_no,$year_m_d2,$k_no[$data_no],$k_name[$data_no],$k_artist[$data_no],$option_1,$option_2,$kigou,$k_price[$data_no],$k_amount[$data_no],$k_total[$data_no],$souryou_csv,$daibiki_add_csv\n";
			push (@SALE_DATA,$data) ;
			
	print OUT @SALE_DATA;
	close (OUT);
	
	$souryou_csv ='';
    $daibiki_add_csv ='';

}

#======csvファイル削除=========================
sub csv_unlock{
	if (-e "$file_user") { unlink("$file_user"); }
	if (-e "$file_sale") { unlink("$file_sale"); }
}

#=======注文ログファイルへの追加===============
sub put_log{

	open (OUT,">>$log_file") || &error('オープンエラー7','ログファイルが開けません。');
	print OUT "$order_no,$year_m_d2,<>$order_log,$zaiko<>$all_total_log,$tax_log,$in{'souryou'},$sougoukei_log,$in{'METHOD'},$daibiki_add<>$in{'SIMEI'},$in{'MAIL'},$in{'POST'},$in{'ADDR'},$in{'TEL'},PC,$mess,$in{'SIMEI2'},$in{'POST2'},$in{'ADDR2'},$in{'TEL2'}\n";
	close (OUT);

	open (OUT,">>$log_file2") || &error('オープンエラー7','ログファイルが開けません。');
	print OUT "$order_no,$year_m_d2,<>$order_log,$zaiko<>$all_total_log,$tax_log,$in{'souryou'},$sougoukei_log,$in{'METHOD'},$daibiki_add<>$in{'SIMEI'},$in{'MAIL'},$in{'POST'},$in{'ADDR'},$in{'TEL'},PC,$mess,$in{'SIMEI2'},$in{'POST2'},$in{'ADDR2'},$in{'TEL2'}\n";
	close (OUT);
}

#=======メールを作成する=============
#
sub mail_make{
$tax = int($all_total * $syouhi_tax);
$tax_total =$tax + $all_total;
$sougoukei =$tax_total +$in{"souryou"};
$souryou_set =$in{"souryou"};
$sougoukei_2 =$sougoukei;

#====消費税の扱い=====
if($tax_flag eq '' or $tax_flag == 0){
	$syouhizei_set ="【消費税】$tax円\n";
}

#====代引き===========
&daibikikeisann();
&collectkeisann();

if($in{'METHOD'} eq '代引き'){
	$sougoukei_2 =$sougoukei +$daibiki_add;
1 while $sougoukei_2 =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理
	$daibiki_add_set ="\n【代引き手数料】$daibiki_add円\n【代引き手数料を含めたお支払い総額】$sougoukei_2円\n";
	$method_set ="$daibiki_mess"."商品到着時に別途代引き手数料$daibiki_add円が必要です。\n";
}elsif($in{'METHOD'} eq 'e-コレクト'){
	$sougoukei_2 =$sougoukei +$collect_add;
1 while $sougoukei_2 =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理
	$daibiki_add_set ="\n【e-コレクト手数料】$collect_add円\n【e-コレクト手数料を含めたお支払い総額】$sougoukei_2円\n";
	$method_set ="$collect_mess"."商品到着時に別途e-コレクト手数料$collect_add円が必要です。\n";
}elsif($in{'METHOD'} eq '郵便振替'){
	$yuubin ="CHECKED";
	$method_set =$hurikae_mess;
}else{
	$bank ="CHECKED";
	$method_set =$hurikomi_mess;
}

$all_total_log =$all_total;
$tax_log=$tax;
$sougoukei_log=$sougoukei;

if($in{'METHOD'} eq '代引き'){
	$daibiki_add_csv =$daibiki_add;
}elsif($in{'METHOD'} eq 'e-コレクト'){
	$daibiki_add_csv =$collect_add;
}

1 while $souryou_set =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理
1 while $tax =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理
1 while $all_total =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理
1 while $sougoukei =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理

@order_1 = split(/!/,$order);
$data_no =0;
foreach (0..$all_no) {
	($s,$t) = split(/:/,$order_1[$_]);
	($a,$b,$c) = split(/\,/,$s);


$kigou = $k_id[$_];
if($b ne ""){
$kigou .="-".$b;
}
if($c ne ""){
$kigou .="-".$c;
}

@opt = split(/\:/,$k_option[$_]);
$i = 0;
$option_set ="";
$option_1 ="";
while($i < $option_no) {
	($op_k[$i],$op_m[$i]) =split(/\,/,$opt[$i]);
	if($op_k[$i] eq "" or $op_k[$i] ne $b){ $i++; next;}
	$option_set ="/". $op_m[$i];
	$option_1=$op_m[$i];
	last;
}

@opt2 = split(/\:/,$k_option2[$_]);
$i = 0;
$option2_set ="";
$option_2 ="";
while($i < $option2_no) {
	($op2_k[$i],$op2_m[$i]) =split(/\,/,$opt2[$i]);
	if($op2_k[$i] eq "" or $op2_k[$i] ne $c){ $i++; next;}
	$option2_set = "/".$op2_m[$i];
	$option_2=$op2_m[$i];
	last;
}

#==logデータ及びcsvデータの作成===
	&csv_make();
#=================================

1 while $k_price[$_] =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理
1 while $k_total[$_] =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理

$hikae .="[$k_no[$_]]\ \ $k_name[$_]\n\ \ \ \ \ \ \ \ \ \ $k_artist[$_]\ \ $option_set$option2_set"."[".$kigou."]"."\n";
$hikae .="          "."$k_price[$_]円"."×"."$k_amount[$_]$k_tani[$_]"."＝"."$k_total[$_]円"."\n\n";
$data_no ++;
}

#=========ログの作成========
if($log_make){&put_log();}

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

$mailbody = <<END_OF_DATA;
$m_header
   $in{"SIMEI"} 様
   
$year_m_d

$aisatu

===================お支払い方法=================
$method_set
====================注文の控え==================
【order no】000$order_no

$hikae【合計】$all_total円
$syouhizei_set【送料】$souryou_set円
【合計金額】$sougoukei円
$daibiki_add_set
------------------------------------------------
【氏名】$in{"SIMEI"}
【メールアドレス】$in{"MAIL"}
【住所】\〒 $in{"POST"}
              $in{"ADDR"} 
【TEL】$in{"TEL"}
【支払方法】$in{"METHOD"}
【連絡事項】$in{"MESS"}

▼送付先(未記入のときは上記住所と同じ)
【氏名】$in{"SIMEI2"}
【住所】\〒 $in{"POST2"}
              $in{"ADDR2"}
【TEL】$in{"TEL2"}

$m_footer
END_OF_DATA

$mailbody2=$mailbody;

}

#
#======メールを送信する===========
#
sub mail_send{
$from_n_m ="$fromname<$frommail>";
$from_mime = &mimeencode($from_n_m);
$subject_mime = &mimeencode($subject);
&jcode'convert(*mailbody, "jis");

	$mailhead  = "To: $mailto\n";
	$mailhead .= "From: $frommail\n";
	$mailhead .= "Subject: $subject_mime\n";
	$mailhead .= "MIME-Version: 1.0\n";
	$mailhead .= "Content-Type:text/plain;charset='ISO-2022-JP'\n";
	$mailhead .= "Content-Transfer-Encoding:7bit\n";
	$mailhead .= "\n";

if ($testkey == 0) { return; }

if (-x $sendmail) {
	unless (open(OUT, "| $sendmail -t")) {
	    &mail_err();
	}
	unless (print OUT $mailhead) {
	    &mail_err();
	}
	unless (print OUT $mailbody) {
	    &mail_err();
	}
	close(OUT);
} else {
	&mail_err();
	&error("$sendmailがありません。(22)");
}
}
#===================csv形式ファイル添付=======================
sub mail_send_tenpu{

$bound = 'wq5se3d1ew';

$ufilenm = 'user.csv';
open(IN,"$file_user");
$csvdata = join('',<IN>);
close(IN);
$base64_csvdata = &bodyencode($csvdata);
$base64_csvdata .= &benflush;

$ufilenm2 = 'sale.csv';
open(IN,"$file_sale");
$csvdata = join('',<IN>);
close(IN);
$base64_csvdata2 = &bodyencode($csvdata);
$base64_csvdata2 .= &benflush;

$subject_mime = &mimeencode($subject);
#-------BEGINBEGIN---------
$header_tenpu =<<END;
FormMailer: FormMail
To: $mailto
From: $frommail
Subject: $subject_mime
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="$bound"
END
#-------ENDEND----------

#-------BEGINBEGIN---------
$body_tenpu =<<END;
--$bound
Content-Type: text/plain; charset="iso-2022-jp"
Content-Transfer-Encoding: 7bit

$mailbody

--$bound
Content-Type: application/x-csv; name="$ufilenm"
Content-Transfer-Encoding: BASE64

$base64_csvdata

--$bound
Content-Type: application/x-csv; name="$ufilenm2"
Content-Transfer-Encoding: BASE64

$base64_csvdata2

--$bound--
END
#-------ENDEND----------

&jcode'convert(*body_tenpu, "jis");
$header_tenpu .= "Content-length: ".length($body_tenpu)."\n";

if ($testkey == 0) { return; }

if (open(OUT,"| $sendmail -t")) {
print OUT "$header_tenpu\n$body_tenpu";
close(OUT);
} else {
	&mail_err();
}
}
#==================================
sub mail_err {
	&error("メールの送信に失敗しました。ブラウザの [戻る] ボタンで戻ってください。");
}

#===============代引き手数料===================
sub daibikikeisann{
if($daibiki_able eq 1){

$zyugen ='0';
foreach (@daibiki_tb) {
	($x,$y) = split(/:/,$_);
	if($x eq ''){
		$daibiki_add =$y;
		$zyugen ='1';
		last;
	}elsif($sougoukei <= $x){
		$daibiki_add =$y;
		$zyugen ='1';
		last;
	}
}

if($in{'METHOD'} eq '代引き' && $zyugen eq '0'){
	print &setCookie_0('ORDER', '');
1 while $x =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理
	&error("代引きは購入総額を$x円以下に分割してお\申\込\み下さい。",);
}elsif($zyugen eq '0'){
	$daibiki_add ="？";
}

}
}
#===============e-コレクト手数料===================
sub collectkeisann{
if($collect_able eq 1){

$zyugen ='0';
foreach (@collect_tb) {
	($x,$y) = split(/:/,$_);
	if($x eq ''){
		$collect_add =$y;
		$zyugen ='1';
		last;
	}elsif($sougoukei <= $x){
		$collect_add =$y;
		$zyugen ='1';
		last;
	}
}

if($in{'METHOD'} eq 'e-コレクト' && $zyugen eq '0'){
	print &setCookie_0('ORDER', '');
1 while $x =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理
	&error("代引きは購入総額を$x円以下に分割してお\申\込\み下さい。",);
}elsif($zyugen eq '0'){
	$collect_add ="？";
}

}
}

#=============================注文フォーム========================================
sub order_form {

# Cookieの値を得る
&getCookie();

$simei_C = $COOKIE{'SIMEI'};
$mail_C = $COOKIE{'MAIL'};
$mail2_C = $COOKIE{'MAIL2'};
$post_C = $COOKIE{'POST'};
$addr_C = $COOKIE{'ADDR'};
$tel_C = $COOKIE{'TEL'};
$method_C = $COOKIE{'METHOD'};
$d_time_C = $COOKIE{'D_TIME'};

$mess_C = $COOKIE{'MESS'};
$simei2_C = $COOKIE{'SIMEI2'};
$post2_C = $COOKIE{'POST2'};
$addr2_C = $COOKIE{'ADDR2'};
$tel2_C = $COOKIE{'TEL2'};

$mess_C =~ s/&lt;/</g;
$mess_C =~ s/&gt;/>/g;
$mess_C =~ s/&quot;/\"/g;
$mess_C =~ s/<br>/\n/g;
$mess_C =~ s/\.\n/\. \n/g;

$i =0;
foreach(@delivery_time){
	if($d_time_C eq $_){
		$d_time_check[$i] ="CHECKED";
	}
	$i ++;
}


if($method_C eq '代引き'){
	$daibiki ="CHECKED";
}elsif($method_C eq '郵便振替'){
	$yuubin ="CHECKED";
}elsif($method_C eq '銀行振込'){
	$bank ="CHECKED";
}elsif($method_C eq 'e-コレクト'){
	$collect ="CHECKED";
}else{
	$checked_no =1;
}

$order=$in{'order'};
&keisan();
$tax = int($all_total * $syouhi_tax);
$tax_total =$tax + $all_total;
$sougoukei =$tax_total +$in{"souryou"};

&daibikikeisann();
&collectkeisann();

if($bank_able ne 1 && $hurikae_able ne 1 && $daibiki_able ne 1 && $collect_able ne 1){
	&error("送金方法がまだ設定されていません。");
}

$soukinn_houhou ="";
if($checked_no eq 1){

if($bank_able  eq 1){
$soukinn_houhou .="\　<INPUT type=radio class='nb' value='銀行振込' name=METHOD checked>銀行振込";
}
if($hurikae_able  eq 1){
	if($bank_able ne 1){$checked ='checked';}
$soukinn_houhou .="\　<INPUT type=radio class='nb' value='郵便振替' name=METHOD $checked>郵便振替";
}
if($daibiki_able  eq 1){
	$checked ="";
	if($bank_able ne 1 && $hurikae_able ne 1){$checked ='checked';}
$soukinn_houhou .="<br>\　<INPUT type=radio class='nb' value='代引き' name=METHOD $checked>代引き($daibiki_add円)\　 $daibiki_mg";
}
if($collect_able  eq 1){
	$checked ="";
	if($bank_able ne 1 && $hurikae_able ne 1 && $daibiki_able ne 1){$checked ='checked';}
$soukinn_houhou .="<br>\　<INPUT type=radio class='nb' value='e-コレクト' name=METHOD $checked>e-コレクト($collect_add円)\　 $collect_mg";
}
}else{

if($bank_able  eq 1){
$soukinn_houhou .="\　<INPUT type=radio class='nb' value='銀行振込' name=METHOD $bank>銀行振込";
}
if($hurikae_able  eq 1){
$soukinn_houhou .="\　<INPUT type=radio class='nb' value='郵便振替' name=METHOD $yuubin>郵便振替";
}
if($daibiki_able  eq 1){
$soukinn_houhou .="<br>\　<INPUT type=radio class='nb' value='代引き' name=METHOD $daibiki>代引き($daibiki_add円)\　 $daibiki_mg";
}
if($collect_able  eq 1){
$soukinn_houhou .="<br>\　<INPUT type=radio class='nb' value='e-コレクト' name=METHOD $collect>e-コレクト($collect_add円)\　 $collect_mg";
}

}

$i =0;
foreach(@delivery_time){
	$delivery_time_set .="\　<INPUT type=radio class='nb' value=$_ name='d_time' $d_time_check[$i]>$_";
	if($i == 0 || $i == 3){$delivery_time_set .='<br>';}
	$i ++;
}

$souryou_set =$in{"souryou"};
1 while $souryou_set =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理
1 while $tax =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理
1 while $all_total =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理
1 while $sougoukei =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理

&html_header();
$ajust =$o_width -150;
$ajust2 =$o_width -600;
$ajust2=int($ajust2/5);
$w1=120+$ajust2;
$w2=180+$ajust2;
$w3=100+$ajust2;
$w4=80+$ajust2;
$w5=120+$ajust2;
print <<"EOF";
<TABLE border="1" bordercolor="#e4e4e4" cellpadding="5">
<TBODY>
<TR>
<TD>商品の検索</TD>
<TD>&gt;&gt;</TD>
<TD>かごの中</TD>
<TD>&gt;&gt;</TD>
<TD bgcolor="#ffd7d7">ご注文</TD>
<TD>&gt;&gt;</TD>
<TD>ご注文内容のご確認</TD>
<TD>&gt;&gt;</TD>
<TD>完了</TD>
</TR>
</TBODY>
</TABLE>
EOF
print <<"EOF";
	<CENTER>
	<TABLE cellpadding="3" width="$o_width">
	<TBODY>
	<TR>
	<TD align="right" width="$o_width"><A href="$modoru_goods">■商品画面へ戻る</A></TD>
    </TR>
    </TBODY>
	</TABLE>
	</CENTER>	
	<TABLE width=100% cellpadding="5" cellspacing="1"><TR><TD class="line1" align=center><B>■ご注文内容■</B></TD></TR></TABLE>
<DIV ALIGN="center">ご注文の内容を確認してからお客様情報をご記入して下さい。</DIV>

	<CENTER>
	<TABLE border=0 cellpadding="3" cellspacing=5 width="$o_width">
	<TBODY>
	<TR>
	<TD align="center" width="$w1"><B>商品ID</B></TD>
	<TD align="center" width="$w2"><B>商品名</B></TD>
	<TD align="center" width="$w3"><B>単価$tax_set</B></TD>
	<TD align="center" width="$w4"><B>個数</B></TD>
	<TD align="center" width="$w5"><B>金額</B></TD>
	</TR>
	<TR><TD colspan="5"><HR size="1" noshade></TD></TR>

EOF

@order_1 = split(/!/,$order);
foreach (0..$all_no) {
	($s,$t) = split(/:/,$order_1[$_]);
	($a,$b,$c) = split(/\,/,$s);


$kigou = $k_id[$_];
if($b ne ""){
$kigou .="-".$b;
}
if($c ne ""){
$kigou .="-".$c;
}

@opt = split(/\:/,$k_option[$_]);
$i = 0;
$option_set ="";
while($i < $option_no) {
	($op_k[$i],$op_m[$i]) =split(/\,/,$opt[$i]);
	if($op_k[$i] eq "" or $op_k[$i] ne $b){ $i++; next;}
	$option_set ="OP=". $op_m[$i];
	last;
}

@opt2 = split(/\:/,$k_option2[$_]);
$i = 0;
$option2_set ="";
while($i < $option2_no) {
	($op2_k[$i],$op2_m[$i]) =split(/\,/,$opt2[$i]);
	if($op2_k[$i] eq "" or $op2_k[$i] ne $c){ $i++; next;}
	$option2_set = "OP=".$op2_m[$i];
	last;
}

1 while $k_price[$_] =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理
1 while $k_total[$_] =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理
print <<"EOF";
	<TR>
	<TD width="$w1">[$a]$kigou</TD>
	<TD width="$w2"><B>$k_name[$_]</B><BR>
EOF
	if($k_artist[$_] ne ""){print "「$k_artist[$_]」"}
	print <<"EOF";
	<BR>$option_set$option2_set</TD>
	<TD width="$w3" align="right">$k_price[$_]円</TD>
	<TD width="$w4" align="right">$k_amount[$_]$k_tani[$_]</TD>
	<TD width="$w5" align="right"><b>$k_total[$_]円</b></TD>
	</TR>
	<TR><TD colspan="5"><HR size="1" noshade></TD></TR>
EOF
}

if($tax_flag eq '' or $tax_flag == 0){
print <<"EOF";
	<TR>
	<TD bgcolor="$color_r" colspan="4" align="right"><B>合計$tax_set</B></TD>
	<TD bgcolor="$color_r" width="$w5" align="right"><B>$all_total円</B></TD>
	</TR>
	<TR>
	<TD bgcolor="$color_r" colspan="4" align="right"><B>消費税</B></TD>
	<TD bgcolor="$color_r" width="$w5" align="right"><B>$tax円</B></TD>
	</TR>
	<TR>
	<TD bgcolor="$color_r" colspan="4" align="right"><B>送料</B></TD>
	<TD bgcolor="$color_r" width="$w5" align="right"><B>$souryou_set円</B></TD>
	</TR>
	<TR>
	<TD colspan="4" bgcolor="$color_r" align="right"><B>合計(消費税込、送料込み)</B></TD>
	<TD bgcolor="$color_r" width="$w5" align="right"><B>$sougoukei円</B></TD>
	</TR>
EOF
}else{
print <<"EOF";
	<TR>
	<TD bgcolor="$color_r" colspan="4" align="right"><B>合計$tax_set</B></TD>
	<TD bgcolor="$color_r" width="$w5" align="right"><B>$all_total円</B></TD>
	</TR>
	<TR>
	<TD bgcolor="$color_r" colspan="4" align="right"><B>送料</B></TD>
	<TD bgcolor="$color_r" width="$w5" align="right"><B>$souryou_set円</B></TD>
	</TR>
	<TR>
	<TD colspan="4" bgcolor="$color_r" align="right"><B>合計(送料込み)</B></TD>
	<TD bgcolor="$color_r" width="$w5" align="right"><B>$sougoukei円</B></TD>
	</TR>
EOF

}

print <<"EOF";
	</TBODY>
</TABLE>
	<BR>
	<TABLE width=100% cellpadding="5" cellspacing="1">
	<TR><TD class="line1" align=center><B>■お客様情報■</B></TD></TR>
	</TABLE>
<FORM name="F1" action="$script" method="post" enctype="multipart/form-data" onSubmit="return kakunin()" >
<TABLE border=0 cellpadding="3" cellspacing=1 width="$o_width">
<TBODY>
	<TR>
	<TD align="right" width="150" bgcolor="$color_r"><B>お名前</B></TD>
	<TD width="$ajust"><INPUT size=25 name=SIMEI value="$simei_C">※全角文字</TD>
	</TR>
	<TR>
	<TD align="right" width="150" bgcolor="$color_r"><B>メールアドレス</B></TD>
	 <TD><INPUT size=35 name=MAIL value="$mail_C">※半角英数</TD>
	</TR>
	<TR>
	<TD align="right" width="150" bgcolor="$color_r"><B>メールアドレス確認</B></TD>
	<TD><INPUT size=35 name=MAIL2 value="$mail2_C">※確認のためもう一度</TD>
	</TR>
	<TR>
	<TD align="right" width="150" bgcolor="$color_r"><B>ご住所</B></TD>
	<TD>〒<INPUT size=13 name=POST value="$post_C">※半角英数<BR>
      <INPUT size=50 name=ADDR value="$addr_C">※都道府県名からご記入下さい</TD>
    </TR>
	<TR>
	<TD align="right" width="150"bgcolor="$color_r"><B>電話番号</B></TD>
	<TD><INPUT size=25 name=TEL value="$tel_C">※半角英数</TD>
	</TR>
	<TR>
	<TD bgcolor="$color_r" align="right" width="150"><B>お支払方法</B></TD>
	<TD>$soukinn_houhou</TD>
	</TR>
	<TR>
	<TD bgcolor="$color_r" align="right" width="150"><B>配達時間指定</B></TD>
	<TD>$delivery_time_set</TD>
	</TR>
	<TR>
	<TD align="right" width="150"bgcolor="$color_r"><B>連絡事項</B></TD>
	<TD align="left" width="$ajust"><TEXTAREA name=MESS rows=6 cols=35>$mess_C</TEXTAREA></TD>
	</TR>
	<TR>
	<TD colspan="2" align="center" class="line1"><B>送付先（上記と異なる場合に記入）</B></TD>
	</TR>
	<TR>
	<TD align="right" width="150" bgcolor="$color_r"><B>お名前</B></TD>
	<TD width="$ajust"><INPUT size=25 name=SIMEI2 value="$simei2_C"></TD>
	</TR>
	<TR>
	<TD align="right" width="150" bgcolor="$color_r"><B>ご住所</B></TD>
	<TD>〒<INPUT size=13 name=POST2 value="$post2_C"><BR>
	<INPUT size=35 name=ADDR2 value="$addr2_C"></TD>
	</TR>
	<TR>
	<TD align="right" width="150" bgcolor="$color_r"><B>電話番号</B></TD>
	<TD width="$ajust"><INPUT size=25 name=TEL2 value="$tel2_C"></TD>
	</TR>
	<TR>
	<TD align="right" width="150" bgcolor="$color_r"><B>メールマガジン</B></TD>
	<TD width="$ajust"><input type="checkbox" name="mm" value="mm" checked>※メールマガジンを購読されない方はチェックマークをはずしてください
	</TD>
	</TR>
	</TBODY>
</TABLE>
<BR>
<input type="hidden" name="souryou" value=$in{"souryou"}>
<input type="hidden" name="order" value="$in{'order'}">
<input type="hidden" name="mode" value=sure>
<input type="hidden" name="class" value="$in{'class'}">
<input type="hidden" name="FF" value="$in{'FF'}">
<input type="hidden" name="keyword" value="$in{'keyword'}">
<input type="hidden" name="price_sort" value=$in{"price_sort"}>
<INPUT type="submit" value="確認画面"><BR>
</FORM>
</CENTER>

EOF



#=======================入力チェック===================================
	print <<"EOF";
<SCRIPT LANGUAGE="JavaScript">
<!--
function kakunin(){
  if (document.F1.SIMEI.value == "") {
    alert("お名前が入力されていません。");
    document.F1.SIMEI.focus();
    return(false);
  }
  if (document.F1.MAIL.value == "") {
    alert("ﾒｰﾙｱﾄﾞﾚｽが入力されていません。");
    document.F1.MAIL.focus();
    return(false);
  }
  if (document.F1.MAIL2.value != document.F1.MAIL.value) {
    alert("ﾒｰﾙｱﾄﾞﾚｽを確認してください。");
    document.F1.MAIL2.focus();
    return(false);
  }
  if (document.F1.POST.value == "") {
    alert("郵便番号が入力されていません。");
    document.F1.POST.focus();
    return(false);
  }
  if (document.F1.ADDR.value == "") {
    alert("住所が入力されていません。");
    document.F1.ADDR.focus();
    return(false);
  }
  if (document.F1.TEL.value == "") {
    alert("電話番号が入力されていません。");
    document.F1.TEL.focus();
    return(false);
  }
  if (document.F1.SIMEI2.value != "") {
	if (document.F1.POST2.value == "") {
	alert("郵便番号が入力されていません。");
	document.F1.POST2.focus();
	return(false);
	}
	if (document.F1.ADDR2.value == "") {
	alert("住所が入力されていません。");
	document.F1.ADDR2.focus();
	return(false);
	}
	if (document.F1.TEL2.value == "") {
	alert("電話番号が入力されていません。");
	document.F1.TEL2.focus();
	return(false);
	}
  }
}
// -->
</SCRIPT>
EOF

	print "$foot</body></html>\n" ;	

}
#====================================確認====================================
sub sure {
#クッキーの設定
print &setCookie("SIMEI", $in{'SIMEI'});
print &setCookie("MAIL", $in{'MAIL'});
print &setCookie("MAIL2", $in{'MAIL2'});
print &setCookie("POST", $in{'POST'});
print &setCookie("ADDR", $in{'ADDR'});
print &setCookie("TEL", $in{'TEL'});
print &setCookie("METHOD", $in{'METHOD'});
print &setCookie("D_TIME", $in{'d_time'});
print &setCookie("MESS", $in{'MESS'});
print &setCookie("SIMEI2", $in{'SIMEI2'});
print &setCookie("POST2", $in{'POST2'});
print &setCookie("ADDR2", $in{'ADDR2'});
print &setCookie("TEL2", $in{'TEL2'});

if ($in{'MAIL'} ne "" && $in{'MAIL'} !~ /[\w\.\-]+\@[\w\.\-]+\.[a-zA-Z]{2,5}$/) {
	&error("ブラウザの [戻る] ボタンで戻って、メールアドレスを確認してください。");
}

$order=$in{'order'};
&keisan();
$tax = int($all_total * $syouhi_tax);
$tax_total =$tax + $all_total;
$sougoukei =$tax_total +$in{"souryou"};
$souryou_set =$in{"souryou"};

&daibikikeisann();
&collectkeisann();

$ajust =$o_width -150;
$ajust2 =$o_width -600;
$ajust2=int($ajust2/5);
$w1=120+$ajust2;
$w2=180+$ajust2;
$w3=100+$ajust2;
$w4=80+$ajust2;
$w5=120+$ajust2;

$method_set="$in{'METHOD'}";
if($in{'METHOD'} eq '代引き'){
	$method_set.="\　 $daibiki_mg";
	$daibiki_add_set =<<EOF;
	<TR>
	<TD bgcolor=$color_r colspan='4' align='right'><B>代引き手数料</B>
	</TD>
	<TD bgcolor=$color_r width="w5" align='right'><B>$daibiki_add円</B>
	</TD>
	</TR>
EOF
#	$sougoukei =$sougoukei +$daibiki_add;

}elsif($in{'METHOD'} eq 'e-コレクト'){
	$method_set.="\　 $collect_mg";
	$daibiki_add_set =<<EOF;
	<TR>
	<TD bgcolor=$color_r colspan='4' align='right'><B>e-コレクト手数料</B>
	</TD>
	<TD bgcolor=$color_r width="w5" align='right'><B>$collect_add円</B>
	</TD>
	</TR>
EOF
#	$sougoukei =$sougoukei +$daibiki_add;
}

1 while $souryou_set =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理
1 while $tax =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理
1 while $all_total =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理
1 while $sougoukei =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理

&html_header();

$ajust =$o_width -150;
$ajust2 =$o_width -600;
$ajust2=int($ajust2/5);
$w1=120+$ajust2;
$w2=180+$ajust2;
$w3=100+$ajust2;
$w4=80+$ajust2;
$w5=120+$ajust2;
print <<"EOF";
<TABLE border="1" bordercolor="#e4e4e4" cellpadding="5">
<TBODY>
<TR>
<TD>商品の検索</TD>
<TD>&gt;&gt;</TD>
<TD>かごの中</TD>
<TD>&gt;&gt;</TD>
<TD>ご注文</TD>
<TD>&gt;&gt;</TD>
<TD bgcolor="#ffd7d7">ご注文内容のご確認</TD>
<TD>&gt;&gt;</TD>
<TD>完了</TD>
</TR>
</TBODY>
</TABLE>
EOF
print <<"EOF";
	<CENTER>
	<TABLE cellpadding="3" width="$o_width">
	<TBODY>
    <TR>
    <TD align="right" width="$o_width"><A href="$script?$modoru_goods&mode=order_form&souryou=$in{'souryou'}">■戻って訂正</A>\　<A href="$modoru_goods">■商品画面へ戻る</A>
	</TD>
    </TR>
	</TBODY>
	</TABLE>
	<TABLE width=100% cellpadding="5" cellspacing="1"><TR><TD class="line1" align=center><B>■確認画面■</B></TD></TR></TABLE>
	<DIV align="left">ご記入内容に誤りが無いか確認して下さい。</DIV>
	<TABLE border=0 cellpadding="3" cellspacing=1 width="$o_width">
	<TBODY>
	<TR>
	<TD align="center" width="$w1" bgcolor="$color_d"><B>商品ID</B></TD>
	<TD align="center" width="$w2" bgcolor="$color_d"><B>商品名</B></TD>
	<TD align="center" width="$w3" bgcolor="$color_d"><B>単価$tax_set</B></TD>
	<TD align="center" width="$w4" bgcolor="$color_d"><B>個数</B></TD>
	<TD align="center" width="$w5" bgcolor="$color_d"><B>金額</B></TD>
	</TR>
EOF

@order_1 = split(/!/,$order);
foreach (0..$all_no) {
	($s,$t) = split(/:/,$order_1[$_]);
	($a,$b,$c) = split(/\,/,$s);


$kigou = $k_id[$_];
if($b ne ""){
$kigou .="-".$b;
}
if($c ne ""){
$kigou .="-".$c;
}

@opt = split(/\:/,$k_option[$_]);
$i = 0;
$option_set ="";
while($i < $option_no) {
	($op_k[$i],$op_m[$i]) =split(/\,/,$opt[$i]);
	if($op_k[$i] eq "" or $op_k[$i] ne $b){ $i++; next;}
	$option_set ="OP=". $op_m[$i];
	last;
}

@opt2 = split(/\:/,$k_option2[$_]);
$i = 0;
$option2_set ="";
while($i < $option2_no) {
	($op2_k[$i],$op2_m[$i]) =split(/\,/,$opt2[$i]);
	if($op2_k[$i] eq "" or $op2_k[$i] ne $c){ $i++; next;}
	$option2_set = "OP=".$op2_m[$i];
	last;
}

1 while $k_price[$_] =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理
1 while $k_total[$_] =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理

print <<"EOF";
	<TR>
	<TD width="$w1">[$a]$kigou</TD>
	<TD width="$w2">$k_name[$_]<BR>
EOF
if($k_artist[$_] ne ""){print "「$k_artist[$_]」"}
print <<"EOF";
	<BR>$option_set$option2_set</TD>
	<TD width="$w3" align="right">$k_price[$_]円</TD>
	<TD width="$w4" align="right">$k_amount[$_]$k_tani[$_]</TD>
	<TD width="$w5" align="right"><b>$k_total[$_]円</b></TD>
	</TR>
EOF
}

if($tax_flag eq '' or $tax_flag == 0){
print <<"EOF";
	<TR>
	<TD bgcolor="$color_r" colspan="4" align="right"><B>合計$tax_set</B></TD>
	<TD bgcolor="$color_r" width="$w5" align="right"><B>$all_total円</B></TD>
	</TR>
	<TR>
	<TD bgcolor="$color_r" colspan="4" align="right"><B>消費税</B></TD>
	<TD bgcolor="$color_r" width="$w5" align="right"><B>$tax円</B></TD>
	</TR>
	<TR>
	<TD bgcolor="$color_r" colspan="4" align="right"><B>送料</B></TD>
	<TD bgcolor="$color_r" width="$w5" align="right"><B>$souryou_set円</B></TD>
	</TR>
	<TR>
	<TD colspan="4" bgcolor="$color_r" align="right"><B>合計(消費税、送料込み)</B></TD>
	<TD bgcolor="$color_r" width="$w5" align="right"><B>$sougoukei円</B></TD>
	</TR>
EOF
}else{
print <<"EOF";
	<TR>
	<TD bgcolor="$color_r" colspan="4" align="right"><B>合計$tax_set</B></TD>
	<TD bgcolor="$color_r" width="$w5" align="right"><B>$all_total円</B></TD>
	</TR>
	<TR>
	<TD bgcolor="$color_r" colspan="4" align="right"><B>送料</B></TD>
	<TD bgcolor="$color_r" width="$w5" align="right"><B>$souryou_set円</B></TD>
	</TR>
	<TR>
	<TD colspan="4" bgcolor="$color_r" align="right"><B>合計(送料込み)</B></TD>
	<TD bgcolor="$color_r" width="$w5" align="right"><B>$sougoukei円</B></TD>
	</TR>
EOF
}

print <<"EOF";
	$daibiki_add_set
	</TBODY>
	</TABLE>
	<BR>
	<FORM action="$script" method="post" onsubmit="disableSubmit(this)">
	<TABLE border=0 cellpadding="3" cellspacing=1 width="$o_width">
	<TBODY>
	<TR>
	<TD align="right" width="150" bgcolor="$color_r" ><B>お名前</B></TD>
	<TD width="$ajust">$in{"SIMEI"}</TD>
	</TR>
	<TR>
	<TD align="right" width="150" bgcolor="$color_r"><B>メールアドレス</B></TD>
	<TD>$in{"MAIL"}</TD>
	</TR>
	<TR>
	<TD align="right" width="150" bgcolor="$color_r"><B>メールアドレス確認</B></TD>
	<TD>$in{"MAIL2"}</TD>
	</TR>
	<TR>
	<TD align="right" width="150" bgcolor="$color_r"><B>メールマガジン</B></TD>
	<TD>$in{"MAIL2"}<input type="button" value="このメールアドレスで登録" onClick='window.open("./regist.cgi","sub","status=no,toolbar=no,width=400,height=300,top=100,left=300")'></TD>
	</TR>
	<TR>
	<TD align="right" width="150" bgcolor="$color_r"><B>ご住所</B></TD>
	<TD>〒$in{"POST"}<BR>
      $in{"ADDR"}</TD>
    </TR>
	<TR>
	<TD align="right" width="150" bgcolor="$color_r"><B>電話番号</B></TD>
	<TD>$in{"TEL"}</TD>
	</TR>
	<TR>
	<TD bgcolor="$color_r" align="right" width="150"><B>お支払方法</B></TD>
	<TD>$method_set</TD>
	</TR>
	<TD bgcolor="$color_r" align="right" width="150"><B>配達時間指定</B></TD>
	<TD>$in{'d_time'}</TD>
	</TR>
	<TR>
	<TD align="right" width="150" bgcolor="$color_r"><B>連絡事項</B></TD>
	<TD align="left" width="$ajust">$in{"MESS"}</TD>
	</TR>
	<TR>
	<TD colspan="2" align="center" class="line1"><B>送付先（上記と異なる場合に記入）</B></TD>
	</TR>
	<TR>
	<TD align="right" width="150" bgcolor="$color_r"><B>お名前</B></TD>
	<TD width="$ajust">$in{"SIMEI2"}</TD>
	</TR>
	<TR>
	<TD align="right" width="150" bgcolor="$color_r"><B>ご住所</B></TD>
	<TD>〒$in{"POST2"}<BR>
	$in{"ADDR2"}</TD>
	</TR>
	<TR>
	<TD align="right" width="150" bgcolor="$color_r"><B>電話番号</B></TD>
	<TD>$in{"TEL2"}</TD>
	</TR>
	</TBODY>
	</TABLE>
	<BR>
	<input type="hidden" name="SIMEI" value="$in{'SIMEI'}">
	<input type="hidden" name="MAIL" value="$in{'MAIL'}">
	<input type="hidden" name="MAIL2" value="$in{'MAIL2'}">
	<input type="hidden" name="POST" value="$in{'POST'}">
	<input type="hidden" name="ADDR" value="$in{'ADDR'}">
	<input type="hidden" name="TEL" value="$in{'TEL'}">
	<input type="hidden" name="METHOD" value="$in{'METHOD'}">
	<input type="hidden" name="d_time" value="$in{'d_time'}">
	<input type="hidden" name="MESS" value="$in{'MESS'}">
	<input type="hidden" name="SIMEI2" value="$in{'SIMEI2'}">
	<input type="hidden" name="POST2" value="$in{'POST2'}">
	<input type="hidden" name="ADDR2" value="$in{'ADDR2'}">
	<input type="hidden" name="TEL2" value="$in{'TEL2'}">
	<input type="hidden" name="souryou" value=$in{"souryou"}>
	<input type="hidden" name="order" value="$in{'order'}">
	<input type="hidden" name="mode" value=order_mail>
	<input type="hidden" name="class" value="$in{'class'}">
	<input type="hidden" name="FF" value="$in{'FF'}">
	<input type="hidden" name="keyword" value="$in{'keyword'}">
	<input type="hidden" name="price_sort" value=$in{"price_sort"}>
	<INPUT type="submit" value="注文確定[送信]"><BR>
	</FORM>
	</CENTER>
EOF
	print "$foot\n" ;	
	print "</BODY>\n" ;	
	print "</HTML>\n" ;	
}
#======================================かごの中を見る======================================
sub look {
$order=$in{'order'};
&keisan();

&html_header();
$ajustw =$o_width -50;
$ajust =$o_width -370;
$ajust=int($ajust/4);
$w1 =112+$ajust;
$w2 =180+$ajust*3;
$w3 =158+$ajust*3;
print <<"EOF";
<TABLE border="1" bordercolor="#e4e4e4" cellpadding="5">
<TBODY>
<TR>
<TD>商品の検索</TD>
<TD>&gt;&gt;</TD>
<TD bgcolor="#ffd7d7">かごの中</TD>
<TD>&gt;&gt;</TD>
<TD>ご注文</TD>
<TD>&gt;&gt;</TD>
<TD>ご注文内容のご確認</TD>
<TD>&gt;&gt;</TD>
<TD>完了</TD>
</TR>
</TBODY>
</TABLE>
EOF
	print <<"EOF";
	<CENTER>
	<TABLE cellpadding="3" width="$o_width">
	<TBODY>
    <TR>
    <TD align="right" width="$o_width">
	<A href="$modoru_goods_2&order=$in{'order'}">■商品画面へ戻る</A>
	</TD>
    </TR>
    </TBODY>
	</TABLE>
	<TABLE width=100% cellpadding="5" cellspacing="1"><TR><TD class="line1" align=center><B>■CART VIEW■</B></TD></TR></TABLE>
	現在のかごの中を\表\示します。</DIV>
	<TABLE border="0" cellpadding="5" cellspacing="1" width="700">
	<TBODY>
	<TR>
	<TD bgcolor="$color_d" align="center" width="$w1">商品画像</TD>
	<TD bgcolor="$color_d" align="center" width="$w2">内容</TD>
	<TD bgcolor="$color_d" align="center" width="190">金額</TD>
	<TD bgcolor="$color_d" align="center" width="68">取消し</TD>
	</TR>
EOF

@order_1 = split(/!/,$order);
foreach (0..$all_no) {
	($s_id,$t) = split(/:/,$order_1[$_]);
	($a,$b,$c) = split(/\,/,$s_id);
@opt = split(/\:/,$k_option[$_]);
$i = 0;
$option_set ="";
if($b ne ""){
while($i < $option_no) {
	($op_k[$i],$op_m[$i]) =split(/\,/,$opt[$i]);
	if($op_k[$i] ne $b){ $i++; next;}
	$option_set = $op_m[$i]."(".$op_k[$i].")";
	last;
}
}
@opt2 = split(/\:/,$k_option2[$_]);
$i = 0;
$option2_set ="";
if($c ne ""){
while($i < $option2_no) {
	($op2_k[$i],$op2_m[$i]) =split(/\,/,$opt2[$i]);
	if($op2_k[$i] ne $c){ $i++; next;}
	$option2_set = $op2_m[$i]."(".$op2_k[$i].")";
	last;
}
}

($pic1,$pic2,$pic3,$pic4,$pic5,$pici,$picj) =split(/\|/,$k_picture[$_]);

if($pici eq ""){
	$pici ="$dir_p/space2.gif";
}

$kigou = $k_id[$_];
if($b ne ""){
$kigou .="-".$b;
}
if($c ne ""){
$kigou .="-".$c;
}

if($bikou ne "\n"){
	$bikou_set = "<TR><TD width=$w3>※".$k_bikou[$_]."</TD></TR>";
}

1 while $k_price[$_] =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理
1 while $k_total[$_] =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理

if($order ne ""){
print <<"EOF";
	<TR>
	<TD align="center" width="$w1"><IMG src=$pici width='100' border='0' align='middle'></TD>
	<TD align="center" width="$w2">
	<TABLE>
	<TBODY>
	<TR>
	<TD align="left" width="$w3">
	商品名：：<B>$k_name[$_]</B><BR>
EOF
if($maker ne ''){
	print "$maker：：$k_artist[$_]<BR>\n";
	}
	print <<"EOF";
	<BR>
	商品ID：：[$kigou]
    </TD>
	</TR>
	<TR>
	<TD width="$w3">オプションＡ：：$option_set</TD>
	</TR>
	<TR>
	<TD width="$w3">オプションＢ：：$option2_set</TD>
	</TR>
	$bikou_set
	</TBODY>
	</TABLE>
	</TD>
	<TD align="right" valign="top" height="85" width="190">
	<TABLE width="180">
	<TBODY>
	<TR>
	<TD align="right" width="100">単価$tax_set：</TD>
	<TD width="89" align="right">$k_price[$_]円</TD>
	</TR>
	<TR>
	<TD align="right" width="100">購入数：</TD>
	<TD width="89" align="right">$k_amount[$_]$k_tani[$_]</TD>
	</TR>
	<TR>
	<TD align="right" width="100">合計$tax_set：</TD>
	<TD width="89" align="right">$k_total[$_]円</TD>
	</TR>
	</TBODY>
	</TABLE>
	</TD>
	<TD align="center" height="85" width="68"><BR>
	<FORM action="$script" method="post">
    <input type="hidden" name="mode" value="look">
    <input type="hidden" name="del_no" value="$s_id">
    <input type="hidden" name="class" value="$in{'class'}">
    <input type="hidden" name="FF" value="$in{'FF'}">
    <input type="hidden" name="order" value="$in{'order'}">
    <input type="hidden" name="keyword" value="$in{'keyword'}">
    <input type="hidden" name="price_sort" value=$in{"price_sort"}>
	<INPUT type="submit" value="取消">
	</FORM>
	</TD>
	</TR>
	<TR>
	<TD colspan="4" align="center" height="14"><HR size="1" noshade></TD>
	</TR>
EOF

}else{
print <<"EOF";
	<TR>
	<TD colspan="4" align="center" height="14"><br><b>かごの中は空です。</b><br><br></TD>
	</TR>
EOF

}
}
$all_total_set =$all_total;
$tax = int($all_total * $syouhi_tax);
$tax_total =$tax + $all_total;
1 while $tax =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理
1 while $tax_total =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理
1 while $all_total_set =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理

if($tax_flag eq '' or $tax_flag == 0){

print <<"EOF";
	<TR>
	<TD colspan="2" align="right" height="14" bgcolor="$color_r"><B>合計</B></TD>
	<TD align="right" height="14" bgcolor="$color_r" width="190"><B>$all_total_set円</B></TD>
	<TD rowspan="3" valign="middle" align="center" width="68" bgcolor="$color_r">　</TD>
	</TR>
	<TR>
	<TD colspan="2" align="right" height="22" bgcolor="$color_r"><B>消費税</B></TD>
	<TD align="right" height="22" bgcolor="$color_r" width="190"><B>$tax円</B></TD>
	</TR>
	<TR>
	<TD colspan="2" align="right" height="22" bgcolor="$color_r"><B>合計（消費税込み）</B></TD>
	<TD align="right" height="22" bgcolor="$color_r" width="190"><B>$tax_total円</B></TD>
	</TR>
EOF

}else{
print <<"EOF";
	<TR>
	<TD colspan="2" align="right" height="14" bgcolor="$color_r"><B>合計$tax_set</B></TD>
	<TD align="right" height="14" bgcolor="$color_r" width="190"><B>$all_total_set円</B></TD>
	<TD rowspan="1" valign="middle" align="center" width="68" bgcolor="$color_r">　</TD>
	</TR>
EOF

}
print <<"EOF";
	</TBODY>
	</TABLE>
	<BR>
	</CENTER>
EOF

if($order ne ""){

if($all_total < $free_price){

  if($souryou_cst eq ''){
  
   if(@souryou_tb <= 1){
  	$souryou_cst_set = $souryou_tb[0];
1 while $souryou_cst_set =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理
	$soryo_set ="<B>[送料は$souryou_cst_set円]</B>";
	$souryou_hidden ="<input type='hidden' name='souryou' value=$souryou_cst>";

   }else{
	$i = 0;
	foreach (@souryou_tb) {
		$soryo_set .= "<option value=$souryou_tb[$i]>$souhusaki[$i]</option>\n";
		$i++;
	}
	$soryo_set ="<B>送り先：</B>". "<select name='souryou'>".$soryo_set."</select>";
   }
   
  }else{
  	$souryou_cst_set = $souryou_cst;
1 while $souryou_cst_set =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理
	$soryo_set ="<B>[送料は$souryou_cst_set円]</B>";
	$souryou_hidden ="<input type='hidden' name='souryou' value=$souryou_cst>";
  }
}else{
	$soryo_set ="<B>[送料は無料です]</B>";
	$souryou_hidden ="<input type='hidden' name='souryou' value=0>";
}
print <<"EOF";
	<BR>
	<CENTER>
	<TABLE cellpadding="3" cellspacing=1 width="$o_width" border="0" bgcolor="$color_d">
    <TBODY>
    <TR>
	<TD width="$o_width" class="line1" align="center"><B>送付先を確認して、注文フォームへ</B>
	</TD>
	</TR>
	<TR>
	<TD width="$o_width" align="center" valign="bottom">
	<FORM action="$script" method="POST"><BR>
	$soryo_set
	<input type="hidden" name="mode" value="order_form">
    <input type="hidden" name="class" value="$in{'class'}">
    <input type="hidden" name="FF" value="$in{'FF'}">
    <input type="hidden" name="order" value="$in{'order'}">
    <input type="hidden" name="keyword" value="$in{'keyword'}">
    <input type="hidden" name="price_sort" value=$in{"price_sort"}>
	$souryou_hidden
	\　\　<INPUT type="submit" value="注文フォーム">
	</FORM>
	</TD>
	</TR>
	</TBODY>
	</TABLE>
	</CENTER>
EOF
}
	print "$foot\n" ;	
	print "</BODY>\n" ;	
	print "</HTML>\n" ;	
}

#==========================================================================================
sub class_name_get{
	($class_B,$k) = split(/\//,$class_tb[$a]);
	@class_tb2 =split(/:/,$k);
	if($b ne ''){
		$class_S =$class_tb2[$b];
		$class_name ="$class_B/$class_S";
	}else{
		$class_name ="$class_B";
	}
}
#=======================================Shopping Form======================================

sub shop_form {

	&keisan();

&html_header();

1 while $all_total =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理

if($pas_word ne ""){
	$condition =$pas_word;
}else{
	if($in{'class'} eq 'all' or $in{'class'} eq ''){
		$condition="$class_all";
	}else{
		($a,$b)  =split(/\//,$in{'class'});
		&class_name_get();
		$condition =$class_name;
	}
}
print <<"EOF";
<TABLE border="1" bordercolor="#e4e4e4" cellpadding="5">
<TBODY>
<TR>
<TD bgcolor="#ffd7d7">商品の検索</TD>
<TD>&gt;&gt;</TD>
<TD>かごの中</TD>
<TD>&gt;&gt;</TD>
<TD>ご注文</TD>
<TD>&gt;&gt;</TD>
<TD>ご注文内容のご確認</TD>
<TD>&gt;&gt;</TD>
<TD>完了</TD>
</TR>
</TBODY>
</TABLE>
EOF
print <<"EOF";
	<TABLE width="700">
	<TR>
	<TD align="right">
	<FORM method=post action=$script>
	<select name="class">
	<option value="all">$class_all</option>

EOF
$i =0;
foreach (@class_tb) {
	($class_B,$k) = split(/\//,$_);
	if("$i" ne $classmei){
	print <<"EOF";
	<option value="$i">$class_B</option>
EOF
		}else{
	print <<"EOF";
	<option value="$i" selected>$class_B</option>
EOF
		}

	@class_S =split(/:/,$k);
	$j =0;
	foreach (@class_S) {
	
		if("$i/$j" ne $classmei){
	print <<"EOF";
	<option value="$i/$j">$class_B/$class_S[$j]</option>
EOF
		}else{
	print <<"EOF";
	<option value="$i/$j" selected>$class_B/$class_S[$j]</option>
EOF
		}
		$j ++;
	}
	$i ++;
}	
print <<"EOF";
	</select>
	<input TYPE="submit" VALUE="ジャンル検索">
	<input type="hidden" name="FF" value=0>
	<input type="hidden" name="superkey" value="1">
	<input type="hidden" name="keyword" value="">
	<input type="hidden" name="order" value=$in{'order'}>
	</FORM>
	</TD>
	<TD align="right">
	<FORM method=post action=$script>\　
	<input type="text" size=20 name="keyword" value="$pas_word">
	<input type="submit" VALUE="キーワード検索">
	<input type="hidden" name="class" value="all">
	<input type="hidden" name="FF" value=0>
	<input type="hidden" name="superkey" value="1">
 	<input type="hidden" name="order" value=$in{'order'}>
	</FORM>
  	</TD>
	</TR>
EOF

($a,$b)  =split(/\//,$in{'class'});
&class_name_get();
$list_data = '';
$i =0;
foreach (@class_tb) {
	if($small_class_g == 0 || $a eq '' || $a eq 'all'){ last;}

	($class_b,$k) = split(/\//,$_);
	if($class_b ne $class_B){$i ++; next;}
	
	@class_S =split(/:/,$k);
	$j =0;
	foreach (@class_S) {
		
		$jump =$script.'?'."class=$i/$j&keyword=&superkey=1&FF=0&order=$in{'order'}";

	$list_data .= "|<A href=$jump> $class_S[$j] </A>";
	
		$j ++;
	}
	last;
}
if($list_data ne ''){
	$list_data ="<TR><TD colspan=2><center>"."$list_data"." |"."</center></TD></TR>";
}
print "$list_data"."	</TABLE>\n";

if($list_data ne ''){
	print "<HR size=\"1\" style=\"color:#ff5700;\" noshade>";
}
		print <<"EOF";
	<TABLE border=0 cellpadding=0 cellspacing=0 width="$t_width">
	<TR>
	<TD align="right">
	<form method="POST" action="$script">
    <input type="hidden" name="order" value=$in{'order'}>
    <input type="hidden" name="class" value=$in{'class'}>
    <input type="hidden" name="keyword" value=$in{'keyword'}>
    <input type="hidden" name="superkey" value=$in{'superkey'}>
    <input type="hidden" name="price_sort" value=$in{'price_sort'}>
	<input type="hidden" name="mode" value="look">
	<TABLE width="100%">
	<TR>
	<TD align="left">※商品画像をクリックすると詳細説明を見ることができます。
	</TD>
	<TD bgcolor="$color_d"><b>\　買い物合計額：<U> $all_total円</U>\　</b>
	</TD>
	<TD><INPUT TYPE="submit" VALUE="かごを見る">
	</TD>
	</TR>
	</TABLE>
	</form>
	</TD>
	</TR>
	</TABLE>
	<TABLE width="$t_width" cellspacing="1" callpadding="10" border="0">
	<TR>
	<TD class="line1">検索条件＞$condition\　ＨＩＴ商品数[$data_su\件]
	</TD>
	</TR>
	</TABLE>
	<HR size="1" style="color:#e4e4e4;" noshade>
EOF

	if (!@NEW) {
	print <<"EOF";
	<table border=0 cellspacing=0 cellpadding=5 width="$t_width" align=center>
	<tr>
	<td bgcolor="$color_r" align=center><b><center>■該当する商品はありません■</center></b>
	</td>
	</tr>
	</table>
EOF

	}else{
#========================================================================
$width_name = $t_width - 475;
	print <<"EOF";
	<TABLE border="0" width="$t_width" cellpadding="3" cellspacing= 1>
	<TBODY>
EOF
}
#====================================

		foreach ( @NEW ) {
			($goods_no,$name,$artist,$kigou,$option,$option2,$class,$setumei,$fcolor,$price,$tani,$zaiko,$limit,$picture,$bikou) = split(/\<\>/,$_);

@option = split(/\:/,$option);
$i = 0;
$option_set = "";
while($i < $option_no) {
	($op_k[$i],$op_m[$i]) =split(/\,/,$option[$i]);
	if($op_k[$i] eq ""){ $i++; next;}
		$option_set = $option_set."<option value='$op_k[$i]'>$op_m[$i]($op_k[$i])</option>\n";
	$i++;
}
if($option_set ne ""){
    $option_set = "<select name='op1'>".$option_set."</select>";
}else{
	$option_set ="\　";
}

@option2 = split(/\:/,$option2);
$i = 0;
$option2_set = "";
while($i < $option2_no) {
	($op2_k[$i],$op2_m[$i]) =split(/\,/,$option2[$i]);
	if($op2_k[$i] eq ""){ $i++; next;}
		$option2_set = $option2_set."<option value='$op2_k[$i]'>$op2_m[$i]($op2_k[$i])</option>\n";
	$i++;
}
if($option2_set ne ""){
    $option2_set = "<br><select name='op2'>".$option2_set."</select>";
}else{
	$option2_set ="\　";
}

$price_set = $price;
1 while $price_set =~ s/(.*\d)(\d\d\d)/$1,$2/g; #桁カンマを入れる処理

if ($price =~ /[^0-9]/) {          # 文字列を含んでいたらか？全角数字も。
        $price_set = "$price_set";
}

($setumei,$setumei2) =split(/\|\|/,$setumei);

$setumei_set ="";
	$bikou_form = "<input type='hidden' name='rem' value=$bikou>";
	if($bikou ne "\n"){
		$bikou = "<br>※".$bikou;
	}
	$setumei_set .=$setumei. $bikou;
if($zaiko eq ""){
    $zaiko = 10000000;
}
if($zaiko ne ""){
	$zaiko_set ="<br>$zaiko2";
}else{
	$zaiko_set ="";
    $zaiko = $zaiko2;
}
if($limit ne ""){
	$tani_set ="<br>$limit$taniまで";
}else{
    $tani_set =$tani;
    $limit =100000;
}

$kosuu_setting = "";
foreach ( @kosuu_set ) {
	if($_ >$limit or $_ >$zaiko){
		last;
	}else{
		$kosuu_setting .= "<option value=$_>$_</option>";
	}
}
if($kosuu_setting eq ""){
	$kosuu_setting = "<select name='amount'><option value=0>−</option></select>$tani_set";
}else{
	$kosuu_setting = "<select name='amount'>$kosuu_setting</select>$tani_set";
}

$folder="$dir_p/order.gif";
if($zaiko ne $zaiko2){
	$get_setting = "<INPUT TYPE=\"submit\" VALUE=\"かごに入れる\">";
}else{
    $get_setting = $zaiko3;
}

$word='タイムサービス';
$words='ﾀｲﾑｻｰﾋﾞｽ';
if (index($setumei,$word) >= 0 || index($bikou,$word) >= 0 || index($setumei,$words) >= 0 || index($bikou,$words) >= 0) {
    # タイムゾーンを日本時間に合わせる
	$ENV{'TZ'} = "JST-9";
	$times = time;
	($sec,$min,$hour,$day,$month,$year,$wday,$Days,$dmy) = localtime($times);
	$time =$hour.':'.$min;
	
	if($time < $service_time[0] || $service_time[1] < $time){
		$get_setting ="[ｻｰﾋﾞｽﾀｲﾑ]".'<BR>'."$service_time[0]-$service_time[1]";
	}
}

($pic1,$pic2,$pic3,$pic4,$pic5,$pici,$picj) =split(/\|/,$picture);
if($pici eq ""){
	if(-e $default_g){$pici ="$default_g";
	}else{$pici ="$dir_p/space2.gif";}
}

$link_pw ="$modoru_goods&mode=p_wide&id=$goods_no";

$w_setum =$t_width-290;

($a,$b)  =split(/\//,$class);
&class_name_get();

	print <<EOF;
	<FORM action="$script" method="post">
      <input type='hidden' name='g_no' value="$goods_no">
      <input type="hidden" name="goods" value="$name">
      <input type="hidden" name="art" value="$artist">
      <input type="hidden" name="unit" value="$price">
      <input type="hidden" name="setumei" value="$setumei">
      <input type="hidden" name="class" value="$in{'class'}">
      <input type="hidden" name="FF" value="$in{'FF'}">
      <input type="hidden" name="order" value="$in{'order'}">
      <input type="hidden" name="keyword" value="$in{'keyword'}">
      <input type="hidden" name="price_sort" value=$in{"price_sort"}>
    <TR>
	<TD colspan="5"><DIV style="background-color : $color_d;padding : 3px;">[$kigou]<B>$name</B></DIV>
</TD>
	</TR>
	<TR>
    <TR>
    <TD valign="middle" align="center" width="200">
	<A href="$link_pw"><IMG src=$pici width=$imagesize_w height=$imagesize_h border='0'><BR><BR>
	<img src="$img_dir/kochira1.jpg" border="0"></a>
	</TD>
	<TD valign="top" align="left" width="120" nowrap>
		<B>￥$price_set</B>
		$br_tax_set$zaiko_set<BR>

EOF
if($maker ne ""){
	print "[$maker…$artist]<BR>";
}
	print <<EOF;
	[$class_name]<BR>
	
	</TD>
	<TD colspan="2" valign="top" width="280">
	$setumei_set
	$bikou_form

	</TD>
    <TD valign="middle" align="center" width="100">
    $option_set
	<BR>$option2_set
    $kosuu_setting
    <TABLE border=0 cellpadding=2 cellspacing=0 bgcolor="$color_kago" align="right">
	<TR>
	<TD align="center">$get_setting
	</TD>
	</TR>
    </TABLE>
    </TD>
    </TR>
    <TR>
    <TD colspan="5" height="1" bgcolor=#e4e4e4>
    </TD>
    </TR>
    </FORM>
EOF

}

if (@NEW) {
print <<"EOF";
	</TBODY>
	</TABLE>
</CENTER>
EOF
}

$buf ="class=".$in{'class'};
$buf2 ="order=".$in{'order'};
$buf3 ="keyword=".$in{'keyword'};

if($data_su > $page){
$i =1;
$j =0;
	while ($j < $data_su){
		if($j ne $ff_no ){
			$jump_set .="[<a href=\"$script?$buf&$buf2&$buf3&FF=$j&price_sort=$in{'price_sort'}\">$i</a>]";
		}else{
			$jump_set .="[<b>$i</b>]";
		}
		$i ++;
		$j = $j + $page; 
	}
}

        $nextlink = "";
		if ($next_num ne '') {
			$nextlink = "<a href=\"$script?$buf&$buf2&$buf3&FF=$next_num&price_sort=$in{'price_sort'}\">次の$over_no件</a>";
		}
		
		$backlink = "";
		$back_num = $ff_no -$page;
		if($back_num >=0) {
			$backlink = "<a href=\"$script?$buf&$buf2&$buf3&FF=$back_num&price_sort=$in{'price_sort'}\">前の$page件</a>\　\　";
		}

if($page_view){
	   	print "<center><table width=$o_width><tr><td align='center'>$backlink$nextlink\　\　 $jump_set</td></tr></table></center>\n";
}else{
	   	print "<center><table width=$o_width><tr><td align='center'>$backlink$nextlink</td></tr></table></center>\n";

}
	print "$foot\n" ;	
	print "  </BODY>\n" ;	
	print "</HTML>\n" ;		
}

#=========================================================================================
sub keisan {
$data_no =0;
$all_total = 0;
@souryou_tb = ();
$size_A ='0';
$tiikiNO=@souhusaki;

if($tiikiNO < 1){
	$tiikiNO =1;
}

@order_1 = split(/!/,$order);
foreach (@order_1) {
	($s,$t) = split(/:/,$_);
	($a,$b,$c) = split(/\,/,$s);
    $flag =0;

	foreach ( @BASE ) {
		($goods_no,$name,$artist,$kigou,$option,$option2,$class,$setumei,$fcolor,$price,$tani,$zaiko,$limit,$picture,$bikou) = split(/\<\>/,$_);

		if($a == $goods_no){
			$flag=1;
			last;
		}
	}

#エラーチェック
if($flag  == 0){
	print &setCookie_0('ORDER', '');
	&error("NO.$aの商品情報が削除されています。",'商品画面で確認してください。');
}

@opt = split(/\:/,$option);

if($b eq ''){
	$i = 0;
	$flag=1;
	while($i < $option_no) {
		($op_k[$i],$op_m[$i]) =split(/\,/,$opt[$i]);
		if($op_k[$i] ne ''){$flag =0; last;}
		$i++;
	}
}else{
	$i = 0;
	$flag =0;
	while($i < $option_no) {
		($op_k[$i],$op_m[$i]) =split(/\,/,$opt[$i]);
		if($op_k[$i] eq $b){$flag=1;last;}
		$i++;
	}
}

if($flag  == 0){
	print &setCookie_0('ORDER', '');
	&error("NO.$aの商品情報が変更されています。",'商品画面で確認してください。');
}

@opt = split(/\:/,$option2);
if($c eq ''){
	$i = 0;
	$flag=1;
	while($i < $option_no) {
		($op_k[$i],$op_m[$i]) =split(/\,/,$opt[$i]);
		if($op_k[$i] ne ''){$flag =0; last;}
		$i++;
	}
}else{
	$i = 0;
	$flag =0;
	while($i < $option_no) {
		($op_k[$i],$op_m[$i]) =split(/\,/,$opt[$i]);
		if($op_k[$i] eq $c){$flag=1;last;}
		$i++;
	}
}

if($flag  == 0){
	print &setCookie_0('ORDER', '');
	&error("NO.$aの商品情報が変更されています。",'商品画面で確認してください。');
}

if($zaiko ne '' && $t > $zaiko){
	print &setCookie_0('ORDER', '');
	&error("NO.$aの商品の注文数が在庫数を越えています。",'商品画面で確認してください。');
}

if($limit ne '' && $t > $limit){
	print &setCookie_0('ORDER', '');
	&error("NO.$aの商品の注文数が制限を越えています。",'商品画面で確認してください。');
}

$sizeno = 1;	#サイズＡはスキップ
$size_flag = '0';
while ($sizeno < @size_tb) {

	if(index($bikou,$size_tb[$sizeno]) >= 0){
		$tiiki =0;
		@s_tb = split(/:/,$souryou[$sizeno]);
		while ($tiiki < $tiikiNO) {
			$souryou_tb[$tiiki] =$souryou_tb[$tiiki] + $s_tb[$tiiki] * $t;
            $tiiki ++;
        }
        $size_flag = '1';
		last;
	}
    $sizeno ++;
}
if($size_flag eq '0'){
	$size_A = '1';
}

	$k_no[$data_no] = $a;
	$k_id[$data_no] = $kigou;
	$k_name[$data_no] = $name;
    $k_artist[$data_no] = $artist;
	$k_option[$data_no] = $option;
	$k_option2[$data_no] = $option2;
	$k_bikou[$data_no] = $bikou;
	$k_price[$data_no] = $price;
	$k_amount[$data_no] = $t;
	$k_tani[$data_no] = $tani;
	$k_picture[$data_no] = $picture;
	$k_total[$data_no] = $t*$price;
	$all_total = $k_total[$data_no] + $all_total;
	$all_no = $data_no;
	$data_no++;
}

$tiiki =0;
if($size_A eq '1'){
	@s_tb = split(/:/,$souryou[0]);
	while ($tiiki < $tiikiNO) {
		$souryou_tb[$tiiki] =$souryou_tb[$tiiki] + $s_tb[$tiiki];
		$tiiki ++;
	}
}
}

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

sub setCookie{
    local($tmp, $val);
    $val = $_[1];
    $val =~ s/(\W)/sprintf("%%%02X", unpack("C", $1))/eg;
    $tmp = "Set-Cookie: ";
    $tmp .= "$_[0]=$val; ";
    $tmp .= "expires=Thu, 1-Jan-2030 00:00:00 GMT;\n";
    return($tmp);
}
sub setCookie_0{
    local($tmp, $val);
    $val = $_[1];
    $val =~ s/(\W)/sprintf("%%%02X", unpack("C", $1))/eg;
    $tmp = "Set-Cookie: ";
    $tmp .= "$_[0]=$val; ";
    $tmp .= ";\n";
    return($tmp);
}
#
# Cookieの値を読み出す
#
sub getCookie {
    local($xx, $name, $value);
    for $xx (split(/; */, $ENV{'HTTP_COOKIE'})) {
        ($name, $value) = split(/=/, $xx);
        $value =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack("C", hex($1))/eg;
        $COOKIE{$name} = $value;
    }
}

sub html_header{
	print "Content-type: text/html\n\n";
print <<"EOF";
	<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
	<HTML>
	<HEAD lang="ja-JP">
	<META content="text/html; charset=Shift_JIS" http-equiv=Content-Type>
	<META http-equiv="Content-Style-Type" content="text/css">
	<META http-equiv="Content-Script-Type" content="text/javascript">
	<LINK rel="stylesheet" href="$main_dir/style.css" type="text/css">
	<TITLE>$main_title</TITLE>
	<script type="text/javascript">
	function disableSubmit(form) {
	  var elements = form.elements;
	  for (var i = 0; i < elements.length; i++) {
	    if (elements[i].type == 'submit') {
	      elements[i].disabled = true;
	    }
	  }
	}
	</script>
	</HEAD>
EOF
	print "	$body\n";
	print "	$header\n";
}

#=================ロック処理=================================== 
sub lock_log{
	local($retry) = 5;
	while (!symlink(".", $loglock)) {
		if (--$retry <= 0) { &error("mu_shop is lock."); }
		sleep(1);
	}
}

#===============================================================
sub error {
# ファイルロック解除
if (-e $loglock) { unlink($loglock); }

&html_header();
	
print <<"EOF";
<CENTER>
<TABLE cellpadding="3" width="$o_width">
	<TBODY>
	<TR>
	<TD align="right" width="$o_width"><input type="button" value="戻る" onclick="history.back()">
</TD>
	</TR>
	</TBODY>
</TABLE>
</CENTER>
EOF

	print "<br><center>$_[0]</center>\n";
	print "<center>$_[1]</center>\n";

	print "<br><hr noshade size=1 width=$o_width><p>$foot</body></html>\n";
	exit;
}

