var completeSelete = function (areaCode) {
	if(!areaCode) {
		return;
	}


	var areaItem = getAreaItem(areaCode),
		urlParam = url.get(),
		query = urlParam.query || {},
		pageState = urlParam.pageState || {},
		referQuery = util.urlToJSON(pageState.refer_query) || {},
		referPagestate = util.urlToJSON(pageState.refer_pagestate) || {},
		_state = {},
		_qurey = {},
		wd = referQuery.wd,
		c;


	_state = $.extend({},_state,referPagestate,{
		dist_name : areaItem.area_name,
		"keep_stay" : 1
	});

	if( wd && wd.indexOf(BUSINESS_SPLIT) > -1) {
		wd = wd.split(BUSINESS_SPLIT)[1];
	}

	// 如果是商圈,需要添加空白分隔符
	if( areaItem.area_type == 10 ) {
		wd = areaItem.area_name + BUSINESS_SPLIT + wd;
		c = cityData.area_code;
	} else {
		c = areaItem.area_code;
	}

	_qurey = $.extend(_qurey,referQuery,{
		c : c,
		wd : wd,
		pn : 0
	});


	delete _qurey.nb_x;
	delete _qurey.nb_y;
	delete _qurey.center_rank;

	url.update({
		module: 'place',
		action: 'list',
		query : _qurey,
		pageState : _state
	});

}
var redirectToRefer = function (data,options) {
    var urlParam = url.get(),
        opts = options || {},
        pagestate = urlParam.pageState || {},
        query = util.urlToJSON(opts.referQuery) || {},
        state = util.urlToJSON(opts.referPageState) || {},
        isTakeout = query.qt === 'wm' || state.search === "takeout",
        x = isTakeout ? 'pointX1' : 'nb_x',
        y = isTakeout ? 'pointY1' : 'nb_y',
        module, action, route,type,
        city = _cacheData["city"];

    // 删除当前的缓存key
    window.localStorage.removeItem(referQueryKey);
    window.localStorage.removeItem(referPageStateKey);



    //若关键词包含 商圈+'     '+关键字,将商圈去掉,保留关键字
    if(query.wd && query.wd.split(BUSINESS_SPLIT)[1]){
        query.wd = query.wd.split(BUSINESS_SPLIT)[1];
    }

    query.c = city.code;

    type = _getDataType();

    //跳转到外卖页
    if(isTakeout){
        route = _switchToTakeout(data, query);
    //跳转到place页
    }else{
        route = _switchToPlace(data, query);
    }

    state = $.extend(state,{
        'center_name' : data.name || ""
    });

    // 删除可能存在的i参数,避免存在直接进入详情页
    delete state.i;

    //跳转到其他页面
    url.update({
        module : route.module,
        action :  route.action,
        query : route.query,
        pageState : state
    },{
        'queryReplace': true,
        'pageStateReplace': true
    });
}
var redirect = function() {
	var urlParam = url.get(),
		query = urlParam.query,
		pageState = urlParam.pageState,
		referQuery,
		opts;


	if (pageState.refer_query) {
		referQuery = util.urlToJSON(pageState.refer_query);
		referPageState = util.urlToJSON(pageState.refer_pagestate);
		//若关键词包含 商圈+'     '+关键字,将商圈去掉,保留关键字
		if (referQuery.wd && referQuery.wd.split(BUSINESS_SPLIT)[1]) {
			referQuery.wd = referQuery.wd.split(BUSINESS_SPLIT)[1];
		}

		//如果是外卖页的refer,则跳转到外卖,否则跳转到place页
		if (referQuery.qt === 'wm' || referPageState.search == "takeout") {
			opts = getWmOptions(referQuery, referPageState);
		} else {
			opts = getOptions(referQuery, referPageState);
		}
		redirectToRefer(opts);
	} else {
		redirectToindex();
	}

};
    _initPlacePage: function(options){
        var me = this;

        var query = {
            'center_rank': 1,
            'nb_x': loc.getPointX(),
            'nb_y': loc.getPointY(),
            'c' : loc.getCityCode()
        }
        //获取增加定位信息后的参数
        var mixOptions = me._getOptions(options, query);

        //更改hash
        url.update({
            module : "search",
            action : "search",
            query:{
                center_rank: query.center_rank,
                nb_x : query.nb_x,
                nb_y : query.nb_y,
                c    : query.c 
            },
            pageState : {
                "center_name" : '我的位置',
                "has_handle_geo" : 1,
                "needloc" : ''
            }
            },{
                replace : true
            }
        )

        //me._initPage(mixOptions);       
    },
    updateStreetView: function() {
        var opts = url.get(); 
        var ssid = null;
        var point = null;
        var pov = {};
        var query = opts.query || {};
        
        this._updated = true;
        // 从其他界面进入先清空
        this.streetView.clear();

        if(query.ss_id){
            ssid = query.ss_id;
            if(query.ss_panoType &&
                query.ss_panoType != 'undefined' &&
                query.ss_panoType === 'inter'){
                this.streetView.setInnerId(ssid);
            }else{
                this.streetView.setId(ssid);
            }
        }else if(query.nb_x && query.nb_y){
            point = new BMap.Point(query.nb_x, query.nb_y);
            this.streetView.setPosition(point);
        }
        
		pov = this.streetView.getPov();
        if(query.ss_heading && query.ss_heading !== 'undefined'){
            pov.heading = parseFloat(query.ss_heading);
        }
        if(query.ss_pitch && query.ss_pitch !== 'undefined'){
            pov.pitch = parseFloat(query.ss_pitch);
        }
        this.streetView.setPov(pov);
    },
