﻿function MM_preloadImages() { //v3.0
    var d = document; if (d.images) {
        if (!d.MM_p) d.MM_p = new Array();
        var i, j = d.MM_p.length, a = MM_preloadImages.arguments; for (i = 0; i < a.length; i++)
            if (a[i].indexOf("#") != 0) { d.MM_p[j] = new Image; d.MM_p[j++].src = a[i]; }
    }
}
function MM_swapImgRestore() { //v3.0
    var i, x, a = document.MM_sr; for (i = 0; a && i < a.length && (x = a[i]) && x.oSrc; i++) x.src = x.oSrc;
}
function MM_findObj(n, d) { //v4.01
    var p, i, x; if (!d) d = document; if ((p = n.indexOf("?")) > 0 && parent.frames.length) {
        d = parent.frames[n.substring(p + 1)].document; n = n.substring(0, p);
    }
    if (!(x = d[n]) && d.all) x = d.all[n]; for (i = 0; !x && i < d.forms.length; i++) x = d.forms[i][n];
    for (i = 0; !x && d.layers && i < d.layers.length; i++) x = MM_findObj(n, d.layers[i].document);
    if (!x && d.getElementById) x = d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
    var i, j = 0, x, a = MM_swapImage.arguments; document.MM_sr = new Array; for (i = 0; i < (a.length - 2); i += 3)
        if ((x = MM_findObj(a[i])) != null) { document.MM_sr[j++] = x; if (!x.oSrc) x.oSrc = x.src; x.src = a[i + 2]; }
}

/*
kmz對照表

和仁步道01
布洛灣影觀步道02
綠水步道03
匯德步道04
砂卡礑步道05
白楊步道06
崇德步道07
燕子口步道08
太魯閣台地步道09
九曲洞步道10

得卡倫步道11
研海林道12
豁然亭步道13
大禮步道14
蓮花池步道15
長春祠步道16
大禮大同步道17
梅園竹村產業道路18

小奇萊步道19
合歡山主峰步道20
合歡山東峰步道21
合歡山北峰步道22
合歡山西峰步道23
天巒池24
石門山步道25
羊頭山單攻線26
畢祿山單攻線27
畢祿羊頭縱走28
屏風山29
清水山系步道30
閂山單攻線31
閂山鈴嗚山32
南湖主峰33
奇萊南峰34
奇萊連峰35
奇萊東稜36
中央尖山37
甘薯南峰38
北二段全段39
中央尖西峰40
*/


google.load("earth", "1");

var nowKmzID = null;
var sizeType = 2;

//取得kmz目錄的絕對路徑(google earth讀檔要用絕對路徑)
var globalAbsHref = ('http://' + location.host + '/zhTW/files/flightMap_KMZ/');

//預設kmz
var globalKmz = globalAbsHref + 'k09.kmz';

//全域kmlObject參照
var globalKmlObject;

//全域lookAt參照
var globalLookAt;

//預設經緯度
var lat = 24.157331;
var lng = 121.621614;

//google earth物件
var ge = null;

var latlngObj = {
    '01': '24.232452,121.706935',
    '02': '24.170150,121.573554',
    '03': '24.177432,121.513419',
    '04': '24.206263,121.666825',
    '05': '24.161717,121.613615',
    '06': '24.184826,121.489826',
    '07': '24.191526,121.661198',
    '08': '24.171657,121.560588',
    '09': '24.157331,121.621614',
    '10': '24.168447,121.533959',
    '11': '24.158991,121.622032',
    '12': '24.176385,121.514626',
    '13': '24.184870,121.493586',
    '14': '24.155398,121.626120',
    '15': '24.223000,121.486554',
    '16': '24.160851,121.604469',
    '17': '24.181836,121.626066',
    '18': '24.217413,121.481903',
    '19': '24.141036,121.286273',
    '20': '24.141937,121.272326',
    '21': '24.141036,121.286273',
    '22': '24.167311,121.289964',
    '23': '24.161908,121.249216',
    '24': '24.214522,121.296616',
    '25': '24.146714,121.284020',
    '26': '24.194207,121.384077',
    '27': '24.182306,121.308546',
    '28': '24.204698,121.340132',
    '29': '24.180368,121.309683',
    '30': '24.240058,121.637385',
    '31': '24.274235,121.325541',
    '32': '24.247238,121.334424',
    '33': '24.361406,121.439266',
    '34': '24.056614,121.285071',
    '35': '24.045367,121.279750',
    '36': '24.101633,121.372490',
    '37': '24.309869,121.417122',
    '38': '24.297510,121.330347',
    '39': '24.280455,121.379871',
    '40': '24.290352,121.389956'
}

