﻿var link = document.getElementById("photos").getElementsByTagName("A")[0];
var img = link.getElementsByTagName("IMG")[0];
var imgwidth = 215;
link.style.position = "relative";
link.style.display = "block";
link.style.width = "215px";
link.style.height = "160px";
link.style.overflow = "hidden";
img.style.position = "relative";

//create second image, position and insert into document
var img2 = document.createElement("IMG");
img2.style.position = "absolute";
img2.style.left = "-" + imgwidth + "px";
img2.style.top = "0";
link.appendChild(img2);

//timer variable
var movetimer;

//timer period
var p = 2;

//get most recent gallery number
var galleryid = /\/(\d+)\//.exec(img.src)[1];

//image index
var n = 0;

//image array
var imgs = new Array();

//add initial image to imgs array
imgs[0] = new Image();
imgs[0].src = img.src;

//change speed
var interval = 6;

//delay time
var delay = 3000;

//frame counter
var t = 0;

//temp var for image swap;
var temp;

function start() {

    //swap images
    temp = img;
    img = img2;
    img2 = temp;

    //reset the off screen image position
    img.style.left = -imgwidth + "px";

    //if we've already filled the img array, reset
    if (imgs.length == galleryid) {
        if (n == galleryid - 1)
            n = 0;
        else
            n++; ;
        img.src = imgs[n].src;
        t = 0;
        setTimeout(move, p);
    }
    else {
        n++;
        imgs[n] = new Image();
        imgs[n].onload = iload;
        imgs[n].src = "/images/galleries/" + (galleryid - n) + "/gallerythumb.jpg";
    }
}

function iload() {
    img.src = this.src;
    t = 0;
    move();
}

var xpos;
var i2 = imgwidth / 2.0;
var a = Math.PI / .03;
function move(e) {
    xpos = i2 * Math.cos(.03 * t - Math.PI) + i2;
    t++;

    if (t > a) {
        xpos = imgwidth;
        clearInterval(movetimer);
        setTimeout(start, delay)
    }
    else {
        setTimeout(move, p);
    }

    img2.style.left = xpos + 'px';
    img.style.left = (-imgwidth + xpos) + 'px';
}

setTimeout(start, delay);
