// JavaScript Document
function IsDateString(datestring)
{
	var row = datestring.match(/^([0-9]{4})+-([0-9]{1,2})+-([0-9]{1,2}$)/);
	if(row==null) 	
		return false; 
	var d = new Date(row[1], row[2]-1, row[3]); 
	if(!(d.getFullYear()==row[1]&&(d.getMonth()+1)==row[2]&&d.getDate()==row[3])) 
		return false;
	return true;
}
function ParseDate(datestring)
{
	var arr = datestring.split('-');
	return arr;
}
function ChangeDate(datestring,v)
{
	if(!IsDateString(datestring)) return false;
	var dateArray = ParseDate(datestring);
	var myDate = new Date(dateArray[0],dateArray[1]-1,dateArray[2]);
	myDate.setDate(myDate.getDate()+v);
	var str = myDate.getFullYear()+'-'+(myDate.getMonth()+1)+'-'+myDate.getDate();
	return str;
}
document.write('<iframe id="CalFrame" name="CalFrame" frameborder="0" src="/common/html/calendar.htm" style="display:none;position:absolute;z-index:100;"></iframe>');
//document.onclick=hideCalendar;

function showCalendar(sImg,bOpenBound,sFld1,sFld2,sCallback)
{
	var fld1,fld2;
	var cf=document.getElementById("CalFrame");
	var wcf=window.frames.CalFrame;
	var oImg=document.getElementById(sImg);
	if(!oImg){alert("控制对象不存在！");return;}
	if(!sFld1){alert("输入控件未指定！");return;}
	fld1=document.getElementById(sFld1);
	if(!fld1){alert("输入控件不存在！");return;}
	if(fld1.tagName!="INPUT"||fld1.type!="text"){alert("输入控件类型错误！");return;}
	if(sFld2)
	{
		fld2=document.getElementById(sFld2);
		if(!fld2){alert("参考控件不存在！");return;}
		if(fld2.tagName!="INPUT"||fld2.type!="text"){alert("参考控件类型错误！");return;}
	}
	if(!wcf.bCalLoaded){alert("日历未成功装载！请刷新页面！");return;}
	if(cf.style.display=="block"){cf.style.display="none";return;}
	
	var eT=0,eL=0,p=oImg;
	
	if(document.body.scrollTop!=0 || (document.documentElement.scrollTop==0 && document.documentElement.clientHeight==0))
	{
		var sT=document.body.scrollTop,sL=document.body.scrollLeft;
		var eH=oImg.offsetHeight,eW=oImg.offsetWidth;
		while(p&&p.tagName!="BODY"){eT+=p.offsetTop;eL+=p.offsetLeft;p=p.offsetParent;}
		cf.style.top=(eT+eH) + "px";
		cf.style.left=(eL) + "px";	
		//cf.style.top=((document.body.clientHeight-(eT-sT)-eH>=cf.height)?eT+eH:eT-cf.height) + "px";
		//cf.style.left=((document.body.clientWidth-(eL-sL)>=cf.width)?eL:eL+eW-cf.width) + "px";	
	}
	else
	{
		var sT=document.documentElement.scrollTop,sL=document.documentElement.scrollLeft;
		var eH=oImg.offsetHeight,eW=oImg.offsetWidth;
		while(p&&p.tagName!="BODY"){eT+=p.offsetTop;eL+=p.offsetLeft;p=p.offsetParent;}
		cf.style.top=(eT+eH) + "px";
		cf.style.left=(eL) + "px";
		//cf.style.top=((document.documentElement.clientHeight-(eT-sT)-eH>=cf.height)?eT+eH:eT-cf.height) + "px";
		//cf.style.left=((document.documentElement.clientWidth-(eL-sL)>=cf.width)?eL:eL+eW-cf.width) + "px";	
	}	
	cf.style.display="block";
	
	wcf.openbound=bOpenBound;
	wcf.fld1=fld1;
	wcf.fld2=fld2;
	wcf.callback=sCallback;
	wcf.initCalendar();
}
function hideCalendar()
{
	var cf=document.getElementById("CalFrame");
	cf.style.display="none";
}
function setChkInDate(d)
{
	document.getElementById("chkin_date").value=d;
	if(document.getElementById("dept_date").value.length==0)
	{
		showCalendar('dept_date',false,'dept_date','chkin_date');
	}
}
function setChkInDate2(d)
{
	document.getElementById("chkin_date2").value=d;
	if(document.getElementById("dept_date2").value.length==0)
	{
		showCalendar('dept_date2',false,'dept_date2','chkin_date2');
	}
}
function removeOptions(selectObj) {     
  if (typeof selectObj != 'object')     {         
  selectObj = document.getElementById(selectObj);     
  }   
  var len = selectObj.options.length;
  for (var i=0; i < len; i++)     {       
	selectObj.options[0] = null;     
  } 
} 
function setSelectOption(selectObj, optionList, firstOption, selected) 
{ 
    if (typeof selectObj != 'object')     
	{ 
	        selectObj = document.getElementById(selectObj);     
	}     
	removeOptions(selectObj);     
	var start = 0;
	if (firstOption)
	     {
	         selectObj.options[0] = new Option(firstOption, '');         
			 start ++;     
	     }      
	if(typeof optionList != 'object'){
		return false;
	}
	var len = optionList.length;
	for (var i=0; i < len; i++)     
	{            
	     //if(optionList[i].txt == '') continue;
		 selectObj.options[start] = new Option(optionList[i].txt, optionList[i].val);         
		 if(selected == optionList[i].val)         
		 {        
		      selectObj.options[start].selected = true;         
		 }                  
		start ++;     
	}  
}   
function clearitem(itemname)
{
	var array = document.getElementsByName(itemname); 
	
	for(i=0; i<array.length; i++) {
		array[i].checked = false;
		}
} 
function setselect(obj,v)
{
	var i;
	if (typeof obj != 'object')     
		{ 
		obj = document.getElementById(obj);     
		}
	
	
	  for(i=0;i<obj.length;i++){
		if(obj.options[i].value==v)
			obj.options[i].selected=true;
	  }
}
function getradiovalue(radioobj){
  var value=null;
  var i;
  for(i=0;i<radioobj.length;i++){
  	if(radioobj[i].checked){
		value=radioobj[i].value;
		break;
		}
	}
	return value;
}				
function setRadioChecked(radioobj,v)
{
	var i;
	for(i=0;i<radioobj.length;i++)
	{
		if(radioobj[i].value==v)
			radioobj[i].checked=true;
	}
	
}

