//window.addEvent('domready', promo_widget_init);
var $j = jQuery.noConflict();

$j(document).ready(promo_widget_init);

var pwmodules = [];
var featBtns = []; /* will contain references to featured content buttons (up to 4 possible) */
var pwmoduleSliders = [];
var currModule = 0;
var play = true;
//var timerInterval = 1000;
var moduleIntervalId = null;

function promo_widget_init() {	
	
	// Get references to promo widget modules
	for(var i = 0; i < 7; i++) {
		var pwmodule = document.getElementById("pwmodule"+i);
		if(pwmodule) {
			pwmodules.push(pwmodule);
		} else {
			break;
		}
	}
		
	// get references to module buttons and controls
	//var controls = $ES("ul","featmodcontrols");
                var controls =  $j("#featmodcontrols ul");
	featBtns =  $j("#featmodcontrols ul:eq(1) li");



	for(var i = 0; i < pwmodules.length; i++) {
		if(i == 0) {
			pwmodules[i].className = "testimonials";
			featBtns[i].className = "on";
		} else {
			pwmodules[i].className = "hide";
			featBtns[i].className = "";
		}
	}
	
	// Assign Functions to links
	 $j('#next').click(nextModule);
	 $j('#prev').click(prevModule);
	 $j('#play_pause').click(playPause);
	for(var i = 0; i < pwmodules.length; i++) {
		 $j('#modlink' + i).click(jumpToModule);
	}
	
	moduleIntervalId = window.setInterval(nextModuleNoStop, timerInterval);
}

function switchModule(toHide,toShow) {
	//pwmoduleSliders[toHide].hide();
	for (var j=0; j<pwmodules.length; j++){
		pwmodules[j].className = "hide";
		featBtns[j].className = "";
	}
	//pwmodules[toHide].className = "hide";
	pwmodules[toShow].className = "testimonials";

	//pwmoduleSliders[toShow].show();
	featBtns[toShow].className = "on";
	
	// Reset timer on manual change of module
	if(play) {
		window.clearInterval(moduleIntervalId);
		moduleIntervalId = window.setInterval(nextModuleNoStop, timerInterval);
	}
}

function nextModuleNoStop() {
	var toHide = currModule;
	if(currModule+1 < pwmodules.length) {
		var toShow = currModule+1;
		currModule++;
	} else {
		var toShow = 0;
		currModule = 0;
	}
	switchModule(toHide,toShow);
}
function nextModule() {
	var toHide = currModule;
	if(currModule+1 < pwmodules.length) {
		var toShow = currModule+1;
		currModule++;
	} else {
		var toShow = 0;
		currModule = 0;
	}
	switchModule(toHide,toShow);
	moduleIntervalId = window.clearInterval(moduleIntervalId);
	play = false;
	document.getElementById('play_pause').firstChild.src = "slider/playarrow.gif";
}

function prevModule() {
	var toHide = currModule;
	if(currModule > 0) {
		var toShow = currModule-1;
		currModule--;
	} else {
		var toShow = pwmodules.length-1;
		currModule = pwmodules.length-1;
	}
	switchModule(toHide,toShow);
	moduleIntervalId = window.clearInterval(moduleIntervalId);
	play = false;
	document.getElementById('play_pause').firstChild.src = "slider/playarrow.gif";
}

function jumpToModule() {
	var toHide = currModule;
	var toShow = parseInt(this.id.replace(/modlink/,''));
	currModule = toShow;
	
	switchModule(toHide,toShow);
	moduleIntervalId = window.clearInterval(moduleIntervalId);
	play = false;
	document.getElementById('play_pause').firstChild.src = "slider/playarrow.gif";
}

function playPause() {
	moduleIntervalId = window.clearInterval(moduleIntervalId);
	if(play) {
		play = false;
		document.getElementById('play_pause').firstChild.src = "slider/playarrow.gif";
	} else {
		play = true;
		document.getElementById('play_pause').firstChild.src = "slider/pause.gif";
		moduleIntervalId = window.setInterval(nextModuleNoStop, timerInterval);
	}
}
