// コトハコレコメンド用ログ送信
// k_uidがCookieに存在する状態で、k_sendRecoLog( itemid )を呼び出し、コトハコにレコメンドのログ情報を送信する

// Cookieからk_uidを取得
function k_getUidFromCookie() {
	var ck = document.cookie.split("; ");
	if(!ck){
		return '';
	}

	var ckArray = new Object();
	var pear;
	ckArray['k_uid'] = '';
	for(var i=0; i<ck.length; i++){
		pear = ck[i].split("=");
		ckArray[pear[0]] = pear[1];
	}

	return ckArray['k_uid'];
}

// UIDをCookieで取得しない場合
function k_sendRecoLogWithUid(k_uid, itemid, hostname, accountid){
		if (!itemid || !hostname || !accountid || itemid == '' || hostname == '' || accountid == ''){
			return;
		}
		if (!k_uid){
			k_uid = "";
		}
		var url = document.location.protocol + "//" + hostname + "/ec/?action=recoAccess&id=" + escape(accountid) + "&k_uid=" + escape(k_uid) + "&itemid=" + escape(itemid);
		var script = document.createElement("script");
		script.setAttribute("type", "text/javascript");
		script.setAttribute("src", url);
		var target = document.getElementById("k_rec");
		target.appendChild(script);
}


// UIDをcookieから取得する場合
function k_sendRecoLog(itemid, hostname, accountid, domain){
	var k_uid = k_getUidFromCookie();
	//k_uidがない場合
	if (k_uid == '') {
		//仮uidを取得
		var ck = document.cookie.split("; ");
		if(!ck){
			k_uid = '';
		} else {
			var ckArray = new Object();
			var pear;
			ckArray['k_uid_kari'] = '';
			for(var i=0; i < ck.length; i++){
				pear = ck[i].split("=");
				ckArray[pear[0]] = pear[1];
			}
			k_uid = ckArray['k_uid_kari'];
		}
		//仮uidがない場合は、発行
		if (k_uid == '') {
			var random = String(Math.random());
			var now = String(new Date().getTime());
			k_uid = "kotohacojp" + random.substr(random.length-4) + now.substr(now.length-12);
		}
		//仮uidをCookieに設定
		var expire = new Date();
		expire.setTime(expire.getTime() + (365*24*60*60*1000));
		expire = expire.toGMTString();
		var cookiestr = "k_uid_kari="+ k_uid + "; expires=" + expire + "; path = /";
		if (!domain) {
			domain = '';
		}
		if(domain !== ''){
			cookiestr += "; domain = " + domain;
		}
		document.cookie = cookiestr;
	}
	k_sendRecoLogWithUid(k_uid, itemid, hostname, accountid);
}