function isInArray(s,arr){
	var len = arr.length;
	for(var i =0;i<len;i++){
		if(s == arr[i]) return true;
	}
	return false;
}
function isInRange(s,arr){
	if(arr.length != 2) return false;
	else if(s>=arr[0] && s<=arr[1]) return true;
	else return false;
}
/*

-------------- 函数检索 --------------
trim函数:                         trim() lTrim() rTrim()
校验字符串是否为空:                 checkIsNotEmpty(str)
校验字符串是否为整型:               checkIsInteger(str)
校验整型最小值:                    checkIntegerMinValue(str,val)
校验整型最大值:                    checkIntegerMaxValue(str,val) 
校验整型是否为非负数:               isNotNegativeInteger(str)
校验字符串是否为浮点型:             checkIsDouble(str) 
校验浮点型最小值:                  checkDoubleMinValue(str,val)
校验浮点型最大值:                  checkDoubleMaxValue(str,val)
校验浮点型是否为非负数:             isNotNegativeDouble(str)
校验字符串是否为日期型:             checkIsValidDate(str)
校验两个日期的先后:                checkDateEarlier(strStart,strEnd)
校验字符串是否为email型:           checkEmail(str)

校验字符串是否为中文:               checkIsChinese(str)
计算字符串的长度，一个汉字两个字符:   realLength()
校验字符串是否符合自定义正则表达式:   checkMask(str,pat)
得到文件的后缀名:                   getFilePostfix(oFile)  
-------------- 函数检索 --------------
*/

