/***********************************************
* Ultimate Fade-In Slideshow (v1.51): © Dynamic Drive (http://www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for this script and 100s more.
***********************************************/
 
var fadebgcolor="#CACACA";
var playbuttons = new Image();
var pausebuttons = new Image();

var pausebuttonoff = "/t2/static/en/image/pause0.gif";
var pausebuttonon = "/t2/static/en/image/pause1.gif";
var playbuttonoff = "/t2/static/en/image/play0.gif";
var playbuttonon = "/t2/static/en/image/play1.gif";

playbuttons.src=playbuttonon;
pausebuttons.src=pausebuttonoff;

var fadearray=new Array(); //array to cache fadeshow instances
var fadeclear=new Array();//array to cache corresponding clearinterval pointers
var delayclear=new Array(); //array to cache clearinterval pointers
var pauseclear=new Array(); //array to cache clearinterval pointers
 
var dom=(document.getElementById); //modern dom browsers
 
function fadeshow(theimages, overlays, fadewidth, fadeheight, borderwidth, delay, pause){
	this.newthing=0;
	this.pausecheck=pause;
	this.pauseon=0;			//pause not pressed
	this.mouseovercheck=0;
	this.delay=delay;
	this.degree=10; 			//initial opacity degree (10%)
	this.curimageindex=0;
	this.nextimageindex=1;
	this.lastimageindex=0; //the last image 
	fadearray[fadearray.length]=this;
	this.slideshowid=fadearray.length-1;
	this.canvasbase="canvas"+this.slideshowid;
	this.curcanvas=this.canvasbase+"_0";
	this.theimages=theimages;
	this.imageborder=parseInt(borderwidth);
	this.paintimages=new Array(); //images preload
	for (j=0;j<theimages.length;j++) {
		this.paintimages[j]=new Image();
		this.paintimages[j].src=theimages[j][0];
	}
	this.overlays=overlays; //overlay images
	
	var fadewidth=fadewidth+this.imageborder*2;
	var fadeheight=fadeheight+this.imageborder*2;

	// handling spacing for the player on main page
	var menuIndent="";
	if(fadewidth > 600) { menuIndent="<td width='40'></td>"; }	
	
	var menuStr='<div id="menu'+this.slideshowid+'" style="width:'+fadewidth+'px; padding-top:1px;padding-bottom:1px; text-align:right; height: 20px; background:#CACACA;">'+ '<table cellspacing="0" cellpadding="0" align="right"><tr>';
	if(this.theimages.length > 1) {
		menuStr+='<td>'+
		'<a id="play'+this.slideshowid+'" href="javascript:void(0);"><img id="playbutton'+this.slideshowid+'" src="'+playbuttonon+'" border="0"></a>'+
		'<a id="pause'+this.slideshowid+'" href="javascript:void(0);"><img id="pausebutton'+this.slideshowid+'" src="'+pausebuttonoff+'" border="0"></a>'+		
		'</td>';
	}
	menuStr+='<td width="5"></td>';	
	if(this.theimages.length > 1) {
		for(var i=0;i<this.theimages.length;i++) {
			menuStr += '<td align="center" style="background-color:#999999; vertical-align:middle; padding-right:2px; padding-left:2px; border: 1px solid white; font-size:8pt; font-family:arial; width:10px; font-weight:bold;" id="imagenumbera_'+this.slideshowid+'_'+i+'">';
			menuStr += '<a href="javascript:skipTo('+i+','+this.slideshowid+');" style="color:white; text-decoration:none;">'+(i+1)+'</a></td>';
			menuStr += '<td width="2"></td>';
		}
	}		
	menuStr += menuIndent + '</tr></table></div>';
 
	document.getElementById("slideShow").innerHTML = '<div id="master'+this.slideshowid+'" style="position:relative;width:'+fadewidth+'px;height:'+fadeheight+'px;overflow:hidden;"><div id="'+this.canvasbase+'_0" style="position:absolute;width:'+fadewidth+'px;height:'+fadeheight+'px;top:0;left:0;filter:progid:DXImageTransform.Microsoft.alpha(opacity=10);opacity:0.1;-moz-opacity:0.1;-khtml-opacity:0.1;background-color:'+fadebgcolor+'"></div><div id="'+this.canvasbase+'_1" style="position:absolute;width:'+fadewidth+'px;height:'+fadeheight+'px;top:0;left:0;filter:progid:DXImageTransform.Microsoft.alpha(opacity=10);opacity:0.1;-moz-opacity:0.1;-khtml-opacity:0.1;background-color:'+fadebgcolor+'"></div></div><div id=menu_'+this.slideshowid+' style="position:absolute; top:'+fadeheight+'px;width:'+fadewidth+'px;height:20px;background-color:'+fadebgcolor+'">'+menuStr+'</div>';
	
	this.startit();	
}

