 var travelsky = travelsky ? travelsky : {};
 travelsky.tss = travelsky.tss ? travelsky.tss : {};
 travelsky.tss.hotel = travelsky.tss.hotel ? travelsky.tss.hotel : {};
 travelsky.tss.hotel.Tool = travelsky.tss.hotel.Tool ? travelsky.tss.hotel.Tool : {};
 travelsky.tss.hotel.ToolTip = travelsky.tss.hotel.ToolTip ? travelsky.tss.hotel.ToolTip : {};
 travelsky.tss.hotel.validate = travelsky.tss.hotel.validate ? travelsky.tss.hotel.validate : {};
 travelsky.tss.hotel.Tool.getDateDiff=function(sDate1, sDate2){  
     var aDate, oDate1, oDate2, iDays
     aDate = sDate1.split("-")
     oDate1 = new Date(aDate[0],aDate[1]-1,aDate[2]) 
     aDate = sDate2.split("-")
     oDate2 = new Date(aDate[0],aDate[1]-1,aDate[2])
     iDays = parseInt(Math.abs(oDate1 - oDate2) / 1000 / 60 / 60 / 24)  
     return iDays
 } 

 travelsky.tss.hotel.Tool.getAddDayDateStr=function(dayadd){
					today = new Date();
					today.setTime(today.getTime()+dayadd*1000*60*60*24)
					return today.getFullYear()+'-'+((today.getMonth()+1)>9?(today.getMonth()+1):'0'+(today.getMonth()+1))+'-'+(today.getDate()>9?today.getDate():'0'+today.getDate())
				}
 travelsky.tss.hotel.Tool.formatDateYYYYmmdd=function(today)
 {
	 return today.getFullYear()+'-'+((today.getMonth()+1)>9?(today.getMonth()+1):'0'+(today.getMonth()+1))+'-'+(today.getDate()>9?today.getDate():'0'+today.getDate())
 }
 //比较yyyy-MM-dd 格式的 日期大小
 travelsky.tss.hotel.Tool.compareDate=function(d1,d2){
	 d1a=d1.split('-');
	 d2a=d2.split('-');
	 return (d1a[0]+''+d1a[1]+''+d1a[2])-(d2a[0]+''+d2a[1]+''+d2a[2])>0?true:false;
 }
 travelsky.tss.hotel.ToolTip.initVTip=function(baseUrl){
//	 function vtipBodyClick (){
//		 $("p#vtip").fadeOut("slow").remove();
//	 }
//	 $('body').unbind('click',vtipBodyClick).bind('click',vtipBodyClick);
	 travelsky.tss.hotel.ToolTip.baseUrl=baseUrl;
 }
 travelsky.tss.hotel.ToolTip.baseUrl='';
 travelsky.tss.hotel.ToolTip.showVTip = function(id,content,speed,location) {
		this.xOffset = -10; // x distance from mouse
		this.yOffset = 14; // y distance from mouse    
		$("p#staticvtip").fadeOut("slow").remove();
     var vtiptop = $('#'+id).offset().top+$('#'+id).height()+this.yOffset;
	 var vtipleft = $('#'+id).offset().left+this.xOffset;
	 var arrowSrc=travelsky.tss.hotel.ToolTip.baseUrl+'/hotel/common/imgs/vtip_arrow_up.png';
	 var arrowCss={'position':'absolute','top':'-10px','left': '5px'};
     $('body').append( '<p id="staticvtip"><img id="staticvtipArrow" />' + content + '</p>' ); 
     
	 if(typeof(location)!=='undefined'&&$.trim(location)!='')
	 {
		switch(location)
		{
			case 'buttom':vtiptop = $('#'+id).offset().top+$('#'+id).height()+this.yOffset;
				 		vtipleft = $('#'+id).offset().left+$('#'+id).width()/2+this.xOffset; 
				 		arrowSrc=travelsky.tss.hotel.ToolTip.baseUrl+'/hotel/common/imgs/vtip_arrow_up.png';
				 		arrowCss={'position':'absolute','top':'-10px','left': '5px'};
				 		break;
			case 'buttom right':vtiptop = $('#'+id).offset().top+$('#'+id).height()+this.yOffset;
	 							vtipleft = $('#'+id).offset().left+$('#'+id).width()+this.xOffset; 
	 							arrowSrc=travelsky.tss.hotel.ToolTip.baseUrl+'/hotel/common/imgs/vtip_arrow_up.png';
	 							arrowCss={'position':'absolute','top':'-10px','left': '5px'};
	 							break;
			case 'buttom left':vtiptop = $('#'+id).offset().top+$('#'+id).height()+this.yOffset;
								vtipleft = $('#'+id).offset().left+this.xOffset; 
								arrowSrc=travelsky.tss.hotel.ToolTip.baseUrl+'/hotel/common/imgs/vtip_arrow_up.png';
								arrowCss={'position':'absolute','top':'-10px','left': '5px'};
								break;
			case 'top':vtiptop = $('#'+id).offset().top-$('#'+id).height()-this.yOffset-18;
	 					  vtipleft = $('#'+id).offset().left+$('#'+id).width()/2+this.xOffset; 
	 					 arrowSrc=travelsky.tss.hotel.ToolTip.baseUrl+'/hotel/common/imgs/vtip_arrow_down.png';
	 					arrowCss={'position':'absolute','top':($('#'+id).height()+17)+'px','left': '5px'};
	 					  break;
			case 'top right':vtiptop = $('#'+id).offset().top-$('#'+id).height()-this.yOffset-18;
								vtipleft = $('#'+id).offset().left+$('#'+id).width()+this.xOffset; 
								arrowSrc=travelsky.tss.hotel.ToolTip.baseUrl+'/hotel/common/imgs/vtip_arrow_down.png';
								arrowCss={'position':'absolute','top':($('#'+id).height()+17)+'px','left': '5px'};
								break;
			case 'top left':vtiptop = $('#'+id).offset().top-$('#'+id).height()-this.yOffset-18;
							  vtipleft = $('#'+id).offset().left+this.xOffset; 
							  arrowSrc=travelsky.tss.hotel.ToolTip.baseUrl+'/hotel/common/imgs/vtip_arrow_down.png';
							  arrowCss={'position':'absolute','top':($('#'+id).height()+17)+'px','left': '5px'};
							  break;
			case 'right':vtiptop = $('#'+id).offset().top;
			  			vtipleft = $('#'+id).offset().left+$('#'+id).width()+this.yOffset; 
			  			arrowSrc=travelsky.tss.hotel.ToolTip.baseUrl+'/hotel/common/imgs/vtip_arrow_left.png';
			  			arrowCss={'position':'absolute','top':'0px','left': '-9px'};
			  			break;
			case 'left':vtiptop = $('#'+id).offset().top;
					vtipleft = $('#'+id).offset().left-$('#'+id).width()-this.yOffset; 
					arrowSrc=travelsky.tss.hotel.ToolTip.baseUrl+'/hotel/common/imgs/vtip_arrow_right.png';
					arrowCss={'position':'absolute','top':'0px','left': '10px'};
					break;
		}
	 }
     
	 $('p#staticvtip #staticvtipArrow').attr("src", arrowSrc);
	 $('p#staticvtip #staticvtipArrow').css(arrowCss);
     $('p#staticvtip').css("top", vtiptop+"px").css("left", vtipleft+"px");
     if(typeof(speed)=='undefined')
    	 $('p#staticvtip').fadeIn("slow");
     else
     {
    	 $('p#staticvtip').fadeIn(speed);
     }
     
 }
