var interval = 3500;
var random_display = 0;
var slide = 'slideImg';
var direction = 'forward';
var imageDir = "images/articles/";
var timerID;
var caption_box;
var slide_img;
var img_link;

var imageNum = 0;
LWC_images = new Array('1170185230.jpg', '1170185249.jpg', '1170185270.jpg', '1170185290.jpg', '1170185310.jpg', '1170185330.jpg');
LWC_thumbs = new Array('1170185230.jpg', '1170185249.jpg', '1170185270.jpg', '1170185290.jpg', '1170185310.jpg', '1170185330.jpg');
LWC_captions = new Array();
LWC_imageArray = new Array();

for (i=0; i< LWC_thumbs.length; i++) { LWC_imageArray[imageNum++] = new imageItem(i); }

var totalImages = LWC_imageArray.length;

/* Control Functions */

function step_backward(place) {
    var new_image = getPrevImage();
    slide_img.src = new_image.thumb_src;
    img_link.setAttribute("href", LWC_imageArray[imageNum % totalImages].image_item.link);
    img_link.setAttribute("title", new_image.caption);
    // caption_box.innerHTML = new_image.caption;
}

function step_forward(place) {
    var new_image = getNextImage();
    slide_img.src = new_image.thumb_src;
    img_link.setAttribute("href", LWC_imageArray[imageNum % totalImages].image_item.link);
    img_link.setAttribute("title", new_image.caption);
    // caption_box.innerHTML = new_image.caption;
}

function play_slideshow(place) {
    if (timerID) { clearTimeout(timerID); }
    var new_image = (direction == 'forward') ? getNextImage() : getPrevImage();
    // caption_box.innerHTML = new_image.caption;
    slide_img.src = new_image.thumb_src;
    img_link.setAttribute("href", LWC_imageArray[imageNum % totalImages].image_item.link);
    img_link.setAttribute("title", new_image.caption);
    timerID = setTimeout("play_slideshow('"+place+"')", interval);
}

function returnObjById( id ){
    var returnVar;
    if (document.getElementById) { returnVar = document.getElementById(id); }
    else if (document.all) { returnVar = document.all[id]; }
    else if (document.layers) { returnVar = document.layers[id]; }
    return returnVar;
}

/* Initializing Functions */

function imageItem(i) {
    this.image_item = new Image();
    this.image_item.thumb_src = imageDir + LWC_thumbs[i];
    this.image_item.link = imageDir + LWC_images[i];
    this.image_item.caption = LWC_captions[i];
}

function init_slides() {
    //create our ibox
    createIbox(document.getElementsByTagName("body")[0]);
    var ibox_wrapper = returnObjById("ibox_wrapper");
    ibox_wrapper.className = "text";
    
    /* set caption variable */
    var caption = LWC_imageArray[imageNum % totalImages].image_item.caption;
    
    /* set up image, give it initial value */
    slide_img = returnObjById( slide );
    slide_img.src = LWC_imageArray[imageNum % totalImages].image_item.thumb_src;
    slide_img.setAttribute("title", caption);
    
    /* Set up img link */
    img_link = returnObjById( slide_img.parentNode.id );
    img_link.setAttribute("href", LWC_imageArray[imageNum % totalImages].image_item.link);
    img_link.setAttribute("rel", "ibox");
    // img_link.onclick = function() { // rather assign an onclick event
//                         	clearTimeout(timerID);
//                         	var ibAttr = "rel"; 	// our attribute identifier for our iBox elements
// 							var t = this.getAttribute(ibAttr);
// 							var params = parseQuery(t.substr(5,999));
// 							var url = this.href;
// 							if(this.target != "") {url = this.target} 
// 							var title = this.title;
// 							showBG();
// 							showIbox(url,title,params);	// show ibox
// 							return false;
// 						}    
    /* Set up initial caption */
    // caption_box = returnObjById("slideshow_caption");
    // caption_box.innerHTML = caption
    
    /* Start looping */
    setTimeout('play_slideshow(slide)', interval);
}

/* Control Utilities */

function randNum(x, y) {
    var range = y - x + 1;
    return Math.floor(Math.random() * range) + x;
}

function getNextImage() {
    imageNum = (random_display) ? randNum(0, totalImages-1) : (imageNum+1) % totalImages;
    return(LWC_imageArray[imageNum].image_item);
}

function getPrevImage() {
    imageNum = (imageNum > 0) ? (imageNum-1) % totalImages : totalImages - 1;
    return(LWC_imageArray[imageNum].image_item);
}
