﻿/**
 * FileName:addCartItem.js
 * @author uniteair.co.jp
 */
var domain = "";
var FAVORITE_DAYS = 730;
var CARTBTN;
var TOOLTIP_TIME = 4000;	/* ツールチップ表示時間 (ミリ秒)*/
var SUCCESS_MSG = 'カートに商品を追加しました。画面右の「カート」をご確認ください。';
var DETAIL_MODIFY_ERROR_MSG = 'カート画面から変更しなおしてください。';
var ERROR_MSG_NO_SETCLE_SHOP = '店舗を選択してからメニューをお選びください。';
var SUCCESS_TOOLTIP;	/* 表示用 */
var DETAIL_CARTIN_MSG;
var updBtFlg = false;
var errAddItemFlg = false;
/**
 * @description template
 */
var ITEM = '<div class="dotBox"><p><strong>${MenuName}${DisplayVolume1}${DisplayUnit1}</strong><br>${OrderSize}${MenuAmount}</p></div>';
var SUM = '<p class="txR mt10"><strong>小計　${beforesum}円</strong><br></p><p class="txR mt5"><strong class="txBlue">割引　${campaignsum}円</strong><br></p><p class="txR mt5 mb10"><strong>合計　${sum}円</strong></p>';
var CART_LIST_FOOTER = '<p class="capt mb10">ご注文したい商品が選び終わりましたら、「注文する」ボタンを押してください。</p><p class="btn mb5"><a href="/cart/"><img src="/material/common/images/btn_order.png" alt="注文する" width="164" height="43" class="overImg"></a></p><p class="orderNote">ご注文は${minimumOrderAmount}円以上で承ります。</p>';
var IMGLOAD = '<p style="margin:10px 0;text-align:center;"><img src="/material/common/images/ajax-loader.gif" width="16" height="16" /></p>';
var TEMPLATE_TOOLTIP = '<div class="popupAddCart"><div class="popupAddCartInner"><div class="popupAddCartCts"><p><strong>${msg}</strong></p><!-- /div class popupCts --></div><!-- /div class popupInner --></div><!-- /div class popupItem --></div>';
var SUCCESS_TOOLTIP02 = '<div class="popupAddCart02"><div class="popupAddCartInner"><div class="popupAddCartCts"><p><strong>${msg}</strong></p><!-- /div class popupCts --></div><!-- /div class popupInner --></div><!-- /div class popupItem --></div>';
/**
 * @constructor
 * @description クラスの宣言
 */
var AddCartItem = function(){
}


