﻿function mapZoom(){
    var infoR=$("rightPanelToolDiv");
    var mapZoomBtn=$("mapZoomBtn");
    if(infoR.style.display!="none"){
        infoR.style.display="none";
        mapZoomBtn.src=static+"image/tagmax.gif";
    }
    else{
        infoR.style.display="block";
        mapZoomBtn.src=static+"image/tag.gif";
    }
    map._resize();
}
function menuRes(){
    var menuChg=$("menuChg");
    var disMenu=$("disMenu")
    disMenu.style.left=menuChg.offsetLeft+"px";
    disMenu.style.top=(menuChg.offsetTop+menuChg.offsetHeight)+"px";
}
function disShow(){
    var disMenu=$("disMenu")
    disMenu.style.visibility="visible";
}
function disHidden(){
    var disMenu=$("disMenu")
    disMenu.style.visibility="hidden";
}
function disChg(domain,n,bn){
    _Map.DisChange(domain,n,bn,onDisChgSucceeded);
}
function onDisChgSucceeded(result){
    if(result==1) window.location="http://"+location.hostname+"/";
}
function onIntroDataBindSucceeded(result){
	var iData=result.split(",");
	if(iData.length==3){
		map.binfoconfig.con.src="/tool/view.htm?id="+iData[0];
		var m=Math.pow(2,map.config.multiple-1)
		HidePano();
		map.bInfo.style.left=(iData[1]*m-48)+"px";
		map.bInfo.style.top=(iData[2]*m-364)+"px";
		map.bInfo.style.visibility="visible";
		map.mvl.style.cursor="default";
		map.tag.style.visibility="hidden";
		map._mapMovesStep(parseInt(iData[1])+240/m,parseInt(iData[2])-180/m);
	}
}
function marklist(obj,val){
    if(arguments.length==2){
        for(var i=0;i<map.mark.d.length;i++){
            var tm=map.mark.d[i];
            tm.style.visibility="hidden";
        }
        obj.innerHTML="我的记号";
        obj.onclick=function(){marklist(obj);};
    }
    else{
        if(map.mark.v==1){
            for(var i=0;i<map.mark.d.length;i++){
                var tm=map.mark.d[i];
                tm.style.visibility="visible";
                map.mvl.appendChild(tm);
				obj.innerHTML="隐藏记号";
				obj.onclick=function(){marklist(obj,1);};
            }
        }
        else{
			_Map.MarkList(map.config.areaid,onsucceededmarklist);
        }
    }
}
function onsucceededmarklist(result){
	if (result.length==1 && result[0]=="logout"){
		alert("请登陆后，再查看您的记号！");
	}
	else{
	    try{
	        for(var i=0;i<result.length;i++){
	            var mark=eval("("+result[i]+")");
	            var p=mark.c.split(",");
	            p=new CPoint(p[0],p[1]);
	            var mod=0;
	            if(mark.d.length>0) mod=1;
	            var newMark=new map._newmark(p,mark.t,mark.d);
	            var newtag=new map._newtag(p,newMark,mod);
	            map.mark.t.push(newtag);
	            map.mark.d.push(newMark);
	            map.mvl.appendChild(newtag);
	            map.mvl.appendChild(newMark);
	        }
			map.mark.v=1;
			var obj=$("mymark");
			obj.innerHTML="隐藏记号";
			obj.onclick=function(){marklist(obj,1);};
	    }
	    catch(e){}
	}
}
function onsucceededdebug(result){
    var obj=result.split(",");
    if(obj.length==4){
        p=new CPoint(obj[0],obj[1]);
        var m=Math.pow(2,map.config.multiple-1);
        var newDebug=new map._newdebug(p,obj[2],obj[3]);
        var newtag=new map._newtag(p,newDebug,1);
        map.debug.t=newtag;
        map.debug.d=newDebug;
        map.mvl.appendChild(newtag);
        map.mvl.appendChild(newDebug);
        map._mapMovesStep((p.x*m+108)/m,(p.y*m-56)/m);
    }
}

