/************************************ JQuery *********************************************/
//order 
jQuery(document).ready( 
	function(){ 
		jQuery("#tableList").tablesorter(
			{
		        headers: { 
		            4: { sorter: false } 
		        }
		     }
		);
		
		jQuery(".thearTable a").each(
			function(i){
				jQuery(this).click(
					function(){
						jQuery("#tableList th").eq(i).click();
					}
				)
			}
		)
	}
);


/*********************************************************************************/

function init(){
	//initMap();
	addHotelPoi();
	setInterval( function(){ showOrHideTools(); },10);
	//var cityname = $("cityName").value;
	//showNearHotel(cityname);
}

//控制显示特殊搜索和反馈的TIP遮盖问题
function showOrHideTools(){
	if($("feedbackPanel") && $("specialSearch")){
		if($("feedbackPanel").style.display=='none'){
			$("specialSearch").style.display='';
		}else{
			$("specialSearch").style.display='none';
		}
	}
}

function initMap(strlatlon,zoom){
    docResize();//resize the container
    if(typeof maplet=="object"){return;}
    maplet = new Maplet("mapbar");
    strlatlon=strlatlon||cityOption.getCity();
    zoom=zoom||7;
    maplet.centerAndZoom(new MPoint(strlatlon), zoom);
    
    maplet.addControl(new MStandardControl());
	//maplet.addControl(new MLookupControl());
	MEvent.addListener(maplet, 'edit', editCallback);
	/*快照部分*/
    MEvent.addListener(maplet,"snapshot_select",function(dataObj){maplet.setMode("pan");});
    MEvent.addListener(maplet,"snapshot",snapDone);
    
    /*逆地理编码、周边查询*/
    bmCbk.init();
    MEvent.addListener(maplet,"pan",function(){bmCbk.init(); });
    MEvent.addListener(maplet,"zoom",function(){bmCbk.init(); });
}
/*截屏后事件*/
function snapDone(url) {
    window.open(url);
}


