﻿
//******************************************************************************** 
// 遵义博文软件有限公司，2010. *
// 作 者:  hanior  *
// 版 本:  v1.0  *
// 文 件:  Mypage.js  *
// 更 新:  28/10/2010  *
//******************************************************************************** 

var map = null;
var overview = null;
var SliderStartAt = 297;
var SliderStepMove = 15;
var ZoomLevels = 10;
var max_btn_number = 55;
var resultCount = 0;
var currentRouting = null;
var bootNum = 0;
var curState = "";
var curRole = "";

var curRouting = "";

function onPageLoad() 
{
				try {
								document.getElementById("Maptab").style.width = document.documentElement.clientWidth+"px";
								document.getElementById("Maptab").style.height = document.documentElement.clientHeight - 50 + "px";
								document.getElementById("maptd").style.width = document.documentElement.clientWidth + "px";
								document.getElementById("MapControl").style.height = document.documentElement.clientHeight - 50 + "px";
								document.getElementById("MapControl").style.width = document.documentElement.clientWidth + "px";
								var restab = document.getElementById("RightControl");
								restab.style.height = document.documentElement.clientHeight - 50 + "px";								
								
								var overviewParams = new Object();
								overviewParams.mapName = "zunyi";
								new xWin("overview", document.getElementById("MapControl").clientWidth - 194, document.documentElement.clientHeight - 150, 200, 155, 1, " ", "");
				 		 document.getElementById("overview").style.zIndex = 5;
								overview = new SuperMap.IS.OverviewControl($("Eye_body"), map, overviewParams);

								var re = document.getElementById("rolefld");
								if (re) {
												if (re.value == "master") {
																document.getElementById("Verify").style.display = "";
												}
								}
								SwitchView(document.getElementById("ExpandView"));
								if (map != null) {
												map.AttachEvent("onimagesload", onunloading);
												map.AttachEvent("onchangeview", onLoading);
												map.AttachEvent("onendzoom", RefreshSlider);
												moveWin("overview", document.getElementById("MapControl").clientWidth - 193, document.documentElement.clientHeight - 190);
												moveWin("Eyebtn", document.getElementById("MapControl").clientWidth - 5, document.documentElement.clientHeight - 45);
												ResizeMap();
								}
				}
				catch (ex) {
								var msg = ex.Message;
				}
				finally {
					map.AttachEvent("onimagesload", onunloading);
												
					map.AttachEvent("onchangeview", onLoading);
				}
}


function AddLoading() {
			var win = document.createElement("Div");
	win.id = "loading";
	win.style.left = "100px";
	win.style.top = "100px";
	win.style.width =  "126px";
	win.style.height = "22px";
	win.style.position = "absolute";
	win.style.border = "solid 1px gray";
	win.style.filter = "alpha(opacity=80)";
	win.style.opacity = 0.8;
	win.style.zIndex = 5;
	win.innerHTML = "<img alt='' src='images/loading.gif' />";
	document.getElementById("MapControl").appendChild(win);	
}

function onLoading() {
				var ld = document.getElementById("loading");
				if (ld!=null) { ld.style.display = ""; }
}

function onunloading() {
				var ld=document.getElementById("loading");
				if (ld != null) { ld.style.display = "none"; }
}


function userLogin() {
    if (document.getElementById("loginSys").value == "登陆") 
    {
        document.getElementById("loginSys").value = "注销";
        window.location = "login.aspx";
    }
    else
    {
        document.getElementById("Verify").style.display = "none";
        document.getElementById("loginSys").value = "登陆";
        document.getElementById("rolefld").value = "";
        window.location = "Default.aspx";
    }
}

function ResizeMap() 
{
    var stw = document.getElementById("maptd").offsetWidth;
    var sth = document.getElementById("MapControl").offsetHeight;
    map.Resize(parseInt(stw),parseInt(sth));
}

function showMouseCoord() {
    var mt = document.getElementById("MapControl");
    if (!mt) { return; }
    _AddEvent(mt, 'mouseover', showMouseCoord_OnMouseMove);
    _AddEvent(mt, 'mousemove', showMouseCoord_OnMouseMove);
}

function showMouseCoord_OnMouseMove(e) {
    var mt = document.getElementById("MapControl");
    if (!mt) { return; }
    var cur = e.mapCoord;
    var tn = map;
    var np = new SuperMap.IS.PixelCoord(event.offsetX, event.offsetY);
    if (cur==null && map!=null) 
    {
        try
        {
            var nq = tn.PixelToMapCoord(np);
            cur = nq;
        }
        catch (err) {
            
        }
        if (!cur) {
            return;
        }
    }
    
    var curX = cur.x;
    var curY = cur.y;
    var viewScaleElement = map.GetMapScale();
    if (!viewScaleElement) { return; }
    var curScale = parseFloat(viewScaleElement);
    var pos = "当前位置: " + "纬度:" + curX.toFixed(8) + ", 经度:" + curY.toFixed(8) + "        当前比例尺: 1:" + (curScale > 1 ? 1 / curScale.toFixed(3) : Math.round(1 / curScale));
    if (curState != "") 
    {
        pos += "     当前操作:" + curState;
    }
    if (curRouting != "" && curRouting != null) { pos += "      "+curRouting; }
    window.status = pos;
}


window.onresize = function () {
				try {
								document.getElementById("Maptab").style.width = document.documentElement.clientWidth-20 + "px";
								var win = document.getElementById("loading");
								win.style.left = document.documentElement.clientWidth / 2 - 100 + "px";
								win.style.top = document.documentElement.clientHeight / 2 + "px";
								if (document.documentElement.offsetHeight > 80) {
												document.getElementById("Maptab").style.height = document.documentElement.clientHeight - 70 + "px";
												document.getElementById("maptd").style.width = document.documentElement.clientWidth + "px";
												document.getElementById("MapControl").style.height = document.documentElement.clientHeight - 50 + "px";
												document.getElementById("MapControl").style.width = document.documentElement.clientWidth + "px";
												var restab = document.getElementById("RightControl");
												restab.style.height = document.documentElement.clientHeight - 50 + "px";
												var res = document.getElementById("MapControl");

												if (map != null) {
																if (restab.style.display == "block" || restab.style.display == "") {
																				document.getElementById("maptd").style.width = document.documentElement.clientWidth-280 + "px";
																				document.getElementById("MapControl").style.width = document.documentElement.clientWidth - 280 + "px";
																}
																else {
																				document.getElementById("MapControl").style.width = document.documentElement.clientWidth - 22 + "px";
																}
																var stw = document.getElementById("MapControl").clientWidth;
																var sth = document.getElementById("MapControl").clientHeight;
																if (bootNum != 0) {
																				map.Resize(stw, sth);
																				moveWin("overview", document.getElementById("MapControl").clientWidth - 195, document.documentElement.clientHeight - 170);
																				moveWin("Eyebtn", document.getElementById("MapControl").clientWidth - 7, document.documentElement.clientHeight - 25);
																}
																bootNum++;
												}
								}
				}
				catch (ex)
				{ }
				finally {
				}
}


function moveWin(id, moveX, moveY) {
    var win = document.getElementById(id);
    win.style.top = moveY+"px";
    win.style.left = moveX + "px";
}

function RefreshSlider(eventArg) {
    var zoomLevel = eventArg.param.zoomLevel;
    MoveSlider(zoomLevel);
}

function MoveSlider(zoomlevel) {
    var mapSlider = document.getElementById("mapSlider");
    mapSlider.style.pixelTop = SliderStartAt - SliderStepMove * (zoomlevel + 1);
    bound = map.GetMapBounds();

}

function OnClickZoomIn() {
    var mapLevel = map.GetZoomLevel();
    if (mapLevel < ZoomLevels) {
        mapLevel += 1;
        map.SetZoomLevel(mapLevel);
        MoveSlider(mapLevel);
        curState = "放大";
    }
}

function OnClickZoomOut() {
    var mapLevel = map.GetZoomLevel();
    if (mapLevel > 1) {
        mapLevel -= 1;
        map.SetZoomLevel(mapLevel);
        MoveSlider(mapLevel);
        curState = "缩小";
    }
}

function OnClickPan(tag) {
    var x = map.GetMapCenterX();
    var y = map.GetMapCenterY();
    switch (tag) {
        case 1:
            x += 0.003;
            map.PanToMapCoord(x, y);
            break;
        case 2:
            x -= 0.003;
            map.PanToMapCoord(x, y);
            break;
        case 3:
            y -= 0.003;
            map.PanToMapCoord(x, y);
            break;
        case 4:
            y += 0.003;
            map.PanToMapCoord(x, y);
            break;
    }
    curState = "移动";
}

var startSlider;
function OnClickZoomBar()
{
    var event=window.event?window.event:evt;
    var curLevel=parseInt((SliderStartAt-event.clientY)/15);
    if(curLevel>10){curLevel=10;}
    if(curLevel<1){curLevel=1;}
    map.SetZoomLevel(curLevel);
    MoveSlider(curLevel);
    startSlider = true;
    curState = "缩放";
}

function OnClickSlider()
{    
    //startSlider=true;
}

function OnMoveSlider()
{

}

function OnFreeSlider()
{
}


var panAction = null;
var zoomInAction = null;
var zoomOutAction = null;

function ViewEntire() {
    map.ViewEntire();
    curState = "全图";
}

function SetZoomInAction() 
{
    if (!zoomInAction) 
    {
        zoomInAction = new SuperMap.IS.ZoomInAction();
    }
    map.SetAction(zoomInAction);
    curState = "放大";
}

function SetZoomOutAction() 
{
    if (!zoomOutAction) 
    {
        zoomOutAction = new SuperMap.IS.ZoomOutAction();
    }
    map.SetAction(zoomOutAction);
    curState = "缩小";
}

function SetPanAction() 
{
    if (!panAction) 
    {
        panAction = new SuperMap.IS.PanAction();
    }
    map.SetAction(panAction);
    curState = "漫游";
}

function xWin(id, left, top, width, height, zIndex, title, content, opacity, color) {
    if (!left) { left = 0; }
    if (!top) { top = 0; }
    if (!width) { width = 200; }
    if (!height) { height = 200; }
    if (!zIndex) { zIndex = 1; }
    if (!opacity) { opacity = 0.9; }
    if (!color) { color = "gray"; }
    if (!title) { title = resource_xWinTitle; }
    if (!content) { content = ""; }
    var headHeight = 12;

    //Div
    var win = document.createElement("Div");
    win.id = id;
    win.style.left = left + "px";
    win.style.top = top + "px";
    win.style.width = width + "px";
    win.style.height = height + 2 + "px";
    win.style.position = "absolute";
    win.style.zIndex = zIndex;
    win.style.filter = "alpha(opacity=" + opacity * 100 + ")";
    win.style.opacity = opacity;
    win.style.border = "3px solid #BAB7B4";
    win.style.cursor = "hand";
    win.style.zIndex = 5;
    document.body.appendChild(win);

    //body
    var win_body = document.createElement("Div");
    win_body.id = "Eye_body";
    win_body.style.left = "0px";
    win_body.style.top = "0px";
    win_body.style.width = width-4 + "px";
    win_body.style.height = height-2 + "px";
    win_body.style.position = "absolute";
    win_body.style.overflow = "hidden";
    win_body.style.backgroundColor = "white";
    win_body.style.fontSize = "12px";
    win_body.style.border = "2px solid #0E347F";
    win_body.innerHTML = content;
    win_body.style.zIndex = 5;
    win.appendChild(win_body);

    var btn = document.createElement("Div");
    btn.id = "Eyebtn";
    btn.style.left = left + 182+"px";
    btn.style.top = top + 140 + "px";
    btn.style.width = "13px";
    btn.style.height = "13px";
    btn.style.position = "absolute";
    btn.style.overflow = "hidden";
    btn.style.backgroundColor = "white";
    btn.style.display = "block";
    btn.innerHTML = content;
    btn.style.zIndex =6;
    btn.innerHTML = "<div id='closeeye' style='position:absolute;left:0px;top:0px;cursor:default'><img alt='隐藏'  style='height:13px;' src='./images/collapseEye.gif' onclick ='controlDiv(this)' ></div>";
    document.body.appendChild(btn);
}
var resource_collapse = "隐藏";
var resource_expand = "显示";
function controlDiv(obj) {
    var img = null;
    var eye = $("overview");
    var flg = eye.style.display == "none";
    if (flg) {
        eye.style.display = "block";
        img = obj;
        img.title = resource_collapse;
        img.alt = resource_collapse;
        img.src = "./images/collapseEye.gif";
        eye.style.border = "2px solid BAB7B4";
    }
    else 
    {
        eye.style.display = "none";
        img = obj;
        img.title = resource_expand;
        img.alt = resource_expand;
        img.src = "./images/restoreEye.gif";
        eye.style.border = "0px solid BAB7B4";
    }
    curState = "鹰眼控制";
}

//打开
function show(obj) 
{
    obj.childNodes[1].style.display = "block";
    var img = obj.childNodes[0].childNodes[1];
    img.title = resource_collapse;
    img.alt = resource_collapse;
    img.src = "./images/restore.gif";
    obj.style.visibility = "visible";
}



function SwitchBtn(index, action) {
    var prefix = "btn";

    var current = "";
    var rest = "";
    former_index = 0;

    switch (action) {
        case "Over":
            if (IsBtnDown(index)) {
                break;
            }
            current = "on";
            rest = "off";
            SwitchBtnToChangeImg(current, rest, prefix, index, former_index);
            break;

        case "Out":
            if (IsBtnDown(index)) {
                break;
            }
            current = "off";
            rest = "off";
            SwitchBtnToChangeImg(current, rest, prefix, index, former_index);
            break;

        case "Down":
            for (var i = 1; i < max_btn_number; i++) {
                if (i != index) {
                    AddImgSrc(i, "img0", prefix, "off");
                }
            }

            for (var i = 10; i <= max_btn_number; i++) {
                if (i != index) {
                    AddImgSrc(i, "img", prefix, "off");
                }
            }
            current = "down";

            rest = "off";
            SwitchBtnToChangeImg(current, rest, prefix, index, former_index);
            break;
    }
}
function IsBtnDown(index) {
    var isBtnDown = false;
    if (GetImg("img" + index)) {
        var s, ss;
        s = GetImg("img" + index).src.split('.');
        ss = s[0].split('_');
        if (ss[ss.length - 1] == "down") {
            isBtnDown = true;
        }
    }
    if (GetImg("img0" + index)) {
        var s, ss;
        s = GetImg("img0" + index).src.split('.');
        ss = s[0].split('_');
        if (ss[ss.length - 1] == "down") {
            isBtnDown = true;
        }
    }
    return isBtnDown;
}

