﻿// JScript 檔

//-- 取得系統標點資訊
function getAndShowCmsPoi(lngDiRid) {
	ShowMapProcTest("取得定位資料中, 請稍候....");
	
	var strParams = "smode=s1&if01=" + lngDiRid + "&if02=300";
	new net.ContentLoader("MJ_GetCmsPoi.asp", parseCmsPoi, null, "POST", strParams);
}
//-- 解析取得的系統標點資訊
function parseCmsPoi() {
    ShowMapProcTest("");
	
	var xmlDoc = this.req.responseXML;
	var elPoi = xmlDoc.getElementsByTagName("poi")[0]; //-- 取得poi節點
	var atsPoi = elPoi.attributes;
	var dblX = atsPoi.getNamedItem("x").value;
	var dblY = atsPoi.getNamedItem("y").value;
	var dblLeft = atsPoi.getNamedItem("left").value;
	var dblTop = atsPoi.getNamedItem("top").value;
	var dblRight = atsPoi.getNamedItem("right").value;
	var dblBottom = atsPoi.getNamedItem("bottom").value;
	var strIconAlt = atsPoi.getNamedItem("alt").value;
	var strSymbolId = atsPoi.getNamedItem("id").value;
	var strIconName = atsPoi.getNamedItem("icon").value;
	var intIconWidth = atsPoi.getNamedItem("iconw").value;
	var intIconHeight = atsPoi.getNamedItem("iconh").value;
	
	strSymbolXml = "<objectxml><object id=\"" + strSymbolId + "\" x=\"" + dblX + "\" y=\"" + dblY + "\" alt=\"" + strIconAlt + "\">";
	strSymbolXml = strSymbolXml + "<icon path=\"" + strIconName + "\" w=\"" + intIconWidth + "\" h=\"" + intIconHeight + "\" align=\"center\" valign=\"middle\" />";
	strSymbolXml = strSymbolXml + "</object></objectxml>";
	
	ShowMapAndInsertObject(dblX, dblY, dblLeft, dblTop, dblRight, dblBottom, strSymbolXml);
}

//-- 取得指定的圖資標點資訊
function getAndShowLayerObject(strLayerName, strObjectId, lngRadius) {
	ShowMapProcTest("取得地標資料中, 請稍候....");
	
	var strParams = "smode=s1&if01=" + strLayerName + "&if02=" + strObjectId + "&if03=" + lngRadius;
	new net.ContentLoader("MJ_GetLayerObject.asp", parsePoiLocation, null, "POST", strParams);
}
//-- 解析取得的圖資標點資訊
function parsePoiLocation() {
	ShowMapProcTest("");
	
	var xmlDoc = this.req.responseXML;
	var elPoi = xmlDoc.getElementsByTagName("poi")[0]; //-- 取得poi節點
	var atsPoi = elPoi.attributes;
	var dblLeft = atsPoi.getNamedItem("left").value;
	var dblTop = atsPoi.getNamedItem("top").value;
	var dblRight = atsPoi.getNamedItem("right").value;
	var dblBottom = atsPoi.getNamedItem("bottom").value;
	
	var dblX = atsPoi.getNamedItem("x").value;
	var dblY = atsPoi.getNamedItem("y").value;
	var strIconAlt = atsPoi.getNamedItem("alt").value;
	
	var strSymbolName = getInputObjectValue("poi_symbol");
	
	var strSymbolXml = "<objectxml><object id=\"001\" x=\"" + dblX + "\" y=\"" + dblY + "\" alt=\"" + strIconAlt + "\">";
	strSymbolXml = strSymbolXml + "<icon path=\"" + strSymbolName + "\" w=\"24\" h=\"27\" align=\"right\" valign=\"bottom\" />";
	strSymbolXml = strSymbolXml + "</object></objectxml>";
	
	ShowMapAndInsertObject(dblX, dblY, dblLeft, dblTop, dblRight, dblBottom, strSymbolXml);
}

