
	

	///////////////////全局变量///////////////////		
		var mapABC;//本api中用的MMap引用
		var tempCloseId;//要关闭的容器id
		var tempZoomLevel;//要设置的视野值
		var tempKeyword;//要搜索的关键字
		var abcHelperGlobalCityName="北京";//用于名称搜索显示城市名称的全局变量
		var abcHelperGlobalCityCode="010";//用于名称搜索显示城市区号的全局变量
		var abcHelperSearchResultPoints = new Array();//保存搜索的点
		var abcHelperData="";//保存标注导出数据的变量
		var abcHelperLocalResultPoint;//用于保存定位搜索返回点
		//城市切换框架
		var tempMode;
		var tempContainerId;
		var abcHelperCityCenterBlockInfo = 
			"<div id=\"abcHelperCityCenterBlock\" class=\"tip\" style=\"display:block;\" >"+
			"<div class=\"tip_title\">城市切换"+
			"<img class=\"img_2\" src=\"images/close.gif\"  onclick=\"abcHelperClose('abcHelperCityCenterBlock')\" "+
			"alt=\"关闭\" width=\"16\" height=\"15\" border=\"0\"/></div>"+
			"<div class=\"tip_contain\" id=\"abcHelperCityInnerPanel\" style=\"display:block\">"+
			"</div></div>";
	///////////////////全局变量///////////////////	
	
	/*
		使用abchelper 帮助文档时必须先调用的方法
		此方法用于避免不同用户为MMap对象取不同的名字而设计，
		统一api内部MMap对象用名
	*/
	function useABCHelper(mapObj){
		mapABC = mapObj;
		mapABC.showNavigator(false);
		mapABC.addPopupMenuItem ("城市切换", "abcHelperCityCenter", false);
		mapABC.addPopupMenuItem ("名称查询", "abcHelperSearch", false);
		mapABC.addPopupMenuItem ("地址定位", "abcHelperLocal", false);
		mapABC.addPopupMenuItem ("公交换乘", "abcHelperBusSearch", false);
		mapABC.addPopupMenuItem ("驾车导航", "abcHelperRouteSearch", false);
		mapABC.addPopupMenuItem ("清空", "abcHelperClear", false);
		mapABC.addPopupMenuItem ("测距", "abcHelperMeasure", false);
		mapABC.addEventListener(MMap.EVENT_GEOMETRY_CREATED, abcHelperSaveData);
		mapABC.addEventListener(MMap.EVENT_GEOMETRY_CHANGED, abcHelperSaveData);
		mapABC.addEventListener(MMap.EVENT_GEOMETRY_REMOVED, abcHelperSaveData);
		mapABC.addEventListener(MMap.EVENT_POPUP_MENU_CLICK,abcHelperPopupMenuClickHander);
	}
	//////////////////////////////全局工具类方法开始////////////////////////////
	//设置信息到某个元素上
	function setInnerHTML(containerId,info){
		document.getElementById(containerId).innerHTML = info;
	}
	//将某个窗口显示
	function abcHelperOpen(openId){
		try{
			var tempOpener = document.getElementById(openId);
			tempOpener.style.display = "block";
		}catch(err){
			alert(err.name + ":" + err.message);
		}
	}
	//将某个窗口关闭
	function abcHelperClose(closeId){
		try{
			var tempCloser = document.getElementById(closeId);
			tempCloser.style.display = "none";
		}catch(err){
			alert(err.name + ":" + err.message);
		}
	}
	//当关闭搜索、公交、驾车等窗口时，将所有搜索返回的点删除
	function abcHelperRemoveSearchPoints(){
		//将事先保存的搜索返回的点集合迭代删除
		try{
			for(var i=0;i<abcHelperSearchResultPoints.length;i++){
				var point = abcHelperSearchResultPoints[i];
				mapABC.removeOverlay(point);
			}
		}catch(err){}
	}
	//收起或展开
	function abcHelperTransPageStatus(pageId,imageId){//abcHelperSearchCityBlock
		try{
			

			if(document.getElementById(pageId).style.display == "none"){
				document.getElementById(pageId).style.display = "block";
				setVV(pageId);
				document.getElementById(imageId).src = "images/img_s.gif";
				document.getElementById(imageId).alt = "收起";
			}else{
				document.getElementById(pageId).style.display = "none";
				document.getElementById(imageId).src = "images/img_b.gif";
				document.getElementById(imageId).alt = "展开";
			}
		}catch(err){
			alert(err.name + ":" + err.message);
		}
	}
	function setVV(pageId){
		if(pageId=='abcHelperRouteBlockPage') {
			document.getElementById(pageId).style.height = '165px';
			return ;
		}
		var ie6falg = false;
		if (window.XMLHttpRequest) {
		 if(!window.ActiveXObject){
		 } else {
		 }
		} else {
		 ie6falg = true;
		} 

		if(ie6falg){
			var st = document.styleSheets['lfp'];
			var oRule=st.rules[0];
			if(oRule.style.height.indexOf('%') == -1){
				var g = parseInt(parseInt(oRule.style.height)*0.7);
				document.getElementById(pageId).style.height = g + "px";
			}
		}
	}
	function abcHelperDirHandle(buttonId,flag){
		var tempElement = document.getElementById(buttonId).className;
		var tempArr = tempElement.split(" ");
		var tempString = "";
		if(flag){
			tempString = tempArr[0]+ "_hover";
		}else{
			tempString = tempArr[0].replace("_hover","");
		}
		resultClassName = tempString + " " + tempArr[1];
		document.getElementById(buttonId).className = resultClassName;
	}
////////////////////////////右键菜单点击处理实现开始///////////////////////////////////////

function abcHelperPopupMenuClickHander(event){
	var tempMenuId = abcHelperGetPopupMenuId(event);
	if(tempMenuId =="abcHelperCityCenter"){
		abcHelperSetCityCenter('ALL','abcHelperControlPanel',9);
	}else if(tempMenuId =="abcHelperSearch"){
		showKeywordSearchBlock('ALL','abcHelperControlPanel');
	}else if(tempMenuId =="abcHelperLocal"){
		showLocalSearchBlock('abcHelperControlPanel');
	}else if(tempMenuId =="abcHelperBusSearch"){
		abcHelperGetBusSearchService('ALL','abcHelperControlPanel');
	}else if(tempMenuId =="abcHelperRouteSearch"){
		abcHelperGetRouteSearchService('ALL','abcHelperControlPanel');
	}else if(tempMenuId =="abcHelperMeasure"){
		abcHelperMeasure();
	}else if(tempMenuId =="abcHelperClear"){
		abcHelperRemoveAll();
	}
}

function abcHelperGetPopupMenuId(event){
	var tempArgs = event.args;
	var tempArray = tempArgs.split(",");
	var tempArrayLen = tempArray.length;
	var tempMenuId = tempArray[tempArrayLen-1];
	return tempMenuId;
}