function SwitchBtnToChangeImg(current, rest, prefix, index, former_index) {
    if (former_index != index) {
        AddImgSrc(index, "img", prefix, current);
        AddImgSrc(index, "img0", prefix, current);
    } else {
        if (current != "off") {
            AddImgSrc(index, "img", prefix, current);
            AddImgSrc(index, "img0", prefix, current);
        } else {
            AddImgSrc(index, "img", prefix, "down");
            AddImgSrc(index, "img0", prefix, "down");
        }
    }
}
//添加图片链接地址
function AddImgSrc(index, imgType, prefix, current) {
    if (GetImg(imgType + index)) {
        if (imgType == "img") {
            GetImg(imgType + index).src = "images/" + prefix + "_" + index + "_" + current + ".gif";
        }
        if (imgType == "img0") {
            GetImg(imgType + index).src = "images/" + prefix + "_0" + index + "_" + current + ".gif";
        }
    }
}

function GetImg(img) {
    if (document.all) {
        return document.all(img);
    } else if (document.getElementById) { return document.getElementById(img); }
}


var pointQueryAction = null;
function SetPointQueryAction() 
{
    //map.ClearCache();
    map.ClearHighlight();
    var layersInfo = new Array();
    var nt = 0;
    for (var i = 0; i < map.layers.length; i++) {
            layersInfo[nt] = map.layers[i].name;
            nt++;
    }
    var whereClause = "";
    QueryPlaceName = "当前点选";
    pointQueryAction = new SuperMap.IS.PointQueryAction(layersInfo, ['SmID','NAME'], 0.00005, whereClause, onPointQueryComplete, onError, null, "SuperMap.IS.PointQueryAction");
    map.SetAction(pointQueryAction);
    curState = "点选";
}

function onPointQueryComplete(resultSet)
{
    if (resultSet != null && resultSet.totalCount >0) 
    {
        var layername = resultSet.recordsets[0].layerName;
        var record = resultSet.recordsets[0].records[0];
        for (var i = 0; i < map.layers.length; i++) 
        {
            if (map.layers[i].name == layername) 
            {
                var res = document.getElementById("QueryResult");
                res.innerHTML = "点选对象找到1条记录";
                onQueryCompletePart(resultSet);
                i = map.layers.length;
                //}                
            }
            
        }
        
    }
    
}

function ClearHighlight() 
{
    map.ClearHighlight();
    //map.ClearCache();
    map.CustomLayer.ClearMarks();
    map.CustomLayer.ClearLines();
    map.CustomLayer.ClearPolygons();
    map.CustomLayer.ClearEllipses();
    curState = "清除高亮";
}



function onError() 
{
}


function SwitchView(obj) 
{
    var blankbar = document.getElementById("blanktd");
    var rightbar = document.getElementById("RightControl");
    document.getElementById("Maptab").style.width = "100%";

    if (rightbar.style.display != "none") 
    {
        blankbar.style.display = "none";
        rightbar.style.display = "none";        
        document.getElementById("maptd").style.width = "100%";
        document.getElementById("MapControl").style.width = "100%";
        if (overview != null) {
        				moveWin("overview", document.getElementById("MapControl").clientWidth - 195, document.documentElement.clientHeight - 185);
        				moveWin("Eyebtn", document.getElementById("MapControl").clientWidth - 7, document.documentElement.clientHeight - 40);
        				if (map != null && map.mapName != "") 
												{
        								map.Resize(document.getElementById("MapControl").clientWidth, document.getElementById("MapControl").clientHeight); 
												}
        				obj.src = "./images/restore.gif";
        				obj.alt = "收缩";
        				obj.title = "收缩";
        }
    }
    else 
    {
        blankbar.style.display = "";
        rightbar.style.display = "";
        document.getElementById("QueryResult").style.display = "";
        rightbar.style.width = "280px";
        document.getElementById("maptd").style.width = document.documentElement.clientWidth - 280 + "px";
        document.getElementById("MapControl").style.width = document.documentElement.clientWidth - 280 + "px";
        moveWin("overview", document.getElementById("MapControl").clientWidth - 195, document.documentElement.clientHeight - 185);
        moveWin("Eyebtn", document.getElementById("MapControl").clientWidth - 7, document.documentElement.clientHeight - 40);
        
        map.Resize(document.getElementById("MapControl").clientWidth, document.getElementById("MapControl").clientHeight);
        obj.src = "./images/fullscreen.gif";
        obj.alt = "展开";
        obj.title = "展开";
    }
				var pagebar=document.getElementById("PagesBar");
				if (pagebar && pagebar.style.display == "none") {
								document.getElementById("QueryResult").style.height = rightbar.clientHeight - 2 + "px";
				}
				else if (pagebar && pagebar.style.display != "none") {
								document.getElementById("QueryResult").style.height = rightbar.clientHeight - 40+ "px";
				}

    curState = "视图缩放";
}


function BufferQuery()
{
    var str = "<div><br />";
    str += "&nbsp;&nbsp;查找类型：<select id='EditLayers' style=\"width:150px; height:20px;\"\">";
    for (var i = 0; i < map.layers.length; i++) 
    {
    				if (map.layers[i].type == 1 && map.layers[i].name != "公交站点@My_ZYGIS" && map.layers[i].name != "地极市P_1@My_ZYGIS" && map.layers[i].name != "县P_1@My_ZYGIS" && map.layers[i].name != "镇P_1@My_ZYGIS" && map.layers[i].name != "Temp@My_ZYGIS") {
            str += "<option>" + map.layers[i].name.split("@")[0] + "</option>";
        }
    }
    str += "</select><br /><br />"
    str += "&nbsp;&nbsp;查找距离：<input id='bufferRadius' type='text' style='width:140px;' onkeydown=\"if (event.keyCode == 13) {bufquery();}\" />(米)<br /><br />"
    str += "<div style=\"background-image:url('images/btn_bg.gif'); margin-left:100px; text-align:center; line-height:20px; width:80px; height:21px; cursor:pointer;\" onclick='bufquery();' >查找</div>";
    str+="</div>";
    ymPrompt.win({ message: str, title: '邻近查找', showMask: true, height: 150, width: 250, fixPosition: true, dragOut: true });    
}

function enterChar() {
    if (event.keyCode == 13) {
        bufquery();
    }    
}


var beginBufferQuery=null;
function bufquery()
{
    var elayer = document.getElementById("EditLayers");
    var bufferlayer = elayer.options[elayer.selectedIndex].value;
    if (bufferlayer == "") { bufferlayer = elayer.options[elayer.selectedIndex].text; }
    var rs = document.getElementById("bufferRadius");
    radius = rs.value;
    if (isNaN(radius) || parseFloat(radius) <= 0) 
    {
        alert("输入的缓冲半径不是数字或者不符合半径要求！",1,"","提示");
    }
    else if (radius!="")
    {
        ymPrompt.close();
    				ClearHighlight();
        if (bufferlayer == "") 
        {
            var sel = $("EditLayers");
            bufferlayer = sel.options[sel.selectedIndex].value;
        }

        var pbar = document.getElementById("PagesBar");
        var th = document.documentElement.offsetHeight - 110;
        document.getElementById("QueryResult").style.height = th + "px";
        if (pbar) 
        {
            pbar.style.display = "none";
            document.getElementById("QueryResult").style.height = "100%";
        }
        document.getElementById("QueryResult").innerHTML = "";
        
        map.workLayer.style.cursor = "pointer";
        beginBufferQuery = new SuperMap.IS.BufferQueryAction(bufferlayer + "@My_ZYGIS", radius * 0.000010139572202463331686148997955833);
        map.SetAction(beginBufferQuery);
        curState = "邻近搜索";
    }
    else if(radius=="")
    {
        alert("缓冲半径不能为空！", 1, "", "提示");
    }
}


function ColorArr() {
    var colorArr = new Array();
    colorArr[0] = 255;
    colorArr[1] = 16711680;
    colorArr[2] = 65535;
    colorArr[3] = 648;
    colorArr[4] = 36589;
    colorArr[5] = 12521501;
    colorArr[6] = 17659482;
    colorArr[7] = 86523;
    return colorArr;
}


var ResultType;
var QueryPlaceName="";

function QueryPlace(queryType, placeInfo, QueryReturn) {
				map.SetAction(null);
				ymPrompt.close();
				map.workLayer.style.cursor = "pointer";
				ResultType = queryType;
				QueryPlaceName = placeInfo;
				document.getElementById("PagesBar").style.display = "none";
				map.ClearHighlight();
				//map.ClearCache();
				ClearHighlight();
				//debugger
				var ck = document.getElementsByName("QueryAllHotel");
				//ck[0].checked = false;
				ids = 0;
				if (map != null) {
								var res = document.getElementById("QueryResult");
								if (res.childNodes.length > 0) {
												res.innerHTML = "";
												resultCount = 0;
								}

								if (queryType == "") {
												var selQueryType = $("selQueryType");
												var selectedOption = selQueryType.options[selQueryType.selectedIndex];
												queryType = selectedOption.text;
								}
								if (placeInfo != "") {
												var layerinfo = new Array();
												var qp = new SuperMap.IS.QueryParam();
												qp.queryLayers = new Array();

												for (var i = 0; i < map.layers.length; i++) {
																//var checkbox = document.getElementById("LayerControl_" + map.layers[i].name + ":Q");
																if (map.layers[i].type == SuperMap.IS.LayerType.point) {
																				//qp.IsAllLayer = true;
																				var ql = new SuperMap.IS.QueryLayer();
																				ql.layerName = map.layers[i].name;
																				var lname = map.layers[i].name;
																				if (lname == "酒店@My_ZYGIS") {
																								ql.returnFields = new Array(5);
																								ql.returnFields[0] = "LayerName";
																								ql.returnFields[1] = "NAME";
																								ql.returnFields[2] = "SmID";
																								ql.returnFields[3] = "Telephone";
																								ql.returnFields[4] = "Address";
																				}
																				else {
																								ql.returnFields = new Array(4);
																								ql.returnFields[0] = "NAME";
																								ql.returnFields[1] = "SmID";
																								ql.returnFields[2] = "Telephone";
																								ql.returnFields[3] = "Address";
																				}
																				if (queryType == "电话") {
																								var info = "";
																								for (var u = 0; u < placeInfo.length; u++) {
																												info += placeInfo.substr(u, 1) + "%";
																								}
																								ql.whereClause = "Telephone like'%" + info + "'";
																				}
																				else {
																								var info = "";
																								for (var u = 0; u < placeInfo.length; u++) {
																												info += placeInfo.substr(u, 1) + "%";
																								}
																								ql.whereClause = "NAME like'%" + info + "'";
																				}
																				qp.queryLayers.push(ql);
																}
												}

												if (QueryReturn == "all") {
																qp.expectCount = 10;
																qp.highlight = new SuperMap.IS.Highlight();
																qp.highlight.highlightResult = false;
																document.getElementById("btnPage1").value = "1";
																document.getElementById("btnPage2").value = "2";
																document.getElementById("btnPage3").value = "3";
																map.GetQueryManager().QueryBySql(qp, onGetQueryResultCount, onError, "");
												}
												else {
																map.ClearHighlight();
																qp.expectCount = 15;
																qp.startRecord = parseInt(QueryReturn - 1) * 15;
																qp.highlight = new SuperMap.IS.Highlight();
																qp.highlight.highlightResult = false;
																map.GetQueryManager().QueryBySql(qp, onQueryCompletePart, onError, "");
												}
								}
								else {
												//alert("请输入查询信息！", 1, "", "提示");
												ymPrompt.alert({ message: "请输入查询信息！", title: '提示', showMask: false, height: 180, width: 280, fixPosition: false, dragOut: false });
								}
				}
				curState = "地物搜索";
}



var queryResultCount = 0;
function onGetQueryResultCount(resultSet) {
    if (resultSet != null && resultSet.totalCount > 0) {

        queryResultCount = resultSet.totalCount;
        
        if (QueryPlaceName == "酒店/招待所") 
        {
            var obj = document.getElementById("QueryAllHotel");
            //GetAllHotel(obj, "1");
        }
        else 
        {
            QueryPlace(ResultType, QueryPlaceName, 1);
        }
        //alert(queryResultCount);

        SetPagesResultNO();

        var av = document.getElementById("RightControl");
        av.style.display = "none";
        
        SwitchView(av);
    }
    else 
    {
    				ymPrompt.alert({ message: "没有您需要的相关结果！", title: '提示', showMask: false, height: 180, width: 280, fixPosition: false, dragOut: false });
        var pbar = document.getElementById("PagesBar");
        if (pbar) { pbar.style.display = "none"; }
        var av = document.getElementById("RightControl");
        av.style.display = "";
        SwitchView(av);
    }
    
}

