/*******************関数定義**********************/
// イベント追加関数
function cat_addEvent( element, eventName, func )
{
	// 実行フラグを設定
	if( ! ( "event_complete_flags" in element ) )
	{
		element.event_complete_flags = new Array();
	}
	element.event_complete_flags.push( false );
	var exec_order = element.event_complete_flags.length - 1;
	
	
	// 各リスナのクッションとなる関数
	function tryEvent( element, func, num )
	{
		// num番目を実行するタイミングが来たか？
		var exec_flag = true;
		for( var i = 0; ( i < num )&&( exec_flag ); i ++ )
		{
			// 自分より前に未実行のものがあったらfalse
			exec_flag = exec_flag 
				&& element.event_complete_flags[ i ];
		}

		if( exec_flag )
		{
			// 実行
			func();

			// 実行済み記録
			element.event_complete_flags[ num ] = true;
		}
		else
		{
			// 保留
			with( this ){
				// 200ミリ秒後に再度確認
				setTimeout(
					function(){ tryEvent( element, func, num ) },
					200 
				);
			}
		}
	}
	
	
	// イベントをセット
	with({
		element	: element,
		func	   : func,
		exec_order : exec_order,
		tryEvent   : tryEvent
	})
	{
		// DOM準拠ブラウザ用
		if ( element.addEventListener )
		{
			element.addEventListener(
				eventName, 
				function(){
					tryEvent( element, func, exec_order );
				}, 
				false 
			);
		}
		// DOM非準拠ブラウザ用
		else if ( element.attachEvent )
		{
			element.attachEvent( 
				"on" + eventName, 
				function(){
					tryEvent( element, func, exec_order );
				}
			);
		}
	}
}

// かおりちゃんをトラッキング
function kaori_tracker(){
	//alert("割り込みテスト debug:start");
	pageTracker._trackPageview('/chat/bannerClick.html');
    //alert("割り込みテスト debug:end");
}


/*******************main*********************/
// かおりちゃんをGET
var chat_link = document.getElementById("live800iconlink");
// かおりちゃんがいない場合を考慮
if(chat_link){
	// onclickチャット表示関数の取得
	var tmp = chat_link.onclick;
	// 一度onclickを削除
	chat_link.onclick = function(){};
	// 関数を順番に再設定
    // かおりちゃんトラッキング
	cat_addEvent(chat_link,"click",kaori_tracker);
	// テンポラリに逃がしたチャット表示関数
	cat_addEvent(chat_link,"click",tmp);
}
