var isEntity=false;
var mapAction={action:'',argu:[]};
var isComplete=false;

//地图操作


//创建地图,此函数将会在body的onload事件中执行
function mapLoader(){
	var config=o__customValue;		//地图的参数
	var omapApi=new omap.Api('map1',config);	//初始化api
	omapApi.config.setWidth(0);
	omapApi.config.setHeight(0);
	omapApi.onMapStatus('ready',onMapReady);	//当地图准备好以后可以进行一些设置
	omapApi.createMap('mapDiv');				//在id为“mapDiv”的容器中创建地图，如果不传参数将在当前位置创建地图
}

//在地图状态为"ready"时设置地图上的事件、样式、开关等
function onMapReady(){
	omapApi.appendStyle('css1','css/map.css');//给地图附加样式，初在地图上创建任意的html内容时就可以用这个里面的样式
	//omapApi.setValue('isShowAUInfo',false);			//屏蔽地图上实体默认的点击事件
	omapApi.setEvent('onAreaClick',myAreaClick);	//注册地图实体点击的事件
	//popomap.setEvent('onmousemove',mymousemove);	//去掉注释后ie可在状态样上显示坐标
	omapApi.setEvent('onmouseup',mymouseup);		//注册鼠标释放事件
	omapApi.getInnerInstances().infoBox.setTabClick(infoBoxTabClick);		//注册弹出窗口的tab点击时触发的事件
	omapApi.getInnerInstances().dataLoader.setSignFlag('gySign',true);		//设置地图上的“gySign”图层默认加载
	omapApi.getSignHandler('gySign').setClickFun(gySignClick);				//注册地图上上的“gySign”图层的点击事件
	idexMenu.regSigns();
	doMap();
	isComplete=true;
}
//地图加载完成后的一些操作，如显示某个单位
function doMap(){
	switch(mapAction.action){
		case 'showMapInfo':
			omapUtils.showMapInfo(mapAction.argu[0],mapAction.argu[1]);
			break;
		case 'action':
			doMapAction(mapAction.argu);
			break;
		default:
			loadXY();
			break;
	}
}
function doMapAction(argu){
	var action=argu[0];
	var param1=argu[1];
	var param2=argu[2];
	var param3=argu[3];
	switch(action){
		case 'showPop':
			var x=parseInt(param1);
			var y=parseInt(param2);
			var content=param3;
			omapUtils.showPop(x,y,content);
			popomap.init(x,y,true);
			break;
		default:
			break;
	}
}
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/map/flag.gif">',x,y,0,17,5);
}



//地图实体上的点击后执行的操作
function myAreaClick(evt){
	isEntity=true;
	return;
}

//鼠标在地图上移动时执行的操作，此处为显示坐标
function mymousemove(evt){
	window.status=omapApi.getCurX(evt)+':'+omapApi.getCurY(evt);
}

function mymouseup(evt){
	var actionSet=getActionSet();
	if(actionSet=='') return;
	//var s=60*popomap.getZoom();
	popSet['X']=Math.round(popomap.getCurX(evt));
	popSet['Y']=Math.round(popomap.getCurY(evt));

	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 'getPointInfo':
				getPointInfo();
				break;
			default:
				break;
		}
	}
	isEntity=false;
}

function infoBoxTabClick(id,index){
	var params={index:index+1,id:id};
	var url=pageConfig.getUrl('infobox',params);
	omapApi.getInnerInstances().infoBox.setPage(url);
}
function gySignClick(o){
	alert(o.name);
}
//----------------------------------------------
//
function around(flag,type,disFlag){//周边搜索
	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={range:range,x:x,y:y,type:type};
	var url=pageConfig.getUrl('around',params);
	if(flag=='2') url=pageConfig.getUrl('infoaround',params);
	ui.changePanel(0,url);
}
function unitjoin(){
	var o=popomap.getAreaUnitInfo();
	var params={entity:o.AreaID,entityName:encodeURIComponent(o.AreaName),centerX:Math.floor(o.x/2),centerY:Math.floor(o.y/2)};
	rightOpen(pageConfig.getUrl('unitjoin',params));
}
function unitjoin2(){
	rightOpen(pageConfig.getUrl('unitjoin2'));
}
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)){
   	   alert('起始不能为空');
	   //form.from.focus();
       return false;
	}else{
		form.action = pageConfig.getUrl('arrive');
		form.target = 'rightIfr';
	}
	if(setMapValue(form)) {
		ui.changePanel(0);
		//setPanel2Style();
		form.submit();
	}
}
function remove_howArrive(){
	$('divArrive').style.display='none';
}

//智能搜索
var upFlag=null;
function setSmartOpen(type){
	if(upFlag!=null){
		alert('前面的操作未完成');
		return false;
	}
	setActionSet('setSmart');
	if(type=='from'){
		upFlag=0;
	}
	else if(type=='to'){
		upFlag=1;
	}
	return true;
}
function setSmartClose(type){
	cleanActionSet();
	if(type=='from'){
		popomap.removePop('setSmartStart');
	}
	else if(type=='to'){
		popomap.removePop('setSmartEnd');
	}
	else{
		popomap.removePop('setSmartStart');
		popomap.removePop('setSmartEnd');
	}
	upFlag=null;
}
function setSmart(){
	cleanActionSet();
	var x=popSet['X'];
	var y=popSet['Y'];
	//var coor={x:x,y:y};
	var coor=Math.floor(x/2)+','+Math.floor(y/2);
	//popomap.invokeFun('findStation',x,y,fun);
	if(upFlag==0){
		var htmlStr='<div style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=images/map/start.png);width:63px;height:41px"></div>';
		if(window.brw!='ie') htmlStr='<img src="images/map/start.png" width=63 height=41 border=0>';
		popomap.removePop('setSmartStart');
		popomap.createPop('setSmartStart',htmlStr,x,y,20,41,5);
		rightIfr.setFromPos(coor);
		upFlag=null;
	}
	else if(upFlag==1){
		var htmlStr='<div style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=images/map/end.png);width:63px;height:41px"></div>';
		if(window.brw!='ie') htmlStr='<img src="images/map/end.png" width=63 height=41 border=0>';
		popomap.removePop('setSmartEnd');
		popomap.createPop('setSmartEnd',htmlStr,x,y,20,41,5);
		rightIfr.setToPos(coor);
		upFlag=null;
	}
	function fun(value){
		if(!value){
			alert('附近没有找到公交车站,请重新设置');
		}
	}
}

//----------------------------------------------
//
//获取屏幕范围内的地图的区间
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();
}