		var isRectangleSearch=false;// 框选搜索状态
		var mouseIsDown=false;// 鼠标是否按下
		var recIsHide=false;// rec 矩形框选区域是否隐藏
		
		
	
		function recSearch()//框选搜索
		{
			$("#showHotelsMap").unbind();
			if (isRectangleSearch == false)
			{
				isRectangleSearch = true;
				//alert(GlobalCodeMap.length);
				if (GlobalCodeMap != null) 
				{
					for (var i = 0; i < GlobalCodeMap.length; ++i)
					{
						GlobalMarkerMap[GlobalCodeMap[i]].closeInfoWindow();
					}
				}
				coverMap();
			}
			
		}
		
		function relaseRecSearchState()//释放 框选搜索状态
		{
			$("#showHotelsMap").bind("click",clickFun);
			isRectangleSearch=false;
			mouseIsDown=false;
			unCoverMap();
			rec.css("top", 15);
			rec.css("left", 15);
			rec.css("width", 5);
			rec.css("height", 5);
			rec.css("background","#ffffff");
		}
	
		function coverMap()//利用一个层覆盖map区域
    	{
			var mapDivY = mapDiv.offset().top;
    		var mapDivX = mapDiv.offset().left;
    		var mapDivW = mapDiv.width();
    		var mapDivH = mapDiv.height();
			cover.css("top",mapDivY);
    		cover.css("left",mapDivX);
    		cover.css("width",mapDivW);
    		cover.css("height",mapDivH);
      		cover.show();
			
    	}
    
   	 	function unCoverMap()//揭开覆盖map区域的层
    	{
      		cover.hide();
    	}
		
		
		function showRec()//显示框选div
		{
			recIsHide=false;
			rec.show();
		}
		
		function hideRec()//隐藏框选div
		{
			recIsHide=true;
			rec.hide();
		}
		
		cover.mousedown(function(o)
		{
			if (isRectangleSearch) 
			{
				mouseIsDown = true;
				
				var sTop = $(window).scrollTop();
				var sLeft = $(window).scrollLeft();
				
				rec.css("top", o.clientY + sTop);
				rec.css("left", o.clientX + sLeft);
				rec.css("background","red");
			}
		});
		
		
		
		cover.mousemove(function(o)
		{
			if (mouseIsDown && isRectangleSearch) 
			{
				
				var x = rec.offset().left;
				var y = rec.offset().top;
				
				var sTop = $(window).scrollTop();
				var sLeft = $(window).scrollLeft();
				
				rec.css("width", Math.abs(o.clientX - x + sLeft));
				rec.css("height", Math.abs(o.clientY - y + sTop));
				
				if(recIsHide){
					showRec();
				}
				
			}
			
		});
		
		
		cover.mouseup(function(o)
		{
			try 
			{
				if (mouseIsDown && isRectangleSearch) 
				{
					var mapDivY = mapDiv.offset().top;
					var mapDivX = mapDiv.offset().left;
					
					var sTop = $(window).scrollTop();
					var sLeft = $(window).scrollLeft();
					
					var p = new GPoint(o.clientX - mapDivX + sLeft, o.clientY - mapDivY + sTop);
					var ll = theMap.fromContainerPixelToLatLng(p);
					//var mk = new GMarker(ll);
					
					var  bgLeft=rec.offset().left- mapDivX;
					var  bgTop=rec.offset().top- mapDivY;
					
					
					var p2=new GPoint(bgLeft,bgTop);
					var l2=theMap.fromContainerPixelToLatLng(p2);
					
					callBack(l2,ll);
					
					//theMap.addOverlay(new GMarker(l2));
				}
				
			}catch(ex){
				alert(ex);
			}
			relaseRecSearchState();
			//hideRec();
			
			//$("#d001").hide();
		});
		
		
		function callBack(p1,p2)//框选搜索触发函数，传入两个经纬度点
		{
			if(rec.width()<30&&rec.height()<30){
				return;
			}
			
			var name=$("#name").val();
			
			var cin=$("#checkIn").val();
			var cout=$("#checkOut").val();
			var thisTime=(new Date()).getTime();
			//alert(thisTime);
			if(cin==null||cin.length==0){
				cin=formatDate(new Date(thisTime+1*24*3600*1000));
			}
			if(cout==null||cout.length==0){
				cout=formatDate(new Date(thisTime+2*24*3600*1000));
			}
			var reg=document.getElementById("regionCode001");
			var star=document.getElementById("star001");//$("#star001");
			var stv=star.options[star.selectedIndex].value;
			var regv=reg.options[reg.selectedIndex].value;
			//alert(name+":"+cin+":"+cout+":"+regv+":"+stv);
			
			//document.location="searchHotels.do?"+
			//"regionCode="+regv+"&checkIn="+cin+"&checkOut="+cout+"&star="+stv+"&price=-100"+
			//"&name="+name+"&lat1="+p1.lat()+"&lng1="+p1.lng()+"&lat2="+p2.lat()+"&lng2="+p2.lng();
			document.location="/search/r"+regv+","+cin+","+cout+","+stv+",-100,"+p1.lat()+","+p2.lat()+","+p1.lng()+","+p2.lng();
		}
		
		
		function formatDate(date)
    	{
      		var y=date.getYear()+1900;
			var m=date.getMonth()+1;
			var d=date.getDate();
			if(m<10){
				m="-0"+m;
			}else{
				m="-"+m;
			}
			if(d<10){
				d="-0"+d;
			}else{
				d="-"+d;
			}
			return y+m+d;
    	}
