/**
 * Vars
 */
var HomeIndex = {};

/**
 * Init
 */
HomeIndex.init = function () {
	// Events
	$('.ultimos-jogos .show-more a').click(HomeIndex.ultimosJogosShowMore);
	$('.ultimas-noticias .show-more a').click(HomeIndex.ultimasNoticiasShowMore);
	
	// Preload Loader
	var loader_preload = new Image();
	loader_preload.src = BASE_URL + 'img/layout/loader_min_2.gif';
};
$(HomeIndex.init);

/**
 * Mostra Mais Últimos Jogos
 */
HomeIndex.ultimosJogosShowMore = function (e) {
	// Define Variáveis
	var _this = $(this),
		_area = _this.parents('.block:first'),
		_list = _area.find('.list'),
		_template = _list.find('li:first'),
		_loader = _area.find('.show-more .loader'),
		_more = _area.find('.show-more .more'),
		_prev = _area.find('.show-more .prev'),
		itens_html = '',
		i = 1;
	
	// Define Página
	if (HomeIndex.ultimosJogosShowMorePage == undefined) HomeIndex.ultimosJogosShowMorePage = 1;
	if (_this.parents('li:first').attr("class") == 'more') HomeIndex.ultimosJogosShowMorePage++;
	else HomeIndex.ultimosJogosShowMorePage--;
	
	// Loader
	_more.hide();
	_prev.hide();
	_loader.show();
	
	// Obtem JSON
	$.getJSON (
		BASE_URL + 'jogos/ultimos_lista/' + HomeIndex.ultimosJogosShowMorePage + '.json?' + Math.random(),
		function (json) {
			$.map(json, function (object) {
				// Altera campos
				_template.find(".nome").text(object.Jogo.nome);
				_template.find(".img img").attr("src", object.Jogo.img_formated);
				_template.find(".link").attr("href", object.Jogo.link_formated);
				
				// Adiciona Item ao HTML
				itens_html += '<li>' + _template.html() + '</li>';
				
				// Clear
				if (i % 5 == 0)
					itens_html += '<li class="clear"></li>';
				i++;
				
				// Loader
				_loader.hide();
				_more.show();
				if (HomeIndex.ultimosJogosShowMorePage > 1) _prev.show();	
			});
			
			_list.html(itens_html);
		}
	);
	
	// Previne Default
	e.preventDefault();
};

/**
 * Mostra Mais Última Notícias
 */ 
HomeIndex.ultimasNoticiasShowMore = function (e) {
	// Define Variáveis
	var _this = $(this),
		_area = _this.parents('.block:first'),
		_list = _area.find('.list'),
		_template = _list.find('li:first'),
		_loader = _area.find('.show-more .loader'),
		_more = _area.find('.show-more .more'),
		_prev = _area.find('.show-more .prev'),
		itens_html = '',                                   
		i = 1;
	
	// Define Página
	if (HomeIndex.ultimasNoticiasShowMorePage == undefined) HomeIndex.ultimasNoticiasShowMorePage = 1;
	if (_this.parents('li:first').attr("class") == 'more') HomeIndex.ultimasNoticiasShowMorePage++;
	else HomeIndex.ultimasNoticiasShowMorePage--;
	
	// Loader
	_more.hide();
	_prev.hide();
	_loader.show();

	// Obtem JSON
	$.getJSON (
		BASE_URL + 'noticias/ultimas_lista/' + HomeIndex.ultimasNoticiasShowMorePage + '.json?' + Math.random(),
		function (json) {
			var ttl_itens = json.length;

			$.map(json, function (object) {
				// Altera campos
				_template.find(".link").text(object.Noticia.titulo).attr("href", object.Noticia.link_formated);
				
				if (object.Noticia.img_formated != '') {
					_template.find(".link2").attr("href", object.Noticia.link_formated).show();
					_template.find(".img").attr("src", object.Noticia.img_formated);
				} else
					_template.find(".link2").attr("href", object.Noticia.link_formated).hide();
				
				_template.find(".data").text(object.Noticia.data_formated + ' - ');
				_template.find(".resumo").html(object.Noticia.noticia);
				_template.find(".comscnt a").html(object.Noticia.comentario_count).attr("href", object.Noticia.link_formated);
				
				// Último
				var last = (i % ttl_itens == 0);
				
				// Adiciona Item ao HTML
				itens_html += '<li' + (last ? ' class="last"' : '') + '>' + _template.html() + '</li>';
				
				// Clear
				if (last)
					itens_html += '<div class="clear"></div>';
				i++;
				
				// Loader
				_loader.hide();
				_more.show();
				if (HomeIndex.ultimasNoticiasShowMorePage > 1) _prev.show();	
			});
			
			_list.html(itens_html);
		}
	);
	
	// Previne Default
	e.preventDefault();
};
