var galleryId = 'gallery';
var gallery;
var galleryImages;
var currentImage;
var previousImage;	

preInit();

function preInit() {
	if ((document.getElementById)&&(gallery=document.getElementById(galleryId))) {
		gallery.style.visibility = "hidden";
		clearTimeout(preInitTimer);
	} else {
		preInitTimer = setTimeout("preInit()",2);
	}
}

function fader(imageNumber,opacity) {
	var obj=galleryImages[imageNumber];
	if (obj.style.MozOpacity!=null) {  
		/* Mozilla's pre-CSS3 proprietary rule */
		obj.style.MozOpacity = (opacity/100) - .001;
	} else if (obj.style.opacity!=null) {
		/* CSS3 compatible */
		obj.style.opacity = (opacity/100) - .001;
	} else if (obj.style.filter!=null) {
		/* IE's proprietary filter */
		obj.style.filter = "alpha(opacity="+opacity+")";
	}
}

function fadeInit() {
	if (document.getElementById) {
		preInit();
		galleryImages = gallery.childNodes;
		for(i=0;i<galleryImages.length;i++) {
			
			galleryImages[i].style.position='absolute';
			galleryImages[i].style.top=0;
			galleryImages[i].style.zIndex=0;
			
			fader(i,0);
		}
		
		gallery.style.visibility = 'visible';
		
		currentImage=0;
		previousImage=galleryImages.length-1;
		opacity=100;
		fader(currentImage,100);
		
		window.setTimeout("crossfade(100)", 1000);
	}
}

function crossfade(opacity) {
		if (opacity < 100) {
			
			fader(currentImage,opacity);
			
			opacity += 10;
			window.setTimeout("crossfade("+opacity+")", 30);
		} else {
			
			fader(previousImage,0);
			
			previousImage=currentImage;
			currentImage+=1;
			if (currentImage>=galleryImages.length) {
				currentImage=0;
			}
			
			galleryImages[previousImage].style.zIndex = 0;
			galleryImages[currentImage].style.zIndex = 100;
			
			opacity=0;
			
			/* enter the time delay in miliseconds at the end of the line below - 1 second = 1000 */
			
			window.setTimeout("crossfade("+opacity+")", 3000);
		}
		
}


addEvent (window,'load',fadeInit)


function addEvent(elm, evType, fn, useCapture) 

{
 if (elm.addEventListener){
   elm.addEventListener(evType, fn, useCapture);
   return true;
 } else if (elm.attachEvent){
   var r = elm.attachEvent("on"+evType, fn);
   return r;
 }
} 