////////////////////////////右键菜单点击处理实现结束///////////////////////////////////////

	//////////////////////////////全局工具类方法结束////////////////////////////
	/*
		内部设计，可设置城市信息获得方式和点击城市后的回调方法
		回调方法--即要求的点击城市后要调用的方法
		回调方法中可获得城市名字信息cityName
		可调用本api中的city.ctn2c(cityName)获得城市区号;
							 city.ctxy(cityName)获得城市的中心坐标
																		坐标格式：{横坐标,纵坐标}的数组;
							 city.ctall(cityName)获得该城市的全部信息
																		信息格式：{城市名,区号,横坐标,纵坐标,矢量版视野值}的数组;
		参数说明：mode---要获得信息的方式
									BYLETTERORDER--以拼音排序方式获得城市信息
									BYCITYRELATION--以城市所属省关系获得城市信息
									其他字符串--以上两种都获得
					  methodName---回调方法方法名
					  containId---装城市信息的容器id
	*/
	function abcHelperShowCityList(mode,methodName){
		var result = "";
		if(mode == "BYLETTERORDER"){//以拼音排序方式获得城市信息
			result = getCityListByLetterOrder(methodName);
		}else if(mode == "BYCITYRELATION"){//以城市所属省关系获得城市信息
			result = getCityListByCityRelation(methodName);
		}else {//上述两个方式的信息都获得
			result += getCityList(methodName);
		}
		return result;
	}
	
	/*
		暴露给用户，用于设置城市中心
		zoomlevel---当点击城市名时的视野值
		其他参考abcHelperShowCityList方法
	*/
	function abcHelperSetCityCenter(mode,containerId,zoomLevel){
		//调用一个方法返回一个
		var result = abcHelperShowCityList(mode,"abcHelpSetCityCenterCallback");
		setInnerHTML(containerId,abcHelperCityCenterBlockInfo);
		setInnerHTML("abcHelperCityInnerPanel",result);
		abcHelperOpen(containerId);
		if(mode!="BYLETTERORDER" || mode!= "BYCITYRELATION"){
			MM_showHideLayers("type1","type12");
		}
		abcHelperOpen("abcHelperCityInnerPanel");
		tempZoomLevel = zoomLevel;
	}
	//设置城市信息到用于搜索的全局变量
	function setGlobalCityName(cityName){
		var flag = false;//标志该城市有公交搜索信息
		for (var h = 0; h < citylist.hot_buscity.length ; ++ h){
			var tempCityName = citylist.hot_buscity[h];
			if(tempCityName == cityName){
				flag = true;
			}
		}
		var cities = citylist.bus_city;
		for (var t in cities){
			if (cities[t].length > 0){
				for (var i = 0;i < cities[t].length; ++i){
					if(cities[t][i] == cityName){
						flag = true;
					}
				}
			}
		}
		var tempCityCode = city.ctn2c(cityName)
		if(flag){//如果该城市有公交搜索信息
			//将用于城市公交搜索的城市名和城市区号修改
			abcHelperBusGlobalCityName = cityName;
			abcHelperBusGlobalCityCode = tempCityCode;
		}
		abcHelperGlobalCityName = cityName;
		abcHelperGlobalCityCode = tempCityCode;
		abcHelperRouteStartCityName = cityName;//驾车起点城市
		abcHelperRouteStartCityCode = tempCityCode;//驾车起点区号
	}

	/*
		设置城市中心回调方法
		参数说明：cityName---城市名
	*/
	function abcHelpSetCityCenterCallback(cityName){
		setGlobalCityName(cityName);//调用方法设置城市信息
		abcHelperGlobalCityName = cityName;
		abcHelperGlobalCityCode = city.ctn2c(cityName);
		
		try{
			//用城市名查得城市的中心信息
			var center = city.ctxy(cityName);
			if (typeof mapABC != "undefined"){
				//设置视野值和中心坐标---tempZoomLevel为调用abcHelperSetCityCenter方法时的zoomLevel
				mapABC.removeAllOverlays();
				mapABC.setZoomAndCenter(tempZoomLevel,new MLatLng(center[1],center[0]));
			}
		}catch(err){
			alert(err.name +":" +err.message);
		}
		abcHelperClose("abcHelperCityCenterBlock");//隐藏窗口
	}

	//地图放大
	function abcHelperZoomIn(){
		
		mapABC.zoomIn();
	}
	//地图缩小
	function abcHelperZoomOut(){
		
		mapABC.zoomOut();
	}
	function abcHelperRemoveAll(){
		
		mapABC.removeAllOverlays();
		mapABC.quitMouseDraw();
	}
	function abcHelperPan(dir){
		if(typeof dir == "undefined" || dir == "" || dir == "up"){
			mapABC.pan('up',100,2);
		}else if(dir == "down"){
			mapABC.pan('down',100,2);
		}else if(dir == "right"){
			mapABC.pan('right',100,2);
		}else if(dir == "left"){
			mapABC.pan('left',100,2);
		}
	}

	//////////////////////////////搜索的内部实现开始////////////////////////////////////
	//暴露给用户，用于获得搜索的字符串和搜索服务
	function showKeywordSearchBlock(mode,containerId){
		var info = 
						'<div id=\"abcHelperSearchCityBlock\" class=\"tip\" style=\"display:block;\" >'
						+'<div class=\"tip_title\">名称查询'
						+'<img id=\"abcHelperSearchTransImg\" class=\"img_1\" src=\"images/img_s.gif\" '
						+'onclick=\"abcHelperTransPageStatus(\'abcHelperSearchCityBlockPage\','
						+'\'abcHelperSearchTransImg\')\"'
						+' alt=\"收起\" width=\"14\" height=\"14\" border=\"0\"/>'
						+'<img class=\"img_2\" src=\"images/close.gif\"  onclick=\"abcHelperClose(\'abcHelperSearchCityBlock\');abcHelperRemoveSearchPoints();\"'
						+' alt=\"关闭\" width=\"16\" height=\"15\" border=\"0\"/></div>'
						+'<div class=\"tip_contain\" id=\"abcHelperSearchCityBlockPage\" style=\"overflow:auto;\" >'
						+'<p class=\"search_name\">在&nbsp;'
						+'<a id=\"abcHelperSearchCityName\" style=\"color:#ff0000;\" '
						+ 'href=\"#\" onclick=\"abcHelperShowCityInfoForSearch(\'' + mode +'\''
						+ ',\'abcHelperControlPanel\');\">'
						+ abcHelperGlobalCityName+'</a>&nbsp;中搜索</p>'
						+'<div style=\"text-align:left;\"><form id=\"abcHelperSearchForm\" onsubmit=\"abcHelperSearch();return false;\">'
						+'<input style=\"margin-left:5px;\" type=\"text\" name=\"abcHelperSearchKeyWord\" value=\"\" size=\"20\" maxlength=\"20\">&nbsp;'
						+'<input style=\"width:45px;height:20px;\" type=\"submit\" value=\"搜索\">'
						+'</form></div><div class=\"serch_city_div\" id=\"abcHelperSearchInnerPanel\"></div></div></div>';
		tempMode = mode;
		tempContainerId = containerId;
		setInnerHTML(containerId,info);
		abcHelperOpen(containerId);
	}
	//暴露给用户，搜索功能的实现
	function abcHelperSearch(){
		//清空内存中的点
		abcHelperSearchResultPoints = new Array();
		var citycode = abcHelperGlobalCityCode;//城市电话区号从城市名字的查询中获得
		var keyword = document.forms["abcHelperSearchForm"].abcHelperSearchKeyWord.value;//从abcSearchForm表单中获得
		if(keyword==""){
			alert("请输入搜索关键字！");
			return false;
		}
		//提醒地图使用者，正在搜索
		setInnerHTML("abcHelperSearchInnerPanel","正在搜索...");
		mapABC.quitMouseDraw();
		var number = 9;
		try{
			//数据封装
			var sis = new MSISSearch();//自定义sis变量调用查询方法
			var searchpointpara = new MSearchPointPara();//自定义searchpointpara变量调用设置参数方法
			
			sis.setSISCallbackFunction(abcHelpKeywordCallBack); 
			//开始把得到的参数传入set方法中
			searchpointpara.setCitycode(citycode);
			searchpointpara.setKeyword(keyword);
			searchpointpara.setNumber(number);

			sis.searchByKeyword(searchpointpara);
		}catch(err){
			alert(err.name + ":" + err.message);
		}
	}
	//搜索实现abcHelperSearch中sis注册的回调方法
	function abcHelpKeywordCallBack(data){

		mapABC.removeAllOverlays();

		var result = "<div>";
		if (data.count != 0) {
			var resultLen = data.poilist.length;

			for (var i = 0; i < resultLen; i++) {

				var x = data.poilist[i].x;
				var y = data.poilist[i].y;
				var sContent = "";

				var pointStyle = new MStyle();//调用MStyle设置TIP窗口样式
				pointStyle.lineColor = 0xFFFFFF;//lineColor：线条颜色，RGB颜色格式
				pointStyle.lineSize = 2;//lineSize：线条的宽度。单位是像素
				pointStyle.fillColor = 0x4b8bd9;//fillColor：填充颜色，RGB颜色格式
				pointStyle.fillOpacity = 80;//fillOpacity：填充的不透明度
				pointStyle.labelColor = 0xFFFFFF;//labelColor：tips的label文字颜色，RGB颜色格式
				pointStyle.leading = 2;//leading：文字行距

				//textContent：tip窗口的文本内容
				pointStyle.textContent = abcHelperPointInfoHandle(data.poilist[i]);
				var point = new MPointOverlay(new MLatLng(y,x),i+1,pointStyle,'abcHelperOverlay'+(i+1));
				
				abcHelperSearchResultPoints.push(point);//将点加入数组中，关闭窗口时候删除数组中所有点

				var temp = '<p style=\"cursor:hand;cursor:pointer;\" class=\"bai\" onMouseOver=\"mapABC.setCenterByLatLng(\''+y+'\',\''+x
					+'\');mapABC.openTipById(\'' + 'abcHelperOverlay'+ (i+1) + '\');this.className=\'gray\';\" onmouseout=\"this.className=\'bai\';\">'
					+ '<b>' +　(i+1) +'</b>.&nbsp;'+ data.poilist[i].name + '</p>';

				result += temp;
			}
			result += '</div>';
			setInnerHTML("abcHelperSearchInnerPanel",result);
			abcHelperOpen("abcHelperSearchInnerPanel");
			mapABC.drawPoints(abcHelperSearchResultPoints);
		} else {
			alert("对不起！此城市没有您要查找的关键字");
			setInnerHTML("abcHelperSearchInnerPanel","--搜索完毕--");
		}
	}

	function abcHelperShowCityInfoForSearch(mode,containerId){
		try{
			//设置城市切换框架
			setInnerHTML(containerId,abcHelperCityCenterBlockInfo);
			abcHelperOpen(containerId);
			//设置城市信息到城市切换框架
			var result = abcHelperShowCityList(mode,"abcHelperCityTransferCallback");
			setInnerHTML("abcHelperCityInnerPanel",result);
			abcHelperOpen(containerId);
			if(mode!="BYLETTERORDER" || mode!= "BYCITYRELATION"){
				MM_showHideLayers("type1","type12");
			}
			abcHelperOpen("abcHelperCityInnerPanel");
		}catch(err){
			alert(err.name + ":" + err.message);
		}
	}

	function abcHelperCityTransferCallback(cityName){
		var cityCenter = city.ctxy(cityName);
		setGlobalCityName(cityName);
		mapABC.setCenterByLatLng(cityCenter[1],cityCenter[0]);
		abcHelperClose("abcHelperCityCenterBlock");
		showKeywordSearchBlock(tempMode,tempContainerId);
	}


	//////////////////////////////搜索的内部实现结束/////////////////////

	
	//////////////////////////////定位的内部实现开始/////////////////////
	//暴露给用户，用于定位
	function showLocalSearchBlock(containerId){
		var info = 
				"<div id=\"abcHelperLocalBlock\" class=\"tip_dw\"  >"
				+"<div class=\"tip_title\">地址定位"
				+"<img id='abcHelperLocalTransImg' class=\"img_1\" src=\"images/img_s.gif\" "
				+"onclick=\"abcHelperTransPageStatus('abcHelperRouteBlockPage',"
				+"'abcHelperLocalTransImg')\" "
				+" alt=\"收起\" width=\"14\" height=\"14\" border=\"0\"/>"
				+"<img class=\"img_2\" src=\"images/close.gif\"  "
				+"onclick=\"abcHelperClose('abcHelperLocalBlock');abcHelperRemoveLocalResult();\" "
				+"alt=\"关闭\" width=\"16\" height=\"15\" border=\"0\"/></div>"
				+"<div class=\"tip_contain\" style=\"display:block\" id=\"abcHelperRouteBlockPage\">"
				+"<form id=\"abcHelperLocalForm\" onsubmit=\"abcHelpLocalSearch();return false;\">"
				+"<p style=\"margin-top:3px;\"><font color=\"#000000\"><b>地址定位：</b></font>"
				+"<input name=\"abcHelperKeyword\" size=\"15\" maxlength=\"20\"></p>"
				+"<p><font color=\"#545454\">如：北京市海淀区苏州街3号</p>"
				+"<p style=\"height:25px;text-align:center;\"><input style=\"width:80px;height:25px;\" "
				+"type=\"submit\" value=\"开始定位\"></p><p id=\"abcHelperLocalNotice\"></p> "
				+"</form></div></div>";
		setInnerHTML(containerId,info);
		abcHelperOpen(containerId);
	}
	//内部设计，定位搜索方法
	function abcHelpLocalSearch(){
		//获得定位关键字
		setInnerHTML("abcHelperLocalNotice","正在定位...");
		abcHelperRemoveLocalResult();
		var keyword = document.forms["abcHelperLocalForm"].abcHelperKeyword.value;
		tempKeyword = keyword;
		if(keyword ==null || keyword.length==0){
			alert("请输入要定位的地址!");
			return false;
		}
		try{
			var geoCode = new MGeoCode();
			var address = new MAddress(); 
			var arr = new Array(); 
			geoCode.setCallbackFunction(abcHelpLocationSearchCallback); 
			//调用MAddress的address方法 
			address.setAddress(keyword); 
			arr.push(address); //将address对象加载到数组里 
			//调用MGeoCode类中的geocoding方法把数组做为参数输入 
			geoCode.geocoding(arr);
		}catch(err){
			alert(err.name +":" + err.message);
		}
	}
	function abcHelperRemoveLocalResult(){
		try{
			mapABC.removeOverlay(abcHelperLocalResultPoint);
		}catch(err){}
	}
	//定位搜索回调方法
	function abcHelpLocationSearchCallback(data){
		var grade = data.getGrade();
		if(grade >= 7){//当返回数据的级别小于3时，认为不精确
			var lng = data.getLongitude();//获得横坐标
			var lat = data.getLatitude();//获得纵坐标
				//调用方法对定位所标出的点进行删除
			abcHelperRemoveLocalResult();
			var sContent = "";
			var pointStyle = new MStyle();//调用MStyle设置TIP窗口样式
			pointStyle.lineColor = 0xFFFFFF;//lineColor：线条颜色，RGB颜色格式
			pointStyle.lineSize = 2;//lineSize：线条的宽度。单位是像素
			pointStyle.fillColor = 0x4b8bd9;//fillColor：填充颜色，RGB颜色格式
			pointStyle.fillOpacity = 80;//fillOpacity：填充的不透明度
			pointStyle.labelColor = 0xFFFFFF;//labelColor：tips的label文字颜色，RGB颜色格式
			pointStyle.leading = 2;//leading：文字行距
			sContent += tempKeyword;
			abcHelperLocalResultPoint = new MPointOverlay(new MLatLng(lat,lng),sContent,pointStyle,"1");
			mapABC.addOverlay(abcHelperLocalResultPoint,true);
		}else{
			alert("您需要的地址无法精确定位或该数据尚未录入数据库！");
		}
		setInnerHTML("abcHelperLocalNotice","--定位结束--");
	}
	//////////////////////////////定位的内部实现结束/////////////////////

	function abcHelperMeasure(){
		mapABC.addEventListener(MMap.EVENT_MEASURE_LINE_DRAWN,abcHelperMapDBClicked);
		mapABC.measure();
	}

	function abcHelperMapDBClicked(event){
		mapABC.setMapMode(MMapMode.BROWSE);
		mapABC.quitMouseDraw();
		//一次测距完成后退出测距模式
		mapABC.removeEventListener(MMap.EVENT_MEASURE_LINE_DRAWN, abcHelperMapDBClicked);
	}

	////////////////////////////标注功能实现开始////////////////////////////////
	//暴露给用户，标注功能
	function abcHelperCreatePoint(){
		//将其转换为编辑模式
		mapABC.setMapMode(MMapMode.EDIT);
		var defaultPointStyle = new MStyle();
		defaultPointStyle.canBeTop = true;
		mapABC.addGeometry(MGeometry.TYPE_POINT, defaultPointStyle,"1");
	}
	//数据导出
	function abcHelperSaveData(){
		//注册数据导出事件，当数据导出时执行abcHelperExportDataCallback方法
		mapABC.addEventListener(MMap.EVENT_EXPORT_MAP_DATA, abcHelperExportDataCallback);
		mapABC.exportMapData();
	}

	//将数据保存
	function abcHelperExportDataCallback(event){
		var tempArgs = event.args;
		var tempMapId = tempArgs.split(",")[0];
		abcHelperData = tempArgs.replace(tempMapId+",","");
		
	}

	//用于导出数据
	function abcHelperImportData(){
		mapABC.removeAllOverlays();
		if(typeof abcHelperData != "undefined" || abcHelperData!=""){
			mapABC.importMapData(abcHelperData);
			mapABC.setMapMode(MMapMode.EDIT);
		}
	}

	////////////////////////////标注功能实现结束////////////////////////////////

	