/**
* added by LxcJie 2004.6.25
* 去除多余空格函数
* trim:去除两边空格 lTrim:去除左空格 rTrim: 去除右空格
* 用法：
*     var str = "  hello ";
*     str = str.trim();
*/
String.prototype.trim = function()
{
    return this.replace(/(^\s*)|(\s*$)/g, "");
}
String.prototype.lTrim = function()
{
    return this.replace(/(^[\\s]*)/g, "");
}
String.prototype.rTrim = function()
{
    return this.replace(/([\\s]*$)/g, "");
}
/********************************** Empty **************************************/
/**
*校验字符串是否为空
*返回值：
*如果不为空，定义校验通过，返回true
*如果为空，校验不通过，返回false               参考提示信息：输入域不能为空！
*/
function checkIsNotEmpty(str)
{
    if(str.trim() == "")
        return false;
    else
        return true;
}//~~~
/*--------------------------------- Empty --------------------------------------*/
/********************************** Integer *************************************/
/**
*校验字符串是否为整型
*返回值：
*如果为空，定义校验通过，      返回true
*如果字串全部为数字，校验通过，返回true
*如果校验不通过，              返回false     参考提示信息：输入域必须为数字！
*/
function checkIsInteger(str)
{
    //如果为空，则通过校验
    if(str == "")
        return true;
    if(/^(\\-?)(\\d+)$/.test(str))
        return true;
    else
        return false;
}//~~~
/**
*校验整型最小值
*str：要校验的串。  val：比较的值
*
*返回值：
*如果为空，定义校验通过，                返回true
*如果满足条件，大于等于给定值，校验通过，返回true
*如果小于给定值，                        返回false              参考提示信息：输入域不能小于给定值！
*/
function checkIntegerMinValue(str,val)
{
    //如果为空，则通过校验
    if(str == "")
        return true;
    if(typeof(val) != "string")
        val = val + "";
    if(checkIsInteger(str) == true)
    {
        if(parseInt(str,10)>=parseInt(val,10))
            return true;
        else
            return false;
    }
    else
        return false;
}//~~~
/**
*校验整型最大值
*str：要校验的串。  val：比较的值
*
*返回值：
*如果为空，定义校验通过，                返回true
*如果满足条件，小于等于给定值，校验通过，返回true
*如果大于给定值，                        返回false       参考提示信息：输入值不能大于给定值！
*/
function checkIntegerMaxValue(str,val)
{
    //如果为空，则通过校验
    if(str == "")
        return true;
    if(typeof(val) != "string")
        val = val + "";
    if(checkIsInteger(str) == true)
    {
        if(parseInt(str,10)<=parseInt(val,10))
            return true;
        else
            return false;
    }
    else
        return false;
}//~~~
/**
*校验整型是否为非负数
*str：要校验的串。
*
*返回值：
*如果为空，定义校验通过，返回true
*如果非负数，            返回true
*如果是负数，            返回false               参考提示信息：输入值不能是负数！
*/
function isNotNegativeInteger(str)
{
    //如果为空，则通过校验
    if(str == "")
        return true;
    if(checkIsInteger(str) == true)
    {
        if(parseInt(str,10) < 0)
            return false;
        else
            return true;
    }
    else
        return false;
}//~~~
/*--------------------------------- Integer --------------------------------------*/
/********************************** Double ****************************************/
/**
*校验字符串是否为浮点型
*返回值：
*如果为空，定义校验通过，      返回true
*如果字串为浮点型，校验通过，  返回true
*如果校验不通过，              返回false     参考提示信息：输入域不是合法的浮点数！
*/
function checkIsDouble(str)
{
    //如果为空，则通过校验
    if(str == "")
        return true;
    //如果是整数，则校验整数的有效性
    if(str.indexOf(".") == -1)
    {
        if(checkIsInteger(str) == true)
            return true;
        else
            return false;
    }
    else
    {
        if(/^(\\-?)(\\d+)(.{1})(\\d+)$/g.test(str))
            return true;
        else
            return false;
    }
}//~~~
/**
*校验浮点型最小值
*str：要校验的串。  val：比较的值
*
*返回值：
*如果为空，定义校验通过，                返回true
*如果满足条件，大于等于给定值，校验通过，返回true
*如果小于给定值，                        返回false              参考提示信息：输入域不能小于给定值！
*/
function checkDoubleMinValue(str,val)
{
    //如果为空，则通过校验
    if(str == "")
        return true;
    if(typeof(val) != "string")
        val = val + "";
    if(checkIsDouble(str) == true)
    {
        if(parseFloat(str)>=parseFloat(val))
            return true;
        else
            return false;
    }
    else
        return false;
}//~~~
/**
*校验浮点型最大值
*str：要校验的串。  val：比较的值
*
*返回值：
*如果为空，定义校验通过，                返回true
*如果满足条件，小于等于给定值，校验通过，返回true
*如果大于给定值，                        返回false       参考提示信息：输入值不能大于给定值！
*/
function checkDoubleMaxValue(str,val)
{
    //如果为空，则通过校验
    if(str == "")
        return true;
    if(typeof(val) != "string")
        val = val + "";
    if(checkIsDouble(str) == true)
    {
        if(parseFloat(str)<=parseFloat(val))
            return true;
        else
            return false;
    }
    else
        return false;
}//~~~
/**
*校验浮点型是否为非负数
*str：要校验的串。
*
*返回值：
*如果为空，定义校验通过，返回true
*如果非负数，            返回true
*如果是负数，            返回false               参考提示信息：输入值不能是负数！
*/
function isNotNegativeDouble(str)
{
    //如果为空，则通过校验
    if(str == "")
        return true;
    if(checkIsDouble(str) == true)
    {
        if(parseFloat(str) < 0)
            return false;
        else
            return true;
    }
    else
        return false;
}//~~~
/*--------------------------------- Double ---------------------------------------*/
/********************************** date ******************************************/
/**
*校验字符串是否为日期型
*返回值：
*如果为空，定义校验通过，           返回true
*如果字串为日期型，校验通过，       返回true
*如果日期不合法，                   返回false    参考提示信息：输入域的时间不合法！（yyyy-MM-dd）
*/
function checkIsValidDate(str)
{
    //如果为空，则通过校验
    if(str == "")
        return true;
    var pattern = /^((\\d{4})|(\\d{2}))-(\\d{1,2})-(\\d{1,2})$/g;
    if(!pattern.test(str))
        return false;
    var arrDate = str.split("-");
    if(parseInt(arrDate[0],10) < 100)
        arrDate[0] = 2000 + parseInt(arrDate[0],10) + "";
    var date =  new Date(arrDate[0],(parseInt(arrDate[1],10) -1)+"",arrDate[2]);
    if(date.getYear() == arrDate[0]
       && date.getMonth() == (parseInt(arrDate[1],10) -1)+""
       && date.getDate() == arrDate[2])
        return true;
    else
        return false;
}//~~~
/**
*校验两个日期的先后
*返回值：
*如果其中有一个日期为空，校验通过,          返回true
*如果起始日期早于等于终止日期，校验通过，   返回true
*如果起始日期晚于终止日期，                 返回false    参考提示信息： 起始日期不能晚于结束日期。
*/
function checkDateEarlier(strStart,strEnd)
{
    if(checkIsValidDate(strStart) == false || checkIsValidDate(strEnd) == false)
        return false;
    //如果有一个输入为空，则通过检验
    if (( strStart == "" ) || ( strEnd == "" ))
        return true;
    var arr1 = strStart.split("-");
    var arr2 = strEnd.split("-");
    var date1 = new Date(arr1[0],parseInt(arr1[1].replace(/^0/,""),10) - 1,arr1[2]);
    var date2 = new Date(arr2[0],parseInt(arr2[1].replace(/^0/,""),10) - 1,arr2[2]);
    if(arr1[1].length == 1)
        arr1[1] = "0" + arr1[1];
    if(arr1[2].length == 1)
        arr1[2] = "0" + arr1[2];
    if(arr2[1].length == 1)
        arr2[1] = "0" + arr2[1];
    if(arr2[2].length == 1)
        arr2[2]="0" + arr2[2];
    var d1 = arr1[0] + arr1[1] + arr1[2];
    var d2 = arr2[0] + arr2[1] + arr2[2];
    if(parseInt(d1,10) > parseInt(d2,10))
       return false;
    else
       return true;
}//~~~
/*--------------------------------- date -----------------------------------------*/
/********************************** email *****************************************/
/**
*校验字符串是否为email型
*返回值：
*如果为空，定义校验通过，           返回true
*如果字串为email型，校验通过，      返回true
*如果email不合法，                  返回false    参考提示信息：Email的格式不正確！
*/
/*
function checkEmail(str)
{
    //如果为空，则通过校验
    if(str == "")
        return true;
    if (str.charAt(0) == "." || str.charAt(0) == "@" || str.indexOf(\'@\', 0) == -1
        || str.indexOf(\'.\', 0) == -1 || str.lastIndexOf("@") == str.length-1 || str.lastIndexOf(".") == str.length-1)
        return false;
    else
        return true;
}*///~~~
/*--------------------------------- email ----------------------------------------*/
/********************************** chinese ***************************************/
/**
*校验字符串是否为中文
*返回值：
*如果为空，定义校验通过，           返回true
*如果字串为中文，校验通过，         返回true
*如果字串为非中文，             返回false    参考提示信息：必须为中文！
*/
function checkIsChinese(str)
{
    //如果值为空，通过校验
    if (str == "")
        return true;
    var pattern = /^([\\u4E00-\\u9FA5]|[\\uFE30-\\uFFA0])*$/gi;
    if (pattern.test(str))
        return true;
    else
        return false;
}//~~~
/**
* 计算字符串的长度，一个汉字两个字符
*/
String.prototype.realLength = function()
{
  return this.replace(/[^\\x00-\\xff]/g,"**").length;
}
/*--------------------------------- chinese --------------------------------------*/
/********************************** mask ***************************************/
/**
*校验字符串是否符合自定义正则表达式
*str 要校验的字串  pat 自定义的正则表达式
*返回值：
*如果为空，定义校验通过，           返回true
*如果字串符合，校验通过，           返回true
*如果字串不符合，                   返回false    参考提示信息：必须满足***模式
*/
function checkMask(str,pat)
{
    //如果值为空，通过校验
    if (str == "")
        return true;
    var pattern = new RegExp(pat,"gi")
    if (pattern.test(str))
        return true;
    else
        return false;
}//~~~
/*--------------------------------- mask --------------------------------------*/
/********************************** file ***************************************/
/**
* added by LxcJie 2004.6.25
* 得到文件的后缀名
* oFile为file控件对象
*/
function getFilePostfix(oFile)
{
    if(oFile == null)
        return null;
    var pattern = /(.*)\\.(.*)$/gi;
    if(typeof(oFile) == "object")
    {
        if(oFile.value == null || oFile.value == "")
            return null;
        var arr = pattern.exec(oFile.value);
        return RegExp.$2;
    }
    else if(typeof(oFile) == "string")
    {
        var arr = pattern.exec(oFile);
        return RegExp.$2;
    }
    else
        return null;
}//~~~
/*--------------------------------- file --------------------------------------*/
document.write('<iframe id=SuggestFrame name=SuggestFrame frameborder=0 src=/common/html/suggestcity.htm style=display:none;position:absolute;z-index:100></iframe>');