travelsky.tss.hotel.ToolTip.hideVTip = function(){
$("p#staticvtip").fadeOut("slow").remove();
}

travelsky.tss.hotel.validate.validateFieldAndShowTip = function(id,msg,regxps,customerFunction)
{
	res=true;
	if($.trim(regxps)!='')
	{
		$.each(regxps.split(' '),function(i,n){
			if($.trim(n)=='')
				return;
			switch(n)
			{
			case 'require':if($('#'+id).attr('type')=='checkbox'||$('#'+id).attr('type')=='radiobox')
							{
								if($('#'+id).attr('checked')!='true')
								{
									res=res&&false;
									break;
								}
							}
							else
							{
								if($.trim($('#'+id).val())=='')
								{
									res=res&&false;
									break;
								}
							}
							break;
		//	case 'email':if(!/^[_a-z0-9]+@([_a-z0-9]+\.)+[a-z0-9]{2,3}$/.test($.trim($('#'+id).val())))
	case 'email':if(!/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test($.trim($('#'+id).val())))

							{
								res=res&&false;
							}
							break;
			default:reg = eval('('+n+')');
					res =res&& reg.test($.trim($('#'+id).val()));
								
			}
		})
	}
	if(res&&typeof(customerFunction)=='function')
	{
		res= customerFunction(id);
	}
	if(!res)
		travelsky.tss.hotel.ToolTip.showVTip(id,msg,0)
	return res;
	
}