//////////////////////////////////////驾车搜索实现开始/////////////////////////////////////
var startName,endName;
var startcitycode,endcitycode;
var abcHelperRouteSearchSIS,abcHelperRouteSearchStartPara,abcHelperRouteSearchEndPara,abcHelperRouteSearchPara;
var route_flag = 1;//判断起点与终点
var route_start_x="",route_start_y="",route_start_name="",route_start_type="",route_start_address="",route_start_tel="",route_start_pid="",route_start_citycode="",route_start_cityname="";
var route_end_x="",route_end_y="",route_end_name="",route_end_type="",route_end_address="",route_end_tel="",route_end_pid="",route_end_citycode="",route_end_cityname="";

var route_NN=0;//判断是否查询过.
var tempStartOrNot;
var abcHelperRouteSearchStartX,abcHelperRouteSearchStartY;
var abcHelperRouteSearchEndX,abcHelperRouteSearchEndY;
var abcHelperRouteSearchStartPointInfo="",abcHelperRouteSearchStartPointInfo="";
var abcHelperRouteSearchStartResult="",abcHelperRouteSearchEndResult="";
var abcHelperRouteStartPointInfo= new Array(),abcHelperRouteEndPointInfo = new Array();
var abcHelperRecentRouteStartIndex,abcHelperRecentRouteEndIndex;
var abcHelperRouteStartPoint,abcHelperRouteEndPoint;
//用于驾车搜搜时候的起、终点城市城市名
var abcHelperRouteStartCityName="北京",abcHelperRouteEndCityName="北京";
//用于驾车搜搜时候的起、终点城市区号
var abcHelperRouteStartCityCode="010",abcHelperRouteEndCityCode="010";
//暴露给用户，用于获得驾车路线搜索框
function abcHelperGetRouteSearchService(mode,containerId){
	var info = "<div id=\"abcHelperRouteBlock\" class=\"tip\" style=\"display:block;\" >"
	+"<div class=\"tip_title\">驾车导航<img id='abcHelperRouteTransImg' class=\"img_1\" src=\"images/img_s.gif\""
	+" onclick=\"abcHelperTransPageStatus('abcHelperRouteBlockPage','abcHelperRouteTransImg')\" "
	+" alt=\"收起\" width=\"14\" height=\"14\" border=\"0\"/>"
	+"<img class=\"img_2\" src=\"images/close.gif\"  "
	+"onclick=\"abcHelperClose('abcHelperRouteBlock');abcHelperRemoveRouteInfo();\" "
	+"alt=\"关闭\" width=\"16\" height=\"15\" border=\"0\"/></div>"
	+"<div class=\"tip_contain\" id=\"abcHelperRouteBlockPage\">"
  	+"<form id=\"abcHelperForRouteSearchForm\" onsubmit=\"abcHelperRouteSearch();return false;\">"
	+"<div class=\"jc_t\"><p style=\"\">起点：</p><p style=\"color:#f00;\">"
	+"<a style=\"color:#f00;\" id=\"abcHelperStartCityName\" href=\"#\" "
	+"onclick=\"abcHelperShowCityInfoForRouteSearch(\'ALL\',"
	+"\'abcHelperControlPanel\',true);\">"
	+abcHelperRouteStartCityName
	+"</a></p><p style=\"clear:both;\"><input name=\"abcHelperRouteStartName\" type=\"text\" style=\"width:170px;\" /></p></div>"
  	+"<div class=\"jc_t\"><p>终点：</p><p style=\"color:#f00;\">"
	+"<a style=\"color:#f00;\" id=\"abcHelperEndCityName\" href=\"#\" "
	+"onclick=\"abcHelperShowCityInfoForRouteSearch(\'ALL\',"
	+"\'abcHelperControlPanel\',false);\">"
	+abcHelperRouteEndCityName
	+"</a></p><p style=\"\clear:both;\"><input name=\"abcHelperRouteEndName\" type=\"text\" style=\"width:170px;\" /></p></div>"
  	+"<div class=\"jc_t\" style=\"text-align:center;margin-bottom:0px;\"><input "
	+"type=\"submit\" value=\"搜索\" style=\"width:50px;height:20px;\"/></div>"
	+"<div class=\"result_bus_serch\" style=\"\" id=\"abcHelperRouteInnerPanel\" ></div></div>";
	tempMode = mode;
	tempContainerId = containerId;
	try{
		setInnerHTML(containerId,info);
		abcHelperOpen(containerId);
	}catch(err){
		alert(err.name +":" + err.message);
	}
}