//文字版初始时打点
var isJsp=false;
function addHotelPoi(){
	if(typeof HPOI == 'undefined')return;
	if(typeof maplet == 'undefined'){
		
		initMap(HPOI.mapinfo.mapcenter,parseInt(HPOI.mapinfo.zoom) );
	}else {
		
		 maplet.centerAndZoom(new MPoint(HPOI.mapinfo.mapcenter),parseInt(HPOI.mapinfo.zoom) ); 
	}
	
	//搜索时隐藏酒店全景展示
	hideFullView();

	for(var i=0;i<HPOI.item.length;i++){
		var pid = HPOI.item[i].pid;
		var name = HPOI.item[i].name;
		var nameid = HPOI.item[i].nameid;
		var nameBookUrl = HPOI.item[i].nameBookUrl
		var price = HPOI.item[i].price;
		var phone = HPOI.item[i].phone;
		var address = HPOI.item[i].address;
		var icon = HPOI.item[i].icon;
		var photo = HPOI.item[i].photo_str;
		var strlatlon = HPOI.item[i].strlatlon;
		//icon = icon.replace("circlepics","marker");
		icon = icon.replace("mk","td");
				
		var srcArr=photo.split(",");
		var photoArr = [];
		for(var m=0;m<srcArr.length;m++){
			if( srcArr[m]!="" )photoArr.push({src:"'"+detail_picurl+getPicBySize(srcArr[m])+"'"}); 
		}
		
		var obj=new MapPoi();
		obj.id=pid;
		obj.name=name;
		obj.nameBookUrl=nameBookUrl;
		obj.nameid=nameid;
		obj.price = price;
		obj.icon=icon;
		obj.phone=phone;
		obj.address=address;
		obj.strlatlon=strlatlon;
		obj.city=cityOption.getCity();
		obj.eCityName = cityOption.getECity();
		obj.photo=photoArr;
		obj.template="hotel/js/template/infowindow0.html?"+getRandom();
		
		window.addPoi(obj, function(){ showItem(obj,i); },i+1,1);
	}
	//显示查询条件
	showSearhArea();
	
	isJsp=true;
	//JSearch.init();
	var dn = Parameter.total||0;
	var pn = Parameter.pageno||1;
	pageCtrl(pn, dn ,30 ,"", "");
}
function showSearhArea(){
	if($("selectCityDom") && Parameter.city!="" && Parameter.city!="undefined")setDefaultCity( {name:Parameter.city} );
	if($("areaDom") && Parameter.area!="" && Parameter.area!="undefined")setDefaultArea( {name:Parameter.area} );
	if($("hotelLevelDom") && Parameter.level!="" && Parameter.level!="undefined")setDefaultLevel( {level:Parameter.level.split(",")} );
	if($("priceDom") && Parameter.minprice!="" && Parameter.maxprice!="")setDefaultPrice( {selectType:0, begin:Parameter.minprice, end:Parameter.maxprice} );
}
//替换特殊字符
function repSpecialSynmbol(str){
	if(typeof str=="undefined")return;
	var ret = "";
	for(var i=0;i<str.length;i++){
	    var _char = str.charAt(i);
	    if(_char=="#"){_char="＃";}
	    if(_char=="%"){_char="％";}  
	    if(_char=="&"){_char="＆";}
	    if(_char=="+"){_char="＋";}  
	    ret=ret+_char;
	}
	return ret;
}
//Json 高级搜索
var JSearch = {
	frm:null,
	para:{city:'',areatype:'',area:'',level:'',minprice:'',maxprice:'',keyword:'',pageno:'',pagesize:'',sort:'',range:'',lLatlon:'',rLatlon:''}, //仅含基本数据
	init:function(){
		if(typeof Parameter == 'object')this.setVal(Parameter);
	},
	emptyAll:function(){
		for(var p in this.para){
			this.para[p]="";
		}
	},
	setVal:function( options ){
		for(var p in this.para){
			this.para[p]=options[p]||"";
		}
	},
	get:function( options ){
		
		if(!options)this.init();
		options = options||this.para;
		options.keyword=repSpecialSynmbol(options.keyword);
		//nb=false;//关闭周边查询开关
		isJsp=false;
		
		var starDate = jQuery("#today").val();
		var endDate = jQuery("#today_after").val();
		var url = "../common/proxy_text.jsp?"+json_hotel+"?city="+encodeURI(options.city||'北京市')+
							 "&areatype="+encodeURI(options.areatype||'')+
							 "&area="+encodeURI(options.area||'')+
							 "&level="+encodeURI(options.level||'')+
							 "&keyword="+encodeURI(options.keyword||'')+
							 "&minprice="+encodeURI(options.minprice||'')+
							 "&maxprice="+encodeURI(options.maxprice||'')+
							 "&sort="+encodeURI(options.sort||'')+
							 "&pn="+encodeURI(options.pageno||'1')+
							 "&rn="+encodeURI(options.pagesize||'30')+
							 "&lLatlon="+encodeURI(options.lLatlon||'')+
							 "&rLatlon="+encodeURI(options.rLatlon||'')+
							 "&range="+encodeURI(options.range||'')+
							 "&datefrom="+starDate+
							 "&dateto="+endDate+
							 "&encode=utf-8"+
							 "&version=_hotel"+
							 "&r="+getRandom();
		//保存搜索条件
		this.setVal( options );
		//loading...
		tipInfo.init(120,20);
		//当右侧列表隐藏时自动显示
		if($('box1').style.display == "none")Switch();
		//搜索时隐藏酒店全景展示
		hideFullView();
		
		var rsArr=[];
		rsArr.push("<table class='POIul' cellpadding='0' cellspacing='0' style='table-layout:fixed;' width='100%' id='tableList'>");
		rsArr.push("<tr><td align='center' colspan='5'>数据加载中...</td></tr>");
		rsArr.push("</table>");
		
		$("resultList").innerHTML=rsArr.join(" "); //结果列表
		new Transfer.Request(url,{oncomplate:function(){JSearch.cbk();},id:'_hotel'});
	},
	cbk:function(){
		if(typeof result_hotel == 'undefined')return;
		clearPoi(1);
		
		var rsArr=[];
		var result =result_hotel;
		var dn = result.dn||0;
		var pn = result.pn||1;
		
		var cityInfo = cityDataFun.getCityPropertiesByCity( cityOption.getCity() );
		cityOption.setECity(cityInfo.ename); //set english name
		
		rsArr.push("<table class='POIul' cellpadding='0' cellspacing='0' style='table-layout:fixed;' id='tableList'>");
		rsArr.push("<thead style='display:none'>");
		rsArr.push(" <th class='td1'></th>");
		rsArr.push(" <th class='td2'></th>");
		rsArr.push(" <th class='td3'></th>");
		rsArr.push(" <th class='td4'></th>");
		rsArr.push(" <th class='td5'></th>");
		rsArr.push("</thead>");
		rsArr.push("<tbody>");

		for(var i=0;i<result.item.length;i++){
			var name = result.item[i].title;
			var nameid = result.item[i].name_id;
			var phone = result.item[i].phone;
			var address = result.item[i].address;
			var starlevel = result.item[i].starlevel;
			var name = result.item[i].title;
			var photo = result.item[i].photo_str;
			var pid = result.item[i].pid;
			var price = result.item[i].price;
			var minRoomPrice = "";
			if(result.item[i].pricelist.length > 0){
				for(var j=0; j<result.item[i].pricelist.length; j++){
					
					if(result.item[i].pricelist[0].booklist.length > 0){			
							minRoomPrice = result.item[i].pricelist[0].booklist[0].discountprice
					}else{
						minRoomPrice = "暂无"
					}
				}
			}else{
					minRoomPrice = "暂无"
			}
			var strlatlon = result.item[i].strlatlon;
			var icon = getPicByStar(starlevel);
			var city = result.item[i].city;
			var cityInfo = cityDataFun.getCityPropertiesByCity( city );
			var ecity = cityInfo.ename;
		
			star = getStar(starlevel);
			price = getPrice(price)||0;
			price = price==0?"<b style='display:none'>0</b>暂无" : price ;
			
			rsArr.push("<tr id='tr_list_"+i+"' onmouseout='show_bg_2(this)' onmouseover='show_bg_1(this)'>");
            rsArr.push("   <td class='td1'><b style='display:none'>"+star+"</b><img src=images/icon/"+icon+(i+1)+".gif alt='' onclick=\"setAttr($('tr_list_"+i+"'));openNewInfoWindow('"+pid+"','12');\" style='cursor:pointer' /></td>");
            rsArr.push("   <td class='td2'><a href='http://"+ecity+".hotel.mapbar.com/poi/"+pid+"' title='"+name+"' target='_blank'>"+name+"</a></td>");
            rsArr.push("   <td class='td3' onclick=\"setAttr($('tr_list_"+i+"'));openNewInfoWindow('"+pid+"','12');return false;\"><b style='display:none'>"+starlevel+"</b><span>"+star+"</span></td>");
            rsArr.push("   <td class='td4'><a href='http://"+ecity+".hotel.mapbar.com/poi/"+pid+"#roomAndPrice' style='color:#F00; text-decoration:none;' target='_blank'>"+minRoomPrice+"</td>");
			rsArr.push("   <td class='td5'><a href='/loading.jsp?pid="+pid+"&hotelId="+nameid+"&hotelName="+encodeURI(name)+"' target='_blank'>预 订</a></td>");
            //rsArr.push("   <td class='td5'><img src='images/ico_dining.gif' alt='餐饮' title='餐饮' style='cursor:pointer;' onclick=\"nbCbk.shownearby(this,'"+pid+"','"+name+"','"+strlatlon+"');\" /><img src='images/ico_fun.gif' alt='娱乐' title='娱乐' style='cursor:pointer;' onclick=\"nbCbk.shownearby(this,'"+pid+"','"+name+"','"+strlatlon+"');\" /><img src='images/ico_shopping.gif' alt='购物' title='购物' style='cursor:pointer;' onclick=\"nbCbk.shownearby(this,'"+pid+"','"+name+"','"+strlatlon+"');\" /><img src='images/ico_attractions.gif' alt='景点' title='景点' style='cursor:pointer;' onclick=\"nbCbk.shownearby(this,'"+pid+"','"+name+"','"+strlatlon+"');\" /></td>");
            rsArr.push("</tr>");
		}
		rsArr.push("</tbody>");
		rsArr.push("</table>");
		rsArr.push("<p class='pageP' id='page' style='display:none'></p>");
		
		$("resultList").innerHTML=rsArr.join(" "); //结果列表
		$("hotelCount").innerHTML=dn;	//总数
		jQuery("#tableList").tablesorter( {headers: {4: { sorter: false } }} ); //重新加载排序
		pageCtrl(pn, dn ,30 ,"", "");	//翻页
		
		this.addPoi();	//打点
		HPOI=[];//清空点集合
		
		tipInfo.hide();
	},
    addPoi:function(){
    	var result =result_hotel;
    	if(typeof maplet == 'undefined'){initMap(result.mapinfo.center,parseInt(result.mapinfo.scale) );}
		else { maplet.centerAndZoom(new MPoint(result.mapinfo.center),parseInt(result.mapinfo.scale) );}
		clearPoi(0);
    	for(var i=0;i<result.item.length;i++){
    		var icon = getPicByStar(result.item[i].starlevel)+(i+1)+".gif";
    		//icon = icon.replace("circlepics","marker");
    		icon = icon.replace("mk","td");	
    		var obj = new MapPoi();
			obj.icon=imageslib+icon;
	        obj.id=result.item[i].pid;
	        obj.city=result.item[i].city;
	        obj.strlatlon=result.item[i].strlatlon;
	        obj.name=result.item[i].title;
	        obj.nameBookUrl = encodeURI(result.item[i].title);
	        obj.address=result.item[i].address;
	        obj.phone=result.item[i].phone;
			obj.nameid = result.item[i].name_id;
			
			if(result.item[i].pricelist.length > 0){
				for(var j=0; j<result.item[i].pricelist.length; j++){
					//console.log("result__"+ i +">>>>>>"+result.item[i].pricelist.length);
					if(result.item[i].pricelist[0].booklist.length > 0){					
							obj.price = result.item[i].pricelist[0].booklist[0].discountprice
							//console.log("result__"+ i +">>>>>>"+result.item[i].pricelist[0].booklist[0].discountprice);
					}else{
						obj.price = "暂无"
					}
				}
			}else{
					obj.price = "暂无"
			}
	        obj.eCityName = cityOption.getECity();
	        var photo = result.item[i].photo_str;
	        var srcArr=photo.split(",");
			var photoArr = [];
			for(var m=0;m<srcArr.length;m++){
				if( srcArr[m]!="" )photoArr.push({src:"'"+detail_picurl+getPicBySize(srcArr[m])+"'"}); 
			}
			
			obj.photo=photoArr;
	        obj.template="hotel/js/template/infowindow0.html?"+getRandom();
	        window.addPoi(obj, function(){ showItem(obj,i); },(i+1));
		}
    },
    openInfoWindow:function(i,type){
    	maplet.setZoomLevel(12);
		this.openBubble(PoiArr[i]);
    },
    openBubble:function(obj){
    	setMarkerInfo(obj);
		obj.marker.openInfoWindow();
    }
}

