/**
 * スライダーバーがクリックされたときのイベントハンドラー
 * @author Toshihiro Hiraoka
 */
function _onSliderBarClick() {
        scalenum = this.scalenum;
        this.cheetahMap.kaMap.zoomToScale(aszScales[scalenum]);
        this.cheetahMap.moveSliderTab();
}

/**
 * スライダーがmousedownされたときのイベントハンドラー
 * @author Toshihiro Hiraoka
 */
function _onSliderMousedown() {
        isSliding = true;
        this.src = serverPath + "/images/soko_n.gif";
        _addEvent(this.cheetahMap.kaMap.domObj, "mousemove", _onSliderMousemove);
        _addEvent(this, "mouseover", _onSliderMousemove);
}

/**
 * スライダーでmouseupしたときのイベントハンドラー
 * @author Toshihiro Hiraoka
 */
function _onSliderMouseup() {
        this.src = serverPath + "/images/soko.gif";
        removeEvent(this.cheetahMap.kaMap.domObj, "mousemove", _onSliderMousemove);
        removeEvent(this, "mouseover", _onSliderMousemove);
        this.cheetahMap.kaMap.zoomToScale(aszScales[scalenum]);
}

var sliderBarTop = 45;
var sliderPointHeight = 25;
var sliderHeight = 12;
var sliderAdjY = 3;

/**
 * スライダー上でmousemoveしたときのイベントハンドラー
 * @author Toshihiro Hiraoka
 * @param e マウスイベント引数
 */
var scalenum = 0;
function _onSliderMousemove(e) {
        var y, ydiv, _scalenum;
        e = (e)?e:((event)?event:null);
        if ( ! isSliding )
                return false;
        y = this.cheetahMap.adjustPixPositionY(e.clientY);
        //ydiv =  y - sliderBarTop - sliderPointHeight / 2;
        ydiv =  y - sliderPointHeight / 2;
        _scalenum = Math.round((ydiv - sliderBarTop) / 14);
        if ( _scalenum >= 0 && _scalenum < this.cheetahMap.kaMap.getCurrentMap().aScales.length) {
                scalenum = _scalenum;
                this.cheetahMap.moveSliderTab();
        }
        return false;
}

/**
 * "X"をクリックしてポップアップを閉じる
 * @author Toshihiro Hiraoka
 */
function _balloonOff() {
	this.cheetahMap.kaMap.removeObject(this.cheetahMap.currentBalloon);
	//var kamap = this.cheetahMap.kaMap;
	//var balloonObj = this.cheetahMap.currentBalloon;
	//kamap.removeObject(balloonObj);
}

/**
 * アイコンからのバルーンイベントハンドラー
 * @author Toshihiro Hiraoka
 */
function _showBalloon(e) {
	e = (e)?e:((event)?event:null);
    	var x = e.pageX || (e.clientX +
	    (document.documentElement.scrollLeft || document.body.scrollLeft));
	var y = e.pageY || (e.clientY +
	    (document.documentElement.scrollTop || document.body.scrollTop));
	//var x = e.pageX;
	//var y = e.pageY
	currentMap = this.cheetahMap.kaMap;
	this.cheetahMap.balloon(this.lon, this.lat, this.htmlstr, x, y, this.popupWidth, this.popupHeight);
}


/**
 * 地図をズームインさせるイベントハンドラー<br>
 * ズームアイコンから呼び出される
 * @author Toshihiro Hiraoka
 */
function _zoomIn() {
	// "this" means img object
	this.kaMap._zoomIn();
}

/**
 * 地図をズームアウトさせるイベントハンドラー<br>
 * ズームアイコンから呼び出される
 * @author Toshihiro Hiraoka
 */
function _zoomOut() {
	// "this" means img object
	this.kaMap._zoomOut();
}

/**
 * 範囲を選んでズームモードにするイベントハンドラー<br>
 * アイコンから呼び出される
 * @author Toshihiro Hiraoka
 */
function _zoomRect() {
	// "this" means img object
	this._zoomRect.activate();
}

/**
 * 移動モードにするイベントハンドラー<br>
 * アイコンから呼び出される
 * @author Toshihiro Hiraoka
 */
function _dragMove(obj) {
	// "this" means img object
	this.navi.activate();
}

/**
 * スケール変更後のイベントハンドラー
 * @author Toshihiro Hiraoka
 */
function _onScaleChanged() {
}

var isHistoryMove = false;
/**
 * 表示範囲変更後のイベントハンドラー
 * @author Toshihiro Hiraoka
 */
function _onExtentChanged(eid, extents) {
	var centerX = (extents[2] + extents[0]) / 2;
	var centerY = (extents[3] + extents[1]) / 2;
	var currentScale = currentMap.getCurrentScale();
	if ( currentMap.hasKeymap )
		currentMap.keyMap.zoomTo(centerX, centerY);
	if ( ! isHistoryMove ) {
		var point = new point(centerX, centerY, currentScale); 
		currentMap.pointHistory.push(point);
	}
}

/**
 * 一つ前の場所に戻る処理
 * @author Toshihiro Hiraoka
 */
function _backToHistory() {
	// the latest point is current.
	var history = this.kaMap.pointHistory;
	if ( history.length > 2) {
		history.pop();
		history.pop();
		var point = history.pop();
		isHistoryMove = true;
		this.kaMap.zoomTo(point.x, point.y, point.scale);
	}
	isHistoryMove = false;
}