function abcHelperRemoveRouteInfo(){
	try{
		mapABC.removeOverlay(abcHelperRouteStartPoint);
		mapABC.removeOverlay(abcHelperRouteEndPoint);
		mapABC.removeAllPolylineOverlays();
	}catch(err){}
}

//内部设计
function abcHelperShowCityInfoForRouteSearch(mode,containerId,startOrNot){
	try{
		//设置城市切换框架
		setInnerHTML(containerId,abcHelperCityCenterBlockInfo);
		abcHelperOpen(containerId);
		//设置城市信息到城市切换框架
		var result = abcHelperShowCityList(mode,"abcHelperSetCityNameForRoute");
		setInnerHTML("abcHelperCityInnerPanel",result);
		abcHelperOpen(containerId);
		if(mode!="BYLETTERORDER" || mode!= "BYCITYRELATION"){
			MM_showHideLayers("type1","type12");
		}
		abcHelperOpen("abcHelperCityInnerPanel");
	}catch(err){
		alert(err.name + ":" + err.message);
	}
	tempStartOrNot = startOrNot;
}

//当点击公交搜索中的城市时，执行的方法
function abcHelperSetCityNameForRoute(cityName){
	try{
		if(tempStartOrNot){
			setGlobalCityName(cityName);//如果是设置起点城市，则将其他搜索城市信息设置，否则，不设置
		}else{
			abcHelperRouteEndCityCode = city.ctn2c(cityName);
			abcHelperRouteEndCityName = cityName;
		}
		abcHelperClose("abcHelperControlPanel");//关闭城市选择窗口
	}catch(err){
		alert(err.name + ":" + err.message);
	}
	abcHelperGetRouteSearchService(tempMode,tempContainerId);
}

//内部实现，执行驾车路线的方法
function abcHelperRouteSearch(){
	
	//清空起点和终点保存的数据
	abcHelperRouteStartPointInfo = new Array();
	abcHelperRouteEndPointInfo = new Array();
	abcHelperRouteSearchStartResult="";
	abcHelperRouteSearchEndResult="";
	route_NN=0;
	startName = document.forms["abcHelperForRouteSearchForm"].abcHelperRouteStartName.value;
	endName = document.forms["abcHelperForRouteSearchForm"].abcHelperRouteEndName.value;
	if(startName.length == 0 ){
		alert("请输入起点关键字！");
		return false;
	}
	if(endName.length == 0 ){
		alert("请输入终点关键字！");
		return false;
	}
	//提醒地图用户，正在搜索
	setInnerHTML("abcHelperRouteInnerPanel","正在搜索...");
	mapABC.quitMouseDraw();
	startcitycode = abcHelperRouteStartCityCode;
	endcitycode = abcHelperRouteEndCityCode;
	abcHelperRouteSearchSIS = new MSISSearch();
	abcHelperRouteSearchStartPara = new MSearchPointPara();
	abcHelperRouteSearchEndPara = new MSearchPointPara();
	abcHelperRouteSearchPara = new MSearchRoutPara();
	abcHelperRouteSearchSIS.setSISCallbackFunction(abcHelperRouteSearchCallback);
	
	route_flag=1;
	abcHelperRouteSearchStartPara.setCitycode(startcitycode);
	abcHelperRouteSearchStartPara.setKeyword(startName);
	abcHelperRouteSearchStartPara.setNumber(9); 
	abcHelperRouteSearchStartPara. setPageSum(1);
	abcHelperRouteSearchStartPara. setBatch(1); 
	abcHelperRouteSearchSIS.searchByKeyword (abcHelperRouteSearchStartPara); 
}

