// パラメータ設定
var cookieName = new Object();
cookieName["img"] = "IMG";
cookieName["url"] = "URL";
cookieName["indate"] = "INDATE";
var myCatalogueExpires = getExpDate(60,0,0);
var myCatalogueDomain = "";
var myCatalogueHtml = "";
var myCatalogueMax = 21;
//var domain = "uniqlo.sonicjam.co.jp";
var cookiePath = "/";

// 期限用日付取得
function getExpDate(days, hours, minutes) {
	var expDate = new Date();
	if (typeof days == "number" && typeof hours == "number" && typeof minutes == "number") {
		expDate.setDate(expDate.getDate() + parseInt(days));
		expDate.setHours(expDate.getHours() + parseInt(hours));
		expDate.setMinutes(expDate.getMinutes() + parseInt(minutes));
		return expDate.toGMTString();
	}
}

// クッキー内のnameを指定し値を取得
function getCookieVal(offset) {
	var endstr = document.cookie.indexOf(";", offset);
	if (endstr == -1) {
		endstr = document.cookie.length;
	}
	return unescape(document.cookie.substring(offset, endstr));
}

// Cookieから値を取得
function getCookie(name) {
	var arg = name + "=";
	var alen = arg.length;
	var clen = document.cookie.length;
	var i = 0;
	while (i < clen) {
		var j = i + alen;
		if (document.cookie.substring(i, j) == arg) {
			return getCookieVal(j);
		}
		i = document.cookie.indexOf(" ", i) + 1;
		if (i == 0) break;
	}
	return "";
}

// Cookieの値を「:」で区切り、配列にする
function getCookieLength() {
	var name = arguments[0];
	var value = unescape(getCookie(name));
	if (value == "") {
		return "";
	} else {
		var a = value.split(":");
		return a;
	}
}

// 指定した要素を削除
function deleteThisCookie() {
	var thisNo = arguments[0];
	var imgArray = getCookieLength(cookieName["img"]);
	var urlArray = getCookieLength(cookieName["url"]);
	var indateArray = getCookieLength(cookieName["indate"]);
	var popupArea = document.getElementById("popup");
	var aryMax = imgArray.length - 1;
	var tmpImgArray = new Array(aryMax);
	var tmpUrlArray = new Array(aryMax);
	var tmpInDAteArray = new Array(aryMax);
	var tmpCnt = 0;

	// 指定要素を削除
	// macのIEではspliceが使えない対策
	for (i=0; i<imgArray.length; i++) {
		if (i == thisNo) {
			// next
		} else {
			tmpImgArray[tmpCnt] = imgArray[i];
			tmpUrlArray[tmpCnt] = urlArray[i];
			tmpInDAteArray[tmpCnt] = indateArray[i];
			tmpCnt++;
		}
	}
	// クッキーをつくり直す
	document.cookie = cookieName["img"] + "=" + tmpImgArray.join(":") + ";expires=" + myCatalogueExpires + ";path=" + cookiePath;
	document.cookie = cookieName["url"] + "=" + tmpUrlArray.join(":") + ";expires=" + myCatalogueExpires + ";path=" + cookiePath;
	document.cookie = cookieName["indate"] + "=" + tmpInDAteArray.join(":") + ";expires=" + myCatalogueExpires + ";path=" + cookiePath;
	
	// HTML組み直し
	makeHtml();
	
	// 表示されていればを更新
	if (popupArea.style.visibility == 'visible') {
		display(true);
	}
}

function makeHtml() {
	var imgArray = getCookieLength(cookieName["img"]);
	var urlArray = getCookieLength(cookieName["url"]);
	var indateArray = getCookieLength(cookieName["indate"]);
	
	// HTML組み直し
	myCatalogueHtml = "";
	for (i=0; i<imgArray.length; i++) {
		myCatalogueHtml += '<div class="box-03">' + "\n";
		myCatalogueHtml += '<span>' + unescape(indateArray[i]) + '</span><br />' + "\n";
		myCatalogueHtml += '<div class="layer_part">' + "\n";
		myCatalogueHtml += '<a href="' + urlArray[i] + '"><img src="' + imgArray[i] + '" alt="" width="120" height="180" /></a>' + "\n";
		myCatalogueHtml += '<div class="layer_01"><a href="javascript:deleteThisCookie(' + i + ');"><img src="../../../common/img/mycat_c.gif" alt="" width="10" height="10" /></a></div>' + "\n";
		myCatalogueHtml += '</div></div>' + "\n";
	}
}