var ids = 1;
var tleArr = new Array();
var maxIndex = 0;
function onQueryCompletePart(resultSet) {
    if (resultSet != null && resultSet.totalCount > 0) 
    {
        ClearHighlight();
        if (queryResultCount > 15) {
            var res = document.getElementById("QueryResult");
            document.getElementById("PagesBar").style.display = "block";
        }
        document.getElementById("RightControl").style.width="280px";
        var ntNO = 0;
        maxIndex = 0;
        ids = 1;
        tleArr = new Array();
        for (var i = 0; i < resultSet.recordsets.length; i++) 
        {
            for (var j = 0; j < resultSet.recordsets[i].records.length; j++) 
            {
                //debugger
                var record = resultSet.recordsets[i].records[j];
                var EditEntityID = record.fieldValues[0];
                var sName = record.fieldValues[1];
                if (resultSet.recordsets[i].layerName.split("@")[0] == "酒店") 
                {
                    EditEntityID = record.fieldValues[0];
                    sName = record.fieldValues[2];
                }
                var fldNum = 0;
                if (EditEntityID >= 0) {
                    var EditEntity = new SuperMap.IS.Entity;
                    var layerName = resultSet.recordsets[i].layerName;
                    map.GetEntity("zunyi", layerName, parseInt(EditEntityID), onGetEntityCompleten, onError);
                    
                }
                var sName = record.fieldValues[1];
                if (resultSet.recordsets[i].layerName.split("@")[0] == "酒店") 
                {
                    sName = record.fieldValues[2];
                }
                var infox=record.bounds.leftBottom.x;
                var infoy=record.bounds.leftBottom.y;
                var cor = infox + "-" + infoy;
                //debugger
                if(resultSet.totalCount>0)
                {
                    var res = document.getElementById("QueryResult");
                    if (ids == 1) 
                    {
                        res.innerHTML = "\""+QueryPlaceName+"\"" + "共找到" + queryResultCount + "条记录";
                    }
																				
                    var win_body = document.createElement("Div");
                    win_body.id = "Result_"+ids.toString();
                    win_body.style.width = "100%";
                    //win_body.style.height = "70px";
                    win_body.style.lineHeight = "20px";
                    win_body.style.backgroundColor = "White";
                    win_body.style.font = "bold 15px arial";
                    win_body.style.color = "#0066CC";
                    win_body.style.textAlign = "left";
                    win_body.style.marginTop = "5px";
                    var layname=resultSet.recordsets[0].layerName
                    win_body.title = sName + "_" + record.fieldValues[0];
                    tleArr[tleArr.length] = record.fieldValues[0];

                    if (resultSet.recordsets[i].layerName == "酒店@My_ZYGIS") {
                    				sName = record.fieldValues[2];
                    				sName += "<div style=\"font-size:12px; font-weight:normal; margin-left:15px; margin-top:0px; text-align:left; color:black;\">";
                    				if (record.fieldValues[3] != null && record.fieldValues[3] != "") {
                    								sName += "联系电话:" + record.fieldValues[3];
                    				}
                    				if (record.fieldValues[4] != null && record.fieldValues[4] != "") {
                    								if (record.fieldValues[3] != null && record.fieldValues[3] != "") {sName += "<br />";}
                    								sName += "  地址:" + record.fieldValues[4];
                    				}
                    				sName += "</div>";
                    				if ((record.fieldValues[3] == null) || (record.fieldValues[4] == null)) {
                    								//win_body.style.height = "55px";
                    				}
                    				if ((record.fieldValues[3] == null && record.fieldValues[3] == "") && (record.fieldValues[4] == null || record.fieldValues[4] == "")) {
                    								//win_body.style.height = "40px";
                    				}
                    }
                    else {
                    				sName = record.fieldValues[1];
                    				sName += "<div style=\"font-size:12px; font-weight:normal; margin-left:15px; margin-top:0px; text-align:left; color:black;\">";
                    				if (record.fieldValues[2] != null && record.fieldValues[2] != "") {
                    								sName += "联系电话:" + record.fieldValues[2];
                    				}
                    				if (record.fieldValues[3] != null && record.fieldValues[3] != "") {
                    								if (record.fieldValues[2] != null && record.fieldValues[2] != "") { sName += "<br />"; }
                    								sName += "  地址:" + record.fieldValues[3];
                    				}
                    				sName += "</div>";

                    				if ((record.fieldValues[2] == null) || (record.fieldValues[3] == null)) {
                    								//win_body.style.height = "55px";
                    				}

                    				if ((record.fieldValues[2] == null || record.fieldValues[2] == "") && (record.fieldValues[3] == null || record.fieldValues[3] == "")) {
                    								//win_body.style.height = "40px";
                    				}
                    }

                    win_body.onmouseover = function(e) {
                    				this.style.backgroundColor = "#DBE7F8";
                    				this.style.border = "solid 2px #B9D0F1";

                        FocusSelResult1(this.title.split("_")[1]);
                        var obj = document.getElementById("res_" + this.id.split("_")[1]);
                        if (obj) {
                            obj.style.backgroundImage = "url(images/res_over.gif)";
                            obj.style.color = "#D94626";
                        }
                    }
                    win_body.onmouseout=function(e)
                    {
                    				this.style.backgroundColor = "White";
                    				this.style.border = "solid 0px #E4EAF4";

                        var obj = document.getElementById("res_" + this.id.split("_")[1]);
                        if (obj) 
                        {
                            obj.style.backgroundImage = "url(images/res_out.gif)";
                            obj.style.color = "#7FB5D9";
                        }
                    }
                    win_body.onmousedown = function(e) {
                        var idx = this.id.split("_")[1];
                        var coord = document.getElementById("Coord" + idx).value;
                        infox = coord.split("-")[0];
                        infoy = coord.split("-")[1];
                        map.SetCenterAndZoom(infox, infoy, map.zoomLevel);
                        FocusSelResult1(this.title.split("_")[1]);
                    }

                    win_body.ondblclick = function(e) {
                        var dt = document.getElementById("QResult" + this.title.split("_")[1]);
                        if (dt) 
                        {
                            dt.onmousedown();
                        }
                    }
                    win_body.innerHTML = "<div style=\"background-color: url('images/2.gif'); height:30px; width:25px; margin-top:3px; float:left;\"><div id='res_" + ids + "' style=\"background-image:url('images/res_out.gif'); z-Index=1; text-align:center; overflow:hidden; width:24px; height:30px; line-height:20px;\">" + ids + "</div></div><input id=\"Coord" + ids + "\" type=\"text\" value=\"" + cor + "\" style=\"display:none\">&nbsp;&nbsp;" + sName + "";                                
                    res.appendChild(win_body);
                }
                ids++;
            }
        }
    }
}


var strdiv = "";
var id = 0;
var nChar = "";
var Str = "";
function onGetEntityCompleten(entity) {
    //alert(entity.fieldValues.length);
    if (entity != null && entity.shape != null) {
        var pt = entity.shape.points[0];
        strdiv = "";
        id = 0;
        Str = "";
        nChar = "";
        Str += "位置:<br />&nbsp;&nbsp;经度:" + pt.x.toFixed(8) + "度<br />&nbsp;&nbsp;纬度:" + pt.y + "度<br /><br />";
        for (var t = 0; t < entity.fieldValues.length; t++) 
        {
            if (entity.fieldNames[t].toLowerCase() == "name") 
            {
                Str += "名称:" + entity.fieldValues[t] + "<br /><br />";
                nChar = entity.fieldValues[t];
            }
            if (entity.fieldNames[t].toLowerCase() == "smid") 
            {
                Str += "顺序编号:" + entity.fieldValues[t] + "<br /><br />";
                id = entity.fieldValues[t];
            }
            if (entity.fieldNames[t].toLowerCase() == "telephone" && entity.fieldValues[t] != null && entity.fieldValues[t] != "") 
            {
                Str += "联系电话:" + entity.fieldValues[t] + "<br /><br />";
            }
            if (entity.fieldNames[t].toLowerCase() == "address" && entity.fieldValues[t] != null && entity.fieldValues[t]!="") 
            {
                Str += "联系地址:" + entity.fieldValues[t] + "<br /><br />";
            }
            if (entity.fieldNames[t].toLowerCase() == "item") 
            {
                Str += "案件类型:" + entity.fieldValues[t] + "<br /><br />";
            }
            if (entity.fieldNames[t].toLowerCase() == "datetime") 
            {
                var stn = entity.fieldValues[t];
                var s1 = stn.substr(0, 4);
                var s2 = stn.substr(4, 2);
                var s3 = stn.substr(6, 2);
                var dt = s1 + "-" + s2 + "-" + s3;
                Str += "发案时间:" + dt + "<br /><br />";
            }
        }
        ntNO++;

        var sName = nChar;
        //alert(sName);
        nChar = nChar.substring(0, 1);

        strdiv = "<div align=\"center\" title=\"" + sName + "_" + id + "\" id=\"QResult" + id + "\" onmousedown=\"ymPrompt.alert({ message: '" + Str + "', title: '详细信息',showMask:false, height: 280, width: 280, fixPosition: false, dragOut: false });\" style=\"text-align:center; font-weight:bold; background-image: url('Images/res_out.gif'); background-position: center; width:24px; height:30px; line-height:25px; cursor:hand; color:#7FB5D9;\" onmouseover=\"SetResBarShow(this,'" + '' + "','over');\" onmouseout=\"SetResBarShow(this,'" + '' + "','out');\">" + nChar + "</div>";
        //strdiv = "<div align=\"center\" oninit=\"this.style.background='url(images/res_out.gif) no-repeat'\" id=\"" + id + "\" onmousedown=\"ymPrompt.alert({ message: '" + Str + "', title: '属性', height: 350, width: 350, fixPosition: false, dragOut: false });\" style=\"text-align:center; width:24px; height:24px\" onmouseover=\"this.style.background ='url(images/res_over.gif) no-repeat'\" onmouseout=\"this.style.background='url(images/res_out.gif) no-repeat'\">" + id + "</div>";
        map.CustomLayer.AddMark("ResultShow" + ntNO, pt.x, pt.y, 24, 30, strdiv, "", ntNO, "res");
        map.CustomLayer.Visible = true;
        maxIndex = ntNO;
    }
}



function FocusSelResult1(title) {

    for (var n = 0; n < tleArr.length; n++) {
        var dt = document.getElementById("QResult" + tleArr[n]);
        if (dt) {
            var s1 = dt.style.backgroundImage.split("res")[1];
            var s2 = s1.split("_")[0];
            dt.style.backgroundImage = "url(images/res" + s2 + "_out.gif)";
            dt.style.color = "#7FB5D9";
        }
    }
    var dt = document.getElementById("QResult" + title);
    if (dt) {
        var s1 = dt.style.backgroundImage.split("res")[1];
        var s2 = s1.split("_")[0];
        dt.style.backgroundImage = "url(images/res" + s2 + "_over.gif)";
        dt.style.color = "#D94626";
        dt.style.position = "absolute";
        var itn = dt.parentNode;
        if (itn) { itn.style.zIndex = maxIndex + 1; }
        maxIndex++;
    }
}


function SetResBarShow(obj, layerName, action) 
{
    var res = document.getElementById("QueryResult");
    if (action == "over") {
        obj.style.backgroundImage = "url(images/res_over.gif)";
        var itn = obj.parentNode;
        if (itn) { itn.style.zIndex = maxIndex + 1; }
        maxIndex++;
        obj.style.color = "#D94626";
        for (var i = 0; i < res.childNodes.length; i++) 
        {
            var child = res.childNodes[i];
            if (child.title == obj.title) 
            {
                child.style.backgroundImage = "url(images/4.gif)";
                child.style.border = "solid 1px #E4EAF4";
            }
        }
    }
    else {
        obj.style.background = "url(images/res_out.gif)";
        obj.style.color = "#7FB5D9";
        for (var i = 0; i < res.childNodes.length; i++) 
        {
            var child = res.childNodes[i];
            if (child.title == obj.title) 
            {
                child.style.backgroundImage = "";
                i = res.childNodes.length;
                child.style.border = "solid 0px #E4EAF4";
            }
        }
    }
}


var curMaxIndex;
var curPage;

function SetPagesResultNO() {
    var t = document.getElementById("QueryResult");
    var res = document.getElementById("PagesBar");
    if (queryResultCount <= 15) {
        document.getElementById("PagesBar").style.display = "none"; 
    }
    //res.innerHTML = "";
    if (queryResultCount > 15) {
        var pages = parseInt(queryResultCount / 15);
        if (queryResultCount / 15 > pages) 
        {
            pages = pages + 1;
        }
        var fst = document.getElementById("firstPage");
        fst.onmousedown = function() 
        {
            ShowResultPage('page_1');
        }
        var lst = document.getElementById("lastPage");
        lst.onmousedown = function() {
            flipPage('last');
        }
        var nst = document.getElementById("nextPage");
        nst.onmousedown = function() {
            flipPage('next');
        }
        var end = document.getElementById("endPage");
        end.onmousedown = function() {
        ShowResultPage("page_" + pages);
        }        
        curPage = 1;
        //ShowResultPage("page_1");
        AdjustPage(pages);
    }
    else if (queryResultCount > 0) 
    {
        var pbar = document.getElementById("PagesBar");
        if (pbar) 
        {
            pbar.style.display = "none";
            t.style.height = "100%";
        }
        
    }
}

function AdjustPage(pages) {
    document.getElementById("btnPage1").style.display = "block";
    document.getElementById("btnPage2").style.display = "block";
    document.getElementById("PagesBar").style.display = "block";
    if (queryResultCount <= 15) { document.getElementById("PagesBar").style.display = "none"; }
    if (pages == 2) { document.getElementById("btnPage3").style.display = "none"; } else { document.getElementById("btnPage3").style.display = "block"; }
    var prepage = curPage;
    var nepage = parseInt(curPage) + 2;
    if (curPage == pages) {
        prepage = parseInt(curPage) - 2;
        nepage = parseInt(curPage);
    }
    if (curPage == pages - 1) {
        prepage = parseInt(curPage) - 1;
        nepage = parseInt(curPage) + 1;
    }
    if (pages > 3) 
    {
        document.getElementById("btnPage1").value = prepage;
        document.getElementById("btnPage2").value = parseInt(prepage) + 1;
        document.getElementById("btnPage3").value = nepage;
    }

    var val = "";

    for (var m = 1; m <= 3; m++) {
        document.getElementById("btnPage" + m).style.backgroundColor = "Transparent";
        if (document.getElementById("btnPage" + m).value == curPage) { val = "btnPage" + m; }
    }
    if (curPage == 1) { val = "btnPage1"; }
    $(val).style.backgroundColor = "#69B8FD";
    
}


function flipPage(direct) {
    var pages = parseInt(queryResultCount / 15);
    if (queryResultCount / 15 > pages) {
        pages = pages + 1;
    }
    
    if (direct == "last" && curPage>1) {
        var num = curPage - 1;
        ShowResultPage("page_" + num);
    }
    if (direct == "next" && curPage < pages) {
        var num = parseInt(curPage) + 1;
        ShowResultPage("page_" + num);
    }
    
}

function ShowResultPage(id) {
    
    var idx = id.split("_")[1];

    curPage = idx;

    document.getElementById("firstpart").style.display = "block";
    document.getElementById("endpart").style.display = "block";
    var pages = parseInt(queryResultCount / 15);
    if (queryResultCount / 15 > pages) 
    {
        pages = pages + 1;
    }

    document.getElementById("QueryResult").innerHTML = "";
    if (QueryPlaceName == "酒店/招待所") 
    {
        var obj = document.getElementById("QueryAllHotel");
        //GetAllHotel(obj, idx);
    }
    else {
        QueryPlace(ResultType, QueryPlaceName, idx);
    }
    
    if (queryResultCount <= 15) { document.getElementById("PagesBar").style.display = "none"; }
    AdjustPage(pages);
}


var findPathAction = null;

function SetFindPathAction() 
{
    ClearHighlight();
    if (!findPathAction) {
        findPathAction = new SuperMap.IS.FindPathAction("", 0.004, OnFindPathComplete, onError, OnFindPathStart, "SuperMap.IS.FindPathAction");
    }
    map.SetAction(findPathAction);
    curState = "路径查找";
}


