/**
 * Recommended cache package id
 */
var recommendedId = -1;

var recommendedPageLabel;

/**
 * Amount of recommended cache packages
 */
var recommendedIdCount = 100;

var recommendedMediaCode = -1;

function initRecommended(mediaCode) {
	recommendedMediaCode = mediaCode;
}

/**
 * request server for recommended list
 */
function refreshRecommended() {
	var rand = Math.floor(Math.random()*(recommendedIdCount-1));
	if(rand == recommendedId) {
		rand++;
	}
	recommendedId = rand;
	$('#recommended').html('');
  	$('#recommended-wait').css('display', 'block');
  	$('#more-btn').css('display', 'none');
	var url = "http://www.limexgames.com/portal/recommended/?r=" + recommendedId;
	$.getJSON(url, {}, onRecommended);
}

/**
 * handle recommended data received from server
 */
function onRecommended(data) {
	if(!data || !data.l || !data.l.length) {
		$('#recommended').html('');
		$('#recommended-wait').css('display', 'none');
		return;
	}
	count = data.l.length - 1;
	var list = new Array();
	for(var i=0; i <= count; i++) {
		if(data.l[i].code == recommendedMediaCode) {
			continue;
		}		
		if(list.length >= count) {
			break;	
		}
		list.push(data.l[i]);	
	}		
	$('#recommended').html('');
	$('#recommended-wait').css('display', 'none');
	$('#more-btn').css('display', 'block');
	for(i in list) {
		$(getRecommendedItem(list[i])).appendTo("#recommended");
	}
}

/**
 * Generates HTML for sigle game description
 */
function getRecommendedItem(data) {
	var thumb_url = data.thumb_url;
	var stars = data.rating_avg;
	var title = data.title;
	var desc = data.brief;
			var link = "http://www.limexgames.com/portal/games/" + data.code;
		var starsHtml = getStarsHtml(stars);

	return 	'<li>' +
				'<div class="ico">' +
					'<a href="' + link + '" onclick="notifyRecommendedClick()" >' +
						'<img src="' + thumb_url +'" alt="Play the game" style="width: 100px; height: 100px;"/>' +
					'</a>' +
											'<div class="rating">' +
							starsHtml +
						'</div>' +
									'</div>' +
				'<div class="txt">' +
					'<h3>' + title + '</h3>' +
					'<p style="width: 400px">' +
					desc +
					'</p>' +
					'<a href="' + link + '" title="Play the game" onclick="notifyRecommendedClick()">Play now &gt;</a>' +
				'</div>' +
			'</li>';
}

function getStarsHtml(stars) {
	var starsHtml = '';
	
  	for(var i=0; i < Math.floor(stars); i++) {
		starsHtml += '<img src="http://media1.limexgames.net/img/star_on.jpg" alt="*" />';
  	}
	if(stars != Math.floor(stars)) {
		starsHtml += '<img src="http://media1.limexgames.net/img/star_half.jpg" alt="*" />';
		i++;
	}
	for(; i < 5; i++) {
		starsHtml += '<img src="http://media1.limexgames.net/img/star_off.jpg" alt="_" />';
  	}
  	return starsHtml;
}

function notifyRecommendedClick() {
	var id = 'no label';
	if(recommendedPageLabel) {
		id = recommendedPageLabel; 
	} else {
		return;
	}
	try {
		pageTracker._trackEvent('recommendedFrom', id);
	} catch(err) {}
	
}


