/*****************新版酒店首页城市输入框验证*********************/
function GetHotelCityName(sName)
{
  var sCityCnName;
	var sCode = GetHotelCityCodeByName(sName);
	if (sCode!=null) 
	{
	  sCityCnName = GetCnCityNameByCode(sCode);
	}
	return sCityCnName;
}

function GetCnCityNameByCode(citycode)
{
	var cityset =getHotelCitySet();
	
	for ( var i=0; i<cityset.length;i++)
	{
		if( cityset[i].CityCode == citycode )	return cityset[i].CityNameCN;
	}
	
	return null;
}

function GetHotelCityCodeByName(cityname)
{
	var cityset; 
	cityset =getHotelCitySet();
			
	for ( var i=0; i<cityset.length;i++)
	{
		if( cityset[i].CityNameCN == cityname )	return cityset[i].CityCode;
		if( cityset[i].CityName == cityname )	return cityset[i].CityCode;
		if( (typeof(cityset[i].CityNameEN) != 'undefined') && cityset[i].CityNameEN.toLowerCase() == cityname.toLowerCase() )	return cityset[i].CityCode;
	}
	
	return null;
}

Array.prototype.getHotelCitySet=function(zipstring,returnzipstring){
	var rzipstring = (arguments.length>1)?arguments[1]:"";
	var item = function(params,index){
		return {CityCode: params[0], CityName: params[1],CityNameEN: params[2],CityNameCN: params[3], SonCitySet: function(){		
			var oneset = rzipstring.split("&");
			if ( rzipstring.length==0 || oneset.length-1<index ) return [];
			var sonArray = new Array;
			sonArray.getHotelCitySet(oneset[index]);
			return sonArray;
		}
	};};
	this.unZipHotelModel( zipstring, item);
}

Array.prototype.unZipHotelModel=function( zipstring, iterator){
	var pairs = zipstring.split(";");
	for ( var i=0; i<pairs.length; i++)
	{
		var pair = pairs[i].split("|");
		this.push(iterator(pair,i));
	}
}

function getHotelCitySet(){
	var citySet = new Array;
	citySet.getHotelCitySet(hotelcitys);
	return citySet
}
/**************************************/



function ValidatorCheckInOutDate(val){

	var valstr = val.getAttribute("controltovalidate");	
	var strServerDate = val.getAttribute("serverDate");
	var Theme = val.getAttribute("themes");	
	
	var controlIDS = valstr;
	//if(controlIDS.indexOf(",")<0)

	var ctrlstr =  controlIDS.split(",");									
	var strCheckInDate = ValidatorGetValue(ctrlstr[0]);					
	var strCheckOutDate = ValidatorGetValue(ctrlstr[1]);				
	/*if(strCheckInDate.length != 0 && strCheckOutDate.length != 0)
	{
		DisplayHtml(val,"");
		return true;
	}
	*/
	
	//Olympic Hotel Add by:wangh 2008-1-24
	var intInDays20 = 20;
	var intInDays60 = 60;
	//从配置文件中读取 开始 add by minjiang 09-12-2
	try {
	    intInDays20 = parseInt(document.getElementById("IntervallCheckInAndChekOut").value);
	    intInDays60 = parseInt(document.getElementById("IntervallCheckInAndNow").value);
	}
	catch (e)
	{ }
	//从配置文件中读取 结束
	if (document.getElementById("OlympicFlag") != null && 
	    document.getElementById("OlympicFlag").value == "true")
	{
	    intInDays20 = 45;
		intInDays60 = 240;
	}
		
	
	if (!compareToday(strCheckInDate,strServerDate))
		{
		 
		  DisplayHtml(val,HOTEL_REQUEST_COMPARE_IN_TODAY);
		  return (false);
		}
	
		if (compareDate(strServerDate,strCheckInDate,intInDays60))
	    {
		    //cloud.zhou 20080422 此处删除一段代码
			//Add by:Wangh 2007-12-8
			var strIN30 = HOTEL_REQUEST_COMPARE_TODAY_IN30_F + strCheckInDate + HOTEL_REQUEST_COMPARE_TODAY_IN30_B;
			DisplayHtml(val,DisplaySalesCode(strIN30,FormatString(HOTEL_REQUEST_COMPARE_TODAY_IN30_N,strCheckInDate)));		
			
			return false;
	    }    

		
	
	if (!compareToday(strCheckOutDate,strServerDate))
		{
		 
		   DisplayHtml(val,HOTEL_REQUEST_COMPARE_OUT_TODAY);
		  return (false);
		} 
	if (!CheckDate(strCheckInDate,strCheckOutDate)) {
		
		   DisplayHtml(val,HOTEL_REQUEST_COMPARE_IN_OUT);
		return (false);
	    }
	if (compareDate(strCheckInDate,strCheckOutDate,intInDays20))
	    {
	    //Modify by:Wangh 2007-12-5
	    DisplayHtml(val,DisplaySalesCode(HOTEL_REQUEST_COMPARE_IN_OUT20.replace(/REPLACE_DAYS/g,intInDays20),HOTEL_REQUEST_COMPARE_IN_OUT20_N.replace(/REPLACE_DAYS/g,intInDays20)));
		return false;
	    }
	
	 DisplayHtml(val,"");
	return true;

}