//内部实现，驾车搜索的回调方法
function abcHelperRouteSearchCallback(data){
	if(route_flag==2)
	{
		var road_length =0;
		var route_line = "";
		var phone_xin="";
		var route_map = eval('(data)');

		for(var i=0;i<route_map.segmengList.length;i++)
		{
			//驾车路线信息
			route_line += "<div  class=\"car_info\"><p style=\"cursor:hand;cursor:pointer;\" onMouseover=\"this.className = 'gray';\""
			+" onMouseout=\"this.className = 'bai';\">"
			+(i+1)+"．"+route_map.segmengList[i].textInfo +"</p></div>";

			phone_xin += route_map.segmengList[i].textInfo+"．";
						
			road_length = road_length + parseInt(route_map.segmengList[i].roadLength);
		}

		if(road_length>1000)
		{
			road_length = road_length/1000;
		}

		var routeInfo = "<div class=\"car_info\"><p>起：</p><p>"+ route_start_name +"</p></div>"+
						route_line + "<div class=\"car_info\"><p>终：</p><p>"+route_end_name+"</p></div>"
						+"<div style=\"text-indent:5px;\" class=\"car_info\">行驶："+road_length+"公里</div>";
						
		setInnerHTML("abcHelperRouteInnerPanel",routeInfo);
		abcHelperOpen("abcHelperRouteInnerPanel");
		var poi_xy_r = route_map.coors.split(",");
		arrX_r = "";//行车路线的X串
		arrY_r = "";//行车路线的Y串
		for(var e=0;e<poi_xy_r.length-1;e=e+2){	
			if(e==poi_xy_r.length-3){
				arrX_r += poi_xy_r[e];
				arrY_r += poi_xy_r[e+1];
			}else{
				arrX_r += poi_xy_r[e]+",";
				arrY_r += poi_xy_r[e+1]+",";
			}
		}
		//利用相关数据进行画点
		routeaddline(arrX_r,arrY_r,route_start_y,route_start_x,route_end_y,route_end_x);
	}
	else
	{
		if(route_flag==1)
		{
			var rs = eval('(data)');
				if(rs.count!=0){
					abcHelperRouteSearchStartResult = "<p ><b>请选择起点：</b></p><div class=\"start_str\" style=\"border:1px solid #d3d3d3;margin-left:2px;\">";
					var routeStartName,routeStartX,routeStartY;
					for(var i=0;i<rs.poilist.length;i++){
						routeStartName = rs.poilist[i].name;
						routeStartX = rs.poilist[i].x;
						routeStartY = rs.poilist[i].y;
						if(i==0){//默认为搜索第一个点
							route_start_name = routeStartName;
							route_start_x = routeStartX;
							route_start_y = routeStartY;
						}
						abcHelperRouteSearchStartResult += 
							"<p style=\"cursor:hand;cursor:pointer;\" className=\"\" id=\"abcHelperRouteSearchStartName"+ (i+1) +"\" onclick=\""
							+"abcHelperRouteSearchHandleStart('"+routeStartX+"','"+routeStartY+"','"
							+routeStartName+"','" + i + "');\">"+(i+1) +"."+routeStartName+"</p>";
						var startPointInfo = abcHelperPointInfoHandle(rs.poilist[i]);
						abcHelperRouteStartPointInfo.push(startPointInfo);
					}
					abcHelperRouteSearchStartResult += "</div>";	
					start_end_route();
				}
		}else{
			var rs = eval('(data)');
			if(rs.count!=0){
				abcHelperRouteSearchEndResult = "<p ><b>请选择终点：</b></p><div class=\"start_str\" style=\"border:1px solid #d3d3d3;margin-left:2px;\">";
				for(var i=0;i<rs.poilist.length;i++){
					var routeEndName,routeEndX,routeEndY;
					routeEndName = rs.poilist[i].name;
					routeEndX = rs.poilist[i].x;
					routeEndY = rs.poilist[i].y;
					if(i==0){//默认为搜索第一个点
						route_end_name = routeEndName;
						route_end_x = routeEndX;
						route_end_y = routeEndY;
					}
					abcHelperRouteSearchEndResult += 
							"<p style=\"cursor:hand;cursor:pointer;\" id=\"abcHelperRouteSearchEndName"+ (i+1) +"\" onclick=\""
							+"abcHelperRouteSearchHandleEnd('"+routeEndX+"','"+routeEndY+"','"
							+routeEndName+"','" + i + "');\">"+(i+1) +"."+routeEndName+"</p>";
					var endPointInfo = abcHelperPointInfoHandle(rs.poilist[i]);
						abcHelperRouteEndPointInfo.push(endPointInfo);
				}
				abcHelperRouteSearchEndResult += "</div><p style=\"text-align:center;\"><input "
					+"style=\"text-align:center;margin:5px auto;width:50px;line-height:17px;height:20px;\""
					+" type=\"button\" value=\"查询\" onclick=\"abcHelperRouteLineSearch();\"></p>";
		setInnerHTML("abcHelperRouteInnerPanel",abcHelperRouteSearchStartResult+abcHelperRouteSearchEndResult);
			}
		}
		}
	}

function abcHelperRouteSearchHandleStart(startX,startY,startName,recentIndex){
	route_start_x = startX;
	route_start_y = startY;
	route_start_name = startName;
	abcHelperRecentRouteStartIndex = recentIndex;
	var tempRecentIndex = parseInt(recentIndex);
	var startNameId = "abcHelperRouteSearchStartName"+(tempRecentIndex + 1);
	var tempStartNameId = "";
	for(var i=1;i<10;i++){
		try{
			tempStartNameId = "abcHelperRouteSearchStartName" + i;
			if(tempStartNameId == startNameId){
				document.getElementById(tempStartNameId).className = "p_onclick";
			}else{
				document.getElementById(tempStartNameId).className = "p_default";
			}
		}catch(err){}
	}
	//将驾车搜索起点输入框的值改为所选的名字
	document.forms["abcHelperForRouteSearchForm"].abcHelperRouteStartName.value = startName;
}
function abcHelperRouteSearchHandleEnd(endX,endY,endName,recentIndex){
	route_end_x = endX;
	route_end_y = endY;
	route_end_name = endName;
	abcHelperRecentRouteEndIndex = recentIndex;
	var tempRecentIndex = parseInt(recentIndex);
	var startNameId = "abcHelperRouteSearchEndName"+(tempRecentIndex + 1);
	var tempStartNameId = "";
	for(var i=1;i<10;i++){
		try{
			tempStartNameId = "abcHelperRouteSearchEndName" + i;
			if(tempStartNameId == startNameId){
				document.getElementById(tempStartNameId).className = "p_onclick";
			}else{
				document.getElementById(tempStartNameId).className = "p_default";
			}
		}catch(err){}
	}
	//将驾车搜索起点输入框的值改为所选的名字
	document.forms["abcHelperForRouteSearchForm"].abcHelperRouteEndName.value = endName;
}

function abcHelperGetRoutePointInfo(tempIndex,isStart){
	var tempInfo;
	if(isStart){
		tempInfo = abcHelperRouteStartPointInfo
	}else{
		tempInfo = abcHelperRouteEndPointInfo;
	}
	return tempInfo[tempIndex];
}

