var cookie_name = 'fav';//クッキー識別子
var cookie_max  = 5;//お気に入り登録可能数(サイクリック)
//var expires     = 7776000000;//(1000*60*60*24*90)90日
var expires     = 86400000;//(1000*60*60*24*1)1日
/**
 * クッキー値取得
 */
function getCookieValue(key) {
	var idx       = 0;
	var cookie    = document.cookie;
	var arrCookie = cookie.split(';');
	var target    = '';
	var pos       = '';
	for (idx=0; idx<arrCookie.length; idx++) {
		target = arrCookie[idx];
		target = target.replace(/^\s+|\s+$/g, '');
		pos    = target.indexOf('=');
		if (target.substring(0, pos) == key) {
			return target.slice(pos + 1);
		}
	}
	
	return '';
}
/**
 * クッキーリスト取得
 */
function getCookieList() {
	var idx = 0;
	var arrList = [];
	var value   = '';
	for (idx=0; idx<cookie_max; idx++) {
		value = getCookieValue(cookie_name + idx);
		if (value.length > 0) {
			arrList.push(value);
		}
	}
	
	return arrList;
}
/**
 * お気に入りにリスト表示
 */
function showList(arrList) {
	var idx = 0;
	var list = '';
	//お気に入りリスト
	var table = document.getElementById('table1');
	if (table !== null) {
		var elm;
		while (elm=table.firstChild) {
			table.removeChild(elm);
		}
		for (idx=0; idx<arrList.length; idx++) {
			var arrValue = arrList[idx].split('[||]');
			var row = table.insertRow(idx);
			row.setAttribute('onmouseover', "");
			row.setAttribute('onmouseout',  "");
			var cell1 = row.insertCell(0);
			var cell2 = row.insertCell(1);
			cell1.setAttribute('class', 'table1_L');
			cell2.setAttribute('class', 'table1_R');
			cell1.className = 'table1_L';
			cell2.className = 'table1_R';
			var HTML1 = '<a href="' + unescape(arrValue[2]) + '"><img src="' + unescape(arrValue[3]) + '" width="50" height="50" /></a>';
			var HTML2 = '<span class="favTitle"><a id="' + unescape(arrValue[0]) + '" href="' + unescape(arrValue[2]) + '">' + unescape(arrValue[1]) + '</a></span><a href="javascript:void(0);" onclick="return delList(\'' + unescape(arrValue[0]) + '\');"><img src="http://www.housetohouse.co.jp/imgs/side_favlist_btn.gif" alt="削除" width="40" height="20" /></a>';
			cell1.innerHTML = HTML1;
			cell2.innerHTML = HTML2;
		}
		//一括お問い合せ表示
		if (arrList.length > 0) {
			document.getElementById("mail_link").innerHTML = '<a href="http://www.housetohouse.co.jp/bukkencontact.php"><img src="http://www.housetohouse.co.jp/imgs/side_favlist_btn2.gif" alt="リストの物件をお問い合わせ" width="182" height="33" /></a>';
		} else {
			document.getElementById("mail_link").innerHTML = '';
		}
		
	}
	//お気に入りリスト（メールフォーム）
	var fav_list = document.getElementById('mail_fav_list');
	if (fav_list !== null) {
		var mail_fav_confirm = document.getElementById('mail_fav_confirm');
		var arrMailFav = [];
		if (mail_fav_confirm !== null) {
			var mail_fav = document.getElementById('mail_fav').value;
			var arrMailFav = mail_fav.split(' / ');
		}
		list = '';
		for (idx=0; idx<arrList.length; idx++) {
			var arrValue = arrList[idx].split('[||]');
			var checked  = '';
			if (mail_fav_confirm !== null) {
				for (idx2=0; idx2<arrMailFav.length; idx2++) {
					if (arrMailFav[idx2] == unescape(arrValue[4])) {
						checked = 'checked="checked"';
					}
				}
			} else {
				checked = 'checked="checked"';
			}
			list += '<li><input name="chk_fav" id="chk_fav' + idx + '" value="' + unescape(arrValue[4]) + '" type="checkbox" onclick="return selectMailFav()" ' + checked + ' ><a id="' + unescape(arrValue[0]) + '" href="' + unescape(arrValue[2]) + '">' + unescape(arrValue[4]) + '</a></li>';
		}
		fav_list.innerHTML = list;
	}
}
/**
 * お気に入りに追加
 */