var pathpoints = null;
function OnFindPathStart(pe, userContext) {
    if (!pe || !pe.clientActionArgs || !pe.clientActionArgs.mapCoords) { return; }
    var points = pe.clientActionArgs.mapCoords;
    ClearHighlight();
    pathpoints = points;

//    var len = 0;
//    len = Math.sqrt((points[0].x - points[1].x) * (points[0].x - points[1].x) + (points[0].y - points[1].y) * (points[0].y - points[1].y));
//    alert(len / 0.000010139572202463331686148997955833);
    for (var i = 0; i < points.length; i++) {
								var innerHtml = "<div ondblclick='OnMarkDoubleClick();' style=\"background-image:url('images/pIcon.gif'); font-size:10px; font-weight:Bold; line-height:12px; width:16px; height:16px; text-align:center;\">"+(i+1)+"</div>";
        map.CustomLayer.AddMark("FindPath_" + i, points[i].x, points[i].y, 10, 10, innerHtml, "", 10, "FindPath");
    }
}


function OnFindPathComplete(routeResult) {
				if (routeResult) {
								ShowBusLine(routeResult.nodePositions);
								ymPrompt.alert({ message: "您查找的路径长度为"+routeResult.totalLength+"米！", title: '路径长度', showMask: false, height: 180, width: 280, fixPosition: false, dragOut: false });
				}
}

//替换FindPath时Mark的双击事件处理函数，不进行地图缩放，进行路径分析
function OnMarkDoubleClick() {
    if (map.GetAction().type == "FindPathActionM") {
        var e = _GetEvent(e);
        _CancelBubble(e);
        e.mapCoord = MapControl1.PixelToMapCoord(e);
        findPathAction.OnDblClick(e);
    }
};

var AddEntityLayer = "";
var MaxID = 0;
function AddEntityAction() {
    var str = "<div id='AddEntity'>";
    str += "&nbsp;<input id='RadioXY' type='checkBox' onclick='ControlAddXY();'/>按经纬度添加<br />";
    str += "&nbsp;&nbsp;对象类型:<select id='EditLayers' onchange='SelAddLayer(this.options[this.selectedIndex].value);' style=\"width:150px; height:20px;\"><option></option>";
    for (var i = 0; i < map.layers.length; i++) {
        if (map.layers[i].type == 1) {
            str += "<option>" + map.layers[i].name.split("@")[0] + "</option>";
        }
    }
    str += "</select>";
    str += "<br /><br /><div id='PointYDIV' style='display:none'>&nbsp;&nbsp;经&nbsp;&nbsp;&nbsp;&nbsp;度:<input id='PointYtext' type='text' onclick=''/><br /><br /></div>";
    str += "<div id='PointXDIV' style='display:none'>&nbsp;&nbsp;纬&nbsp;&nbsp;&nbsp;&nbsp;度:<input id='PointXtext' type='text' onclick=''/><br /><br /></div>";
    str += "<div id='PointNameDIV' style='display:none'>&nbsp;&nbsp;名&nbsp;&nbsp;&nbsp;&nbsp;称:<input id='PointNametext' type='text' onclick=''/><br /><br /></div>";
    str += "<div id='PointHotelTelDIV' style='display:none'>&nbsp;&nbsp;联系电话:<input id='PointHotelTel' type='text' onclick=''/><br /><br /></div>";
    str += "<div id='PointAddressDIV' style='display:none'>&nbsp;&nbsp;联系地址:<input id='PointAddress' type='text' onclick=''/><br /><br /></div>";
    str += "<div style=\"background-image:url('images/btn_bg.gif'); margin-left:100px; text-align:center; line-height:20px; width:80px; height:21px;\" onclick='AddEntity()' >确定</div>";
    str += "</div>";
    var tn = ymPrompt.win({ message: str, title: '设置添加对象属性', showMask: false, height: 300, width: 300, fixPosition: true, dragOut: false });
}

function AddEntity() 
{
    var Longitude = $("PointYtext").value;
    var Latitude = $("PointXtext").value;
    var objName = $("PointNametext").value;
    var hotelTel = $("PointHotelTel").value;
    var objAddress = $("PointAddress").value;
    if (AddEntityLayer == "") 
    {
        alert('请选择需要添加的类型', 1, "", "提示");
        return;
    }

    var props = new Array();
    props[0] = parseInt(MaxID)+1;
    if (AddEntityLayer) 
    {
        if (objName == "") { alert("请输入酒店名称", 1, "", "提示"); return; }
        if (isNaN(hotelTel)) { alert("输入电话号码有误!", 1, "", "提示"); return; }
        if (objAddress=="") { alert("输入联系地址!", 1, "", "提示"); return; }
        props[1] = objName;
        props[2] = hotelTel;
        props[3] = objAddress;
    }
    var dv = document.getElementById("RadioXY");
    if (dv.checked) 
    {
        if (Longitude == "" || Latitude == "") 
        {
            alert("请设置经纬度！", 1, "", "提示");
            return;
        }        
        var mapR=map.GetMapBounds();
        var Y1 = mapR.leftBottom.y;
        var X1 = mapR.leftBottom.x;
        var Y2 = mapR.rightTop.y;
        var X2 = mapR.rightTop.x;
        if (Latitude > X1 && Latitude < X2 && Longitude > Y1 && Longitude < Y2) 
        {
            ymPrompt.close();            
            var entity = new SuperMap.IS.Entity();
            entity.shape = new SuperMap.IS.Geometry();
            entity.shape.parts = new Array();
            entity.shape.feature = SuperMap.IS.LayerType.point;
            entity.id = MaxID+1;
            entity.fieldNames = new Array();
            entity.fieldValues = new Array();
            entity.fieldNames[0] = "NAME";
            entity.fieldValues[0] = objName;
            entity.fieldNames[1] = "ToLayer";
            entity.fieldValues[1] = AddEntityLayer;
            if (hotelTel) 
            {
                entity.fieldNames[2] = "Telephone";
                entity.fieldValues[2] = hotelTel;
            }
            if (objAddress) 
            {
                entity.fieldNames[entity.fieldNames.length] = "Address";
                entity.fieldValues[entity.fieldValues.length] = objAddress;
            }
            
            var mapCoord = new SuperMap.IS.MapCoord(Latitude, Longitude);
            entity.shape.points = new Array(mapCoord);
            entity.shape.id =MaxID+1;
            var entities = new Array(entity);
            if (map != null) 
            {
                map.GetEditManager().AddEntity("zunyi", "Temp", entities, RefreshOverview, onError, "");
                var str = "添加成功,待服务器审核通过后才可在相应层上正确显示！";
                ymPrompt.alert({ message: str, title: '提示', showMask: false, height: 180, width: 280, fixPosition: false, dragOut: false });
            }
        }
        else 
        {
            alert("经纬度不在地图范围内或者输入的经纬度不是数字！", 1, "", "提示");
        }        
    }
    else 
    {
        var addEntityAction = new SuperMap.IS.AddEntityAction(AddEntityLayer, SuperMap.IS.LayerType.point, RefreshOverview, props);
        map.SetAction(addEntityAction);
        ymPrompt.close();
    }
}


function RefreshOverview() {
    if (overview) 
    {
        overview.Update();
        map.Update();
    }  
}

function ControlAddXY() 
{
    var dv = document.getElementById("RadioXY");
    if (dv.checked) 
    {
        $("PointYDIV").style.display = "";
        $("PointXDIV").style.display = "";
    }
    else 
    {
        $("PointYDIV").style.display = "none";
        $("PointXDIV").style.display = "none";
    }
};

function GetMaxID(layerName) 
{
    var qp = new SuperMap.IS.QueryParam();
    qp.queryLayers = new Array();
    qp.IsAllLayer = false;
    qp.queryLayers[0] = new SuperMap.IS.QueryLayer();
    qp.queryLayers[0].layerName = layerName+"@My_ZYGIS";
    qp.queryLayers[0].returnFields = new Array();
    qp.queryLayers[0].returnFields[0] = "SmID";        
    qp.expectCount = -1;
    qp.highlight = new SuperMap.IS.Highlight();
    qp.highlight.highlightResult = false;
    map.GetQueryManager().QueryBySql(qp, onGetMaxID);
}

function onGetMaxID(resultSet) 
{
    if (resultSet != null && resultSet.totalCount > 0) 
    {
        for (var i = 0; i < resultSet.recordsets[0].records.length; i++) 
        {            
            var record = resultSet.recordsets[0].records[i];
            if (parseInt(record.fieldValues[0]) > parseInt(MaxID)) 
            {
                MaxID = record.fieldValues[0];
            }            
        }        
    }    
}


function SelAddLayer(layerName) 
{
    $("PointYDIV").style.display = "none";
    $("PointXDIV").style.display = "none";
    $("PointNameDIV").style.display = "none";
    $("PointHotelTelDIV").style.display = "none";
    $("PointAddressDIV").style.display = "none";

    MaxID = 0;
    $("PointHotelTelDIV").style.display = "";
    $("PointNameDIV").style.display = "";
    $("PointAddressDIV").style.display = "";
    
    
    var dv = document.getElementById("RadioXY");
    if (dv.checked) {
        $("PointYDIV").style.display = "";
        $("PointXDIV").style.display = "";
    }
    else {
        $("PointYDIV").style.display = "none";
        $("PointXDIV").style.display = "none";
    }
    AddEntityLayer = layerName;
    GetMaxID(layerName);
}

var updateEntity = null;
function UpdateEntityAction() 
{
    //map.ClearCache();
    map.ClearHighlight();
    var whereClause = "";
    updateEntity = new SuperMap.IS.PointModifyAction(['Temp@My_ZYGIS'], ['SmID', 'NAME'], 0.0002, whereClause, onUpdateEnComplete, onError, null, "");
    map.SetAction(updateEntity);
    curState = "更改";
}

function onUpdateEnComplete(resultSet) 
{
    if (resultSet != null && resultSet.totalCount > 0) 
    {
        var record = resultSet.recordsets[0].records[0];
        var EditEntityID = record.fieldValues[0]; 
        var layerName = resultSet.recordsets[0].layerName;
        map.GetEntity("zunyi", layerName, parseInt(EditEntityID), onGetSelComplete, onError);
    }
}

function onGetSelComplete(entity) 
{
    if (entity) 
    {
        var str = "<br />&nbsp;&nbsp;&nbsp;&nbsp;编号&nbsp;&nbsp;ID:<input id='m_id' type='text' readonly='true' value=" + entity.fieldValues[0] + " /><br /><br />";
        for (var t = 0; t < entity.fieldValues.length; t++) {
            if (entity.fieldNames[t].toLowerCase() == "name") {
                str += "&nbsp;&nbsp;&nbsp;&nbsp;名&nbsp;&nbsp;&nbsp;&nbsp;称:<input id='m_name' type='text' value=" + entity.fieldValues[t] + " /><br /><br />";
            }
            if (entity.fieldNames[t].toLowerCase() == "telephone") {
                str +="&nbsp;&nbsp;&nbsp;&nbsp;联系电话:<input id='m_tel' type='text' value=" + entity.fieldValues[t] + " /><br /><br />";
            }
            if (entity.fieldNames[t].toLowerCase() == "address") 
            {
                str += "&nbsp;&nbsp;&nbsp;&nbsp;联系地址:<input id='m_add' type='text' value=" + entity.fieldValues[t] + " /><br /><br />";
            }
            if (entity.fieldNames[t].toLowerCase() == "smx") {
                str += "&nbsp;&nbsp;&nbsp;&nbsp;纬&nbsp;&nbsp;&nbsp;&nbsp;度:<input id='m_smx' type='text' readonly='true' value=" + entity.fieldValues[t] + " /><br /><br />";
            }
            if (entity.fieldNames[t].toLowerCase() == "smy") {
                str += "&nbsp;&nbsp;&nbsp;&nbsp;经&nbsp;&nbsp;&nbsp;&nbsp;度:<input id='m_smy' type='text' readonly='true' value=" + entity.fieldValues[t] + " /><br /><br />";
            }
            if (entity.fieldNames[t].toLowerCase() == "tolayer") 
            {
                str += "&nbsp;&nbsp;&nbsp;&nbsp;对象类型:<select id='m_layer' style=\"width:150px; height:20px;\"><option>" + entity.fieldValues[t] + "</option>";
                for (var i = 0; i < map.layers.length; i++) 
                {
                    if (map.layers[i].name.split('@')[0] != "events" && map.layers[i].name.split('@')[0] != "Temp" && map.layers[i].type == SuperMap.IS.LayerType.point) 
                    {
                        str += "<option>" + map.layers[i].name.split('@')[0] + "</option>";
                    }
                }
                str += "</select><br /><br />";
            }
        }
        str += "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type='button' value='提交' onclick=\"UpdateObj(m_layer.options[m_layer.selectedIndex].value);\" />";
        ymPrompt.win({ message: str, title: '更改对象属性', showMask: false, height: 280, width: 300, fixPosition: true, dragOut: false });
    }
}

function UpdateObj(sellayer) 
{
    var id = $("m_id").value;
    var name = $("m_name").value;
    var tel = $("m_tel").value;
    var smx = $("m_smx").value;
    var smy = $("m_smy").value;    

    var entity = new SuperMap.IS.Entity();
    entity.shape = new SuperMap.IS.Geometry();
    entity.shape.parts = new Array();
    entity.shape.feature = SuperMap.IS.LayerType.point;
    entity.id = id;
    entity.fieldNames = new Array();
    entity.fieldValues = new Array();
    entity.fieldNames[0] = "NAME";
    entity.fieldValues[0] = name;
    entity.fieldNames[1] = "Telephone";
    entity.fieldValues[1] = tel;
    entity.fieldNames[2] = "SmX";
    entity.fieldValues[2] = smx;
    entity.fieldNames[3] = "SmY";
    entity.fieldValues[3] = smy;
    entity.fieldNames[4] = "ToLayer";
    entity.fieldValues[4] = sellayer;
    var entities = new Array(entity);
    map.GetEditManager().UpdateEntity("zunyi", "Temp", entities, RefreshOverview, onError);
    ymPrompt.close();
}


function DeleteEntityAction() 
{
    map.ClearCache();
    map.ClearHighlight();
    var whereClause = "";
    updateEntity = new SuperMap.IS.PointModifyAction(['Temp@My_ZYGIS'], ['SmID'], 0.0002, whereClause, onDelComplete, onError, null, "");
    map.SetAction(updateEntity);
    curState = "删除";
}

function onDelComplete(resultSet) 
{
    if (resultSet != null && resultSet.totalCount > 0) 
    {
        var record = resultSet.recordsets[0].records[0];
        var id = record.fieldValues[0];
        var ids = new Array();
        ids.push(id);
        if (confirm("确定删除该点吗？")) 
        {
            map.GetEditManager().DeleteEntity("zunyi", "Temp", ids, RefreshOverview);
            map.Update();
        }
    }    
}


