﻿var popSet=new Array();
var idlist=[];
var actionSet='';
var isEntity=false;
var objCoordinate=new Object();
var xCallBack=null;

function AddMapHeight(h)
{
    var obj = document.getElementById('divMap');
    obj.style.height = (parseInt(obj.style.height)+h)+'px';
}
function SetMapHeight(h)
{
    var obj = document.getElementById('divMap');
    obj.style.height = parseInt(h)+'px';
}


function waitMap(){
	try{
		if(popomap.getMapStatus()){
			popomap.setEvent('onmousedown',mymousedown);
			popomap.setEvent('onmousemove',mymousemove);
			popomap.setEvent('onmouseup',mymouseup);
			popomap.setEvent('onAreaClick',myAreaClick);
			popomap.setEvent('onUnitClick',myUnitClick);
			popomap.setEvent('customFun',myCustomFun);
			//popomap.setMapTip('<img src="images/map/rightTip.gif">');
		}
		else{
			setTimeout('waitMap()',500);
		}
	}
	catch(e){
		setTimeout('waitMap()',500);
	}
}

function mymousedown(evt){
}
function mymousemove(evt){
	window.status=popomap.getCurX(evt)+':'+popomap.getCurY(evt)+'--'+popomap.getxiaoMsg();
}
function mymouseup(evt){
	//if(actionSet=='') return;
	//var s=60*popomap.getZoom();
	popSet['X']=Math.round(popomap.getCurX(evt));
	popSet['Y']=Math.round(popomap.getCurY(evt));
	if(popSet[actionSet]){
		htmlStr=popSet[actionSet];
		htmlStr=htmlStr.replace('{$X}',popSet['X']);
		htmlStr=htmlStr.replace('{$Y}',popSet['Y']);
	}

	if(evt.button==2){

		switch(actionSet){
			case 'addNote':
				addNote();
				break;
			case 'addErr':
				addErr(popSet['X'],popSet['Y']);
				break;
			case 'addPost':
				addPost();
				break;
			case 'getPosXY':
				getPosXY();
				break;
			case 'setSmart':
				setSmart();
				break;
			case 'getPtInfo':
				getPtInfo();
				break;
			case 'addScreenShot':
				addScreenShot();
				break;
			case 'Coordinate':
			if(objCoordinate!=null)
			{
				objCoordinate.x.value=popSet['X'];
				objCoordinate.y.value=popSet['Y'];
				if(xCallBack!=null)
				{
				    objCoordinate.x.fireEvent('onchange');
				    xCallBack=null;
				}
				objCoordinate.x=null;
				objCoordinate.y=null;
				cleanActionSet();
				//alert("成功获取坐标点");
				
			}
			break;
			default:
			if(true==showRightClick)
			    fresh(evt);
			
				break;
		}
	}
	else if(evt.button==1)
	{
	     if(!evt.srcElement.myA)
	     {
	        remove_Menu();
	     }
	}
	isEntity=false;
}
///////////鼠标右键菜单---------------///////////七夜
function fresh(evt){
    var htmlStr = popSet['showmenu'];    
    htmlStr = htmlStr.replace('{$h}', menuTable);   
	//坐标
    htmlStr = htmlStr.replace(/{\$x}/g, Math.round(popomap.getCurX(evt)));  
    htmlStr=htmlStr.replace(/{\$y}/g,Math.round(popomap.getCurY(evt)));
    //if(evt.srcElement.myA)return false;   
		  
	remove_Menu();
	//alert(allShow);
	//prompt('dd',htmlStr);
	if(allShow)
	create_Menu();
	else
	create_FullMenu();
function create_Menu() {           
		    var mymenu=document.createElement('div');
		    var Frame = document.getElementById("x__popomap");
		    var Frameleft = 0;
		    if (Frame != null) {
		        Frameleft = Frame.offsetParent.offsetLeft;
		    }
		    mymenu.id='mymenu';
		    mymenu.style.width='150px';
		    mymenu.style.height='200px';
		    mymenu.style.filter = "alpha(opacity=75)";
		    mymenu.style.zIndex='5'
		    mymenu.style.position = 'absolute';
		    mymenu.style.left = evt.clientX + Frameleft;
			mymenu.style.top=evt.clientY;
			mymenu.innerHTML = htmlStr;
		    document.body.appendChild(mymenu);
		
	}
	function create_FullMenu() {	      
		    var mymenu=document.createElement('div');
		  
		    mymenu.id='mymenu';
		    mymenu.style.width='150px';
		    mymenu.style.height='200px';
		    mymenu.style.filter = "alpha(opacity=75)";
		    mymenu.style.zIndex='5'
		    mymenu.style.position='absolute';
			mymenu.style.left=evt.clientX;
			mymenu.style.top=evt.clientY;			
		    mymenu.innerHTML=htmlStr;
		    document.body.appendChild(mymenu);
		
	}
}
function remove_Menu(){
		var elm=$('mymenu');
		if(elm)
		{
			document.body.removeChild(elm);			
		}		
	return false;
}
function myAreaClick(evt){
	isEntity=true;
	return;
	//alert(popomap.getAreaUnitInfo().AreaName+'/'+popomap.getAreaUnitInfo().AreaID+':'+popomap.getAreaUnitInfo().UnitName+'/'+popomap.getAreaUnitInfo().UnitID);
	posx=popomap.getAreaUnitInfo().x;
	posy=popomap.getAreaUnitInfo().y;
	createHistory(popomap.getAreaUnitInfo().AreaID,0,posx,posy,popomap.getAreaUnitInfo().AreaName);
}
function addCoordinate(obj1,obj2,callBack)
{
    if(callBack!=null)
        xCallBack = callBack;
	objCoordinate.x=obj1;
	objCoordinate.y=obj2;
	actionSet='Coordinate';
	alert('右键获取地址');
	popomap.setMapTip('<div style="background-color:lightyellow;color:red;font-size:12px;padding:2px;">点右键获取地址</div>');

}


