var show_id = 0;
var cur_slide = 0;
var slide_id_list = [];

function show_slide(newslide) {
    try {
        newslide = parseInt(newslide);
    } catch(e) {
        newslide = null;
    }

    if(!newslide) {
        newslide = this.value;
    } else {
        $("#select_slides").get(0).value = newslide;
    }

    if(newslide == cur_slide) { return; }

    cur_slide = newslide;

    //.css("visibility","hidden").html("Loading...")
    $("#fullscreen_slide_show").load("/slideshow/"+show_id+"/view/"+newslide+"/slide.html", re_fullscreenify);
    
    document.location = "#"+cur_slide;

}

function slide_transition(direction) {
    var index = -1;

    for(var i = 0; i < slide_id_list.length; i++) {
        if(slide_id_list[i] == cur_slide) {
            index = i;
            break;
        }
    }

    if(index < 0) {
        alert("Sorry, we don't know what slide to show.");
        return false;
    }

    index += direction;

    if(index < 0) {
        index = 0;
    }

    if(index >= slide_id_list.length) {
        //alert("Sorry, you're already at the last slide.");
    } else {
        show_slide(slide_id_list[index]);
    }

    //update the edit link to point directly to this slide if available
    $("#edit_link").attr("href","/slideshow/slide_edit/"+cur_slide+"/?back=view")
    //disable prev/next if needed
    var prev_enabled = true;
    var next_enabled = true;
    if(index < 1) {
        prev_enabled = false;
    }
    if(index >= (slide_id_list.length-1)) {
        next_enabled = false;
    }

    $("#next_button, #prev_button").addClass("disabled");

    if(next_enabled) {
        $("#next_button").removeClass("disabled");
    }
    if(prev_enabled) {
        $("#prev_button").removeClass("disabled");
    }

    return false;
}


function slideFade() {
    //$("#fullscreen_slide_show").css("visibility","visible");//.hide().fadeIn("normal");
}
function re_fullscreenify() {
    fullscreenify($("#fullscreen_slide_show,.full_height"), $("#slide_toolbar"), slideFade, 1);
    if(window.img_viewer_dialog_open) {
        $("#fullscreen_slide_show .item_img").click(img_viewer_dialog_open);
    }
}

$(document).ready(function() {
        show_id = $("#data_show_id").text().replace(" ","");
        cur_slide = parseInt($("#data_slide_id").text().replace(" ",""));

        $("#content").css("background","white");

        re_fullscreenify();

        $("#select_slides").change(show_slide);

        $("#select_slides option").each(function() {
                if(this.value) {
                    slide_id_list.push(parseInt(this.value));
                }
            });

        if(document.location.toString().indexOf("#") >= 0) {
            try {
                var slidenum = parseInt(document.location.toString().replace(/^.*#/,""));
                if(slidenum) {
                    show_slide(slidenum);
                }
            } catch(e) { }
        }

        slide_transition(0);

    });
