var Rotate = {
	
	init: function(autotime){
		//auto rotating time
		Rotate.autotime = autotime * 1000;
		//keep a track of which div is displayed
		Rotate.divNumber = 0;
		//our time for scrollForward and scrollBack
		Rotate.time = 70;
		//add click events
		Rotate.navlinks();
		//kick off the auto function
		Rotate.auto();
		},
	
	//add click events to 'next' and 'previous' links
	navlinks: function(){
		document.getElementById('previous').onclick = function(){
			Rotate.scrollback();
			Rotate.pauseauto();
			return false;
			}
		document.getElementById('next').onclick = function(){
			Rotate.scrollforward();
			Rotate.pauseauto();
			return false;
			}
	
	},
	
	//need to disable the above links when the animation is running
	disablelinks: function(){
		document.getElementById('previous').onclick = function(){ return false; }
		document.getElementById('next').onclick = function(){ return false; }
	},
		
	//need to check whether the auto timer is already running, if so, clear it and restart
	//use this when one of the tools is 'closed' on the homepage, that way the animate restarts
	pauseauto: function(){
		if(Rotate.newtimer != undefined){
			clearInterval(Rotate.newtimer);
			Rotate.auto();
		}
		else {
			Rotate.auto();
		}
	},
	
	//cancelauto cancels the auto rotate completely, use when a tool is first opened on the homepage
	cancelauto: function(){
		if(Rotate.newtimer != undefined){
			clearInterval(Rotate.newtimer);
		}
		else {

		}
	},
	
	auto: function(){
		Rotate.newtimer = setInterval('Rotate.scrollforward()', Rotate.autotime);
	},
	
	scrollback: function(){
		Rotate.disablelinks();
		var divsArray = document.getElementById('marketingPromotions').getElementsByTagName('div');
		for (var i = 0; i < divsArray.length; i++);
		
		if(Rotate.divNumber == 0){
			Rotate.thisDiv = divsArray[0];
			//set our starting positions
			Rotate.thisDivPosition = 0;
			Rotate.prevDivPosition = -45;
			Rotate.prevDiv = divsArray[divsArray.length -1];
			Rotate.prevDiv.style.left = '-45em';
			Rotate.backMarginAnimator();	
			Rotate.divNumber = divsArray.length;
			}
		else {
			Rotate.thisDiv = divsArray[Rotate.divNumber];
			//set our starting positions
			Rotate.thisDivPosition = 0;
			Rotate.prevDivPosition = -45;
			Rotate.prevDiv = divsArray[Rotate.divNumber - 1];
			Rotate.prevDiv.style.left = '-45em';
			
			Rotate.backMarginAnimator();	
			}
		Rotate.divNumber--;
	},
	
	
	scrollforward: function(){
		Rotate.disablelinks();
		var divsArray = document.getElementById('marketingPromotions').getElementsByTagName('div');
		for (var i = 0; i < divsArray.length; i++);
		if(Rotate.divNumber == divsArray.length -1){
			Rotate.thisDiv = divsArray[divsArray.length -1];
			//declare our starting positions
			Rotate.thisDivPosition = 0;
			Rotate.nextDivPosition = 45;
			Rotate.nextDiv = divsArray[0];
			Rotate.nextDiv.style.left = '45em';
			Rotate.forwardMarginAnimator();	
			Rotate.divNumber = -1;
			}
		else {
			Rotate.thisDiv = divsArray[Rotate.divNumber];
			//declare our starting positions
			Rotate.thisDivPosition = 0;
			Rotate.nextDivPosition = 45;
			Rotate.nextDiv = divsArray[Rotate.divNumber + 1];
			Rotate.nextDiv.style.left = '45em';
			Rotate.forwardMarginAnimator();
			}
		Rotate.divNumber++;
	},
	
	forwardMarginAnimator: function(){
		var localTimer = setTimeout('Rotate.forwardMarginAnimator()', Rotate.time);
			if(Rotate.thisDivPosition >= -45){
		 		Rotate.thisDiv.style.left = Rotate.thisDivPosition + 'em';
		 		Rotate.thisDivPosition = Rotate.thisDivPosition - 5;
		 		} 
			if(Rotate.nextDivPosition >= 0){
				Rotate.nextDiv.style.left = Rotate.nextDivPosition + 'em';
				Rotate.nextDivPosition = Rotate.nextDivPosition - 5;
			}
			else { 
		 		clearTimeout(localTimer); 
				//reset links
				Rotate.navlinks();
			}
	},
	
	backMarginAnimator: function(){
		var localTimer = setTimeout('Rotate.backMarginAnimator()', Rotate.time);
			if(Rotate.thisDivPosition <= 45){
		 		Rotate.thisDiv.style.left = Rotate.thisDivPosition + 'em';
		 		Rotate.thisDivPosition = Rotate.thisDivPosition + 5;
		 		} 
			if(Rotate.prevDivPosition <= 0){
				Rotate.prevDiv.style.left = Rotate.prevDivPosition + 'em';
				Rotate.prevDivPosition = Rotate.prevDivPosition + 5;
			}
			else { 
		 		clearTimeout(localTimer); 
				//reset links
				Rotate.navlinks();
			}
	}

}