

var storyBoard = true;//this is ghetto I know

var myrules2 = {
	'.imageFaderWrapper ol li img' : function(el){
		el.onclick = function(){
			var playPauseBtnObj = xDOM('playPauseBtn');
			playPauseBtnObj.innerHTML = "Play";
			jumpTo('slideshow1_imageFader',getImgName(this.id)); 
			setCURRENT('slideshow1_imageFader',this);
			currentImageNumber = parseFloat(this.id.match(/[\d\.]+/g));
			if(currentImageNumber < 0){currentImageNumber = imgList.length -1;}
			if(currentImageNumber > (imgList.length -1) ){currentImageNumber = 0;}
			currentImageNumber = 4 - currentImageNumber;
			liveLog(currentImageNumber,'red');
			pause('slideshow1_imageFader');
		};
	},
	'.back' : function(el){
		el.onclick = function(){
			var playPauseBtnObj = xDOM('playPauseBtn');
			playPauseBtnObj.innerHTML = "Play";
			previous('slideshow1_imageFader');
		};
	},
	'.next' : function(el){
		el.onclick = function(){
			var playPauseBtnObj = xDOM('playPauseBtn');
			playPauseBtnObj.innerHTML = "Play";
			next('slideshow1_imageFader')
		};
	},
	'.playPauseBtn' : function(el){
		el.onclick = function(){
			playPause(this);
		};
	}
};

Behaviour.register(myrules2);

function getImgName(str){
	var strArr = str.split('_');
	return strArr[0];
}

// created June 5th 2006 by Jason Jaeger
// last updated Oct 1st 2007
var delay = 5000 // how long play function will stay on one image -- in milliseconds so 5000 is 5 seconds
var currentImages = new Array();
var playInterval = new Array();
var fadeInIncrement = 10;//<--bigger number = transition happens in bigger steps (faster, but less smooth)
var fadeInSpeed = 30;//<-- bigger number = slower speed
var fadeOutIncrement = 10;//<--bigger number = transition happens in bigger steps (faster, but less smooth)
var fadeOutSpeed = 30;//<-- bigger number = slower speed
var isPaused = false;

function playPause(thisObj){
	if (isPaused == false){
		pause('slideshow1_imageFader');
		thisObj.innerHTML = "Play";
		isPaused = true;
	}else{
		play('slideshow1_imageFader');
		thisObj.innerHTML = "Pause";
		isPaused = false;
	}
}

var imgList = new Array();
var currentImageNumber = 0;

function begin(imageFaderId){
	//---
	var imageFaderObj = getThingObj(imageFaderId);
	imgList = getElementsByClassName(imageFaderObj, "div", "imageHolder");
	currentImageNumber = imgList.length-1;
	//---
	var thumbsArray2 = getElementsByClassName(imageFaderObj, "img", "NOTCURRENT");
	for(var i=0; i<thumbsArray2.length; i++){
		changeOpac(60, thumbsArray2[i].id);
	}//end for
	beginSlideshow = setTimeout("play('"+imageFaderId+"')",delay);
	//initializeScrollBtns(imageFaderId);
}//end function

function previous(imageFaderId){
	//switch2PlayBtn(imageFaderId);
	pause(imageFaderId);
	currentImageNumber++;
	if(currentImageNumber > (imgList.length -1) ){currentImageNumber = 0;}
	var currentId = getThingId(imgList[currentImageNumber]);
	jumpTo(imageFaderId,currentId);
	setCURRENT(imageFaderId,currentId+"_thmb");
}

function next(imageFaderId){
	//switch2PlayBtn(imageFaderId);
	//pause(imageFaderId);
		currentImageNumber--;
		if(currentImageNumber < 0){currentImageNumber = imgList.length -1;}
		var currentId = getThingId(imgList[currentImageNumber]);
		jumpTo(imageFaderId,currentId);
		setCURRENT(imageFaderId,currentId+"_thmb");
}


function setCURRENT(imageFaderId,thisObj){
	//alert(thisObj);
	imageFaderId = getThingId(imageFaderId);
	thisObj = getThingObj(thisObj);
	
	var imageFaderObj = getThingObj(imageFaderId);
	var thumbsArray = getElementsByClassName(imageFaderObj, "img", "CURRENT");
	for(var i=0; i<thumbsArray.length; i++){
		changeOpac(60, thumbsArray[i].id);
		if(thumbsArray[i] != thisObj){	setClass(thumbsArray[i], 'NOTCURRENT');	}
	}//end for
	
	var thumbsArray2 = getElementsByClassName(imageFaderObj, "img", "NOTCURRENT");
	for(var i=0; i<thumbsArray2.length; i++){
		changeOpac(60, thumbsArray2[i].id);
	}//end for
	
	setClass(thisObj, 'CURRENT');
	changeOpac(100, thisObj.id);
}//end function

function jumpTo(imageFaderId,imageHolderId){
	//switch2PlayBtn(imageFaderId);
	
	
	//pause(imageFaderId);
	var imageFaderObj = getThingObj(imageFaderId);
	var imagesArray = getElementsByClassName(imageFaderObj, "div", "imageHolder");
	var currentObj = getThingObj(imageHolderId);
	currentImages[imageFaderId] = currentObj;
	//--reset opacity & visibility of all images but top to 0 ------------------
	for(var i=0; i<imagesArray.length; i++){
		if(imagesArray[i] != currentImages[imageFaderId]){
			var tempId = getThingId(imagesArray[i]);
			if(!imagesArray[i].style.visibility){
				imagesArray[i].style.visibility = 'visible';
				changeOpac(100, tempId);
			};
			fadeOut(tempId, 0);
		}//end if
	}//end for
	//-------------------------------------------------------------
	fadeIn(imageHolderId, 0, 100);
	
	//liveLog(currentImageNumber,'blue');
}//end function

function play(imageFaderId){//##########################################################
	//pause(imageFaderId);
	next(imageFaderId);
	isPaused = false;
	playInterval[imageFaderId] = setInterval("next('"+imageFaderId+"')",delay);
}//end function

function pauseAll(){//#####################################################################
	liveLog('pause All');
	for(x in playInterval){clearInterval(playInterval[x]);}//end for
}//end function

function pause(imageFaderId){//#####################################################################
//	liveLog('pause');
	if(beginSlideshow){ 
		isPaused = true;
		clearInterval(beginSlideshow);	
	}//end if
	if(playInterval[imageFaderId]){
		isPaused = true;
		clearInterval(playInterval[imageFaderId]);
		}//end if
}//end function

