/* special sfx styles */
var sfx = {
	
	slideshowImageDir 	: "images/slideshow/",
	slideshowTarget		: "colimg",
	slideshowImages 	: [],
	slideshowSlide 		: 0,
	slideshowSpeed		: 500,
	slideshowDelay		: 3000,
	slideshowPause		: false,
	
	preloadSlideshow : function(images)
	{
		for(i = 0; i < images.length; i++){
			//	preload the images		
			var img 	= new Image();
				img.src = sfx.slideshowImageDir + images[i];
				//dom.debug(img.src);
			//	add to stored image array
			sfx.slideshowImages.push(img);
		}
	},	
	
	
	slideshow : function()
	{
		//	is slide show paused
		if( sfx.slideshowPause ) return false;
		
		sfx.slideshowSlide++;
		if( sfx.slideshowSlide == sfx.slideshowImages.length  ){
			sfx.slideshowSlide = 0;
		}
		setTimeout(
			function(){ 
				//	is slide show paused
				if( sfx.slideshowPause ) return false;
		
				sfx.fade( dom.byId(sfx.slideshowTarget), 100, 0, sfx.slideshowSpeed );
				setTimeout(
					function(){ 
						dom.byId(sfx.slideshowTarget).src = sfx.slideshowImages[sfx.slideshowSlide].src;
						sfx.fade( dom.byId(sfx.slideshowTarget), 0, 100, sfx.slideshowSpeed );
						sfx.slideshow();
					}, sfx.slideshowSpeed); 
			}, sfx.slideshowDelay);
	},
	
	pauseSlideshow : function()
	{	
		sfx.slideshowPause = true;
	},
	
	playSlideshow : function()
	{
		if( sfx.slideshowPause ){
			sfx.slideshowPause = false;
			sfx.slideshow();
		}
	},
	
	autoSlideshow : function()
	{
		if( sfx.slideshowPause ){
			sfx.playSlideshow();
		}else{
			sfx.pauseSlideshow();
		}	
	},
	
	/* *********************************************
	set opacity of oject via inline style
	********************************************* */
	setOpacity : function( obj, value )
	{
		if( obj ){
			//obj = obj.style;
			obj.style.opacity 	   = (value/101).toFixed(2);  
			obj.style.MozOpacity   = (value/101).toFixed(2);
			obj.style.KhtmlOpacity = (value/100).toFixed(2);
			obj.style.filter = "alpha(opacity=" + value + ")"; 
		}
	},
	
	
	/* *********************************************
	gets opacity of object, inline stlye or by class
	********************************************* */
	getOpacity : function(obj)
	{
		//	ensure that a number is returned
		var opac = parseFloat(obj.style.opacity);
		//	if opacity is not set
		if( isNaN(opac) ){
			sfx.setOpacity(obj, 100);
			return sfx.getOpacity(obj);
		}
		return opac;
	},

	
	fade : function(obj, start, end, millisec)
	{	    //speed for each frame	    var speed = Math.round(millisec/100);	    var timer = 0;	    //determine the direction for the blending, if start and end are the same nothing happens	    if(start > end) {
	    	//sfx.isFading = true;	        for(var i = start; i >= end; i--){
	        	setTimeout(function(){ sfx.setOpacity(obj, start--) }, (timer*speed));
	        	timer++;	        }	    }else if(start < end) {	        //sfx.isFading = true;
	        for(var i = start; i <= end; i++){	            setTimeout(function(){ sfx.setOpacity(obj, start++) }, (timer*speed));	            timer++;	        }	    }
	    //sfx.isFading = false;
	} 
	
	
}