var presentationCycle = {
    
    /*
		* Presentation Cycle - a jQuery Cycle extension
		* Author:  	Gaya Kessler
		* URL:     	http://www.gayadesign.com
		* Date:		03-11-09
    */
    
    //slide options
    slideTimeout: 8000,
    containerId: "presentation_container",
    
    //cycle options
    cycleFx: 'fade',
    cycleSpeed: 600,  
    
    //progressbar options
    barHeight: 19,
    barDisplacement: 20,
    barImgLeft: "media/layout/slideshow/pc_item_left.png",
    barImgRight: "media/layout/slideshow/pc_item_right.png",
    barImgCenter: "media/layout/slideshow/pc_item_center.png",
    barImgBarEmpty: "media/layout/slideshow/pc_bar_empty.png",
    barImgBarFull: "media/layout/slideshow/pc_bar_full.png",
    
    //variables this script need
    itemCount: 0,
    currentItem: 0,
    itemBarWidth: 0,
    barContainer: "",
    barContainerActive: "",
    barContainerOverflow: "",
    disableAnimation: false,
    
    init: function() 
	{        
        presentationCycle.itemCount = $('#' + presentationCycle.containerId).children().length;

        presentationCycle.barContainer = $("<div></div>");
        $(presentationCycle.barContainer).addClass("pc_bar_container");
        
        var subtrackSpace = (presentationCycle.itemCount * presentationCycle.barHeight);
        var totalWidth = $('#' + presentationCycle.containerId).innerWidth() - presentationCycle.barDisplacement - 100;
        var fillWidth = Math.floor((totalWidth - subtrackSpace) / (presentationCycle.itemCount - 1));
        
		presentationCycle.itemBarWidth = fillWidth;
        
        for (var i = 0; i < presentationCycle.itemCount; i++) 
		{
            var item = $("<div>&nbsp;</div>").appendTo(presentationCycle.barContainer);
            var extra_bar = true;
            
			if (i == 0) 
			{
                $(item).addClass("left");
                $(item).css({
                    backgroundImage: "url(" + presentationCycle.barImgLeft + ")",
                    height: presentationCycle.barHeight + "px",
                    width: presentationCycle.barHeight + "px"
                });
            
			} else if (i == (presentationCycle.itemCount - 1)) {
			
                $(item).addClass("right");
                $(item).css({
                    backgroundImage: "url(" + presentationCycle.barImgRight + ")",
                    height: presentationCycle.barHeight + "px",
                    width: presentationCycle.barHeight + "px"
                });
				
                extra_bar = false;
            
			} else {
			
                $(item).addClass("center");
                $(item).css({
                    backgroundImage: "url(" + presentationCycle.barImgCenter + ")",
                    height: presentationCycle.barHeight + "px",
                    width: presentationCycle.barHeight + "px"
                });
            }
			
            $(item).attr('itemNr', (i + 1));
            $(item).css('cursor', 'pointer');
            $(item).click(function() {
				presentationCycle.gotoSlide($(this).attr('itemNr'));
            });
            
            if (extra_bar == true) {
                var item = $("<div>&nbsp;</div>").appendTo(presentationCycle.barContainer);
                $(item).addClass("bar");
                 $(item).css({
                    backgroundImage: "url(" + presentationCycle.barImgBarEmpty + ")",
                    height: presentationCycle.barHeight + "px",
                    width: fillWidth + "px"
                });
            }
        }
        
        var overflow = $("<div></div>");
        $(overflow).addClass("pc_bar_container_overflow");
        $(overflow).css({
            overflow: "hidden",
            width: totalWidth + "px"
        });
		
        var underflow = $("<div></div>");
        $(underflow).addClass("pc_bar_container_underflow").appendTo(overflow);
        
        presentationCycle.barContainerActive = $(presentationCycle.barContainer).clone().appendTo(underflow);
        $(presentationCycle.barContainerActive).removeClass("pc_bar_container");
        $(presentationCycle.barContainerActive).children().each(function () 
		{
            $(this).css({
                backgroundPosition: "right"
            });
			
            if ($(this).css("background-image").match(presentationCycle.barImgBarEmpty)) {
                var newImg = $(this).css("background-image").replace(presentationCycle.barImgBarEmpty, presentationCycle.barImgBarFull);
                $(this).css("background-image", newImg);
            }
			
        });
		
        $(overflow).css({
            width: presentationCycle.barHeight + "px",
            height: presentationCycle.barHeight + "px"
        });
        
        presentationCycle.barContainerOverflow = overflow;
        
        $('#' + presentationCycle.containerId).cycle({
    		
			fx: presentationCycle.cycleFx,
            speed: presentationCycle.cycleSpeed,
            timeout: presentationCycle.slideTimeout,
            
			before: function(currSlideElement, nextSlideElement) 
			{ 
				presentationCycle.beforeSlide(currSlideElement, nextSlideElement); 
			}
			
    	});
        
		//
        presentationCycle.barContainer.appendTo($('#' + presentationCycle.containerId));
       
		overflow.appendTo($('#' + presentationCycle.containerId));
        
        var i = 0;
        $(".pc_bar_container_overflow .left, .pc_bar_container_overflow .center, .pc_bar_container_overflow .right").each(function () 
		{
            $(this).attr('itemNr', (i + 1));
            $(this).css('cursor', 'pointer');
            
			$(this).click(function() {
  				presentationCycle.gotoSlide($(this).attr('itemNr'));
            });
			
        });
 
		$(".btn-nast").click(function () 
		{
 			// alert i nastItem
			//alert( $(this).attr('itemNr'));

			$(".btn-r1").removeClass("numsact");
			$(".btn-r2").removeClass("numsact");		
			$(".btn-r3").removeClass("numsact");		
			$(".btn-r4").removeClass("numsact");		
			$(".btn-r5").removeClass("numsact");		

			$(".btn-r"+$(this).attr('itemNr')+"").addClass("numsact");
			
			presentationCycle.gotoSlide( $(this).attr('itemNr') );		
			
		});
			
		$(".btn-poprz").click(function () 
		{
			$(".btn-r1").removeClass("numsact");
			$(".btn-r2").removeClass("numsact");		
			$(".btn-r3").removeClass("numsact");		
			$(".btn-r4").removeClass("numsact");		
			$(".btn-r5").removeClass("numsact");		
			
 			$(".btn-r"+$(this).attr('itemNr')+"").addClass("numsact");
 		
			presentationCycle.gotoSlide( $(this).attr('itemNr') );
			
		});
 
		
        //for (var ix = 1; ix < presentationCycle.itemCount; ix++) 
		//{
 		$(".btn-r1").click(function () { presentationCycle.gotoSlide( 1 ); });
		$(".btn-r2").click(function () { presentationCycle.gotoSlide( 2 ); });
		$(".btn-r3").click(function () { presentationCycle.gotoSlide( 3 ); });
		$(".btn-r4").click(function () { presentationCycle.gotoSlide( 4 ); });
		$(".btn-r5").click(function () { presentationCycle.gotoSlide( 5 ); });
		
		//}
		
		// 
		$(".btn-play").click(function () 
		{
 			// alert('11');
			
			presentationCycle.animateProcess();
  			
			/*
			$('#' + presentationCycle.containerId).cycle({
				
				fx: presentationCycle.cycleFx,
				speed: presentationCycle.cycleSpeed,
				timeout: presentationCycle.slideTimeout,
				
				before: function(currSlideElement, nextSlideElement) 
				{ 
					presentationCycle.beforeSlide(currSlideElement, nextSlideElement); 
				}
				
			});
			*/
 			
 			// $('#' + presentationCycle.containerId).cycle('play');
			 
		});		
		
  		//var ii = 0;
		/*
        $(".btn-nast").click(function () {
			
			//$(this).attr('itemNr', (ii + 1));
			
			$(this).css('cursor', 'pointer');			
			
			presentationCycle.gotoSlide($(this).attr('itemNr'));
			  
 			// sprawdzenie poprawności wywołania
			alert('dziala');
				
			// presentationCycle.gotoSlide($(this).attr('itemNr'));
 			
		});
		*/
 		
    },
    
    beforeSlide: function(currSlideElement, nextSlideElement) 
	{
        if (presentationCycle.currentItem == 0) 
		{
            presentationCycle.currentItem = 1;
			
        } else {
		
            presentationCycle.currentItem = (presentationCycle.itemCount - ($(nextSlideElement).nextAll().length)) + 2;
        }
        
		// Początek okna animacji
		presentationCycle.animateProcess();

		if(presentationCycle.currentItem == 1) { $(".btn-r5").removeClass("numsact"); }
		if(presentationCycle.currentItem == 5) { $(".btn-r1").removeClass("numsact"); }
				
		$(".btn-r1").removeClass("numsact");
		$(".btn-r2").removeClass("numsact");		
		$(".btn-r3").removeClass("numsact");		
		$(".btn-r4").removeClass("numsact");		
		$(".btn-r5").removeClass("numsact");		
	
		$(".btn-r"+presentationCycle.currentItem+"").addClass("numsact");
		
		if(presentationCycle.currentItem == 1)
		{
			$(".btn-nast").addClass("btnn1");
		}
		
		//if(presentationCycle.currentItem == 2)
		//{
		
		for (var i = 1; i <= 5; i++) 
		{
			$(".btn-poprz").removeClass("btnn"+i);	
			$(".btn-nast").removeClass("btnn"+i);	
		}
		
		for (var i = 1; i <= 5; i++) 
		{
			if(presentationCycle.currentItem == i)
			{
				$(".btn-poprz").addClass("btnn"+i);	
				$(".btn-nast").addClass("btnn"+i);	
			}
		}
			 
		//}
 		
 		// Buttony
		
		if(presentationCycle.currentItem == 5)
		{
			$(".btn-nast").attr('itemNr', (1));
			
		} else {
		
			$(".btn-nast").attr('itemNr', (presentationCycle.currentItem + 1));
 		}
		
		// Cycle
		
		if(presentationCycle.currentItem == 1)
		{
			$(".btn-poprz").attr('itemNr', (5));
			
		} else {
		
			$(".btn-poprz").attr('itemNr', (presentationCycle.currentItem - 1));
 		}
		
		// Podpisy pod linia
		// #1 
		
		for (var i = 1; i <= 5; i++) 
		{		
			if(presentationCycle.currentItem == i)
			{
				$(".dz-"+i+"").removeClass("off");
				$(".dz-"+i+"").addClass("on");
				 
			} else {
			
				$(".dz-"+i+"").removeClass("on");
				$(".dz-"+i+"").addClass("off");
			}
		}
		
		// alert( presentationCycle.currentItem );
	},
    
    animateProcess: function() 
	{
        var startWidth = (presentationCycle.itemBarWidth * (presentationCycle.currentItem - 1)) + (presentationCycle.barHeight * presentationCycle.currentItem);
        
		if (presentationCycle.currentItem != presentationCycle.itemCount) 
		{
            var newWidth = (presentationCycle.itemBarWidth * (presentationCycle.currentItem)) + (presentationCycle.barHeight * (presentationCycle.currentItem + 1));   
        
		} else {
            
			var newWidth = presentationCycle.barHeight;
        }
        
        $(presentationCycle.barContainerOverflow).css({
            width: startWidth + "px"
        });
		
        if (presentationCycle.disableAnimation == false) {
            $(presentationCycle.barContainerOverflow).stop().animate({
                width: newWidth + "px"
            }, (presentationCycle.slideTimeout - 100));   
        }
    },
    
    gotoSlide: function(itemNr) 
	{
        $(presentationCycle.barContainerOverflow).stop();
        presentationCycle.disableAnimation = true;
        $('#' + presentationCycle.containerId).cycle((itemNr - 1));
        $('#' + presentationCycle.containerId).cycle('pause');
    }
	
	// koniec
    
}