function setSearch(no){
	if(isJsp)JSearch.init();
	var options = JSearch.para;
	if(options.level.indexOf("2")!=-1)options.level=options.level.replace("2","0,1,2");
	options.pageno=no;
	JSearch.get( options );
}

function showItem(obj,i){
	//高亮显示
	MEvent.addListener(obj.marker , 'mouseover' , function(){ show_bg_1($("tr_list_"+i)); });
	MEvent.addListener(obj.marker , 'mouseout' , function(){ show_bg_2($("tr_list_"+i)); });
	MEvent.addListener(obj.marker , 'click' , function(){ scroll($("resultList"),$("tr_list_"+i)); });
}
//滚动到当前记录显示
function scroll(par,child){
	setAttr(child);
	par.scrollTop=child.offsetTop;
}
/****************** 放大地图 **********************/
function addCenterPoi(){
    if(typeof HPOI == 'undefined')return;
    if(typeof maplet == 'undefined'){initMap(HPOI.mapinfo.mapcenter,HPOI.mapinfo.zoom);}
    else { maplet.centerAndZoom(new MPoint(HPOI.mapinfo.mapcenter),HPOI.mapinfo.zoom); }
	
    for(var i=0;i<HPOI.item.length;i++){
        var pid = HPOI.item[i].pid;
        var name = HPOI.item[i].name;
        var nameBookUrl = HPOI.item[i].nameBookUrl;
        var phone = HPOI.item[i].phone;
        var address = HPOI.item[i].address;
        var icon = HPOI.item[i].icon;
        var photo = HPOI.item[i].photo_str;
        var strlatlon = HPOI.item[i].strlatlon;
        var city = HPOI.item[i].city;
        var price = HPOI.item[i].price;
        var nameid = HPOI.item[i].hotelId;
        //icon = icon.replace("circlepics","marker");
        var srcArr=photo.split(",");
        var photoArr = [];
        for(var m=0;m<srcArr.length;m++){
            if( srcArr[m]!="" )photoArr.push({src:"'"+detail_picurl+getPicBySize(srcArr[m])+"'"}); 
        }
        
        var obj=new MapPoi();
        obj.id=pid;
        obj.name=name;
        obj.nameBookUrl=nameBookUrl;
        obj.nameid=nameid;
        obj.icon=icon;
        obj.phone=phone;
        obj.address=address;
        obj.strlatlon=strlatlon;
        obj.city=city;
        obj.eCityName = cityOption.getECity();
        obj.photo=photoArr;
        obj.price=price;
        obj.template="/hotel/js/template/infowindow0.html?"+getRandom();
        
        window.addPoi(obj , function(){ setMarkerInfo(obj); obj.marker.openInfoWindow(); addNearPoi(strlatlon,pid,name,city) });
       // window.addPoi(obj , function(){addNearPoi(strlatlon,pid,name,city) });
    }
}
function addNearbyCenterPoi(pn){
	
	if(typeof pn == 'undefined') pn = 1;
	if(typeof HPOI == 'undefined')return;
	if(typeof maplet == 'undefined'){initMap(HPOI.mapinfo.mapcenter,HPOI.mapinfo.zoom);}
	else { maplet.centerAndZoom(new MPoint(HPOI.mapinfo.mapcenter),HPOI.mapinfo.zoom); }
	
	for(var i=0;i<HPOI.item.length;i++){
		
		var pid = HPOI.item[i].pid;
		var name = HPOI.item[i].name;
		var phone = HPOI.item[i].phone;
		var address = HPOI.item[i].address;
		var icon = HPOI.item[i].icon;
		var photo = HPOI.item[i].photo_str;
		var strlatlon = HPOI.item[i].strlatlon;
		var city = HPOI.item[i].city;
		//icon = icon.replace("circlepics","marker");
		//icon = icon.replace("mk","td");
				
		var srcArr=photo.split(",");
		var photoArr = [];
		for(var m=0;m<srcArr.length;m++){
			if( srcArr[m]!="" )photoArr.push({src:"'"+detail_picurl+getPicBySize(srcArr[m])+"'"}); 
		}
		
		var obj=new MapPoi();
		obj.id=pid;
		obj.name=name;
		obj.icon=icon;
		obj.phone=phone;
		obj.address=address;
		obj.strlatlon=strlatlon;
		obj.city=city;
		obj.photo=photoArr;
		obj.template="/hotel/js/template/infowindow0.html?"+getRandom();
		
		//window.addPoi(obj , function(){ setMarkerInfo(obj); obj.marker.openInfoWindow(); addNearPoi(strlatlon,pid,name,city,pn) });
		window.addPoi(obj , function(){addNearPoi(strlatlon,pid,name,city,pn) });
	}
}

