var defaultCheckInDate;
var defaultCheckOutDate;

$j(function(){ 
	//设置默认的入住和离店日期
	defaultCheckInDate = new Date();
	defaultCheckOutDate= new Date();
	defaultCheckInDate.setDate(defaultCheckInDate.getDate() + 1);
	defaultCheckOutDate.setDate(defaultCheckInDate.getDate() + 2);

	if( $j("#CheckInDate").length>0 )
	{ 
		if($j.cookie("_in_date")!=null)
		{
			$j("#CheckInDate")[0].value=$j.cookie("_in_date");
		}
		else
		{
			$j("#CheckInDate")[0].value=defaultCheckInDate.Format("yyyy-M-d");
		}
	}
	if( $j("#CheckOutDate").length>0 )
	{
		if($j.cookie("_out_date")!=null)
		{
			$j("#CheckOutDate")[0].value=$j.cookie("_out_date");
		}
		else
		{
			$j("#CheckOutDate")[0].value=defaultCheckOutDate.Format("yyyy-M-d");
		}
	}
	if( $j("#new_CheckInDate").length>0 )
	{ 
		if($j.cookie("new_CheckInDate")!=null)
		{
			$j("#new_CheckInDate")[0].value=$j.cookie("_in_date");
		}
		else
		{
			$j("#new_CheckInDate")[0].value=defaultCheckInDate.Format("yyyy-M-d");
		}
	}
	if( $j("#new_CheckOutDate").length>0 )
	{
		if($j.cookie("_out_date")!=null)
		{
			$j("#new_CheckOutDate")[0].value=$j.cookie("_out_date");
		}
		else
		{
			$j("#new_CheckOutDate")[0].value=defaultCheckOutDate.Format("yyyy-M-d");
		}
	}


	if( $j("#pos").length>0 )
	{
		$j("#pos").hide();//默认隐藏酒店选择行政区
	}
	//读取cookies酒店搜索信息
	if( $j("#h_name").length>0 )
	{
		if($j.cookie("_h_nane")!=null)
		{
			$j("#h_name")[0].value=$j.cookie("_h_nane");
		}
	}
	/*
	if( $j("#p1").length>0 && $j.cookie("_p1")!=null)
	{
		$j("#p1")[0].value=$j.cookie("_p1");
	}
	if( $j("#p2").length>0 && $j.cookie("_p2")!=null)
	{
		$j("#p2")[0].value=$j.cookie("_p2");
	}
	*/
	//酒店星级
	if( $j("#star").length>0 && $j.cookie("_h_star")!=null)
	{
		$j("#star")[0].selectedIndex = $j.cookie("_h_star");  
	}
});

//点击切换显示商业区或行政区
function areatype_click()
{
	if($j("#areatype_pos").attr("checked")==true)
	{
		$j("#pos").show();
		$j("#biz").hide();
	}
	else
	{
		$j("#pos").hide();
		$j("#biz").show();
	}
}
//点击选择全部星级
function cb_star_all_click()
{
	var sel = $j("#cb_star_all").attr("checked");
	
	$j("input[id*=cb_star_]").each(function(i){
		this.checked=sel;
	});  
	
}
//点击选择类型酒店
function cb_attr_all_click()
{
	var sel = $j("#cb_attr_all").attr("checked");
	
	$j("input[id*=cb_attr_]").each(function(i){
		this.checked=sel;
	});  
	
}
function hotel_search_submit()
{
	var in_date_str = $j("#CheckInDate").attr("value").trim();
	var out_date_str = $j("#CheckOutDate").attr("value").trim();
	var in_date=new Date();
	var out_date=new Date();
	
	//入住日期和离店日期输入检测
	if(!isAdDate(in_date_str))
	{
		alert("入住日期格式输入错误！");
		return false;
	}
	if(!isAdDate(out_date_str))
	{
		alert("离店日期格式输入错误！");
		return false;
	}
	
	in_date = stringToDate(in_date_str,true);
	out_date = stringToDate(out_date_str,true);
	var days = DateDiff(out_date_str,in_date_str);
	var max_days = 28;
	if(days<0)
	{
		alert("离店日期不能早于入住日期！");
		return false;
	}
	if(days>max_days)
	{
		alert("如果您要预订入住时间超过"+max_days+"天，请直接联系我们客服！");
		return false;
	}
	$j.cookie('_in_date', in_date_str);
	$j.cookie('_out_date', out_date_str);
	//////////////////////////价格范围检测
	if( $j("#p1").length>0 && $j("#p2").length>0)
	{
		var p1 = $j("#p1")[0].value.trim();
		var p2 = $j("#p2")[0].value.trim();
		if(p1!="")
		{
			if(isNaN(p1) || p1<0)
			{
				alert("价格范围格式输入错误！[必须为正整数]");
				return false;
			}
		}
		if(p2!="")
		{
			if(isNaN(p2) || p2<0)
			{
				alert("价格范围格式输入错误！[必须为正整数]");
				return false;
			}
		}
		if(p1 * 1> p2 * 1)
		{
			alert("价格范围输入错误！");
			return false;
		}
		$j.cookie('_p1', p1);//搜索酒店价格范围
		$j.cookie('_p2', p2);//搜索酒店价格范围
		
	
	}
	/////////////////////////酒店搜索名检测
	if( $j("#h_name").length>0 )
	{
		var h_name = $j("#h_name")[0].value.trim();
		var bad_str="`~!@#$%^&*'\"?{}|/\\";
		if(contain(h_name,bad_str))
		{
			alert("酒店名称搜索关键词中不能含有非法字符["+bad_str+"]");
			return false;
		}
		jQuery.cookie('_h_nane', (h_name));//搜索酒店名
	}
	
	jQuery.cookie('_h_star',$j('#star')[0].selectedIndex);//记录酒店星级
	
	return true;
}