//-- 取得縣市, 鄉鎮市區, 道路或是交叉路口的定位資訊
function getAndShowLocation(strCounty, strTown, strRoad, strCrossRoad) {
    var strParams = "";
	ShowMapProcTest("取得定位資料中, 請稍候....");
	
	if (strCrossRoad) {
	    if (strCrossRoad != "") {
	        strParams = "smode=s2&if01=" + strCounty + "&if02=" + strTown + "&if03=" + strRoad + "&if04=" + strCrossRoad;
	    }
	} else {
	    strParams = "smode=s1&if01=" + strCounty + "&if02=" + strTown + "&if03=" + strRoad + "&if04=400";
	}
	new net.ContentLoader("MJ_GetLocation.asp", parseLocation, null, "POST", strParams);
}
//-- 解析取得的縣市, 鄉鎮市區, 道路或是交叉路口的定位資訊
function parseLocation() {
	ShowMapProcTest("");
	
	var xmlDoc = this.req.responseXML;
	var elPoi = xmlDoc.getElementsByTagName("poi")[0]; //-- 取得poi節點
	var atsPoi = elPoi.attributes;
	var dblLeft = atsPoi.getNamedItem("left").value;
	var dblTop = atsPoi.getNamedItem("top").value;
	var dblRight = atsPoi.getNamedItem("right").value;
	var dblBottom = atsPoi.getNamedItem("bottom").value;
	
	var strIconAlt = ""
	try {
		var elHead = xmlDoc.getElementsByTagName("head")[0]; //-- 取得poi節點
		var atsHead = elHead.attributes;
		var strSMode = atsHead.getNamedItem("smode").value;
		var strIF01 = atsHead.getNamedItem("if01").value;
		var strIF02 = atsHead.getNamedItem("if02").value;
		var strIF03 = atsHead.getNamedItem("if03").value;
		var strIF04 = atsHead.getNamedItem("if04").value;
		var strIF05 = atsHead.getNamedItem("if05").value;
		var strIF06 = atsHead.getNamedItem("if06").value;
		var strSymbolXml = "";
		strIconAlt = strIF01+strIF02+strIF03;
	} catch(e) {
		strIconAlt = "";
		alert(e.description);
	}
	
	if (isNaN(dblLeft) == false && isNaN(dblTop) == false && isNaN(dblRight) == false && isNaN(dblBottom) == false) {
		dblLeft = Number(dblLeft);
		dblTop = Number(dblTop);
		dblRight = Number(dblRight);
		dblBottom = Number(dblBottom);
		if (dblLeft != 0 || dblTop != 0 || dblRight != 0 || dblBottom != 0) {
			var dblX = dblLeft + ((dblRight-dblLeft)/2);
			var dblY = dblBottom + ((dblTop-dblBottom)/2);
			var objIcon = document.getElementById("map_click_symbol");
			var strIconPath="";
			if (objIcon) strIconPath = objIcon.value;
			strSymbolXml = "<objectxml><object id=\"slocation\" x=\"" + dblX + "\" y=\"" + dblY + "\" alt=\"" + strIconAlt + "\">";
			strSymbolXml = strSymbolXml + "<icon path=\"" + strIconPath + "\" w=\"24\" h=\"27\" align=\"right\" valign=\"bottom\" />";
			strSymbolXml = strSymbolXml + "</object></objectxml>";
	        
	        ShowMapAndInsertObject(dblX, dblY, dblLeft, dblTop, dblRight, dblBottom, strSymbolXml);
	        
	        //if (strIF03 == "") changeLoadMapFirstValue("1");
		} else {
			alert("找不到此道路的定位資料!");
		}
	} else {
		alert("找不到此道路的定位資料!");
	}
}

//-- 取得個人標點資訊
function getAndShowMyPoi(lngPoiId) {
    ShowMapProcTest("取得標點資料中, 請稍候....");
	
	var strParams = "smode=s1&if01=" + lngPoiId + "&if02=400";
	new net.ContentLoader("MJ_GetMyPois.asp", parseMyPoi, null, "POST", strParams);
}
//-- 解析取得的個人標點資訊
function parseMyPoi() {
	ShowMapProcTest("");
	
	var xmlDoc = this.req.responseXML;
	var elPoi = xmlDoc.getElementsByTagName("poi")[0]; //-- 取得poi節點
	var atsPoi = elPoi.attributes;
	var dblX = atsPoi.getNamedItem("x").value;
	var dblY = atsPoi.getNamedItem("y").value;
	var dblLeft = atsPoi.getNamedItem("left").value;
	var dblTop = atsPoi.getNamedItem("top").value;
	var dblRight = atsPoi.getNamedItem("right").value;
	var dblBottom = atsPoi.getNamedItem("bottom").value;
	var strIconAlt = atsPoi.getNamedItem("alt").value;
	var strSymbolId = atsPoi.getNamedItem("id").value;
	var strIconName = atsPoi.getNamedItem("icon").value;
	var intIconWidth = atsPoi.getNamedItem("iconw").value;
	var intIconHeight = atsPoi.getNamedItem("iconh").value;
	var intShiftX = atsPoi.getNamedItem("sx").value;
	var intShiftY = atsPoi.getNamedItem("sy").value;
	
	strSymbolXml = "<objectxml><object id=\"" + strSymbolId + "\" x=\"" + dblX + "\" y=\"" + dblY + "\" alt=\"" + strIconAlt + "\">";
	strSymbolXml = strSymbolXml + "<icon path=\"" + strIconName + "\" w=\"" + intIconWidth + "\" h=\"" + intIconHeight + "\" sx=\"" + intShiftX + "\" sy=\"" + intShiftY + "\" />";
	strSymbolXml = strSymbolXml + "</object></objectxml>";
	
	ShowMapAndInsertObject(dblX, dblY, dblLeft, dblTop, dblRight, dblBottom, strSymbolXml);
}

//-- 取得道路資訊
function getAndShowRoad(strRoadId) {
    ShowMapProcTest("取得定位資料中, 請稍候....");
	
	var strParams = "rid=" + strRoadId;
	new net.ContentLoader("MJ_GetRoadPositionById.asp", parseRoadPosition, null, "POST", strParams);
}
//-- 解析取得的道路資訊
function parseRoadPosition() {
    ShowMapProcTest("");
	
	var xmlDoc = this.req.responseXML;
	var elPoi = xmlDoc.getElementsByTagName("poi")[0]; //-- 取得poi節點
	var atsPoi = elPoi.attributes;
	var dblX = atsPoi.getNamedItem("x").value;
	var dblY = atsPoi.getNamedItem("y").value;
	var strRoadName = atsPoi.getNamedItem("roadname").value;
	
	var strIconAlt = strRoadName;
	
	if (dblX != "" && dblY != "") {
        ShowMapByPos(dblX, dblY, 400, strIconAlt);
	} else {
		alert("無法取得道路資料!");
	}
}
