// JavaScript Document


function printHead( selector, hotelLanguage ) {
	if(hotelLanguage == 'zh_HK') {
		var constAc = '操作' ;
		var constPrize = '獎金' ;
		var constAvg = '均價' ;
		var constFirst = '首日價' ;
		var constOri = '門市價' ;
		var constBf = '早餐' ;
		var constBw = '寬帶' ;
		var constDesc = '詳情' ;
		var constName = '房型' ;
		var constAllExpan = '(全部展開?)' ;
		var constAllColl = '(全部合攏?)' ;
	}
	else {
		var constAc = '操作' ;
		var constPrize = '奖金' ;
		var constAvg = '均价' ;
		var constFirst = '首日价' ;
		var constOri = '门市价' ;
		var constBf = '早餐' ;
		var constBw = '宽带' ;
		var constDesc = '详情' ;
		var constName = '房型' ;
		var constAllExpan = '(全部展开?)' ;
		var constAllColl = '(全部合拢?)' ;
	}
	$j( selector ).each(function(){
		var hotelID = $j(this).attr('hotelid');
		$j(this).before( '<div id="HHD-hotel-room-head-' + hotelID + '" class="HHD-hotel-room-head"><div id="HHD-hotel-room-head-inner-' + hotelID + '" class="HHD-hotel-room-head-inner"><div class="room-ac">' + constAc + '</div><div class="room-prize">' + constPrize + '</div><div class="room-avg-head">' + constAvg + '</div><div class="room-first">' + constFirst + '</div><div class="room-ori">' + constOri + '</div><div class="room-bf">' + constBf + '</div><div class="room-bw">' + constBw + '</div><div class="room-desc">' + constDesc + '</div><div class="room-name">' + constName + '<a href="#" onclick="javascript:slideToggleAllRoom(this,\'' + constAllExpan +'\',\'' + constAllColl +'\');return false;"><small>' + constAllExpan + '</small></a></div></div></div>' );
	}); 
}

function slideToggleAllRoom(el, allExpan, allColl ){
	if( $j(el).children('small').html() == allExpan ) {
		$j(el).parent().parent().parent().next().children().children().children('a').each(function(){
			var roomID = this.id.replace( "room-name-","") ;
			if( $j('#room-price-and-desc2-' + roomID ).length == 0 ) {
				$j(this).trigger('click');
			}
			else if( $j('#room-price-and-desc2-' + roomID )[0].style.display == 'none' ){
				$j(this).trigger('click');
			}
		});
		$j(el).children('small').html(allColl);
	}
	else {
		$j(el).parent().parent().parent().next().children().children().children('a').each(function(){
			var roomID = this.id.replace( "room-name-","") ;
			if( $j('#room-price-and-desc2-' + roomID ).length > 0 && $j('#room-price-and-desc2-' + roomID )[0].style.display != 'none' ) {
				$j(this).trigger('click');
			}
		});
		$j(el).children('small').html(allExpan) ;
	}
}
		
		
function openHotelFromHSR(el){
	var lnk = $j(el).parents('.HSR-hotel').prev().children('a')[0];
    if (document.createEvent) {  
		//window.location.target="_blank";
		//window.location.href=lnk.href;
		window.open(lnk.href,'_blank');
    } else if (document.createEventObject) {  
		lnk.click();
    }  
}

