$(document).ready(function(){
	$(window).load(function(){
		PageSlider();
	})
});


function PageSlider(){
	
    var pagesContainer = $('.pageSlider'); //Pages Container with class 'pageSlider' 
    var left_Pos = 0; //Left Position for page Transition
    var P_pages = pagesContainer.find('.page');	
	var firstPageHeight = $(P_pages[0]).outerHeight();
    P_pages.css({
        position: 'absolute',
        width: pagesContainer.width()						
    });	
    var pages_Width = P_pages.width();
    var nav_buttonsContainer = pagesContainer.find('.P_pagesNav').css({
        position: 'absolute',
		display: 'block',
        width: pages_Width
    });
		
    var pages_Count = P_pages.length;	
    var nav_buttonsHeight = nav_buttonsContainer.height();
    var nextButton = pagesContainer.find('.NextBtn');
    var PrevButton = pagesContainer.find('.PrevBtn').css({
        opacity: 0.5,
        'cursor': 'default'
    });
			
    var i = 1;
	
    pagesContainer.css({
       height: $(P_pages[0]).outerHeight() + nav_buttonsHeight				
    });
	
    nav_buttonsContainer.css({
        top: firstPageHeight + (nav_buttonsHeight/4)
    });
	    
    pageNumber = $('<span class="pageNumb"></span>').html("Page: " + i + "/" + pages_Count)	
	.css({
        position: 'absolute'
    }).appendTo(nav_buttonsContainer);
	Cufon.replace(pageNumber)
	    
    for (var j = 1; j < pages_Count; j++) {
        $(P_pages[j]).css({
            left: (pagesContainer.width() * j) + left_Pos
        });
    }
    
    if (pages_Count == 1) {
        nav_buttonsContainer.css({
            'display': 'none'
        });
    }
	
    nextButton.click(function(){	
		
        if (i == 1) {
            PrevButton.animate({
                opacity: 1
            }, 600).css({
                'cursor': 'pointer'
            });
        }
        var currentPage = $(P_pages[i - 1]), nextPage = $(P_pages[i]), prevPage = $(P_pages[i - 2]), currentPage_Height = $(P_pages[i - 1]).height();
        nextPage_height = $(P_pages[i]).height() + nav_buttonsHeight;
        
        if (i < pages_Count) {
        
            currentPage.animate({
                left: -pages_Width
            }, 450, 'easeOutExpo');
            nextPage.animate({
                left: left_Pos
            }, 450, 'easeOutExpo', function(){
                pagesContainer.animate({
                    height: nextPage.outerHeight() + (nav_buttonsHeight)
                }, 350, 'easeOutExpo');
                nav_buttonsContainer.animate({
                    top: nextPage.outerHeight() + (nav_buttonsHeight/4)
                }, 400, 'easeOutExpo');
                if (i == pages_Count) {
                    nextButton.animate({
                        opacity: 0.5
                    }, 600).css({
                        'cursor': 'default'
                    }, 1000);
                }
            });
            i++;
            pageNumber.text("Page: " + i + "/" + pages_Count);			
			Cufon.replace(pageNumber);
        }
    });
    
    PrevButton.click(function(){
        var currentPage = $(P_pages[i - 1]), nextPage = $(P_pages[i]), prevPage = $(P_pages[i - 2]), currentPage_Height = $(P_pages[i - 1]).height();
        nextPage_height = $(P_pages[i]).height();
        
        
        if (i > 1) {
            nextButton.animate({
                opacity: 1
            }, 600).css({
                'cursor': 'pointer'
            });
            currentPage.animate({
                left: pages_Width + left_Pos
            }, 450, 'easeOutExpo');
            prevPage.animate({
                left: left_Pos
            }, 450, 'easeOutExpo', function(){
                pagesContainer.animate({
                    height: prevPage.outerHeight() + (nav_buttonsHeight)
                });
                nav_buttonsContainer.animate({
                    top: prevPage.outerHeight() + (nav_buttonsHeight/4)
                }, 400, 'easeOutExpo', function(){
                    if (i == 1) {
                        PrevButton.animate({
                            opacity: 0.5
                        }, 600).css({
                            'cursor': 'default'
                        });
                    }
                });
            });
            i--;
            pageNumber.html("Page: " + i + "/" + pages_Count);
			Cufon.replace(pageNumber);
        }
    });
}