function GetAllHotel(obj,queryHotelType) 
{
    QueryPlaceName = "酒店/招待所";
    ClearHighlight();
    //var laybar = document.getElementById("LayerControl");
    var res = document.getElementById("QueryResult");
    res.innerHTML = "";
    
    var qp = new SuperMap.IS.QueryParam();
    qp.queryLayers = new Array();
    qp.IsAllLayer = false;
    qp.queryLayers[0] = new SuperMap.IS.QueryLayer();
    qp.queryLayers[0].layerName = "酒店@My_ZYGIS";
    qp.queryLayers[0].returnFields = new Array();
    qp.queryLayers[0].returnFields[0] = "LayerName";
    qp.queryLayers[0].returnFields[1] = "NAME";
    qp.queryLayers[0].returnFields[2] = "SmID";
    qp.queryLayers[0].returnFields[3] = "Telephone";
    //qp.queryLayers[0].whereClause = "SmID>0";

    //laybar.style.display = "none";
    res.style.display = "block";

    document.getElementById("PagesBar").style.display = "none";
    if (queryHotelType == "all") 
    {
        res.style.height = "100%";
        qp.expectCount = -1;
        qp.highlight = new SuperMap.IS.Highlight();
        qp.highlight.highlightResult = false;
        document.getElementById("btnPage1").value = "1";
        document.getElementById("btnPage2").value = "2";
        document.getElementById("btnPage3").value = "3";
        map.GetQueryManager().QueryBySql(qp, onGetQueryResultCount);
    }
    else 
    {
        qp.startRecord = parseInt(queryHotelType-1) * 15;
        qp.expectCount = 15;
        qp.highlight = new SuperMap.IS.Highlight();
        qp.highlight.highlightResult = false;
        map.GetQueryManager().QueryBySql(qp, onQueryCompletePart);
    }
    curState = "查看";
}

var count = 0;
function onGetTempResult(resultSet) 
{
    if (resultSet != null && resultSet.totalCount > 0) {
        var strTab = "&nbsp;&nbsp;<div style= \"height:300px; overflow:scroll; \"><table style=\"border:solid 1px #229CCB;\"><tr><td>选择</td><td>编号</td><td>&nbsp;&nbsp;X</td><td>&nbsp;&nbsp;Y</td><td>&nbsp;&nbsp;名称</td><td>联系电话</td><td>审核类型</td><td>联系地址</td></tr>";
        for (var i = 0; i < resultSet.recordsets[0].records.length; i++) 
        {
            var record = resultSet.recordsets[0].records[i];
            strTab += "<tr id='row_" + i + "'><td><input type='checkbox' style=\"width:20px;\" id='temp_" + i + "' /></td>";
            strTab += "<td><input id='id_" + i + "' type='button' style=\"width:30px; border:solid 1px #F2F6FB; background-color:Transparent;\" value='" + record.fieldValues[0] + "'</td>";
            strTab += "<td><input id='x_" + i + "' type='button' style=\"width:100px; border:solid 1px #F2F6FB; background-color:Transparent;\" value='" + record.fieldValues[2] + "'</td>";
            strTab += "<td><input id='y_" + i + "' type='button' style=\"width:100px; border:solid 1px #F2F6FB; background-color:Transparent;\" value='" + record.fieldValues[3] + "'</td>";
            strTab += "<td><input id='name_" + i + "' type='button' style=\"width:80px; border:solid 1px #F2F6FB; background-color:Transparent;\" value='" + record.fieldValues[1] + "'</td>";
            strTab += "<td><input id='tel_" + i + "' type='button'  style=\"width:80px; border:solid 1px #F2F6FB; background-color:Transparent;\" value='" + record.fieldValues[4] + "'</td>";
            strTab += "<td><select id='layer_" + i + "' style=\"width:80px; height:20px;\"\"><option>" + record.fieldValues[5] + "</option>";
            for (var j = 0; j < map.layers.length; j++) 
            {
                    strTab += "<option>" + map.layers[j].name.split("@")[0] + "</option>";
            }
            strTab += "</select></td><td><input id='addr_" + i + "' type='button'  style=\"width:80px; border:solid 1px #F2F6FB; background-color:Transparent;\" value='" + record.fieldValues[6] + "'</td></tr>";
        }
        count = resultSet.recordsets[0].records.length;
        strTab += "</table></div><br /><br /><br />";
        strTab += "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
        strTab += "<input type='button' value='确定' onclick=\"AddPointToLayer();\"> &nbsp;&nbsp;&nbsp;&nbsp;<input type='button' value='删除' onclick=\"UnCheckedPoint();\">&nbsp;&nbsp;&nbsp;&nbsp;<input type='button' value='关闭' onclick=\"ymPrompt.close();\">";
        ymPrompt.win({ message: strTab, title: '加点审核', showMask: false, height: 420, width: 600, fixPosition: true, dragOut: false });
    }
    else 
    {
    				ymPrompt.alert({ message: "没有供审核的对象存在！", title: '提示', showMask: false, height: 180, width: 280, fixPosition: false, dragOut: false });
    }
    
}

function AddPointToLayer() 
{
    for (var i = 0; i < count; i++) {
        var chk = document.getElementById("temp_" + i);
        if (chk.checked) {
            var Latitude = document.getElementById("x_" + i).value;
            var Longitude = document.getElementById("y_" + i).value;

            var entity = new SuperMap.IS.Entity();
            entity.shape = new SuperMap.IS.Geometry();
            entity.shape.parts = new Array();
            entity.shape.feature = SuperMap.IS.LayerType.point;
            entity.id = parseInt(document.getElementById("id_" + i).value);
            entity.fieldNames = new Array();
            entity.fieldValues = new Array();
            entity.fieldNames[0] = "NAME";
            var objName= document.getElementById("name_" + i).value;
            entity.fieldValues[0] = objName;
            //alert(objName);
            //var layerName = document.getElementById("layer_" + i).value;
            var layers = document.getElementById("layer_" + i);
            var layerName = layers.options[layers.selectedIndex].value;
            var hotelTel = document.getElementById("tel_" + i).value;
            if (hotelTel) {
                entity.fieldNames[1] = "telephone";
                entity.fieldValues[1] = hotelTel;
            }
            var objaddress = document.getElementById("addr_" + i).value;
            if (objaddress) 
            {
                entity.fieldNames[1] = "Address";
                entity.fieldValues[1] = objaddress;
            }
            
            var mapCoord = new SuperMap.IS.MapCoord(Latitude, Longitude);
            entity.shape.points = new Array(mapCoord);
            entity.shape.id = parseInt(document.getElementById("id_" + i).value);
            var entities = new Array(entity);
            if (map != null) {
                map.GetEditManager().AddEntity("zunyi", layerName, entities, RefreshOverview, onError, "");
                document.getElementById("row_" + i).style.display = "none";
                
                var id = parseInt(document.getElementById("id_" + i).value);
                var ids = new Array();
                ids.push(id);
                map.GetEditManager().DeleteEntity("zunyi", "Temp", ids, RefreshOverview);
                map.Update();
            }
        }
    }
    alert("审核成功!", 1, "", "提示");
}

function UnCheckedPoint() 
{
    for (var i = 0; i < count; i++) {
        var tid = "temp_" + i;

        var chk = document.getElementById(tid);
        if (chk.checked) 
        {
            if (map != null) 
            {
                var id = parseInt(document.getElementById("id_" + i).value);
                var ids = new Array();
                ids.push(id);
                map.GetEditManager().DeleteEntity("zunyi", "Temp", ids, RefreshOverview);
                document.getElementById("row_" + i).style.display = "none";
            }
        }
        alert("已删除！", 1, "", "提示");
    }
}


function VerifyPoint() 
{
    var qp = new SuperMap.IS.QueryParam();
    ClearHighlight();
    qp.queryLayers = new Array();
    qp.IsAllLayer = true;
    qp.queryLayers[0] = new SuperMap.IS.QueryLayer();
    qp.queryLayers[0].layerName = "Temp@My_ZYGIS";
    qp.queryLayers[0].returnFields = new Array(7);
    qp.queryLayers[0].returnFields[0] = "SmID";
    qp.queryLayers[0].returnFields[1] = "Name";
    qp.queryLayers[0].returnFields[2] = "SmX";
    qp.queryLayers[0].returnFields[3] = "SmY";
    qp.queryLayers[0].returnFields[4] = "Telephone";
    qp.queryLayers[0].returnFields[5] = "ToLayer";
    qp.queryLayers[0].returnFields[6] = "Address";
    qp.queryLayers[0].whereClause = "SmID>0";
    qp.highlight = new SuperMap.IS.Highlight();
    qp.highlight.highlightResult = false;
    qp.expectCount = -1;
    map.GetQueryManager().QueryBySql(qp, onGetTempResult);
}


function setshowtext(obj, txt) {
				if (obj.value == "起点:请输入站点名或地名" || obj.value == "终点:请输入站点名或地名") {
								obj.value = "";
								obj.style.color = "Black";
				}

				if (txt.value == "") {
								if (txt.id == "startport") {
												txt.value = "起点:请输入站点名或地名";
								}
								else {
												txt.value = "终点:请输入站点名或地名";
								}
								txt.style.color = "gray";
				}
}

function initshowtext(obj,txt) {
				txt.value = obj.title;
				txt.style.color = "gray";
}

function querybustxt(obj) {
				if (obj.value == "车次 如:10" || obj.value == "站点 如:火车站") {
								obj.value = "";
								obj.style.color = "black";
				}
}

function setAllEmpty(st, ed, txt, ro) {
				st.value = "起点:请输入站点名或地名";
				st.style.color = "gray";
				ed.value = "终点:请输入站点名或地名";
				ed.style.color = "gray";
				if (ro.id == "roLineQuery") {
								txt.value = "车次 如:10";
				}
				else if (ro.id == "roPortQuery") {
								txt.value = "站点 如:火车站";
				}
				txt.style.color = "gray";
}


function getLine(lineName) {
				var spatialAnalyst = map.GetSpatialAnalystManager();
				spatialAnalyst.FuzzyFindBusLine(lineName, onBusPortsQueryComplete, errorfun, "linename");
}

var pline = "";
function queryBusByLineName() {
				ymPrompt.close();
				ClearHighlight();
				startport = "";
				endport = "";
				startpt = null;
				endpt = null;
				map.SetAction(null);
				map.workLayer.style.cursor = "pointer";
				var ressss = document.getElementById("QueryResult");
				document.getElementById("PagesBar").style.display = 'none';
				ressss.style.height = "100%";

				if (document.getElementById("roLineQuery").checked) {
								var lineName = document.getElementById("buscond").value;
								if (lineName == null || lineName == "") lineName = document.getElementById("buscond").text;
								pline = lineName;
								if (lineName == null || lineName == "" || lineName == "车次 如:10") {
												//alert("请输入公交线路！");
												ymPrompt.alert({ message: "请输入公交线路！", title: '提示', showMask: false, height: 180, width: 280, fixPosition: false, dragOut: false });
												return;
								}
								document.getElementById("QueryResult").innerHTML = "";
								var spatialAnalyst = map.GetSpatialAnalystManager();
								spatialAnalyst.FuzzyFindBusLine(lineName, onGetBus,onError,"");
								//getLine(lineName);
				}
				else if (document.getElementById("roPortQuery").checked)
				{
								var portname = document.getElementById("buscond").value;
								if (portname == null || portname == "") portname = document.getElementById("buscond").text;
								if (portname == null || portname == "" || portname == "站点 如:火车站") {
												//alert("请输入公交站点！");
												ymPrompt.alert({ message: "请输入公交站点！", title: '提示', showMask: false, height: 180, width: 280, fixPosition: false, dragOut: false });
												return;
								}
								document.getElementById("QueryResult").innerHTML = "";
								document.getElementById("QueryResult").style.overflowY = "auto";
								//var spatialAnalyst = map.GetSpatialAnalystManager();
								//spatialAnalyst.GetBusLinesByStopName(portname.toString(), getlines, onError, "");
								
								getbuslineByportName(portname);
				}
}


function onGetBus(buslines) {
				var n = 0;
				if (buslines) {
								var blankbar = document.getElementById("blanktd");
								var rightbar = document.getElementById("RightControl");
								document.getElementById("Maptab").style.width = document.documentElement.clientWidth + "px";
								blankbar.style.display = "";
								rightbar.style.display = "";
								document.getElementById("QueryResult").style.display = "";
								document.getElementById("QueryResult").style.overflowY = "auto";
								document.getElementById("maptd").style.width = document.documentElement.clientWidth - 280 + "px";
								document.getElementById("MapControl").style.width = document.documentElement.clientWidth - 280 + "px";
								moveWin("overview", document.getElementById("MapControl").clientWidth - 195, document.documentElement.clientHeight - 174);
								moveWin("Eyebtn", document.getElementById("MapControl").clientWidth - 7, document.documentElement.clientHeight - 28);

								map.Resize(document.getElementById("MapControl").clientWidth, document.getElementById("MapControl").clientHeight);
								document.getElementById("ExpandView").src = "./images/fullscreen.gif";
								document.getElementById("ExpandView").alt = "展开";
								document.getElementById("ExpandView").title = "展开";

								var spatialAnalyst = map.GetSpatialAnalystManager();
								document.getElementById("QueryResult").innerHTML += "<div style=\"font-weight:bold; font-size:12px;\">共有公交路线" + buslines.length + "条</div>";
								for (var i = 0; i < buslines.length; i++) {
												getallLineStops(buslines[i].lineId, buslines[i].lineName,'line');
												//document.getElementById("QueryResult").innerHTML += "<div style=\"cursor:pointer; height:40px; line-height:36px; text-align:center; margin-top:2px; border:solid 1px #6882D8;\" onmouseover=\"this.style.color='blue'; this.style.backgroundColor='#D1E0F5'; this.style.borderWidth='2px';\" onmouseout=\"this.style.color='black'; this.style.backgroundColor='#FFF'; this.style.borderWidth='1px';\" onclick=\"ShowLine(parseInt(" + buslines[i].smId + "))\"><div style=\"float:left; width:24px; height:30px; margin:5px; line-height:25px; background-image:url('images/res_over.gif');\">" + (i + 1) + "</div>" + buslines[i].lineName + "</div>";
								}
								if (buslines.length == 0) {
												ymPrompt.alert({ message: "没有找到相应的公交路线！", title: '提示', showMask: false, height: 180, width: 280, fixPosition: false, dragOut: false });
								}
				}
				else {
								//alert('没有找到相应的公交路线');
								ymPrompt.alert({ message: "没有找到相应的公交路线！", title: '提示', showMask: false, height: 180, width: 280, fixPosition: false, dragOut: false });

								var blankbar = document.getElementById("blanktd");
								var rightbar = document.getElementById("RightControl");

								blankbar.style.display = "none";
								rightbar.style.display = "none";
								document.getElementById("maptd").style.width = document.documentElement.clientWidth + "px";
								document.getElementById("MapControl").style.width = document.documentElement.clientWidth + "px";
								if (overview != null) {
												moveWin("overview", document.getElementById("MapControl").clientWidth - 195, document.documentElement.clientHeight - 174);
												moveWin("Eyebtn", document.getElementById("MapControl").clientWidth - 7, document.documentElement.clientHeight - 28);
												map.Resize(document.getElementById("MapControl").clientWidth, document.getElementById("MapControl").clientHeight);
												document.getElementById("ExpandView").src = "./images/restore.gif";
												document.getElementById("ExpandView").alt = "收缩";
												document.getElementById("ExpandView").title = "收缩";
								}
				}
}