var selectPlace = function (index) {
    if(typeof index == "undefined") {
        return;
    }

    var item = _cacheData.list[index];
    var urlParam = url.get();
    var pageState = urlParam.pageState;
    var locData = getLocData(item);
    var _referPageState = pageState.refer_pagestate || window.localStorage.getItem(referPageStateKey);
    var _referQuery = pageState.refer_query || window.localStorage.getItem(referQueryKey);

    if(_referQuery && _referQuery != "undefined" ) {
        setLocation(locData,false);
        redirectToRefer(item,{
            referQuery : _referQuery,
            referPageState : _referPageState,
        });
    } else {
        setLocation(locData);
        // 城区结果处理
        if(!locData.isExactPoi && locData.addr.cityType !== 3) {
            setCity.setAndRedirect(locData.addr.city,locData.addr.cityCode);
        } else {
            redirectToindex();
        }
    }
}
module.exports.search = function  (word, opts) {

    if(!word) {
        return;
    }

    opts = opts || {};
    var param = {
        'qt'            : 's',
        'wd'            : word || '',
        'c'             : locator.getCityCode() || 1,
        'searchFlag'    : opts.from || 'bigBox',
        'version'       : '5',
        'exptype'       : 'dep'
    };

    if(locator.hasExactPoi()) {
        param['nb_x'] = locator.getPointX();
        param['nb_y'] = locator.getPointY();
        param['center_rank'] = 1;
    }

    //手动记录搜索开始时间 by jican
    PDC && PDC._setWtCookie();

    url.update({
        module : 'search',
        action : 'search',
        query : param
    }, {
        queryReplace : true
    });
};
    _switchToIndex: function(options){
        var searchType = this.getSearchType(options);
        var state = options.pagestate || {};
        var query = options.query || {};
        var tab = "";
        state.tab = searchType;

        if(state.tab === "walk" || state.tab === "drive" || state.tab === "transit") {
            tab = 'line';
        }

        //切换到首页,同时切换对应的tab  
        url.update({
            module: 'index',
            action: 'index',
            query : query,
            pageState: {
                start: this.start || '',
                end  : this.end   || '',
                tab  : tab
            }
        },{
            trigger : true,
            replace : true,
            queryReplace : true,
            pageStateReplace : true
        })  
    },
    _initTransitPage: function(options){
        var me = this,
        	MY_GEO = '我的位置',
        	query = options.query || {},
        	sn = query.sn || '',
        	en = query.en || ''
        	geoQuery = query,
        	key = 'sn',
        	snArr = ""+sn.split('$$')[3],
        	enArr = ""+en.split('$$')[3],
        	q = '1$$$$' + loc.getPointX() +','+ loc.getPointY() + '$$我的位置$$',
        	wd = geoQuery.wd ? geoQuery.wd : (snArr != MY_GEO ? snArr : enArr);

        //判断起点或者终点是否包含我的位置,优先判断起点,设置位置
        if(snArr === MY_GEO || enArr === MY_GEO){
            if(enArr === MY_GEO){
                key = 'en';
            }
        }else{
            //判断起点或终点是否包含空字符串,优先判断起点,设置位置
            if($.trim(snArr) === ''){
                key = 'sn';
            }else{
                key = 'en';
            }
        }

        geoQuery[key] = q;

        // 补全bse请求
        geoQuery = $.extend(geoQuery,{
            "ptx" : loc.getPointX(),
            "pty" : loc.getPointY(),
            "bsetp" : 1,
            "ec" : loc.getCityCode(),
            "sc" : loc.getCityCode(),
            "isSingle" : "true",
            "name" : MY_GEO,
            "wd" : wd,
        });

        geoQuery["qt"] = this.config.lineQtMap[geoQuery.qt] || geoQuery.qt;

        url.update({
            module : "search",
            action : "search",
            query : geoQuery,
            pageState: {
                    "has_handle_geo" : 1,
                    "needloc" : ''
                }
            },{
                trigger: true,
                replace: true
        });
    },