AddCartItem.prototype = {
	cookieName:"REX_KAMAMESHI_FAVORITE_MENU",
/**
 * @class initialize
 */
 	initialize:function(){
		this.click();
	},

/**
 * @class click
 * @description クリックイベント発生
 */
	click:function(){
		$(".js-cart-btn").click(function(){	/* 「カートに入れる」ボタンをクリック */
			$(".popupAddCart").remove();

			var cls = $(this).parents("[id*='menuID']").hasClass("js-osusume");


			if($(".delete-key-meisaiID").text() && !cls){
				var meisaiID = $(".delete-key-meisaiID").text();
				var href = location.href;
				DETAIL_CARTIN_MSG = "";
				deleteCart.send(meisaiID, $(this), href);
			}else{
				addCartItem.add($(this));
			}

			var menuID = $(this).parents("[id*='menuID']").attr("id");
			menuID = menuID.slice(menuID.indexOf("-")+1);
			addCartItem.setCookie(menuID);
			return false;
		});

		//$("input:radio[name=orderList]").click(function(){	/* 数量変更ラジオをクリック */
		//	var id = $(this).val();
		//	var num = addCartItem.getOrderNum();
		//	var URL = location.href;
		//	URL = URL + "/" + id + "/" + num + "/";
		//	alert("この" + URL + "に遷移します。（URLは仮です）")
		//});
	},

/**
 * @class add
 * @description アイテム追加
 */
	add:function(elem, netaList){
		var obj = new Object();
		var arr = new Array();
		var check = new Array();
		var tmp = new Array();
		CARTBTN = $(elem);
		var menuID;
		// 変更ボタン操作の場合
		if (AddCartItem.updBtFlg) {
			menuID = $(elem).parents("[seomenuid*='seoMenuID']").attr("seomenuid");
		} else {
			// カートに入れる場合
			menuID = $(elem).parents("[id*='menuID']").attr("id");
		}

		var netaID = $(elem).parents($("p[class*='SwapSEQNO-NetaPattern']")).text();
		var cls = $(elem).parents("[id*='menuID']").hasClass("js-osusume");

		obj.menu = menuID.slice(menuID.indexOf("-")+1);
		obj.num = (cls)?1:addCartItem.getOrderNum(elem);	/* おすすめメニューの「カートに入れる」ボタンをクリックした場合は、数量「1」を設定 */
		obj.num = (obj.num)?obj.num:1;
		obj.meisai = addCartItem.getMeisaiID(elem);

		var debugData = "";
		var optionBlockLen = $(".optionBlock").length;
		var deleteKeyMeisaiID = $(".delete-key-meisaiID").text().length;
		var addflg = 0;

		var tooltip = true;

		if(optionBlockLen>0 || deleteKeyMeisaiID>0){
			$(".optionBlock").each(function(){
				if($(this).css("display") == "block"){
					var elem = $(this);
					if(!cls){
						if(netaID){
							if(netaList){
								obj.netaid = addCartItem.getNetaPattern(elem, netaList);
							}else{
								obj.netaid = addCartItem.getNetaPattern(elem);
							}
						}
						obj.netaid = addCartItem.getNetaList(elem);
						obj.option = addCartItem.getOptionValue(elem);
						obj.topping = addCartItem.getToppingValue(elem);
						obj.select = addCartItem.getSelectValue(elem);
					}

					var data = addCartItem.setData(obj);
					addflg = 1;
					arr.push(data);
					check.push(data);
				}
			});

			if(addflg != 1){
				obj.netaid = addCartItem.getNetaList(elem);
				obj.option = addCartItem.getOptionValue(elem);
				obj.topping = addCartItem.getToppingValue(elem);
				obj.select = addCartItem.getSelectValue(elem);

				var data = addCartItem.setData(obj);
				addflg = 0;
				arr.push(data);
				check.push(data);
			}

			var storage = {};
			var uniqueArray = new Array();
			var value;

			for (var i=0; i<arr.length; i++) {
				value = arr[i];
				if (!(value in storage)) {
					storage[value] = true;
					uniqueArray.push(value);
				}
			}

			$(uniqueArray).each(function(i){
				var count = 0;
				$(check).each(function(j){
					if(uniqueArray[i] == check[j]){
						count++;
					}
				});
				var num = "/"+count+"/0";
				uniqueArray[i] = uniqueArray[i].replace("/1/0", num);
			});

			$(uniqueArray).each(function(i){
				debugData += uniqueArray[i] + "<br />";
				addCartItem.send(uniqueArray[i], tooltip);
				if(errAddItemFlg){
					return false;
				}
			});

			setTimeout( function() {
				$(".popupAddCart").css("display", "none");
			}, TOOLTIP_TIME);
			
			if($(".delete-key-meisaiID").text()){
				if(!DETAIL_CARTIN_MSG){
					location.href = domain + "/cart/";
				} else {
					SUCCESS_TOOLTIP = TEMPLATE_TOOLTIP.replace("${msg}", DETAIL_CARTIN_MSG + DETAIL_MODIFY_ERROR_MSG);
					addCartItem.success();
					setTimeout( function() {
						location.href = domain + "/cart/";
						return;
					}, TOOLTIP_TIME);
				}
			}
		}else{
			obj.option = addCartItem.getOptionValue(elem);
			obj.netaid = addCartItem.getNetaPattern(elem);
			obj.select = addCartItem.getSelectValue(elem);
			obj.topping = addCartItem.getToppingValue(elem);
			if($(elem).hasClass("js-size"))tooltip = false;
			var elem = $(this);
			addCartItem.getNetaList(elem);
			var data = addCartItem.setData(obj);
			debugData += data + "<br />";
			// 変更ボタン処理
			if (AddCartItem.updBtFlg) {
				AddCartItem.updBtFlg = false;
				// メニュー詳細画面へ遷移
				location.href = domain +  "/menu" + data + "/detail.html";
			} else {
				// カート投入画面へ遷移
				addCartItem.send(data, tooltip);
			}
		}

		addCartItem.debug(debugData);
	},

/**
 * @class getOrderNum
 * @description 数量取得
 */
	getOrderNum:function(elem){
		var num;
		$("input:radio[name=orderList]:checked").each(function(){
			//num = $(this).nextAll("select").children(":selected").text();
			num = 1;
		});

		if(!num){
			if($(elem).hasClass("js-cartosusume")){
				num = $(elem).parents("[id*='menuID']").find("option:selected").text();
			}else if($(elem).hasClass("js-size")){
				num = $(elem).find("option:selected").text();
			}else{
				$(".orderList option:selected").each(function(){
					if($(".optionBlock").length){
						//num = $(this).text();
						num = 1;
					} else {
						num = $(this).text();
					}
				});
			}
		}

		return num;
	},

/**
 * @class getOptionValue
 * @description オプション値取得
 */
	getOptionValue:function(elem){

		var optionList = "";
		var list = new Array();

		if($(elem).hasClass("js-size") || $(elem).hasClass("js-option")){
			var row = $(elem).parents("tr").find("td:first-child").attr("rowspan");
			var tr = $(elem).parents("tr").nextAll();

			if(row == 1){
				optionList = $(elem).parents("tr").find("select.js-option option:selected").val();
			}else{
				$(tr).each(function(i){
					if(row-1>i){
						if($(elem).parents("tr").find("select").hasClass("js-option")){
							optionList = $(elem).parents("tr").find("select.js-option option:selected").val();
						}else{
							$(this).find(".optiontList").each(function(){
								list.push($(this).text());
							});
							
							optionList = list.join("-");
						}

						return false;
					}
				});
			}
		}else{
			$(elem).find(".js-optionList input:checked").each(function(i){
				if($(this).parents("div[class*='optionBlock']").css("display") == "block"){
					var val = $(this).val();
					optionList += (i>0)?"-"+ val:val;
				}
			});

			if(!optionList && $(elem).parents("[id*='menuID']").find(".optiontList")){
				optionList = $(elem).parents("[id*='menuID']").find(".optiontList").text();
			}
		}
		return optionList;
	},

/**
 * @class getToppingValue
 * @description トッピング値取得
 */
	getToppingValue:function(elem){
		var toppingList = "";
		var list = new Array();

		if($(elem).hasClass("js-size")){
			var row = $(elem).parents("tr").find("td:first-child").attr("rowspan");
			var tr = $(elem).parents("tr").nextAll();

			if(row == 1){
				toppingList = $(elem).parents("tr").find(".toppingID").text();
			}else{
				$(tr).each(function(i){
					if(row-1>i){
						$(this).find(".toppingID").each(function(){
							list.push($(this).text());
						});
					}
				});
				
				toppingList = list.join("-");
			}
		}else{
			$(elem).find(".js-topping:checkbox:checked").each(function(i){
				if($(this).parents("div[class*='optionBlock']").css("display") == "block"){
					var val = $(this).val();
					list.push(val);
				}
			});

			if(list){

				toppingList = list.join("-");
			}

			if(!toppingList && $(elem).parents("tr").find(".toppingID")){
				var row = $(elem).parents("tr").find("td:first-child").attr("rowspan");
				var tr = $(elem).parents("tr").nextAll();

				if(row == 1){
					toppingList = $(elem).parents("tr").find(".toppingID").text();
				}else{
					$(tr).each(function(i){
						if(row-1>i){
							$(this).find(".toppingID").each(function(){
								list.push($(this).text());
							});
						}
					});
					
					toppingList = list.join("-");
				}
			}
		}

		return toppingList;
	},

/**
 * @class getSelectValue
 * @description 選択メニュー取得
 */
	getSelectValue:function(elem){
		var selectList = "";
		var list = new Array();

		if($(elem).hasClass("js-size")){
			var row = $(elem).parents("tr").find("td:first-child").attr("rowspan");
			var tr = $(elem).parents("tr").nextAll();

			if(row == 1){
				selectList = $(elem).parents("tr").find(".selectList").text();
			}else{
				$(tr).each(function(i){
					if(row-1>i){
						$(this).find(".selectList").each(function(){
							list.push($(this).text());
						});
					}
				});

				list = list.join("-");
				selectList = list;
			}
		}else{
			if($(elem).hasClass("js-cart-btn")){
				elem = $(elem).parents("[id*='menuID']");
			}
			$(elem).find(".js-selectList input:checked").each(function(i){
					var val = $(this).val();
					list.push(val);
			});

			if(list){
				
				selectList = list.join("-");
			}

			if(!selectList && $(elem).parents("tr").find(".selectList")){
				var row = $(elem).parents("tr").find("td:first-child").attr("rowspan");
				var tr = $(elem).parents("tr").nextAll();

				if(row == 1){
					selectList = $(elem).parents("tr").find(".selectList").text();
				}else{
					$(tr).each(function(i){
						if(row-1>i){
							$(this).find(".selectList").each(function(){
								list.push($(this).text());
							});
						}
					});

					selectList = list.join("-");
				}
			}
		}
		return selectList;
	},

/**
 * @class getNetaPattern
 * @description ネタ入れ替えパターンID取得
 */
	getNetaPattern:function(elem, list){
		var id;
		var patternList = new Array();


		if(list){
			id = list;
		}else{
			if($(elem).hasClass("js-size")){
				var row = $(elem).parents("tr").find("td:first-child").attr("rowspan");
				var tr = $(elem).parents("tr").nextAll();

				if(row == 1){
					id = $(elem).parents("tr").find(".SwapSEQNO-NetaPattern").text();
				}else{
					$(tr).each(function(i){
						if(row-1>i){
							$(this).find(".SwapSEQNO-NetaPattern").each(function(){
								patternList.push($(this).text());
							});
						}
					});

					patternList.join("-");
					id = patternList;
				}
			}else{
				id = $(elem).find("p[class*='SwapSEQNO-NetaPattern']").text();

				if($(elem).parents("tr").find(".SwapSEQNO-NetaPattern")){
					var row = $(elem).parents("tr").find("td:first-child").attr("rowspan");
					var tr = $(elem).parents("tr").nextAll();

					if(row == 1){
						id = $(elem).parents("tr").find(".SwapSEQNO-NetaPattern").text();
					}else{
						$(tr).each(function(i){
							if(row-1>i){
								$(this).find(".SwapSEQNO-NetaPattern").each(function(){
									patternList.push($(this).text());
								});
							}
						});

						patternList.join("-");
						id = patternList;
					}
				}
			}
		}
		return id;
	},

/**
 * @class getNetaList
 * @description ネタ入れ替えリスト取得
 */
	getNetaList:function(elem){
		var list = new Array();
		var fromList = new Array();
		var toList = new Array();
		$(elem).find(".js-netaList").each(function(){
			var item = new Object();
			$(this).find("li").each(function(){
				var cls = $(this).attr("class");
				if(cls == "deduct")item.a = $(this).find("span").text();
				if(cls == "add")item.b = $(this).find("span").text();
			});
			fromList.push(item.a);
			toList.push(item.b);
		});

		if (fromList.length > 0 && toList.length > 0) {
			list.push(fromList);
			list.push(toList);
		}
		var idList = list.join("-");
		return idList;
	},

/**
 * @class getMeisaiID
 * @description カート内明細番号取得
 */
	getMeisaiID:function(elem){
		var id = $(elem).parents("tr").find("span.meisaiID").text();
		return id;
	},

/**
 * @class setData
 * @description 送信パラメータ生成
 */
 	setData:function(obj){
		var data = "/" + obj.menu + "/";
		if(obj.netaid)if(obj.netaid.length>0)data += obj.netaid + "/";
		//if(obj.netalist)data += obj.netalist + "/";
		if(obj.option)if(obj.option.length>0)data += obj.option + "/";
		if(obj.select)if(obj.select.length>0)data += obj.select + "/";
		if(obj.topping)if(obj.topping.length>0)data += obj.topping + "/";
		data += obj.num + "/";

		var meisai = (obj.meisai.length>0)?obj.meisai:0;
		data += meisai;

		var pattern = "/p1";
		if(obj.option)if(obj.option.length>0)pattern = "/p2";
		if(obj.topping) {
			if(obj.topping.length>0) {
				pattern = "/p3";
				if(obj.option.length>0){
					pattern = "/p10";
				}
			}

		}
		if(obj.select){
			if(obj.select.length>0){
				pattern = "/p4";
				if(obj.topping.length>0){
					pattern = "/p5";
					if(obj.option.length>0){
						pattern = "/p11";
					}
				}else if(obj.option.length>0){
					pattern = "/p6";
				}
			}
		}

		if(obj.netaid){
			if(obj.netaid.length>0){
				pattern = "/p8";
				if(obj.option.length>0){
					pattern = "/p9";
					if(obj.select.length>0){
						pattern = "/p7";
					}
				}else if(obj.select.length>0){
					pattern = "/p12";
				}
			}
		}

		pattern += data;
		return pattern;
	},

/**
 * @class send
 * @description 送信
 */
 	send:function(data, tooltip){
		$.ajax({
			type: "PUT",
			url: domain + "/rest/addCartItem" + data,
			async: false,
			success: function(msg){
				addCartItem.getCartData(msg, tooltip);
			}
		});
		//addCartItem.getCartData("TRUE", tooltip);	/* APIと繋がるまで、確認用 */
	},

/**
 * @class getCartData
 * @description 右サイドメニュー カート追加
 */
	getCartData:function(msg, tooltip){
		if(msg == "TRUE"){
			if($(".delete-key-meisaiID").text()){
				return;
			} else if($(".js-right-cart-amount").length == 0){
				var idx = location.href.lastIndexOf("/cart/");
				if (idx >=0 && idx == location.href.length - 6) {
					location.href = domain + "/cart/";
				} else {
					location.reload();
				}
				return;
			}

			addCartItem.setLoading();
			SUCCESS_TOOLTIP = TEMPLATE_TOOLTIP.replace("${msg}", SUCCESS_MSG);
			SUCCESS_TOOLTIP02 = SUCCESS_TOOLTIP02.replace("${msg}", SUCCESS_MSG);
			$.ajax({
				url: domain + "/rest/getCartInfo",
				dataType:"xml",
				success: function(data){
					addCartItem.cartDataCallback(data, tooltip);
				}
			});
		} else if(msg == "FALSE"){
			SUCCESS_TOOLTIP = TEMPLATE_TOOLTIP.replace("${msg}", ERROR_MSG_NO_SETCLE_SHOP);
			SUCCESS_TOOLTIP02 = SUCCESS_TOOLTIP02.replace("${msg}", ERROR_MSG_NO_SETCLE_SHOP);
			if(tooltip)addCartItem.success();
			setTimeout( function() {
				location.href = "/store/";
				return;
			}, TOOLTIP_TIME);
		}else{
			errAddItemFlg = true;
			if($(".delete-key-meisaiID").text()){
				if(DETAIL_CARTIN_MSG.indexOf(msg) < 0){
					DETAIL_CARTIN_MSG += msg + "<br>";
				}
				return;
			}
			SUCCESS_TOOLTIP = TEMPLATE_TOOLTIP.replace("${msg}", msg);
			SUCCESS_TOOLTIP02 = SUCCESS_TOOLTIP02.replace("${msg}", msg);
			addCartItem.success();
		}
	},

/**
 * @class cartDataCallback
 * @description カートデータコールバック
 */
 	cartDataCallback:function(data, tooltip){
		setTimeout( function() {
			addCartItem.display(data);
		}, 800);
		if(tooltip)addCartItem.success();
	},

/**
 * @class display
 * @description 右サイドメニュー 再表示
 */
 	display:function(data){
		var DATA = data;
		if($(DATA).find("CartInfo OrderDetail record").length <=1){
			var html = '<div class="js-right-cart-amount">';
		} else {
			var html = '';
		}
		$(DATA).find("CartInfo OrderDetail record").each(function(i){
			var item = ITEM;

			if($(this).find("MenuID").text()){
				item = item.replace("${MenuName}", $(this).find("MenuName").text());
				if($(this).find("DisplayVolume1").text() && $(this).find("DisplayUnit1").text()){
					item = item.replace("${DisplayVolume1}", $(this).find("DisplayVolume1").text());
					item = item.replace("${DisplayUnit1}", $(this).find("DisplayUnit1").text());
				} else {
					item = item.replace("${DisplayVolume1}", "");
					item = item.replace("${DisplayUnit1}", "");
				}
				if($(this).find("OrderSize").text() != ""){
					item = item.replace("${OrderSize}", "数量：" + $(this).find("OrderSize").text() + "　");
					//item = item.replace("${MenuUnitPrice}", $(this).find("MenuUnitPrice").text() + "円");
				}
				else{
					item = item.replace("${OrderSize}", "");
				}

				if($(this).find("OrderSize").text() != ""){
					var price = $(this).find("MenuAmount").text();
					price = $$.addFigure(price);
					item = item.replace("${MenuAmount}", price + "円");
				}
				else{
					if($(this).find("CampaignAmount").text() != ""){
						item = item.replace("${MenuAmount}", "-" + $(this).find("CampaignAmount").text() + "円");
					}
					else{
						item = item.replace("${MenuAmount}", $(this).find("PresentName").text());
					}
				}

				html += item;
			}
		});

		var sum = $(DATA).find("CartInfo OrderHeader OrderAmountSum").text();
		var beforeStr = $(DATA).find("CartInfo OrderHeader OrderAmountBeforeDiscountSum").text();
		var campaignStr = $(DATA).find("CartInfo OrderHeader DiscountAmountSum").text();

		if(Number(campaignStr) > 0){
			campaignStr = "-" + campaignStr;
		}

		html += SUM;
		html = html.replace("${beforesum}", beforeStr);
		html = html.replace("${campaignsum}", campaignStr);
		html = html.replace("${sum}", sum);

		if($(DATA).find("CartInfo OrderDetail record").length <=1){
			html += '<!-- /div class js-right-cart-amount --></div>';
			$(DATA).find("CartInfo OrderHeader").each(function(i){
				var cart_list_footer = CART_LIST_FOOTER;
				if($(this).find("minimumOrderAmount").text()){
					cart_list_footer = cart_list_footer.replace("${minimumOrderAmount}", $(this).find("minimumOrderAmount").text());
					html += cart_list_footer;
				}
			});
			html += "<!-- /div class js-right-cart -->"
			$(".js-right-cart").html(html);
		} else {
			html += "<!-- /div class js-right-cart-amount -->"
			$(".js-right-cart-amount").html(html);
		}
	},

/**
 * @class success
 * @description カート追加成功
 */
	success:function(elem){
		if(elem)CARTBTN = elem;
		var btnHeight = CARTBTN.height()
		var pos = this.getPosition(CARTBTN);
		var top = parseInt(pos.top) + btnHeight;
		var left = parseInt(pos.left) - 35;;

		$("#main, #top, body").append(SUCCESS_TOOLTIP);
		$(".main, #top, body").append(SUCCESS_TOOLTIP02);

		var winSize = $("html").attr("clientHeight");
		
		if(jQuery.browser.webkit){
			var areaTop = $(".main").scrollTop();
		}else{
			var areaTop = $("html, body").scrollTop();
		}
		
		var areaBtm = areaTop + winSize - 10;
		
		var tooltipHeight = $(".popupAddCart").height();
		var tooltipBtm = top + tooltipHeight;

//		$(".popupAddCart").css({
//			top:top,
//			left:left,
//			display:"block"
//		});

		if(tooltipBtm<areaBtm){
			$(".popupAddCart").css({
				top:top,
				left:left,
				display:"block"
			});
		}else{
			var btn = $(".js-cart-btn img").height();
			if(jQuery.browser.msie){
				top = top - tooltipHeight - btn - 25;
			}else{
				top = top - tooltipHeight - btn - 14;
			}
			$(".popupAddCart02").css({
				top:top,
				left:left,
				display:"block"
			});
		}

		setTimeout( function() {
			$(".popupAddCart, .popupAddCart02").css("display", "none");
		}, TOOLTIP_TIME);
	},

/**
 * @class getPosition
 * @description クリックした座標取得
 */
	getPosition:function(elem){
		var pos = new Object();
		var top = $(elem).offset().top;
		pos.top = top;

		var left = $(elem).offset().left;
		pos.left = left;

		return pos;
	},

/**
 * @class setLoading
 * @description 右サイドメニュー loading画像設定
 */
 	setLoading:function(){
		$(".js-right-cart-amount").html(IMGLOAD);
	},

/**
 * @class getCookie
 * @description 最近見たメニューをクッキーを取得
 */
	getCookie:function(){
		return $.cookie(this.cookieName);
	},

/**
 * @class setCookie
 * @description 最近見たメニューをクッキーに設定
 */
	setCookie:function(val){
		var favorite = new Array();
		var len;

		if(this.getCookie()){
			favorite.push(this.getCookie());
			len = favorite[0].length;
		}

		$.cookie(this.cookieName, "", { expires:-1, path:"/"});

		if(len>2000){	/* cookieのサイズが2KB以上の場合 */
			var str = favorite[0];
			str = str.slice(str.indexOf(",")+1);
			favorite[0] = str;
		}

		favorite.push(val);

		var cookieVal = favorite.join(",");
		$.cookie(this.cookieName, cookieVal, { expires:FAVORITE_DAYS, path:"/"});
	},

/**
 * @class debug
 * @description デバッグ
 */
 	debug:function(data){
		//$("#debug").remove();
		//var html = '<div id="debug" style="position:fixed;top:0;left:0;padding:10px;background:#ccc;font-weight:bold;border:4px solid #c00;z-index:10000;">送信パラメータ：<br />${data}</div>';
		//var src = "";

		//html = html.replace("${data}", data);

		//$("#wrap").after(html);
	}
}

var addCartItem = new AddCartItem();

$(document).ready(function(){
	$(".js-cart-btn").css("cursor", "pointer");
	$(".js-cart-btn").removeAttr("href");
	addCartItem.initialize();
});

