// Ilość obrazków
var imgNum = imgArr.length;
// Ilość linków
var lnkNum = lnkArr.length;
// tablica z obrazkami (preloadnig)
var images = new Array();
// Aktualny obrazek
var curImg = 0;
// czas wyświetlania obrazków w ms (1 sek = 1000 ms)
var showTime = 5000;
// ilość punktów na koncie
var pts = 0;
// 
if(!addpts) var addpts = 0;
if(!notify) var notify = 0;

// Licznik czasu
function timer() {
	if(!timer.timer) {
		timer.timer = 0;
	}
}
// licznik dla obrazków
var timer1 = new timer();
// licznik dla czasu
var timer2 = new timer();

// Wyświetlanie okna z powiadomieniami
function showNotify(title, content, type) {
	//$('#notifier > div > .title').text(title);
	//$('#notifier > div > .content').html(content);
	$('#notifier').fadeIn(500);
}
// Ukrywanie okna z powiadomieniami
function hideNotify() {
	$('#notifier').fadeOut();
}
// załadowanie obrazków do pamięci
function preloadImages() {
	for(var i=1; i<=imgNum; i++) {
		images[i] = new Image();
		images[i].src = imgArr[i];
	}	
}
// tworzenie przycisków zmieniających obrazki
function createChangeButtons() {
	for(var i=1; i<=imgNum; i++) {
		$('.changer').append('<span class="change">'+i+'</span>');
	}
}
// obsługa kliknięcia przycisku
function changerClicked(object) {
	var nextImg = parseInt($(object).text())-1;
		$('#change_image').fadeOut(300, function() {
			currentImage(nextImg);
		});
		$('#change_image').fadeIn(300);
}
// Obsługa timera
function sTimer(x, nTimer, doFunction, timeout) {
	if(x == 1)
		nTimer.timer = setTimeout(doFunction, timeout);
	else if (x == 0)
		clearTimeout(nTimer.timer);
}
// Zmiana aktualnie wyświetlanego obrazka
function currentImage(x) {
	sTimer(0, timer1); // wyłączenie timera
	$('#change_image').attr("src", imgArr[x]); // ustawienie źródła obrazka na element x tablicy
	$('#change_link').attr("href", lnkArr[x]); // ustawienie adresu odnośnika pod obrazkiem
	
	$('.change').css('color', '#000'); // ustawienia koloru na czarny
	$('.change:eq('+x+')').css('color', '#f0f'); // oznaczenie klikniętego przycisku
	if(imgNum > 1) sTimer(1, timer1, "displayImages()", showTime); // uruchomienie timera
//	if(addpts) {
//		$(document).triggerHandler('ptsadd', addpts);
//	}
}
// Wyświetlanie obrazków
function displayImages() {
	if(imgNum && lnkNum && imgNum == lnkNum) { // jeżeli liczba elementów tablicy jest inna niż 0
		if(document.change_image){ // jeżeli istnieje element o nazwie change_image
			if(curImg >= imgNum) curImg = 0; // jeżeli tablica się skońcyła to trzeba zacząć od zera ;)
			//currentImage(curImg); // wywołanie funkcji zmieniającej obrazek
			$('.change:eq('+curImg+')').trigger('click');
			curImg ++;
		}
	}
}
//
function checkAddPts() {
	if(addpts) {
		$(document).triggerHandler('ptsadd', addpts);
	}
}
// Obsługa czasu na stronie
function changeTime() {
	//if($('#current_time').width()) {
		curDate();
		sTimer(1, timer2, "changeTime()", 1000);
	//}
	
}
// Uaktualnienie czasu
function curDate() {
	var d = new Date(time);
	$('#current_time').text(d.toLocaleTimeString());
	time += 1000;
}
// Sprawdzenie punktów
function checkPts() {
	if($('.score').width() > 0) {
		pts = parseFloat($('.score > span').text())*100;
	}
}
// Dodanie punktów
function addPoints(ptsnum) {
	if(ptsnum > 0)
		$('.score:first').prepend('<span id="addpts" style="position: absolute; z-index: 20; color: #030; float: left; font-weight: bold;">+'+ptsnum+'</span>');
	else
		$('.score:first').prepend('<span id="addpts" style="position: absolute; z-index: 20; color: #300; font-weight: bold;">'+ptsnum+'</span>');
	$('#addpts').animate({
		fontSize: '50px',
		left: '+=50',
		opacity: 0
	}, 3000, function() {
		$('#addpts').remove();
	});
}

