/**
 作者：小麦
 用途：全局JS
 创建日期：2011-9-7
 修改历史：
**/
/*======================================  */
$(document).ready(function() {
	addHistoryCookie();
	//判断JQ请求的函数
	window.checkAjax = 0;
	$(".user_top").mouseover(showUserList);
});

function addHistoryCookie()
//浏览历史记录
 {

	//定义酒店ID和TITLE列表
	var historyListId;
	var historyListTitle;
	var historyListUrl;
	//最新访问的商品编号id
	//var nid=$("#hNid").val();
	//var nTitle=$("#hTitle").val();
	var oneHistory = $("input[name='oneHistory']");
	var nid = oneHistory.attr("hid");
	var nTitle = oneHistory.attr("htitle");
	var nUrl = oneHistory.attr("hurl");
	//var subNameObj = {subName1: nid, subName2: nTitle};
	//设置cookie保存的浏览记录的条数
	var n = 11;
	var count = 0;
	// 判断是否存在nid、nTitle
	if (nid == null || nTitle == null)
	//cookie不存在
	 {
		return false
	}

	// 判断是否存在cookie
	if ($.cookie('listHistoryId') == null)
	//cookie不存在
	 {
		//创建新的cookie,保存浏览记录
		$.cookie('listHistoryId', nid, {
			expires: 1,
			path: '/'
		});
		$.cookie('listHistoryTitle', nTitle, {
			expires: 1,
			path: '/'
		});
		$.cookie('listHistoryUrl', nUrl, {
			expires: 1,
			path: '/'
		});
		showHistoryCookie();
		//显示对比列表
	}
	 else
	//cookies已经存在
	 {
		//获取浏览过的商品编号id
		historyListId = $.cookie('listHistoryId');
		historyListTitle = $.cookie('listHistoryTitle');
		historyListUrl = $.cookie('listHistoryUrl');

		historyListId = nid + "@@@" + historyListId;
		historyListTitle = nTitle + "@@@" + historyListTitle;
		historyListUrl = nUrl + "@@@" + historyListUrl;
		//分解字符串为数组
		var historyArrayId = historyListId.split('@@@');
		var historyArraytTitle = historyListTitle.split('@@@');
		var historyArraytUrl = historyListUrl.split('@@@');

		historyListId = nid;
		historyListTitle = nTitle;
		historyListUrl = nUrl;
		// 判断是该商品编号是否存在于最近访问的记录里面
		for (var i = 1; i < historyArrayId.length; i++)
		 {
			if (historyArrayId[i] == nid) {
				//alert("当前加入酒店已存在列表中。");
				//break;
				} else if (n == (i)) {
				//alert("最多加入10个酒店。");
				break;
			}
			 else {
				historyListId = historyListId + "@@@" + historyArrayId[i];
				historyListTitle = historyListTitle + "@@@" + historyArraytTitle[i];
				historyListUrl = historyListUrl + "@@@" + historyArraytUrl[i];
			}
		}

		//修改cookie的值
		$.cookie('listHistoryId', historyListId, {
			expires: 1,
			path: '/'
		});
		$.cookie('listHistoryTitle', historyListTitle, {
			expires: 1,
			path: '/'
		});
		$.cookie('listHistoryUrl', historyListUrl, {
			expires: 1,
			path: '/'
		});
		showHistoryCookie();
		//显示对比列表

	}
}

function showHistoryCookie()
//显示COOKIE数据
 {
	var check_result = $('.liulanjilu').find("ul");
	var historyListId;
	var historyListTitle;
	var historyListUrl;
	var resultHtml;
	var i = 0
	 resultHtml = "";
	if ($.cookie('listHistoryId') != null)
	//cookie不存在
	 {
		historyListId = $.cookie('listHistoryId');
		historyListTitle = $.cookie('listHistoryTitle');
		historyListUrl = $.cookie('listHistoryUrl');
		//分解字符串为数组
		var historyArrayId = historyListId.split('@@@');
		var historyArraytTitle = historyListTitle.split('@@@');
		var historyArraytUrl = historyListUrl.split('@@@');

		for (var i = 0; i < historyArrayId.length; i++)
		 {
			if (historyArraytTitle[i] == "") {}
			 else {
				resultHtml += "<li><a href='" + historyArraytUrl[i] + "' >" + historyArraytTitle[i] + "</a></li>";
			}

		}
	}
	check_result.html($.trim(resultHtml));
}

function defaultDate()
//输入默认时间
 {
	//获取到达时间和离开时间
	var from_date = $("#from_date").val();
	var to_date = $("#to_date").val();
	var getDateArray = getDateTime(from_date, to_date);
	//判断日期格式是否正确，为空时获取默认日期。
	if (getDateArray[0] == "1") {
		return false;
	}
	$("#from_date").val(getDateArray[0]);
	$("#to_date").val(getDateArray[1]);
}

