var current_page = 0;

(function($){ // $ will refer to jQuery within this closure

    var get_slide_thumbs;
    var show_slide;
    var slide_timer;
    var next_slide;
    var fclick = false;

    next_slide = function() {

        var this_slide = $('.slide-thumb.selected');
        if(this_slide.next().length==0) {
            clearTimeout(slide_timer);
            slide_timer = setTimeout(next_slide, 6000);
        }
        else {
            fclick = true;
            this_slide.next().click();
        }

        clearTimeout(slide_timer);
        slide_timer = setTimeout(next_slide, 6000);

    };

    show_slide = function(slide_id){

        $('.gallery-slide').removeClass('selected');
        $('.gallery-slide-'+slide_id).addClass('selected');
        $('.slide-thumb').removeClass('selected');
        $('.slide-thumb-'+slide_id).addClass('selected');

    };

    get_slide_thumbs = function(gallery, page){

        $.get("ghg-ajax.php",
            { action: "slideshow", gallery_id: gallery, page: page },
            function(data){
                $('#index_middle').html(data.html);
                current_page = data.page;
            },
            'json'
        );

    };

    $('.thumb_fwd').live('click',function(){

        get_slide_thumbs(current_gallery, current_page+1);
        clearTimeout(slide_timer);
        slide_timer = setTimeout(next_slide, 6000);
        if(fclick) {
            fclick = false;
        }
        return false;

    });

    $('.thumb_rev').live('click',function(){

        get_slide_thumbs(current_gallery, current_page-1);
        clearTimeout(slide_timer);
        slide_timer = setTimeout(next_slide, 6000);
        return false;

    });

    $('.thumb_box').live('click',function(){

        var href = $(this).attr('href');
        show_slide(href.substr(href.lastIndexOf('#')+1));
        if(!fclick) {
            clearTimeout(slide_timer);
            slide_timer = setTimeout(next_slide, 20000);
        }
        else {
            fclick = false;
        }
        return false;

    });

    clearTimeout(slide_timer);
    slide_timer = setTimeout(next_slide, 6000);

})(jQuery); // plugin code ends