function onBusPortsQueryComplete(busSolutions, userContext) {
				//debugger
				var sle =new SuperMap.IS.Style();
				sle.penColor = 255;
				sle.penWidth = 5;
				sle.brushColor = 255;

				if (busSolutions == null || busSolutions.length <= 0) {
								//alert('没有找到相应的公交解决方案');
								ymPrompt.alert({ message: "没有找到相应的公交解决方案！", title: '提示', showMask: false, height: 180, width: 280, fixPosition: false, dragOut: false });
								var blankbar = document.getElementById("blanktd");
								var rightbar = document.getElementById("RightControl");

								blankbar.style.display = "none";
								rightbar.style.display = "none";
								document.getElementById("maptd").style.width = document.documentElement.clientWidth + "px";
								document.getElementById("MapControl").style.width = document.documentElement.clientWidth + "px";
								if (overview != null) {
												moveWin("overview", document.getElementById("MapControl").clientWidth - 195, document.documentElement.clientHeight - 174);
												moveWin("Eyebtn", document.getElementById("MapControl").clientWidth - 7, document.documentElement.clientHeight - 28);
												map.Resize(document.getElementById("MapControl").clientWidth, document.getElementById("MapControl").clientHeight);
												document.getElementById("ExpandView").src = "./images/restore.gif";
												document.getElementById("ExpandView").alt = "收缩";
												document.getElementById("ExpandView").title = "收缩";
								}

								return;
				}
				else {
								if (userContext == "linename") {												
												ShowQueryResultByLineName(busSolutions);
								}
								else if (userContext == "portname")
								{

								}
								else if (userContext == "ports") {
												
												for(var i=0;i<busSolutions.length;i++)
												{
																var solution = new SuperMap.IS.BusSolution();
																solution=busSolutions[i];
																if(solution.routings!=null && solution.routing.length>0)
																{
																				var ar=new Array();
																}											
												}
								}
				}
}

function likestr(str,arr) {
				var ar = new Array();
				for (var i = 0; i < arr.length; i++) {
								var s = "";
								s = arr[i].stopName;
								if (s.indexOf(str) != -1) {
												ar[ar.length] = s;
								}
				}
				return ar;
}

function ShowLine(id) 
{
				ClearHighlight();

				var qp = new SuperMap.IS.QueryParam();
				ClearHighlight();
				qp.queryLayers = new Array();
				qp.IsAllLayer = true;
				qp.hasGeometry=true
				qp.queryLayers[0] = new SuperMap.IS.QueryLayer();
				qp.queryLayers[0].layerName = "公交路线@My_ZYGIS";
				qp.queryLayers[0].returnFields = new Array(2);
				qp.queryLayers[0].returnFields[0] = "SmID";
				qp.queryLayers[0].returnFields[1] = "Name";
				qp.queryLayers[0].whereClause = "SmUserID="+id.toString();
				qp.highlight = new SuperMap.IS.Highlight();
				qp.highlight.highlightResult = false;
				qp.expectCount = 1;
				map.GetQueryManager().QueryBySql(qp, onGetLineResult);

				function onGetLineResult(result) {
								if (result != null && result.totalCount > 0) {
												var record = result.recordsets[0].records[0];
												var vid = record.fieldValues[0];
												map.GetEntity("zunyi", "公交路线@My_ZYGIS", parseInt(vid), onGetBusEntity, onError);

												function onGetBusEntity(entity) {
																if (entity) {
																				ShowBusLine(entity.shape.points);
																}
												}
								}
				}				

}

function GetShowLinesStops(ports) {
				if (ports) {
								var parts = new Array();
								for (var i = 0; i < ports.length; i++) {
												parts[parts.length] = ports[i].Location;
								}
								ClearHighlight();
								ShowBusLine(parts);
								if (startpt != null && endpt != null && document.getElementById("roLineQuery").checked == false && document.getElementById("roPortQuery").checked == false) {
												ShowPoint(startpt.x, startpt.y, '0', startport);
												ShowPoint(endpt.x, endpt.y, '1',endport);
								}
				}
}

function ShowPoint(x,y,type,name) {

				if (startpt == null && endpt == null && startport == "" && endport == "") {
								map.CustomLayer.ClearMarks();
				}
				var w = 1;
				var h =1;
				var innerHtml="";
				if (type == "0") {
								innerHtml = "<img alt='' style=\"\" src='images/StartPort.gif' />";
				}
				else if (type == "1") {
								innerHtml = "<img alt='' style=\"\" src='images/EndPort.gif' />";
				}
				else if (type == "2") {
								innerHtml = "<img alt='' style=\"\" src='images/MidPort.gif' />";
				}
				else 
				{
								innerHtml = "<img alt='' style=\"\" src='images/port.gif' />";
				}
				map.CustomLayer.AddMark("Fpos", x, y, w, h, innerHtml, "", 10);
}

function ShowQueryResultByLineName(busSolutions) {
				if (busSolutions.length > 0) {

								var blankbar = document.getElementById("blanktd");
								var rightbar = document.getElementById("RightControl");
								document.getElementById("Maptab").style.width = document.documentElement.clientWidth + "px";
								blankbar.style.display = "";
								rightbar.style.display = "";
								document.getElementById("QueryResult").style.display = "";
								document.getElementById("maptd").style.width = document.documentElement.clientWidth - 280 + "px";
								document.getElementById("MapControl").style.width = document.documentElement.clientWidth - 280 + "px";
								moveWin("overview", document.getElementById("MapControl").clientWidth - 195, document.documentElement.clientHeight - 174);
								moveWin("Eyebtn", document.getElementById("MapControl").clientWidth - 7, document.documentElement.clientHeight - 28);

								map.Resize(document.getElementById("MapControl").clientWidth, document.getElementById("MapControl").clientHeight);
								document.getElementById("ExpandView").src = "./images/fullscreen.gif";
								document.getElementById("ExpandView").alt = "展开";
								document.getElementById("ExpandView").title = "展开";


								var res = document.getElementById("QueryResult");
								res.innerHTML = "<div style=\"\">公交路线查找结果总共有" + busSolutions.length + "条</div>";
//								if (document.getElementById("roPortQuery").checked) { res.innerHTML += "<input type='button' value='返回' onclick=\"gebackport();\" />"; }
								if (document.getElementById("roPortQuery").checked) {
												//res.innerHTML += "<div title='返回' style=\"background-image:url('images/goback.gif'); font-size:medium; text-align:center; margin-left:5px; border:solid 1px gray; line-height:22px; width:25px; height:25px; cursor:pointer;\" onclick='gebackport();' ></div>";
								}
								var strdiv = "";
								for (var i = 0; i < busSolutions.length; i++) {
												var spatialAnalyst = map.GetSpatialAnalystManager();
												spatialAnalyst.GetFollowingStops(busSolutions[i].smId, true, getallports, onError, busSolutions.length - i + "," + busSolutions[i].lineName + "," + busSolutions[i].lineId);
												
												function getallports(ports,userContext) {
																if (ports == null) {
																				return;
																}
																document.getElementById("QueryResult").innerHTML += "<div style=\"cursor:pointer; margin-top:10px;\" onclick=\"curState='" + userContext.split(',')[1] + "';ShowLine(" + userContext.split(',')[2] + ");\" onmouseover=\"this.style.border='solid 1px #CCCDDD';\" onmouseout=\"this.style.border='none 1px #CCCDDD';\"><div style=\"font-weight:bold; font-size:12px;\">" + userContext.split(",")[1] + "</div><div style=\"font-size:9px;\">";
																for (var j = 0; j < ports.length; j++) {
																				if (j == ports.length - 1) {
																								var le = parseInt(userContext.split(",")[0]);
																								strdiv += ports[j].stopName + "</div></div>";
																								if (le == 1) {
																												document.getElementById("QueryResult").innerHTML += "<a style=\"cursor:pointer;\" onmouseout=\"this.style.color='black';\" onmouseover=\"this.style.color='blue';\" onclick=\"ShowPoint(" + ports[j].Location.x + "," + ports[j].Location.y + ",-1,'" + ports[j].stopName + "')\">" + ports[j].stopName + "</a></div></div>";
																								}
																								else {
																												document.getElementById("QueryResult").innerHTML += "<a style=\"cursor:pointer;\" onmouseout=\"this.style.color='black';\" onmouseover=\"this.style.color='blue';\" onclick=\"ShowPoint(" + ports[j].Location.x + "," + ports[j].Location.y + ",-1,'" + ports[j].stopName + "')\">" + ports[j].stopName + "</a></div>";
																								}
																				}
																				else {
																								document.getElementById("QueryResult").innerHTML += "<a style=\"cursor:pointer;\" onmouseout=\"this.style.color='black';\" onmouseover=\"this.style.color='blue';\" onclick=\"ShowPoint(" + ports[j].Location.x + "," + ports[j].Location.y + ",-1,'" + ports[j].stopName + "')\">" + ports[j].stopName + "</a>->";
																				}
																}
												}
								}
								
				}
				else 
				{
								var blankbar = document.getElementById("blanktd");
								var rightbar = document.getElementById("RightControl");

								blankbar.style.display = "none";
								rightbar.style.display = "none";
								document.getElementById("maptd").style.width = document.documentElement.clientWidth + "px";
								document.getElementById("MapControl").style.width = document.documentElement.clientWidth + "px";
								if (overview != null) {
												moveWin("overview", document.getElementById("MapControl").clientWidth - 195, document.documentElement.clientHeight - 174);
												moveWin("Eyebtn", document.getElementById("MapControl").clientWidth - 7, document.documentElement.clientHeight - 28);
												map.Resize(document.getElementById("MapControl").clientWidth, document.getElementById("MapControl").clientHeight);
												document.getElementById("ExpandView").src = "./images/restore.gif";
												document.getElementById("ExpandView").alt = "收缩";
												document.getElementById("ExpandView").title = "收缩";
								}

				}
}

var pname = "";
function getbuslineByportName(portname) {
				pname = portname;
				getAllBusLine();
}

var alllineIDs = new Array();
var alllineNames = new Array();
function getAllBusLine() {
    var qp = new SuperMap.IS.QueryParam();
    qp.queryLayers = new Array();
    qp.IsAllLayer = false;
    qp.highlight = new SuperMap.IS.Highlight();
    qp.highlight.highlightResult = false;
    qp.queryLayers[0] = new SuperMap.IS.QueryLayer();
    qp.queryLayers[0].layerName = "公交路线@My_ZYGIS";
    qp.queryLayers[0].whereClause = "";
    qp.queryLayers[0].returnFields = new Array(2);
    qp.queryLayers[0].returnFields[0] = "SmUserID";
    qp.queryLayers[0].returnFields[1] = "Name";
    qp.expectCount = -1;
				map.GetQueryManager().QueryBySql(qp, _onQueryLinesCompelete);
}

var nnn = 0;
function _onQueryLinesCompelete(resultSet) 
{
				if (resultSet != null && resultSet.totalCount > 0) {
								alllineIDs = new Array(resultSet.recordsets[0].records.length);
								alllineNames = new Array(resultSet.recordsets[0].records.length);
								nnn = 0;
								for (var j = 0; j < resultSet.recordsets[0].records.length; j++) 
								{
												var record = resultSet.recordsets[0].records[j];
												alllineIDs[j] = record.fieldValues[0];
												alllineNames[j] = record.fieldValues[1];
												
												getallLineStops(record.fieldValues[0], record.fieldValues[1]);
								}
				}
}


var lPorts = new Array();

