
var NUMBER_OF_IMAGES = 17;
var IMAGE_TIMEOUT = 7000;
var OPACITY_DELTA = 2;
var FADE_RATE     = 10;
var IMAGE_PREFIX  = "issue";
var IMAGE_PATH    = "gfx/covers/gallery/"
var DIRECTION     = -1;

var which_image_loaded = 0;
var next_image = 0;
var image_ready = false;
var imageId = 'gallery';
var image;
var next;

ImageNames = new Array();

document.write("<style type='text/css'>#" + imageId + " {visibility:hidden;}</style>");
document.write('<table border="0" cellspacing="0" cellpadding="0" style="visibility:hidden; width: 0%; height:0%;"><tr><td>');
document.write('<img style="visibility:hidden; width: 0px; height: 0px;" id="' + imageId + '_next" alt="" src="">');
document.write('</td></tr></table>');

for (counter = 0; counter < NUMBER_OF_IMAGES; counter++){
	ImageNames[counter] = IMAGE_PATH + "" + IMAGE_PREFIX + "" + (counter+1) + ".jpg";
}


window.onload = function() {		
	if (DIRECTION==-1) {
		which_image_loaded = NUMBER_OF_IMAGES - 1;
		next_image = NUMBER_OF_IMAGES - 2;
	} else {
		next_image = 1;
	}
	if (document.images) {
		image = document.getElementById( imageId );
		next  = document.getElementById( imageId + '_next' );
		image.src = ImageNames[which_image_loaded];
		next.src  = ImageNames[next_image];
		initImage();
		waitImage();
	}
}

function changeImage(direction) {
	next_image += direction;
	if (next_image < 0)
		next_image = NUMBER_OF_IMAGES - 1;
	if (next_image == NUMBER_OF_IMAGES)
		next_image = 0;	

	exitImage();
	setTimeout( "nextImage()",((100/OPACITY_DELTA)+1)*(FADE_RATE+1) );
}

function nextImage() {
	if (!image_ready) {
		setTimeout( "nextImage()", FADE_RATE );
		return;
	}
	image.src = next.src;
	next.src  = ImageNames[next_image];	
	initImage();
	setTimeout( "waitImage()",((100/OPACITY_DELTA)+1)*(FADE_RATE+1) );
}

function waitImage() {
	if (!image_ready) {
		setTimeout( "waitImage()", FADE_RATE );
		return;
	}
	setTimeout( "changeImage(DIRECTION)", IMAGE_TIMEOUT );
}

function initImage() {
	image_ready = false;
	setOpacity(image, 0);
	image.style.visibility = "visible";
	fade(imageId,0,OPACITY_DELTA);
}

function exitImage() {
	image_ready = false;
	setOpacity(image, 100);
	image.style.visibility = "visible";
	fade(imageId,100,-OPACITY_DELTA);
}

function fade(objId,opacity,delta) {
	if (document.getElementById) {
		obj = document.getElementById(objId);
		if ( opacity <= 100 && opacity >= 0 ) {
			setOpacity(obj, opacity);
			opacity += delta;
			window.setTimeout("fade('"+objId+"',"+opacity+","+delta+")", FADE_RATE);
		} else {
			image_ready = true;
		}
	}
}

function setOpacity(obj, opacity) {
	opacity = (opacity == 100)?99.999:opacity;
	// IE/Win
	obj.style.filter = "alpha(opacity:"+opacity+")";
	// Safari<1.2, Konqueror
	obj.style.KHTMLOpacity = opacity/100;
	// Older Mozilla and Firefox
	obj.style.MozOpacity = opacity/100;
	// Safari 1.2, newer Firefox and Mozilla, CSS3
	obj.style.opacity = opacity/100;
}