var redirectToRefer = function(opts) {

	// return;
	if (opts && opts.module && opts.action) {
		url.update(opts);
	} else {
		redirectToindex();
	}

};
 render : function (data) {
     var me  = this,
         parseurl = url.get();
     me.selectedTool = $('#takesubwayselect');
     me.start = $('.start-time .text')[0];
     me.action = parseurl.action;
     me.module = parseurl.module;
     me.pageState = parseurl.pageState;
     me.query = parseurl.query;
     me.initDateSelector(data.result);
     me._initPage(data);  
 },
 recovery: function(){
     var opts = url.get(); 
    
     $('#'+this.Str.MAP_CONTAINER_ID).css({
        'visibility':'visible',
        'left': 5
     });
     // 容器变化需要重新设置中心点
     this.eyeMap.checkResize();
     this.eyeMap.centerAndZoom(this.streetView.getPosition(), this.eyeMap.getZoom());
     $("#street-holder").find('.addr').hide();
     broadcaster.broadcast('sizechange');
 },
 _selectStartTime:function(datetime){
     var me  = this;
     $(me.start).html(me.formatDisplayText(datetime));
     //日期选择完成更新跳转
     me.query.version = '5';
     me.query.exptype = 'dep';
     me.query.exptime = datetime;
     url.update({
         module: me.module,
         action: me.action,
         query : me.query,
         pageState : me.pageState
     });
 }
 _onselectchange:function(e){
     var type = $("#takesubwayselect").val(),
         me = this;
     me.query.f = (type == '1'? '[0,2,4,7,5,8,9,10,11]':null);
     if (type==1) {
         //添加不坐地铁统计
         stat.addCookieStat({code:STAT_CODE.BUS_STRATEGY_CLICK, type:4});
     };
     url.update({
         module: me.module,
         action: me.action,
         query : me.query,
         pageState : me.pageState
     });
 },
	_changeCity: function(){
		var city = window._CURRENT_CITY,
			pageState = url.get().pageState || {};

		if(city && city.reset_cur != 1){
			//当前城市和定位城市不一致,或者后端标识强制替换位置
			if((city.code != loc.getCityCode() && city.code != loc.getUpCityCode())
			 || city.is_update_city == 1){
	            var point = city.geo && city.geo.split(';')[0].split('|')[1].split(',');

	            //不存在中心点,直接返回
	            if(point === undefined){
	                return;
	            }

			    if(city.code == 1){
			    	city.name = '全国';
			    }

	            var upCityCode = null;
	            //当前定位是区
	            if(city.type === 3){
	                upCityCode = city.up_cityid;
	            }
	            //将全国的level切换到4
	            var level = city.level != 0 ? city.level : 4; 
	            var locData = {
	                addr: {
	                    city: city.name,
	                    cityCode: city.code,
	                    cityType: city.type,
	                    upCityCode: upCityCode
	                },
	                point: {
	                    x: point[0],
	                    y: point[1]
	                },
	                level: level,
                    isSaveLocInCookie: true
	            }	

	            //系统定位时的切城的结果不能被覆盖,除非用户手动发起定位
	            window._NO_COVER_LOC = false;
	            loc.setAddress(locData);
	            window._NO_COVER_LOC = true;        
			}
		}
	}
    getTransitSmsUrl: function(){
        var location  = href.get();
        var query = location.query || {};
        var state = location.pageState || {};
        var i = state.i + ',1,1';
        //ready接口基础url
        var BASE_READY_URL = 'http://map.baidu.com/ag/sms/ready?url=';
        //qt的url
        var BASE_QT_URL = 'http://map.baidu.com/?i='+ i + '&s=' + query.qt;

        //编码的query
        var q = encodeURIComponent('&' + util.jsonToQuery(query));
        //需要将qt和query再次编码
        var url = BASE_READY_URL + encodeURIComponent(BASE_QT_URL + q + '&sc=0&smsf=1') + '&t=' + new Date().getTime();
        return url;
    },
    _searchData : function(){
        var query = this._getUrl();

        // 更新url参数
        url.update({
            module : "search",
            action : "search",
            query : query,
            pageState:{
                'needloc': ''
            }
        }, {
            replace : true,
            queryReplace : true
        });
    },
    getSmsUrl: function(){
        var location = href.get();
        var query = location.query || {};
        //ready接口基础url
        var BASE_READY_URL = 'http://map.baidu.com/ag/sms/ready?url=';
        //qt的url
        var BASE_QT_URL = 'http://map.baidu.com/?s=' + query.qt;

        //删除version参数,防止短信接口不返回里程。
        delete query.version;

        //编码的query
        var q = encodeURIComponent('&' + util.jsonToQuery(query));
        //需要将qt和query再次编码
        var url = BASE_READY_URL + encodeURIComponent(BASE_QT_URL + q + '&sc=0&smsf=1') + '&t=' + new Date().getTime();
        return url;
    },
    onSizeChange: function(){
        var opts = url.get();
        var pageState = opts.pageState || {};
        if(!this.hasAlertDisabled() &&
            !this.checkEyeMapDirection() &&
            !util.isIPad()){
            //在小米1默认浏览器下,localStorage保存数据不立刻生效的问题。 
			if(this.alertDsabeld)return;

            Popup.open(
                {
                    text : '街景在横屏下体验较差,建议在竖屏下使用。',
                    autoCloseTime : 3000
                }
            );
            this.alertDsabeld = true;
            storage.addData("alertDisabled", "true", {
                error: function() { // localstorage写入失败时写入cookie
                    var options = {
                        domain: 'map.baidu.com',
                        path: '/',
                        expires: 365 * 24 * 60 * 60 * 1000
                    };
                    Cookie.set("alertDisabled", "true", options);
                }
            });
            
            $('.common-widget-popup').on('touchstart', function(){
                $('.common-widget-popup').remove();
            });
            // setTimeout(function(){
            //     if(pageState.vt == 'streetview'){
            //         util.TxtBox.c({
            //             clearAll:true
            //         });
            //     }
            // }, 3000);
        }
        //渲染街景后,在横屏下产品头被遮住,用延时重新滚动浏览器的页面位置
        setTimeout(function(){
            window.scrollTo(0,0);
        },100);
    },
    onNoResult: function(){
        var opts = url.get();
        var pageState = opts.pageState || {};

        Popup.open( 
            {
                text          : this.Str.NORESULT,
                autoCloseTime : 1500
            }
        );
        //clearTimeout(this.interval);
        // this.interval = setTimeout(function(){
        //     if(pageState.vt == 'streetview'){
        //         util.TxtBox.c({
        //             clearAll:true
        //         });
        //     }
        // }, 3000);
        this.onPositionChanged();
    },
    _getUrl : function(){
        var urlInfo = url.get().query || {};

        // 落地页特殊处理
        if(this.isLanding){
            //获取第三方来源名字
            third_party = location.href.match(/[\?\&]third_party=([^&^#]+)/);

            if(third_party){
                //设置检索标记
                urlInfo.searchFlag = third_party[1] || "";
                
                // 百度框推送添加push参数
                if(third_party[1] === "baidukuangpush"){
                    urlInfo.tg = "push";
                }
            }
        }

        // 如果没有添加称城市code,则取当前城市code码
        if(!urlInfo.c) {
            urlInfo.c = loc.getCityCode();
        }

        if(['nav','nse','walk','wse'].indexOf(urlInfo.qt) >=0) {
            urlInfo.version = '3'; //兼容旧的驾车协议 by jican
        }

        // 如果只有wd1,wd2, 没有sn,en参数,需要添加驾车线路的关键词
        if(urlInfo.qt == 'nav' || urlInfo.qt == "bt") {
            if(urlInfo.wd1 && !urlInfo.sn){
                urlInfo.sn = '2$$$$$$' + urlInfo.wd1 +'$$'
            }
            if(urlInfo.wd2 && !urlInfo.en){
                urlInfo.en = '2$$$$$$' + urlInfo.wd2 +'$$'
            }
        }

        return urlInfo;
    },
    _switchToIndex: function(options){
        var searchType = this.getSearchType(options);
        var state = options.pagestate || {};
        var query = options.query || {};
        var tab = "";
        state.tab = searchType;

        if(state.tab === "walk" || state.tab === "drive" || state.tab === "transit") {
            tab = 'line';
        }

        var pState = {};

        if(this.start){
            pState.start = this.start;
        }

        if(this.end){
            pState.end = this.end;
        }

        pState.tab = tab;
        
        //切换到首页,同时切换对应的tab  
        url.update({
            module: 'index',
            action: 'index',
            query : query,
            pageState: pState
        },{
            trigger : true,
            replace : true,
            queryReplace : true,
            pageStateReplace : true
        })
    },
	geoFail: function(){
		var options = url.get();
		this.locErrorCallback(options);
	},
	geoSuccess: function(){
		var options = url.get();
		this._initMixLocOptionsPage(options);
	},
define("transit:widget/crosslist/crosslist.js",function(require,exports,module){var url=require("common:widget/url/url.js"),datepicker=require("common:widget/datepicker/datepicker.js"),util=require("common:static/js/util.js"),stat=require("common:widget/stat/stat.js");module.exports={init:function(){var t=this._getStartTime();$("#dateBox span").html(t),this.bindEvent()},bindEvent:function(){$("#dateBox").on("click",$.proxy(this._popupDateBox,this)),$("select").on("change",$.proxy(this._changeStragety,this))},_bindFilterEvent:function(){$("#filter-cancel").on("click",$.proxy(this._hideFilterbox,this)),$("#filter-finish").on("click",$.proxy(this._hideFilterbox,this))},_getStartTime:function(){var t,e=this,a=url.get().query||{},i=a.date,n=new Date,r=n.getTime()+864e5,o=new Date(r),d=e._getDate(n),l=e._getDate(o);return t=i===l||void 0===i?"明天出发":i===d?"今天出发":i.replace(/^(\d{4})(\d{2})(\d{2})$/,"$1-$2-$3")},_getDate:function(t){var e=t.getFullYear()+"",a=t.getMonth()+1+"",i=t.getDate()+"",n=e+(1===a.length?"0"+a:a)+(1===i.length?"0"+i:i);return n},_hideFilterbox:function(){$("#filter-box").hide()},_changeStragety:function(t){var e,a=t.target,i=a.value;switch(i){case"价格由低到高":e=7;break;case"价格由高到低":e=8;break;case"出发时间由早到晚":e=5;break;case"出发时间由晚到早":e=6;break;case"全程时间由少到多":e=3}stat.addCookieStat(STAT_CODE.CROSS_CITY_STRAGETY_CLICK),url.update({query:{csy:e,rn:5}},{trigger:!0})},_popupDateBox:function(e){var me=this,tpl=[function(_template_object){var _template_fun_array=[],fn=function(__data__){var _template_varName="";for(var name in __data__)_template_varName+="var "+name+'=__data__["'+name+'"];';eval(_template_varName),_template_fun_array.push('<div id="filter-box"><div class="handler"><button id="filter-cancel">取消</button><button id="filter-finish">完成</button></div><div id="date-content"></div><div id="strategy-content"></div></div>'),_template_varName=null}(_template_object);return fn=null,_template_fun_array.join("")}][0];tpl=tpl(),0==$("#filter-box").length&&($("body").append(tpl),me._bindFilterEvent());var dateBox=$("#date-content"),planBox=$("#strategy-content"),date=new Date,dateInfo=$("#dateBox span").html(),container=$("#filter-box"),curDate;if("今天出发"===dateInfo)curDate=date;else if("明天出发"===dateInfo)curDate=new Date(date.getTime()+864e5);else{var dateArr=dateInfo.match(/(\d{4})-(\d{2})-(\d{2})/);curDate=new Date(dateArr[1],parseInt(dateArr[2])-1,dateArr[3])}dateBox.datepicker({minDate:new Date(date.getFullYear(),date.getMonth(),date.getDate()),date:curDate,valuecommit:function(t,e,a){stat.addCookieStat(STAT_CODE.CROSS_CITY_DATE_CLICK);var i=a.split("-").join("");url.update({query:{date:i,rn:5}},{trigger:!0})}}),planBox.hide(),dateBox.show(),container.show(),me._simulationFixed()},_simulationFixed:function(){function t(){var t=window.innerHeight+document.body.scrollTop-283;e.css("top",t)}var e=$("#filter-box");util.isIPad()?(e.css({bottom:0,position:"absolute"}),$(document).on("scroll",t),this._hasBindDateBoxEvent||(this._bindDateBoxEvent(),this._hasBindDateBoxEvent=!0)):e.css({bottom:0,position:"fixed"})}}});
define("index:widget/helper/helper.js",function(require,exports,module){var util=require("common:static/js/util.js"),url=require("common:widget/url/url.js"),stat=require("common:widget/stat/stat.js"),searchData=require("common:static/js/searchdata.js"),broadcaster=require("common:widget/broadcaster/broadcaster.js"),locator=require("common:widget/geolocation/location.js");module.exports={cates:{cater:{wd:"美食",id:"cater",count:3,data:void 0},hotel:{wd:"快捷酒店",id:"hotel",count:2,data:void 0},bank:{wd:"银行",id:"bank",data:[{name:"工商银行",key:"icbc"},{name:"农业银行",key:"abc"},{name:"建设银行",key:"cbc"},{name:"中国银行",key:"bc"},{name:"ATM",key:"atm"}]}},thumbConfig:{host:"http://map.baidu.com/maps/services/thumbnails",imgWidth:180,imgHeight:135,oneStarW:15},getData:function(e,t,a){if(1==this.getCityCode())return this.cates[e].data=[],t&&t([]),void 0;a=a||{},this.cates[e].data=void 0,a.page&&"hao123"==a.page&&(this.cates.cater.count=6,this.cates.hotel.count=3);var r=this,o=this.cates[e].wd,n=this.getHash({query:{wd:o}}).query;searchData.fetch(util.jsonToQuery(n),function(a){var n=[];a&&a.content&&(n=r._formatData(o,a.content)),r.cates[e].data=n,t&&t(n)},function(){t&&t([])})},getHash:function(e){var t=e.module||"search",a=e.action||"search",r={qt:"s",wd:"",c:this.getCityCode()},o={};e.query?r=$.extend(r,e.query):(r.wd=e.wd||e.word||e.name,r.searchFlag="sort");var n=url.get(),i=n.query,c=n.pageState||{},s=c.from||"",l=decodeURIComponent(c.center_name||locator.getCity());switch("place"==t&&"takeout"==a&&(o.search="takeout",l=locator.hasExactPoi()?locator.isUserInput()?locator.getAddress():"我的位置":locator.getCity()),s){case"searchnearby":r.center_rank=1,r.nb_x=i.nb_x||c.nb_x,r.nb_y=i.nb_y||c.nb_y,o.from="searchnearby",o.type="searchnearby","place"==t&&"takeout"==a&&(l=decodeURIComponent(c.center_name));break;case"business":r.wd=c.bd+"     "+r.wd,"place"==t&&"takeout"==a&&locator.hasExactPoi()&&(r.center_rank=1,r.nb_x=locator.getPointX(),r.nb_y=locator.getPointY());break;default:locator.hasExactPoi()&&(l=locator.isUserInput()?locator.getAddress():"我的位置",r.center_rank=1,r.nb_x=locator.getPointX(),r.nb_y=locator.getPointY())}return o.center_name=l,"今夜特价"===r.wd&&(r.pl_tonight_sale_flag_section=1,r.pl_data_type="hotel"),{module:t,action:a,query:r,pageState:o}},ready:function(){this.cates.cater.data&&this.cates.hotel.data&&broadcaster.broadcast("nearpush.dataready")},go:function(evt,key){var target=$(evt.currentTarget);switch(target.attr("jsaction")){case key+"-detail":eval("var data = "+target.attr("userdata"));var uid=data.uid;stat.addCookieStat(STAT_CODE.STAT_NEARPUSH_DETAIL_CLICK,{id:data.id}),url.update({module:"place",action:"detail",query:{qt:"inf",uid:uid,c:this.getCityCode()}},{trigger:!0,queryReplace:!0});break;case key+"-all":eval("var data = "+target.attr("userdata"));var word=data.wd||this.cates[key].wd,hash=this.getHash({module:"search",action:"search",query:{wd:word}});stat.addCookieStat(STAT_CODE.STAT_NEARPUSH_ALL_CLICK,{id:data.id}),url.update({module:hash.module,action:hash.action,query:hash.query,pageState:hash.pageState},{trigger:!0,queryReplace:!0,pageStateReplace:!0})}return!1},getCityCode:function(){var e=url.get(),t=(e.query,e.pageState||{});return t.code&&1!=t.code?t.code:locator.getCityCode()||1},_formatData:function(e,t){var a=this;switch(e){case"美食":return a._formatDataCY(t);case"快捷酒店":return a._formatDataHotel(t)}},_formatDataCY:function(e){for(var t=this,a=this.cates.cater.count,r=[],o=[],n=0,i=e.length;i>n;n++){var c={};c.name=e[n].name,c.uid=e[n].uid;var s=void 0;if(void 0!=e[n].ext&&void 0!=e[n].ext.detail_info&&(s=!0,placeInfo=e[n].ext.detail_info),""!=placeInfo.image&&s){if(c.image=t._getImgSrc(placeInfo.image)||"",""!=placeInfo.groupon&&null!=placeInfo.groupon?c.otherflag='<em class="icon groupon-icon"></em>':""!=placeInfo.premium2&&0!=placeInfo.premium2&&null!=placeInfo.premium2&&(c.otherflag='<em class="icon sale-icon"></em>'),c.star=t._getStar(placeInfo.overall_rating)||"",c.comment=placeInfo.comment_num||"",r.push(c),r.length===a)return r}else o.push(c)}return r=r.concat(o.slice(0,a-r.length))},_formatDataHotel:function(e){for(var t=this,a=this.cates.hotel.count,r=[],o=[],n=0,i=e.length;i>n;n++){var c={};c.name=e[n].name,c.uid=e[n].uid,c.addr=e[n].addr;var s=void 0;if(void 0!=e[n].ext&&void 0!=e[n].ext.detail_info&&(s=!0,placeInfo=e[n].ext.detail_info),c.price=placeInfo.price||"",""!=e[n].image&&placeInfo&&""!=e[n].tel){if(c.image=t._getImgSrc(placeInfo.image)||"",c.star=t._getStar(placeInfo.overall_rating)||"",c.tel=t._getTel(e[n].tel)||{},placeInfo.uid=e[n].uid,c.order=t._getOrder(placeInfo),r.push(c),r.length===a)return r;o.push(c)}}return r=r.concat(o.slice(0,a-r.length))},visible:function(e,t,a){var r=$(e)[0],o=function(){var e=r.getBoundingClientRect().top,o=window.innerHeight;o>=e&&t&&(a?t.call(a):t())};o(),$(window).on("scroll",o)},_getTel:function(e){var t,a;return void 0==e||""==e?{}:(t=e.indexOf(",")>-1?e.split(","):e.split(";"),t=t[0].replace(/\(/gi,"").replace(/\)/gi,"-"),a=util.isAndroid()?'href="javascript:void(0);" data-tel="'+t+'"':'href="tel:'+t+'"',{url:a,num:t})},_getOrder:function(e){var t=e.hotel_ori_info,a=e.ota_url;if(""==t||0==t.length)return!1;for(var r=0,o=t.length,n=t[r];o>r;r++)if("qunar"==n.src&&"可预定酒店"==n.hotel_flag)for(var i=0,c=a.length,s=a[i];c>i;i++)if("qunar"==s.src)return!0},_getStar:function(e){if(e){var t=parseInt(10*e)/10*this.thumbConfig.oneStarW,a='<span class="star-box">                            <span class ="star-scroe" style = "width:#rate#px"></span>                    </span>'.replace("#rate#",t);return a}},_getImgSrc:function(e){if("string"!=typeof e||""==e)return F.uri("/static/img/no_img.png");var t=this.thumbConfig;e.indexOf("&nbsp;&nbsp;&nbsp;")>-1&&(e=$.trim(e.split("&nbsp;&nbsp;&nbsp;")[0])),e=e.replace("(","%28"),e=e.replace(")","%29");var a=t.host+"?width="+t.imgWidth+"&height="+t.imgHeight+"&src="+encodeURIComponent(e);return a}}});