(function($) {
	$.fn.get_rooms_and_rates = function (params, hotelid, availpro, opts, noresult_fnc) {
	
		var params = params;
		var body = $(this);
		var hideHotelInfo = false;
		var showNoResult = false;
		var hotelCnt = 1;
		
		if (opts) {		
			if (opts.hideHotelInfo != undefined) hideHotelInfo = opts.hideHotelInfo;
			if (opts.showNoResult != undefined) showNoResult = opts.showNoResult;
			if (opts.hotelCnt != undefined) hotelCnt = opts.hotelCnt;
		}
		
		var LANGUAGE_MAP = new Array();
		LANGUAGE_MAP['POLICY_SUMMARY_INCLUDED'] = 'Inclusief',
		LANGUAGE_MAP['POLICY_SUMMARY_INCLUDED'] = 'Inclusief',
		LANGUAGE_MAP['POLICY_SUMMARY_EXCLUDED'] = 'Exclusief'
		LANGUAGE_MAP['POLICY_HOTEL_EXTRACHARGES'] = 'Toeslagen',
		LANGUAGE_MAP['POLICY_PREPAY'] = 'Aanbetaling',
		LANGUAGE_MAP['POLICY_PREAUTHORIZE'] = 'Authorisatie',
		LANGUAGE_MAP['POLICY_CANCELLATION'] = 'Annuleren',
		LANGUAGE_MAP['POLICY_HOTEL_MEALPLAN'] = 'Maaltijden',
		LANGUAGE_MAP['POLICY_HOTEL_INTERNET'] = 'Internet',
		LANGUAGE_MAP['POLICY_CHILDREN'] = 'Kinderen & Extra bedden',
		LANGUAGE_MAP['POLICY_HOTEL_PARKING'] = 'Parkeren',
		LANGUAGE_MAP['POLICY_HOTEL_PETS'] = 'Huisdieren';
		
		getRooms(hotelid, availpro);
		
		function noresult(hotel) {
			
			if (noresult_fnc != undefined) {
				noresult_fnc(body, hotel);
				return;
			}


			if (showNoResult == false) return;
					
			if (hotel.result == 0) {
				var url = "/city/trendy-hotels-beschikbaarheid.php?stad="+hotel.stad+"&dag="+hotel.dag+"&cym="+hotel.cym+"&nachten=" + hotel.nights;
				body.html ("<div class='no_result'>Voor de gevraagde datum heeft het hotel geen beschikbaarheid. <a href=\"" + url + "\">Bekijk hier</a> de beschikbaarheid van andere Trendy Hotels in "+hotel.stad+" of selecteer hierboven andere verblijfsdata.</div>");
                
			}
		}
		
		
		function showHotel(hotel, params) {
			
			if (hideHotelInfo == true) return '';
			if (params == undefined) params = '';
			
			var html = '';
			html += '<table width="100%" cellpadding="0" cellspacing="0" border="0" class="hotel">';
			html += '<tr>';
			html += '<td width="20%"><a href="' + hotel.url + params + '"><img src="/city/' + hotel.photo + '" border="0"></a></td>';
			html += '<td width="80%" valign="top">';
			html += '<a class="hotelname" href="' + hotel.url + params + '" style="font-size:16px; font-weight:bold; color:#3E0074;">' + hotel.name + ' - ' + hotel.stad + '</a>';
			html += '<div class="hotel-description">' + hotel.description + '</div>';        
			html += '</td>';
			html += '</tr>';
			html += '</table>';
			return html;
		}
		
		function getRooms(id, availpro) {
			
			var successFunction = loadBookingsRooms;
			if (availpro == "X" || availpro == "x") successFunction = loadAvailproRooms;
			if (availpro == "D") successFunction = loadDesignhotelsRooms;
			if (availpro == "M") successFunction = loadMaintrackRooms;
			
			$.ajax ({
					url:'/city/get_rooms2.php', 
					data: {
						id: id, 
						stad: params.stad, 
						cym: params.cym,
						dag: params.dag,
						nachten: params.nachten,
						land: params.land,
						sessionId : params.sessionId,
						pax: params.pax}, 
					type: 'POST',
					cache: true,
					dataType: "json",
					success: successFunction,
					error: function(XMLHttpRequest, textStatus, errorThrown) { process(false);}});
		}
		
		function loadMaintrackRooms(data) {
			
			
			
			var hotel = data.result.hotel;
			var rooms = hotel.rooms;
			
			process(false);
			noresult(hotel);
			
			if (rooms.length == 0) return;
			
			
			showDate(hotel);
			
			var html = '<div class="hotels" id="h_'+hotel.id+'">';
			html += showHotel (hotel);
            html += '<table class="hotel-rooms">';
			html += '<tr>';
			html += '<td><b>Beschikbare Kamers</b></td>';
			html += '<td align="center" nowrap="nowrap"><b>Personen</b></td>';
			html += '<td align="center" nowrap="nowrap"><b>Totaalprijs</b></td>';
			html += '<td>&nbsp;</td>';
			html += '</tr>';
			
			
			if (rooms.length > 0) {
				for(var i = 0; i < rooms.length; i++) {
					var room = rooms[i];
					var id = room.id + '' + i;
					html += '<tr>';
					html += '<td valign="middle"><a href="javascript:void(0);" rel="#maintrack-info-'+id+'" class="get-info">' + room.name + '</a></td>';
					html += '<td valign="top" align="center">' + hotel.noOfPeople + '</td>';
					html += '<td valign="top" align="center" nowrap="nowrap">' + '&euro;' + room.totalRate + '</td>';
					html += '<td valign="top">' + room.form + '</td>';
					html += '</tr>';
					html += '<tr>' + 
								"<td colspan='4'>" + 
									"<div class='info' style='display:none;' id='maintrack-info-" + id + "'>" +
										"<b>Tarief:</b>" + room.ratePlanDescription + "<br><b>Kamerbeschrijving:</b>" + room.roomDescription +
									"</div>" + 
								"</td>" + 
							"</tr>";

				}
			}
			html += '</table>';
			html += '</div>';
			html += '<div class="spacer"></div>';
			
			
			body.append(html);
			

			process(false);
			
			$('.get-info').click( function() {
				$(this.rel).show();
			});
		}
		
		function loadAvailproRooms(data) {
			
			
			var hotel = data.result.hotel;
			var rooms = hotel.rooms;
			
			process(false);
			noresult(hotel);
			showDate(hotel);
			
			if (rooms.length == 0) return;
			
			var html = '';
			html += '<div class="hotels" id="h_'+hotel.id+'">';
			html += showHotel (hotel);
			html += '<table class="hotel-rooms">';
			html += '<tr>';
			html += '<td><b>Beschikbare Kamers</b></td>';
			html += '<td align="center" nowrap="nowrap"><b>Personen</b></td>';
			html += '<td align="center" nowrap="nowrap"><b>&nbsp;</b></td>';
			html += '<td align="center" nowrap="nowrap"><b>Totaalprijs</b></td>';
			html += '<td>&nbsp;</td>';
			html += '</tr>';
			
			for(i=0; i<rooms.length; i++)
			{
				var room = rooms[i];
				var daysHtml = "";
				var pricesHtml = "";
				for(y=0; y<room.dailyRates.length; y++) {
					var rate = room.dailyRates[y];
					daysHtml += ("<td align='center' class='day'>" + rate.day + "</td>");
					pricesHtml += ("<td align='center' class='price'>" + room.currencyId + " " + rate.price + "</td>");
					
				}
				
				html += "<tr valign='top'>" + 
							"<td class='roomname'>" + room.name + "</td>" + 
							"<td align='center'>" + room.maxPax + "</td>" +
							"<td align='center'>" + "<table width='100%' border='0' align='center' class='hotel-rates'><tr>" + daysHtml + "</tr><tr>" + pricesHtml + "</tr></table></td>" +  
							"<td align='center' valign='top'>" + room.currencyId + " " + room.totalRate + "</td>" + 
							"<td width='75' valign='top' align='right'>" + 
								"<a href='" + room.link + "'>Boek nu!</a>" + 
							"</td>";
						"</tr>";
			}
									
			html += '</table>';
			html += '</div>';
			
			
			
			body.append(html);
			
		}
		
		function loadDesignhotelsRooms(data) {
			
			var hotel = data.result.hotel;
			var rooms = hotel.rooms;
			
			process(false);
			noresult(hotel);
			showDate(hotel);
			
			if (rooms.length == 0) return;
			
			var html = '';
			html += '<div class="hotels" id="h_'+hotel.id+'">';
			html += showHotel (hotel);
			html += '<table class="hotel-rooms">';
			html += '<tr>';
			html += '<td><b>Beschikbare Kamers</b></td>';
			html += '<td align="center" nowrap="nowrap"><b>Personen</b></td>';
			html += '<td align="center" nowrap="nowrap"><b>&nbsp;</b></td>';
			html += '<td align="center" nowrap="nowrap"><b>Totaalprijs</b></td>';
			html += '<td>&nbsp;</td>';
			html += '</tr>';
			
			for(i=0; i<rooms.length; i++)
			{
				var room = rooms[i];
				var id = room.id + "_" + hotel.id + "_" + i;
				var id2 = hotel.id + "_" + i;
				
				
				var total = room.totalRate;
				var maxPax =  room.pax;
				
				html += "<tr valign='top'>" +
						"<td class='roomname'><a href='javascript:void(0)' rel='#dh-info-" + id2 + "' class='get-info'>" + room.name + "</a></td>" +
						"<td align='center'>" + maxPax + "</td>" +
						"<td align='center' valign='top'>" + total + "</td>" +
						"<td width='75' valign='top' align='right'>";
						
				html += "<form id='" + id + "' action='https://trendy-hotels-nl.firstfind.nl/res/bookings_des.php' method='post' style='line-height:0'>";
				html += "<input type='hidden' name='rate_id' value='" + room.rate_id + "'>";
				html += "<input type='hidden' name='hotel_id' value='" + hotel.id + "'>";
				html += "<input type='hidden' name='matches' value='" + room.match + "'>";
				html += "<input type='hidden' name='room_id' value='" + room.id + "'>";
				html += "<input type='hidden' name='pax' value='" + room.pax + "'>";
				html += "<input type='hidden' name='kids' value=" + room.kids + ">";
				html += "<input type='hidden' name='kosten' value='" + room.kosten + "'>";
				html += "<input type='hidden' name='ratedes' value='" + room.ratedes + "'>";
				html += "<input type='hidden' name='ann' value='" + room.ann + "'>";
				html += "<input type='hidden' name='tax' value='" + room.tax + "'>";
				html += "<input type='hidden' name='id' value='" + i + "'>";		
						"<input type='image' value='boek nu!' name='book' src='../graphics/boek_nu.gif'>" + "</form>" + 
						"</td>" +
					"</tr>" + 
					"<tr>" + 
						"<td colspan='4'>" + 
							"<div class='info' style='display:none;' id='dh-info-" + id2 + "'>" +
								"<b>Tarief:</b>" + room.rate_title + room.ratedes + "<br>" + 
								"<b>Totaal bedrag aan belastingen:</b>" + room.currency + " " + room.tax + " niet inbegrepen in de kamerprijs.<br>" +
								"<b>Kamerbeschrijving:</b>" + room.description + "<br>" +
								"<b>Annuleringsbeleid:</b>" + room.penalties + "<br>" + 												
							"</div>" + 
						"</td>" + 
					"</tr>";
			}
									
			html += '</table>';
			html += '</div>';
			
			
			
			body.append(html);
			

			$('.get-info').click( function() {
				$(this.rel).show();
			});
		}
		
		
		function loadBookingsRooms(data) {
			_Mtrack('Beschikbaarheid hotelpagina geladen')
			var hotel = data.result.hotel;
			var rooms = hotel.rooms;
			process(false);
			noresult(hotel);
			showDate(hotel);
			
			var params = hotel.params;
			
			if (rooms.length == 0) return;

			var html = '';
			html += "<form id='hotel_" + hotel.id + "' onsubmit='return validate_room(this);' action='https://trendy-hotels-nl.firstfind.nl/res/bookings_new_call.php' method='post' style='line-height:0'>";				
			html += '<div class="hotels" id="h_'+hotel.id+'">';
			html += showHotel (hotel, params);
			html += '<table class="hotel-rooms">';
			html += '<tr>';
			html += '<td><b>Beschikbare Kamers</b></td>';
			html += '<td align="center" nowrap="nowrap"><b>Personen</b></td>';
			html += '<td align="center" nowrap="nowrap"><b>&nbsp;</b></td>';
			html += '<td align="center" nowrap="nowrap"><b>Totaalprijs</b></td>';
			html += '<td>&nbsp;</td>';
			html += '</tr>';
			
			for(i=0; i<rooms.length; i++)
			{
				var room = rooms[i];
				var id = "r_" + i + hotel.id;
				var blocks = room.blocks;
				var block_html = "";
				if (blocks)
				{
					block_html += "<select name='block_id[]' style='width:90px;' class='blocks_" + hotel.id + "'>";
					for(n = 0; n < blocks.length; n++) {
						block_html += "<option value='" + blocks[n].value + "'>" + blocks[n].text + "</option>";
					}
					block_html += "</select>";
				}
				var policies_html = '';
				if (room.policies)
				{
					for (var n = 0; n < room.policies.length; n++)
					{
						policies_html += '<div class="info"><b style="color:#3E0074;font-size:11px;">' + room.policies[n].text + ': </b>' + room.policies[n].content + '</div>';
					}
				}
				var photos_html = '';
				if (room.photos)
				{
					photos_html += '<div>';
					for (var n = 0; n < room.photos.length; n++)
					{
						//<a href="1.jpg" class="preview"><img src="1s.jpg" alt="gallery thumbnail" /></a>
						var large_photo=room.photos[n];
						if (room.large_photos[n]) large_photo = room.large_photos[n];
						photos_html += '<a href="'+large_photo+'" class="preview">';
						photos_html += '<img align="left" src="'+room.photos[n]+'" border="0" alt="gallery thumbnail" />'; 
						photos_html += '</a>';
					}
					photos_html += '</div><br style="clear:both;" />';
				}
				html += "<tr valing='top'>" + 
							"<td width='250'>" + 
								"<input type='hidden' name='room" + i + "' value='" + room.name + "'>" + 
								"<input type='hidden' name='maxpax" + i + "' value='" + room.maxPax + "'>" + 
								"<a class='get-info' href='javascript:void(0)' rel='#bookings-info-" + id + "'>" + room.name + "<a>" + 
							"</td>" + 
							"<td align='center'>" + room.maxPax + "</td>" + 
							"<td align='center'>" + room.totalRate + "</td>" + 
							"<td align='right'>" + block_html + "</TD>" + 
						"</TR>" + 
						"<tr>" + 
							"<td colspan='4'>" + 
								"<div class='info' style='display:none;' id='bookings-info-" + id + "'>" + 
									photos_html + 
									"<div class='info'><b style='color: rgb(62, 0, 116); font-size: 11px;'>Kamerbeschrijving: </b>" +
									room.infos + '</div>' + policies_html + 
								"</div>" + 
							"</td>" + 
						"</tr>";												
			}
			html += '<tr>'; 
			html += "<td colspan='5' align='right'><input type='image' name='submit' value='boek nu!' src='/graphics/boek_nu.gif' /></td>";
			html += "</tr>";
			html += '</table>';
			html += '<input type="hidden" name="hotel_id" value="' + hotel.id + '" />'; 
			html += '<input type="hidden" name="start_date" value="' + hotel.dateCheckIn + '" />';
			html += '<input type="hidden" name="end_date" value="' + hotel.dateCheckOut + '" />';
			html += '<input type="hidden" name="nachten" value="' + hotel.nights + '" />';
			html += '</div>';
			html += '</form>';
			
			body.append(html);	
			
			imagePreview();
			
			$('.get-info').click( function() {
				$(this.rel).show();
			});
			
		}
		
		
		return this;	
	}
})(jQuery);