travelsky.tss.hotel.Tool.multiHotelSearchQueryCookieKey={
		cityName:'hotel_cityName',
		checkInDate:'hotel_checkInDate',
		checkOutDate:'hotel_checkOutDate',
		htlName:'hotel_htlName',
		region:'hotel_regionName',
		lowPrice:'hotel_lowPrice',
		highPrice:'hotel_highPrice',
		rankCode:'hotel_rankCode'
}
travelsky.tss.hotel.Tool.buildAveragePriceHtml=function(data){
	week = new Array('星期日','星期一','星期二','星期三','星期四','星期五','星期六');
	mealNameArray = new Array('无早','单早','双早');
	if(data=='undefined'||data.length==0)
		return '';
	reshtml="<table class='tts_table_dataprice_load'>";
	beginweekday = travelsky.tss.hotel.Tool.parseDateYYYYmmdd(data[0].date).getDay()
	reshtml+="<tr><th></th>"
	for(i=beginweekday;i<beginweekday+7;i++)
		reshtml+="<th>"+week[i%7]+"</th>"
	reshtml+="</tr>"
	$.each(data,function(i,n){
		d = travelsky.tss.hotel.Tool.parseDateYYYYmmdd(n.date)
		if(i%7==0)
			reshtml+="<tr><th>第"+(i/7+1)+"周</th>"
			mealname=''
			switch(n.meal)
			{
			case '1':mealname='单早'
				break;
			case '2':mealname='双早'
				break;
			default:mealname='无早'
				break;
			}
			
		reshtml+=("<td><div><span>￥"+n.price+"</span></div><div><font>"+mealname+"</font></div></td>")
		if(i%7==6)
			reshtml+="</tr>"
	})
	if(data.length%7!=0)
	{
		for(j=0;j<7-data.length%7;j++)
		{
			reshtml+="<td></td>";
		}
		reshtml+="</tr>"
	}
	reshtml+="</table>";
	return reshtml;
}
travelsky.tss.hotel.Tool.parseDateYYYYmmdd=function(d){
	var y = d.substring(0,4);
	var m = d.substring(4,6)-1;
	var d = d.substring(6,8);
	return new Date(y,m,d);
}


function AddDate(LISTR_Date,LISTR_AddDays,LISTR_DateType)
{      
  var LSTR_YY=0;
  var LSTR_MM=0;
  var LSTR_DD=0;
  var LINT_FLAG=0;

  //检查日期格式为 "YYYYMMDD" 或 
  //"MMDDYYYY" 且长度为8码
  if((LISTR_DateType!="YYYYMMDD") && (LISTR_DateType!="MMDDYYYY") && (LISTR_Date.length!=8))
    return false;
  if(LISTR_DateType=="MMDDYYYY")
    LISTR_Date=LISTR_Date.substr(4,4)+LISTR_Date.substr(0,4);
  LSTR_YY=parseInt(LISTR_Date.substr(0,4),10);
  LSTR_MM=parseInt(LISTR_Date.substr(4,2),10);
  LSTR_DD=parseInt(LISTR_Date.substr(6,2),10)+parseInt(LISTR_AddDays,10);
  while(LINT_FLAG==0)
  {
    switch (LSTR_MM)
    {
      case 2:
       if ((LSTR_YY % 4) != 0)
       {
         if (LSTR_DD > 28)
         {
             LSTR_DD -=28;
           LSTR_MM =3;
       }
       else
       {
         LINT_FLAG=1;
       }
       }
       else 
       {
         if (((LSTR_YY % 100) == 0) && ((LSTR_YY % 400) != 0)) 
         {
           if (LSTR_DD > 28)
           {
             LSTR_DD -=28;
             LSTR_MM =3;
           }
           else
           {
             LINT_FLAG=1;
           }
         }
         else 
         {
           if (LSTR_DD > 29)
           {
             LSTR_DD -=29;
             LSTR_MM =3;
           }
           else
           {
             LINT_FLAG=1;
           }
         }
       }
      break;
    case 4:
    case 6:
    case 9:
    case 11:
      if (LSTR_DD > 30)
      {
        LSTR_DD -=30;
        LSTR_MM +=1;
      }
      else{LINT_FLAG=1;}
      break;
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
      if (LSTR_DD > 31)
      {
        LSTR_DD -=31;
        LSTR_MM +=1;
      }
      else
      {
        LINT_FLAG=1;
      }
      break;
    case 12:
      if (LSTR_DD > 31)
      {
        LSTR_DD -=31;
        LSTR_MM=1;
        LSTR_YY +=1;
      }
      else
      {
         LINT_FLAG=1;
      }
      break;
    default:
      return;
      break;
   }
  }
  if (LSTR_MM<10)
  {
    LSTR_MM="0" +LSTR_MM;
  }
  if (LSTR_DD<10)
  {
   LSTR_DD="0" +LSTR_DD;
  }
  if(LISTR_DateType=="MMDDYYYY")
    return LSTR_MM+""+LSTR_DD+""+LSTR_YY+"";
  else
    return LSTR_YY+""+LSTR_MM+""+LSTR_DD+"";
}