function srhchanged(value){
    var srhtagbg=$("srhtagbg");
    var dl=$("srhcon").getElementsByTagName("dl");
    var dts=dl[0].getElementsByTagName("dt");
    var dds=dl[0].getElementsByTagName("dd");
    for(var i=1;i<dl.length;i++){
        dl[i].style.display="none";
    }
    $("srhtype").value=value;
    switch(value){
        case 1:
            dl[2].style.display="block";
            break;
        case 2:
            dl[3].style.display="block";
            break;
        default:
            dl[1].style.display="block";
            break;
    }
    for(i=0;i<dts.length;i++){
        if(i==value){
            if(i==0 || i==3){
                dts[i].className="ac";
            }
            else{
                dts[i].className="acl";
            }
            dds[i].className="d"+(i+1).toString()+" tac";
        }
        else{
            if(i==1 || i==2){
                dts[i].className="l";
            }
            else{
                dts[i].className="";
            }
            dds[i].className="d"+(i+1).toString();
        }
    }
}
function tagVi(obj){
	if(obj.innerHTML=="显示地名"){
		appBuilds();
		obj.innerHTML="隐藏地名";
	}	
	else{
		remBuilds();
		obj.innerHTML="显示地名";
	}
}
function appBuilds(){
	if(typeof hData!=undefined){
		var m=Math.pow(2,map.config.multiple-1);
		for(var i=0;i<hData.length;i++){
			var tagdiv=document.createElement("div");
			var sl=hData[i][1].length;
			var l=hData[i][1].replace(/[^\x00-\xff]/gi,"**").length;
			var gjl=l-sl;
			var bjl=sl-gjl;
			var w=Math.floor((gjl*11+bjl*6+6-1)/2);
			tagdiv.className="tagv";
			tagdiv.innerHTML=hData[i][1];
			tagdiv.style.left=(hData[i][2]*m-w)+"px";
			tagdiv.style.top=(hData[i][3]*m-8)+"px";
			map.builds.push(tagdiv);
			map.mvl.appendChild(tagdiv);
		}
	}
}
function remBuilds(){
	if(typeof hData!=undefined){
		var tm;
		while((tm=map.builds.pop())!=null){
			map.mvl.removeChild(tm);
		}
	}
}