function fadepic(obj){
	if (obj.degree<100){
		obj.degree+=10
		if (obj.tempobj.filters&&obj.tempobj.filters[0]){
			if (typeof obj.tempobj.filters[0].opacity=="number") //if IE6+
				obj.tempobj.filters[0].opacity=obj.degree;
			else //else if IE5.5-
				obj.tempobj.style.filter="alpha(opacity="+obj.degree+")";
		}
		else if (obj.tempobj.style.MozOpacity)
			obj.tempobj.style.MozOpacity=obj.degree/101;
		else if (obj.tempobj.style.KhtmlOpacity)
			obj.tempobj.style.KhtmlOpacity=obj.degree/100;
		else if (obj.tempobj.style.opacity&&!obj.tempobj.filters)
			obj.tempobj.style.opacity=obj.degree/101;
	}
	else{
		startNew(obj);
	}
}
 
fadeshow.prototype.populateslide=function(picobj, picindex){
	var slideHTML="";
	if (this.theimages[picindex][1]!="") //if associated link exists for image
		slideHTML='<a href="'+this.theimages[picindex][1]+'" alt="'+this.theimages[picindex][2]+'">';
	slideHTML+='<img src="'+this.paintimages[picindex].src+'" border="'+this.imageborder+'px">';
	if (this.theimages[picindex][1]!="") //if associated link exists for image
		slideHTML+='</a>';
	for (i=0;i<this.overlays.length;i++) {
		if(this.overlays[i][0]==picindex) {
			var overlayId="overlayId"+i;
			slideHTML+='<div id="'+overlayId+'" onmouseover="overlaySwitch('+"'"+overlayId+"'"+','+"'"+this.overlays[i][8]+"'"+','+"'"+this.overlays[i][6]+"'"+')" onmouseout="overlaySwitch('+"'"+overlayId+"'"+','+"'"+this.overlays[i][7]+"'"+')" style="position:absolute; top:'+this.overlays[i][1]+'px;left:'+this.overlays[i][2]+'px;"><a href="'+this.overlays[i][5]+'" alt="'+this.overlays[i][6]+'"><img src="'+this.overlays[i][7]+'" width="'+this.overlays[i][3]+'" height="'+this.overlays[i][4]+'" border="0"></a></DIV>';
		}
	}
	picobj.innerHTML=slideHTML;
}

fadeshow.prototype.rotateimage=function(supersede){
	var cacheobj=this;
	if ((this.mouseovercheck==1 || this.pauseon==1) && !supersede) {
		pauseclear[this.slideshowid]=setTimeout(function(){cacheobj.rotateimage()}, 100);
	}
	else {
		this.resetit();
		var crossobj=this.tempobj=document.getElementById(this.curcanvas);
		crossobj.style.zIndex++;
		fadeclear[this.slideshowid]=setInterval("fadepic(fadearray["+this.slideshowid+"])",50);
		this.curcanvas=(this.curcanvas==this.canvasbase+"_0")? this.canvasbase+"_1" : this.canvasbase+"_0";
		this.updateindex();
	}	
}
 
