
var DBH_mapload = 0;								// 地図レイヤ切り替え用
var DBH_maploading = false;							// 地図読み込み中フラグ

var DBH_preX, DBH_preY;								// 操作前座標・スケール
var DBH_mapX, DBH_mapY;								// 地図レイヤ左上座標
var DBH_sliderbackX, DBH_sliderbackY;				// スライダ背景レイヤ左上座標
var DBH_preSlidePos;								// 移動前スライダ位置

var DBH_mapmoving		= false;					// 地図移動中フラグ
var DBH_slideInterval	= 30;						// 移動インターバル
var DBH_slidePitch		= 5;						// 移動間隔（フレーム数=100/DBH_slidePitch）
var DBH_slidePercent;								// 移動状況
var DBH_slideX, DBH_slideY;							// 移動量

//
var createLayerNoStart = _createLayerNo;
var createLayerNoEnd = _createLayerNo;
var cmnlayernoary = new Array();

//2007/12追加
var pageWidth = 0;
var orgWinWidth = 0;
var orgMapX = 0;
var orgMapY = 0;
var orgSldX = 0;
var orgSldY = 0;

function init(pgWidth){
	initCrossBrowserLib();
	
	LayoutDivAndReg();
	DBH_mapload = 1;
	
	changeMapxy("", document.paramform.x.value, document.paramform.y.value);
	
	if("undefined" != pgWidth) pageWidth = pgWidth;
	
	getOrgPosition();
}
function LayoutDivAndReg(){
	var div = getDivFromName('mainmap0');
	if( div ){
		initDivPos(div);			// レイアの座標の初期設定
		DBH_mapX = getDivLeft(div);
		DBH_mapY = getDivTop (div);
		div = getDivFromName('mainmap2'); moveDivTo( div, DBH_mapX, DBH_mapY );// setDivVisibility( div, true );
		div = getDivFromName('mainmap1'); moveDivTo( div, DBH_mapX, DBH_mapY ); setDivVisibility( div, true );
		ChangeClickMode( document.paramform.clk.value );
	}
	
	div = getDivFromName('sliderback');
	if( div ){
		initDivPos(div);
		if(0 == dirSlider){
			DBH_sliderbackX = getDivLeft(div) + sliderBallHalf;
			DBH_sliderbackY = getDivTop (div);		
		}
		else{
			DBH_sliderbackX = getDivLeft(div);
			DBH_sliderbackY = getDivTop (div) + sliderBallHalf;				
		}
		
		divSlideLen = divSlideLen - (sliderBallHalf*2);
		
		div = getDivFromName('sliderball');
		if( div ){
			var InitSlidePos = GetSliderPosition( document.paramform.scl.value, divSlideLen );		//スケールからスライダの位置を取得
			if(0 == dirSlider)
				moveDivTo( div, DBH_sliderbackX + InitSlidePos - sliderBallHalf, DBH_sliderbackY );
			else
				moveDivTo( div, DBH_sliderbackX, DBH_sliderbackY + InitSlidePos - sliderBallHalf );
			setDivVisibility( div, true );	
			regSlider( divSlideLen, InitSlidePos, dirSlider );					//スライダ初期位置指定
			slideScale( document.paramform.scl.value );
		}
	}
}

function ChangeClickMode(clk){
	document.paramform.clk.value = clk;
	regDrag(clk);
	//画像の切り替え
	if("1" == clk){			//クリック移動
		if( document.imgmouseclick )	document.imgmouseclick.src	= "../images/tool_clk_ac.gif";
		if( document.imgmousedrag )		document.imgmousedrag.src	= "../images/tool_drg.gif";
		if( document.imgmousezoom )		document.imgmousezoom.src	= "../images/tool_plus.gif";
	}
	else if("2" == clk){	//ドラッグ移動
		if( document.imgmouseclick )	document.imgmouseclick.src	= "../images/tool_clk.gif";
		if( document.imgmousedrag )		document.imgmousedrag.src	= "../images/tool_drg_ac.gif";
		if( document.imgmousezoom )		document.imgmousezoom.src	= "../images/tool_plus.gif";
	}
	else if("3" == clk){	//範囲拡大
		if( document.imgmouseclick )	document.imgmouseclick.src	= "../images/tool_clk.gif";
		if( document.imgmousedrag )		document.imgmousedrag.src	= "../images/tool_drg.gif";
		if( document.imgmousezoom )		document.imgmousezoom.src	= "../images/tool_plus_ac.gif";	
	}
}

//2007/12追加
function setPageWidth(pWidth){
	pageWidth = pWidth;
}
function getWinWidth(){
	if("undefined" != typeof(document.body.clientWidth)){
		return document.body.clientWidth;
	}
	else{
		return window.innerWidth;
	}
}

function getOrgPosition(){
	orgWinWidth = getWinWidth();
	if(pageWidth > orgWinWidth) orgWinWidth = pageWidth;
	var m0 = getDivFromName('mainmap0');
	if(m0){
		orgMapX = getDivLeft(m0);
		orgMapY = getDivTop(m0);
	}
	var sb = getDivFromName('sliderback');
	if(sb){
		orgSldX = getDivLeft(sb);
		orgSldY = getDivTop(sb);
	}
}

function resizePage(){
	var curWidth = getWinWidth();
	var zoom = (curWidth - orgWinWidth) / 2;
	if(pageWidth >= curWidth){
		zoom = (pageWidth - orgWinWidth) / 2;
	}
	var m0 = getDivFromName("mainmap0");
	if(m0){
		DBH_mapX = orgMapX + zoom;
		DBH_mapY = orgMapY;
		moveDivTo(m0, DBH_mapX, DBH_mapY);
		var m2 = getDivFromName('mainmap2'); moveDivTo( m2, DBH_mapX, DBH_mapY );
		var m1 = getDivFromName('mainmap1'); moveDivTo( m1, DBH_mapX, DBH_mapY );
	}
	var sb = getDivFromName('sliderback');
	if(sb){
		var x = orgSldX + zoom;
		var y = orgSldY;
		moveDivTo(sb, x, y);

		if(0 == dirSlider){
			DBH_sliderbackX = x + sliderBallHalf;
			DBH_sliderbackY = y;
		}
		else{
			DBH_sliderbackX = x;
			DBH_sliderbackY = y + sliderBallHalf;
		}

		var div = getDivFromName('sliderball');
		if( div ){
			var InitSlidePos = GetSliderPosition( document.paramform.scl.value, divSlideLen );		//スケールからスライダの位置を取得
			if(0 == dirSlider)
				moveDivTo( div, DBH_sliderbackX + InitSlidePos - sliderBallHalf, DBH_sliderbackY );
			else
				moveDivTo( div, DBH_sliderbackX, DBH_sliderbackY + InitSlidePos - sliderBallHalf );
			regSlider( divSlideLen, InitSlidePos, dirSlider );					//スライダ初期位置指定
			slideScale( document.paramform.scl.value );
		}
	}
}

