var blockPopular = {};
blockPopular.pageRange = $A($R(1,5));
blockPopular.preloadCache = {};
blockPopular.pageCurrent = 1;
blockPopular.container = 'blpopular';
blockPopular.contentSelector = '.blgames';

blockPopular.nextPage = function(){
	if (blockPopular.pageRange.indexOf(blockPopular.pageCurrent+1) >= 0) {
		blockPopular.pageCurrent++;
	}else {
		blockPopular.pageCurrent = blockPopular.pageRange.first();
	}
	blockPopular.updateBlock(blockPopular.pageCurrent);
};

blockPopular.prevPage = function(){
	if (blockPopular.pageRange.indexOf(blockPopular.pageCurrent-1) >= 0) {
		blockPopular.pageCurrent--;
	}else {
		blockPopular.pageCurrent = blockPopular.pageRange.last();
	}
	blockPopular.updateBlock(blockPopular.pageCurrent);
};

blockPopular.updateBlock = function(page) {
	if (blockPopular.preloadCache[page]) {
		content = $(blockPopular.container).down(blockPopular.contentSelector);
		content.update(blockPopular.preloadCache[page].makeElement().down(blockPopular.contentSelector).innerHTML);
	}
}

blockPopular.preload = function (page) {
	if (blockPopular.pageRange.indexOf(page) < 0) {
		return;
	}
	new Ajax.Request('/games/blockpopular.html', {
		parameters: {'page' : page},
		evalJS    : false, 
		method    : 'GET',
		onSuccess: function(transport) {
			try{
				blockPopular.preloadCache[page] = transport.responseText;
				transport.responseText.extractElements('img').each(function(imgEl){
					var img = new Image();
					img.src = imgEl.src;
				})
				page++;
				blockPopular.preload(page);
			}catch(e){
				alert(e.message);
			}
			 
		}
	});
}

document.observe('dom:loaded', function(){
	blockPopular.preloadCache[blockPopular.pageCurrent] = $(blockPopular.container).toHTML();
	blockPopular.preload(blockPopular.pageCurrent+1)
});