var galleryId = 'gallery';
var pagingId = 'paging';
var	gallery;
var galleryImages;
var currentImage;
var previousImage;
var preInitTimer;
var running = true;
preInit();

function preInit() {

	if ((document.getElementById)&&(gallery=document.getElementById(galleryId))) {
		gallery.style.visibility = "hidden";
		if (typeof preInitTimer != 'undefined') clearTimeout(preInitTimer);
	} else {
		preInitTimer = setTimeout("preInit()",2);
	}
}

function fader(imageNumber,opacity) {

	var obj=galleryImages[imageNumber];
	if (obj.style) {
		if (obj.style.MozOpacity!=null) {  
			obj.style.MozOpacity = (opacity/100) - .001;
		} else if (obj.style.opacity!=null) {
			obj.style.opacity = (opacity/100) - .001;
		} else if (obj.style.filter!=null) {
			obj.style.filter = "alpha(opacity="+opacity+")";
		}
	}
}

function pagingClick(imagenumber) {
	
	if (running==false && currentImage!=imagenumber) {
		clearTimeout(timeout);
		previousImage = currentImage;
		currentImage = imagenumber;
		galleryImages[previousImage].style.zIndex = 0;
		galleryImages[currentImage].style.zIndex = 100;
		
		document.getElementById(previousImage).className = 'divPaging';
		document.getElementById(currentImage).className = 'divPagingSelected';
		Cufon.replace(".pagingButton", { fontFamily: "wildwords", hover: true, hoverables: { span: true, div: true, a: true } }); 
		crossfade(0);
	}
	
}

function nextSlide() {
	clearTimeout(timeout);

	previousImage=currentImage;
	currentImage = (currentImage*1)+(1);
	
	if (currentImage>=galleryImages.length) {
		currentImage=0;
	}
	
	document.getElementById(previousImage).className = 'divPaging';
	document.getElementById(currentImage).className = 'divPagingSelected';
	
	galleryImages[previousImage].style.zIndex = 0;
	galleryImages[currentImage].style.zIndex = 100;
	Cufon.replace(".pagingButton", { fontFamily: "wildwords", hover: true, hoverables: { span: true, div: true, a: true } }); 
	crossfade(0);
}

function fadeInit() {
	if (document.getElementById) {
		preInit();
		galleryImages = new Array;
		var node = gallery.firstChild;
		while (node) {
			if (node.nodeType==1) {
				galleryImages.push(node);
			}
			node = node.nextSibling;
		}
		for(i=0;i<galleryImages.length;i++) {
			galleryImages[i].style.position='absolute';
			galleryImages[i].style.zIndex=0;
			fader(i,0);
			var pagingButton = document.createElement("li");
			if (i==0) {
				pagingButton.innerHTML = '<div class="divPagingSelected" onclick="pagingClick(this.id);" id="'+i+'"><span class="pagingButton">'+(i+1)+'</span></div>';
			} else {
				pagingButton.innerHTML = '<div class="divPaging" onclick="pagingClick(this.id);" id="'+i+'"><span class="pagingButton">'+(i+1)+'</span></div>';
			}
			document.getElementById(pagingId).appendChild(pagingButton);
		}

		gallery.style.visibility = 'visible';

		currentImage=0;
		previousImage=galleryImages.length-1;
		opacity=100;
		fader(currentImage,100);
		window.setTimeout("crossfade(100)", 0);
		
		Cufon.replace(".pagingButton", { fontFamily: "wildwords", hover: true, hoverables: { span: true, div: true, a: true } }); 
		galleryImages[0].style.zIndex = 100;
	}
}

function crossfade(opacity) {
		if (opacity < 100) {
			running = true;
			fader(currentImage,opacity);
			fader(previousImage,100-opacity);
			opacity += 10;
			timeout = window.setTimeout("crossfade("+opacity+")", 30);
		} else {
			running = false;
			timeout = window.setTimeout("nextSlide()", 8000);
		}
		
}

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;
	}
} 

