/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
(function($, undefined) {
    
    //tablica banerów
    var baners = [];
    //odpowiednie zmienne interwałów, 
    var sliderInterval;
	var currentNumber = 1;
    
    //============= GŁOWNA FUNKCJA ==================
    $.fn.slider = function(options) {
		baners = options;
		buildSceleton();        

        $('#baner').mouseover(stopIntervals);
        $('#baner').mouseout(startIntervals);
		$('#baner_news_next').mouseover(stopIntervals);
        $('#baner_news_next').mouseout(startIntervals);
		$('#baner_news_prev').mouseover(stopIntervals);
        $('#baner_news_prev').mouseout(startIntervals);
    }
    //Wersja z rotującymi newsami tekstowymi
    function buildSceleton()
    {
		//$('#main-baner').html(baners[0].big_baner + "<div id=\"baner-wiecej\"></div>");
		$('#main-baner').html(baners[0].big_baner+"<div id=\"baner_news_prev\" onclick=\"prevNews();\"></div><div id=\"baner_navi_text\">" + currentNumber + "</div><div id=\"baner_news_next\" onclick=\"nextNews2();\"></div>");
        var content = "<div id=\"slider\" style=\"top: -74px;\">";
		content+="<div id=\"baner0\" class=\"baner-small first-baner\">";
		content+= "<div class=\"baner-title\">" + baners[baners.length-1].title +"</div><div class=\"baner-content\">"+ baners[baners.length-1].content + "</div></div>";
        for(var i=0; i<baners.length-1; i++)
        {
            if(i==0)
				content+="<div id=\"baner1\" class=\"baner-small first-baner\">";
			else if(i==1)
				content+="<div id=\"baner2\" class=\"baner-small second-baner\">";
			else if(i==2)
				content+="<div id=\"baner3\" class=\"baner-small third-baner\">";
			else
				content+="<div class=\"baner-small other-baner\">";
		
			content+= "<div class=\"baner-title\">" + baners[i].title +"</div><div class=\"baner-content\">"+ baners[i].content + "</div></div>";
        }
		content+="</div>";
        $('#slider').replaceWith(content);
    }

    //funkcja wygasza i podmienia główny baner
    banerChnage = function() {
        $('#main-baner').fadeOut('slow',function(){
				//$('#main-baner').html(baners[0].big_baner + "<div id=\"baner-wiecej\"></div>");
				$('#main-baner').html(baners[0].big_baner+"<div id=\"baner_news_prev\" onclick=\"prevNews();\"></div><div id=\"baner_navi_text\">" + currentNumber + "</div><div id=\"baner_news_next\" onclick=\"nextNews2();\"></div>");
                $('#main-baner').fadeIn('slow');
            });
    }
    //funkcja przesuwająca slider
    slide = function()
    {
        //$('.second-baner').removeClass('second-baner').addClass('first-baner');
        //$('.third-baner').removeClass('third-baner').addClass('second-baner');
		$('#baner2').removeClass('second-baner').addClass('first-baner');
        $('#baner3').removeClass('third-baner').addClass('second-baner');
        
        $('#slider').animate({
            'top': '-148'   //przesuń slider o 74px do góry
        },500, function(){
            //usuwa pierwszy element z tablicy slidów i dodaje go na koniec
            
            //Przerysowanie slidera w nowej kolejności
            var content = "<div id=\"slider\" style=\"top: -74px;\">";
            content+="<div id=\"baner0\" class=\"baner-small first-baner\">";
			content+= "<div class=\"baner-title\">" + baners[baners.length-1].title +"</div><div class=\"baner-content\">"+ baners[baners.length-1].content + "</div></div>";
			
			for(var i=0; i<baners.length-1; i++)
			{
				if(i==0)
					content+="<div id=\"baner1\" class=\"baner-small first-baner\">";
				else if(i==1)
					content+="<div id=\"baner2\" class=\"baner-small second-baner\">";
				else if(i==2)
					content+="<div id=\"baner3\" class=\"baner-small third-baner\">";
				else
					content+="<div class=\"baner-small other-baner\">";
			
				content+= "<div class=\"baner-title\">" + baners[i].title +"</div><div class=\"baner-content\">"+ baners[i].content + "</div></div>";
			}
            content+="</div>";
            $('#slider').replaceWith(content);
        });
    }
	slide_back = function()
    {
        //$('.second-baner').removeClass('second-baner').addClass('first-baner');
        //$('.third-baner').removeClass('third-baner').addClass('second-baner');
		$('#baner2').removeClass('second-baner').addClass('third-baner');
        $('#baner1').removeClass('first-baner').addClass('second-baner');
        
        $('#slider').animate({
            'top': '0'   //przesuń slider o 74px do góry
        },500, function(){
            //usuwa pierwszy element z tablicy slidów i dodaje go na koniec
            
            //Przerysowanie slidera w nowej kolejności
            var content = "<div id=\"slider\" style=\"top: -74px;\">";
            content+="<div id=\"baner0\" class=\"baner-small first-baner\">";
			content+= "<div class=\"baner-title\">" + baners[baners.length-1].title +"</div><div class=\"baner-content\">"+ baners[baners.length-1].content + "</div></div>";
			
			for(var i=0; i<baners.length-1; i++)
			{
				if(i==0)
					content+="<div id=\"baner1\" class=\"baner-small first-baner\">";
				else if(i==1)
					content+="<div id=\"baner2\" class=\"baner-small second-baner\">";
				else if(i==2)
					content+="<div id=\"baner3\" class=\"baner-small third-baner\">";
				else
					content+="<div class=\"baner-small other-baner\">";
			
				content+= "<div class=\"baner-title\">" + baners[i].title +"</div><div class=\"baner-content\">"+ baners[i].content + "</div></div>";
			}
            content+="</div>";
            $('#slider').replaceWith(content);
        });
    }
	nextNews = function()
    {
        stopIntervals();
		modifyCurrentNumber('add');
        slide();
        baners.push(baners.shift()); //usuwa pierwszy element z tablicy slidów i dodaje go na koniec
        banerChnage();
        startIntervals();
    }
	nextNews2 = function()
    {
        stopIntervals();
        modifyCurrentNumber('add');
		slide();
        baners.push(baners.shift()); //usuwa pierwszy element z tablicy slidów i dodaje go na koniec
        banerChnage();
		//startIntervals();
    }
	prevNews = function()
    {
        stopIntervals();
		modifyCurrentNumber('subtract');
        slide_back();
        baners.unshift(baners.pop()); //usuwa ostatni element z tablicy slidów i dodaje go na początek
        banerChnage();
		//startIntervals();
    }
	modifyCurrentNumber = function(operation)
	{
		if(operation=="add")
		{
			if(currentNumber==baners.length)
				currentNumber=1;
			else
				currentNumber++;
		}
		else if(operation=="subtract")
		{
			if(currentNumber==1)
				currentNumber=baners.length;
			else
				currentNumber--;
		}
	}
    stopIntervals = function()
    {
        sliderInterval = window.clearInterval(sliderInterval);
    }
    startIntervals = function()
    {
        sliderInterval=self.setInterval("nextNews()",4000);
    }
})(jQuery);