//内部实现，用于执行终点、驾车线路的方法
function start_end_route(){
		route_flag=0;
			
				abcHelperRouteSearchEndPara.setCitycode(endcitycode);
				abcHelperRouteSearchEndPara.setKeyword(endName);
				abcHelperRouteSearchEndPara.setNumber(9); 
				abcHelperRouteSearchEndPara. setPageSum(1); 
				abcHelperRouteSearchEndPara. setBatch(1); 
				abcHelperRouteSearchSIS.searchByKeyword(abcHelperRouteSearchEndPara);
	
}

function abcHelperRouteLineSearch(){
	route_flag=2;
	setInnerHTML("abcHelperRouteInnerPanel","正在搜索...");
				abcHelperRouteSearchPara.setStartXY(route_start_x,route_start_y);
				abcHelperRouteSearchPara.setEndXY(route_end_x,route_end_y);
				abcHelperRouteSearchPara.setCitycode(startcitycode);
				abcHelperRouteSearchPara.setType("drive");
				abcHelperRouteSearchSIS.searchBusAndDrive(abcHelperRouteSearchPara);
}

//用于画出驾车线路的方法
function routeaddline(arrX,arrY,startY,startX,endY,endX){
	mapABC.quitMouseDraw();
	mapABC.removeAllOverlays();
	var startObj=new MStyle();
		startObj.lineColor="0xFFFFFF";
		startObj.lineOpacity="80";
		startObj.fillColor="0x4b8bd9";
		startObj.lineSize="2";
		startObj.fillOpacity="100";
		startObj.labelColor="0xFFFFFF";
		startObj.textContent = abcHelperGetRoutePointInfo(abcHelperRecentRouteStartIndex,true);

    var endObj=new MStyle();
		endObj.textContent= abcHelperGetRoutePointInfo(abcHelperRecentRouteEndIndex,false);
		endObj.lineColor="0xFFFFFF";
		endObj.lineOpacity="80";
		endObj.fillColor="0x4b8bd9";
		endObj.lineSize="2";
		endObj.fillOpacity="100";
		endObj.labelColor="0xFFFFFF";
    var lineObj=new MStyle();
	lineObj.lineSize=6;
	lineObj.lineColor=0x0000ff;
	lineObj.lineOpacity="60";
    var startPoint = new MPointOverlay(new MLatLng(startY,startX), "起点", startObj);
	abcHelperRouteStartPoint = startPoint;
    var endPoint = new MPointOverlay(new MLatLng(endY,endX),"终点", endObj);
	abcHelperRouteEndPoint = endPoint;
	mapABC.drawDriveLine(arrX, arrY, startPoint, endPoint, lineObj );
	mapABC.setCenterByLatLng(startY,startX);
}

//////////////////////////////////////驾车搜索实现结束/////////////////////////////////////



/////////////////////////////////////////公交搜索实现开始//////////////////////////////
var abcHelperBusGlobalCityName="北京",abcHelperBusGlobalCityCode="010";
var abcHelperBusSearchStartName,abcHelperBusSearchEndName;
var abcHelperBusSearchCityCode;
var abcHelperBusSearchStartPara,abcHelperBusSearchEndPara,abcHelperBusSearchPara,abcHelperBusSearchSIS;
var abcHelperBusSearchStartResult="",abcHelperBusSearchEndResult="";
var abcHelperBusSearchStartPointInfo=new Array(),abcHelperBusSearchEndPointInfo=new Array();
var abcHelperRecentBusStartIndex=0,abcHelperRecentBusEndIndex=0;
var nn_b = 1;//判断起点与终点
var abcHelperBusStartX,abcHelperBusStartY;
var abcHelperBusEndX,abcHelperBusEndY;
var abcHelperBusStartPoint,abcHelperBusEndPoint;
var abcHelperBusLineX= new Array(),abcHelperBusLineY= new Array();
var abcHelperBusLineChangeX= new Array(),abcHelperBusLineChangeY= new Array();


function abcHelperGetBusSearchService(mode,containerId){
		var info = "<div id=\"abcHelperBusBlock\" class=\"tip\" style=\"display:block;\" >"
		+"<div class=\"tip_title\">公交换乘"
		+"<img class=\"img_1\" id=\"abcHelperBusTransImg\" src=\"images/img_s.gif\" "
		+"onclick=\"abcHelperTransPageStatus('abcHelperBusBlockPage','abcHelperBusTransImg');\""
		+" alt=\"收起\" width=\"14\" height=\"14\" border=\"0\"/>"
		+"<img class=\"img_2\" src=\"images/close.gif\"  onclick=\"abcHelperClose('abcHelperBusBlock');mapABC.removeAllOverlays();\""
		+" alt=\"关闭\" width=\"16\" height=\"15\" border=\"0\"/></div>"
		+"<div id=\"abcHelperBusBlockPage\"class=\"tip_contain\"><form id=\"abcHelperForBusSearchForm\" onsubmit=\"abcHelperBusSearch();return false;\">"
		+"<p>请选择要查询的城市：<a id=\"abcHelperBusCityName\" style=\"color:#f00;\" href=\"#\" "
		+"onclick=\"abcHelperShowCityInfoForBus(\'ALL\',"
		+"\'abcHelperSetCityNameForBS\',\'abcHelperControlPanel\')\">"
		+ abcHelperBusGlobalCityName + "</a>"
		+"</p><p>起点：<input name=\"\" id=\"abcHelperBusStartName\" type=\"text\" size=\"20\" maxlength=\"20\"/></p>"
		+"<p>终点：<input name=\"\" id=\"abcHelperBusEndName\" type=\"text\"  size=\"20\" maxlength=\"20\"/></p>"
		+"<p style=\"text-align:center;\"><input type=\"submit\" "
		+" value=\"公交查询\" style=\"width:60px;height:20px;\" /></p></form>"
		+"<div class=\"result_bus_serch\" id=\"abcHelperBusInnerPanel\">" 
		+"</div></div></div>";
		tempMode = mode;
		tempContainerId = containerId;
		setInnerHTML(containerId,info);
		abcHelperOpen(containerId);
}

//用于获得城市信息的方法，并将获得的城市信息显示到某一位置
function abcHelperShowCityInfoForBus(mode,methodName,containerId){
	setInnerHTML(containerId,abcHelperCityCenterBlockInfo);
	abcHelperOpen(containerId);
	var result = abcHelperGetBusCityInfo(mode,methodName);
	setInnerHTML("abcHelperCityInnerPanel",result);
	abcHelperOpen("abcHelperCityInnerPanel");
	if(mode != "BYLETTERORDER" || mode != "BYCITYRELATION"){
		MM_showHideLayers("type1","type12");
	}
}

//内部实现
function abcHelperGetBusCityInfo(mode,methodName){
	var result = "";
	if(mode == "BYLETTERORDER"){//以拼音排序方式获得城市信息
		result = getCityListByLetterOrderForRB(methodName);
	}else if(mode == "BYCITYRELATION"){//以城市所属省关系获得城市信息
		result = getCityListByCityRelationForRB(methodName);
	}else {//上述两个方式的信息都获得
		result += getCityInfoForRB(methodName);
	}
	return result;
}

//为公交搜索设置城市信息
function abcHelperSetCityNameForBS(cityName){
	try{
		var cityCode = city.ctn2c(cityName);
		var center = city.ctxy(cityName);
		mapABC.setCenterByLatLng(center[1],center[0]);
		setBusGlobalCityCode(cityCode);//设置公交查询的城市区号
	}catch(err){
		alert(err.name +":" + err.message);
	}
	abcHelperGetBusSearchService(tempMode,tempContainerId);
}

function setBusGlobalCityCode(cityCode){
	var tempCityName = city.ctc2n(cityCode);
	//公交搜索相关变量的修改
	abcHelperBusGlobalCityName = tempCityName;
	abcHelperBusGlobalCityCode = cityCode;
	//名称搜索相关变量的修改
	abcHelperGlobalCityName = tempCityName;
	abcHelperGlobalCityCode = cityCode;
	//驾车搜索相关变量的修改
	abcHelperRouteStartCityName=tempCityName;
	abcHelperRouteEndCityName=tempCityName;
	abcHelperRouteStartCityCode=cityCode;
	abcHelperRouteEndCityCode=cityCode;
}