//周边查询
function addNearPoi(strlatlon,pid,name,city,pn){
	
	if(typeof HPOI == 'undefined' && HPOI.poitype == '')return; //POItype为0,无, 1,餐饮; 2,娱乐; 3,购物; 4,景点
	var poitype = "";
	var icon = "";
	switch(parseInt(HPOI.poitype)){
		case 1:
			poitype="餐饮";
			icon="images/ico_dining.gif";
			break;
		case 2:
			poitype="娱乐";
			icon="images/ico_fun.gif";
			break;
		case 3:
			poitype="购物";
			icon="images/ico_shopping.gif";
			break;break;
		case 4:
			poitype="景点";
			icon="images/ico_attractions.gif";
			break;
	}
	var options = {strlatlon:strlatlon,pid:pid, name:name, city:city, poitype:poitype, src:icon};
	if(poitype!="" && icon!="" )nearbySearch.get(options.strlatlon,options.name,options.city,options.poitype,options.src,pn);
}

function enterKey(events){
	 var currentKey=events.charCode||events.keyCode;
	 if(currentKey == 13)document.getElementById('searchHotel').click();
}

//周边酒店查询
function showNearHotel(cityname){
	
	if(cityname != "北京市" && cityname != "上海市" && cityname != "天津市" && cityname != "重庆市"){
		new Transfer.Request("/getNearbyCity.jsp?cityname="+encodeURI(cityname),{oncomplate:getNearHotelList,id:"nearbycity_",bCache:true}); 
	}else{
		$("nearhotel").style.display = "none";
	}
}
//显示酒店列表
function getNearHotelList(){
	//alert(nearHotelList);
	$("nearHotelDiv").innerHTML=nearHotelList;
	$("nearhotel").style.display = "block";
}
