//
// カート
//
$(document).ready(function()
{
	$(".pics").each(
		function()
		{
			$(this).cycle({ fx: 'fade', pause: 0, speed: 2000 });
		}
	);
	
	$("#btnOrder").click(
		function()
		{
			// 文字色・背景色・行色などを元に戻す
			$("input:text,select").css('background-color', '#ffffff');
			$("input:text,select").css('border', 'solid 1px #7f9db9');
			$("input:text").css('padding', '2px');
			$("tr[@id^='']").css("background-color", "#ffffff");
			
			var cok = $.cookie("ORDER");
			var order = $.parseJSON(cok);
			var cnt = 0, e = 0;
			$.each(order.items,
				function()
				{
					++cnt;
					if (e == 1) return;
					this.num  = $("#frmCart #txt_num_" + cnt).attr("value");
					if (isNaN(parseInt(this.num)))
					{
						alert(err["ERROR_NONUM"]);
						$("#frmCart #txt_num_" + cnt).css('background-color', '#ff9999');
						$("#frmCart #txt_num_" + cnt).trigger("focus");
						e = 1;
						return;
					}
					this.dday = $("#frmCart #dday_" + cnt).attr("value");
					if (!this.dday)
					{
						alert(err["ERROR_NODDAY"]);
						$("#frmCart #dday_" + cnt).css('background-color', '#ff9999');
						$("#frmCart #dday_" + cnt).trigger("focus");
						e = 1;
						return;
					}
				}
			);
			
			if (e) return;
			
			var json = $.toJSON(order);
			$.cookie("ORDER", json, { "path" : "/" });
			
			$("#loading").css("visibility", "visible");
			$.post(
				"/cart.html",
				{
					"cmd-next" : "1",
					"data" : json
				},
				function(res)
				{
					$("#loading").css("visibility", "hidden");
					if (res.status == 'SUCCESS')
					{
						location.href = "/order/address.html";
					}
					else
					{
						cnt = 0;
						$.each(res.errors,
							function()
							{
								$("tr[id='row_" + this.shop_code + "_" + this.goods_code + "_" + this.dday.replace(/\-/g, '') + "']").css("background-color", "#ffffaa");
							}
						);
						
						if (err[res.status])
						{
							alert(err[res.status]);
						}
						else
						{
							alert(res.status);
						}
						return false;
					}
				},
				"json"
			);
			return false;
		}
	);
	
	$("select").each(
		function()
		{
			if (this.name.match(/^dday_/))
			{
				$(this).change(
					function()
					{
						var arr = this.id.split('_');
						var i = 0 + arr[1];
						var order = $.parseJSON($.cookie('ORDER'));
						var scd = order.items[i - 1].scd;
						var gcd = order.items[i - 1].gcd;
						var dday = order.items[i - 1].dday;
						dday = dday.replace(/\-/g, '');
						$("#row_" + scd + "_" + gcd + "_" + dday).attr("id", "row_" + scd + "_" + gcd + "_" + this.value.replace(/\-/g, ''));
					}
				);
			}
		}
	);
});

//
// 注文明細オブジェクト
//
var item = new Object();

//
// Cookieのデータを更新する
//
function onCheck()
{
	var select = $("select");
	alert(select);
	return;
	$.post(
		"/cart.html",
		{
			"seq"  : seq,
			"scd"  : scd,
			"gcd"  : gcd,
			"pref" : $("#frmcart #pref" + seq).attr("value"),
			"dday" : $("#frmcart #dday" + seq).attr("value"),
			"num"  : $("#frmcart #num"  + seq).attr("value")
		},
		function() { submit(); },
		'json'
	);
	return false;
}

//
// Cookieのデータを更新する
//
function onUpdate(seq, scd, gcd)
{
	$.post(
		"/cart.html",
		{
			"seq"  : seq,
			"scd"  : scd,
			"gcd"  : gcd,
			"dtype": $("#frmcart #dtype" + seq).attr("value"),
			"zip"  : $("#frmcart #zip"   + seq).attr("value"),
			"pref" : $("#frmcart #pref"  + seq).attr("value"),
			"dday" : $("#frmcart #dday"  + seq).attr("value"),
			"num"  : $("#frmcart #num"   + seq).attr("value")
		},
		showUpdate,
		'json'
	);
	return false;
}

//
// 買い物カゴから１明細を削除する
//
function onDelete(seq)
{
	seq = seq + 0;
	
	// 確認
	if (!confirm('この明細を削除します。よろしいですか？'))
	{
		return;
	}
	
	// COOKIEから値を取得する
	var cok = $.parseJSON($.cookie("ORDER"));
	
	// 指定された明細のみCOOKIEから削除
	var narr = new Array();
	for (var i = 0; i < cok.items.length; ++i)
	{
		if (seq != i + 1)
		{
			narr.push(cok.items[i]);
		}
	}
	cok.items = narr;
	
	// COOKIEに保存する
	$.cookie("ORDER", $.toJSON(cok), { "path": "/" });
	
	// カートを再表示する
	location.href = '/cart.html';
}

//
// 買い物カゴの中身をすべて削除する
//
function onDeleteAll()
{
	$.cookie("ORDER", '', { "path": "/" });
	
	// カートを再表示する
	location.href = '/cart.html';
}

//
// UPDATE時のAJAXレスポンス
//
function showUpdate(res)
{
	if (showResponse(res))
	{
		// 商品をCookieに追加
		updateItem(res.item);
	}
		
	// ページ更新
	location.reload(true);
}

//
// 買い物カゴの指定された注文明細を変更する
//
function updateItem(item)
{
	// 確認
	if (!confirm('内容を変更します。よろしいですか？'))
	{
		return false;
	}
	
	// COOKIEから値を取得する
	var cok = $.cookie("ORDER");
	cok = $.parseJSON(cok);
	
	// 指定された明細のみCOOKIEから削除
	var narr = new Array();
	for (var i = 0; i < cok.items.length; ++i)
	{
		if (item.seq != i + 1)
		{
			// 該当明細以外
			narr.push(cok.items[i]);
		}
		else
		{
			// 該当明細の場合
			narr.push(item);
		}
	}
	cok.items = narr;
	
	// COOKIEに保存する
	$.cookie("ORDER", $.toJSON(cok), { "path": "/" });
}

