/**
*  pigFlipBook v1.0
*  simple jQuery flipbook
*  by Richard Pigott - www.cakehole.org.uk
*/


    //=-- globals --=//

    var currentNav = null;
    var pageCount  = 0;
    var flipWait   = 10000;
    //var startPage  = Math.floor(Math.random()*10);
    var startPage  = 0;
    var flipTimer;
    var flipQueue = $({});

    // sets up and runs the flip book
    function pigFlipBook( containerDiv ) {

        // add class
        $( "#"+containerDiv ).addClass( "pigFlipBook_container" );

        // create bottom nav bar
        var bottomNav = $( "<div class='pigFlipBook_navigationBar'></div>" );
        $( "#"+containerDiv ).append( bottomNav );

        // page navigation items
        $( "#"+containerDiv+" .pigFlipBook_page" ).each( function( index, page ) {
            $(page).attr('id', "pigFlipBook_page_"+index );
            bottomNav.append( "<div id='pigFlipBook_pageNav_"+index+"' class='pigFlipBook_navigationItem' onclick='pauseFlipping();flipPage("+index+");pauseFlipping();'"
                                  +"onmouseover='$(this).addClass(\"pigFlipBook_navigationItemHover\")' onmouseout='$(this).removeClass(\"pigFlipBook_navigationItemHover\")' >"
                             +"<div style='margin:2px;'>"+$(page).attr('title')+"</div></div>" );
            pageCount++;
        } );

        // play / pause button
        $( "#"+containerDiv ).append( $("<div id='pigFlipBook_control'>"
                                       +"<a id='pigFlipBook_control_pause' href='#' onclick='return pauseFlipping();'><img src='images/flipBook/pause.png'></a>"
                                       +"<a id='pigFlipBook_control_play' href='#' onclick='return playFlipping();' style='display:none;'><img src='images/flipBook/play.png'></a>"
                                       +"</div>") )
                             .mouseover( function() { $("#pigFlipBook_control").show(); } )
                             .mouseout( function() { $("#pigFlipBook_control").hide(); } )  ;

        // show first page
        flipPage(startPage);
    }

    // pauses auto flip
    function pauseFlipping() {
        clearTimeout( flipTimer );
        $("#pigFlipBook_control_pause").hide();
        $("#pigFlipBook_control_play").show();
        return false;
    }

    // plays auto flip
    function playFlipping() {
        flipTimer = setTimeout( function() {flipPage(getNextPage(currentNav))}, flipWait );
        $("#pigFlipBook_control_pause").show();
        $("#pigFlipBook_control_play").hide();
        return false;
    }

    // flip a page
    function flipPage( navIndex ) {

        if ( currentNav != navIndex ) {

            // work out direction
            if ( navIndex > currentNav ) {
                var flipIn = 'right';
                var flipOut = 'left';
            } else {
                var flipIn = 'left';
                var flipOut = 'right';
            }

            // flip pages
            var pageSlideIn  = $( "#pigFlipBook_page_"+navIndex ).show('slide', { direction:flipIn } );
            var pageSlideOut = $( "#pigFlipBook_page_"+currentNav ).hide('slide', { direction:flipOut } );

            $( "#pigFlipBook_pageNav_"+currentNav ).removeClass("pigFlipBook_navigationItemHighlight");
            $( "#pigFlipBook_pageNav_"+navIndex ).addClass("pigFlipBook_navigationItemHighlight");

            $.when( pageSlideIn, pageSlideOut ).done( function() {

                // assign vars
                currentNav = navIndex;

                // set timer to flip next page
                //clearTimeout( flipTimer );
                flipTimer = setTimeout( function() {flipPage(getNextPage(navIndex))}, flipWait );

            } );

        }

    }

    // returns next page
    function getNextPage( currentPage ) {

        var nextPage = currentPage + 1;

        if ( nextPage == pageCount ) {
            nextPage = 0;
        }

        return nextPage;
    }



    // clears waiting fx queue
    /*
    function clearPigQueue() {
        $( "#pigFlipBook_page_0" ).clearQueue("fx");
        $( "#pigFlipBook_page_1" ).clearQueue("fx");
        $( "#pigFlipBook_page_2" ).clearQueue("fx");
        $( "#pigFlipBook_page_3" ).clearQueue("fx");
        $( "#pigFlipBook_page_4" ).clearQueue("fx");
        $( "#pigFlipBook_page_5" ).clearQueue("fx");
        $( "#pigFlipBook_page_6" ).clearQueue("fx");
        $( "#pigFlipBook_page_7" ).clearQueue("fx");
        $( "#pigFlipBook_page_8" ).clearQueue("fx");
        $( "#pigFlipBook_page_9" ).clearQueue("fx");
    }
    */