function getallLineStops(lineId,lineName,usertext) {
				var spatialAnalyst = map.GetSpatialAnalystManager();
				lPorts = new Array();
				spatialAnalyst.GetFollowingStops(parseInt(lineId), true, onGetAllLinePorts, onError, lineName+","+lineId);
				function onGetAllLinePorts(ports,userContext) {
								if (ports == null) {return;}
								var dv = "";
								var ann = likestr(pname, ports);
								if (ann == null) {return;}
								if (ann.length > 0) {
												lPorts[nnn] = userContext;
												nnn++;
												var spatialAnalyst1 = map.GetSpatialAnalystManager();
												spatialAnalyst1.GetFollowingStops(parseInt(userContext.split(",")[1]), true, getallports, onError, userContext);

												function getallports(ports, userContext) {
																if (ports == null) {
																				return;
																}
																var ih = "<div style=\"cursor:pointer; margin-top:10px; line-height:20px; font-size:15px;\" onmouseover=\"this.style.border='solid 2px #6882D8'; this.style.backgroundColor='#D1E0F5';\" onmouseout=\"this.style.border='none 1px #CCCDDD'; this.style.backgroundColor='#FFF';\"><div style=\"font-weight:bold; font-size:12px; margin:5px;\" onmouseover=\"this.style.color='blue';\" onmouseout=\"this.style.color='black';\" onclick=\"curState='" + userContext.split(',')[0] + "';ShowLine(" + userContext.split(',')[1] + ");\">" + userContext.split(',')[0] + "</div><div style=\"font-size:12px; background-color:#D1E0F5;\">";
																for (var j = 0; j < ports.length; j++) {
																				if (j == ports.length - 1) {
																								ih += "<a style=\"cursor:pointer;\" onmouseout=\"this.style.color='black';\" onmouseover=\"this.style.color='blue';ShowPoint(" + ports[j].Location.x + "," + ports[j].Location.y + ");\" onclick=\"ShowPoint(" + ports[j].Location.x + "," + ports[j].Location.y + ")\">" + ports[j].stopName + "</a></div>";
																				}
																				else {
																								ih += "<a style=\"cursor:pointer;\" onmouseout=\"this.style.color='black';\" onmouseover=\"this.style.color='blue';ShowPoint(" + ports[j].Location.x + "," + ports[j].Location.y + ");\" onclick=\"ShowPoint(" + ports[j].Location.x + "," + ports[j].Location.y + ")\">" + ports[j].stopName + "</a>->";
																				}
																}
																document.getElementById("QueryResult").innerHTML += ih;
												}
								}
								if (document.getElementById("QueryResult").childNodes.length > 0) {
												if (usertext == "line") {
																document.getElementById("QueryResult").childNodes[0].innerHTML = "<div style=\"background-image:url('images/2.gif');\">符合路线(\"" + pline + "\")的车次有" + nnn + "次</div>";
												}
												else {
																document.getElementById("QueryResult").childNodes[0].innerHTML = "<div style=\"background-image:url('images/2.gif');\">经过该站点(\"" + pname + "\")车次有" + nnn + "次</div>";
												}
								}
								else {
												if (usertext == "line") {
																document.getElementById("QueryResult").innerHTML = "<div style=\"background-image:url('images/2.gif');\">符合路线(\"" + pline + "\")的车次有" + nnn + "次</div>";
												}
												else {
																document.getElementById("QueryResult").innerHTML = "<div style=\"background-image:url('images/2.gif');\">经过该站点(\"" + pname + "\")车次有" + nnn + "次</div>";
												}
								}

								var blankbar = document.getElementById("blanktd");
								var rightbar = document.getElementById("RightControl");
								if (nnn > 0) {
												document.getElementById("Maptab").style.width = document.documentElement.clientWidth + "px";
												blankbar.style.display = "";
												rightbar.style.display = "";
												document.getElementById("QueryResult").style.display = "";
												document.getElementById("maptd").style.width = document.documentElement.clientWidth - 280 + "px";
												document.getElementById("MapControl").style.width = document.documentElement.clientWidth - 280 + "px";
												moveWin("overview", document.getElementById("MapControl").clientWidth - 195, document.documentElement.clientHeight - 174);
												moveWin("Eyebtn", document.getElementById("MapControl").clientWidth - 7, document.documentElement.clientHeight - 28);

												map.Resize(document.getElementById("MapControl").clientWidth, document.getElementById("MapControl").clientHeight);
												document.getElementById("ExpandView").src = "./images/fullscreen.gif";
												document.getElementById("ExpandView").alt = "展开";
												document.getElementById("ExpandView").title = "展开";
								}
								else 
								{
												blankbar.style.display = "none";
												rightbar.style.display = "none";
												document.getElementById("maptd").style.width = document.documentElement.clientWidth - 22 + "px";
												document.getElementById("MapControl").style.width = document.documentElement.clientWidth - 22 + "px";
												if (overview != null) {
																moveWin("overview", document.getElementById("MapControl").clientWidth - 195, document.documentElement.clientHeight - 174);
																moveWin("Eyebtn", document.getElementById("MapControl").clientWidth - 7, document.documentElement.clientHeight - 28);
																map.Resize(document.getElementById("MapControl").clientWidth, document.getElementById("MapControl").clientHeight);
																document.getElementById("ExpandView").src = "./images/restore.gif";
																document.getElementById("ExpandView").alt = "收缩";
																document.getElementById("ExpandView").title = "收缩";
												}
								}
				}
}


function onlightline(viewBounds, userContext) 
{
				
}

function errorfun(responseText,userContext) {

}

var ttName = "";
var nnnn = 0;

var startports = new Array();
var endports = new Array();

var startIDs = new Array();
var endIDs = new Array();

function checkIsPort(ptName,type) {
				ttName = ptName;
				var onechange = document.getElementById("onechangeContent");
				onechange.innerHTML = "";
				nnnn = 0;
				var qp = new SuperMap.IS.QueryParam();
				qp.queryLayers = new Array();
				qp.IsAllLayer = false;
				qp.highlight = new SuperMap.IS.Highlight();
				qp.highlight.highlightResult = false;
				qp.queryLayers[0] = new SuperMap.IS.QueryLayer();
				qp.queryLayers[0].layerName = "公交站点@My_ZYGIS";
				qp.queryLayers[0].whereClause = "Name like '%" + ptName + "%'";
				qp.queryLayers[0].returnFields = new Array(2);
				qp.queryLayers[0].returnFields[0] = "SmID";
				qp.queryLayers[0].returnFields[1] = "Name";
				qp.expectCount = -1;
				map.GetQueryManager().QueryBySql(qp, onGetPortComplete, onError, type.toString()+","+ptName);
}

var pstartID = -1;
var pendID = -1;

function onGetPortComplete(resultSet, userContext) {
				if (resultSet != null && resultSet.totalCount > 0) {
								if (userContext.split(",")[0] == "start") {
												startports = new Array();
												startIDs = new Array();
												for (var i = 0; i < resultSet.recordsets[0].records.length; i++) {
																startports[i] = resultSet.recordsets[0].records[i].fieldValues[1];
																startIDs[i] = resultSet.recordsets[0].records[i].fieldValues[0];
												}
												if (resultSet.recordsets[0].records.length == 1) {
																startport = resultSet.recordsets[0].records[0].fieldValues[1];
																pstartID = resultSet.recordsets[0].records[0].fieldValues[0];
												}
								}
								else if (userContext.split(",")[0] == "end") {
												endports = new Array();
												endIDs = new Array();
												for (var i = 0; i < resultSet.recordsets[0].records.length; i++) {
																endports[i] = resultSet.recordsets[0].records[i].fieldValues[1];
																endIDs[i] = resultSet.recordsets[0].records[i].fieldValues[0];
												}
												if (resultSet.recordsets[0].records.length == 1) {
																endport = resultSet.recordsets[0].records[0].fieldValues[1];
																pendID = resultSet.recordsets[0].records[0].fieldValues[0];
												}
								}
								var fg = 0;
								if (startport != "" && endport != "") {
												getQueryPortMapCoord();
												fg = 1;
								}
								if (fg == 0 && startports.length>0 && endports.length>0) {
												SelBusSolutionPorts();
								}
				}
				else {
								GetNearestBusPort(userContext.split(",")[1], userContext.split(",")[0]);
				}
}

function SelBusSolutionPorts() {
				if (startports.length > 0 && endports.length > 0) {
								var str = "<div style=\"width:99%; text-align:center; height:80%; overflow-y:auto;\"><table><tr><td>选择起点</td><td>选择终点</td></tr><tr><td style=\"border-right:solid 1px blue; text-align:left;\">";
								for (var i = 0; i < startports.length; i++) {
												str += "<input type='radio' name='sports' onclick=\"getqueryports(this.title,'start');\" title='" + startports[i] + "_" + startIDs[i] + "' />" + startports[i] + "<br />";
								}
								str += "</td><td style=\"text-align:left;\">";
								for (var i = 0; i < endports.length; i++) {
												str += "<input type='radio' name='eports' onclick=\"getqueryports(this.title,'end');\" title='" + endports[i] + "_" + endIDs[i] + "' />" + endports[i] + "<br />";
								}
								str += "</td></tr></table></div>";
								str += "<div style=\"text-align:center;\"><input type='button' value='查看' onclick=\"if(startport!='' && endport!=''){getQueryPortMapCoord();}\" /></div>";
								var hh=startports.length*20;
								if (hh < endports.length * 20) { hh = endports.length * 20; }
								hh += 130;
								
								ymPrompt.win({ message: str, title: '选择两个站点查询', showMask: true, height: hh, width: 240, fixPosition: true, dragOut: true });
				}
}

function getqueryports(title, type) {
				if (type == "start") {
								startport = title.split('_')[0];
								pstartID = title.split('_')[1];
				}
				if (type == "end") {
								endport = title.split('_')[0];
								pendID = title.split('_')[1];
				}
}

var lastname = new Array();
function getQueryPortMapCoord() {
				ymPrompt.close();
				map.GetEntity("zunyi", '公交站点@My_ZYGIS', parseInt(pstartID), getPortMapCoord, onError,"0");
				map.GetEntity("zunyi", '公交站点@My_ZYGIS', parseInt(pendID), getPortMapCoord, onError,"1");
				function getPortMapCoord(entity, userContext) {
								if (entity == null || entity.shape == null) { return; }
								var pt = entity.shape.points[0];
								if (userContext == "0") {
												startpt = new SuperMap.IS.MapCoord(pt.x, pt.y);
								}
								else {
												endpt = new SuperMap.IS.MapCoord(pt.x, pt.y);
												}

								if (pstartID >= 0 && pendID >= 0 && startpt != null && endpt != null) {
												var spatialAnalystManager = map.GetSpatialAnalystManager();
												var busSolutionParam = new SuperMap.IS.BusSolutionParam();
												busSolutionParam.orderMode = SuperMap.IS.BusSolutionOrderMode.byTime;
												var points = new Array();
												points[0] = startpt;
												points[1] = endpt;
												
												lastname == null;
												lastname = points;
												busSolutionParam.transferTimes = 1;
												busSolutionParam.most = true;
												busSolutionParam.expected = 100;
												busSolutionParam.returnPoints = true;
												spatialAnalystManager.GetBusSolutionByPoints(points, 0.001, busSolutionParam, OnGetBusSolutionComplete, onError,"one");
								}
				}
}

var m_busSolution = null;

var nochanges = new Array();
var onechanges = new Array();

function OnGetBusSolutionComplete(busSolution,userContext) {
				if (busSolution == null) {								
								return;
				}
				if (m_busSolution) {
								m_busSolution = null;
				};
				m_busSolution = new Array();
				for (var i = 0; i < busSolution.length; i++) {
								m_busSolution[i] = new SuperMap.IS.BusSolution();
								m_busSolution[i].Copy(busSolution[i]);
				}

				for (var k = 0; k < busSolution.length; k++) {
								if (busSolution[k].returnRouting == true) {
												var str;
												if (busSolution[k].routings) 
												{
																var u = 0;
																var str = "";
																onechanges = new Array();
																var onechange = document.getElementById("onechangeContent");
																document.getElementById("QueryResult").style.overflowY = "auto";
																nnnn = busSolution[k].routings.length;
																str += "<table margin=\"0\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" align=\"center\"><tr><td style=\"height:15px; font-weight:Bold;\" class=\"resultcount\">\""+startport+"\"->\""+endport+"\"共查询到&nbsp;" + nnnn + "&nbsp;种公交方案：</td></tr>";
																for (var i = 0; i < busSolution[k].routings.length; i++) {
																				str += "<tr><td class=\"resultlist\"><div style=\"border:solid 1px #6882D8; margin:2px;\" onmouseover=\"this.style.backgroundColor='#DBE7F8'; this.style.borderWidth=2;\" onmouseout=\"this.style.backgroundColor='White'; this.style.borderWidth=1;\"><a href=\"javascript:ShowRouting(m_busSolution[" + k + "].routings[" + i + "]);\" title='点击查看该方案' class=\"resultlistlink\">方案" + (u + 1) + "</a>：&nbsp;";
																				u = u + 1;
																				var olddownStops = "";
																				for (var j = 0; j < busSolution[k].routings[i].busLines.length; j++) {
																								var upStopIDx = busSolution[k].routings[i].upStops[j].Location.x;
																								var upStopIDy = busSolution[k].routings[i].upStops[j].Location.y;
																								var lineID = busSolution[k].routings[i].busLines[j].smId;
																								var downStopIDx = busSolution[k].routings[i].downStops[j].Location.x;
																								var downStopIDy = busSolution[k].routings[i].downStops[j].Location.y;
																								if (j == 0) {
																												if (Math.round(busSolution[k].routings[i].partsDistance[0]) > 0) {
																																str += "往" + AngleToDirection(busSolution[k].routings[i].partsAngle[0]) + "方向走" + Math.round(busSolution[k].routings[i].partsDistance[0]) + "米，";
																												}
																								}
																								if (j == 0) {
																												str += "从<a href=\"javascript:map.PanToMapCoord(" + upStopIDx + "," + upStopIDy + ");\" class=\"resultlistlink\">" + busSolution[k].routings[i].upStops[j].stopName + "</a>站上车，乘坐" + busSolution[k].routings[i].busLines[j].lineName + "公交车，"; //ShowBusStop("+upStopID+")
																								}
																								else {
																												if (olddownStops == busSolution[k].routings[i].upStops[j].stopName) {
																																str += "再换乘" + busSolution[k].routings[i].busLines[j].lineName + "公交车，";
																												}
																												else {
																																str += "再从<a href=\"javascript:map.PanToMapCoord(" + upStopIDx + "," + upStopIDy + ");\" class=\"resultlistlink\">" + busSolution[k].routings[i].upStops[j].stopName + "</a>站上车，乘坐" + busSolution[k].routings[i].busLines[j].lineName + "公交车，"; //ShowBusStop("+upStopID+")
																												}
																								}
																								olddownStops = busSolution[k].routings[i].downStops[j].stopName;
																								str += "到<a href=\"javascript:map.PanToMapCoord(" + downStopIDx + "," + downStopIDy + ");\" class=\"resultlistlink\">" + olddownStops + "</a>站下车";
																								if (busSolution[k].routings[i].busLines.length == j + 1) {
																												str += "。";
																								}
																								else {
																												str += "，";
																								}
																								if (Math.round(busSolution[k].routings[i].partsDistance[j + 1]) > 0) {
																												str += "往" + AngleToDirection(busSolution[k].routings[i].partsAngle[j + 1]) + "方向走" + Math.round(busSolution[k].routings[i].partsDistance[j + 1]) + "米，";
																								}
																				}
																				str += "</div></td></tr>";
																}
																str += "</table>";
																onechange.innerHTML = str;
												}
								}
								ShowPoint(startpt.x, startpt.y, '0', startport);
								ShowPoint(endpt.x, endpt.y, '1',endport);
				}
				map.PanToMapCoord(map.GetMapCenterX(), map.GetMapCenterY());
}


var busRoutingPorts = new Array();
var BusSolutionLine = new Array();
function ShowRouting(busRouting) {
				if (!busRouting) { alert(resource_inputBusRouting); return; }
				ClearHighlight();
				BusSolutionLine = new Array();
				if (busRouting.busLines.length == 1) {
								ShowBusLine(busRouting.busLines[0].points);
				}
				else if (busRouting.busLines.length > 1) {
								var spatialAnalyst = map.GetSpatialAnalystManager();
								map.ShowRouting(busRouting, onShowBusLineComplete);
					}
				map.CustomLayer.ClearMarks();
				ShowPoint(startpt.x, startpt.y, '0', startport);
				ShowPoint(endpt.x, endpt.y, '1',endport);
				for (var i = 0; i < busRouting.downStops.length; i++) {
								if (busRouting.downStops[i].stopName != endport) {
												ShowPoint(busRouting.downStops[i].Location.x, busRouting.downStops[i].Location.y, '2', busRouting.downStops[i].stopName);
								}
				}
}