//执行公交搜索的方法
function abcHelperBusSearch(){
	
	//清空起点和终点保存的数据
	abcHelperBusSearchStartPointInfo=new Array();
	abcHelperBusSearchEndPointInfo=new Array();
	abcHelperBusSearchStartResult = "";
	abcHelperBusSearchEndResult = "";
	abcHelperBusLineX = new Array();
	abcHelperBusLineY = new Array();
	abcHelperBusLineChangeX = new Array();
	abcHelperBusLineChangeY = new Array();
	//获取公交搜索的起、终点关键字
	abcHelperBusSearchStartName = document.forms["abcHelperForBusSearchForm"].abcHelperBusStartName.value;
	abcHelperBusSearchEndName = document.forms["abcHelperForBusSearchForm"].abcHelperBusEndName.value;
	if(abcHelperBusSearchStartName.length == 0 ){
		alert("请输入起点关键字！");
		return false;
	}
	if(abcHelperBusSearchEndName.length == 0 ){
		alert("请输入终点关键字！");
		return false;
	}
	//提醒地图用户，正在搜索
	setInnerHTML("abcHelperBusInnerPanel","正在搜索...");
	mapABC.quitMouseDraw();
	//获取用于公交搜索的城市区号(全局变量)
	abcHelperBusSearchCityCode = abcHelperBusGlobalCityCode;
	
	abcHelperBusSearchSIS = new MSISSearch();
	abcHelperBusSearchStartPara = new MSearchPointPara();
	abcHelperBusSearchEndPara = new MSearchPointPara();
	abcHelperBusSearchPara = new MSearchRoutPara();
	abcHelperBusSearchSIS.setSISCallbackFunction(abcHelperBusSearchCallback);
	
	nn_b=1;//标志开始搜索起点
	abcHelperBusSearchStartPara.setCitycode(abcHelperBusSearchCityCode);
	abcHelperBusSearchStartPara.setKeyword(abcHelperBusSearchStartName);
	abcHelperBusSearchStartPara.setNumber(9); 
	abcHelperBusSearchStartPara.setBatch(1); 
	abcHelperBusSearchSIS.searchByKeyword (abcHelperBusSearchStartPara); 
	
}
//公交查询的回调方法
function abcHelperBusSearchCallback(data){
	if(nn_b==2){//表示路线搜索完毕，进行数据表现和画图

	var busdata = new MBusData(data);
	var busplans = busdata.getBusPlans();
	var busplan;

	var str_x_array = new Array();
	var str_y_array = new Array();
	var hc_x_array = new Array();
	var hc_y_array = new Array();
		var bus_line = "";
		var bus_map = eval('(data)');
		
		var bus_count = bus_map.busList.length;
		for(var i=0;i<bus_count;i++){
				var bus_text="";var bus_num="";var xy_hc="";var bus_length=0;
				busplan = busplans[i];
				str_x_array[i] = busplan.getBusLineXCoords();
				str_y_array[i] = busplan.getBusLineYCoords();
				hc_x_array[i] = busplan.getExchangeStopXCoords();
				hc_y_array[i] = busplan.getExchangeStopYCoords();

				for(var k=0;k<bus_map.busList[i].segmentList.length;k++){
				if(k==0){
					bus_num += (bus_map.busList[i].segmentList[k].busName).split("(")[0];
								
					bus_text += "步行"+bus_map.busList[i].segmentList[k].footLength
						+"米到达"+bus_map.busList[i].segmentList[k].startName
						+",换乘"+bus_map.busList[i].segmentList[k].busName
						+",途径"+bus_map.busList[i].segmentList[k].passDepotCount
						+"站,到达"+bus_map.busList[i].segmentList[k].endName+".";
				}else{
					bus_num = bus_num + "转"+(bus_map.busList[i].segmentList[k].busName).split("(")[0];
					bus_text +=  "下车步行"+bus_map.busList[i].segmentList[k].footLength
						+"米到达"+bus_map.busList[i].segmentList[k].startName+",换乘"
						+bus_map.busList[i].segmentList[k].busName+",途径"
						+bus_map.busList[i].segmentList[k].passDepotCount
							+"站, 到达"+bus_map.busList[i].segmentList[k].endName+".";
				}											
				bus_length = bus_length + parseInt(bus_map.busList[i].segmentList[k].driverLength);
				if(bus_map.busList[i].segmentList.length==1){xy_hc="";}
			}
				bus_line += "<div class=\"car_info\" ><p style=\"cursor:hand;cursor:pointer;\" onMouseover=\"this.className = 'gray';\""
				+"onclick=\"transBusLine("+ i +");\""
				+" onMouseout=\"this.className = 'bai';\"><b>方案"+(i+1)+"</b>:&nbsp;"+bus_text+"</p></div>";
				abcHelperBusLineX.push(busplan.getBusLineXCoords());
				abcHelperBusLineY.push(busplan.getBusLineYCoords());
				abcHelperBusLineChangeX.push(busplan.getExchangeStopXCoords());
				abcHelperBusLineChangeY.push(busplan.getExchangeStopYCoords());
		}
		setInnerHTML("abcHelperBusInnerPanel",bus_line);
		abcHelperOpen("abcHelperBusInnerPanel");
	drawABusLine(str_x_array[0],str_y_array[0],abcHelperBusStartX,abcHelperBusStartY,abcHelperBusEndX,abcHelperBusEndY,hc_x_array[0],hc_y_array[0]);
	}else{
		if(nn_b==1){//表示为起点搜索
			var rs = eval('(data)');
				if(rs.count!=0){
					//组织起点结果字符串
					abcHelperBusSearchStartResult ="<p ><b>请选择起点：</b></p><div class=\"start_str\" style=\"border:1px solid #d3d3d3;margin-left:2px;\">";
					var start_name,start_x,start_y;
					for(var i=0;i<rs.poilist.length;i++){
						start_name = rs.poilist[i].name;
						start_x=rs.poilist[i].x;
						start_y=rs.poilist[i].y;
						if(i==0){//默认为搜索第一个点
							abcHelperBusStartX = start_x;
							abcHelperBusStartY = start_y;
						}
						abcHelperBusSearchStartResult += 
							"<p style=\"cursor:hand;cursor:pointer;\" id=\"abcHelperBusSearchStartName"+ (i+1) +"\" onclick=\""
							+"abcHelperBusSearchHandleStart('"+start_x+"','"+start_y+"','"
							+start_name+"','" + i + "');\">"+(i+1) +"."+start_name+"</p>";
						var startPointInfo = abcHelperPointInfoHandle(rs.poilist[i]);
						//保存起点数据到数组
						abcHelperBusSearchStartPointInfo.push(startPointInfo);
					}
					abcHelperBusSearchStartResult += "</div>";
				}
			start_end_bus();//继续执行结果点搜索
		}else{//表示为终点搜索
			var rs = eval('(data)');
			if(rs.count!=0){
				abcHelperBusSearchEndResult = "<p ><b>请选择终点：</b></p><div class=\"start_str\" style=\"border:1px solid #d3d3d3;margin-left:2px;\">"
				var end_name,end_x,end_y;
				for(var i=0;i<rs.poilist.length;i++){
					
					end_name = rs.poilist[i].name;
					end_x=rs.poilist[i].x;
					end_y=rs.poilist[i].y;
					if(i==0){//默认为搜索第一个点
						abcHelperBusEndX = end_x;
						abcHelperBusEndY = end_y;
					}
					abcHelperBusSearchEndResult += 
							"<p style=\"cursor:hand;cursor:pointer;\" id=\"abcHelperBusSearchEndName"+ (i+1) +"\" onclick=\""
							+"abcHelperBusSearchHandleEnd('"+end_x+"','"+end_y+"','"
							+end_name+"','" + i + "');\">"+(i+1) +"."+end_name+"</p>";
					var endPointInfo = abcHelperPointInfoHandle(rs.poilist[i]);
					//保存终点数据到数组
					abcHelperBusSearchEndPointInfo.push(endPointInfo);
				}
				abcHelperBusSearchEndResult += 
					"</div><p style=\"text-align:center;\"><input "
					+"style=\"text-align:center;margin:5px auto;width:50px;line-height:17px;height:20px;\""
					+" type=\"button\" value=\"查询\" onclick=\"abcHelperBusLineSearch();\"></p>";
				setInnerHTML("abcHelperBusInnerPanel",abcHelperBusSearchStartResult+abcHelperBusSearchEndResult);
			}
		}
	}
}
//内部实现，代码抽象，整理点上数据
function abcHelperPointInfoHandle(tempData){
	try{
		var type = tempData["type"];
		if (type == "" || type == "undefined" || type == null) {
			type = "暂无";
		}
		var address = tempData["address"];
		if (address == "" || address == "undefined" || address == null) {
			address = "暂无";
		}
		var tel = tempData["tel"];
		if (tel == "" || tel == "undefined" || tel == null) {
			tel = "暂无";
		}
		var name = tempData.name;
		var result ="";
		result += '<font color=\"#FFFFFF\">名称：'+name+'</font>';
		result += '<br /><font color=\"#FFFFFF\">类型：'+type+'</font>';
		result += '<br /><font color=\"#FFFFFF\">地址：'+address+'</font>';
		result += '<br /><font color=\"#FFFFFF\">电话：'+tel+'</font>';
	}catch(err){
		alert(err.name +":"+ err.message);
	}
	return result;
}
//点击公交搜索起点列表项时执行的方法
function abcHelperBusSearchHandleStart(startX,startY,startName,recentIndex){
	//将公交路线搜索所需的起点坐标参数进行修改
	abcHelperBusStartX =startX;
	abcHelperBusStartY = startY;
	abcHelperRecentBusStartIndex = recentIndex;
	var tempRecentIndex = parseInt(recentIndex);
	var startNameId = "abcHelperBusSearchStartName"+(tempRecentIndex + 1);
	var tempStartNameId = "";
	for(var i=1;i<10;i++){
		try{
			tempStartNameId = "abcHelperBusSearchStartName" + i;
			if(tempStartNameId == startNameId){
				document.getElementById(tempStartNameId).className = "p_onclick";
			}else{
				document.getElementById(tempStartNameId).className = "p_default";
			}
		}catch(err){}
	}
	//将公交搜索起点输入框的值改为所选的名字
	document.forms["abcHelperForBusSearchForm"].abcHelperBusStartName.value = startName;
}
//点击公交搜索终点列表项时执行的方法
function abcHelperBusSearchHandleEnd(endX,endY,endName,recentIndex){
	//将公交路线搜索所需的起点坐标参数进行修改
	abcHelperBusEndX =endX;
	abcHelperBusEndY = endY;
	abcHelperRecentBusEndIndex = recentIndex;
	var tempRecentIndex = parseInt(recentIndex);
	var startNameId = "abcHelperBusSearchEndName"+(tempRecentIndex + 1);
	var tempStartNameId = "";
	for(var i=1;i<10;i++){
		tempStartNameId = "abcHelperBusSearchEndName" + i;
		try{
			if(tempStartNameId == startNameId){
				document.getElementById(tempStartNameId).className = "p_onclick";
			}else{
				document.getElementById(tempStartNameId).className = "p_default";
			}
		}catch(err){}
	}
	//将公交搜索起点输入框的值改为所选的名字
	document.forms["abcHelperForBusSearchForm"].abcHelperBusEndName.value = endName;
}

