var show_tip_html="";
show_tip_html += "<div class=\"tip_box\" id=\"tip_box\" style=\"display:none;\">";
show_tip_html += "<div class=\"description\">可以按↑↓键来进行选择</div>";
show_tip_html += "<div id=\"tip_item_panal\">";
show_tip_html += "</div></div>";

var show_tip_item_selected_html = "<div class=\"item_selected\" id=\"tip_item_{id}\" onclick=\"click_tip_item({index});\"  onmousemove=\"select_tip_item({sindex});\">{value}</div>";
var show_tip_item_default_html = "<div class=\"item_default\" id=\"tip_item_{id}\" onclick=\"click_tip_item({index});\" onmousemove=\"select_tip_item({sindex});\">{value}</div>";


document.write(show_tip_html);
var is_tip_showed = false;
var _responseTextArray = new Array();
var _responseValueArray = new Array();
var _selectResponseIndex = 0;
var _tip_contralId = "";
var _tip_valueId = "";
var _documentClickCloseNumber = 0;//控制点击document时自动关闭提示，如果是点击输入框的话，则设为2，否则--，这样可以防止点击输入框后，提示显示马上又关闭的错误

function close_tip_box()
{
	document.getElementById("tip_box").style.display="none";
	is_tip_showed = false;
}
function open_tip_box(controlId, valueId)
{
	clear_allbox();
	_documentClickCloseNumber = 1;
	_tip_contralId = controlId;
	_tip_valueId = valueId;
	var obj = document.getElementById(controlId);
	var top=get_tip_y(obj);
	var left=get_tip_x(obj);
	
	var dochw=GetDocumentHW();
	if(left+300 > dochw.width)
	{
		left=dochw.width-300;
	}
	
	document.getElementById("tip_box").style.top=(top + 25)+"px";
	document.getElementById("tip_box").style.left=(left)+"px";
	document.getElementById("tip_box").style.display="";
	
	if(document.getElementById(_tip_contralId).value == "")
	{
		document.getElementById(_tip_valueId).value = "";
	}
	
	request_area(obj.value == "点击选择目的地" ? "" : obj.value);
	is_tip_showed = true;
}

//向服务器请求数据
function request_area(keyword)
{
	Ajax("/api/GetAreaText.ashx", {key:keyword}, function(responseText){request_area_callback(responseText);}, function(){});
	//request_area_callback("dsfsdfsdfsdfsdf|dfsdfsfdsdf");
}
function request_area_callback(responseText)
{
	var _responseArray = responseText.split("|");
	_responseTextArray = new Array();
	_responseValueArray = new Array();
	var html = "";
	var length = _responseArray.length;
	for(var i=0;i<length;i++)
	{
		var tempArr = _responseArray[i].split("-");
		_responseTextArray.push(tempArr[0]);
		_responseValueArray.push(tempArr[1]);
		html += show_tip_item_default_html.replace("{value}", tempArr[0]).replace("{id}", i).replace("{index}", i).replace("{sindex}", i);
	}
	document.getElementById("tip_item_panal").innerHTML = html;
	select_tip_item(0);
}
//选择指定的项
function select_tip_item(index)
{
	var length = _responseTextArray.length;
	if(index < length){ _selectResponseIndex = index; }
	if(_selectResponseIndex < 0){ _selectResponseIndex = 0; }
	for(var i=0;i<length;i++)
	{
		document.getElementById("tip_item_" + i).className = "item_default";
		if(i == _selectResponseIndex)
		{
			document.getElementById("tip_item_" + i).className = "item_selected";
		}
	}
}
//监听输入框的按键事件
function tip_keyup_handler(e, controlId, valueId)
{
	var key = GetKeyCode(e);
	if(key == 38)//↑
	{
		if(!is_tip_showed){ open_tip_box(controlId, valueId); }
		select_tip_item(_selectResponseIndex - 1);
	}
	else if(key == 40)//↓
	{
		if(!is_tip_showed){ open_tip_box(controlId, valueId); }
		select_tip_item(_selectResponseIndex + 1);
	}
	else if(key == 13)//回车
	{
		document.getElementById(controlId).value = _responseTextArray[_selectResponseIndex];
		document.getElementById(valueId).value = _responseValueArray[_selectResponseIndex];
		close_tip_box();
		return false;
	}
	else
	{
		open_tip_box(controlId, valueId); 
	}
	return true;
}
//单击项时
function click_tip_item(index)
{
	document.getElementById(_tip_contralId).value = _responseTextArray[index];
	document.getElementById(_tip_valueId).value = _responseValueArray[index];
	close_tip_box();
}