function getDateTime(from_date, to_date)
//获取默认时间
 {
	//获取到达时间
	if ($.trim(from_date) != '') {
		if (!checkDateTime(from_date)) {
			alert("请填写正确的入住时间格式");
			$("#from_date").focus();
			return new Array("1");
		}
		//from_date=$.trim($("#from_date").val());

	} else {
		from_date = new Date().getFullYear() + "-" + (getTwoNum(new Date().getMonth() + 1)) + "-" + getTwoNum(new Date().getDate());
	}

	//获取离开时间
	var to_date_now;
	if ($.trim(to_date) != '') {
		if (!checkDateTime(to_date)) {
			alert("请填写正确的离开时间格式");
			$("#to_date").focus();
			return new Array("1");
		}
	} else {
		if (from_date != undefined) {
			//格式化from_date
			var date_arr = new Array();
			date_arr = from_date.split("-");
			to_date = date_arr[0] + "/" + date_arr[1] + "/" + date_arr[2];
		}
		to_date_now = new Date(Date.parse(to_date) + (86400000 * (1)));
		//赋值给to_date等于from_date+1天
		to_date = to_date_now.getFullYear() + "-" + (getTwoNum(to_date_now.getMonth() + 1)) + "-" + getTwoNum(to_date_now.getDate());
	}

	return new Array(from_date, to_date);
}

function getTwoNum(str)
//检查判断日期输出数据是否为两位，不足则补0
 {
	var num = str + "";
	num = num.length < 2 ? '0' + num: num;
	return num;
}

function checkDateTime(str)
//判断时间格式是否正确函数
 {
	var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);
	if (r == null){
		return false;
	}
	var d = new Date(r[1], r[3] - 1, r[4]);
	return (d.getFullYear() == r[1] && (d.getMonth() + 1) == r[3] && d.getDate() == r[4]);
}

function checkUser(str)
//判断用户名是否正确函数
 {
	//获取错误提示框元素
	var tips = str.closest("form").find("span[inputcheck='" + str.attr("name") + "']");
	//清空错误提示框元素数据
	tips.removeClass();
	tips.empty();
	
	if ($.trim(str.val()) == "") {
		str.focus();
		checkTips(tips, "请输入手机/邮箱。");//判断弹框显示还是文字显示错误提示
		return false;
	}

	var patrn = /^[0-9]{1,20}$/;
	if (!patrn.exec(str.val())) {
		var reg = new RegExp("^[0-9a-zA-Z-._]+@[0-9a-zA-Z]+[\.]{1}[0-9a-zA-Z]+[\.]?[0-9a-zA-Z]+$");
		if (!reg.exec(str.val())) {
			str.focus();
			checkTips(tips, "请输入文本必须是电话号码或者邮箱。");//判断弹框显示还是文字显示错误提示
			return false
		}
	} else if (str.val().length <= 10) {
		str.focus();
		checkTips(tips, "手机号输入至少11位数。");//判断弹框显示还是文字显示错误提示
		return false
	}
	tips.addClass("message_ok");//函数检测后没有错误，提示正确。
	return str;
}

function checkUserName(str)
//判断客人姓名是否为空
 {
	//获取错误提示框元素
	var tips = str.closest("form").find("span[inputcheck='" + str.attr("name") + "']");
	//清空错误提示框元素数据
	tips.removeClass();
	tips.empty();
	if ($.trim(str.val()) == "") {
		str.focus();
		checkTips(tips, "请输入姓名。");//判断弹框显示还是文字显示错误提示
		return false;
	}
	tips.addClass("message_ok");//函数检测后没有错误，提示正确。
	return str;
}

function checkCont(str)
//判断内容是否为空
 {
	//获取错误提示框元素
	var tips = str.closest("form").find("span[inputcheck='" + str.attr("name") + "']");
	//清空错误提示框元素数据
	tips.removeClass();
	tips.empty();
	if ($.trim(str.val()) == "") {
		str.focus();
		checkTips(tips, "请输入内容。");//判断弹框显示还是文字显示错误提示
		return false;
	}
	tips.addClass("message_ok");//函数检测后没有错误，提示正确。
	return str;
}

function checkMoblie(str)
//判断手机号码
 {
	//获取错误提示框元素
	var tips = str.closest("form").find("span[inputcheck='" + str.attr("name") + "']");
	//清空错误提示框元素数据
	tips.removeClass();
	tips.empty();
	 
	if ($.trim(str.val()) == "") {
		str.focus();
		checkTips(tips, "请输入手机号码。");//判断弹框显示还是文字显示错误提示
		return false;
	}
	var patrn = /^[0-9]{1,20}$/;
	if (!patrn.exec(str.val())) {
		str.focus();
		checkTips(tips, "请输入正确的手机号码。");//判断弹框显示还是文字显示错误提示
		return false;
	} else if (str.val().length <= 10) {
		str.focus();
		checkTips(tips, "手机号输入至少11位数。");//判断弹框显示还是文字显示错误提示
		return false;
	}
	return str;
}

