var fullscreen = false,
    is_paused = false,
    autostart = 1,
    reset = false,
    current_slide = 0,
    starting_slide = 0,
    total_slides = null;

/* init */
function init_slideshow()
{
    jQuery('.slideshow ul').cycle('stop').cycle({
        fx: 'fade',
        next: '.next',
        prev: '.previous',
        sync: 1,
        speed: 500,
        timeout: 5000,
        after: update_slideshow_counter,
        height: 530,
        prevNextClick: prev_next_click,
        startingSlide: starting_slide
    },
    true );

    if( !autostart ) slideshow_pause();
}

function slideshow_fullscreen()
{
    if( !fullscreen )
    {
        fullscreen = true;
        jQuery(function($){
            $('.share-button').each(function(){
                $(this).css({zIndex:'2'});
            });
            $('.slideshow h1').css({position:'relative', zIndex:'20'});
            $('#mau-slideshow-modal').fadeTo('fast','.95').show();
        });
    }
    else
        close_fullscreen();
}

function close_fullscreen()
{
    fullscreen = false;
    jQuery(function($){
        $('.share-button').each(function(){
            $(this).css({zIndex:'10'});
        });
        $('.slideshow h1').css({position:'relative', zIndex:'1'});
        $('#mau-slideshow-modal').fadeTo( 'slow', 0 ).hide();
    });

   starting_slide = current_slide;
   current_slide = 0;
   init_slideshow();
}

jQuery( document ).ready(function($){
    $('#mau-slideshow-modal').click(function(){ close_fullscreen(); })
});

/* update counter. called after change */
function update_slideshow_counter( current_element, next_element, options, forward )
{
        current_slide = options.currSlide;
        if( null == total_slides ) total_slides = options.slideCount;
        jQuery( '.slideshow .current-image').text( current_slide + 1 );
}

/* handle clicks on previous and next buttons */
function prev_next_click( is_next, slide_index, slide_element )
{
    /*current_slide = slide_index + 1;*/

    if( current_slide <= 0 ) current_slide = total_slides - 1;
    if( current_slide >= total_slides ) current_slide = 0;

    if( reset )
    {
        current_slide = 0;
        reset = false;
    }
}

/* pause slideshow */
function slideshow_pause()
{
    if( !is_paused )
    {
        jQuery('.slideshow ul').cycle('pause');
        jQuery( '.slideshow-controls' ).addClass( 'pause-hover' );
        jQuery( 'a.pause' ).attr('title', 'play slideshow' ).html('Play');

        is_paused = true;
    }
    else
    {
        jQuery('.slideshow ul').cycle('resume');
        jQuery( 'a.pause' ).attr('title', 'pause slideshow' ).html('Pause');
        jQuery( '.slideshow-controls' ).removeClass( 'pause-hover' );
        is_paused = false;
        if( !autostart ) { autostart = true; init_slideshow(); }
    }
}

jQuery( document ).ready( function( $ ) {

    init_slideshow();

    /* blur focus on clicked anchors */
    $( '.slideshow a').click( function(){
        $(this).blur();
    });

});