// JavaScript Document

	var timerID;
	var restartTimerID;
	var longRestartTimerID;

	var isIE = (document.all ? true : false);
	var isDOM = (document.getElementById ? true : false);


	numlayers = 3;
	activelayer = 0;
	pausebutton = "galbtn_pause";
	pauseimage = "assets/home/galbtn_pause.jpg";
	playimage = "assets/home/galbtn_play.jpg";
	playstate = 1;
	timerinterval = 5000;

	fadetime = 200;
	fadesteps = 6;
	
	currentopacity = 100;
	
	var fader;
	var disabled = false;


	function GetElement( elmid ) {
		var elm;
		if (isDOM) {
			elm = document.getElementById( elmid );
		} else { 
			elm = isIE ? document.all[elmid].style : document.layers[elmid]; // NS4
		} 
		return elm;
	}
	
	function Fade() {
	
		if( !disabled ) {
			a  = activelayer + 1;
			if( a >= numlayers ) {
				a = 0;
			}
			SetVisibleLayer( activelayer );
			from_elem = GetElement("gal"+activelayer);
			to_elem = GetElement("gal"+a);
			
			SetElementOpacity( a, 100 );
			SetElementOpacity( activelayer, 100 );
			from_elem.style.zIndex = 3;
			to_elem.style.zIndex = 2;
			
			currentopacity = 100;
			
			fader = setTimeout( "FadeIn("+a+")", fadetime / fadesteps );
		}	
	}
	function FadeReverse() {
	
		if( !disabled ) {
			a  = activelayer - 1;
			if( a < 0 ) {
				a = numlayers - 1;
			}
			//SetVisibleLayer( activelayer );
			from_elem = GetElement("gal"+activelayer);
			to_elem = GetElement("gal"+a);
			
			SetElementOpacity( a, 100 );
			SetElementOpacity( activelayer, 100 );
			from_elem.style.zIndex = 3;
			to_elem.style.zIndex = 2;
			
			currentopacity = 100;
			
			fader = setTimeout( "FadeIn("+a+")", fadetime / fadesteps );
		}	
	}
	
	function FadeIn( a ) {
		from_elem = GetElement("gal"+activelayer);
		to_elem = GetElement("gal"+a);
		currentopacity -= ( 100/fadesteps );
		
		
		if( currentopacity < 0 ) {
			clearTimeout( fader );
			disabled = false;
			from_elem.style.zIndex = 1;
			activelayer = a;
			SetCounterText();
			if( playstate == 1 ) {
				timerID = setTimeout("UpdateTimer()", timerinterval );
			}
		} else {
			disabled = true;
			SetElementOpacity( activelayer, currentopacity );
			fader = setTimeout( "FadeIn("+a+")", fadetime / fadesteps );
		}
		
		//statusline = document.GetElement("status");
		//statusline.innerHTML = "From " + a + " to " + currentslide + ": " + DOMopacity;
		
	}
	
	function SetElementOpacity( a, op ) {
		elem = GetElement("gal"+a);

		DOMopacity = op / 100;

		elem.style.opacity = DOMopacity;
		elem.style.filter = "alpha(opacity="+op+")";
		
	}




	function UpdateTimer() {
		if(timerID) {
			Fade();
		}
	}

	function StartTimer() {
		timerID = setTimeout("UpdateTimer()", timerinterval );
		SetPlay();
	}

	function SetVisibleLayer( layernum ) {
		var countertext = "";
		if( layernum < numlayers && layernum >=0 ) {
			for( i=0; i<numlayers; i++ ) {
				elm = GetElement("gal"+i);
				//debug("layer"+i+".zIndex = "+ elm.style.zIndex);
				if( i == layernum ) {
					elm.style.zIndex = 3;
				} else {
					elm.style.zIndex = 1;
				}
			}
			SetCounterText();
		}
	}

	function CycleLayers() {
		activelayer++;
		if( activelayer >= numlayers ) {
			activelayer = 0;
		}
		SetVisibleLayer( activelayer );
		//alert( activelayer + " " + numlayers );
	}
	function SetCounterText() {
		countertext = activelayer+1 + " of " + numlayers;
		GetElement("imgcounter").innerHTML = String(countertext);
	}
	function SetInitialImage() {
		SetVisibleLayer( 0 );
	}

	function LayerFwd() {
		SetPaused();
		//activelayer++;
		//if( activelayer >= numlayers ) {
		//	activelayer = 0;
		//}
		//SetVisibleLayer( activelayer );
		Fade();
	}
	function LayerBack() {
		SetPaused();
		//activelayer--;
		//if( activelayer < 0 ) {
		//	activelayer = numlayers -1;
		//}
		//SetVisibleLayer( activelayer );
		FadeReverse();
	}

	function PlayPause() {
		if( playstate != 1 ) {
			StartTimer();
		} else {
			SetPaused();
		}
	}

	function SetPaused() {
		clearTimeout(timerID);
		playstate = 0;
		if( document.images ) {
			document[pausebutton].src = playimage;
		}
//<a href="#" onClick="PlayPause();"><img name="galbtn_pause" border=0 src="assets/home/galbtn_pause.jpg"></a>
	}

	function SetPlay() {
		playstate = 1;
		if( document.images ) {
			document[pausebutton].src = pauseimage;
		}
	}

	function HoverStopTimer() {
		//SetPaused();
		//playstate = -1;
		//clearTimeout( restartTimerID );
	}
	function HoverRestartTimer() {
		//if( playstate == -1 ) {
		//	playstate = 1;
		//	restartTimerID = setTimeout("RestartTimer()", 3000);
		//}
	}
	function RestartTimer() {
		clearTimeout( restartTimerID );
		LayerFwd();
		StartTimer();
	}
