var imageArray = new Array();
var imagesOut = new Array();
var totalImages = 26; // number of images in array to preload

	imageArray[1] = 'img/homepage/Web-Design-Sheffield-u.jpg';
	imagesOut[1] = 0;
	imageArray[2] = 'img/homepage/Web-Design-Sheffield-z.jpg';
	imagesOut[2] = 0;
	imageArray[3] = 'img/homepage/Web-Design-Sheffield-w.jpg';
	imagesOut[3] = 0;
	imageArray[4] = 'img/homepage/Web-Design-Sheffield-x.jpg';
	imagesOut[4] = 0;
	imageArray[5] = 'img/homepage/Web-Design-Sheffield-r.jpg';
	imagesOut[5] = 0;
	imageArray[6] = 'img/homepage/Web-Design-Sheffield-g.jpg';
	imagesOut[6] = 0;
	imageArray[7] = 'img/homepage/Web-Design-Sheffield-p.jpg';
	imagesOut[7] = 0;
	imageArray[8] = 'img/homepage/Web-Design-Sheffield-m.jpg';
	imagesOut[8] = 0;
	imageArray[9] = 'img/homepage/Web-Design-Sheffield-j.jpg';
	imagesOut[9] = 0;
	imageArray[10] = 'img/homepage/Web-Design-Sheffield-i.jpg';
	imagesOut[10] = 0;
	imageArray[11] = 'img/homepage/Web-Design-Sheffield-f.jpg';
	imagesOut[11] = 0;
	imageArray[12] = 'img/homepage/Web-Design-Sheffield-s.jpg';
	imagesOut[12] = 0;
	imageArray[13] = 'img/homepage/Web-Design-Sheffield-b.jpg';
	imagesOut[13] = 0;
	imageArray[14] = 'img/homepage/Web-Design-Sheffield-q.jpg';
	imagesOut[14] = 0;
	imageArray[15] = 'img/homepage/Web-Design-Sheffield-a.jpg';
	imagesOut[15] = 0;
	imageArray[16] = 'img/homepage/Web-Design-Sheffield-h.jpg';
	imagesOut[16] = 0;
	imageArray[17] = 'img/homepage/Web-Design-Sheffield-k.jpg';
	imagesOut[17] = 0;
	imageArray[18] = 'img/homepage/Web-Design-Sheffield-v.jpg';
	imagesOut[18] = 0;
	imageArray[19] = 'img/homepage/Web-Design-Sheffield-e.jpg';
	imagesOut[19] = 0;
	imageArray[20] = 'img/homepage/Web-Design-Sheffield-t.jpg';
	imagesOut[20] = 0;
	imageArray[21] = 'img/homepage/Web-Design-Sheffield-o.jpg';
	imagesOut[21] = 0;
	imageArray[22] = 'img/homepage/Web-Design-Sheffield-c.jpg';
	imagesOut[22] = 0;
	imageArray[23] = 'img/homepage/Web-Design-Sheffield-y.jpg';
	imagesOut[23] = 0;
	imageArray[24] = 'img/homepage/Web-Design-Sheffield-d.jpg';
	imagesOut[24] = 0;
	imageArray[25] = 'img/homepage/Web-Design-Sheffield-n.jpg';
	imagesOut[25] = 0;
	imageArray[26] = 'img/homepage/Web-Design-Sheffield-l.jpg';
	imagesOut[26] = 0;

var imageFadeState = 0; 
var fadeCheckCount = 0; 
var imageFadeIncrement = 0.05; // rate of incremental change  0 < imageFadeIncrement < 1
var imageFadeDelay = .2; // delay in seconds between
var changeEvery = 6; // delay in changes in seconds between photos changing  (if image loaded)
var imageNumberNext = Math.floor(Math.random() * totalImages) + 1; // get value for first image
var imageNumberCurrent = 0; // get value for first image


var checkingInterval = 1000 * imageFadeDelay;

// define the source paths of all images and define them all as 'in'

// onload function
function imagesStart() {
	fadeCheckCount = 1000 * changeEvery;
	document.nextImage.src = imageArray[imageNumberNext];
	imagesOut[imageNumberNext] = 1;
	awaitingRefresh = setInterval('checkDelay()', checkingInterval);
}



function isImageLoaded() {

	imgToTest = document.nextImage;
	
    if (!imgToTest.complete) { 
		return false;
    }

    if (typeof imgToTest.naturalWidth != "undefined" && imgToTest.naturalWidth == 0) {
        return false;
    }

    return true;
}


function checkDelay() {
	
	var testImageNumber = 0;
	
	if ((fadeCheckCount > (changeEvery * 1000)) && (isImageLoaded())) {
		
		fadeCheckCount = 0;
		clearInterval(awaitingRefresh);
		stwitchingImages = setInterval('switchImages()', 50);
		
	} else {
		
		fadeCheckCount += checkingInterval;
		
	}
}

function switchImages() {
	
	if (imageFadeState<1) {
		
		document.getElementById('nextImageContainer').style.top = '0px';
		document.getElementById('nextImageContainer').style.display = 'block';
		imageFadeState += imageFadeIncrement;
		
	} else {
		
		clearInterval(stwitchingImages);
		
		
		document.currentImage.src = document.nextImage.src;
		
		document.getElementById('nextImageContainer').style.top = '1000px';
		document.getElementById('nextImageContainer').style.display = 'none';
		imageFadeState = 0;
		setOpacity('nextImageContainer', imageFadeState);		
		
		do {
			testImageNumber = Math.floor(Math.random() * totalImages) + 1;
		} while (imagesOut[testImageNumber] !=0);
		
		imagesOut[imageNumberCurrent] = 0; // return current image to 'in'
		imagesOut[testImageNumber] = 1; // set new image as 'out'
		
		imageNumberCurrent = imageNumberNext;
		imageNumberNext = testImageNumber;
		
		setTimeout('setNewImage()', checkingInterval);

		awaitingRefresh = setInterval('checkDelay()', checkingInterval);
	
	}
		setOpacity('nextImageContainer', imageFadeState);		

}

function setNewImage() { 
		document.nextImage.src = imageArray[imageNumberNext];
}

// set opacity function will need changin to adapt for more browsers

function setOpacity(layerName, alphaState) {
		document.getElementById(layerName).style.opacity = alphaState;
		document.getElementById(layerName).style.filter = 'alpha(opacity=' + Math.floor(alphaState*100) + ')';
}


