﻿Event.observe(window, "resize", function() {
    resize();
});

Event.observe(document, "click", function() {
    if (contextMenu != null)
        contextMenu.hiddenMenu();
    document.getElementById('suggest-div').style.display = 'none';
});
var see=null
var map;
var contextMenu;

//初始化地图
function initMap() {
    resize();
    loadMap(0, IMSMapConfig);
    var iconList = new Array("images/1.gif", "images/2.gif", "images/mov.gif", "images/3.gif","images/v3.gif");
    var menuName = new Array("放 大", "缩 小", "移 动", "全 图","标 注");
    var commandList = new Array("map.setCurOper(1001)", "map.setCurOper(1002)", "map.setCurOper(1003)", "map.setCurOper(1004)", "map.setCurOper(IMSOperType.AddLabel)");
    contextMenu = new RtMenu($("map-div"), iconList, menuName, commandList);
    contextMenu.showMenu();
    //map.jumpMap(63521.0, 14679.5, 2);
    var s=screen.height/screen.width;
    if(s>0.75)
    {
         map.jumpMap1(36982,40100,92930,445, 2);
     }
     else if(s==0.75)
     {
        map.jumpMap1(36982,29100,92930,445, 2);
     }
     else if(s==0.625)
     {
         map.jumpMap1(36982,29236,89951.57,445, 2);
     }
     else
     {
         map.jumpMap1(36982,29236,89951.57,445, 2);
     }
   
}

//加载地图
function loadMap(mapType, mapConfig) {

    var HdfNameSplit = document.getElementById("HiddenHDFNames").value;
    var HdfName = null;
    var HdfArray = null;
    if (HdfNameSplit != null && HdfNameSplit != '') {
        HdfArray = HdfNameSplit.split(',');
        HdfName = HdfArray[0];
    }
    else {
        alert("未配置底图");
    }
    
    //地图
    map = new IMSMaps("map-div", mapType, mapConfig, HdfName);
    
    //背景图切换
    if (HdfNameSplit != null) {
        var Ms = new IMSMapLevelSelect(HdfArray, "75%");
        map.addControl(Ms, false);
    }

    //导航
    var s = new IMSNavigation();
    map.addControl(s, false);

    //logo
    var l = new IMSLogo();
    map.addControl(l, false);

    //查询
    see = new IMSSearch(map);
    //    see.setSelectByHitting(0.000805, AreaSearch);
    see.setSelectByCircle(AreaSearch);
    see.setSelectByRect(AreaSearch);
    see.setSelectByPolygon(AreaSearch);
    //csh
    see.setSelectByLine(500, AreaSearch);
    //end
    map.addControl(see, false);

    //标注
    var marker = new IMSMarker(false);
    map.addControl(marker, true);

    //鹰眼
    var eo = new IMSEagleMap();
    eo.setViewStatus(true);
    map.addControl(eo, false);

    //比例尺
    var sc = new IMSScale();
    sc.setUnits([1, 1000], ["米", "千米"]);
    map.sco = sc;
    map.addControl(sc, false);

    //测量
    var mo = new IMSMeasure();
    mo.setDistanceUnits([1, 1000], ["米", "千米"]);
    mo.setAreaUnits([1, 1000000], ["平方米", "平方千米"]);
    map.addControl(mo, false);

    //操作状态
    var os = new IMSOperStatus();
    map.addControl(os, false);

    //进度条
    var loader = new IMSLoader();
    map.addControl(loader, false);
}

//进度条
function loadBar(fl) {
    var el = document.getElementById('loader-div');
    if (null != el) {
        var top = 30;
        var left = (document.body.clientWidth) - 100;
        if (left <= 0) left = 10;
        el.style.visibility = (fl == 1) ? 'visible' : 'hidden';
        el.style.display = (fl == 1) ? 'block' : 'none';
        el.style.left = left + "px"
        el.style.top = top + "px";
        el.style.zIndex = 2;
    }
}
function bufferSet(num)
{
    var pixelX = map.logicXlength/map.pObj.offsetWidth;
    return pixelX*num;
}

function onSelectToolClick(activeTool,drawAction)
{
    userActive = activeTool;
    switch(userActive)
    {
        case "SelectByHitting":
        case "SelectByHittingAndAtt":
            map.setCurOper(2001); 
            see.setSelectByHitting(bufferSet(3),submitUrl);
        break;
        case "SelectByPolyline":
            map.setCurOper(2005);
            userActive = "SelectByPolygon";
            see.setSelectByLine(bufferSet(3),submitUrl_1); 
        break;
        case "SelectByPolylineAndAtt":
            map.setCurOper(2005);
            userActive = "SelectByPolygonAndAtt";
            see.setSelectByLine(bufferSet(3),submitUrl); 
        break;
        case "SelectByRect":
        case "SelectByRectAndAtt":
            map.setCurOper(2002);
            see.setSelectByRect(submitUrl);
        break;
        case "SelectByCircle":
        case "SelectByCircleAndAtt":
            map.setCurOper(2003);
            see.setSelectByCircle(submitUrl);
        break;
        case "SelectByPolygon":
        case "SelectByPolygonAndAtt":
            map.setCurOper(2004);
            see.setSelectByPolygon(submitUrl);
        break;
        case "PolylineBuffer":                           //线缓冲
            map.setCurOper(2005);
            see.setSelectByLine(0,submitUrl);
        break;
        case "PolygonBuffer":                           //区缓冲
            map.setCurOper(2004);
            see.setSelectByPolygon(submitUrl);
        break;
        case "0":                           //点编辑
            map.setCurOper(2001);
            see.setSelectByHitting(1,submitUrl);
        break;          
        case "1":                           //线编辑   
            map.setCurOper(2005);
            see.setSelectByLine(0,submitUrl);
        break;
        case "2":                           //区编辑
            map.setCurOper(2004);
            see.setSelectByPolygon(submitUrl);
        break;
        case "ClipByCircle":
            map.setCurOper(2003);
            see.setSelectByCircle(submitUrl);
        break;
        case "ClipByPolygon":
            map.setCurOper(2004);
            see.setSelectByPolygon(submitUrl);
        break;
    }
}
var flashTimes=5,flashInterval=0.3,flashColor="#ff0000";