function addList(num) {
	var idx = 0;
	if (!navigator.cookieEnabled) {
		document.write('ブラウザの設定にてクッキーの受け入れを有効にしてください。');
		return false;
	}
	var page_id        = escape(document.getElementById('page_id_'+num).value);
	var page_name      = escape(document.getElementById('page_name_'+num).value);
	var page_url       = escape(document.getElementById('page_url_'+num).value);
	var page_thumbnail = escape(document.getElementById('page_thumbnail_'+num).value);
	var page_shop       = escape(document.getElementById('page_shop_'+num).value);
	var arrList   = [];
	var arrListBk = getCookieList();
	for (idx=0; idx<arrListBk.length; idx++) {
		var arrValue = arrListBk[idx].split('[||]');
		if (arrValue[0] != page_id) {
			arrList.push(arrListBk[idx]);
		}
	}
	arrList.unshift(page_id+'[||]'+page_name+'[||]'+page_url+'[||]'+page_thumbnail+'[||]'+page_shop);
	
	var exp = new Date();
	exp.setTime(exp.getTime()+expires);
	for (idx=0; idx<arrList.length; idx++) {
		document.cookie = cookie_name + idx + '=' + arrList[idx]  + '; path=/' + '; expires=' + exp.toGMTString();
	}
	showList(arrList);
}
/**
 * お気に入りを削除
 */
function delList(page_id) {
	var idx       = 0;
	var arrValue  = [];
	var arrList   = [];
	var arrListBk = getCookieList();
	for (idx=0; idx<arrListBk.length; idx++) {
		arrValue = arrListBk[idx].split('[||]');
		if (arrValue[0] != page_id) {
			arrList.push(arrListBk[idx]);
		}
	}
	var exp = new Date();
	exp.setTime(exp.getTime()+expires);
	for (idx=0; idx<arrList.length; idx++) {
		document.cookie = cookie_name + idx + '=' + arrList[idx]  + '; path=/' + '; expires=' + exp.toGMTString();
	}
	exp.setTime(exp.getTime()-expires);
	for (idx=arrList.length; idx<cookie_max; idx++) {
		document.cookie = cookie_name + idx + '=' + arrList[idx]  + '; path=/' + '; expires=' + exp.toGMTString();
	}
	showList(arrList);
}
/**
* お気に入りを選択(メールフォーム)
 */
function selectMailFav() {
	var idx       = 0;
	var select    = '';
	var chk_fav = document.getElementsByName('chk_fav');
	
	for(idx=0; idx<chk_fav.length; idx++) {
		if (chk_fav[idx].checked == true) {
			if (select.length > 0) {
				select += " / ";
			}
			select += chk_fav[idx].value
		}
	}
	var mail_fav = document.getElementById('mail_fav');
	if (mail_fav !== null) {
		document.getElementById('mail_fav').value = select;
	}
	var mail_fav_confirm = document.getElementById('mail_fav_confirm');
	if (mail_fav_confirm !== null) {
		if (select.length > 0) {
			document.getElementById('mail_fav_confirm').innerHTML = 'お気に入り:<br />'+select;
		} else {
			document.getElementById('mail_fav_confirm').innerHTML = 'お気に入り:<br />';
		}
	}
}
/**
 * 初期表示
 */
function show() {
	if (!document.getElementById) return
	var arrList = getCookieList();
	showList(arrList);
	selectMailFav(arrList);
}
/**
 * イベント生成
 */
function addEvent(elm, listener, fn){
	try{
		elm.addEventListener(listener, fn, false);
	}catch(e){
		elm.attachEvent('on'+listener, fn);
	}
}
addEvent(window, 'load', function(){show()});