function onShowBusLineComplete(busRouting) {
				if (busRouting) {

				}
}

var tempsectpoint = null;
function getrouting(id,sectpoint,bover) {
				var qp = new SuperMap.IS.QueryParam();
				ClearHighlight();
				tempsectpoint = sectpoint;
				qp.queryLayers = new Array();
				qp.IsAllLayer = true;
				qp.hasGeometry = true
				qp.queryLayers[0] = new SuperMap.IS.QueryLayer();
				qp.queryLayers[0].layerName = "公交路线@My_ZYGIS";
				qp.queryLayers[0].returnFields = new Array(2);
				qp.queryLayers[0].returnFields[0] = "SmID";
				qp.queryLayers[0].returnFields[1] = "Name";
				qp.queryLayers[0].whereClause = "SmUserID=" + id.toString();
				qp.highlight = new SuperMap.IS.Highlight();
				qp.highlight.highlightResult = false;
				qp.expectCount = 1;
				map.GetQueryManager().QueryBySql(qp, onGetLineResult,onError,bover);

				function onGetLineResult(result,userContext) {
								if (result != null && result.totalCount > 0) {
												var record = result.recordsets[0].records[0];
												var vid = record.fieldValues[0];
												map.GetEntity("zunyi", "公交路线@My_ZYGIS", parseInt(vid), onGetBusEntity, onError,userContext);

												function onGetBusEntity(entity,userContext) {
																if (entity) {
																				for (var i = 0; i < entity.shape.points.length; i++) {
																								BusSolutionLine[BusSolutionLine.length] = entity.shape.points[i];
																								if (tempsectpoint == entity.shape.points[i]) {
																												i = entity.shape.points.length; 
																								}
																				}
																				if (userContext == '1') {
																								ShowBusLine(BusSolutionLine);
																				}																	
																}
												}
								}
				}				
}



function onGetRoutingPorts(ports, userContext) {
				if (ports) {
								var us = userContext.split(",")[0];
								var ds = userContext.split(",")[1];
								var btu = false;
								var btd = false;
								var nn = busRoutingPorts.length;
								var routinged = false;
								for (var i = 0; i < ports.length; i++) {
												if (ports[i].stopName == us) { btu = true; }
												if (ports[i].stopName == ds) 
												{
																btd = true;
																if (ds == endport) { routinged = true; }
																i = ports.length;
												}
												if (btu == true && btd == false) 
												{
																busRoutingPorts[busRoutingPorts.length] = new SuperMap.IS.MapCoord(ports[i].Location.x, ports[i].Location.y);
												}
								}
								if (nn == busRoutingPorts.length || (busRoutingPorts.length>1 && nn == busRoutingPorts.length-1 && busRoutingPorts[busRoutingPorts.length-1]==busRoutingPorts[busRoutingPorts.length-2])) {
												for (var i = ports.length-1; i >=0; i--) {
																if (ports[i].stopName == us) { btu = true; }
																if (ports[i].stopName == ds) {
																				btd = true;
																				if (ds == endport) { routinged = true; }
																				i = -1;
																}
																if (btu == true && btd== false) {
																				busRoutingPorts[busRoutingPorts.length] = new SuperMap.IS.MapCoord(ports[i].Location.x, ports[i].Location.y);
																}
												}
								}
								if (routinged) {
												ShowBusLine(busRoutingPorts);												
								}
				}
}

function ShowBusLine(parts) {
				var xs = new Array();
				var ys = new Array();
				for (var i = 0; i < parts.length; i++) {
								xs[xs.length] = parts[i].x;
								ys[ys.length] = parts[i].y;
				}
				map.CustomLayer.AddLine('busline', xs, ys, "5", "#0000FF", 0.5, 5);
}


function onShowRoutingComplete(busRouting) {
}
function onShowRoutingError(responseText) {
				
}




function GetNearestBusPort(strName,type) {
				var qp = new SuperMap.IS.QueryParam();
				qp.queryLayers = new Array();
				for (var i = 0; i < map.layers.length; i++) {
								if (map.layers[i].type == SuperMap.IS.LayerType.point) {
												qp.IsAllLayer = true;
												var ql = new SuperMap.IS.QueryLayer();
												ql.layerName = map.layers[i].name;
												ql.returnFields = new Array(2);
												ql.returnFields[0] = "NAME";
												ql.returnFields[1] = "SmID";
												ql.whereClause = "Name like '%" + strName + "%'";

												qp.queryLayers.push(ql);

												qp.expectCount = -1;
												qp.highlight = new SuperMap.IS.Highlight();
												qp.highlight.highlightResult = false;
								}
				}
				map.GetQueryManager().QueryBySql(qp, onqyComplete, onError, type);
				function onqyComplete(resultSet,userContext) {
								if (resultSet != null && resultSet.totalCount > 0) {
												var record = resultSet.recordsets[0].records[0];
												var EditEntityID = record.fieldValues[0];
												map.GetEntity("zunyi", resultSet.recordsets[0].layerName, parseInt(EditEntityID), onGetEntityComp, onError, userContext + "&&" + resultSet.recordsets[0].layerName);
												function onGetEntityComp(entity, userContext) {
																if (entity == null || entity.shape == null) { return; }
																var pt = entity.shape.points[0];

																var qp = new SuperMap.IS.QueryParam();

																qp.queryLayers = new Array();
																qp.IsAllLayer = false;
																qp.highlight = new SuperMap.IS.Highlight();
																qp.highlight.highlightResult = false;
																qp.queryLayers[0] = new SuperMap.IS.QueryLayer();
																qp.queryLayers[0].layerName = "公交站点@My_ZYGIS";
																qp.queryLayers[0].whereClause = "";
																qp.queryLayers[0].returnFields = new Array(2);
																qp.queryLayers[0].returnFields[0] = "SmID";
																qp.queryLayers[0].returnFields[1] = "Name";
																qp.expectCount = -1;

																var pa = new SuperMap.IS.MapCoord(pt.x, pt.y);
																map.GetQueryManager().FindNearest(pa, 0.001, qp, ongetnewrpt, onError, userContext);
																function ongetnewrpt(resultSet, userContext) {
																				if (resultSet != null && resultSet.totalCount > 0) 
																				{
//																								if (userContext.split("&&")[0] == "start") {
//																												startport = resultSet.recordsets[0].records[0].fieldValues[1];
//																								}
//																								else if (userContext.split("&&")[0] == "end") {
//																												endport = resultSet.recordsets[0].records[0].fieldValues[1];
//																								}
//																								if (startport != "" && endport != "") {
//																												getQueryPortMapCoord();
//																								}
																								if (userContext.split(",")[0] == "start") {
																												startports = new Array();
																												startIDs = new Array();
																												for (var i = 0; i < resultSet.recordsets[0].records.length; i++) {
																																startports[i] = resultSet.recordsets[0].records[i].fieldValues[1];
																																startIDs[i] = resultSet.recordsets[0].records[i].fieldValues[0];
																												}
																												if (resultSet.recordsets[0].records.length == 1) {
																																startport = resultSet.recordsets[0].records[0].fieldValues[1];
																																pstartID = resultSet.recordsets[0].records[0].fieldValues[0];
																												}
																								}
																								else if (userContext.split(",")[0] == "end") {
																												endports = new Array();
																												endIDs = new Array();
																												for (var i = 0; i < resultSet.recordsets[0].records.length; i++) {
																																endports[i] = resultSet.recordsets[0].records[i].fieldValues[1];
																																endIDs[i] = resultSet.recordsets[0].records[i].fieldValues[0];
																												}
																												if (resultSet.recordsets[0].records.length == 1) {
																																endport = resultSet.recordsets[0].records[0].fieldValues[1];
																																pendID = resultSet.recordsets[0].records[0].fieldValues[0];
																												}
																								}

																								var fg = 0;
																								if (startport != "" && endport != "") {
																												getQueryPortMapCoord();
																												fg = 1;
																								}
																								if (fg == 0 && startports.length > 0 && endports.length > 0) {
																												SelBusSolutionPorts();
																								}
																				}
																}
												}
								}
				}
}


var nochangeLines = new Array();
var onechangeLines = new Array();
var twochangeLines = new Array();

var startport = "";
var endport = "";

var spp1 = "";
var spp2 = "";
var sarr1 = new Array();
var sarr2 = new Array();

var startLines = new Array();
var endLines = new Array();

var ngs = new Array();
var nge = new Array();


function queryBusByPort(port1, port2) {
				ClearHighlight();
				ymPrompt.close();
				map.SetAction(null);
				map.workLayer.style.cursor = "pointer";
				if (port1 == null || port1 == "" || port2 == null || port2 == "" || port1 == "起点:请输入站点名或地名" || port2 == "终点:请输入站点名或地名") {
								ymPrompt.alert({ message: "请输入公交换乘查询起点或终点！", title: '提示', showMask: false, height: 180, width: 280, fixPosition: false, dragOut: false });
								return;
				}
				ngs = null;
				ngs = new Array();
				nge = null;
				nge = new Array();
				startLines = new Array();
				endLines = new Array();
				npp = 0;
				spp1 = "";
				spp2 = "";
				sarr1 = new Array();
				sarr2 = new Array();
				pnt = new Array();
				startport = "";
				endport = "";
				nochangeLines = new Array();
				var ressss = document.getElementById("QueryResult");

				document.getElementById("PagesBar").style.display = 'none';
				ressss.style.height = "100%";

				document.getElementById("QueryResult").innerHTML = "";
				var blankbar = document.getElementById("blanktd");
				var rightbar = document.getElementById("RightControl");
				document.getElementById("Maptab").style.width = document.documentElement.clientWidth + "px";
				blankbar.style.display = "";
				rightbar.style.display = "";
				document.getElementById("QueryResult").style.display = "";
				document.getElementById("maptd").style.width = document.documentElement.clientWidth - 280 + "px";
				document.getElementById("MapControl").style.width = document.documentElement.clientWidth - 280 + "px";
				moveWin("overview", document.getElementById("MapControl").clientWidth - 195, document.documentElement.clientHeight - 174);
				moveWin("Eyebtn", document.getElementById("MapControl").clientWidth - 7, document.documentElement.clientHeight - 28);

				map.Resize(document.getElementById("MapControl").clientWidth, document.getElementById("MapControl").clientHeight);
				document.getElementById("ExpandView").src = "./images/fullscreen.gif";
				document.getElementById("ExpandView").alt = "展开";
				document.getElementById("ExpandView").title = "展开";
								
				document.getElementById("QueryResult").innerHTML += "<div id='onechange'><div style=\"height:25px; line-height:22px; color:#53AFEA; background-image:url('images/2.gif'); border:solid 1px white; font-size:14px; font-weight:bold;\">直达或换乘方案</div><div id='onechangeContent'><div></div>";

				pstartID = -1;
				pendID = -1;
				startpt = null;
				endpt = null;
				checkIsPort(port1, "start");
				checkIsPort(port2, "end");
}

function ShowQueryBusSolution() {
				var str = "<br /><div id='busChange' style=\"text-align:center; width:98%;\"><input type='text'tabindex='1' id='startport' style=\"height:20px;margin-left:3px; color:Gray; font-size:larger;\" value='起点:请输入站点名或地名' onkeydown=\"if(event.keyCode==13){queryBusByPort(document.getElementById('startport').value,document.getElementById('endport').value);}\" onclick=\"setshowtext(this,document.getElementById('endport'));\" onfocus=\"setshowtext(this,document.getElementById('endport'));\" /><img alt='' src='images/dr.gif' /><input id='endport' type=\"text\" onclick=\"setshowtext(this,document.getElementById('startport'));\" onfocus=\"setshowtext(this,document.getElementById('startport'));\" style=\"height:20px; color:Gray; font-size:larger;\" onkeydown=\"if(event.keyCode==13){queryBusByPort(document.getElementById('startport').value,document.getElementById('endport').value);}\" tabindex='2' value=\"终点:请输入站点名或地名\" /><br /><br /><input tabindex='3' type='button' value='怎么去' onclick=\"queryBusByPort(document.getElementById('startport').value,document.getElementById('endport').value);\" /></div>";
				str += "<div id='businfo' style=\"text-align:center; margin-left:20px; display:none;\"><input id='buscond' type=\"text\" style=\"width:250px; height:25px; line-height:24px; font-size:larger;\" onclick=\"querybustxt(this);\" onkeydown=\"if(event.keyCode==13){queryBusByLineName();}\" /><br /><br /><input type='button' value='搜索' onclick=\"queryBusByLineName();\"></div>";
				str += "<br /><div style=\"text-align:center;\"><input id='roChange' name='bus' type='radio' onclick=\"document.getElementById('busChange').style.display='';document.getElementById('businfo').style.display='none'; setAllEmpty(document.getElementById('startport'),document.getElementById('endport'),document.getElementById('buscond'),this);\" checked='checked' />公交换乘";
				str += "<input id='roLineQuery' title='车次 如:10' name='bus' onclick=\"document.getElementById('busChange').style.display='none';document.getElementById('businfo').style.display='';initshowtext(this,buscond); setAllEmpty(document.getElementById('startport'),document.getElementById('endport'),document.getElementById('buscond'),this);\" type='radio' />线路查询";
				str += "<input id='roPortQuery' name='bus' title='站点 如:火车站' onclick=\"document.getElementById('busChange').style.display='none';document.getElementById('businfo').style.display='';initshowtext(this,buscond); setAllEmpty(document.getElementById('startport'),document.getElementById('endport'),document.getElementById('buscond'),this);\" type='radio' />站点查询";
				str += "</div>";
				ymPrompt.win({ message: str, title: '公交分析', showMask: true, height: 150, width: 360, fixPosition: true, dragOut: true });
}

function ShowQueryPlace() {
				var str = "<br />";
				str += "<div style=\"text-align:center;\"><select id='selQueryType' name='D1' style=''><option>名称</option><option>电话</option></select>&nbsp;<input id='txtQueryClause' style=\"height:20px; line-height:18px; border:1px solid gray; font-size:16px; width:150px;\" onkeydown=\"if(event.keyCode==13){var selQueryType=document.getElementById('selQueryType'); QueryPlace(selQueryType.options[selQueryType.selectedIndex].text,document.getElementById('txtQueryClause').value,'all');}\" type='text' /><br /><br /><input type='button' value='搜索' onclick=\"var selQueryType=document.getElementById('selQueryType'); QueryPlace(selQueryType.options[selQueryType.selectedIndex].text,document.getElementById('txtQueryClause').value,'all');\"></div>";
				ymPrompt.win({ message: str, title: '地点查找', showMask: true, height: 120, width: 250, fixPosition: true, dragOut: true });
}
