//───────────────────────────────────────────
//	detailmap.aspx用JS
//───────────────────────────────────────────

var singleMap = null;
var scaleLevel;

var singleMap_operateoptions = {
	scaleOperateMethod: "slider",
	scaleOperateVisible: true,
	rotateOperateVisible: true,
	moveOperate: true,
	scaleOperate: true,
	rotateOperate: true,
	mouseWheelMode: "focus" // always or focus or null
};

function init(){
	DBH_mapWid = parseInt(DBH_mapWid);
	
	if ("undefined" != typeof DBH_minScaleLevelLimit && DBH_minScaleLevelLimit) singleMap_operateoptions.minScaleLevelLimit = Math.floor(parseInt(DBH_minScaleLevelLimit) * (250 / DBH_mapWid));
	if ("undefined" != typeof DBH_maxScaleLevelLimit && DBH_maxScaleLevelLimit) singleMap_operateoptions.maxScaleLevelLimit = Math.floor(parseInt(DBH_maxScaleLevelLimit) * (250 / DBH_mapWid));
	if ("undefined" != typeof DBH_scaleOperateMethod) singleMap_operateoptions.scaleOperateMethod = DBH_scaleOperateMethod;
	if ("undefined" != typeof DBH_scaleOperateVisible) singleMap_operateoptions.scaleOperateVisible = DBH_scaleOperateVisible;
	if ("undefined" != typeof DBH_rotateOperateVisible) singleMap_operateoptions.rotateOperateVisible = DBH_rotateOperateVisible;
	if ("undefined" != typeof DBH_moveOperate) singleMap_operateoptions.moveOperate = DBH_moveOperate;
	if ("undefined" != typeof DBH_scaleOperate) singleMap_operateoptions.scaleOperate = DBH_scaleOperate;
	if ("undefined" != typeof DBH_rotateOperate) singleMap_operateoptions.rotateOperate = DBH_rotateOperate;
	if ("undefined" != typeof DBH_mouseWheelMode) singleMap_operateoptions.mouseWheelMode = DBH_mouseWheelMode;
	if ("undefined" != typeof DBH_centerMarkVisible) singleMap_operateoptions.centerMarkVisible = DBH_centerMarkVisible;
	
	// 地図横幅に対するmをスケールレベルに変換
	scaleLevel = Math.floor(parseInt(DBH_scl) * (250 / DBH_mapWid));
	// 地図インスタンス作成
	singleMap = new Mapple.SingleMap("ajaxMap_Detailmap", DBH_mapWid, DBH_mapHei, x, y, scaleLevel, Object.extend({k1: DBH_mapK1, k2: DBH_mapK2, url: DBH_serverMap, parameters: "d=PC&tab=" + DBH_mapTab + "&lfg=" + DBH_mapLFG, left: 0, top: 0, rotate: rot, beforeAreaAction: beforeAreaAction, areaEventAction: areaEventAction}, singleMap_operateoptions));
	
	var iconLayer = singleMap.createOverlayIcons({disabled: true});
	iconLayer.append("bukken", detailbukkenary[0], detailbukkenary[1], {name: name, normalSrc: detailbukkenary[2], zIndex: 3});
	if ( 0 < shisetsuary.length ) {
		iconLayer.append("goal", shisetsuary[0], shisetsuary[1], {name: name, normalSrc: shisetsuary[2], zIndex: 2});
		if(6 <= shisetsuary.length && (shisetsuary[0] != shisetsuary[3] || shisetsuary[1] != shisetsuary[4])) iconLayer.append("routegate", shisetsuary[3], shisetsuary[4], {name: name, normalSrc: shisetsuary[5], zIndex: 1});
	}
	
	areaEventAction();
};

function beforeAreaAction() {
	if ("undefined" != typeof CustomBeforeAreaAction) CustomBeforeAreaAction();
};

function areaEventAction() {
	var location = singleMap.getCenterLocation();
	document.paramform.x.value = location.x;
	document.paramform.y.value = location.y;
	document.paramform.scl.value = Math.floor(singleMap.getScaleLevel() * (DBH_mapWid / 250));
	document.paramform.rot.value = singleMap.getRotateAngle();
	
	if ("undefined" != typeof CustomAreaEventAction) CustomAreaEventAction();
};

function MoveMapInitPos() {
    singleMap.moveMap(x, y, scaleLevel);
};

//周辺の物件を探す
function AroundBukken(){
	document.paramform.action = "listmap.aspx";
//	document.paramform.x.value = document.paramform.bx.value;
//	document.paramform.y.value = document.paramform.by.value;
	if(1 <= arguments.length) document.paramform.scl.value = arguments[0];
	document.paramform.submit();
};

//決定
function DecisionBukken(){
	if( document.decisionform ) {
		document.decisionform.submit();
	} else {
		alert("URIが登録されていません。");
	}
};