//************************************************************************/
function checkNotify() {
	if(notify) {
		$(document).triggerHandler('notify', ['tytuł', 'zawartosc']);
	}
	else {
		return false;
	}
}
//************************************************************************/

function jackpots() {
	if(jackpots.current == undefined) jackpots.current = 1;
	$('#jackpots').css({
		'width': 310,
		'display': 'inline-block'
	});
	jackpots.timer = setInterval(function() {
		if(jackpots.current > 3) jackpots.current = 0;
		$('#jackpots').fadeOut('slow', function() {
			$(this).html(jackArr[jackpots.current]);
			jackpots.current++;
		}).fadeIn();
	}, 10000);
}

function facebook() {
	$("#facebookFrame").html('<img src="'+basedir+'img/fb.png" alt="facebook" /><div style="color:#FFF; padding:10px 5px 0 5px;"><script type="text/javascript" src="http://static.ak.connect.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php/pl_PL"></script><script type="text/javascript">FB.init("4747e1995f2c8897bc27891f4de50c4a");</script><fb:fan profile_id="300577840687" stream="0" connections="9" logobar="1" width="200"></fb:fan><div style="font-size:8px; padding-left:10px;"><a href="http://www.facebook.com/pages/Astronomiumpl/300577840687">Astronomium.pl</a> on Facebook</div></div>');
}

function newDisplay(ident) {
	if(ident == "nm")
		$('#'+ident).css('margin-left', ($('.message').offset().left-100)).delay(2000).fadeIn(800);
	else
		$('#'+ident).delay(2000).fadeIn('slow');
	
	$('#close_'+ident).live('click', function () {
		$('#'+ident).fadeOut('slow');
	});
}

function user_info() {
	$('#userinfo').bind('mouseover', function(event) {
		$('#userinfo_p').fadeIn('slow');
	});
	$('#userinfo').bind('mousemove', function(event) {
		$('#userinfo_p').css('top', (event.pageY+15)).css('left', (event.pageX-200));
	});
	$('#userinfo').bind('mouseout', function() {
		$('#userinfo_p').fadeOut('slow');
	});
}

document.DOMContentLoaded = changeTime();

// Wywołanie zdarzeń po załadowaniu się strony
$(document).ready(function() {
	// Jackpoty
	jackpots();
	// Ładowanie obrazków
	preloadImages();
	// Dodanie przycisków z numerami
	createChangeButtons();
	// Uruchomienie zegarka
	//changeTime();
	// Sprawdzenie ilośći punktów
	checkPts();
	// Informacja o użytkowniku
	user_info();
	// obsługa naciśnięcia przycisku zmieniającego banner
	$('.change').bind('click', function() { changerClicked(this); });
	// wyświetlenie powiadomienia
	$(document).bind('notify', function(event, p1, p2, p3) { showNotify(p1, p2); });
	// Dodawanie / odejmowanie punktów
	$(document).bind('ptsadd', function(event, p1) { addPoints(p1); });
	// Uruchomienie zmieniarki :P
	$('.change:eq('+curImg+')').trigger('click');
	// Ukrywanie i pokazywanie ramki facebook
	$('#facebookFrame').hover(function() {
		if($('#facebookFrame').css('right') == 0)
			$('#facebookFrame').css('right', '-215px');
		$('#facebookFrame').stop(true, false).animate({
			right: '0'
		}, 750, function() {$('#facebookFrame').clearQueue();});
	}, function() {
		$('#facebookFrame').stop(true, false).animate({
			right: '-215'
		}, 750, function() {$('#facebookFrame').clearQueue();});
	});
	checkNotify();
	// ukrycie pola powiadomienia
	$('#close_notifier').bind('click', function() { hideNotify(); });
	checkAddPts();
	facebook();
});
