
var gTargetPrefix = "Tracker_";
var gTargetName = gTargetPrefix + "info";
var gTargetMessageName = gTargetPrefix + "message";

var gCounter = 0;
var gIsScroll = false;
var gTarget;
var gTargetMessage;
var gConnectCounter = 0;

//フローティングの止まる縦位置
var gBM_SHP_START_TOP_POS = 0;
//動くスピード※小さいほど高速
var gBM_SHP_SPEED = 10;
//位置をチェックする間隔(/ミリ秒)※なめらかさ
//var SHP_TIMEOUTINTERVAL=1;
var SHP_TIMEOUTINTERVAL=20;

//位置をチェック
bookmark_check_position_floating = function()
{
	try
	{
		//現在の位置
		var floating_top = parseInt(gTarget.style.top, 10);
		// 垂直スクロール量
		var scrollTop  = document.body.scrollTop || document.documentElement.scrollTop;
		var start_pos = scrollTop + gBM_SHP_START_TOP_POS;
		
		if(floating_top != start_pos && gIsScroll == true)
		{
			var Offset = Math.ceil(Math.abs(start_pos - floating_top) / gBM_SHP_SPEED);
			
			if(start_pos < floating_top)
			{
				Offset = - Offset;
			}
			//位置がずれていたら少し移動させる
			gTarget.style.top = parseInt(gTarget.style.top, 10) + Offset + "px";
			floating_top = parseInt(gTarget.style.top, 10);
			
			if(floating_top == start_pos)
			{
				gIsScroll = false;
			}
		}
	}
	catch(e)
	{
	
	}
}

//これが本体
bookmark_dispBAN = function()
{
	bookmark_check_position_floating();		
	//タイマー→位置をチェック
	setInterval("bookmark_check_position_floating()", SHP_TIMEOUTINTERVAL);
}

window.onscroll = function()
{
	gIsScroll = true;
}

window.onload = function()
{
	Init();
	bookmark_dispBAN();
	
	//ウインドウ初期位置調整
	var scrollTop  = document.body.scrollTop || document.documentElement.scrollTop;
	var start_pos = scrollTop + gBM_SHP_START_TOP_POS;
	gTarget.style.top = start_pos;
}

//初期化
Init = function()
{
	gTarget = document.getElementById(gTargetName);
	gTargetMessage = document.getElementById(gTargetMessageName);
	
	connectServer('', 'nowBookmark');		
}


//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++;
	
	var url = '/search/add_favorite_ajax.aspx';
	var pars = 'shop_id=' + id + '&mode=' + mode;
		
	var myAjax = new Ajax.Request
	(
		url, 
		{
			method: 'get', 
			parameters: pars,
			onComplete: showResponse,
			onFailure: reportError,
			evalScripts: true
		}
	);

	//$('BookMark1_result').innerHTML = "connect+ " + gConnectCounter;
}

//データレスポンス
showResponse = function(originalRequest)
{
	var responseText = decodeURIComponent(originalRequest.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, obj.Shop_url_name, obj.Chihou_id, obj.type);
					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.');
}


/*trucker 閉じる*/
function truckerclose(){
document.getElementById('Tracker_info').style.visibility='hidden';
writeCookie("lgcp", true);
}
