$(function(){
	/**
	 * メンテナンス、ニュースのスクロールボタン用JS
	 *
	 * require
	 *   jquery.js
	 *   jquery.jqem.js
	 *   jquery.dimensions.js
	 *   jquery.mousewheel.js
	 *   jquery.jScrollPane.js
	 *   jquery.jScrollPane.css
	 */
	
	/**************************************************
	 * 設定
	 */

	//メンテナンスのスクロールペインのセレクタ
	var _maintenanceScrollPaneSelector = '.maintenance_topics .topics_pane';
	//ニュースのスクロールペインのセレクタ
	var _newsScrollPaneSelector = '.news_topics .topics_pane';
	//メンテナンス無しの場合のニュースのスクロールペインの親セレクタ
	var _newsFullParentSelector = '.full_height';

	//スクロールボタンの幅
	var _buttonWidth = 12;
	//スクロールボタンと内容のマージン
	var _buttonMarginLeft = 10;
	//スクロールボタンの間のマージン
	var _buttonMarginBetween = 5;

	//メンテナンスのスクロールボタンの高さ
	var _maintenanceButtonHeight = 55;
	//ニュースのスクロールボタンの高さ
	var _newsButtonHeight = 67;
	//メンテナンス無し時のニュースのスクロールボタンの高さ
	var _newsFullButtonHeight = 165;
	
	//スクロールの速度
	var _scrollSpeed = 10;

	/**************************************************
	 * エレメント抽出、設定、初期化
	 */

	//ニュース、メンテナンスのスクロールペインのエレメント取得
	var _maintenanceScrollPane = $(_maintenanceScrollPaneSelector);
	var _newsScrollPane = $(_newsScrollPaneSelector);

	//メンテナンス、ニュースのスクロールバーをセット
	//overflow:autoをoverflow:hiddenに変更（幅が狭まるのため）
	//ボタンの高さを設定
	_maintenanceScrollPane
		.css({'overflow': 'hidden'})
		.jScrollPane({
			scrollbarWidth: _buttonWidth,
			scrollbarMargin: _buttonMarginLeft,
			wheelSpeed: _scrollSpeed,
			showArrows: true,
			arrowSize: _maintenanceButtonHeight
		})
	;
	_newsScrollPane
		.css({'overflow': 'hidden'})
		.jScrollPane({
			scrollbarWidth: _buttonWidth,
			scrollbarMargin: _buttonMarginLeft,
			wheelSpeed: _scrollSpeed,
			showArrows: true,
			arrowSize: ($(_newsFullParentSelector + " " + _newsScrollPaneSelector).size() > 0 )? _newsFullButtonHeight : _newsButtonHeight
		})
	;

	//スクロールボタンのclickにreturn falseするようにbindする関数
	//（jScrollPaneにてスクロールボタンクリック時にフォントサイズが変わってしまうの防ぐ）
	var _onScrollArrowClick = function() {
		$.each(
			Array(_newsScrollPane, _maintenanceScrollPane),
			function () {
				$(this)
					.parent()
					.find('a.jScrollArrowDown, a.jScrollArrowUp')
					.bind('click',function(){return false;});
			}
		);
	}

	//最初にスクロールボタンのclickにバインド設定
	_onScrollArrowClick();

	//jqemでのフォントサイズ変更時にもバインド再設定
	$(document).bind(
		'emchange', 
		_onScrollArrowClick
	);

});
