//---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//	AJAX Framework / Event
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//	cheltenham software
//	http://cheltenham-software.com/
//	無断配布や二次利用を禁止します。
//---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
// イベントリスナー追加
function cheltenhamEvent_addListener( elementTarget, eventType, functionTarget, cap )
{
	if( elementTarget.addEventListener )
	{
		elementTarget.addEventListener( eventType, functionTarget, cap );
	}
	else if( elementTarget.attachEvent )
	{
		elementTarget.attachEvent( 'on' + eventType, functionTarget );
	}
	else
	{
		alert( 'お使いのブラウザーはイベントリスナーに対応していません。' );
		return( false );
	}
}
// イベントリスナー解除
function cheltenhamEvent_removeListener( elementTarget, eventType, functionTarget, cap )
{
	if( elementTarget.removeEventListener )
	{
		elementTarget.removeEventListener( eventType, functionTarget, cap );
	}
	else if( elementTarget.detachEvent )
	{
		elementTarget.detachEvent( 'on' + eventType, functionTarget );
	}
}

// ホイールマウスイベントリスナーを追加
function cheltenhamEvent_addMouseWheelListener( elementTarget, functionTarget, cap )
{
	if( elementTarget.addEventListener )
	{
		// for FireFox
		elementTarget.addEventListener( 'DOMMouseScroll', functionTarget, cap );
		// for Safari
		elementTarget.addEventListener( 'mousewheel', functionTarget, cap );
	}
	else if( elementTarget.attachEvent )
	{
		// for IE
		elementTarget.attachEvent( 'onmousewheel', functionTarget );
	}
}


// バブリングとデフォルトイベントアクションの停止
function cheltenhamEvent_stopDefaultAndPropagation( e )
{
	if( e.stopPropagation )
	{
		e.stopPropagation();
	}
	if( window.event )
	{
		window.event.cancelBubble = true;
	}
	// デフォルトイベントアクションを停止する
	if( e.preventDefault )
	{
		e.preventDefault();
	}
	if( window.event )
	{
		window.event.returnValue = false;
	}
}

// マウスの座標を取得
function cheltenhamEvent_getMousePosition( objectEvent )
{
	var objectPosition = new Object();
 
	// IE 4-6
	if( document.all )
	{
		objectPosition.x = document.body.scrollLeft || document.documentElement.scrollLeft + event.clientX;
		objectPosition.y = document.body.scrollTop || document.documentElement.scrollTop + event.clientY;
	}
	// Opera 6
	else if( navigator.userAgent.search( "Opera(\ |\/)6") != -1 )
	{
		objectPosition.x = objectEvent.clientX;
		objectPosition.y = objectEvent.clientY;
	}
	// NN, Opera, Safari
	else if( objectEvent )
	{
		objectPosition.x = objectEvent.pageX;
		objectPosition.y = objectEvent.pageY;
	}
	return( objectPosition );
}
