$(document).ready(function() {

	if (window['accommodationid'] == null) return;
	
	getCommerceForAccommodation(accommodationid, "hotel");

	getTripReviews();

	addClickToSeePrices();

	addPopupUserInfoEvent();

	truncateReviewComments();

	addReviewHelpfulEvent();
});

function addReviewHelpfulEvent()
{
	$('.helpful_question a').each(function(i, e) {

		$(e).click(function(i) {

			var reviewId = $(e).attr('data');
			var vote = $(e).attr('class');

			$.getJSON("/ReviewHelfulSubmission.html?reviewid="
				+ reviewId + "&vote=" + vote,
				function(data){
				  showMessage('Thank you', null, 800);

				  var helpfulResult = $(e).parent();

				  helpfulResult.fadeOut("slow",
					function(){
						helpfulResult.html('Voted ' + vote + "!");
						helpfulResult.fadeIn("slow")
					});

				  if(vote == 'yes')
				  {
					  var useful = $('.useful[data='+reviewId+']');
					  useful.html( parseInt(useful.html()) + 1 );
				  }
			  
				  var total = $('.total[data='+reviewId+']');
				  total.html( parseInt(total.html()) + 1 );
			});
			return false;
		});
	});
}

function truncateReviewComments()
{
	$('.review_text').truncate({max_length: 200});
}

function addPopupUserInfoEvent()
{
	$(".review_header em").hover(function() {
		$(this).next("ul").stop(true, true).animate({opacity: "show", top: "5"}, "slow");
		}, function() {
			$(this).next("ul").animate({opacity: "hide", top: "-70"}, "slow");
	});
}

function getTripCheckRates()
{
	var url = "/ICR.html";
	var data =  "accommodationid=" + accommodationid;
	
	$.ajax({
	   type: "POST",
	   url: url,
	   data: data,
	   success: function(msg)
	   {
			$('.checkrates_outer').empty();
	   		$('.checkrates_outer').append(msg);
	   		$('.checkrates_outer').show();
	   		
	   		prepareICRForms();
	   		
	   		return true;
	   }
	 });
}

function addClickToSeePrices()
{
	$('a.bookitbutton').each(function (i, e) 
	{ 
		$(e).click(function () 
		{
			var cRGB = new CheckRatesGB();
			$('body').append(cRGB.toHTML());
			return false;
		});
	});
}

function prepareICRForms()
{
	if( window['vendorLength'] == null || vendorLength == 0 ) 
	{
		$('.checkrates_container').hide();
	}
	else
	{
		$('.checkrates_container').each(function (i, e) 
		{ 
			var div = $(e);
			
			div.find('input[name=checkout_date]').datepicker( {onClose: function(date, e) {updateInDate(date, e)},maxDate: maxDate, minDate: minDate, defaultDate: inDate, dateFormat: 'dd/mm/yy'});
			div.find('input[name=checkin_date]').datepicker( {onClose: function(date, e) {updateOutDate(date, e)}, maxDate: maxDate, minDate: minDate, defaultDate: outDate, dateFormat: 'dd/mm/yy'});
			
			var submitCheckratesButton = div.find('img[class=submit_checkrates]');
			submitCheckratesButton.click( function () 
			{ 
				openPopups(div);
				var data = {'accommodationid': accommodationid, 'section': getSection(), 'poolid': poolid};
				var logger = new CheckRatesActionButton(data);
				logger.Log();
			});
			
		});
	}
}

function getTripReviews() {
	
	if(accommodationid ==0 || tripReviewLimit ==0) {
		return false;
	}
	
	var url = '/TripReviews-' + accommodationid + '-' + tripReviewLimit + '.html';
	$("#trip_reviews").load(url, {}, function() {
		$(".trip_bookit").click(function() {
			var cRGB = new CheckRatesGB();
			$('body').append(cRGB.toHTML());
			return false;
		});

		$('.ta_review p').truncate({max_length: 250});
	});

}
