
// お気に入りリストの表示状態
var favoritesDispFlg = false;
// お気に入りリストの初期化フラグ
var initFavoriteFlg = false;

// お気に入りリストの初期化
function initFavoriteDisp() {
	if (!xmlReadAllFlg) {
		$("#favoriteList > ul").html("<li><img src=\"" + INDICATOR_GIF + "\"/></li>");
		var intervalId = setInterval(function() {
			if(xmlReadAllFlg) {
				clearInterval(intervalId);
				initFavoriteDispProcess();
			}
		}, 100);
	} else {
		initFavoriteDispProcess();
	}
}

// お気に入りリストの初期化の実際の処理
function initFavoriteDispProcess() {
	$("#favoriteList > ul").empty();

	var temp = $.cookie('favoriteItemInfo');
	if (temp == null || temp == '') {
		$("#favoriteList > ul")
			.append($("<li/>").text("　"));
		return;
	}
	
	var idAry = temp.split(';');

	favoriteItemData = {};

	$.each(xmlData.jewelryList[0].jewelry,
		function() {
			// 商品ID
			var id = this.id[0];
			// お気に入り表示対象の商品かチェック
			var flg = false;
			for (i=0; i<idAry.length; i++) {
				var temp1 = idAry[i];
				var temp2 = id;
				//if (temp1 == temp2) {
				if (temp2.indexOf(temp1) !== -1) {
					flg = true;
				}
			}
			if (!flg) {
				return;
			}
			
			// お気に入り表示対象の商品として格納処理を行う
			var temp = new Array();
			
			temp.id = id;

			// 商品詳細ページへのURL
			temp.entrylink = "";
			if (this.entrylink != null) {
				temp.entrylink = this.entrylink[0];
			}

			temp.imageURL = "";
			if (this.thumbnail2 != null) {
				temp.imageURL = this.thumbnail2[0];
			} else {
				var thumbId = 1;
				if (this.imageList[0].thumbnail != null) {
					thumbId = this.imageList[0].thumbnail[0];
					if (this.imageList[0].imageURL.length < thumbId) {
						thumbId = 1;
					}
				}
				temp.imageURL = this.imageList[0].imageURL[thumbId - 1];
			}

			//favoriteItemData[id] = temp;
			favoriteItemData[id.slice(0,12)] = temp;
		}
	);

	var sId;
	var eId;
	if (idAry.length > 12 ) {
		sId = idAry.length - 12;
		eId = idAry.length - 1;
	} else {
		sId = 0;
		eId = idAry.length - 1;
	}

	for (i = sId ; i <= eId; i++) {
		var id = idAry[i];
		var imageURL = favoriteItemData[id].imageURL;
		var entrylink = favoriteItemData[id].entrylink;
		addFavoriteListItem(id, imageURL, entrylink);
	}

	if ($("#favoriteList > ul > li").length == 0) {
		$("#favoriteList > ul")
			.append($("<li/>").text("　"));
	}
}


$(function(){

// [お気に入りリストを見る]ボタン制御
$('#favoriteMenu').click(
	function(){
	
		// お気に入りリストの初期化済み？
		if (!initFavoriteFlg) {
			// お気に入りリストの初期化
			initFavoriteDisp();
			initFavoriteFlg = true;
		}

		if (!favoritesDispFlg) {
			favoritesDispFlg = true;
			$('#favoriteAddBox')
			.fadeIn("slow");
		} else {
			favoritesDispFlg = false;
			$('#favoriteAddBox')
			.fadeOut("slow");
		}
	}
);

// お気に入りリスト内[Close]ボタン制御
$("#closeBtn").click(
	function(){
		favoritesDispFlg = false;
		$('#favoriteAddBox').fadeOut("slow");
	}
);

});


// お気に入りリストに追加
function addFavoriteListItem(itemId, itemImageURL, entryLink){

	if (entryLink == '') {
		$.each(xmlData.jewelryList[0].jewelry,
			function() {
				if (this.id != itemId) {
					return ;
				}
				// 商品詳細ページへのURL
				entryLink = this.entrylink;
			}
		);
	}

    // 追加するli要素を作成
    $("<li/>")
        .append($("<a/>").attr("href", entryLink)
                            .append($("<img/>").attr("src", itemImageURL)
                                .attr("width","96")
                                .attr("height","96")
                                .attr("alt", itemId)
                            )
            )
        .append($("<span/>")
            .append($("<a/>").addClass("del")
                .append($("<img/>").attr("src", "/common/img/jewelry/btn_delete.gif")
                                   .attr("width", "13")
                                   .attr("height", "12")
                                   .attr("alt", "削除")
                                   .click(
                                       function(){
											var itemId = $(this).parent().parent().parent().children("a").children("img").attr("alt");
											$(this).parent().parent().parent().fadeOut("slow",
											function() {
												// お気に入りクッキーから削除
												deleteFromFavoriteCookie(itemId);
												$(this).remove();
												initFavoriteDisp();
                                           });
                                       }
                                   )
                )
            )
        )
        .prependTo($("#favoriteList > ul"));   // 最上位に追加
}


function deleteFromFavoriteCookie(itemId) {
	var temp = $.cookie('favoriteItemInfo');
	if (temp == null || temp == '') {
		return;
	}
	var favoriteItemAry = temp.split(';');
	var aryId = $.inArray(itemId, favoriteItemAry);
	if (aryId == -1) {
		return ;
	}
	favoriteItemAry.splice(aryId, 1);
	temp = favoriteItemAry.join(';');
	$.cookie('favoriteItemInfo', temp, {expires:FDC_COOKIE_EXP, path:FDC_COOKIE_PATH});

}

function addToFavoriteCookie(itemId) {
	var temp = $.cookie('favoriteItemInfo');
	var favoriteItemAry = new Array();
	if (temp != '') {
		favoriteItemAry = temp.split(';');
	}
	var aryId = $.inArray(itemId, favoriteItemAry);
	if (aryId != -1) {
		return ;
	}
	favoriteItemAry.push(itemId);
	temp = favoriteItemAry.join(';');
	$.cookie('favoriteItemInfo', temp, {expires:FDC_COOKIE_EXP, path:FDC_COOKIE_PATH});

}