function addCoordinates(obj1,obj2,callBack)
{
	selectMode(256);
	popomap.setReturnObj(returnCoordinate);
	obj1.value="";
	obj2.value="";
	function returnCoordinate(temp)
	{
		for(var i=0;i<temp['x'].length-1;i++)
		{
			obj1.value=obj1.value+temp['x'][i]+",";
		}
		obj1.value=obj1.value+temp['x'][i];
		for(var j=0;j<temp['y'].length-1;j++)
		{
			obj2.value=obj2.value+temp['y'][j]+",";
		}
		obj2.value=obj2.value+temp['y'][j];
		alert("成功获取［"+(j+1)+"］个坐标点");
		if(callBack!=null)
		    callBack();
	}
	
}
//begin 柳寒风 获取导航的坐标点集
function setMapNavEvt()
{
    //去除现有的Area
    $('divMapNav_img').onmouseup=CreateLine;
    xy_nav_tmp='';
    //alert($('divMapNav_img').innerHTML);
}
function removeMapNavEvt()
{
    $('divMapNav_img').onmouseup=null;
    //重新写所有的Area
}
function CreateLine (evt)
{
    if(event.button==1)
    {
        //alert(parseInt(event.x)+','+parseInt(event.y-50)+':'+$('divMapNav_img').offsetLeft+'-'+x_$('#divMapNav_img>img')[0].offsetLeft+'-'+x_$('#divMapNav_img>div')[0].offsetLeft);
        x_nav_tmp +=parseInt(event.x-$('divMapNav_img').offsetLeft)+','
        y_nav_tmp +=parseInt(event.y-$('divMapNav_img').offsetTop-92)+',';
        i_tmp++;
    }else if(event.button==2)
    {
        removeMapNavEvt();
        obj_nav_tmp1.value=x_nav_tmp;
        obj_nav_tmp2.value=y_nav_tmp;
        return false;
    }
}
var flags_tmp=true;
var i_tmp=0;
var x_nav_tmp='';
var y_nav_tmp='';
var obj_nav_tmp1 =null;
var obj_nav_tmp2 =null;
function getNavPoints(obj1,obj2)
{
    //if(true==flags_tmp)
    //{
    x_nav_tmp ='';
    y_nav_tmp='';
    setMapNavEvt();
    obj_nav_tmp1 = obj1;
    obj_nav_tmp2 = obj2;
     flags_tmp = false;
     //}
    //else
    //{
    //removeMapNavEvt();
    //flags_tmp = true;
    //}
//	selectMode(1);
//	popomap.setReturnObj(returnCoordinate);
//	obj1.value="";
//	obj2.value="";
//	function returnCoordinate(temp)
//	{
//		for(var i=0;i<temp['x'].length-1;i++)
//		{
//			obj1.value=obj1.value+temp['x'][i]+",";
//		}
//		obj1.value=obj1.value+temp['x'][i];
//		for(var j=0;j<temp['y'].length-1;j++)
//		{
//			obj2.value=obj2.value+temp['y'][j]+",";
//		}
//		obj2.value=obj2.value+temp['y'][j];
//		alert("成功获取［"+(j+1)+"］个坐标点");
	//}
	
}
//end 柳寒风 获取导航的坐标点集
function myUnitClick(evt){return;
	//alert(popomap.getAreaUnitInfo().AreaName+'/'+popomap.getAreaUnitInfo().AreaID+':'+popomap.getAreaUnitInfo().UnitName+'/'+popomap.getAreaUnitInfo().UnitID);
	posx=popomap.getAreaUnitInfo().x;
	posy=popomap.getAreaUnitInfo().y;
	createHistory(popomap.getAreaUnitInfo().AreaID,popomap.getAreaUnitInfo().UnitID,posx,posy,popomap.getAreaUnitInfo().UnitName);
}
function myCustomFun(evt,sign){
	switch(sign){
		case 'removeAll':
			removeAll();
			break;
		case 'removePop_addNote':
			removePop_addNote();
			break;
		case 'removePop_showNote':
			removePop_showNote();
			break;
		case 'removePop_addPost':
			removePop_addPost();
			break;
		case 'removePop_showPost':
			removePop_showPost();
			break;
		case 'removePop_addErr':
			removePop_addErr();
			break;
		case 'removePop_showInfo':
			removePop_showInfo();
			break;
		case 'removePop_ScreenShot':
			removePop_ScreenShot();
			break;
		case 'addErr':
			addErr();
			break;
		case 'howArrive':
			howArrive();
			break;
		default:
			alert('custom');
	}
}
function getZoom()
{
    return popomap.getZoom();
}
function getMapRang(){
	var centerX=popomap.getCenterX();
	var centerY=popomap.getCenterY();
	var mapWidth=popomap.getMapWidth();
	var mapHeight=popomap.getMapHeight();
	var zz=Math.pow(2,popomap.getZoom()-1);
	var startX=centerX-Math.floor(mapWidth/2)*zz;
	var startY=centerY-Math.floor(mapHeight/2)*zz;
	var endX=startX+mapWidth*zz;
	var endY=startY+mapHeight*zz;
	return {centerX:centerX,centerY:centerY,mapWidth:mapWidth,mapHeight:mapHeight,startX:startX,startY:startY,endX:endX,endY:endY};
}
function getCoor(){
	var x=popomap.getAreaUnitInfo().x;
	var y=popomap.getAreaUnitInfo().y;
	x=Math.floor(x/2);
	y=Math.floor(y/2);
	return {x:x,y:y};
}
function getEUInfo(){
	var x=popomap.getAreaUnitInfo().x;
	var y=popomap.getAreaUnitInfo().y;
	var areaId=popomap.getAreaUnitInfo().AreaID;
	var areaName=popomap.getAreaUnitInfo().AreaName;
	var unitId=popomap.getAreaUnitInfo().UnitId;
	var unitName=popomap.getAreaUnitInfo().UnitName;
	var id=0;
	var name='';
	var flag=0;
	if(areaId){
		id=areaId;
		name=areaName;
	}
	else{
		id=unitId;
		name=unitName;
		flag=1;
	}
	return {id:id,name:name,x:x,y:y,flag:flag};
}
function getMapId(){
	return map;
}
function go2xy(x,y){
	popomap.go2xy(x,y);
}
function go2xyS(x,y){
	popomap.go2xyS(x,y);
}
function selectMode(mode){
	popomap.selectMode(mode);
}
function showUserPop(arr){
	popomap.addUserPop(arr);
}
function cleanUserPop(){
	popomap.addUserPop();
}
function cleanActionSet(){
	actionSet='';
	popomap.setMapTip();
}
function loadXY(){
	var str=(document.location.href).split('?');
	var xy=str[1],x=0,y=0;
	if(xy){
		xy=xy.split(',');
		if(xy[0]&&xy[1]){
			x=parseInt(xy[0]);
			y=parseInt(xy[1]);
			switchNavView(0);
		}
	}
	popomap.init(x,y,true);
	popomap.createPop('popAnchor','<img src="images/flag.gif">',x,y,0,17,5);
}
var isDoMapInit=false;
function mapInit(times){
	if(!times) times=0;
	times++;
	if(times>100) return;
	if(isDoMapInit) return;
	var str=(document.location.href).split('?');
	var xy=str[1],x=0,y=0;
	if(xy){
		xy=xy.split(',');
		if(xy[0]&&xy[1]){
			x=parseInt(xy[0]);
			y=parseInt(xy[1]);
		}
	}
	if(typeof(x)!='number'||typeof(y)!='number'||x==0||y==0){
		//alert(typeof(x));
		return;
	}
	else {
		switchNavView();switchMapView();
	}
	try{
		popomap.init(x,y);
		popomap.createPop('popAnchor','<img src="images/flag.gif">',x,y,0,17,5);
	}
	catch(e){
		var fun='mapInit('+times+')';
		window.setTimeout(fun,500);
	}
}