function actool(value){
    var infotagbg=$("infotagbg");
    var infocontent=$("infocontent")
    var lis=$("infotop").getElementsByTagName("li");
    if(infotagbg.offsetLeft==6 && value==1){
        infotagbg.style.left=88+"px";
    }
    else if(infotagbg.offsetLeft==94 && value==0){
        infotagbg.style.left=0+"px";
    }
    for(i=1;i<lis.length;i++){
        if(i==value+1){
            lis[i].className="ac";
        }
        else{
            lis[i].className="";
        }
    }
    if(value==0){
        infocontent.src="tool/";
    }
    else{
        infocontent.src="tool/info.aspx";
    }
    toolInfo.zoomin();
}
function srhstar(){
    var infocontent=$("infocontent")
    var infotagbg=$("infotagbg");
    var lis=$("infotop").getElementsByTagName("li");
    infotagbg.style.left=0+"px";
    for(i=1;i<lis.length;i++){
        if(i==1){
            lis[i].className="ac";
        }
        else{
            lis[i].className="";
        }
    }
    toolInfo.zoomin();
    var srhtxt=$("srhtxt");
    var fromtxt=$("from");
    var totxt=$("to");
    if($("srhtype").value==0){
        infocontent.src="tool/srhbuilds.aspx?key="+encodeURI(srhtxt.value)+"&area="+map.config.areaid;
    }
    else if($("srhtype").value==2)
    {
       if(($("sfrom").checked))
       {
         infocontent.src="tool/srhbust.aspx?key="+encodeURI(fromtxt.value)+"&area="+map.config.areaid+"&t=1";  
       }
       else
       {
          infocontent.src="tool/srhbust.aspx?key="+encodeURI(totxt.value)+"&area="+map.config.areaid+"&t=2";  
       }
        
    }
    else{
        infocontent.src="tool/srhinfos.aspx?key="+encodeURI(srhtxt.value)+"&area="+map.config.areaid;
    }
}
function infozoom(){
    var infotop=$("infotop");
    for(var i=0;i<infotop.childNodes.length;i++){
        var current=infotop.childNodes[i];
        if(current.className=="infoc"){
            current.className="infoc1";
            toolInfo.zoomout();
        }
        else if(current.className=="infoc1"){
            current.className="infoc";
            toolInfo.zoomin();
        }
    }
}
function ToolZoom(obj1,obj2,val){
    this.sou=obj1;
    this.obj=obj2;
    this.interVal=null;
    this.val=val;
}
ToolZoom.prototype={
    zoomout:function(){
        this.zoomstop();
        this.interVal=setInterval(function(){toolInfo.zoomoutstar(toolInfo.val,-50);},1);
    },
    zoomin:function(){
        this.zoomstop();
        var ult;
        if(document.documentElement.clientHeight>ifr.config.height){
            ult=document.documentElement.clientHeight-this.obj[0].offsetTop;
        }
        else{
            ult=ifr.config.height-this.obj[0].offsetTop;
        }
        for(var i=1;i<this.obj.length;i++){
            this.obj[i].style.visibility="visible";
            this.obj[i].style.display="block";
        }
        this.interVal=setInterval(function(){toolInfo.zoominstar(ult,50);},1);
    },
    zoomoutstar:function(ult,val){
        if(this.obj[1].offsetHeight==0){
            for(var i=1;i<this.obj.length;i++){
                this.obj[i].style.visibility="hidden";
                this.obj[i].style.display="none";
            }
            this.obj[0].style.height=ult+"px";
            this.zoomstop();
        }
        else{
            for(var i=1;i<this.obj.length;i++){
                if(this.obj[i].offsetHeight+val<0){
                    this.obj[i].style.height="0px";
                }
                else{
                    this.obj[i].style.height=(this.obj[i].offsetHeight+val)+"px";
                }
            }
        }
    },
    zoominstar:function(ult,val){
        if((this.obj[1].offsetHeight+val)==ult-this.val){
            this.obj[0].style.height=ult+"px";
            this.zoomstop();
        }
        else{
            for(var i=1;i<this.obj.length;i++){
                if(this.obj[i].offsetHeight+val>ult-this.val){
                    this.obj[i].style.height=(ult-this.val)+"px";
                }
                else{
                    this.obj[i].style.height=(this.obj[i].offsetHeight+val)+"px";
                }
            }
        }
    },
    zoomstop:function(){
        clearInterval(this.interVal);
    }
}
function hintHI(){
    if(map){map.tag.style.visibility="hidden";}
}
function Hint(div,txt){
    this.holder=div;
    if(map){
        this.tag=map.tag;
        this.tag.innerHTML=txt;
        this.config={
            left:280,
            maxWidth:scale.holder.offsetLeft
            }
        this.visible();
    }
}
Hint.prototype={
    visible:function(){
        var sumWidth=this.holder.offsetLeft+this.tag.offsetWidth+this.config.left;
        if(sumWidth>this.config.maxWidth){
            this.tag.style.left=(this.holder.offsetLeft+this.config.left)-(sumWidth-this.config.maxWidth)+"px";
        }
        else{
            this.tag.style.left=(this.holder.offsetLeft+this.config.left)+"px";
        }
        this.tag.style.top=(this.holder.offsetTop+30)+"px";
        this.tag.style.visibility="visible";
    },
    hidden:function(){
        this.tag.style.visibility="hidden";
    }
}
function srhmapVI(){
	$("schmap").style.display="block";
}
function srhmapHI(){
	$("schmap").style.display="none";
}
function buslist(){
    _Map.BusList(map.config.areaid,onsucceededbuslist);
}
function onsucceededbuslist(result)
{         
   try{
      for(var i=0;i<result.length;i++)
      {
           var bust=eval("("+result[i]+")");
           p=new CPoint(bust.l,bust.t);
           var newbust=new map._newbust(p,bust.n,bust.p,bust.d);
           map.bust.push(newbust);
           map.mvl.appendChild(newbust);
      }
   }
   catch(e){}
}