// ############### FUNZIONI ################

// ---------------------------
// Funzione recupero FEED dal sito (stesso dominio, no cross-site)
// ---------------------------
// container_id = id css dell'elemento che conterrā i feed 
function getFeeds (main_container, feed_url, tab_name, number_of_items, items_per_tab) {
	// main_container	selettore CSS dell'elemento che conterrā il widget. Il contenuto di questo elemento verrā cancellato
	// feed_url 		indirizzo del feed da cui recuperare gli articoli
	// tab_name			il nome id di base da utilizzare nelle tabs
	// number_of_items 	numero di articoli (item xml) da recuperare
	// items_per_tab	quanti item posizionare in ciascuna tab

	// indicatore di caricamento
	$(main_container).prepend('<div class="loading_image" style="text-align: center; padding-top: 50px; height: 240px"><img src="http://www.diocesipadova.it/s2ewdiocesipadova/s2magazine/css/0/images_dioc/ajax-loader-blu.gif" alt="In caricamento..." /></div>');
	
	// aggiungo un div che conterrā le mie notizie;
	$(main_container).append('<div class="news-widget" style="position: absolute; left: -9999px"><ul class="nav-container"></ul></div>');

	// recupero le notizie dal feed RSS
	$.get( feed_url, function(feed_xml) {
		
		// numero totale di item recuperati
		var tot_number_of_items = $(feed_xml).find('item').length;

		// Costruisco la struttura delle tabs

		// Il numero di tab č l'intero dato dal numero totale di item da recuperare, 
		// diviso il numero di item che si desidera avere su ogni tab;
		// nel caso il numero totale di item sia inferiore al numero di item richiesti,
		// utilizzo tot_number_of_items per calcolare il numero di tabs
		if (tot_number_of_items >= number_of_tabs) {
			var number_of_tabs = Math.ceil( number_of_items / items_per_tab );
		} else {
			var number_of_tabs = Math.ceil( tot_number_of_items / items_per_tab );
		};
		
		// Costruisco la struttura che conterrā le tabs e le tabs stesse;
		
		for (m=1; m <= number_of_tabs; m++ ) {
			$(main_container + ' .news-widget .nav-container').append('<li><a href="#' + tab_name + m + '">Pagina ' + m + '</a></li>');
			$(main_container + ' .news-widget').append('<div id="' + tab_name + m + '"></div>');
		};
		
		// Pesco i primi number_of_items item del feed e li aggiungo alla pagina
		// controllo anche che il numero di item richiesti non sia inferiore al numero massimo disponibile
		for ( n=0; n < number_of_items && n < tot_number_of_items; n++ ) {

			// notizia corrente
			var $item = $(feed_xml).find('item').eq(n);
		
			// identificativo delle linguette di navigazione e delle tabs
			var tab_number = Math.floor( n / items_per_tab) + 1; // ovvero n / numero di oggetti per tab
			var container = document.getElementById(tab_name + tab_number);

			// titolo del post
			var title = $item.find('title').text();
			
			// link del post
			var link = $item.find('link').text();
			
			// Data di pubblicazione
			var pubDate = $item.find('pubDate').text();
			var data = new Date( $item.find('pubDate').text() );
			var a_data = Array(data.getDate().toString(), (data.getMonth() + 1).toString(), data.getFullYear().toString() );
			// aggiungo uno 0 di fronte a data ed ore nel caso di cifre di una sola lettera
			for ( t = 0; t < a_data.length ; t++ ) {
				if (a_data[t].length == 1) {
					a_data[t] = "0" + a_data[t];
				};
			};
			var data_entry_attuale = data.getTime();
				
			// costruisco il codice HTML per la singola notizia
			var html = '<div class="item"><span class="item-time">' + a_data[0] + '\/' + a_data[1] + '\/' + a_data[2] + '<\/span> ';
			html 	+= '<a href="' + link + '" class="item-title"><span>' + title + '<\/span><\/a></div>';
						
			$(main_container + ' .news-widget #' + tab_name + tab_number).append(html);
		}; // END for
		$(main_container + ' .loading_image').remove();
		$(main_container + ' .news-widget').tabs().tabs('rotate', 6000, false);
		/*
		// regolo l'altezza di ciascun pannello delle tabs impostandola uguale all'altezza massima
		var panel_height = 0; // dichiaro qui la variabile che conterrā l'altezza massima
		$('#feed-widget .ui-tabs-panel').each( function () {
			if (window.console) console.log ($(this).height());
		});
		*/
		$(main_container + ' .news-widget').css({'display': 'none','position': '', 'left': ''}).fadeIn('slow');
		
	}); // END $.get
}; // getFeeds END 

$(document).ready( function () {
	// ---------------------------
	// Recupero dei Feed con gli aggiornamenti dal sito
	// ---------------------------

	// Recupero i feed e popolo le tabs
	
	var main_container = '#feed-widget .rss-inner';
	var feed_url = $('#feed-widget .rss-inner a').attr('href');
	var tab_name = 'us-ft';
	var number_of_items = 30;
	var items_per_tab = 10;
	
	$('html').removeClass('hide-1');
	$(main_container).empty();
	
	getFeeds (main_container, feed_url, tab_name, number_of_items, items_per_tab);
	
	//$(main_container + ' .news-widget').tabs('option', 'fx', [{ opacity: 'toggle', duration: 'slow' }]);
	

});

