// JavaScript Document
$(document).ready(function() {
	carouselCounter = setCounter(carouselElement);
	setImageRotatorListeners();
});

var setImageRotatorListeners = function(){
	$('.brandingControls .pause a').click(function(){
											  debug('>>pause clicked<<');			 
											  if(isCarouselOn){
												  debug('>>pause stopping carousel<<');
												  isCarouselOn = false;
												  stopCarouselTimer();
												  $('.brandingControls .pause a img').attr('src', playSrc);
												} else {
												  debug('>>pause starting carousel<<');
												  startCarousel(carouselElement, carouselCounter);
												  $('.brandingControls .pause a img').attr('src', pauseSrc);
												}	
	  });
		$('.brandingControls .previous a').click(function(){debug('>>previous clicked<<');isCarouselOn = false;displayPrevious($(carouselElement), carouselCounter);});
		$('.brandingControls .next a').click(function(){debug('>>next clicked<<');isCarouselOn = false;displayNext($(carouselElement), carouselCounter);});	
	}

/* Branding Carousel */
var t;
var linkTrigger = 'x';
var carouselCounter;
var carouselElement = '.brandingContent';
var carouselDisplayLength = 7000;
var carouselFadeLength = 1000;
var isCarouselOn = false;
var isCarouselAnimating = false;
var pauseSrc = '/images/Default/business-buttonPause.gif';
var playSrc = '/images/Default/business-buttonPlay.gif';


var setCounter = function(elmID){
    //debug('setDivCounter');
		var elm = $(elmID);
		var elmChildrenNum = elm.find('> li').length;
		debug('elmChildrenNum : ' + elmChildrenNum);
		$('.brandingContentMax').html(elmChildrenNum);
		return new Array(0, elmChildrenNum-1, 0);
}

var startCarousel = function(elmID, counter){
    debug('startCarousel');
	debug('total elements : ' +  $(elmID).find('> li').length);
	debug($(elmID).find('> li').length > 1);
	var elm = $(elmID);
	if($(elmID).find('> li').length > 1)
	{
		$('.brandingControls').show();
		isCarouselOn = true;
		startCarouselTimer(elm, counter);	
	} else {
		$('.brandingControls').hide();
		debug('>> do not start <<');
	}
}

var displayPrevious = function(elm, counter) {
		debug('displayNextDiv');
		if(!isCarouselAnimating) {
			stopCarouselTimer();
			
			//debug(':' + elm.find('> li').length);*/
			//debug(':' + $(elm).find('> li').length);
			//debug('linkTrigger :' + linkTrigger);
			
		  var currentNum = parseInt(counter[2]);
			var nextNum;
			
			if(linkTrigger != 'x') {
				//debug('linkTrigger true :' + linkTrigger);
				nextNum = parseInt(linkTrigger);
				linkTrigger = 'x';
			} else {
				//debug('linkTrigger false:' + linkTrigger);
				if(counter[2] > counter[0]) {
					nextNum = currentNum - 1;
				} else {
					nextNum = parseInt(counter[1]);
				}
			}	
			
				//debug('nextPanel to display' + nextNum );
				var currentString = "> li:eq(" + currentNum + ")";
				var nextString = "> li:eq(" + nextNum + ")";

			$(elm).find('> li').each(function (i) {														
				//debug('> li: ' + i + ' / current:' + counter[2]);

			if(i == counter[2]){
						//debug('match: ' + i + ' / ' + counter[2]);
						isCarouselAnimating = true;
						$(this).fadeOut(carouselFadeLength, function () {
						
							  counter[2] = nextNum;
								$(elm).find(nextString).fadeIn(carouselFadeLength);
								$(elm).find(currentString).removeClass('current');
								$(elm).find(nextString).addClass('current');
								$('.brandingContentCurrent').html(counter[2] + 1);
								startCarouselTimer(elm, counter);
								
								isCarouselAnimating = false;
							
						
						});
				}
			});
		}
}

var displayNext = function(elm, counter) {
		debug('displayNextDiv');
		if(!isCarouselAnimating) {
			stopCarouselTimer();
			
			//debug(':' + elm.find('> li').length);*/
			debug(':' + $(elm).find('> li').length);
			debug('linkTrigger :' + linkTrigger);
			
			var currentNum = parseInt(counter[2]);
			var nextNum;
						
			if(linkTrigger != 'x') {
				debug('linkTrigger true :' + linkTrigger);
				nextNum = parseInt(linkTrigger);
				linkTrigger = 'x';
			} else {
				debug('linkTrigger false:' + linkTrigger);
				if(counter[2] < counter[1]) {
					nextNum = currentNum + 1;
				} else {
					nextNum = parseInt(counter[0]);
				}
			}	
			
				debug('nextPanel to display' + nextNum );
				var currentString = "> li:eq(" + currentNum + ")";
				var nextString = "> li:eq(" + nextNum + ")";

			$(elm).find('> li').each(function (i) {														
				debug('> li: ' + i + ' / current:' + counter[2]);

			if(i == counter[2]){
						debug('match: ' + i + ' / ' + counter[2]);
						isCarouselAnimating = true;
						$(this).fadeOut(carouselFadeLength, function () {
						
							  counter[2] = nextNum;
								$(elm).find(nextString).fadeIn(carouselFadeLength);
								$(elm).find(currentString).removeClass('current');
								$(elm).find(nextString).addClass('current');
								$('.brandingContentCurrent').html(counter[2] + 1);
								startCarouselTimer(elm, counter);
								
								isCarouselAnimating = false;
							
						
						});
				}
			});
		}
}

var startCarouselTimer = function(elm, counter) {
		debug('startCarouselTimer');
		if(isCarouselOn)
		{
		  $('.pause').removeClass('paused');
		  stopCarouselTimer();  
			t=setTimeout(function(){displayNext(elm, counter)},carouselDisplayLength);
		}
}

var stopCarouselTimer = function(){
		debug('stopCarouselTimer');
		if(!isCarouselOn)
		{
			$('.pause').addClass('paused');
		}
		if(t) {
				clearTimeout(t);
		}   
}