fadeshow.prototype.updateindex=function() {
	var previousimagenum=document.getElementById('imagenumbera_'+this.slideshowid+'_'+this.lastimageindex);
	previousimagenum.style.backgroundColor='#999999';
	var currentimagenum=document.getElementById('imagenumbera_'+this.slideshowid+'_'+this.curimageindex);
	currentimagenum.style.backgroundColor='#edac00';
	this.lastimageindex=this.curimageindex;
	this.curimageindex=(this.curimageindex<this.paintimages.length-1)? this.curimageindex+1 : 0;
}

fadeshow.prototype.resetit=function(){
	this.degree=10;
	var crossobj=document.getElementById(this.curcanvas);
	if (crossobj.filters&&crossobj.filters[0]){
		if (typeof crossobj.filters[0].opacity=="number") //if IE6+
			crossobj.filters(0).opacity=this.degree;
		else //else if IE5.5-
			crossobj.style.filter="alpha(opacity="+this.degree+")";
	}
	else if (crossobj.style.MozOpacity)
		crossobj.style.MozOpacity=this.degree/101;
	else if (crossobj.style.KhtmlOpacity)
		crossobj.style.KhtmlOpacity=this.degree/100;
	else if (crossobj.style.opacity&&!crossobj.filters)
		crossobj.style.opacity=this.degree/101;
}
 
fadeshow.prototype.startit=function(){
	var crossobj=document.getElementById(this.curcanvas);
	this.populateslide(crossobj, this.curimageindex);
	if (this.pausecheck==1){ //IF SLIDESHOW SHOULD PAUSE ONMOUSEOVER
		var cacheobj=this;
		var crossobjcontainer=document.getElementById("master"+this.slideshowid);
		crossobjcontainer.onmouseover=function()
		{
			cacheobj.mouseovercheck=1;
			cacheobj.pauseon=0;
			pause.onclick();
		};
		crossobjcontainer.onmouseout=function()
		{
			cacheobj.mouseovercheck=0;
			cacheobj.pauseon=1;
			play.onclick();
		};

		var cacheobj=this;		
		var playbutton = document.getElementById("playbutton"+this.slideshowid);
		var play = document.getElementById("play"+this.slideshowid);

		var pausebutton = document.getElementById("pausebutton"+this.slideshowid);
		var pause = document.getElementById("pause"+this.slideshowid);

		play.onclick = function()
		{
			if(cacheobj.pauseon==1) {
				cacheobj.pauseon=0; // pause un-pressed
				playbutton.src=playbuttonon;
				pausebutton.src=pausebuttonoff;
			}
		};

		pause.onclick = function()
		{
			if(cacheobj.pauseon==0) {
				cacheobj.pauseon=1;
				pausebutton.src=pausebuttonon;
				playbutton.src=playbuttonoff;
			}
		};										
	}
	this.rotateimage();
}

function skipTo(index, slideshowid) {
	clearInterval(delayclear[slideshowid]);
	clearInterval(pauseclear[slideshowid]);
	var obj = fadearray[slideshowid];
	obj.curimageindex = index;
	startNew(obj,index,50,true);
}

function startNew(obj, nextIndex, delay, supersede) {
	if(typeof nextIndex == "undefined") { nextIndex = obj.nextimageindex; }
	if(typeof delay == "undefined") { delay = obj.delay; } 
	clearInterval(fadeclear[obj.slideshowid]);
	obj.nextcanvas=(obj.curcanvas==obj.canvasbase+"_0")? obj.canvasbase+"_0" : obj.canvasbase+"_1";
	obj.tempobj=document.getElementById(obj.nextcanvas);
	obj.populateslide(obj.tempobj, nextIndex);
	obj.nextimageindex=(nextIndex<obj.paintimages.length-1)? nextIndex+1 : 0;
	delayclear[obj.slideshowid]=setTimeout("fadearray["+obj.slideshowid+"].rotateimage("+supersede+")", delay);
}

function overlaySwitch(elId, imgSrc, altTxt)
{
	var qryStr = "div#"+elId+" img";
	var img = (dojo.query(qryStr))[0];
	dojo.attr(img, "src", imgSrc);
	dojo.attr(img, "alt", altTxt);
}