// some picture fading javascript

window.addEventListener 
? window.addEventListener("load",_init,false)
: window.attachEvent("onload",_init);

var d=document, cIndex=0, nIndex=0, pause=false, _fadeTime = 1000; //fadetime in milliseconds

ns = {
  img: new Array(),  
  moreImages: true,
  numImage: 1,
  imgContainer: undefined,
  imgControl: undefined
};

function _init() {
	if( !d.getElementById || !d.createElement )
		return;
		
	ns.imgContainer = d.getElementById('imageContainer');
	ns.imgControl   = d.getElementById('controls');
	
/*	ns.imgContainer.onmouseover = function() { 
									pause = true; 
								  	ns.imgControl.style.display = 'block';
								  };
	ns.imgContainer.onmouseout =  function() { 
									pause = false;
									ns.imgControl.style.display = 'none';
									setTimeout(_fade, _fadeTime);
								  };
	*/
	while( ns.moreImages )
	{
		var idx = ns.numImage-1;
		ns.img[idx] = new Image(452, 339);
		ns.img[idx].onerror = function() { ns.moreImages = false; };
		ns.img[idx].src = 'images/slideshow/mural/DesktopInkjetPhotoMural'+ns.numImage+'.jpg';
		ns.numImage++;
		if( ns.numImage == 8 ) ns.moreImages = false;
	}
	
	--ns.img.length; // last image doesnt exist
	
	// insert the pix
	for( i = 0; i < ns.img.length; ++i )
	  ns.imgContainer.appendChild(ns.img[i]);
	
	imgs = ns.imgContainer.getElementsByTagName("img");
	for( i = 1; i < imgs.length; ++i) 
		imgs[i].alpha = 0;
	
	imgs[0].style.display = "block";
	imgs[0].alpha = .99;
	
	setTimeout(_fade, _fadeTime);
}

function _fade() {
	cAlpha = imgs[cIndex].alpha - .05;
	nAlpha = imgs[nIndex=((cIndex+1)==imgs.length?0:cIndex+1)].alpha + .05;
		
	imgs[nIndex].style.display = "block";
	imgs[cIndex].alpha = cAlpha;
	imgs[nIndex].alpha = nAlpha;
	
	setOpacity(imgs[cIndex]); 
	setOpacity(imgs[nIndex]);
	
	if( pause ) {
	  if( cAlpha > nAlpha ) {
	    imgs[cIndex].alpha = .99;
		imgs[nIndex].style.display = 'none';
		setOpacity(imgs[cIndex]);
	  } else {
		imgs[nIndex].alpha = .99;
		imgs[nIndex].style.display = 'block';
		imgs[cIndex].style.display = 'none';
		setOpacity(imgs[nIndex]);
		cIndex = nIndex;
	  }	  
	}
	else if(cAlpha <= 0) {
		imgs[cIndex].style.display = "none";
		cIndex = nIndex;
		setTimeout(_fade, _fadeTime);
	} else {
		setTimeout(_fade,50);
	}
	
	function setOpacity(obj) {
		if(obj.alpha > .99) {
			obj.alpha = .99;
			return;
		}
		obj.style.opacity = obj.style.MozOpacity = obj.alpha;
		obj.style.filter = "alpha(opacity=" + (obj.alpha*100) + ")";
	}
}