function showSuggestCity(sFld,sCod,sType)
{
	var fld,cod;
	var sf=document.getElementById("SuggestFrame");
	var wsf=window.frames.SuggestFrame;
	if(!sFld){alert("输入控件未指定！");return;}
	fld=document.getElementById(sFld);
	var s=fld.value;
	if(!fld){alert("输入控件不存在！");return;}
	if(fld.tagName!="INPUT"||fld.type!="text"){alert("输入控件类型错误！");return;}
	
	if(!sCod){alert("输入控件未指定！");return;}
	cod=document.getElementById(sCod);
	if(!cod){alert("输入控件不存在！");return;}
	if(cod.tagName!="INPUT"||cod.type!="hidden"){alert("输入控件类型错误！");return;}
	
	if(!wsf.bSuggestLoaded){alert("城市帧未成功装载！请刷新页面！");return;}
	var eT=0,eL=0,p=fld;
	
	if(document.body.scrollTop!=0 || (document.documentElement.scrollTop==0 && document.documentElement.clientHeight==0))
	{
		var sT=document.body.scrollTop,sL=document.body.scrollLeft;
		var eH=fld.offsetHeight,eW=fld.width;
		while(p&&p.tagName!="BODY"){eT+=p.offsetTop;eL+=p.offsetLeft;p=p.offsetParent;}
		sf.style.top=(eT+eH) + "px";
		sf.style.left=(eL+3) + "px";	
	}
	else
	{
		var sT=document.documentElement.scrollTop,sL=document.documentElement.scrollLeft;
		var eH=fld.offsetHeight,eW=fld.width;
		while(p&&p.tagName!="BODY"){eT+=p.offsetTop;eL+=p.offsetLeft;p=p.offsetParent;}
		sf.style.top=(eT+eH) + "px";
		sf.style.left=(eL+3) + "px";
	}	
	var cstr="",first=1;
	var arr;
	if(sType=="hotel") arr = hotelCityArr;
	else arr = flightCityArr;
	s = s.trim();
	for(var i=0;i<arr.length;i++)
	{
		i++;
		if(arr[i].substr(0,s.length).toUpperCase() == s.toUpperCase() && s!="")
		{
			if(!first) cstr+=",";
			cstr+=arr[i-1]+","+arr[i]+","+arr[i+1];
			first=0;
		}
		i++;
		if(arr[i].substr(0,s.length) == s && s!="")
		{
			if(!first) cstr+=",";
			cstr+=arr[i-2]+","+arr[i-1]+","+arr[i];
			first=0;
		}
	}
	if(s=="") {
		if(sType=="hotel") cstr=hotHotelCity;
		else cstr=hotFlightCity;
	}
	sf.style.display="block";
	wsf.fld=fld;
	wsf.cod=cod;
	wsf.drawSuggest(cstr);
}
function hideSuggest()
{
	var sf=document.getElementById("SuggestFrame");
	sf.style.display="none";
}

