var flightAlert=new function()
{
	var TrPrefix="Tr_";
	var SpanPrefix="Span_";
	var showedControlList ="";
	var GatherMsg="";
	var isIE =(navigator.appVersion.indexOf('MSIE')>=0);
	var firstObj = "";
	this.alertResult = true;
	this.alert=function( controlId, Msg )
	{
		if ( firstObj=="" ) firstObj = controlId;
		this.alertResult = false;
		var AlertTr = document.getElementById( TrPrefix + controlId );
		var AlertSpan = document.getElementById( SpanPrefix + controlId );
		if ( checkShowed( controlId ) ) return false;
		showedControlList += controlId + ";"
		if ( AlertTr!=null && AlertSpan!=null)
		{
			if ( isIE ) AlertTr.style.display = 'block'
			else AlertTr.removeAttribute("style");
			AlertSpan.innerHTML = Msg;
		}else { GatherMsg+= Msg==""?Msg:Msg + "\n\n"; }
		return false;
	}
	this.retract=function( controlId )
	{
		if ( checkShowed( controlId ) ) return false;
		var AlertTr = document.getElementById( TrPrefix + controlId );
		var AlertSpan = document.getElementById( SpanPrefix + controlId );
		if ( AlertTr!=null )AlertTr.style.display = 'none';
		if ( AlertSpan!=null ) AlertSpan.innerHTML = "";
		return true;
	}
	this.execute = function ( exp, controlId , msg)
	{
		if ( !exp ){this.retract( controlId );}
		else{this.alert(controlId, msg);}
		return !exp;
	}
	this.showSkipMsg=function()
	{
		if ( GatherMsg!="" )
		{
			 var msg=GatherMsg;
			 this.dispose();
			 window.alert ( msg );
		}
	}
	this.dispose = function()
	{
		 var obj = document.getElementById( firstObj );
		 if ( obj!=null ) obj.focus();
		 firstObj = "";
		 GatherMsg = "";
		 showedControlList = "";
		 this.alertResult = true;
	}
	var checkShowed = function( controlId ){
		var controlList;
		if ( showedControlList=="" ) return false;
		controlList = showedControlList.split(';');
		for ( var i=0; i<controlList.length-1; i++)
		{
			if ( controlId ==controlList[i] ) return true;
		}
		return false;
	}
}

/* 0:CN;1:EN;2:Big5;10:AP_CN;11:AP_EN;12:AP_BIG5 */
function GetVersionValue()
{
	var vsion = document.getElementById("flightversion");
	if ( vsion!=null )
		vsion = vsion.value;
	else
		vsion = "0";
	return vsion;
}

function IsEnVersion()
{
	var vs = GetVersionValue();
	return vs == "1" || vs == "11";
}

function IsCnVersion()
{
	return ! IsEnVersion();
}


function check_text(who,display)
{
	if(who.value == "")
	{
		if ( display!=null && display!="" ) alert(display);
		who.focus();
		return (false);
	}
	return (true);
}

function check_radio(curForm,who,display)
{
	if(!AnySelected(curForm, who))
	{
		alert(display);
		return (false);
	}
	return (true);
}

function check_select(who,nullval,display)
{
	if(who.value == nullval)
	{
		alert(display);
		who.focus();
		return (false);
	}
	return (true);
}

function check_num(val,display)
{
	var i,word;
	for(i=0;i<val.length;i++)
	{
		word=val.substring(i,i+1);
		c=word.charCodeAt(0);
    if(c<48 || c>57)
		{
			alert(display);
			return false;
			break;
		}
	}
	return (true);
}

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, "");
}

function SetRadio(name)
{
	var obj = document.getElementById(name);
	if ( obj == null )
	{
	}
	else
	{
		obj.checked = true;
	}
}
function SetCheck(name)
{
	var obj = document.getElementById(name);
	if ( obj == null )
	{
	}
	else
	{
		if ( obj.checked )
		{
			obj.checked = false;
		}
		else
		{
			obj.checked = true;
		}
	}
}

/** 
IsDate: 用于判断一个字符串是否是日期格式的字符串 

返回值： 
true或false 

参数： 
DateString： 需要判断的字符串 
Dilimeter ： 日期的分隔符，缺省值为′-′ 

Author: PPDJ 
sample: 
var date = ′1999-1-2′; 
if (IsDate(date)) 
{ 
alert(′You see, the default separator is "-"); 
} 
date = ′1999/1/2"; 
if (IsDate(date,'/')) 
{ 
alert(′The date′s separator is "/"); 
} 
*/ 
function IsDate(DateString , Dilimeter) 
{ 
		if (DateString==null) return false; 

		if (Dilimeter=='' || Dilimeter==null) 
			Dilimeter = '-'; 
			
		var tempy=''; 
		var tempm=''; 
		var tempd=''; 
		
		var tempArray; 
		
		if (DateString.length<8 && DateString.length>10) 
			return false;  
			
		tempArray = DateString.split(Dilimeter); 
		
		if (tempArray.length!=3) 
			return false; 
		if (tempArray[0].length==4) 
			{ 
				tempy = tempArray[0]; 
				tempd = tempArray[2]; 
			} 
		else 
			{ 
				tempy = tempArray[2]; 
				tempd = tempArray[1]; 
			} 
		tempm = tempArray[1]; 
		
		var tDateString = tempy + '/'+tempm + '/'+tempd+' 8:0:0';//加八小时是因为我们处于东八区 
		
		var tempDate = new Date(tDateString); 
		if (isNaN(tempDate)) 
			return false; 
		if (((tempDate.getUTCFullYear()).toString()==tempy) && (tempDate.getMonth()==parseInt(tempm, 10)-1) && (tempDate.getDate()==parseInt(tempd, 10))) 
			{ 
				return true; 
			} 
			else 
			{ 
				
				return false; 
			} 
} 

