/* t.js $Date: 2007/08/27 07:26:52 $ */
var _t_benchmark = 0;
var _t_host = 'http://accesslog.ookigawa.com';
var _t_initImgUrl  = _t_host + '/i.gif';
var _t_clickImgUrl = _t_host + '/c.gif';
var _t_memberId; // 仮登録のときに使用

var _t_init = function() {
	if (_t_benchmark) var t1 = (new Date()).getTime(); 
	var elems = new Array();
	if (document.getElementsByTagName) {
		elems = document.getElementsByTagName('a');
	}
	if (_t_benchmark) var t2 = (new Date()).getTime(); 

	var elemCount = elems.length; 
	for (var i = 0; i < elemCount; i++) {
//		if (!elems[i].target) {
//			elems[i].target="_blank";
//		}
		var originalHandler;
		if (elems[i].onclick) {
			originalHandler = elems[i].onclick;
		}
		_t_addEventHandler(elems[i], 'click', _t_onClickHandler); // click時に_t_onClickHandlerを呼び出し
	}

	var img = new Image(1, 1);
	img.src = _t_initImgUrl 
		+ '?referer=' + _t_encode(document.referrer) 
		+ ((_t_memberId) ? '&memberId='+_t_encode(_t_memberId) : '') // memberIdがnot nullのときだけ
		+ "&ts=" + (new Date()).getTime();
	img.onload = function() {return;}

	if (_t_benchmark) var t3 = (new Date()).getTime();
	if (_t_benchmark) alert("elapsed 1 to 2: " +(t2-t1)+" length: "+elemCount+" elapsed 2 to 3: "+(t3-t2));
};

// イベントハンドラを追加します
var _t_addEventHandler = function(elem, type, handler) {
	if (elem.addEventListener) {
		// Firefox, Opera, Safari and W3C DOM Events compatible browsers
		elem.addEventListener(type, handler, false);
	} else if (elem.attachEvent) {
		// IE 5,6,7
		elem.attachEvent("on"+type, handler);
	}
};

// クリック時のイベントハンドラ
var _t_onClickHandler = function(e) {
	var target = _t_getTarget(e);
	if (target && target.tagName.toLowerCase() != 'a') {
		var parent = target.parentNode;
		target = null;
		while (parent != null) {
			if (parent.tagName.toLowerCase() == 'a') {
				target = parent;
				break;
			}
			parent = parent.parentNode;
		}
	}
	var d = document; var l = location;
	var cUrl = _t_encode("http://" + l.hostname + l.pathname + l.search); 
	var nUrl = _t_encode(target.href); 
	var img = new Image(1, 1);
	img.src = _t_clickImgUrl + "?cur=" + cUrl 
		+ "&referer=" + _t_encode(d.referrer) 
		+ "&next=" + nUrl 
		+ "&ts=" + (new Date()).getTime();
	img.onload = function() {return;}
};

// イベントeの発生源のelementを返します。
var _t_getTarget = function(e) {
	if (window.event) {
		return window.event.srcElement;
	} else {
		return e.target;
	}
};

// strをURLエンコードして返します
var _t_encode = function(str) {
	if (encodeURIComponent) {
		return encodeURIComponent(str);
	} else {
		return encode(str);
	}
};


