// Zmienna mówiąca, czy można nacisnąć inny przycisk, a wszystkie operacje związane z poprzednim
// zostały już wykonane
var can_click = true;

// Zmienne określająca tryb wyświetlania newsów w górnej części
// strony:
// 0 - automat
// 1 - manual
var mode = 0;

// Indeks elementu do wyświetlenia (od 0 d0 2)
var index = 0;

// Czas wyświetlania pojedynczego elementu [ms]
var time = 10000;

// Identyfikator automatu
var id;

// Utworzenie tablicy zawierającej poprzednie identyfikatory do aktualności
var old_urls = new Array(3);

// Pobranie elementów do tablicy lokalnej
var news = new Array(3);

function animate(elem)
{
	// Sprawdzenie, czy powinno sięzmienić element
	if(can_click)
	{
		// Zablokowanie przycisku
		can_click = false;
		
		// Pobranie do zmiennej lokalnej nazwy klasy rodzica
		// odsyłacza
		var which_li = jQuery(elem).parent().parent().parent().attr("class");
		// Pobranie do lokalnego obiektu panelu, który powinien zostać wyświetlony
		var which = jQuery("#" + which_li + "_news");
		
		// Pobranie do tablicy wszystkie panele
		var panels = jQuery("#news .news_item");
			
		// Utworzenie zmiennej przechowującej aktualnie wyświetlany panel
		var current_panel = panels[0];
			
		// Dla każdego innego panelu
		for(var i = 1; i < 3; i++)
			// Sprawdzenie,  czy wyświetlany jest inny niż pierwszy panel
			if(jQuery(panels[i]).css("display") != "none")
			{
				// Jeżeli tak
				// Podmiana paneli
				current_panel = panels[i];
				// Opuszczenie pętli
				break;
			}
				
		if(jQuery(current_panel).attr("id") != jQuery(which).attr("id"))
		{
			// Podmiana URLa
			jQuery("#news_navigation a.more").attr("href", old_urls[index]);
			
			// Ukrycie wszytskich paneli oprócz aktualnie wyświetlanego
			jQuery("#news .news_item[id != '" + jQuery(current_panel).attr("id") + "']").hide();
				
			// Ukrycie aktualnego panelu
			jQuery(current_panel).fadeOut("slow").css("display", "none");
			jQuery(which).fadeIn("slow");
			
			// W zależności od wybranego elementu
			switch(which_li)
			{
				// Pierwszy element
				case "first":
					// Ustawienie nowych kolorów dla tła kolejno pierwszego, środkowego i ostatniego elementu
					jQuery("#news_navigation ul li.first").animate( { backgroundColor: '#2d84d4' }, 1000);
					jQuery("#news_navigation ul li.middle").animate( { backgroundColor: '#165c9d' }, 1000);
					jQuery("#news_navigation ul li.last").animate( { backgroundColor: '#074176' }, 1000);
					break;
					
				// Środkowy element
				case "middle":
					// Ustawienie nowych kolorów dla tła kolejno pierwszego, środkowego i ostatniego elementu
					jQuery("#news_navigation ul li.first").animate( { backgroundColor: '#074176' }, 1000);
					jQuery("#news_navigation ul li.middle").animate( { backgroundColor: '#2d84d4' }, 1000);
					jQuery("#news_navigation ul li.last").animate( { backgroundColor: '#165c9d' }, 1000);
					break;
					
				// Ostatni element
				case "last":
					// Ustawienie nowych kolorów dla tła kolejno pierwszego, środkowego i ostatniego elementu
					jQuery("#news_navigation ul li.first").animate( { backgroundColor: '#165c9d' }, 1000);
					jQuery("#news_navigation ul li.middle").animate( { backgroundColor: '#074176' }, 1000);
					jQuery("#news_navigation ul li.last").animate( { backgroundColor: '#2d84d4' }, 1000);
					break;
			}
		}
		
		// Odblokowanie przycisku
		can_click = true;
	}
}

function auto_animate()
{
	// Sprawdzenie, czy możliwia jest zmiena wyświetlanego panelu
	if(can_click)
	{	
		// Obsługa indeksu
		if(index < 2)
			index++;
		else
			index = 0;
		
		// Wykonanie animacji
		animate(news[index]);
	}
}

jQuery(document).ready(function(){
	// Wyszyszczenie zawartości hasha
	if(location.hash != "")
		location.hash = "";

	// Zapamiętanie staych adresów URL
	old_urls[0] = jQuery("#news_navigation ul li.first span span a").eq(0).attr("href");
	old_urls[1] = jQuery("#news_navigation ul li.middle span span a").eq(0).attr("href");
	old_urls[2] = jQuery("#news_navigation ul li.last span span a").eq(0).attr("href");
		
	// Podmiana linków prowadzących do aktualności
	jQuery("#news_navigation ul li.first span span a").attr("href", location.href + "#first");
	jQuery("#news_navigation ul li.middle span span a").attr("href", location.href +  "#middle");
	jQuery("#news_navigation ul li.last span span a").attr("href", location.href +  "#last");
	
	// Wypełnienie tablicy danymi
	news[0] = jQuery("#news_navigation ul li.first span span a");
	news[1] = jQuery("#news_navigation ul li.middle span span a");
	news[2] = jQuery("#news_navigation ul li.last span span a");
	
	// Podmiana URLa
	jQuery("#news_navigation a.more").attr("href", old_urls[0]);
	
	// Dodanie metody obsługi naciśnięcia odsyłacza
	jQuery("#news_navigation ul li span span a").click(function(){
		// Ustawienie trybu animacji na manuala
		mode = 1;
		clearInterval(id);
		
		// Pobranie wartości indeksu
		switch(jQuery(this).parent().parent().parent().attr("class"))
		{
			// Pierwszy panel
			case "first":
				index = 0;
				break;
				
			// Środkowy panel
			case "middle":
				index = 1;
				break;
				
			// Ostatni panel
			default:
				index = 2;
				break;
		}
		
		animate(news[index]);
	});
	
	// Uruchomienie generowania automatycznego
	id = setInterval("auto_animate();", time);
});