//  字符串包含测试函数(用于检测非法字符)
function  contain(str,charset)
{ 
	var  i;
	for(i=0;i<charset.length;i++)
	{
		if(str.indexOf(charset.charAt(i))>=0)
			return  true;
	}
	return  false;
}
function DateDiff(sDate1, sDate2)
{  
    return (stringToDate(sDate2,true)-stringToDate(sDate1,true))/ 1000 / 60 / 60 /24;
} 
function formatDateStr(thisDay)//thisDay是new Date() 返回格式:2007-3-15
{
	return (thisDay.getYear()<1900?(thisDay.getYear()+1900):thisDay.getYear())+"-"+(thisDay.getMonth()+1)+"-"+thisDay.getDate();
}
// 对Date的扩展，将 Date 转化为指定格式的String
// 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符，
// 年(y)可以用 1-4 个占位符，毫秒(S)只能用 1 个占位符(是 1-3 位的数字)
// 例子：
// (new Date()).Format("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423
// (new Date()).Format("yyyy-M-d h:m:s.S")      ==> 2006-7-2 8:9:4.18
Date.prototype.Format = function(fmt)
{ //author: meizz
  var o = {
    "M+" : this.getMonth()+1,                 //月份
    "d+" : this.getDate(),                    //日
    "h+" : this.getHours(),                   //小时
    "m+" : this.getMinutes(),                 //分
    "s+" : this.getSeconds(),                 //秒
    "q+" : Math.floor((this.getMonth()+3)/3), //季度
    "S"  : this.getMilliseconds()             //毫秒
  };
  if(/(y+)/.test(fmt))
    fmt=fmt.replace(RegExp.$1, (this.getFullYear()+"").substr(4 - RegExp.$1.length));
  for(var k in o)
    if(new RegExp("("+ k +")").test(fmt))
  fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
  return fmt;
} 


//<h4>判断是否为正确日期格式</h4>
function isAdDate(sDate)
{ var iaMonthDays = [31,28,31,30,31,30,31,31,30,31,30,31]
var iaDate = new Array(3)
var year, month, day

if (arguments.length != 1) return false
iaDate = sDate.toString().split("-")
if (iaDate.length != 3) return false
if (iaDate[1].length > 2 || iaDate[2].length > 2) return false

year = parseFloat(iaDate[0])
month = parseFloat(iaDate[1])
day=parseFloat(iaDate[2])

if (year < 1900 || year > 2100) return false
if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) iaMonthDays[1]=29;
if (month < 1 || month > 12) return false
if (day < 1 || day > iaMonthDays[month - 1]) return false
return true
} 
 //字符串转为日期
 function stringToDate(sDate, bIgnore)
{	var bValidDate, year, month, day;
	var iaDate = new Array(3);
	
	if (bIgnore) bValidDate = true;
	else bValidDate = isAdDate(sDate);
	
	if (bValidDate)
	{  iaDate = sDate.toString().split("-");
		year = parseFloat(iaDate[0]);
		month = parseFloat(iaDate[1]) - 1;
		day=parseFloat(iaDate[2]);
		return (new Date(year,month,day));
	}
	else return (new Date(1900,1,1));
}
//
function DateDiff(sDate2, sDate1)
{  
    return (stringToDate(sDate2,true)-stringToDate(sDate1,true))/ 1000 / 60 / 60 /24;
} 