var fliDis=0;
var themeDis=0;

	function hideAll()
	{
		hideCalendar();
		hideSuggest();
		hideNotice();
	}
	function searchdisplay(i)
	{
		switch(i)
		{
			case 0:
				document.getElementById("index_search_hotel").style.display="";
				document.getElementById("index_search_flight").style.display="none";
				document.getElementById("ra_search_hotel").checked=true;
				break;
				
			case 1:
				document.getElementById("index_search_hotel").style.display="none";
				document.getElementById("index_search_flight").style.display="";
				document.getElementById("ra_search_flight").checked=true;
				break;
				
			default:
				document.getElementById("index_search_hotel").style.display="";
				document.getElementById("index_search_flight").style.display="none";
				break;
		}
	}
	function changeflight(i)
	{
		switch(i){
		case 0:
			document.getElementById("em_return_date").style.display="none";
			break;
		case 1:
			document.getElementById("em_return_date").style.display="";
			break;
		case 2:
			document.getElementById("em_return_date").style.display="none";
			break;
		}
		
	}
	
	function hInputCheck()
	{
		var hf=document.hotelForm;
		var city=hf.city_name;
		var date1=hf.chkin_date;
		var date2=hf.dept_date;
		if(city.value==""){
			showNotice("city_name","请输入城市名!");
			city.focus();
			return false;
		}
		if(!IsDateString(date1.value)){
			date1.focus();
			if(date1.value=="") showNotice("chkin_date","请输入入住日期!");
			else showNotice("chkin_date","入住日期格式无效!");
			return false;
		}
		
		var row1=date1.value.split("-");
		var row2=date2.value.split("-");
		var d1 = new Date(row1[0], row1[1]-1, row1[2]); 
		var d2 = new Date(row2[0], row2[1]-1, row2[2]); 
		var now=new Date();
		now=new Date(now.getFullYear(),now.getMonth(),now.getDate());
		if(d1<now){
			showNotice("chkin_date","入住日期不能早于今天!");
			date1.focus();
			return false;
		}
		if(!IsDateString(date2.value)){
			date2.focus();
			if(date2.value=="") showNotice("dept_date","请输入离开日期!"); 
			else showNotice("dept_date","离开日期格式无效!");
			return false;
		}
		if(d2<now){
			showNotice("dept_date","离开日期不能早于今天!");
			date2.focus();
			return false;
			}
		if((d2-d1)<0) {
			showNotice("dept_date","离开不能早于入住日期!");
			date2.focus();
			return false;
			}
		if((d2-d1)>(28*86400000)) {
			showNotice("dept_date","入住时间不能超过28天!");
			date2.focus();
			return false;
			}
		return true;
	}
	function fInputCheck()
	{
		var ff=document.flightForm;
		var city1=ff.start_city;
		var city2=ff.dest_city;
		var date1=ff.start_date;
		var date2=ff.return_date;
		if(city1.value==""){showNotice("start_city","请输入出发城市!");city1.focus();return false;}
		if(city2.value==""){showNotice("dest_city","请输入到达城市!");city2.focus();return false;}
		if(!IsDateString(date1.value))
		{
			if(date1.value=="") showNotice("start_date","请输入出发日期!");
			else showNotice("start_date","出发日期格式无效!");
			date1.focus();
			return false;
		}
		var row1=date1.value.split("-");
		var d1 = new Date(row1[0], row1[1]-1, row1[2]); 
		var now=new Date();
		now=new Date(now.getFullYear(),now.getMonth(),now.getDate());
		if(d1<now){showNotice("start_date","出发日期不能早于今天!");date1.focus();return false;}
		if(ff.flight_type[0].checked)
		{
			if(!IsDateString(date2.value))
			{
				if(date2.value=="") showNotice("return_date","请输入返回日期!");
				else showNotice("return_date","返回日期格式无效!");
				date2.focus();
				return false;
			}
			var row2=date2.value.split("-");
			var d2 = new Date(row2[0], row2[1]-1, row2[2]); 
			if(d2<now){showNotice("return_date","返回日期不能早于今天!");date2.focus();return false;}
			if((d2-d1)<0) {showNotice("return_date","返回不能早于出发日期!");date2.focus();return false;}
		}
		return true;
	}
	function setDisplayFlight(v){
		var e=document.getElementById("flifrom"+v);
		var o=document.getElementById("flifrom"+fliDis);
		o.style.color="#114477";
		e.style.color="#FF6600";
		var ebg=document.getElementById("flight_deal_city");
		ebg.style.background="url(images/bg_indexffrom"+(v+1)+".jpg) no-repeat";
		var fe=document.getElementById("flight_list"+v);
		var fo=document.getElementById("flight_list"+fliDis);
		fo.style.display="none";
		fe.style.display="block";
		fliDis=v;

		
	}
	function fliSearch(fr,to,date){
		var nW=window.open("/flights/list.php?start_code="+fr+"&dest_code="+to+"&start_date="+date+"&class=Y&flight_type=1","subWind");
		nW.focus();
	}
	function setDisplayTheme_bak(v){
		var e=document.getElementById("theme_title"+v);
		var o=document.getElementById("theme_title"+themeDis);
		o.style.color="#003366";
		e.style.color="#FF6600";
		var te=document.getElementById("theme_list"+v);
		var to=document.getElementById("theme_list"+themeDis);
		to.style.display = "none";
		te.style.display = "block";
		themeDis=v;
	}
	
	function setCityValue(e1,e2,s,cod)
	{
		e1.value=s;
		e2.value=cod;
	}
	function vote(){
		var sf = document.form3;
		var grp0= sf.survey0;
		var v0;
		if(grp0[0].checked) v0=1;
		else if(grp0[1].checked) v0=2;
		else if(grp0[2].checked) v0=3;
		else v0 = 0;
		var grp1= sf.survey1;
		var v1;
		if(grp1[0].checked) v1=1;
		else if(grp1[1].checked) v1=2;
		else v1 = 0;
		if(v0==0 || v1==0) alert('您必须选择一个答案才能提交');
		else {
			var nw = window.open('/service/save_vote.php?v0='+v0+'&v1='+v1,'subWin',"status=0,menubar=0,scrollbars,height=200,width=300,top=200,left=150");
			nw.focus();
		}
	}