function isDateString(str) {
	var reg=/^\d{4}-[0-1]?\d{1}-[0-3]?\d{1}$/;
	return reg.test(str);
}

function stringToDate(sDate, bIgnore)
{	var bValidDate, year, month, day
	var iaDate = new Array(3)
	
	if (bIgnore) bValidDate = true
	else bValidDate = isDateString(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 trim(str) {
	var SubStr;
	SubStr=str;
	while (SubStr.length>0) {
   		if (SubStr.charAt(0)==" "){
			SubStr=SubStr.slice(1);
		}
		else if (SubStr.charAt(0)=="　"){
			SubStr=SubStr.slice(1);		
		}
		else{
			break;
		}
  	}
	while (SubStr.length>0) {
   		if (SubStr.charAt(SubStr.length-1)==" "){
			SubStr=SubStr.substr(0,SubStr.length-1);
		}else{
			break;
		}
  	}
  	return SubStr;
}

//验证是否包含中文字符
function CheckCnStr(str)
{
    var filter=/[^\x00-\xff]/gi;
    if (str=='')return false;
    if (filter.test(str))return true;
    return false;
}

function CheckName(GuestName) {
	var ErrStr;
	var ErrChar;
	var ArryErrStr;

	ErrChar="!@#$%^&*()_+|-=\\~`;'[]{}\"':,;.<>?～！@#￥％^&×（）……＋|－＝、〔〕｛｝：“；‘《》？，。、0123456789";
	ErrStr=FLIGHT_REQUEST_FILTERSTRING;
	
	ArryErrStr = ErrStr.split(",");
	
	//是否含有非法字符
	for(var k=0;k<GuestName.length;k++){
		if(ErrChar.indexOf(GuestName.charAt(k))>-1){
			return false;
		}
	}
	//是否含有非法字符串
	if ( ErrStr!=null && ErrStr!="" )
	{
		for (k=0; k<ArryErrStr.length; k++){
			if (GuestName.indexOf(ArryErrStr[k])>-1){
				return false;
			}
		}
	}
	return true;
}

//验证有效字符串.
function ValidatorSpecialString(value) {
	var ErrStr;
	var ErrChar;
	var ArryErrStr;
		
	 if (value.length == 0) 
        return false;

	ErrChar="%^&*_+|=\\~`'[]{}\"'/<>～￥％^&×……＋|＝、｛｝“‘《》";
	ErrStr="虚拟,傻冒,先生,小姐,代订";
	
	ArryErrStr = ErrStr.split(",");
	
	//是否含有非法字符
	for(var k=0;k<value.length;k++){
		if(ErrChar.indexOf(value.charAt(k))>-1){
			return false;
		}
	}
	//是否含有非法字符串
	for (k=0; k<ArryErrStr.length; k++){
		if (value.indexOf(ArryErrStr[k])>-1){
			return false;
		}
	}
	return true;
}

function CheckMobile(Mobile) {
    var filter=/^13[0123456789]{1}[0-9]{8}$/;
    var filter2=/^159[0123456789]{1}[0-9]{7}$/;
    if (!filter.test(Mobile) && !filter2.test(Mobile))return false;
    return true;
}

function CheckMobileUNION(Mobile) {
    var filter=/^13[0123]{1}[0-9]{8}$/;
    if (!filter.test(Mobile))return false;
    return true;
}
function CheckMobileNew(Mobile) {
    var filter=/^13[0123456789]{1}[0-9]{8}$/;
    var filter2=/^159[0123456789]{1}[0-9]{7}$/;
    if (!filter.test(Mobile) && !filter2.test(Mobile))return false;
    return true;
}


function CheckPhone(Phone) {
    var ArryPhone = Phone.split("-")
    var Len = ArryPhone.length;
    //最多2个"-"
    if (Len > 3)return false;
    //全部为数字
    for (var k =0;k <Len;k++)
    {
      if (ArryPhone[k].replace(/\d/gi,"")!="")return false;
    }
    //"-"不能在最前面
    if ((Len > 1)&&(ArryPhone[0].length <1))return false;  
    return true;
}


function CheckEmail(Email)
{
   var filter=/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
   return(new RegExp(filter).test(Email));
}

function CheckDate(val,whodate)
{
  var date_array="";
  var get_input_date_str = val;
  var seperate;

  if(get_input_date_str == "")
  {
		return true;
  }
  
  if (get_input_date_str.indexOf("-") != -1)
  {
      seperate = "-";
  }
  else if (get_input_date_str.indexOf("/") != -1)
  {
      seperate = "/";
  }
  else if (get_input_date_str.indexOf(".") != -1)
  {
      seperate = ".";
  }
  date_array = get_input_date_str.split(seperate);

  if(date_array.length != 3)
  {
		if ( whodate!=null && whodate!="" ) alert(whodate + FLIGHT_REQUEST_ERRDATEFORMAT);
		return (false); 
  }
  if(date_array[0].length < 4)
  {
		if ( whodate!=null && whodate!="" ) alert(whodate + FLIGHT_REQUEST_ERRDATEFORMAT);
		return (false); 
  }
  
  date_array[1] = date_array[1] - 1;
  var get_input_date = new Date(date_array[0], date_array[1], date_array[2]);
  get_input_date.setHours(8);//加八小时是因为我们处于东八区 
  var get_input_year = get_input_date.getUTCFullYear();
  var get_input_month = get_input_date.getMonth() + 1;
  var get_input_day = get_input_date.getDate();

  var month2 = get_input_month;
  var day2 = get_input_day;

  if(get_input_year<1000)
  {
		get_input_year=1900 + get_input_year;
  }
  if(get_input_month<10)
  {
		get_input_month="0" + get_input_month;
  }
  if(get_input_day<10)
  {
		get_input_day="0" + get_input_day;
  }

//  alert( "abc" );
  var now = new Date();
  var num1 = now.getFullYear() * 10000 + now.getMonth() * 100 + now.getDate();
  var num2 = get_input_date.getFullYear() * 10000 + get_input_date.getMonth() * 100 + get_input_date.getDate();
//  alert( num1 +"," + num2 );
  if( (get_input_year + seperate + get_input_month + seperate + get_input_day) != get_input_date_str && (get_input_year + seperate + month2 + seperate + day2) != get_input_date_str)
  {
		if ( whodate!=null && whodate!="" ) alert(whodate + FLIGHT_REQUEST_ERRDATEFORMAT);
		return (false); 
  }
//  else if ( num2<num1 )
//  {
//		alert("日期不能早于今天！");
//		return (false); 
//  }
  return (true);

}

function TodayToStr()
{
  var dt = new Date();
  var str = DateToStr(dt);
  return str;
}
function DateToStr(get_input_date)
{
  get_input_date.setHours(8);
  var get_input_year = get_input_date.getUTCFullYear();
  var get_input_month = get_input_date.getMonth() + 1;
  var get_input_day = get_input_date.getDate();

  if(get_input_year<1000)
  {
		get_input_year=1900 + get_input_year;
  }
  if(get_input_month<10)
  {
		get_input_month="0" + get_input_month;
  }
  if(get_input_day<10)
  {
		get_input_day="0" + get_input_day;
  }
  var dt = get_input_year + "-" + get_input_month + "-" + get_input_day;
  return dt;
}

function RebuildDate(val)
{
  var date_array="";
  var get_input_date_str = val;
  var seperate;

  if(get_input_date_str == "")
  {
		return true;
  }
  
  if (get_input_date_str.indexOf("-") != -1)
  {
      seperate = "-";
  }
  else if (get_input_date_str.indexOf("/") != -1)
  {
      seperate = "/";
  }
  else if (get_input_date_str.indexOf(".") != -1)
  {
      seperate = ".";
  }
  date_array = get_input_date_str.split(seperate);

  if(date_array.length != 3)
  {
		return ""; 
  }
  if(date_array[0].length < 4)
  {
		return ""; 
  }
  
  date_array[1] = date_array[1] - 1;
  var get_input_date = new Date(date_array[0], date_array[1], date_array[2]);
  var dt = DateToStr(get_input_date);
  return dt;
 }

/// 比较date1和date2: date1大于date2返回1, 相等返回0, 小于返回-1.
function CompareDate(date1, date2)
{
	var dt1 = RebuildDate(date1);
	var dt2 = RebuildDate(date2);
	
	if ( dt1 > dt2 ) return (1);
	else if ( dt1 == dt2 ) return (0);
	else return (-1);
}

function CompareToday(date1)
{
	var dt1 = RebuildDate(date1);
	
	var dt2 = TodayToStr();
	
	var todayObj = document.getElementById("servertoday");
	if ( todayObj == null )
	{
	}
	else
	{
		dt2 = todayObj.value;		
	}
//	alert('【测试】Today:' + dt2);
	if ( dt1 > dt2 ) return (1);
	else if ( dt1 == dt2 ) return (0);
	else return (-1);
}
function strlenB(str)
{
	var len;
	var i;
	len = 0;
	for (i=0;i<str.length;i++)
	{
		if (str.charCodeAt(i)>255) len+=2; else len++;
	}
	return len;
}