function removePop_All(){
	popomap.removePop('addNote');
	popomap.removePop('addErr');
	popomap.removePop('addPost');
	popomap.removePop('showPost');
	popomap.removePop('showNote');
	popomap.removePop('addScreenShot');
	return false;
}
function addScreenShotOpen(){
	actionSet='addScreenShot';
	popomap.setMapTip('<img src="'+window.ApiConst.imgs['righttip']+'">');
	popomap.selectMode(0);
}
function addScreenShot(x,y){
	var sx=150*Math.pow(2,popomap.getZoom()-1);
	var htmlStr=popSet['addScreenShot'];
	if(!x)x=popSet['X'];
	if(!y)y=popSet['Y'];
	htmlStr=htmlStr.replace('{$X}',x);
	htmlStr=htmlStr.replace('{$Y}',y);
	htmlStr=htmlStr.replace('{$MAP}',map);
	removePop_ScreenShot();
	popomap.go2xyS(parseInt(x)+sx,y,null,createPop_ScreenShot);
	function createPop_ScreenShot(){
		cleanActionSet();
		popomap.createPop('addScreenShot',htmlStr,x,y,0,103,5);
	}
}
function removePop_ScreenShot(){
	popomap.removePop('addScreenShot');
	return false;
}
function addNoteOpen(){
	actionSet='addNote';
	popomap.setMapTip('<img src="'+window.ApiConst.imgs['righttip']+'">');
	popomap.selectMode(0);
}
function addNote(x,y){
	if(!x)x=popSet['X'];
	if(!y)y=popSet['Y'];
	cleanActionSet();
	popomap.showPopPage('addnote',1,x,y);	
}
function removePop_addNote(){
	popomap.removePop('addNote');
	return false;
}
function addErrOpen(){
	actionSet='addErr';
	popomap.setMapTip('<img src="'+window.ApiConst.imgs['righttip']+'">');
	popomap.selectMode(0);
}
function addErr(x,y){
	if(!x||!y) {
		x=popSet['X'];
	    y=popSet['Y'];
	}
	cleanActionSet();
	popomap.showPopPage('adderr',1,x,y);
}
function removePop_addErr(){
	popomap.removePop('addErr');
	return false;
}
function addPostOpen(){
	actionSet='addPost';
	popomap.setMapTip('<img src="'+window.ApiConst.imgs['righttip']+'">');
}
function addPost(x,y){
	var sx=200*Math.pow(2,popomap.getZoom()-1);
	var htmlStr=popSet['addPost'];
	if(!x)x=popSet['X'];
	if(!y)y=popSet['Y'];
	htmlStr=htmlStr.replace('{$X}',x);
	htmlStr=htmlStr.replace('{$Y}',y);
	htmlStr=htmlStr.replace('{$ID}',boardid);
	removePop_addPost();
	popomap.go2xyS(parseInt(x)+sx,y,null,createPop_addPost);
	function createPop_addPost(){
		cleanActionSet();
		popomap.createPop('addPost',htmlStr,x,y,0,145,5);
	}
}
function removePop_addPost(flag){
	popomap.removePop('addPost');
	if(flag) changenews();
	return false;
}
function showPost(id,x,y,times){
	if(!times) times=0;
	isDoMapInit=true;
	times++;
	if(times>100) return;
	try{
		var sx=200*Math.pow(2,popomap.getZoom()-1);
		htmlStr=popSet['showPost'];
		htmlStr=htmlStr.replace('{$ID}',id);
		removePop_showPost();
		popomap.go2xy(x+sx,y);
		createPop_showPost();
	}
	catch(e){
		var fun='showPost('+id+','+x+','+y+','+times+')';
		window.setTimeout(fun,500);
	}

	function createPop_showPost(){
		popomap.createPop('showPost',htmlStr,x,y,0,145,5);
		mapInit();
	}
}
function removePop_showPost(){
	popomap.removePop('showPost');
	return false;
}
function showNote(id,x,y,cityid){
	popomap.showNote(id,x,y,cityid);
//	if(!times) times=0;
//	isDoMapInit=true;
//	times++;
//	if(times>100) return; 
//	if(popomap.getMapStatus()){
//		var url='/resource/js/assistant/'+Math.floor(id/1000)+'/'+id+'.js';
//		postData(url,null,parseData);
//	}
//	else{
//		var fun='showNote('+id+',0,0,'+times+')';
//		window.setTimeout(fun,100);
//	}

//	function parseData(value){
//		try{
//			if(value){
//				var o=eval('('+value+')');
//				x=o.x;
//				y=o.y;
//			}
//			else{
//				popomap.init(x,y,true);
//				return;
//			}
//		}
//		catch(e){
//			popomap.init(x,y,true);
//			return;
//		}
//		switchNavView(0);
//		htmlStr=popSet['showNote'];
//		htmlStr=htmlStr.replace('{$ID}',id);
//		removePop_showNote();
//		createPop_showNote();
//	}

//	function createPop_showNote(){
//		if(!x||!y)	return;
//		var sx=150*Math.pow(2,popomap.getZoom()-1);
//		popomap.go2xy(x+sx,y);
//		popomap.createPop('showNote',htmlStr,x,y,0,103,5);
//		popomap.init(x+sx,y);
//	}
}
function removePop_showNote(){
	popomap.removePop('showNote');
	return false;
}
function showPop(x,y,content,times){
	if(!times) times=0;
	times++;
	if(times>100) return;
	if(!x||!y) return;
	try{
		var sy=35*Math.pow(2,popomap.getZoom()-1);
		var htmlStr='<div style="border: 1px solid #209FE2;background-color:#59D2FF;padding:3px;font-size:12px;" nowrap>'+content+'</div><img src="'+popomap.defValue.apiPath+'images/point.gif" width="17px" height="17px">';
		if(getNavStatus()) {switchNavView(0);switchMapView(1);popomap.init(x,y);}
		popomap.removePop('tempPop');
		popomap.go2xy(x,y);
		popomap.createPopT('tempPop',htmlStr,x,y-sy,0,0,5);
	}
	catch(e){
		var fun='showPop('+x+','+y+',\''+content+'\''+times+')';
		window.setTimeout(fun,100);
	}
}
function showStation(id,x,y,name,times){
	if(!times) times=0;
	times++;
	if(times>100) return;
	if(!x||!y) return;
	try{
		if(getNavStatus()) {switchNavView(0);switchMapView(1);popomap.init(x,y);}
		popomap.removePop('lineSt2');
		popomap.go2xy(x,y);
		var obj={id:id,x:x,y:y,name:name,type:'bs_2'};
		popomap.createUserPop(obj,{global:true,display:true,idStr:'lineSt2'});
	}
	catch(e){
		var fun='showStation('+id+','+x+','+y+',\''+name+'\''+times+')';
		window.setTimeout(fun,100);
	}
}
function showResult(id,type,times){
	if(!times) times=0;
	times++;
	if(times>100) return;

    //if($('divwindow_boder')&&isAdminUser == true)
    //   $('divwindow_boder').style.display='none';

	var url='';
	if(type==1)
		url='/load/loadAreaInfo.aspx?id='+id;//cmd:'/resource/js/entity/'+map+'/'+Math.floor(id/1000)+'/'+id+'.js';
	else 
		cmd:url='/load/loadOCInfo.aspx?cid='+id;
		//url='/resource/js/unit/'+map+'/'+Math.floor(id/1000)+'/'+id+'.js';
		//prompt('url',url);
	if(popomap.getMapStatus()){
		postData(url,null,parsexml);
	}
	else{
		var fun='showResult('+id+','+type+','+times+')';
		window.setTimeout(fun,100);
	}


	function parsexml(value){
		var x=0,y=0;
		try{
			if(value){
				var o=eval('('+value+')');
				x=o.x;
				y=o.y;
			}
			else{
				popomap.init(x,y,true);
				return;
			}
		}
		catch(e){
			popomap.init(x,y,true);
			return;
		}
		//popomap.go2xy(x,y);
		var noSlowF=false;
		if(getNavStatus()) {switchNavView(0);switchMapView(1);popomap.init(x,y);noSlowF=true;}
		if(type==1)
			popomap.showOCInfo(x,y,id,0,false,noSlowF);
		else 
			popomap.showOCInfo(x,y,0,id,true,noSlowF);
	}
}
function showResult2(id,x,y,type,name){
	//alert(id+','+x+','+y+','+type+','+name);
	if(getNavStatus()) {switchNavView(0);switchMapView(1);popomap.init(x,y);noSlowF=true;}
	if(type==1)
		popomap.showOCInfo(x,y,id,0,false,false);
	else if(type==2)
		popomap.showOCInfo(x,y,0,id,true,false);
	else
		showPop(x,y,name);
}
function showInfo(id,x,y,type,subtype,times){

	if(!times) times=0;
	isDoMapInit=true;
	times++;
	if(times>100) return;
	try{
		if(getNavStatus()) {switchNavView(0);popomap.init(x,y);}
		var sx=180*Math.pow(2,popomap.getZoom()-1);
		var sy=20*Math.pow(2,popomap.getZoom()-1);
		htmlStr=popSet['showInfo'];
		if(!x||!y){
			htmlStr=popSet['showInfo1'];
			x=popomap.getCenterX()-sx;
			y=popomap.getCenterY()+sy;
		}		
		htmlStr=htmlStr.replace('{@ID}',id);
		htmlStr=htmlStr.replace(/{@TYPE}/g,type);
		htmlStr=htmlStr.replace(/{@SUBTYPE}/g,subtype);
		removePop_showInfo();
		popomap.go2xy(parseInt(x)+sx,parseInt(y)-sy);
		createPop_showInfo();
	}
	catch(e){
		var fun='showInfo('+id+','+x+','+y+','+times+')';
		window.setTimeout(fun,500);
	}

	function createPop_showInfo(){
		popomap.createPop('showInfo',htmlStr,x,y,-55,165,5);
		mapInit();
	}
}
function removePop_showInfo(){
	popomap.removePop('showInfo');
	return false;
}
function getPosXYOpen(){
	actionSet='getPosXY';
	national.showMsg('%{MousePointInfo:点右键获取地址}');
	popomap.setMapTip('<span style="color:red;font-size:12px;">'+national.getStr('Prompt','MousePointInfo','点右键获取地址')+'</span>');
}
function getPosXY(){
	innerframe.document.forms[0].x.value=popSet['X'];
	innerframe.document.forms[0].y.value=popSet['Y'];
	cleanActionSet();
}
function getPtInfoOpen(){
	isEntity=false;
	actionSet='getPtInfo';
	national.showMsg('%{MousePointInfo:点右键获取地址}');
	popomap.setMapTip('<span style="color:red;font-size:12px;">'+national.getStr('Prompt','MousePointInfo','点右键获取地址')+'</span>');
}
function getPtInfo(){
	if(confirm(national.getStr('Prompt','DoSetPoint','您确定设置该点吗')+'？')){
		var x=Math.floor(popSet['X']/2);
		var y=Math.floor(popSet['Y']/2);
		var id='';
		var name='';
		if(isEntity){
			id=popomap.getAreaUnitInfo().AreaID;
			name=popomap.getAreaUnitInfo().AreaName;
		}
		innerframe.document.forms[0].centerX.value=x;
		innerframe.document.forms[0].centerY.value=y;
		innerframe.document.forms[0].entity.value=id;
		innerframe.document.forms[0].entityName.value=name;
		actionSet='';
		popomap.setMapTip();
	}
}
function gotoTarget(x,y,id,cid){
	//popomap.removePop('his');
	//popomap.go2xyS(x,y,null,null);
	//popomap.createPopT('his',name,x,y,0,0,5);
	popomap.showOCInfo(x,y,id,cid,true);
}
function around(flag,type,disFlag){
	changePanel(2);
	var url='/yparound.aspx';
	if(flag=='2') url='/infoaround.aspx';
	var range='500';
	if(disFlag) range='1000';
	var x=Math.floor(popomap.getAreaUnitInfo().x/2);
	var y=Math.floor(popomap.getAreaUnitInfo().y/2);
	var params='?map='+map+'&range='+range+'&x='+x+'&y='+y+'&type='+type;
	url+=params;
	rightOpen(url);
}
function unitjoin(){
	var o=popomap.getAreaUnitInfo();
	rightOpen('yp/add_yp.aspx?entity='+o.AreaID+'&entityName='+encodeURIComponent(o.AreaName)+'&centerX='+Math.floor(o.x/2)+'&centerY='+Math.floor(o.y/2)+'&map='+map+'&city='+city);
}
function unitjoin2(){
	rightOpen('yp/yp_add.aspx?map='+map+'&city='+city);
}
function howArrive(value){
	//$('divArrive').style.display='';
	var id=0;
	if(popomap.getAreaUnitInfo().UnitID)
		id=popomap.getAreaUnitInfo().UnitID;
	else
		id=popomap.getAreaUnitInfo().AreaID;
	document.forms['arrive'].to.value=id;
	document.forms['arrive'].from.value=value;
	doArrive(document.forms['arrive']);
}
function doArrive(form){
	if (isEmpty(form.from.value)){
   	   national.showMsg('%{EmptyFrom:起始不能为空}');
	   //form.from.focus();
       return false;
	}else{
		form.action = 'busline.aspx';
		form.target = 'innerframe';
	}
	if(setMapValue(form)) {
		changePanel(2);
		setPanel2Style();
		form.submit();
	}
}
function remove_howArrive(){
	$('divArrive').style.display='none';
}
var upFlag=null;
function setSmartOpen(type){
	if(upFlag!=null){
		national.showMsg('%{ActionHalt:前面的操作未完成}');
		return false;
	}
	actionSet='setSmart';
	if(type=='from'){
		upFlag=0;
	}
	else if(type=='to'){
		upFlag=1;
	}
	popomap.setMapTip('<img src="'+window.ApiConst.imgs['righttip']+'">');
	return true;
}
function setSmartClose(type){
	actionSet='';
	if(type=='from'){
		popomap.removePop('setSmartStart');
	}
	else if(type=='to'){
		popomap.removePop('setSmartEnd');
	}
	else{
		popomap.removePop('setSmartStart');
		popomap.removePop('setSmartEnd');
	}
	upFlag=null;
}
function setSmart(){
	actionSet='';
	var x=popSet['X'];
	var y=popSet['Y'];
	var coor=Math.floor(x/2)+','+Math.floor(y/2);
	popomap.setMapTip();
	//popomap.invokeFun('findStation',x,y,fun);
	if(upFlag==0){
		var htmlStr='<div style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='+popomap.defValue.apiPath+'images/start.png);width:63px;height:41px"></div>';
		if(window.brw!='ie') htmlStr='<img src="'+popomap.defValue.apiPath+'images/start.png" width=63 height=41 border=0>';
		popomap.removePop('setSmartStart');
		popomap.createPop('setSmartStart',htmlStr,x,y,20,41,5);
		innerframe.setFromPos(coor);
		upFlag=null;
	}
	else if(upFlag==1){
		var htmlStr='<div style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='+popomap.defValue.apiPath+'images/end.png);width:63px;height:41px"></div>';
		if(window.brw!='ie') htmlStr='<img src="'+popomap.defValue.apiPath+'images/end.png" width=63 height=41 border=0>';
		popomap.removePop('setSmartEnd');
		popomap.createPop('setSmartEnd',htmlStr,x,y,20,41,5);
		innerframe.setToPos(coor);
		upFlag=null;
	}
	function fun(value){
		if(!value){
			alert('附近没有找到公交车站,请重新设置');
		}
	}
}
var hisTotal=0;
var posx=0,posy=0;
function createHistory(aid,uid,x,y,name){
	var parNode=$('tdHistory');
	var children=parNode.getElementsByTagName('a');
	for(var i=0;i<children.length;i++){
		if(children[i].style._aid==aid&&children[i].style._uid==uid)
			return;
	}
	var a=document.createElement('a');
	var b=document.createElement('br');
	a.style._aid=aid;
	a.style._uid=uid;
	a.className='b1';
	a.href='javascript:gotoTarget('+x+','+y+','+aid+','+uid+')';
	a.innerHTML=name;
	parNode.insertBefore(b,parNode.firstChild);
	parNode.insertBefore(a,parNode.firstChild);
}
function drawRoadLine(id){
	switchNavView(0);
	cleanLine();
	$('divMapClear').style.display='';
	var url='/resource/js/simplelabel/'+map+'/'+Math.floor(id/1000)+'/'+id+'.js';
	var line=eval('('+postData(url)+')');
	var xs=line.xs;
	var ys=line.ys;
	var x=xs.split(',')[0];
	var y=ys.split(',')[0];
	var o={id:id,x:x,y:y,xs:xs,ys:ys,strokeweight:1,autoZoom:true};
	popomap.go2xyS(x,y);
	popomap.drawLine(o);
}
function getBusLine(id){
	var url = '/data/busline/'+id+'.js';
	var line=eval('('+postData(url)+')');
	var xs=line.xs;
	var ys=line.ys;
	var turn_tmp=line.turn;
	var stations=line.stations;
	/*var xx=xs.split(';');
	var yy=ys.split(';');
	var upx=xx[0].split(',');
	var upy=yy[0].split(',');
	var x=upx[0];
	var y=upy[0];
	var downx=[];
	var downy=[];
	var downxArr=[];
	var downyArr=[];
	if(xx.length>1){
		for(var i=1;i<xx.length;i++){
			downxArr[i-1]=xx[i].split(',');
			downyArr[i-1]=yy[i].split(',');
		}
		var downArri=0;
		var flag=false;
		for(var i=upx.length-1;i>=0;i--){
			if(!flag){
				if(Math.abs(downxArr[downArri][0]-upx[i])<=2){
					flag=true;
				}
				downx[downx.length]=upx[i];
				downy[downy.length]=upy[i];
			}
			else{
				var arr1=downxArr[downArri];
				var arr2=downyArr[downArri];
				if(Math.abs(arr1[arr1.length-1]-upx[i])<=2){
					for(var j=1;j<arr1.length;j++){
						downx[downx.length]=arr1[j];
						downy[downy.length]=arr2[j];
					}
					flag=false;
					downArri++;
					if(downArri==downxArr.length) break;
					//if(Math.abs(downxArr[downArri][0]-upx[i])<=2){
						//i++;
					//}
				}
			}
		}
	}
	else{
		for(var i=upx.length-1;i>=0;i--){
			downx[downx.length]=upx[i];
			downy[downy.length]=upy[i];
		}
	}*/

	var up_tmp=[];
	var down_tmp=[];
	for(var i=0;i<stations.length;i++){
		if(stations[i].state==0){
			up_tmp[up_tmp.length]=stations[i];
			down_tmp[down_tmp.length]=stations[i];
		}
		else if(stations[i].state==1){
			up_tmp[up_tmp.length]=stations[i];
		}
		else if(stations[i].state==-1){
			down_tmp[down_tmp.length]=stations[i];
		}
	}
	var half=Math.floor(down_tmp.length/2);
	var length=down_tmp.length;
	for(var i=0;i<half;i++){
		var a=down_tmp[i];
		down_tmp[i]=down_tmp[length-1-i];
		down_tmp[length-1-i]=a;
	}

	var xx=xs.split(';');
	var yy=ys.split(';');
	var upx=xx[0].split(',');
	var upy=yy[0].split(',');
	var downx;
	var downy;
	if(xx.length>1){
		downx=xx[1].split(',');
		downy=yy[1].split(',');
		for(var i=upx.length-1;i>=0;i--){
			if(upx[i]==downx[downx.length-1]){
				var xt=upx.slice(0,i).reverse();
				var yt=upy.slice(0,i).reverse();
				downx=downx.concat(xt);
				downy=downy.concat(yt);
			}
		}
	}
	else{
		downx=xx[0].split(',').reverse();
		downy=yy[0].split(',').reverse();
	}

	var up=[];
	var down=[];
	var ids=[];
	if(true){
		var upi=0;
		for(var i=0;i<upx.length;i++){
			if(up_tmp.length&&Math.abs(up_tmp[upi].x-upx[i])<=2&&Math.abs(up_tmp[upi].y-upy[i])<=2){
				up.push(up_tmp[upi]);
				ids[up_tmp[upi].id]=1;
				if(upi==up_tmp.length-1){
					//upMax=i;
					break;
				}
				upi++;
			}
			else{
				up.push({x:upx[i],y:upy[i]});
			}
		}
		var downi=0;
		for(var i=0;i<downx.length;i++){
			if(down_tmp.length&&down_tmp[downi]&&Math.abs(down_tmp[downi].x-downx[i])<=2&&Math.abs(down_tmp[downi].y-downy[i])<=2){
				down.push(down_tmp[downi]);
				if(ids[down_tmp[downi].id]){
					ids[down_tmp[downi].id]+=2;
				}
				else{
					ids[down_tmp[downi].id]=2;
				}
				downi++;
			}
			else{
				down.push({x:downx[i],y:downy[i]});
			}
		}
	}
	line.upStations=up_tmp;
	line.downStations=down_tmp;
	line.up=up;
	line.down=down;
	line.turn = turn_tmp;
	return line;
}
function getLine(blid1,blid2,id1,id2,id3){
	var line1=null;
	var line2=null;
	var bl1=null;
	var bl2=null;
	var turn=null;
	if(blid1&&id1&&id2){
		line1=getBusLine(blid1);
		var stations=line1.stations;
		for(var i=0;i<stations.length;i++){
			if(stations[i].id==id1){
				bl1=line1.up;
				break;
			}
			if(stations[i].id==id2){
				bl1=line1.down;
				break;
			}
		}
	}
	if(blid2&&id3){
		line2=getBusLine(blid2);
		var stations=line2.stations;
		for(var i=0;i<stations.length;i++){
			if(stations[i].id==id2){
				bl2=line2.up;
				break;
			}
			if(stations[i].id==id3){
				bl2=line2.down;
				break;
			}
		}
	}
	var line=[];
	var flag=false;
	var len2=0;
	if(bl1){
		for(var i=0;i<bl1.length;i++){
			if(bl1[i].id&&bl1[i].id==id1)flag=true;
			if(flag){
				line.push(bl1[i]);
			}
			if(bl1[i].id&&bl1[i].id==id2){
				flag=false;
				break;
			}			
		}
	}
	if(bl2){
		for(var i=0;i<bl2.length;i++){
			if(flag){
				line.push(bl2[i]);
				len2++;
			}
			if(bl2[i].id&&bl2[i].id==id2)flag=true;			
			if(bl2[i].id&&bl2[i].id==id3){
				flag=false;
				break;
			}
		}
	}
	if(line1!=null&&line1.turn!=null)
	{
	    turn = line1.turn;
	}
	if(blid1&&!bl1&&!bl2){
		line1=getBusLine(blid1);
		line=line1.up;
		turn = line1.turn;
	}
	return {line:line,len2:len2,turn:turn};
}
function drawBusLine(blid1,blid2,id1,id2,id3,inPointto){
	switchNavView(0);
	cleanLine();
	$('divMapClear').style.display='';
	//var line=getLine(50040,50041,570,387,676);
	var result=getLine(blid1,blid2,id1,id2,id3);
	//append on 2008-04-15 by amw
	inPointto = 0;
	if(null!=inPointto&&null!=blid1)
	{
	    result = filterPointTo(result,inPointto);
	}
	var line=result.line;
	var len2=result.len2;
	var x=line[0].x;
	var y=line[0].y;
	xs=x;
	ys=y;
	for(var i=1;i<line.length-len2;i++){
		xs+=','+line[i].x;
		ys+=','+line[i].y;
		//alert(line[i].x+','+line[i].y);
	}
	popomap.zoomto(4);
	popomap.go2xy(x,y);
	var o={id:0,x:x,y:y,xs:xs,ys:ys,autoZoom:true,strokecolor:'#FFFF00',strokeweight:1,endarrow:'block'};
	if(brw=='ie')popomap.drawLine(o);
	xs=line[0].x+','+line[1].x;
	ys=line[0].y+','+line[1].y;
	o={id:2,x:x,y:y,xs:xs,ys:ys,autoZoom:true,strokecolor:'#FFFF00',strokeweight:1,endarrow:'block'};
	if(brw=='ie')popomap.drawLine(o);
	if(len2){
		var x2=line[line.length-len2-1].x;
		var y2=line[line.length-len2-1].y;
		var xs2=x2;
		var ys2=y2;
		for(var i=line.length-len2;i<line.length;i++){
			xs2+=','+line[i].x;
			ys2+=','+line[i].y;
			//alert(line[i].x+','+line[i].y);
		}
		var o={id:3,x:x2,y:y2,xs:xs2,ys:ys2,autoZoom:true,strokecolor:'#0000FF',strokeweight:1,endarrow:'block'};
		if(brw=='ie')popomap.drawLine(o);
	}
	for(var i=0;i<line.length;i++){

		if(!line[i].id) continue;
		var htmlStr='<div style="border: 1px solid #209FE2;background-color:#59D2FF;padding:3px;font-size:12px;" nowrap>'+line[i].name+'</div><img src="images/map/point.gif" width="17px" height="17px">';
		if(id3&&line[i].id==id2){
			var htmlStr='<div style="border: 1px solid #209FE2;background-color:red;padding:3px;font-size:12px;" nowrap>'+line[i].name+'</div><img src="images/map/point.gif" width="17px" height="17px">';
		}
		//idlist[idlist.length]=popomap.createPop('busStation'+line[i].id,htmlStr,line[i].x,line[i].y,0,35,5);
		line[i].type='bs_1';
		idlist[idlist.length]=popomap.createUserPop(line[i],{global:true,display:true,idStr:'lineSt'+line[i].id});
	}
}
/*
    时间:   2008-04-15
*   添加者: 柳寒风
*   功能:   为实现公交车上行/下行而增加的函数
*/
function drawBusLineEx(blid1,inPointto,blid2,id1,id2,id3){
	switchNavView(0);
	cleanLine();
	$('divMapClear').style.display='';
	//var line=getLine(50040,50041,570,387,676);
	var result=getLine(blid1,blid2,id1,id2,id3);
	//alert('runing----'+inPointto);
	if(null!=inPointto)
	{
	    result = filterPointTo(result,inPointto);
	}
	var line=result.line;
	var len2=result.len2;
	var x=line[0].x;
	var y=line[0].y;
	xs=x;
	ys=y;
	for(var i=1;i<line.length-len2;i++){
		xs+=','+line[i].x;
		ys+=','+line[i].y;
		//alert(line[i].x+','+line[i].y);
	}
	//alert(line.length+'....'+xs+'::'+ys);
	//popomap.zoomto(4);
	popomap.go2xy(x,y);
	//画整个线路的VML
	var o={id:0,x:x,y:y,xs:xs,ys:ys,autoZoom:true,strokecolor:'#FFFF00',strokeweight:1,endarrow:'block'};
	if(brw=='ie')popomap.drawLine(o);
	//画第一站个第二站之间的VML
	xs=line[0].x+','+line[1].x;
	ys=line[0].y+','+line[1].y;
	o={id:2,x:x,y:y,xs:xs,ys:ys,autoZoom:true,strokecolor:'#FFFF00',strokeweight:1,endarrow:'block'};
	if(brw=='ie')popomap.drawLine(o);
	if(len2){
		var x2=line[line.length-len2-1].x;
		var y2=line[line.length-len2-1].y;
		var xs2=x2;
		var ys2=y2;
		for(var i=line.length-len2;i<line.length;i++){
			xs2+=','+line[i].x;
			ys2+=','+line[i].y;
			//alert(line[i].x+','+line[i].y);
		}
		var o={id:3,x:x2,y:y2,xs:xs2,ys:ys2,autoZoom:true,strokecolor:'#0000FF',strokeweight:1,endarrow:'block'};
		if(brw=='ie')popomap.drawLine(o);
	}
	for(var i=0;i<line.length;i++){

		if(!line[i].id) continue;
		var htmlStr='<div style="border: 1px solid #209FE2;background-color:#59D2FF;padding:3px;font-size:12px;" nowrap>'+line[i].name+'</div><img src="images/map/point.gif" width="17px" height="17px">';
		if(id3&&line[i].id==id2){
			var htmlStr='<div style="border: 1px solid #209FE2;background-color:red;padding:3px;font-size:12px;" nowrap>'+line[i].name+'</div><img src="images/map/point.gif" width="17px" height="17px">';
		}
		//idlist[idlist.length]=popomap.createPop('busStation'+line[i].id,htmlStr,line[i].x,line[i].y,0,35,5);
		line[i].type='bs_1';
		idlist[idlist.length]=popomap.createUserPop(line[i],{global:true,display:true,idStr:'lineSt'+line[i].id});
	}
}
function mapClear(){
	setSmartClose();
	cleanLine();
	cleanUserPop();
}
function cleanLine(){
	popomap.destroyAllG();
	for(var i=0;i<idlist.length;i++){
		var id=idlist[i];
		popomap.removePop(id);
	}
	idlist=[];
	//setSmartClose();
	$('divMapClear').style.display='none';
}
function drag(obj,src){
	src.onmousedown=function(evt){
		if(!evt) evt=window.event;
		var d=document;
		var x=evt.clientX-obj.offsetLeft;
		var y=evt.clientY-obj.offsetTop;
		obj.setCapture();
		
		d.onmousemove=function(evt){
			if(!evt) evt=window.event;
			obj.style.left=evt.clientX-x;
			obj.style.top=evt.clientY-y;
		};

		d.onmouseup=function(evt){
			if(!evt) evt=window.event;
			obj.releaseCapture();
			d.onmousemove=null;
			d.onmouseup=null;
		};
	}
}
function loadXML(url,fun)
{
	var xmlDoc;
	if (window.ActiveXObject){
		xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
		xmlDoc.async=false;
		xmlDoc.load(url);
		doxml();
	}
	else if (document.implementation &&document.implementation.createDocument){
		xmlDoc= document.implementation.createDocument("","",null);
		try{
			xmlDoc.load(url);
			xmlDoc.onload=doxml;
		}
		catch(e){}
	}
	else{
		alert('load xml error!');
	}

	function doxml(){
		if(xmlDoc.documentElement)fun(xmlDoc.documentElement);
		xmlDoc=null;
		delete xmlDoc;
	}
}
function checkBrowse(){
	if(!window.XMLHttpRequest){
		window.XMLHttpRequest=function(){
			var xmlHttp=null;
			var progids=['Microsoft.XMLHTTP', 'MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];
			for(var i=0;i<progids.length;i++){
				try{
					xmlHttp=new ActiveXObject(progids[i]);
					break;
				}
				catch(e){}
			}
			if(xmlHttp==null){
				//alert('无法创建对象');
			}
			return xmlHttp;
		};
	}
}
function postData(url,postValue,fun,method,async){
	var xmlObj = null;
	if(window.XMLHttpRequest){
		xmlObj = new XMLHttpRequest();
	}
	else {
		return;
	}
	method=method=='POST'?'POST':'GET';
	async=false;
	if(typeof(fun)=='function')async=true;
	if(async) xmlObj.onreadystatechange = doData;
	xmlObj.open (method, url, async);
	if(method=='POST'){
		//xmlObj.setrequestheader("Content-Length",postValue.length);
		xmlObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	}
	xmlObj.send (postValue);
	if(!async){
		return getData();
	}

	function getData(){
		if(xmlObj.getResponseHeader('Content-Type')=='text/xml')
			return xmlObj.responseXML;
		else
			return xmlObj.responseText;
	}

	function doData(){
		if(xmlObj.readyState!=4){
			return;
		}
		if(xmlObj.status==200){
			fun(getData());
			xmlObj.onreadystatechange=function(){};
			xmlObj.abort();
			xmlObj=null;
			delete xmlObj;
		}
		else{
			fun(null);
			xmlObj.onreadystatechange=function(){};
			xmlObj.abort();
			xmlObj=null;
			delete xmlObj;
		}
	}
}
checkBrowse();
waitMap();
//showNote(2,59530,39298);
//mapInit();
var mname=new Array( 
//"地 图 快 照", 
"E 城&nbsp公&nbsp交", 
"E 城&nbsp楼&nbsp房", 
"E 城&nbsp路&nbsp名", 
"E 城&nbsp路&nbsp网", 
"360度 全 景", 
"停 &nbsp车 &nbsp场",
"虚 拟 测 距",
"虚 拟 测 面",
"添 加 便 签",
"提 交 错 误"
); 
//mname是菜单对应的名称，数组的个数必须与下面murl对应 

var murl=new Array( 
//"remove_Menu();addScreenShotOpen();",
"remove_Menu();loadSign(2);", 
"remove_Menu();loadSign(21);", 
"remove_Menu();loadSign(22);",  
"remove_Menu();loadSign(25);",
"remove_Menu();loadSign(24);", 
"remove_Menu();loadSign(23)",
"remove_Menu();selectMode(1)",
"remove_Menu();selectMode(201)",
"remove_Menu();addNoteOpen()",
"remove_Menu();addErrOpen()"
); 

//murl是菜单对应的操作，可以是任意javascript代码但是要注意不要在里面输入\"，只能用' 
//如果要实现跳转可以这样window.location='url';  
var ph=18,mwidth=100;//每条选项的高度,菜单的总宽度 
var bgc="#ffffff",txc="black";//菜单没有选中的背景色和文字色 
var cbgc="#B6D4FF",ctxc="white";//菜单选中的选项背景色和文字色 
/****************以下代码请不要修改******************/ 
var mover="this.style.background='"+cbgc+"';this.style.color='"+ctxc+"';" 
var mout="this.style.background='"+bgc+"';this.style.color='"+txc+"';" 

 //this.style.height=mname.length*ph; 
 var menuTable="<table width="+mwidth+" height="+mname.length*ph+"px cellpadding=0  cellspacing=0 border=1 oncontextmenu=self.event.returnValue=false>"; 
 var i=0; 
 for(i=0;i<mname.length;i++) 
 { //h+="<tr><td><div style='font-size:9pt;borderBottomColor:#303030;borderColor:#303030;color:#303030;cursor:pointer;display:block;fontFamily:Courier New;haslayout:-1;lineHeight:20px;position:absolute;scrollbarBaseColor:#303030;top:0px;width:80px;height:20;' myA=\"aa\" onclick=\""+murl[i]+"\">"+mname[i]+"</div></td></tr>"; 
 if(i>0)
     menuTable += "<tr align=center height=" + ph + "  onMouseover=\"" + mover + "\" onMouseout=\"" + mout + "\"  style=' background:#ffffff;'><td style='font-size:9pt;border-bottom: #78AFFF 1px solid;border-right:#78AFFF 1px solid;border-left:#78AFFF 1px solid;' myA=\"aa\" onclick=\"" + murl[i] + "\">" + mname[i] + "</td></tr>"; 
  else
      menuTable += "<tr align=center height=" + ph + "  onMouseover=\"" + mover + "\" onMouseout=\"" + mout + "\" style=' background:#ffffff;'><td style='font-size:9pt;border-bottom: #78AFFF 1px solid;border-right:#78AFFF 1px solid;border-left:#78AFFF 1px solid;border-top:#78AFFF 1px solid;' myA=\"aa\" onclick=\"" + murl[i] + "\">" + mname[i] + "</td></tr>"; 
  
 } 
 menuTable+="</table>"; 
popSet['addNote']='<div class="window_shadow2"><div class="window_boder2" ><div style="position:absolute; margin-left:-56px; margin-top:65px; padding:0px;"><img src="images/xinxi/point.gif" width="55" height="39"></div><div class="window_boder_tt"><div class="window_boder_tt_left">'+national.getStr('Citymap','AddNote','添加便签')+'</div><div class="window_close"><img src="/images/map/close.gif" width="16" height="16" style="cursor:pointer;" onclick="mapApi.myCustomFun(null,\'removePop_addNote\')"></div></div><iframe id="ifSmallAddPost" style="WIDTH:200px;HEIGHT:130px" scrolling="no" frameborder="no" src="/assistant.aspx?_flowId=edit&map={$MAP}&x={$X}&y={$Y}"></iframe></div></div>';
popSet['showNote']='<div class="window_shadow2"><div class="window_boder2" ><div style="position:absolute; margin-left:-56px; margin-top:65px; padding:0px;"><img src="images/xinxi/point.gif" width="55" height="39"></div><div class="window_boder_tt"><div class="window_boder_tt_left">'+national.getStr('Citymap','Note','便签')+'</div><div class="window_close"><img src="/images/map/close.gif" width="16" height="16" style="cursor:pointer;" onclick="mapApi.myCustomFun(null,\'removePop_showNote\')"></div></div><iframe id="ifSmallAddPost" style="WIDTH:200px;HEIGHT:130px" scrolling="no" frameborder="no" src="/assistant.aspx?_flowId=view&id={$ID}"></iframe></div></div>';
popSet['addErr']='<div class="window_shadow2"><div class="window_boder2" ><div style="position:absolute; margin-left:-56px; margin-top:80px; padding:0px;"><img src="images/xinxi/point.gif" width="55" height="39"></div><div class="window_boder_tt"><div class="window_boder_tt_left">'+national.getStr('Citymap','Mistake','糾錯')+'</div><div class="window_close"><img src="/images/map/close.gif" width="16" height="16" style="cursor:pointer;" onclick="mapApi.myCustomFun(null,\'removePop_addErr\')"></div></div><iframe id="ifAddErr" style="WIDTH:210px;HEIGHT:180px" scrolling="no" frameborder="no" src="/txtedit.aspx?_flowId=edit&map={$MAP}&x={$X}&y={$Y}"></iframe></div></div>';
popSet['addPost']='<div style="width:469px;"><table width="100%" border="0" cellspacing="0" cellpadding="0">    <tr>      <td width="69" background="images/bbs_69x1.gif"  valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">        <tr>          <td height="110px">&nbsp;</td>        </tr>        <tr>          <td><img src="images/bbs_69x35.gif" width="69px" height="35px" /></td>        </tr>      </table></td>      <td style="border-top-width: 3px;border-right-width: 3px;border-bottom-width: 3px;border-top-style: solid;border-right-style: solid;border-bottom-style: solid;border-top-color: #CCCCCC;border-right-color: #CCCCCC;border-bottom-color: #CCCCCC;background-color: #FFFFFF;"><table width="100%" border="0" cellpadding="0" cellspacing="0">        <tr>          <td bgcolor="#F6F6F6" width="380px" style="font-size:12px"><b>&nbsp;发表猎闻</b></td>          <td width="20px" bgcolor="#F6F6F6"><img src="images/bbs_close.gif" style="cursor:pointer;" onclick="parent.removePop_addPost()"></td>        </tr>        <tr>          <td colspan="2"><iframe id="ifAddErr" style="WIDTH:400px;HEIGHT:250px" scrolling="yes" frameborder="no" src="/mutual/message.jspa?_flowId=edit&typeId={$ID}&x={$X}&y={$Y}"></iframe></td>        </tr>      </table></td>    </tr>  </table></div>';
popSet['showPost']='<div style="width:410px;"><table width="100%" border="0" cellspacing="0" cellpadding="0">    <tr>      <td width="69" background="images/bbs_69x1.gif"  valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">        <tr>          <td height="110px">&nbsp;</td>        </tr>        <tr>          <td><img src="images/bbs_69x35.gif" width="69px" height="35px" /></td>        </tr>      </table></td>      <td style="border-top-width: 3px;border-right-width: 3px;border-bottom-width: 3px;border-top-style: solid;border-right-style: solid;border-bottom-style: solid;border-top-color: #CCCCCC;border-right-color: #CCCCCC;border-bottom-color: #CCCCCC;background-color: #FFFFFF;"><table width="100%" border="0" cellpadding="0" cellspacing="0">        <tr>          <td bgcolor="#F6F6F6" width="345px" style="font-size:12px"><b>&nbsp;猎闻</b></td>          <td width="20px" bgcolor="#F6F6F6"><img src="images/bbs_close.gif" style="cursor:pointer;" onclick="mapApi.myCustomFun(null,\'removePop_showPost\')"></td>        </tr>        <tr>          <td colspan="2"><iframe id="ifAddErr" style="WIDTH:360px;HEIGHT:250px" scrolling="yes" frameborder="no" src="/mutual/message.jspa?_flowId=view&id={$ID}"></iframe></td>        </tr>      </table></td>    </tr>  </table></div>';
popSet['showInfo']='<div style="position:absolute;left:-67px;top:153px;"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="24px" height="24px">  <param name="movie" value="api/images/flash/dw.swf">  <param name="quality" value="high">  <param name="wmode" value="transparent">   <embed src="api/images/dw.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="24px" height="24px"></embed></object></div><div style="position:absolute;left:-53px;top:129px;"><img src="images/map/point2.gif"></div><img border="0" style="position:absolute;left:310px;top:6px;cursor:pointer" src="/images/map/close.gif" onclick="mapApi.removePop(\'showInfo\')"><div id="Layer1">	<div style="background:#fff;padding:1 0 0 1;width:332;height:230;">	<div style="height:100%; width:100%; ">		<div style="background:#fff;height:100%; width:100%;">		  <iframe src="/info/view{@TYPE}.aspx?{@TYPE}ID={@ID}&type={@TYPE}&subtype={@SUBTYPE}" height="100%" width="100%" frameborder="0" scrolling="no" ></iframe>		</div>	</div>	</div>	</div>';
popSet['showInfo1']='<div style="position:absolute;left:400px;top:10px;border: 1px solid #ff6600;color:ff6600;padding: 0 2;cursor:pointer;margin: 0 2 0 0;" onClick="mapApi.myCustomFun(null,\'removePop_showInfo\')"><span style="font-family: Verdana, Arial, Helvetica, sans-serif;	font-size: 9px;"><b>X</b></span></div><div id="Layer1">	<div style="background:#fff;border:1px solid #60B9F2;padding:1 0 0 1;width:420;height:300;">	<div style="height:100%; width:100%; background:#AFE0FD; padding:3px;">		<div style="background:#fff;height:100%; width:100%;">		  <iframe src="/info/view{$TYPE}&subtype={$SUBTYPE}&{$TYPE}id={$ID}" height="100%" width="100%" frameborder="0" scrolling="no" ></iframe>		</div>	</div>	</div>	<div></div>';
popSet['showmenu']='<div style="position:absolute;display:block;cursor:default; background:#eee;clolor:black;width:50;height:100;" with="50" height="18" onClick="return false" >{$h}</div>'
popSet['addScreenShot']='<div class="window_shadow2"><div class="window_boder2" ><div style="position:absolute; margin-left:-56px; margin-top:65px; padding:0px;"><img src="images/xinxi/point.gif" width="55" height="39"></div><div class="window_boder_tt"><div class="window_boder_tt_left">地图快照</div><div class="window_close"><img src="/images/map/close.gif" width="16" height="16" style="cursor:pointer;" onclick="mapApi.myCustomFun(null,\'removePop_ScreenShot\')"></div></div><iframe id="ifSmallAddPost" style="WIDTH:200px;HEIGHT:130px" scrolling="no" frameborder="no" src="/ScreenShot.aspx?_flowId=edit&map={$MAP}&x={$X}&y={$Y}"></iframe></div></div>';
//----------------------Append from 2008-04-15------------------------------
/*  函数名:filterPointTo
 *  参数:
 *      lines:  包含线路的对象(如:lines.line[i])
 *      pointto:    上行/下行/上下行=0/1/2
 *  功能:按类型过滤上行/下行/上下行
 *  作者:   柳寒风
 *  时间:   2008-04-15
 */
function filterPointTo(lines,pointto)
{
    var lines_tmp=[];
    var obj =[];
    if(typeof(lines)=='object')
    {
        obj.len2 = lines.len2;
        for(var i =0;i<lines.line.length;i++)
        {
            //alert(lines.line[i].pointto+';'+lines.line[i].x+','+lines.line[i].y);
            if(lines.line[i].pointto==pointto)
            {
                lines_tmp[lines_tmp.length]=lines.line[i];
                //alert("add["+i+"]"+lines.line[i].pointto+"----"+lines_tmp.length+":"+lines_tmp[lines_tmp.length-1].pointto);
            }else if(null==lines.line[i].pointto)
            {
                for(var j =0;j<lines.turn.length;j++)
                {
                    if(lines.turn[j].x==lines.line[i].x&&lines.turn[j].y==lines.line[i].y&&lines.turn[j].pointto==pointto)
                    {
                        lines_tmp[lines_tmp.length]=lines.line[i];
                    }
                }
            }
        }
    }else
    {
        obj=lines;
    }
    obj.line=lines_tmp;
    return obj;
}
//--------------------------------------------------------------------------

function vPolyline(id,parent,arrX,arrY,option)
{
	this.id=id;
	this.arrX=(arrX==null)?[]:arrX;
	this.arrY=(arrY==null)?[]:arrY;
	this.option=(option==null)?new vOption():option;
	this.graph=this.option.graph;
	this.parent=parent;
	this.shiftX=0;
	this.shiftY=0;
	this.zoom=1;
	
}vPolyline.prototype=
{
	drawPolyline:function ()
	{
		this.polylineElm=document.createElement('v:polyline');
		this.polylineElm.id=this.id;
		this.strokeElm=this.polylineElm.appendChild(document.createElement('v:stroke'));
		this.setStyle();
		this.parent.appendChild(this.polylineElm);
		this.paint();
		
	},setOption:function (option)
	{
		if(option==null)return ;
		this.option=option;
		this.setStyle();
		
	},setStyle:function ()
	{
		this.polylineElm.stroked=this.option.stroked;
		this.polylineElm.strokecolor=this.option.strokecolor;
		this.polylineElm.strokeweight=this.option.strokeweight;
		this.polylineElm.filled=this.option.filled;
		this.polylineElm.fillcolor=this.option.fillcolor;
		if(this.startarrow!='none'||this.endarrow!='none')
		{
			this.strokeElm.startarrow=this.option.startarrow;
			this.strokeElm.endarrow=this.option.endarrow;
			
		}
	},addPoint:function (x,y,doPaint,index)
	{
		if(!index)index=this.arrY.length;
		else 
		{
			if(index!=this.arrX.length)
			{
				for(var i=this.arrX.length-1;i>=index;i--)
				{
					this.arrX[i+1]=this.arrX[i];
					this.arrY[i+1]=this.arrY[i];
					
				}
			}
		}this.arrX[index]=x;
		this.arrY[index]=y;
		if(doPaint)this.paint();
		
	},addPoints:function (x,y,doPaint)
	{
		for(var i=0;i<x.length;i++)
		{
			this.arrX[this.arrX.length]=x[i];
			this.arrY[this.arrY.length]=y[i];
			
		}if(doPaint)this.paint();
		
	},setPoint:function (x,y,doPaint,index)
	{
		index=(index!=null&&index<=this.arrX.length)?index:this.arrX.length>0?this.arrX.length-1:0;
		this.arrX[index]=x;
		this.arrY[index]=y;
		if(doPaint)this.paint();
		
	},setPoints:function (x,y,doPaint)
	{
		this.arrX=x;
		this.arrY=y;
		if(doPaint)this.paint();
		
	},delPoint:function (index)
	{
		if(index<0||index>=this.arrX.length)return ;
		this.arrX.splice(index,1);
		this.arrY.splice(index,1);
		this.paint();
		
	},paint:function ()
	{
		var str='';
		for(var i=0;i<this.arrX.length;i++)
		{
			if(i>0)str+=',';
			str+=(this.arrX[i]-this.shiftX)*this.zoom+','+(this.arrY[i]-this.shiftY)*this.zoom;
			
		}if(this.option.closed)
		{
			if(str)str+=',';
			str+=(this.arrX[0]-this.shiftX)*this.zoom+','+(this.arrY[0]-this.shiftY)*this.zoom;
			
		}this.polylineElm.points.value=str;
		
	},setZoom:function (z)
	{
		this.zoom=z;
		
	},setShift:function (x,y)
	{
		this.shiftX=parseInt(x);
		this.shiftY=parseInt(y);
		
	},setXY:function ()
	{
		
	},getPointNum:function ()
	{
		return this.arrX.length;
		
	},getObj:function ()
	{
		return this.polylineElm;
		
	},destroy:function ()
	{
		this.parent.removeChild(this.polylineElm);
		
	}
};


//-------------------------------显示弹出页面(基于方法:showPopPage)---------------------------------
/**
*   注:
*       1.可操作API的实例为:popomap
*       2.操作前应先判断API是否加载完成.方法:popomap.getMapStatus()
*/

/**
*   移除弹出页面(基于方法:showPopPage的弹出页面)
*/
function removePopPage(){
    if(popomap.getMapStatus()){
        popomap.removePopPage();
    }else{
        alert('地图引擎未加载完成.请稍后.');
    }
    //popomap.showNote(id,x,y,cityid);
}
/**
*   显示商铺弹出页面(基于方法:showPopPage的弹出页面)
*/
function showShop (id, x, y, cityid){
    popomap.showShop(id,x,y,cityid);
}
/**
*   显示企业入住信息弹出窗(基于方法:showPopPage的弹出页面)
*/
function showShopbusiness(id, x, y, cityid) {
    popomap.showShopbusiness(id, x, y, cityid);
}
/**
*   显示楼房弹出页面(基于方法:showPopPage的弹出页面)
*/
function showBuilding (id, x, y, cityid){
    popomap.showBuilding(id,x,y,cityid);
}
/**
*   显示新闻弹出页面(基于方法:showPopPage的弹出页面)
*/
function showNews (id, x, y, cityid){
    popomap.showNews(id,x,y,cityid);
}
/**
*   显示公交站点弹出页面(基于方法:showPopPage的弹出页面)
*/
function showBuspark (id, x, y, cityid){
    popomap.showBuspark(id,x,y,cityid);
}
/**
*   显示房产信息弹出页面(基于方法:showPopPage的弹出页面)-lbk
*/
function showHouse (id, x, y, cityid){
    popomap.showHouse(id,x,y,cityid);
}
/**
*   显示商店坐标标记-lbk
*/
function showShopFlag (shopsStr){
    popomap.createShopFlag(shopsStr);
}