//1、查询房间价格，className为类名，装房间价格数据的div容器
//需要访问和设置全局变量，ajaxToken
function printRooms( selector,checkin, checkout, printNoteFlg, limit, hotelLanguage, ajaxToken ){
	if(hotelLanguage == 'zh_HK') {
		var constWaitForPrice = '請稍候，正在查詢房間價格......' ;
		var constNoRooms = '沒有適合的房型價格可供預訂。 ' ;
		var constViewAllRoom1 = '查看所有房型(共' ;
		var constViewAllRoom2 = '個)' ;
		var constOrder = '預訂' ;
		var constView = '訂完' ;
		var constDateFromTo = ' 至 ' ;
		var constDetail = '詳情' ;
	}
	else {
		var constWaitForPrice = '请稍候，正在查询房间价格......' ;
		var constNoRooms = '没有适合的房型价格可供预订。' ;
		var constViewAllRoom1 = '查看所有房型(共' ;
		var constViewAllRoom2 = '个)' ;
		var constOrder = '预订' ;
		var constView = '订完' ;
		var constDateFromTo = ' 至 ' ;
		var constDetail = '详情' ;
	}
	//设置等待
	$j( selector ).html( '<p><center style="height:40px;line-height:40px;">' + constWaitForPrice + '</center></p>' );
	var hotelIDs=[];var hotelIDString = '' ;
	$j( selector ).each(function(){
		var hotelID = $j(this).attr('hotelid');
		hotelIDs[hotelIDs.length] = hotelID;
		hotelIDString += (hotelIDString?',':'') + hotelID;
	});
	if(printNoteFlg) $j('.HHD-hotel-room-note').html( '' ); 
	
	$j.post( '/', {m:'Hotel',h:'Hotel', a:'GetRoomPrices', ids:hotelIDString, ajaxToken:ajaxToken, checkin:checkin, checkout:checkout, printNoteFlg:printNoteFlg, cl:hotelLanguage}, function(json){
		var roomTable = '' ;
		if(printNoteFlg) var noteTable = '' ;
		//更新ajax访问令牌
		if( json.ajaxToken ) ajaxToken = json.ajaxToken ;
		//更新cookiecookie
		if( json.cookie ) setCookie( json.cookie ) ;
		//出现错误显示错误
		if( json.errorMsg.length > 0 ) {
			roomTable = '<p><center><strong>' + json.errorMsg + '</strong></center></p>' ;
			$j(selector).html( roomTable ); 
		}
		else{
			for( x in hotelIDs) {
				roomTable = '' ;
				if( json.hotelRooms[hotelIDs[x]]=='undefined' || json.hotelRooms[hotelIDs[x]] instanceof Array && json.hotelRooms[hotelIDs[x]].length == 0 ) {
					roomTable = '<p><br/><br/><center><strong>' + constNoRooms + '</strong></center><br/><br/></p>' ;
					$j('#HHD-hotel-room-data-' + hotelIDs[x]).html( roomTable ); 
				}
				else {
					var hotelRooms = json.hotelRooms[hotelIDs[x]] ;
					for( var i=0; i<hotelRooms.length; i++ ) {
						if( limit>0 && i>= limit ) {
							//生成查看全部房型
							roomTable += '<div style="float:right; width:750px; text-align:right; padding:0px 10px 0px 10px; height:32px; font:bold 12px/32px Arial;"><a target="_blank" onclick="openHotelFromHSR(this);return false;" href="#">' + constViewAllRoom1 + hotelRooms.length + constViewAllRoom2 + '</a></div>' ;
							break ;
						}
						var room = hotelRooms[i] ;
						if(room['BAND_WIDTH'].indexOf('<br')>=0) {
							room['BAND_WIDTH'] = room['BAND_WIDTH'].replace(/<br\/?>/g,',');
						}
						var roomPrices = json.hotelRoomPrices[room['ID']] ;
						roomTable += '<div id="room-row-' + room['ID'] + '" class="room-row">' ;
						roomTable += '<div class="room-ac">' + (roomPrices['OK'] ? ('<form action="/?m=Hotel&h=Order" method="post" enctype="multipart/form-data" name="fm-' + room['ID'] + '" target="_blank"><input name="room" type="hidden" value="' + room['ID'] + '"><input name="checkin" type="hidden" value="' + $j('#checkin').val() + '"><input name="checkout" type="hidden" value="' + $j('#checkout').val() + '"><input class="btn-order" name="" type="submit" value="' + constOrder + '" /></form>') : constView ) + '</div>' ;
						var gain = roomPrices['GAIN'] ;
						roomTable += '<div class="room-prize">' + (gain?'&nbsp;':'&nbsp;') + '</div>' ;
						roomTable += '<div class="room-avg" roomid="' + room['ID'] + '" weekheader="' + roomPrices['WEEKS'] + '" prices="' + roomPrices['PRICES'] + '">' + room['CURRENCY'] + '&nbsp;' + roomPrices['AVG'] + '</div>' ;
						roomTable += '<div class="room-first">' + room['CURRENCY'] + '&nbsp;' + roomPrices['FIRST'] + '</div>' ;
						roomTable += '<div class="room-ori">' + room['CURRENCY'] + '&nbsp;<del>' + room['ORI_PRICE'] + '</del></div>' ;
						var bf = roomPrices['BF'] ;
						roomTable += '<div class="room-bf" title="' + bf + '"><u>' + (bf?bf.substr(0,2):'&nbsp;') + '</u></div>' ;
						roomTable += '<div class="room-bw">' + (room['BAND_WIDTH']?room['BAND_WIDTH']:'&nbsp;') + '</div>' ;
						roomTable += '<div class="room-desc" roomid="' + room['ID'] + '" descs="' + room['DESC'] + '"><u>' + constDetail + '</u></div>' ;

						roomTable += '<div class="room-name"><a id="room-name-' + room['ID'] + '" onClick="return false;" href="#">' + (room['ROOM_NAME']?room['ROOM_NAME']:'&nbsp;') + '</a></div>' ;
						roomTable += '</div>' ;
					}
					if(printNoteFlg) 
					if( json.hotelNotes[hotelIDs[x]]=='undefined' || json.hotelNotes[hotelIDs[x]] instanceof Array && json.hotelNotes[hotelIDs[x]].length > 0 ) {
						var hotelNotes = json.hotelNotes[hotelIDs[x]] ;
						noteTable += '<div id="HHD-hotel-room-note"><div id="HHD-hotel-room-note-inner">' ;
						for( var i=0; i<hotelNotes.length; i++ ) {
							var hotelNote = hotelNotes[i] ;
							noteTable += '<div class="note-row"><div class="note-fromto">' + (i+1) + ')、&nbsp;' + hotelNote['DATE_FROM'] + constDateFromTo + hotelNote['DATE_TO'] + '</div><div class="note-content">' + hotelNote['DESCRIPTION'] + '&nbsp;</div></div>'
						}
						noteTable += '</div></div>' ;
						roomTable += noteTable ;
					} 
					$j('#HHD-hotel-room-data-' + hotelIDs[x]).html( roomTable ); 
				}
			}
		}  
		setRooms( hotelLanguage ) ;
	}, "json" ) ;
}