document.onclick=hideAll;
//window.onload=function()
//{
//for(var ii=0; ii<document.links.length; ii++)
//document.links[ii].onfocus=function(){this.blur()}
//}
//function fHideFocus(tName){
//aTag=document.getElementsByTagName(tName);
//for(i=0;i<aTag.length;i++)aTag[i].hideFocus=true;
//}
function AirportShortName(code){
	code = code.toUpperCase();
	var len = AirportCodeArray.length;
	for(var i =0;i<len;i++){
		if(AirportCodeArray[i] == code) return AirportCodeArray[i+2];
		i++;
		i++;
	}
}

function flightSpecialInit(){
	var str;
	var obj;
	var len = flightSpecial.length;
	for(var i=0;i<7;i++){
		str = '<table width="100%" border="0" cellspacing="0" cellpadding="0" class="airTable">';
		var arr = flightSpecial[i].split(',');
		var sz = arr.length;
		for(var j=0;(j<sz && j<55);){
			str += '<tr>';
			str += '<td class="airIco">&nbsp;</td><td><span>'+arr[j+1]+'</span></td>';
			for(var k=0;k<6;k++){
				var fdate = ChangeDate(fromDate,k);
				if(arr[j+k+4] !='0')
					str += '<td width="65"><a href="javascript:fliSearch(\''+arr[j+2]+'\',\''+arr[j+3]+'\',\''+fdate+'\');" class="price">&yen;'+arr[j+k+4]+'</a>'+(fdate.substr(5))+'</td>';
				else 
					str += '<td width="65">-</td>';
			}
			str += '</tr>';
			j = j+11;
		}
		str += '</table>';
		obj = document.getElementById('tagContent'+(i+20));
		obj.innerHTML = str;
	}
}