//监听输入框的按键事件
function tip_keydown_handler(e, controlId)
{
	var key = GetKeyCode(e);
	if(key == 13)//回车
	{
		return false;
	}
	return true;
}
document.onclick= function()
{
	if(_documentClickCloseNumber==0)
	{
		close_tip_box();
		close_checkin_box();
	}
	else
	{
		_documentClickCloseNumber--;
	}
}



////////////////////////////////////////
//入住时间
var checkin_box = "<div class=\"start_date_box\" id=\"checkin_box\" style=\"display:none; z-index:10000;\"></div>";
document.write(checkin_box);
var _checkin_contralId = "";
var _checkout_contralId = "";
var chick_event = undefined;

function close_checkin_box()
{
	document.getElementById("checkin_box").style.display="none";
	is_tip_showed = false;
}
function open_checkin_box(controlId, controlValueId, outControlId, outControlValueId, fun)
{
	chick_event = fun;
	clear_allbox();
	_checkin_contralId = controlId;
	_checkout_contralId = outControlId;
	_documentClickCloseNumber=1;
	var obj = document.getElementById(controlId);
	var top=get_tip_y(obj);
	var left=get_tip_x(obj);
	
	var dochw=GetDocumentHW();
	if(left+140 > dochw.width)
	{
		left=dochw.width-140;
	}
	
	document.getElementById("checkin_box").style.top=(top + 25)+"px";
	document.getElementById("checkin_box").style.left=(left)+"px";
	document.getElementById("checkin_box").style.display="";
	request_start_date();
}

function open_checkin_box_order(controlId, outControlId, fun)
{
	chick_event = fun;
	clear_allbox();
	_checkin_contralId = controlId;
	_checkout_contralId = outControlId;
	_documentClickCloseNumber=1;
	var obj = document.getElementById(controlId);
	var top=get_tip_y(obj);
	var left=get_tip_x(obj);
	
	var dochw=GetDocumentHW();
	if(left+140 > dochw.width)
	{
		left=dochw.width-140;
	}
	
	document.getElementById("checkin_box").style.top=(top + 25)+"px";
	document.getElementById("checkin_box").style.left=(left)+"px";
	document.getElementById("checkin_box").style.display="";
	request_start_date();
}
//向服务器请求数据
function request_start_date()
{
	Ajax("/api/DateApi.aspx", {}, function(responseText){request_start_date_callback(responseText);}, function(){});
}
function request_start_date_callback(responseText)
{
	document.getElementById("checkin_box").innerHTML = responseText;
}
//单击项时
function click_checkin_item(value)
{
	document.getElementById(_checkin_contralId).value = value;
	//document.getElementById(_checkin_valueId).value = value;
	close_checkin_box();
	open_checkout_box(value);
	
}



////////////////////////////////////////
//退房时间
var checkin_box = "<div class=\"end_date_box\" id=\"checkout_box\" style=\"display:none; z-index:10000;\"></div>";
document.write(checkin_box);


function close_checkout_box()
{
	document.getElementById("checkout_box").style.display="none";
}
function open_checkout_box(checkinDate)
{
	clear_allbox();
	_documentClickCloseNumber=1;
	var obj = document.getElementById(_checkout_contralId);
	var top=get_tip_y(obj);
	var left=get_tip_x(obj);
	
	var dochw=GetDocumentHW();
	if(left+140 > dochw.width)
	{
		left=dochw.width-140;
	}
	
	document.getElementById("checkout_box").style.top=(top + 25)+"px";
	document.getElementById("checkout_box").style.left=(left)+"px";
	document.getElementById("checkout_box").style.display="";
	request_end_date(checkinDate);
}
//向服务器请求数据
function request_end_date(checkinDate)
{
	Ajax("/api/CheckOutDataApi.aspx", {checkinDate:checkinDate}, function(responseText){request_end_date_callback(responseText);}, function(){});
}
function request_end_date_callback(responseText)
{
	document.getElementById("checkout_box").innerHTML = responseText;
}
//单击项时
function click_checkout_item(value)
{
	document.getElementById(_checkout_contralId).value = value;
	//document.getElementById(_checkout_valueId).value = value;
	close_checkout_box();
	if(chick_event != undefined)
	{
		chick_event();
	}
}



function clear_allbox()
{
	close_tip_box();
	close_checkin_box();
	close_checkout_box();
}

function get_tip_x(obj){
	return obj.offsetLeft + (obj.offsetParent ? get_tip_x(obj.offsetParent) : obj.x ? obj.x : 0);
}
function get_tip_y(obj){
	return (obj.offsetParent ? obj.offsetTop + get_tip_y(obj.offsetParent) : obj.y ? obj.y : 0);
}