//验证酒店名, 可为空
function ValidatorHotelName(val) {

	var valstr = val.getAttribute("controltovalidate");
	var value = ValidatorGetValue(valstr);
	if (ValidatorTrim(value).length == 0) 
	{			 
		DisplayHtml(val,"");
        return true;
    }
    	
    if(!ValidatorStringNum(value))
    {     
		DisplayHtml(val,HOTEL_REQUEST_HOTEL_NAME_SAFESTIRNG);	 
		return false;    
     }
	DisplayHtml(val,"");
	return true;
}

//验证CheckOutDate, 不可为空
function ValidatorCheckOutDate(val) {

	var valstr = val.getAttribute("controltovalidate");	
	var strCheckOutDate = ValidatorGetValue(valstr);
	if (ValidatorTrim(strCheckOutDate).length == 0) 
	{
		DisplayHtml(val,HOTEL_REQUEST_OUT_ISDATE);	 		
        return false;
    }
     
   if ((!IsDate(strCheckOutDate))||(strCheckOutDate=="yyyy-mm-dd")||(strCheckOutDate=="")||(strCheckOutDate=="mm/dd/yyyy"))		
		{
			
			DisplayHtml(val,HOTEL_REQUEST_OUT_ISDATE);
			return (false);
		}
	
	DisplayHtml(val,"");
	return true;

}

//验证CheckInDate, 不可为空
function ValidatorCheckInDate(val) {

	var valstr = val.getAttribute("controltovalidate");
	var strCheckInDate = ValidatorGetValue(valstr);
	
	if (ValidatorTrim(strCheckInDate).length == 0) 
	{
		DisplayHtml(val,HOTEL_REQUEST_IN_ISDATE);	 		
        return false;
    }
    
	if ((!IsDate(strCheckInDate))||(strCheckInDate=="yyyy-mm-dd")||(strCheckInDate=="")||(strCheckInDate=="mm/dd/yyyy"))		
		{
			DisplayHtml(val,HOTEL_REQUEST_IN_ISDATE);
			//objCheckInDate.focus();
			return (false);
		}
	
	DisplayHtml(val,"");
	return true;

	       
}

//验证附近标志
function ValidatorLandMark(val)
{

	var valstr = val.getAttribute("controltovalidate");
	var value = ValidatorGetValue(valstr);
	if (ValidatorTrim(value).length == 0) 
	{
		DisplayHtml(val,HOTEL_REQUEST_LINKMARK_SAFEEMPTY);	 
		return false;
    }
     
    if(!ValidatorString(value))
    {     
     DisplayHtml(val,HOTEL_REQUEST_LINKMARK_SAFESTIRNG);	 
     return false;
     
     }

	DisplayHtml(val,"");
	return true;


}



