﻿//需先引用IMSMaps.js

//地图载入状态类
function IMSLoader(loaderImg) {
    this.imgSrc = loaderImg ? loaderImg : "images/loader.gif";
    this.imgSize = GetImgSize(this.imgSrc);
    this.imgLeft = thisObj.pObj.offsetWidth / 2 - this.imgSize[0] / 2;
    this.imgTop = thisObj.pObj.offsetHeight / 2 - this.imgSize[1] / 2;
    this.div = CreatDiv(document.body, "IMSLoader", parseInt(this.imgLeft), parseInt(this.imgTop), "absolute", 1, "hidden");
    this.div.innerHTML = "<IMG src='" + this.imgSrc + "'>";
    this.isBusy = false;
    thisObj.loader = this;

    this.setBusy = function() {
        this.isBusy = true;
        thisObj.isMapMove = true;
        thisObj.isCarMove = true;
        this.div.style.display = "block";
    }

    this.setFree = function() {
        this.isBusy = false;
        thisObj.isMapMove = false;
        thisObj.isCarMove = false;
        this.div.style.display = "none";
    }

    this.resize = function() {
        thisObj.loader.imgLeft = thisObj.pObj.offsetWidth / 2 - thisObj.loader.imgSize[0] / 2;
        thisObj.loader.imgTop = thisObj.pObj.offsetHeight / 2 - thisObj.loader.imgSize[1] / 2;
        thisObj.loader.div.style.left = thisObj.loader.imgLeft + "px";
        thisObj.loader.div.style.top = thisObj.loader.imgTop + "px";
    }

    thisObj.addEventListener("resize", thisObj.loader.resize, false);
}

//地图操作状态类
function IMSOperStatus() {
    this.div = CreatDiv(document.body, "IMSOperStatus", 0, 0, "absolute", 1, "hidden");
    this.div.innerHTML = "<IMG id='ToolFlag' src='images/transparence.gif'>";

    changeStatus = function(Evnt) {
        var e = Evnt ? Evnt : event;
        var toolFlg = document.getElementById("ToolFlag");
        switch (thisObj.activeTool) {
            case "ZoomIn":      //放大
                toolFlg.src = "images/1.gif";
                break;
            case "ZoomOut":     //缩小
                toolFlg.src = "images/2.gif";
                break;
            case "Pan":         //移动
                toolFlg.src = "images/mov.gif";
                break;          //距离测量
            case "MeasureDistance":
                toolFlg.src = "images/measure.gif";
                break;
            case "MeasureArea": //面积测量
                toolFlg.src = "images/area_s.gif";
                break;
		    case "SelectByRect"://拉框查询
				toolFlg.src="images/rect.gif";
			    break;
		    case "SelectByCircle"://圆查询
				toolFlg.src="images/circle.gif";
			    break;
			case "SelectByPolygon"://多边形查询
			    toolFlg.src="images/polygon.gif";
			    break;
            default:
                toolFlg.src = "images/transparence.gif";
                break;
        }
        if (thisObj.isShowOprImg) {
            var tmp = GetClientXY(e, thisObj.pObj);
            toolFlg.parentNode.style.visibility = 'visible';
            toolFlg.parentNode.style.left = (tmp[0] + 15) + "px";
            toolFlg.parentNode.style.top = (tmp[1] + 3) + "px";
        }
        else
            toolFlg.parentNode.style.visibility = 'hidden';
    }
    operImgOut = function() {
        document.getElementById("ToolFlag").parentNode.style.visibility = 'hidden';
    }
    thisObj.addEventListener("mousemove", changeStatus, false);
    thisObj.addEventListener("mouseout", operImgOut, false);
}

//鹰眼
var flag = true;
function EagleDisplay() {
    map.eagleEye.setViewStatus(flag)
    flag = !flag;
};
