
(function($) {
	$.fn.get_best_rates = function (params, hotelid, availpro, opts, noresult_fnc) {
	
		var params = params;
		var body = $(this);
		var hideHotelInfo = false;
		var showNoResult = false;
		
		if (opts) {		
			if (opts.hideHotelInfo != undefined) hideHotelInfo = opts.hideHotelInfo;
			if (opts.showNoResult != undefined) showNoResult = opts.showNoResult;
		}
		
		getBestRates(hotelid);
		
		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' style='font-size:15px; color:#F96B07; font-weight:bold;'>Voor de gevraagde datum heeft het hotel geen beschikbaarheid. <a href=\"" + url + "\" style='font-size:15px; color:#F96B07; font-weight:bold; text-decoration:underline;'>Bekijk hier</a> de beschikbaarheid van andere Trendy Hotels in "+hotel.stad+" of selecteer hierboven andere verblijfsdata.</div>");
			}
		}
		
		function showHotel(hotel) {
			
			if (hideHotelInfo == true) return '';
			
			var html = '';
			html += '<table width="100%" cellpadding="0" cellspacing="0" border="0" class="hotel">';
			html += '<tr>';
			html += '<td width="20%"><a href="' + hotel.url + '"><img src="/city/' + hotel.photo + '" border="0"></a></td>';
			html += '<td width="80%" valign="top">';
			html += '<a class="hotelname" href="' + hotel.url + '" style="font-size:16px; font-weight:bold; color:#3E0074;">' + hotel.name + '</a>';
			html += '<div class="hotel-description">' + hotel.description + '</div>';
			html += '</td>';
			html += '</tr>';
			html += '</table>';
			return html;
            
		}

		 function loadBestRates(data) {
			
			var hotel = data.result.hotel;
			
			process(false);
			noresult(hotel);
			
			if (hotel.rates.length == 0) return;
			
			var html = '<div class="hotels" id="h_'+hotel.id+'">';
			html += '<div class="hotel_process" id="p_'+hotel.id+'" style="display:none;">&nbsp;</div>';
			html += showHotel (hotel);
			html += '<table class="hotel-best-rates" style="height:32px;">';
			
			var rates = hotel.rates;
			
			if (rates != undefined && rates.length > 0) {
				var lowestRate = 0;
				var index = 0;
				for(var i = 0; i < rates.length; i++) {
					var rate = rates[i];
					var price = parseFloat(rate.roomRate);
					if (lowestRate == 0) {
						lowestRate = price;
					}
					if (price < lowestRate) {
						lowestRate = price;
						index = i;
					}
					
					//if (rate.available == 'Y' && rate.roomRate != rate.lowestRate) continue;
					
					//if (rate.lowestRate && rate.lowestRate < price) price = rate.lowestRate;
					
				}
				html += '<tr valign="top">';
				html += '<td valign="top">' + rates[index].rateType + '</td>';
				html += '<td valign="top">' + rates[index].currencyId + ' ' + rates[index].roomRate + ' per nacht</td>';
				html += '<td valign="top" align="right">' + '<a onclick="get_rates(\''+hotel.id+'\',\''+rates[index].url+'\')" id="' + rates[index].sessionId + '" class="get-rates" href="javascript:void(0)">Klik hier voor meer prijzen en kamertypes</a></td>';
				html += '</tr>';
			}
			html += '</table>';
			html += '</div>';
			html += '<div class="spacer"></div>';
			
			body.append(html);
    	}

		function getBestRates(hotelid) {
				
			$.ajax ({
					url:'/city/get_best_rate.php', 
					data: {
						id: hotelid, 
						stad: params.stad, 
						cym: params.cym,
						dag: params.dag,
						nachten: params.nachten,
						land: params.land,
						pax: params.pax}, 
					type: 'POST',
					cache: true,
					dataType: "json",
					success: loadBestRates,
					error: function(XMLHttpRequest, textStatus, errorThrown) { process(false);}});
		}
		
		return this;	
	}
})(jQuery);