//验证景区
function ValidatorScenicSpot(val)
{

	var valstr = val.getAttribute("controltovalidate");
	var value = ValidatorGetValue(valstr);
	if (ValidatorTrim(value).length == 0) 
	{
		DisplayHtml(val,HOTEL_REQUEST_SCENERY_SAFEEMPTY);	 
		return false;
    }
     
    if(!ValidatorString(value))
    {     
     DisplayHtml(val,HOTEL_REQUEST_SCENERY_SAFESTIRNG);	 
     return false;
     
     }

	DisplayHtml(val,"");
	return true;


}


//验证城市名, 不可为空
function ValidatorCityName(val) {

	var valstr = val.getAttribute("controltovalidate");
	var value = ValidatorGetValue(valstr);
	if (ValidatorTrim(value).length == 0) 
	{
		 if (document.HotSrch.raCityName[document.HotSrch.raCityName.length - 1].checked ==true)
		 {		
			if (document.HotSrch.HotelName.value!="")
			{
				DisplayHtml(val,"");
				return true;
			}
			 
			DisplayHtml(val,HOTEL_REQUEST_CITY_NAME_SAFEEMPTY);
			return false;
		 }
		 else
		 {
			DisplayHtml(val,"");
			return true;
		 }
	}
     
	if(!ValidatorString(value)&&value!="中文/拼音")
	{     
		DisplayHtml(val,HOTEL_REQUEST_CITY_NAME_SAFEEMPTY);	 
		return false;
	    
	}
	document.HotSrch.raCityName[document.HotSrch.raCityName.length - 1].value=GetHotelCityName(value);
	//document.HotSrch.InCityName.value = GetHotelCityName(value);
	DisplayHtml(val,"");
	return true;
}

//验证英文城市名, 不可为空
function ValidatorCityNameEn(val) {

	var valstr = val.getAttribute("controltovalidate");
	var value = ValidatorGetValue(valstr);
	if (ValidatorTrim(value).length == 0) 
	{
		 if (document.HotSrch.raCityName[document.HotSrch.raCityName.length - 1].checked ==true)
		 {		
			if (document.HotSrch.HotelName.value!="")
			{
				DisplayHtml(val,"");
				return true;
			}
			 
			DisplayHtml(val,HOTEL_REQUEST_CITY_NAME_SAFEEMPTY);
			return false;
		 }
		 else
		 {
			DisplayHtml(val,"");
			return true;
		 }
  }
     
  if(!ValidatorString(value))
  {     
    DisplayHtml(val,HOTEL_REQUEST_CITY_NAME_SAFEEMPTY);	 
    return false;
    
  }
	
	DisplayHtml(val,"");
	return true;
}

//验证城市名(新酒店首页), 不可为空
function ValidatorCity(val) 
{
	var valstr = val.getAttribute("controltovalidate");
	var value = ValidatorGetValue(valstr);
	if (ValidatorTrim(value).length == 0||ValidatorTrim(value)=="支持中文/拼音") 
	{
		DisplayHtml(val,HOTEL_REQUEST_CITY_NAME_SAFEEMPTY);
		return false;
  }
     
  if(GetHotelCityName(value)==null)
  {     
    DisplayHtml(val,HOTEL_REQUEST_CITY_NAME_SAFEEMPTY);	 
    return false;    
  }
  if(!ValidatorString(value))
  {     
    DisplayHtml(val,HOTEL_REQUEST_CITY_NAME_SAFEEMPTY);	 
    return false;    
  }
		//var objForm = document.forms[0];
		//objForm.InCityName_input.value = GetHotelCityName(value);
		
	DisplayHtml(val,"");
	return true;
}

//验证有效字符串.
function ValidatorStringNum(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 ValidatorString(value) {
	var ErrStr;
	var ErrChar;
	var ArryErrStr;
		
	 if (value.length == 0) 
        return false;

	ErrChar="!@#$%^&*()_+|=\\~`;'[]{}\"':;/<>?～！@#￥％^&×……＋|－＝、〔〕｛｝：“；‘《》？。、0123456789";
	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;
}