//2、设置显示/隐藏房间详细
function setRooms( hotelLanguage ){
	if(hotelLanguage == 'zh_HK') {
		var constAcBarHide = '∧隱藏' ;
	}
	else {
		var constAcBarHide = '∧隐藏' ;
	}
	$j('.HHD-hotel-room-data .room-name a').click(function(){
		var roomID = this.id.replace( "room-name-","") ;
		//如果目标div尚未创建
		if( $j('#room-price-and-desc2-' + roomID ).length == 0 ) {
			$j('#room-row-' + roomID ).append( $j( '<div class="room-price-and-desc2-o"><div id="room-price-and-desc2-' + roomID + '" class="hide room-price-and-desc2">' + calRoomPriceDivs(roomID) + calRoomDescDivs(roomID) + '<div onclick="$j(\'#room-price-and-desc2-' + roomID + '\').slideToggle(\'normal\');" class="hide-action-bar">' + constAcBarHide + '</div></div></div>' ) );
		}
		$j('#room-price-and-desc2-' + roomID ).slideToggle("normal");
		return false;
	});	
	$j('.HHD-hotel-room-data .room-avg').one( 'mouseover', function(){
		$j(this).wTooltip({content: calRoomPriceDivs( $j(this).attr('roomid') ), style: false, offsetY: 20, 
    offsetX: -570 });
		$j(this).trigger('mouseover');
	});
	$j('.HHD-hotel-room-data .room-desc').one( 'mouseover', function(){
		$j(this).wTooltip({content: calRoomDescDivs( $j(this).attr('roomid') ), style: false, offsetY: 20, 
    offsetX: 0 });
		$j(this).trigger('mouseover');
	});
}
function setCookie( arrs ) {
	for (var i in arrs) { 
		$j.cookie( i, arrs[i], {expires: 1, path: '/'});
		if( i == 'ck_checkin' ) {
			$j('#checkin,#modcheckin').val(arrs[i]);
		}
		else if( i == 'ck_checkout' ) {
			$j('#checkout,#modcheckout').val(arrs[i]);
		}
	}
}

function calRoomPriceDivs( roomID ){
	var divs = '<div class="rp2-row rp2-header"><div class="rp2-cell">&nbsp;</div>' ;
	var weekheaders = $j('#room-row-' + roomID + ' .room-avg').attr('weekheader').split('|') ;
	for( var i=0; i<weekheaders.length; i++ ) {
		divs += '<div class="rp2-cell">' + weekheaders[i] + '</div>' ;
	}
	divs += '</div>' ;
	
	var prices = $j('#room-row-' + roomID + ' .room-avg').attr('prices').split('|') ;
	var flgNeedCloseRow = false ;
	for( var i=0; i<prices.length; i++ ) {
		if( !prices[i] ) break ;
		if( i % 8 == 0 ) {
			divs += '<div class="rp2-row rp2-data"><div class="rp2-cell">' + prices[i] + '</div>' ;
			flgNeedCloseRow = true ;
		}
		else {
			var priceArr = prices[i].split('-');
			divs += '<div class="rp2-price"><u>' + priceArr[0] + '</u><br/>' + priceArr[1] + '</div>' ;
		}
		
		if( i % 8 == 7 && flgNeedCloseRow ) {
			divs += '</div>' ;
			flgNeedCloseRow = false ;
		}
	}
	if( flgNeedCloseRow ) {
		divs += '</div>' ;
		flgNeedCloseRow = false ;
	}
	return '<div id="room-price-' + roomID + '" class="room-price2"><div class="room-price2-inner">' + divs + '</div></div>' ;
}
function calRoomDescDivs( roomID ){
	var descs = $j('#room-row-' + roomID + ' .room-desc' ).attr('descs').replace(/ +/g,'；').split('；');
	var lis = '';
	if(descs.length>0) {
		for( var i=0;i<descs.length;i++ ) {
			if(descs[i].length>0)
			lis += '<li>' + descs[i] +'</li>' ;
		}
	}
	if( lis.length > 0 ) {
		return '<div id="room-desc-' + roomID + '" class="room-desc2"><div class="room-desc2-inner"><ul>' + lis + '</ul></div></div>' ;
	}
	return '<div id="room-desc-' + roomID + '" class="room-desc2"><div class="room-desc2-inner"><ul><li>宽带:' + $j('#room-row-' + roomID + ' .room-bw').html() + '</li></ul></div></div>' ;
}