function start_end_bus(){
	nn_b=0;

		abcHelperBusSearchEndPara.setCitycode(abcHelperBusSearchCityCode);
		abcHelperBusSearchEndPara.setKeyword(abcHelperBusSearchEndName);
		abcHelperBusSearchEndPara.setNumber(9); 
		abcHelperBusSearchEndPara. setPageSum(1); 
		abcHelperBusSearchEndPara. setBatch(1); 
		abcHelperBusSearchSIS.searchByKeyword(abcHelperBusSearchEndPara);

}
function abcHelperBusLineSearch(){
	
	nn_b=2;	
		setInnerHTML("abcHelperBusInnerPanel","正在搜索...");
		abcHelperBusSearchPara.setStartXY(abcHelperBusStartX,abcHelperBusStartY);
		abcHelperBusSearchPara.setEndXY(abcHelperBusEndX,abcHelperBusEndY);
		abcHelperBusSearchPara.setCitycode(abcHelperBusSearchCityCode);
		abcHelperBusSearchPara.setType("bus");
		abcHelperBusSearchSIS.searchBusAndDrive(abcHelperBusSearchPara);	

}
//用于获得点的数据
function abcHelperGetBusPointInfo(tempIndex,isStart){
	var tempInfo;
	if(isStart){
		tempInfo = abcHelperBusSearchStartPointInfo
	}else{
		tempInfo = abcHelperBusSearchEndPointInfo;
	}
	return tempInfo[tempIndex];
}	

//公交画图方法
function drawABusLine(arrX,arrY,qdpoix,qdpoiy,zdpoix,zdpoiy,changex,changey)
{	
try{
	mapABC.quitMouseDraw();
	mapABC.removeAllOverlays();
	var startObj=new MStyle();
		startObj.lineColor="0xFFFFFF";
		startObj.lineOpacity="80";
		startObj.fillColor="0xEF501A";
		startObj.lineSize="2";
		startObj.fillOpacity="100";
		startObj.fillColor = "0x4b8bd9";
		startObj.labelColor="0xFFFFFF";
		startObj.textContent = abcHelperGetBusPointInfo(abcHelperRecentBusStartIndex,true);;
	var endObj=new MStyle();
		endObj.textContent = abcHelperGetBusPointInfo(abcHelperRecentBusEndIndex,false);
		endObj.lineColor="0xFFFFFF";
		endObj.lineOpacity="80";
		endObj.fillColor="0xEF501A";
		endObj.lineSize="2";
		endObj.fillOpacity="100";
		endObj.fillColor = "0x4b8bd9";
		endObj.labelColor="0xFFFFFF";
		abcHelperBusStartPoint = startObj;
		abcHelperBusEndPoint = endObj;
	var lineObj=new MStyle();
	lineObj.lineSize=6;
	lineObj.lineColor=0x0000ff;
	lineObj.lineOpacity="60";
	var startPoint = new MPointOverlay(new MLatLng(qdpoiy,qdpoix), "起点", startObj);
	var endPoint = new MPointOverlay(new MLatLng(zdpoiy,zdpoix), "终点", endObj);
	abcHelperBusStartPoint = startPoint;
	abcHelperBusEndPoint = endPoint;
	if(qdpoix == "" || qdpoix == "null" || zdpoix == "" || zdpoiy =="null"){}else{
	mapABC.drawBusLine(arrX, arrY, changex, changey, startPoint, endPoint, lineObj,true);
	mapABC.setCenterByLatLng(qdpoiy,qdpoix);
	}
	}catch(err){
		alert(err.name +":" + err.message);
	}
}
//移动鼠标到某种公交换乘方案上时，执行该方法重新画路线
function transBusLine(tempIndex){
	mapABC.quitMouseDraw();
	mapABC.removeAllOverlays();
	var busLineX = abcHelperBusLineX[tempIndex];
	var busLineY = abcHelperBusLineY[tempIndex];
	var changeX = abcHelperBusLineChangeX[tempIndex];
	var changeY = abcHelperBusLineChangeY[tempIndex];
	var lineObj=new MStyle();
	lineObj.lineSize=6;
	lineObj.lineColor=0x0000ff;
	lineObj.lineOpacity="60";
	mapABC.drawBusLine(busLineX, busLineY, changeX, changeY,abcHelperBusStartPoint,abcHelperBusEndPoint,lineObj,true);
	mapABC.setZoomAndCenter(mapABC.getZoomLevel(),abcHelperBusStartPoint.pos);
}

/////////////////////////////////////////公交搜索实现结束//////////////////////////////

