$(document).ready(function(){
	com.ag.setRecentlyPlayed();

	$("#share-email-icon").click( function() { mtvn.btg.Controller.sendLinkEvent({ linkName:'share_click_gamepage', linkType: 'o', events:  'event61'}); });
	$("#share-stumble-icon").click( function() { mtvn.btg.Controller.sendLinkEvent({ linkName:'share_click_gamepage', linkType: 'o', events:  'event62'}); });
	$("#share-facebook-icon").click( function() { mtvn.btg.Controller.sendLinkEvent({ linkName:'share_click_gamepage', linkType: 'o', events:  'event63'}); });
	$("#share-twitter-icon").click( function() { mtvn.btg.Controller.sendLinkEvent({ linkName:'share_click_gamepage', linkType: 'o', events:  'event64'}); });
	$("#share-digg-icon").click( function() { mtvn.btg.Controller.sendLinkEvent({ linkName:'share_click_gamepage', linkType: 'o', events:  'event65'}); });
	$("#share-del-icon").click( function() { mtvn.btg.Controller.sendLinkEvent({ linkName:'share_click_gamepage', linkType: 'o', events:  'event66'}); });
	$("#share-reddit-icon").click( function() { mtvn.btg.Controller.sendLinkEvent({ linkName:'share_click_gamepage', linkType: 'o', events:  'event67'}); });
	$("#share-myspace-icon").click( function() { mtvn.btg.Controller.sendLinkEvent({ linkName:'share_click_gamepage', linkType: 'o', events:  'event68'}); });
	$("#share-google-icon").click( function() { mtvn.btg.Controller.sendLinkEvent({ linkName:'share_click_gamepage', linkType: 'o', events:  'event69'}); });
	$("#share-techno-icon").click( function() { mtvn.btg.Controller.sendLinkEvent({ linkName:'share_click_gamepage', linkType: 'o', events:  'event70'}); });


	// async load recommended games and construct a carousel with the results
	$.ajax({
		url: "/game-frag/recommended-games/" + gameKeyword + ".jsp",
		success: function( data ) {

			var returnedHtml = $("#nextGameScroll").clone().html(data);

			var carouselConfig = null;
			var carouselTrays = [];
			for (var i = 0; i < returnedHtml.children(".nextGameTray").length; i++) {
				carouselTrays.push({i: {"games": [], "text": "", "weight": 0}});
			}

			carouselConfig = {
				leftScrollButton: '#nextGameLeftScroll',
				leftScrollCSSOff: 'nextGameLeftScrollOff',
				rightScrollButton: '#nextGameRightScroll',
				rightScrollCSSOff: 'nextGameRightScrollOff',
				headlineTextEl: '#trayText',
				scrollingEl: '#nextGameScroll',
				containingEl: "#featured-games",
				navEl: '#nextGameNav',
				navElCSSOn: 'nextGameNavDotOn',
				buildCarouselFunction: function(context) {
					var counter = 0;
					context.config.htmlFrag.children(".nextGameTray").each(function() {
						if (counter === 0 ) {
							context.trayElements.push('<div id="tray' + counter + '" style="float:left; width: auto;">'+ $(this).html() + '</div>');
						} else {
							context.trayElements.push('<div id="tray' + counter + '" style="float:left; width: 0px;">'+ $(this).html() + '</div>');
						}
						counter++;
					});
					$(this.scrollingEl).html( context.trayElements[0] );
				},
				sortTray: false,
				events: {
					navClick: function( id ) { /* sendLinkEvent( 'featureCarouselDot' + id); */ },
					scrollLeft: function() { sendLinkEvent( 'nextgame_advance' ); },
					scrollRight: function() { sendLinkEvent( 'nextgame_advance' ); }
				},
				htmlFrag: returnedHtml
			};

			nextGameCarousel = new com.ag.Carousel( carouselTrays, 0, 888, carouselConfig );
			$(".nextGame > div > a").click(function(e) { // track clicks on either the picon or the gamename
				e.preventDefault(); // stop the link from firing
				var eventText = 'nextgame_click_' + this.pathname.substring(1);
				sendLinkEvent( eventText ); // send tracking event
				window.location = $(this).attr("href"); // follow the link
			});
		},
		error: function() {
			$("#nextGameLabel").remove();
			$("#nextGameContainer").remove();
	  },
	  dataType: "html"
	});
});

com.ag.setRecentlyPlayed = function() {
	var cookieString = $.cookie('agRecentlyPlayed');
	var gameArray = [];
	if (!cookieString) cookieString = '';
	if(cookieString.length > 0 && typeof com.ag.gamePageGameId == 'number') {
		//make array to make simple calculations easy
		gameArray = cookieString.split(',');
		var gameIdStr = com.ag.gamePageGameId.toString();
		//if the game has been played in the past remove old record
		var gameIndexInArray = $.inArray(gameIdStr, gameArray);
		if(gameIndexInArray != -1) gameArray.splice(gameIndexInArray, 1);
		//if more than 6, remove first in the list
		if(gameArray.length >= 6) gameArray.shift();
	}
	gameArray.push(com.ag.gamePageGameId);
	$.cookie('agRecentlyPlayed', gameArray.toString(), { expires: 30 });
};

