var imageSlider;

function newImageCallback(dir, lastImgPath) {
    var index = imagePaths.indexOf(lastImgPath);
    if (dir == 'left') {
        if (index == 0) return imagePaths[imagePaths.length-1];
        else return imagePaths[index-1];
    } else if (dir == 'right') {
        if (index == imagePaths.length-1) return imagePaths[0];
        else return imagePaths[index+1];
    }
    return null;
}

function clickImageCallback(e) {
    var elem = Event.element(e);
    var index = imagePaths.indexOf(elem.getAttribute('imagePath'));
    if (index >= 0) {
        location.href = '/photos/' + imageParents[index];
    }
}

function setupImageSliderControl() {
    var index = imageIndex, idx;
    var images, len = imagePaths.length;

    if (len <= 2) {
        images = imagePaths;
    } else if (len == 3) {
        images = imagePaths;
        if (index == 0) {
            images.unshift(imagePaths[2]);
        } else if (index == 1) {
            images.push(imagePaths[0]);
        } else if (index == 2) {
            images = [imagePaths[1], imagePaths[2], imagePaths[0], imagePaths[1]];
        }
    } else {
        if (index == 0) {
            images = [imagePaths[len-1], imagePaths[0], imagePaths[1], imagePaths[2]];
            idx = 0;
        } else if (index == len-1) {
            images = [imagePaths[len-2], imagePaths[len-1], imagePaths[0], imagePaths[1]];
            idx = 1;
        } else if (index == len-2) {
            images = [imagePaths[len-3], imagePaths[len-2], imagePaths[len-1], imagePaths[0]];
            idx = 1;
        } else { /* index == 1 or 2 */
            images = [imagePaths[index-1], imagePaths[index], imagePaths[index+1], imagePaths[index+2]];
            idx = 1;
        }
    } 
    imageSlider = new ImageSlider('image_slider_container', images, idx, newImageCallback, clickImageCallback);
}

function setupImageSliderNavControls() {
    Element.observe('image_slider_left', 'click', function() {
            imageSlider.moveLeft(); 
            });

    Element.observe('image_slider_right', 'click', function() {
            imageSlider.moveRight();
            });
}

document.observe('dom:loaded', function() {
        setupImageSliderControl();
        setupImageSliderNavControls();
        });