var btnImage = [
   '/images/zhTW/move/6-1bt_04.jpg',
   '/images/zhTW/move/6-1bt_06.jpg',
   '/images/zhTW/move/6-1bt_08.jpg',
   '/images/zhTW/move/6-1bt_04ov.jpg',
   '/images/zhTW/move/6-1bt_06ov.jpg',
   '/images/zhTW/move/6-1bt_08ov.jpg'
];

function init() {
    google.earth.createInstance("map3d", initCB, failureCB);
    showTrailList(null);
}

function showTrailList(type) {
    var alldiv = document.getElementsByTagName('div');
    var el = null;
    var i = 0;
    
     if (type == undefined || type == null) type = 1;
    for (i = 0; i < alldiv.length; i++) {
        if (alldiv[i].className == 'trailList') {
            alldiv[i].style.display = 'none';
            alldiv[i].style.visibility = 'hidden';
        }
    }

    for (i = 1; i <= 3; i++) {
        el = document.getElementById('scenic' + i.toString());
        if (el != undefined && el != null && i == type) {
            el.src = btnImage[i+2];
        }
        else {
            el.src = btnImage[i - 1];
        }
    }

    el = document.getElementById('scenicList' + type.toString());
    if (el != undefined && el != null) {
        el.style.display = '';
        el.style.visibility = 'visible';
    }
}

function initCB(_object) {
    ge = _object;
    ge.getWindow().setVisibility(true);
    globalLookAt = ge.createLookAt('');
    globalLookAt.set(lat, lng, 100, ge.ALTITUDE_RELATIVE_TO_GROUND, 330, 50, 4000);
    ge.getView().setAbstractView(globalLookAt);
    ge.getNavigationControl().setVisibility(ge.VISIBILITY_SHOW);

    addKmlFromUrl(globalKmz);
}

function addKmlFromUrl(_kmlUrl) {
    google.earth.fetchKml(ge, _kmlUrl, kmlFinishedLoading);
}

function kmlFinishedLoading(_kmlObject) {
    if (_kmlObject) {
        globalKmlObject = _kmlObject;
        ge.getFeatures().appendChild(globalKmlObject);
    }
}

function changePoint(_kmzID) {
    if (_kmzID == nowKmzID) return;
    nowKmzID = _kmzID;
    var _latLng = latlngObj[_kmzID];
    var _lat = _latLng.split(',')[0];
    var _lng = _latLng.split(',')[1];
    var la = ge.createLookAt('');
    globalKmz = globalAbsHref + 'k' + _kmzID + '.kmz';
    if (globalKmlObject) {
        ge.getFeatures().removeChild(globalKmlObject);
    }

    try {
        addKmlFromUrl(globalKmz);
        la.set(parseFloat(_lat), parseFloat(_lng), 100, ge.ALTITUDE_RELATIVE_TO_GROUND, 330, 50, 4000);
        ge.getView().setAbstractView(la);
    }
    catch (e) {
        return;
    }
    finally {
        _latLng = null;
        _lat = null;
        _lng = null
        la = null;
    }
}

function failureCB(_object) {
    alert('讀取Google Earth失敗');
}

google.setOnLoadCallback(init);


function onResize() {
    var el = document.getElementById('map3d');
    var h = document.documentElement.clientHeight;

    try {
        if (el != undefined && el != null) {
	     el.style.width = document.documentElement.clientWidth;
            if (sizeType == 1) {
                if (h > 600) {
                    el.style.height = (document.documentElement.clientHeight - 310) + 'px';
                    document.body.style.overflow = 'hidden';
                } else {
                    el.style.height = '290px';
                    document.body.style.overflow = 'auto';    
                }
            }
            else {
                if (h > 600) {
                    el.style.height = (document.documentElement.clientHeight - 175) + 'px';
                    document.body.style.overflow = 'hidden';
                } else {
                    el.style.height = '425px';
                    document.body.style.overflow = 'auto';    
                }
            }
        }
    }
    catch (e) {
        return;
    }
    finally {
        el = null;
        h = null;
    }
}

function ChangeColor(el) {
    var els = document.getElementsByTagName('a');
    var i =0;
    if (els.length > 0) {
        for (i = 0; i < els.length; i++) {
            els[i].style.color = '#444';
        }
    }

    el.style.color = '#007AFA';
}
