﻿function consumerVehicleReviewSummaryInit(baseID)
{
	_cvr.summaryBaseID = baseID;

	_cvr.addArticleHandler(function(article)
	{
		var elKey = null;
		switch (article.ArticleKey.Key.replace(_cvr.__reviewKey, ''))
		{
			case '_s':
				elKey = _cvr.summaryBaseID + '_Styling';
				break;
			case '_c':
				elKey = _cvr.summaryBaseID + '_Comfort';
				break;
			case '_h':
				elKey = _cvr.summaryBaseID + '_Handling';
				break;
			case '_f':
				elKey = _cvr.summaryBaseID + '_FuelEconomy';
				break;
			case '_d':
				elKey = _cvr.summaryBaseID + '_Dependability';
				break;
			case '_o':
				elKey = _cvr.summaryBaseID + '_Overall';
				break;
		}
		if(elKey != null)
		{
			var stars = document.getElementById(elKey + 'Stars');
			var val = document.getElementById(elKey + 'Value');
			
			if(stars != null)
				stars.className = 'cvrStars_' + Math.floor(article.Ratings.AverageRating);
			if(val != null)
				val.innerHTML = Math.round(article.Ratings.AverageRating * 10) / 10;
		}
	});

	_cvr.addReviewHandler(function(reviewPage)
	{
		if (reviewPage.Reviews.length > 2)
			return;
			
		var rtv = document.getElementById(_cvr.summaryBaseID + '_RateThisVehicleContainer');
		if(rtv != null && rtv.style.visibility == 'visible')
			return;

		if(reviewPage.Reviews.length > 0)
		{
			var review1 = reviewPage.Reviews[0];
			var review2 = null;
			if(reviewPage.Reviews.length == 2)
				review2 = reviewPage.Reviews[1];
			
			if(review1 != null)
			{
				var by1 = review1.Author;
				var firstReview = document.getElementById(_cvr.summaryBaseID + '_FirstReview');
				var firstReviewBy = document.getElementById(_cvr.summaryBaseID + '_FirstReviewBy');
				if (by1 != null && firstReviewBy != null)
					firstReviewBy.innerHTML = 'by ' + by1.DisplayName + (by1.Location ? ' from ' + by1.Location : '') + ' on ' + review1.PostedAtTime
				if (firstReview != null)
					firstReview.innerHTML = '"' + review1.ReviewBody + '"';
				
			}	
			if(review2 != null)
			{
				var by2 = review2.Author;
				var secondReview = document.getElementById(_cvr.summaryBaseID + '_SecondReview');
				var secondReviewBy = document.getElementById(_cvr.summaryBaseID + '_SecondReviewBy');
				
				if (by2 != null && secondReviewBy != null)
					secondReviewBy.innerHTML = 'by ' + by2.DisplayName + (by2.Location ? ' from ' + by2.Location : '') + ' on ' + review2.PostedAtTime
				if (secondReview != null)
					secondReview.innerHTML = '"' + review2.ReviewBody + '"';
			}
		}
		else
		{
			var revcol1 = document.getElementById(_cvr.summaryBaseID + '_ReviewFirstColumn');
			if(revcol1 != null)
				revcol1.style.display = 'none';
				
			var revcol2 = document.getElementById(_cvr.summaryBaseID + '_ReviewSecondColumn');
			if(revcol2 != null)
				revcol2.style.display = 'none';
				
			if (rtv != null)
				rtv.style.display = 'block';
		}
		
	});
}