function checkEmail(str)
//判断邮箱格式
 {
	//获取错误提示框元素
	var tips = str.closest("form").find("span[inputcheck='" + str.attr("name") + "']");
	//清空错误提示框元素数据
	tips.removeClass();
	tips.empty();
	
	if ($.trim(str.val()) == "") {
		str.focus();
		checkTips(tips, "请输入电子邮箱。");//判断弹框显示还是文字显示错误提示
		return false;
	}
	var reg = new RegExp("^[0-9a-zA-Z-._]+@[0-9a-zA-Z]+[\.]{1}[0-9a-zA-Z]+[\.]?[0-9a-zA-Z]+$");
	if (!reg.exec(str.val())) {
		str.focus();
		checkTips(tips, "请输入正确的邮箱格式。");//判断弹框显示还是文字显示错误提示
		return false
	}
	return str;
}

function checkPwd(str)
//判断密码是否正确函数
{
	 //获取错误提示框元素
	var tips = str.closest("form").find("span[inputcheck='" + str.attr("name") + "']");
	//清空错误提示框元素数据
	tips.removeClass();
	tips.empty();
	
	if ($.trim(str.val()) == "") {
		str.focus();
		checkTips(tips, "请输入密码。");//判断弹框显示还是文字显示错误提示
		return false;
	}
	if ($.trim(str.val()).length < 6 || $.trim(str.val()).length > 12) {
		str.focus();
		checkTips(tips, "请输入密码长度不能小于6个字符和大于12个字符。");//判断弹框显示还是文字显示错误提示
		return false;
	}
	tips.addClass("message_ok");//函数检测后没有错误，提示正确。
	return str;
}

function checkPwdAdv(str, msg)
//判断密码是否正确函数
 {
	//获取错误提示框元素
	var tips = str.closest("form").find("span[inputcheck='" + str.attr("name") + "']");
	//清空错误提示框元素数据
	tips.removeClass();
	tips.empty();
	
	if ($.trim(str.val()) == "") {
		str.focus();
		checkTips(tips, "请输入" + msg + "。");//判断弹框显示还是文字显示错误提示
		return false;
	}
	if ($.trim(str.val()).length < 6 || $.trim(str.val()).length > 12) {
		str.focus();
		checkTips(tips, "请输入" + msg + "长度不能小于6个字符和大于12个字符。");//判断弹框显示还是文字显示错误提示
		return false;
	}
	tips.addClass("message_ok");//函数检测后没有错误，提示正确。
	return str;
}

function checkPwdAgain(str, strAgain)
//判断2次输入密码是否正确函数
 {
	//获取错误提示框元素
	var tips = strAgain.closest("form").find("span[inputcheck='" + strAgain.attr("name") + "']");
	//清空错误提示框元素数据
	tips.removeClass();
	tips.empty();
	
	if ($.trim(strAgain.val()) == "") {
		strAgain.focus();
		checkTips(tips, "请输入确认密码。");//判断弹框显示还是文字显示错误提示
		return false;
	}
	if ($.trim(strAgain.val()).length < 6 || $.trim(strAgain.val()).length > 12) {
		strAgain.focus();
		checkTips(tips, "请输入密码长度不能小于6个字符和大于12个字符。");//判断弹框显示还是文字显示错误提示
		return false;
	}
	if ($.trim(str.val()) != $.trim(strAgain.val())) {
		strAgain.focus();
		checkTips(tips, "输入的确认密码与第一次输入的密码不同。");//判断弹框显示还是文字显示错误提示
		return false;
	}
	tips.addClass("message_ok");//函数检测后没有错误，提示正确。
	return str;
}

function checkCode(str)//判断验证码是否正确函数
 {
	 //获取错误提示框元素
	var tips = str.closest("form").find("span[inputcheck='" + str.attr("name") + "']");
	//清空错误提示框元素数据
	tips.removeClass();
	tips.empty();
	
	if ($.trim(str.val()) == "") {
		str.focus();
		checkTips(tips, "请填入验证码。");//判断弹框显示还是文字显示错误提示
		return false;
	}
	var patrn = /^[0-9]{1,20}$/;
	if (!patrn.exec(str.val())) {
		str.focus();
		checkTips(tips, "输入验证码必须是数字。");//判断弹框显示还是文字显示错误提示
		return false;
	} else if (str.val().length != 4) {
		str.focus();
		checkTips(tips, "输入验证码必须是4位数字。");//判断弹框显示还是文字显示错误提示
		return false;
	}
	tips.addClass("message_ok");//函数检测后没有错误，提示正确。
	return str;
}

function showUserList()
//顶部用户下拉菜单
 {
	$(this).addClass("now");
	$(".user_top").mouseout(function() {
		$(this).removeClass("now");
	});

}

function changevcode() {
	//改变验证码
	$("#code").attr('src', $("#code").attr('src') + '?');
}

function allCheck(c) {
	//全选多选框
	$(c).find("input[type='checkbox']").attr("checked", 'true');
}

function changeCheck(c) {
	//反选多选框
	$(c).find("input[type='checkbox']").each(function(i) {
		if (this.checked) {
			$(this).attr("checked", '');
		} else {
			$(this).attr("checked", 'true');
		}
	});
}

function btnJump(url) {
	//页面跳转
	window.location.href = url;
}


function checkTips(tips, str) {//判断弹框显示还是文字显示错误提示函数
	if (tips.length > 0) {
		tips.html(str);
		tips.addClass("message_error")
	} else {
		alert(str);
	}
}