//キャンセル
function CancelBukken(){
	if( document.cancelform ) {
		document.cancelform.submit();
	} else {
		alert("URIが登録されていません。");
	}
};

//周辺交通施設を探す
function SearchAround(gen){
	document.paramform.action = "searcharound.aspx";
	document.paramform.gen.value = gen;
	document.paramform.submit();
};

//初期位置に戻る
function BackFirstPoint(){
	document.paramform.action = "detailmap.aspx";
	document.paramform.from.value = "listmap";
	document.paramform.submit();
};

//印刷ページ
function PrintPage(tg){
	
	if( (null == tg)||("" == tg) ) {
		//引数がない場合
		document.paramform.target = "_self";
	} else {
		//引数がある場合
		var buf_tg = document.paramform.target;
		document.paramform.target = tg;
	}
	
	document.paramform.action = "print.aspx";
	document.paramform.submit();
	
	document.paramform.target = buf_tg; //ターゲットを元に戻す
};

//印刷ページ
function PrintPage_Mini(tg){

	var buf_tg = document.paramform.target;
	
	if((null == tg)||("" == tg)){
		//ターゲット指定がない場合
		document.paramform.target = "_blank";
	}else{
		document.paramform.target = tg;
	}
	
	document.paramform.action = "print.aspx";
	document.paramform.submit();
	
	document.paramform.target = buf_tg; //ターゲットを元に戻す
}

//ドアドア検索ボタンをクリックする
function ToDoordoorList(){

	if(document.getElementById("fromNameInput").value == "" || 
		document.getElementById("fromNameInput").value == null)
	{
		alert("駅あるいは住所を入力してください。");
	}
	else
	{
		//ラジオボタンのチェックを入れている値を渡す
		var obj_radio = document.getElementsByName("fromSelInput");  
			
		for(i=0;i<obj_radio.length;i++) {  
			if (obj_radio[i].checked) {
				document.getElementById("fromSel").value = obj_radio[i].value;
			}
		}
		
		document.getElementById("fromName").value = document.getElementById("fromNameInput").value;
		document.getElementById("toName").value = document.getElementById("toAddress").innerHTML;
		
		document.paramform.action = "doordoorlist.aspx";
		document.paramform.submit();
	}
}


//ドアドア検索フォームでENTERキー押下時処理
function KeydownEnterToDoordoorList( evt ){
	if (!evt) evt = event;
	if (evt && 13 == evt.keyCode) ToDoordoorList();
}

//ドアドア検索フォームでENTERキー押下時処理 
//（※旧バージョン：Firefox未対応）
function KeydownEnterTodoordoorList(){
	if ( document.all ){
		if( 13 == event.keyCode){
			ToDoordoorList();
		}
	}
}


//ページリロード
function PageReload(){
	document.paramform.action = "detailmap.aspx";
	document.paramform.submit();
};

//ルートマップ印刷
function RoutemapPage(tg){
	document.paramform.action = "printroute.aspx";
	if( (null == tg)||("" == tg) ) {
		document.paramform.submit();
	} else {
		var tmp = document.paramform.target;
		document.paramform.target = tg;
		document.paramform.submit();
		document.paramform.target = tmp;
	}
};

//ルートマップ印刷ボタン
function SetRoutemapButton(imgbutton){
	if( 0 < shisetsuary.length ) {
		if( document.imgroutemap ) {
			document.imgroutemap.src = imgbutton;
		}
	}
};

//ルートマップ印刷ボタン（サイズ指定あり）
function SetRoutemapButton2(imgbutton, w, h){
	if( 0 < shisetsuary.length ) {
		if( document.imgroutemap ) {
			document.imgroutemap.src = imgbutton;
			document.imgroutemap.width = w;
			document.imgroutemap.height = h;
		}
	}
};

//ルートマップ印刷テキスト
function SetRoutemapText(text){
	if( 0 < shisetsuary.length ){
		var div = $('textroutemap');
		if( div ) div.innerHTML = text;
	}
};

//ルートマップ印刷ボタン（ルート印刷ボタンのクラス名を変更）
	function SetRoutemapButtonClass( id, cls ){
		if( 0 < shisetsuary.length ) { //ルートセット時
			document.getElementById(id).className = cls;
		}
	}

//周辺交通施設タブ切り替え
function ChangeShisetsuTab(active,passive){
	var div_ac = $(active);
	if( div_ac ) div_ac.style.visibility = "";
	var div_pa = $(passive);
	if( div_pa ) div_pa.style.visibility = "hidden";
};

//周辺交通施設選択
function SelectShisetsu(gen, id){
	document.paramform.action = "detailmap.aspx";
	document.paramform.scl.value = "";
	document.paramform.aro.value = gen + "," + id;
	document.paramform.submit();
};

