
var HIST_NUM = 10;
var SHOW_NUM = 4;
var CK_NAME = "itemHistory";

function addListener(target, event, func) {
    if (target.addEventListener) { // for W3C DOM
      target.addEventListener(event, func, false);
    } else if (target.attachEvent) { // for IE
      target.attachEvent("on" + event, func);
    }
}

function itemHist() {
	showHistory();
	setHistory();
}

function setHistory() {
    var period = 365 * 2;
    var value = getValueFromCookie(CK_NAME);
    if (document.myform == null || document.myform.seq_exhibit_id == null || document.myform.seq_exhibit_id.value == null) {
    	return;
    }
    var newItemIds = document.myform.seq_exhibit_id.value;
    if (value) {
    	var newItemId = newItemIds;
        var itemIds = value.split(",");
        var size = itemIds.length;
        var itemListSize = 1;
        for (var i = 0; i < size; i++) {
        	if (itemListSize >= HIST_NUM) {
        		break;
        	}
            var itemIdTemp = itemIds[i];
            if (itemIdTemp != newItemId) {
                newItemIds = newItemIds + "," + itemIdTemp;
                itemListSize++;
            }
        }
    }
    setCookie(CK_NAME, newItemIds, getExpires(period), "/", null, null);
}

function getExpires(day) {
    var nowtime = new Date().getTime();
    return new Date(nowtime + (60 * 60 * 24 * 1000 * day));
}

function showHistory() {
	var value = getValueFromCookie(CK_NAME);
	var dispItemIds = exceptThisItem(value);
	if (!dispItemIds) {
		return;
	}
	
	var url = "/dap/sv/use010701";
	var pars = "itemId=" + dispItemIds + "&num=" + SHOW_NUM;
	
	var myAjax = new Ajax.Request(url, {
			method: 'get', 
			parameters: pars, 
			onComplete: showResponse
		});
}

function exceptThisItem(items) {
	var dispItemIds = "";
	var exceptItemId = getThisItemId();
	if (!exceptItemId) {
		return items;
    }
    var itemIds = items.split(",");
    var first = true;
    for (var i = 0; i < itemIds.length; i++) {
        var itemIdTemp = itemIds[i];
        if (itemIdTemp != exceptItemId) {
        	if (!first) {
        		dispItemIds = dispItemIds + ",";
        	} else {
        		first = false;
        	}
        	dispItemIds = dispItemIds + itemIdTemp;
        }
    }
    return dispItemIds;
}

function getThisItemId() {
	if (!document.myform) {
		return;
	} else if (!document.myform.seq_exhibit_id) {
		return;
	}
	return document.myform.seq_exhibit_id.value;
}

function showResponse(req, obj) {
	var xmlObj = req.responseXML;
	var e = document.getElementById("itemHist");
	e.innerHTML = toHtml(xmlObj);
}

function toHtml(xmlObj) {
	var param = document.getElementById("itemHist").getAttribute("param");
	var rootNode = xmlObj.getElementsByTagName("data")[0];
	if (rootNode.hasChildNodes()) {
		var items = rootNode.getElementsByTagName('item');
		var retString = "<div id=\"history_results\"><div style=\"display: block;\" id=\"history_result\"><div class=\"history_title\">最近チェックした商品</div>";
		for (var i = 0; i < items.length; i++) {
			var historyCount = items[i].getElementsByTagName('historyCount')[0].firstChild.nodeValue;
			var itemUrl = items[i].getElementsByTagName('itemUrl')[0].firstChild.nodeValue + "?" + param;
			var imageUrl = items[i].getElementsByTagName('smlImageUrl')[0].firstChild.nodeValue;
			var itemTitle = items[i].getElementsByTagName('itemTitle')[0].firstChild.nodeValue;
			var supName = items[i].getElementsByTagName('supName')[0].firstChild.nodeValue;
			
			retString = retString + "<div class=\"productcheck r" + historyCount + " item\"><ul class=\"productconnect\"><li class=\"product_image\"><a href=\"" + itemUrl + "\"><img src=\"" + imageUrl + "\" class=\"product_image\" alt=\"" + itemTitle + "\"></a></li><li class=\"name\"><a href=\"" + itemUrl + "\">" + itemTitle + "</a></li><li class=\"spec1\">" + supName + "</li></ul></div>";
		}

		return retString + "<div class=\"contEnd\"><hr></div></div></div>";
	}
	return "<div class=\"contEnd\"><hr></div></div></div>";
}

addListener(window, "load", itemHist);