function setzone(city) 
	{     
		document.hotelForm.city_id.value = city;
		setSelectOption('region', regionArr[city], '行政区'); 
		setSelectOption('commer', commerArr[city], '商业区');
	}
function setdispzone(i){
	switch (i){
		case 0:
			document.getElementById('region').style.display='';
			document.getElementById('commer').style.display='none';
			break;
		case 1:
			document.getElementById('region').style.display='none';
			document.getElementById('commer').style.display='';
			break;
		default:
			document.getElementById('region').style.display='';
			document.getElementById('commer').style.display='none';
			break;
		}
	}
	
document.write('<div id="NoticeDiv" style="display:none;position:absolute;z-index:100; background:url(/common/images/bg_notice.gif) no-repeat; width:160px; height:50px; padding:7px 45px 5px 15px;"><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td height="35px" id="NoticeDivTd" style="padding-right:20px;" ></td></tr></table></div>');
function showNotice(sElement,sNotice)
{
	var ndiv=document.getElementById("NoticeDiv");
	var ndivtd=document.getElementById("NoticeDivTd");
	var em=document.getElementById(sElement);
	var eT=0,eL=0,p=em;
	
	if(document.body.scrollTop!=0 || (document.documentElement.scrollTop==0 && document.documentElement.clientHeight==0))
	{
		var sT=document.body.scrollTop,sL=document.body.scrollLeft;
		var eH=em.offsetHeight,eW=em.offsetWidth;
		while(p&&p.tagName!="BODY"){eT+=p.offsetTop;eL+=p.offsetLeft;p=p.offsetParent;}
		ndiv.style.top=(eT-50) + "px";
		ndiv.style.left=(eL+eW) + "px";	
	}
	else
	{
		var sT=document.documentElement.scrollTop,sL=document.documentElement.scrollLeft;
		var eH=em.offsetHeight,eW=em.offsetWidth;
		while(p&&p.tagName!="BODY"){eT+=p.offsetTop;eL+=p.offsetLeft;p=p.offsetParent;}
		ndiv.style.top=(eT-50) + "px";
		ndiv.style.left=(eL+eW) + "px";
	}
	ndiv.style.display="block";
	ndivtd.innerHTML = sNotice;
}
function hideNotice()
{
	var ndiv=document.getElementById("NoticeDiv");
	ndiv.style.display="none";
}