
InitBookMark = function(nowBookmark) {
	//alert(nowBookmark);
	var obj = eval("(" + nowBookmark + ")");
	for (var i in obj) {
		for(var j = 0; j< obj[i].length; j++) {
			var o = obj[i][j];
			addItem(o.shop_id, o.shop_name);
		}
	}
	objBookmarkShopDraw();
}

//ブックマーク
var objBookmarkShop = new Object();
var objBookmarkShopCheckList = new Object();

//ブックマーク追加・削除
bookmarkAdd = function(id) {
	if(objBookmarkShopCheckList[id] == undefined) {
		//ADD
		connectServer(id, 'add');
	}
/*	else{
		//Delete
		connectServer(id, 'del');
	}*/
}

//ブックマーク追加
addItem = function(id, text) {
	if(objBookmarkShopCheckList[id] == undefined) {
		gCounter++;
		objBookmarkShop[gCounter] = id + "," +  text;
		
		objBookmarkShopCheckList[id] = new Object();
		objBookmarkShopCheckList[id].counter = gCounter;
		objBookmarkShopCheckList[id].check = 0;		//defaultでチェック無にする
	}
}

//チェックON/OFF
checkToggle = function(id) {
	objBookmarkShopCheckList[id].check = !objBookmarkShopCheckList[id].check;
}

//ブックマーク描画
objBookmarkShopDraw = function() {
	gTargetMessage.innerHTML = "";

	for (var i in objBookmarkShop) {
		var arr = objBookmarkShop[i].split(",");
		if(arr.length == 2) {
			var checked = (objBookmarkShopCheckList[arr[0]].check) ? 'checked="checked"': '';

			gTargetMessage.innerHTML += '<li><input type="checkbox" onclick="checkToggle(' + arr[0] + ')"' + checked + '/><a href="../search/detail.php?id=' + arr[0] + '">' + arr[1].replace('+', ' ') + '</a></li>';

		}
	}
	
	if(gTargetMessage.innerHTML == "") {
		//gTarget.style.display = "none";
	}else {
		gTarget.style.display = "inline";	
	}

}

//Ajax
var myGlobalHandlers = {
	onCreate: function(){
		//$('BookMark1_result').innerHTML += "s ";
	},

	onComplete: function() {
		if(Ajax.activeRequestCount == 0){
			//$('BookMark1_result').innerHTML += " e<br />";
		}
	}
};

//Ajax
Ajax.Responders.register(myGlobalHandlers);

//サーバー接続
connectServer = function(id, mode) {
	gConnectCounter++;
	sec = (new Date()).getTime();

	var url = '../add_favorite.php?t=' + sec;
	var pars = 'id=' + id + '&mode=' + mode;
		
	var myAjax = new Ajax.Request
	(
		url, 
		{
			method: 'get', 
			parameters: pars,
			onComplete: showResponse,
			onFailure: reportError,
			evalScripts: true
		}
	);
}

//データレスポンス
showResponse = function(originalRequest) {
	var responseText = decodeURIComponent(originalRequest.responseText);

	//alert(responseText);

	if(responseText != "") {
		if(responseText.indexOf("nowBookmark") != -1) {
			InitBookMark(responseText.replace("nowBookmark", ""));
		}else {
			var obj = eval("(" + responseText + ")");
			
			if(obj.result == "ok") {
				var imageName = "";
				if(obj.mode == "add") {
					addItem(obj.shop_id, obj.Shop_name);
					//imgToggle(obj.shop_id, "2");
				}else if(obj.mode == "del") {
					delete objBookmarkShop[objBookmarkShopCheckList[obj.shop_id].counter];
					delete objBookmarkShopCheckList[obj.shop_id];
					//imgToggle(obj.shop_id, "");
				}else if(obj.mode == "matometeDel") {
					var arr = obj.shop_id.split(",");
					for(var i = 0; i < arr.length; i++) {
						var id = arr[i];
						delete objBookmarkShop[objBookmarkShopCheckList[id].counter];
						delete objBookmarkShopCheckList[id];
						//imgToggle(id, "");
					}
				}
				objBookmarkShopDraw();
			}
		}
	}
	gConnectCounter--;
	
	//$('BookMark1_result').innerHTML += " Response+ " + gConnectCounter + " result:" + responseText;
}

reportError = function(request) {
	//エラー補足
	alert('an error.');
}

//まとめて応募
matometeOubo = function()
{
	var ids = "";
	
	for (var i in objBookmarkShopCheckList) {
		if(objBookmarkShopCheckList[i].check) {
			ids += (ids != "") ? ",": "";
			ids += i;
		}
	}
	
	if(ids != "") {
		location.href = '../search/oubo_all.php?ids=' + ids;
	}else {
		alert("応募する店舗をチェックしてください");
	}
}

//まとめて削除
checkShopDelete = function() {
	var ids = "";
	
	for (var i in objBookmarkShopCheckList) {
		if(objBookmarkShopCheckList[i].check) {
			ids += (ids != "") ? ",": "";
			ids += i;
		}
	}

	if(ids != "") {
		if (confirm('削除します。よろしいですか？') == true)
			connectServer(ids, 'matometeDel');
	}else {
		alert("削除する店舗をチェックしてください");
	}
}


