_package("bjmap.index");

bjmap.index.params=function(){
	var outmaxlength="注意！输入字符过长，应小于100";//超出限制后提示的文本
	var txtmaxlength=100;//文本框最大字符限制
	var specialchar="注意！包含特殊字符将无法进行查询";
	/**
	 * 绑定按钮的查询事件
	 */
	var userUrl=DCI.getUserLocation();
	var baseUrl=userUrl+"/main.html?";
	
	//绑定地图搜索
	var btnMapSearch=DCI.get("btnMapSearch");
	DCI.event.bindDom(btnMapSearch,"click",process,this,[1]);
	//绑定周边搜索
	var btnNearSearch=DCI.get("btnNearSearch");
	DCI.event.bindDom(btnNearSearch,"click",process,this,[2]);
	//绑定公交搜索
	var btnBusSearch=DCI.get("btnBusSearch");
	DCI.event.bindDom(btnBusSearch,"click",process,this,[3]);
	//绑定驾车导航
	var btnNavSearch=DCI.get("btnNavSearch");
	DCI.event.bindDom(btnNavSearch,"click",process,this,[4]);
	
	function process(event,mn){	
		
		var params=void(0);
		//地图搜索
		if(mn==1){
			var e=DCI.get("searchvalue");
			if(txtIsNullignSpace(e)){
				return;
			}
			this.keyword(e.value);	//调用关键字查询
		//周边搜索
		}else if(mn==2){		
			var e=DCI.get("cenname");
			var e1=DCI.get("nearsearchname");
			if(txtIsNull(e)){
				return;	
			}
			if(txtIsNull(e1)){
				return;
			}
			this.near(e.value,e1.value); //周边查询
		//公交查询
		}else if(mn==3){		
			var bustype=window.module.currentBusModule.getAttribute("id");	
			params={request:"bussearch",type:bustype};
			if(bustype=="buschange"){
				var e=DCI.get("busstartname");
				var e1=DCI.get("busendname");
				if(txtIsNull(e)){
					return;	
				}
				if(txtIsNull(e1)){
					return;
				}	
				this.transfer(e.value,e1.value);		//公交换乘
			}else if(bustype=="busname"){
				var e=DCI.get("buslinename");
				if(txtIsNull(e)){
					return;	
				}
				this.line(e.value);					//线路名查询
			}else if(bustype=="busstation"){
				var e=DCI.get("busstationname");
				if(txtIsNull(e)){
					return;	
				}
				this.station(e.value);				//站点查询
			}else{
				return;
			}
		//导航搜索
		}else if(mn==4){
			var e=DCI.get("navstartname");
			var e1=DCI.get("navendname");
			if(txtIsNull(e)){
					return;	
			}
			if(txtIsNull(e1)){
					return;	
			}
			this.navigation(e.value,e1.value);	//驾车导航
		}
	}
	//验证空格和字符的长度
	function txtIsNull(e){
		var isnull=true;		//默认是传递进来的是空值
		var value=e.value;
		var tip=e.title;
		var txtlength=DCI.getLength(value);
		if(value&&txtlength<txtmaxlength){
			if(value!=tip&&value!=outmaxlength&&value!=specialchar){
				isnull=false;
			}
		}
		return isnull;
	}
	//不验证空格单验证字符长度
	function txtIsNullignSpace(e){
		var isnull=true;		//默认是传递进来的是空值
		var value=e.value;
		var txtlength=DCI.getLength(value);
		value=value.replace(/\s/ig,'');
		var tip=e.title;
		if(value&&txtlength<txtmaxlength){
			if(value!=tip&&value!=outmaxlength&&value!=specialchar){
				isnull=false;
			}
		}
		return isnull;
	}
	/**
	 * @type 关键字查询
	 * @param {string} keyword 关键字查询
	 */
	this.keyword=function(keyword){
		var parmas={
			request:"search",
			keyword:keyword
		};	
		send(parmas);			
	}
	
	/**
	 * @type 周边搜索
	 * @param {string} cenName 中心点名称
	 * 		  {string} keyword 关键字名称
	 *        {number} range 范围
	 */
	this.near=function(cenName,keyword,range){
		range=range||1000;
		var params={
			request:"near",
			name:cenName,
			keyword:keyword,
			range:range
		};	
		send(params);				
	}
	
	
	/**
	 * @tyep 线路查询
	 * @param {string} lineName 线路名称
	 */
	this.line=function(lineName){
		var params={
			request:"bus",
			type:"line",
			lineName:lineName
		};	
		send(params);
	}
	
	
	/**
	 * @type 站点查询
	 * @param {string} stationName 站点名称
	 */
	this.station=function(stationName){	
		var params={
			request:"bus",
			type:"station",
			stationName:stationName
		};	
		send(params);	
	}
	
	
	/**
	 * @type 换乘
	 * @param {string} startName 起点名称
	 * 		  {string} endName 终点名称 
	 */
	this.transfer=function(startName,endName){
		var params={
			request:"bus",
			type:"transfer",
			startName:startName,
			endName:endName
		};
		send(params);
	}
	
	/**
	 * @type 导航
	 * @param {string} startName 导航起点
	 *        {string} endName 导航终点
	 */
	this.navigation=function(startName,endName){
		var params={
			request:"navigation",
			startName:startName,
			endName:endName
		};
		send(params);
	}
	
	/**
	 * @type 发送参数
	 * @param {object} params 常量对象
	 */
	function send(params){
		var str_params=DCI.encode(params);
		location.href=baseUrl+str_params;
	}
};
