﻿// JScript 檔
var IntervalID = null;

function loadFlash(strSUrl, strIniXml, lngMapWidth, lngMapHeight, strTargetDivId) {
    /*var objDiv = document.getElementById(strTargetDivId);
    if (objDiv) {
        objDiv.style.width = lngMapWidth;
        objDiv.style.height = lngMapHeight;
    }
    objDiv = null*/
    
    //var strSwfSrc = "/MCenterIMap/iMap.txt?surl="+strSUrl+"&ixml="+strIniXml+"&mwidth="+lngMapWidth+"&mheight="+lngMapHeight;
    var strSwfSrc = strSUrl+"iMap.txt?surl="+strSUrl+"&ixml="+strIniXml+"&mwidth="+lngMapWidth+"&mheight="+lngMapHeight;
    //alert(strSwfSrc);
    var fo = new SWFObject(strSwfSrc, "myFlash", "100%", "100%", "8", "#ffffff" );
    fo.write(strTargetDivId);
    
    IntervalID = setInterval("checkFlashLoaded()", 100);
}

function checkMainFlashLoaded() {
	var dblLoaded = window.document.myFlash.PercentLoaded();
	if(dblLoaded >= 100) {
		clearInterval(IntervalID);
		iMapMainInit();
	}
}

function iMapMainInit() {
    var strWebPageUrl = frmData.webpagepath.value;
    window.document.myFlash.SetVariable("gWebPagePath", strWebPageUrl);
    window.document.myFlash.SetVariable("gWorkMode", "init");
    
    window.setTimeout("checkFlashLoadedInit()", 200);
}

//------------------------------------------------------------------------------------
function checkFlashLoadedInit() {
    IntervalID = setInterval("checkFlashLoaded()", 100);
}

function checkFlashLoaded() {
	var dblLoaded = window.document.myFlash.PercentLoaded();
	if(dblLoaded >= 100) {
		clearInterval(IntervalID);
		iMapInit();
	}
}

//------------------------------------------------------------------------------------
function zoomMap(strZoomMode) {
    var dblOrlLeft = getMapLeft();
    var dblOrlTop = getMapTop();
    var dblOrlRight = getMapRight();
    var dblOrlBottom = getMapBottom();
    
    var dblViewWidth = getMapWidth();
    var dblViewHeight = getMapHeight();
    
    var dblX=0, dblY=0;
    var dblMapWidth=0, dblMapHeight=0;
    var lngNewXR=0, lngNewYR=0;
    
    var dblLeft=0, dblTop=0, dblRight=0, dblBottom=0;
    
    try {
        dblOrlLeft = Number(dblOrlLeft)
        dblOrlTop = Number(dblOrlTop)
        dblOrlRight = Number(dblOrlRight)
        dblOrlBottom = Number(dblOrlBottom)
        
        dblViewWidth = Number(dblViewWidth)
        dblViewHeight = Number(dblViewHeight)
        
        dblX = (dblOrlRight + dblOrlLeft)/2;
        dblY = (dblOrlTop + dblOrlBottom)/2;
        
        dblMapWidth = Math.abs(dblOrlRight - dblOrlLeft);
        dblMapHeight = Math.abs(dblOrlTop - dblOrlBottom);
    } catch (e) {
        return 0;
    }
	
    switch(strZoomMode) {
	    case "zoomin":
		    lngNewXR = (dblMapWidth / 5) * 1.5;
		    lngNewYR = (dblMapHeight / 5) * 1.5;
		    break;
		case "zoomout":
		    lngNewXR = (dblMapWidth / 3) * 2.5;
		    lngNewYR = (dblMapHeight / 3) * 2.5;
		    break;
	    case "zoom1":
		    lngNewXR = 0.70 * dblViewWidth;
		    lngNewYR = 0.70 * dblViewHeight;
		    break;
	    case "zoom2":
		    lngNewXR = 1.67 * dblViewWidth;
		    lngNewYR = 1.67 * dblViewHeight;
		    break;
	    case "zoom3":
		    lngNewXR = 2.64 * dblViewWidth;
		    lngNewYR = 2.64 * dblViewHeight;
		    break;
	    case "zoom4":
		    lngNewXR = 3.61 * dblViewWidth;
		    lngNewYR = 3.61 * dblViewHeight;
		    break;
	    case "zoom5":
		    lngNewXR = 4.58 * dblViewWidth;
		    lngNewYR = 4.58 * dblViewHeight;
		    break;
		case "zoom6":
		    lngNewXR = 5.55 * dblViewWidth;
		    lngNewYR = 5.55 * dblViewHeight;
		    break;
	    default:
		    strLayer = "";
		    break;
    }
    dblLeft = dblX - lngNewXR;
    dblTop = dblY + lngNewYR;
    dblRight = dblX + lngNewXR;
    dblBottom = dblY - lngNewYR;
    
    ShowMap(dblLeft, dblTop, dblRight, dblBottom);
}

//-- 2007/12/12 Add by Jimmy
//-- 輸出地圖影像
function exportMapImage() {
    ShowMapProcTest("輸出地圖影像中, 請稍候(約1分鐘)....");
    ExportImage('1');
}

//-- 當使用 ExportImage() 方法輸出地圖影像，卻無法正常輸出時，將觸發此事件
function ExportImage_Error() {
    ShowMapProcTest("輸出地圖影像失敗!");
    alert("輸出影像失敗!");
}

//-- 使用 ExportImage() 方法輸出地圖影像，當地圖影像建立完成時，將觸發此事件
function ExportImage_Finish(strFileName) {
    ShowMapProcTest("完成輸出地圖影像.");
    alert("完成輸出影像.");
    window.open(strFileName, "_blank");
}
