var SlideShowObjects = new Array();
function SlideShowObject(imgParent,startingOpacity,firstImage,totalImages,imageArray,speed,delay) {
	if(SlideShowObjects[0]) SlideShowObject.counter=SlideShowObjects.length;
	else SlideShowObject.counter=0;
	SlideShowObjects[SlideShowObject.counter] = new SlideShow(imgParent,startingOpacity,firstImage,totalImages,imageArray,speed,delay,SlideShowObject.counter);
}
function SlideShow(imgParent,startingOpacity,firstImage,totalImages,imageArray,speed,delay,counter) {
	var instance=this;
	instance.imgParent=imgParent;
	instance.opacity=startingOpacity;
	instance.firstImage=firstImage;
	instance.curCount=firstImage;
	instance.maxCount=totalImages;
	instance.speed=speed;
	instance.delay=delay;
	instance.images=imageArray;
	instance.fade=0;
	instance.pause=0;
	instance.iefix=0;
	instance.ieuser=0;
	instance.safari=0;
	instance.increment=1;
	if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) {
		var version=new Number(RegExp.$1);
		instance.ieuser=1;
		instance.increment=5;
		if (version<7) instance.iefix=1;
	}
	if(navigator.userAgent.toLowerCase().indexOf('apple')!=-1) {
		instance.safari=1;
	}
	instance.counter=counter;
}
SlideShow.prototype.FadeIn = function() {
	var instance=this;
	instance.opacity+=instance.increment;
	if(instance.opacity<101) {
		instance.fade=0;
		instance.pause=0;
	} else {
		instance.opacity=100;
		instance.pause=1;
		instance.fade=1;
	}
	//if(instance.ieuser||instance.safari) timer=window.setTimeout("UpdateOpacity("+instance.counter+")",1);
	var timer=window.setTimeout("UpdateOpacity("+instance.counter+")",instance.speed);
}
SlideShow.prototype.FadeOut = function() {
	var instance=this;
	instance.opacity-=instance.increment;
	if(instance.opacity>0) {
		instance.fade=1;
		instance.pause=0;
	} else {
		instance.curCount=instance.curCount+1;
		if(instance.curCount==instance.maxCount) instance.curCount=0;
		instance.imgParent.replaceChild(instance.images[instance.curCount],instance.imgParent.firstChild);
		if(instance.ieuser) instance.imgParent.firstChild.filters.alpha.opacity=0;
		else instance.imgParent.firstChild.style.opacity=0;
		instance.opacity=0;
		instance.fade=0;
		instance.pause=0;
	}
	//if(instance.ieuser||instance.safari) timer=window.setTimeout("UpdateOpacity("+instance.counter+")",1);
	var timer=window.setTimeout("UpdateOpacity("+instance.counter+")",instance.speed);
}
function UpdateOpacity(counter) {
	if(typeof timer!="undefined") window.clearTimeout(timer);
	if(SlideShowObjects[counter].ieuser) SlideShowObjects[counter].imgParent.firstChild.filters.alpha.opacity=SlideShowObjects[counter].opacity;
	else SlideShowObjects[counter].imgParent.firstChild.style.opacity=SlideShowObjects[counter].opacity/100;
	if(SlideShowObjects[counter].pause) {
		var timer=window.setTimeout("SlideShowObjects["+counter+"].FadeOut()",SlideShowObjects[counter].delay);
	} else {
		if(SlideShowObjects[counter].fade) SlideShowObjects[counter].FadeOut();
		else SlideShowObjects[counter].FadeIn();
	}
}
var mousestate_speed=0;
var mousestate_delay=0;
function getBaseLeft(obj) {
	var curleft=0;
	if(obj.offsetParent) {
		do curleft+=obj.offsetLeft;
		while (obj=obj.offsetParent);
	}
	return curleft;
}

function getMousePosition(e) {
	var position=0;
	if(document.all&&e.clientX) 
	   return e.clientX + (document.documentElement.scrollLeft ?
	   document.documentElement.scrollLeft :
	   document.body.scrollLeft);
	else if (e.pageX) return e.pageX;
	else return position;
}
function moveSpeedSlider(e) {
	if(mousestate_speed) {
		var base=getBaseLeft(el('speed'));
		var position=getMousePosition(e);
		var offset=Math.round(parseFloat((position-base-8)/parseFloat(el('speed').style.width))*100);
		if(offset>100) offset=100;
		else if(offset<0) offset=0;
		var speed=(100-offset)/2;
		el('speed-img').style.marginLeft=offset+"%";
		el('speed-shade').style.width=offset+"%";
		el('slider-speed').value=speed;
		document.onmouseup=new Function("mousestate_speed=0");
	} 
	else {
		el('speed-img').onmousemove=null;
		document.onmousemove=null;
	}
}
function startSpeedSlider(e) {
	mousestate_speed=1;
	mousestate_delay=0;
	if(document.all) {
		document.onmousemove=new Function("moveSpeedSlider(event);");
		el('speed-img').onmousemove=new Function("moveSpeedSlider(event);");
		document.onmouseup=new Function("mousestate_speed=0");
		moveSpeedSlider(event);
	} else {
		document.onmousemove=moveSpeedSlider;
		el('speed-img').onmousemove=moveSpeedSlider;
		document.onmouseup=new Function("mousestate_speed=0");
		moveSpeedSlider;
	}
}
function moveDelaySlider(e) {
	if(mousestate_delay) {
		var base=getBaseLeft(el('delay'));
		var position=getMousePosition(e);
		var offset=Math.round(parseFloat((position-base-8)/parseFloat(el('delay').style.width))*100);
		if(offset>100) offset=100;
		else if(offset<0) offset=0;
		var delay=(100-offset)*50;
		el('delay-img').style.marginLeft=offset+"%";
		el('delay-shade').style.width=offset+"%";
		el('slider-delay').value=delay;
		document.onmouseup=new Function("mousestate_delay=0");
	} 
	else {
		el('delay-img').onmousemove=null;
		document.onmousemove=null;
	}
}
function startDelaySlider(e) {
	mousestate_speed=0;
	mousestate_delay=1;
	if(document.all) {
		document.onmousemove=new Function("moveDelaySlider(event);");
		el('delay-img').onmousemove=new Function("moveDelaySlider(event);");
		document.onmouseup=new Function("mousestate_delay=0");
		moveDelaySlider(event);
	} else {
		document.onmousemove=moveDelaySlider;
		el('delay-img').onmousemove=moveDelaySlider;
		document.onmouseup=new Function("mousestate_delay=0");
		moveDelaySlider;
	}
}