// Cookieに値を設定
function setCookie(imgValue, urlValue) {
	var imgArray = getCookieLength(cookieName["img"]);
	var urlArray = getCookieLength(cookieName["url"]);
	var indateArray = getCookieLength(cookieName["indate"]);
	var imgCookieValue = "";
	var urlCookieValue = "";
	var indateCookieValue = "";
	var popupArea = document.getElementById("popup");
	
	// 同じコーディネートを選択した場合
	var aryMax = imgArray.length - 1;
	if (aryMax < 1) {
		aryMax = 0;
	}
	var tmpImgArray = new Array(aryMax);
	var tmpUrlArray = new Array(aryMax);
	var tmpInDAteArray = new Array(aryMax);
	var tmpCnt = 0;

	// 指定要素を削除
	// macのIEではspliceが使えない対策
	for (i=0; i<imgArray.length; i++) {
		if (imgArray[i] == imgValue) {
			// next
		} else {
			tmpImgArray[tmpCnt] = imgArray[i];
			tmpUrlArray[tmpCnt] = urlArray[i];
			tmpInDAteArray[tmpCnt] = indateArray[i];
			tmpCnt++;
		}
	}
	
	imgArray = tmpImgArray;
	urlArray = tmpUrlArray;
	indateArray = tmpInDAteArray;
	
	// クッキーに「:」区切りで追加
	if (imgArray.length == 0) {
		imgCookieValue = cookieName["img"] + "=" + escape(imgValue) + ";";
		urlCookieValue = cookieName["url"] + "=" + escape(urlValue) + ";";
		indateCookieValue = cookieName["indate"] + "=" + escape(getNowDate()) + ";";
	} else {
		// 最大21要素
		if (imgArray.length >= myCatalogueMax) {
			//shift(imgArray);
			deleteThisCookie(myCatalogueMax - 1);
			imgArray = getCookieLength(cookieName["img"]);
			urlArray = getCookieLength(cookieName["url"]);
			indateArray = getCookieLength(cookieName["indate"]);
		}
		// 要素を先頭に追加
		//imgCookieValue = cookieName["img"] + "=" + imgArray.join(":") + ":" + escape(imgValue) + ";";
		imgCookieValue = cookieName["img"] + "=" + escape(imgValue) + ":" + imgArray.join(":") + ";";
		urlCookieValue = cookieName["url"] + "=" + escape(urlValue) + ":" + urlArray.join(":") + ";";
		indateCookieValue = cookieName["indate"] + "=" + escape(getNowDate()) + ":" + indateArray.join(":") + ";";
	}
	
	// クッキー登録
	document.cookie = imgCookieValue + "expires=" + myCatalogueExpires + ";path=" + cookiePath;
	document.cookie = urlCookieValue + "expires=" + myCatalogueExpires + ";path=" + cookiePath;
	document.cookie = indateCookieValue + "expires=" + myCatalogueExpires + ";path=" + cookiePath;
	
	// HTML組み直し
	makeHtml();
	
	// 表示を更新
	//if (popupArea.style.visibility == 'visible') {
		display(true);
	//}
}

// 日付の取得
function getNowDate() {
	var dd = new Date();
	var year = dd.getYear();
	// IEは4桁の西暦を返すに対応
	if (navigator.userAgent.indexOf("MSIE") < 0) {
		year += 1900;
	}
	var y = new String(year);
	var mon = dd.getMonth() + 1;
	var date = dd.getDate();
	var now = y.substr(2,2) + "/" + mon + "/" + date;
	return now;
}

// MY CATALOGUEレイヤー表示
function display() {
	var popupArea = document.getElementById("popup");
	var layerArea = document.getElementById("layerArea");
	var compulsoryFlg = arguments[0];
	
	// 表示を更新
	layerArea.innerHTML = myCatalogueHtml;
	
	// 強制的に表示
	if (compulsoryFlg) {
		popupArea.style.visibility = "visible";
		layerArea.style.overflow = "auto";
	} else {
		if (popupArea.style.visibility == "hidden") {
			popupArea.style.visibility = "visible";
			layerArea.style.overflow = "auto";
		} else {
			popupArea.style.visibility = "hidden";
			layerArea.style.overflow = "hidden";
		}
	}
}

// debug 生クッキーの内容表示
function getCookie2() {
	var x = getCookie(arguments[0]);
	alert(document.cookie);
}

