/* 
Wolf-Umwelttchnologie.de - infobox.js 
Author Sebastian Wolf

Object infoBox:
infoBox.ElementID,
infoBox.ThumbnailWidth,
infoBox.StartNumber,
infoBox.Thumbnails,
infoBox.currentActive
infoBox.delay
*/

function InfoboxInit(infoBox) {
	log("InfoBox Init");
	timeInfobox = infoBox;
	
	// Add Events
	infoBox.Thumbnails = $(infoBox.ElementID + ' .InfoThumbnail');
	log(infoBox.Thumbnails.length+" Thumbnails");
	
	infoBox.Thumbnails.each(function(index) {
    	$(this).click(function() {   
			$(infoBox.ElementID + ' .InfoThumbnailPosition').stop();
		  	changeInfo(index, infoBox, true);
			clearTimeout(infoBox.delay);
			log("Click on " + this + " | Stop autoChange");
		});
  	});
	
	//autoChange(infoBox);
}

function autoChange(infoBox) {
	log("Run autoChange");
	
	if(infoBox.currentActive == undefined) {
		log("currentActive == undefined");
		AutoNext = 0;
	} else {
		AutoNext = infoBox.currentActive+1;
	}
	
	log(infoBox.currentActive);
	log(AutoNext);
	
	if(AutoNext >= infoBox.Thumbnails.length) {
		AutoNext = 0;
	}
	
	changeInfo(AutoNext, infoBox, false);
	
	if(AutoNext >= (infoBox.Thumbnails.length-1)) {
		AutoNext = -1;
	}

	log('Lightbox: '+$('#lightbox:visible').length);
	
	if($('#lightbox:visible').length == 0) {
		
		// Move Slider
		/*
		var BgPositionLeft = ((AutoNext+1) * infoBox.ThumbnailWidth+5) + 'px 0';
		$(infoBox.ElementID + ' .InfoThumbnailPosition').animate({
				backgroundPosition:BgPositionLeft
			}, 5000, 'linear'
		);
		*/
		log("delay autoChange");
		
		//infoBox.delay = setTimeout("autoChange(timeInfobox)", 5000);
	}
}

function changeInfo(toActivate, infoBox, moveSlider) {
	deactivateThumbnail(infoBox);
	activateThumbnail(toActivate, infoBox, moveSlider);
	deactivateContent(true, toActivate, infoBox);
}

function deactivateThumbnail(infoBox) {
	$(infoBox.ElementID + ' .InfoThumbnail.active').removeClass('active');
	log("deactivate Thumb");
}

function deactivateContent(callContent, toActivate, infoBox) {
	
	ToDeactivateContent = $(infoBox.ElementID + ' .InfoContentPosition .active');
	if(ToDeactivateContent.length != 0) {
		ToDeactivateContent.removeClass('active');
		ToDeactivateContent.fadeOut('250', function() {
			ToDeactivateContent.removeClass('active');
			log("deacitate Content");
			if(callContent == true) {
				log("deactivateContent call activateContent");
				activateContent(toActivate, infoBox);
			}		
		});		
	} else {
		if(callContent == true) {
			log("deactivateContent call activateContent");
			activateContent(toActivate, infoBox);
		}
	}
}

function activateThumbnail(toActivate, infoBox, moveSlider) {
	// Thumbnail
	$(infoBox.Thumbnails[toActivate]).addClass('active');
	log("Thumbnail activated");
	
	if(moveSlider) {
		// Move Slider
		var BgPositionLeft = (toActivate * infoBox.ThumbnailWidth+5) + 'px 0';
		$(infoBox.ElementID + ' .InfoThumbnailPosition').animate({
				backgroundPosition:BgPositionLeft
			}, {
			duration: 500
		});
	}
}

function activateContent(toActivate, infoBox) {
	log("Activate Content "+(toActivate));
	ToActiveContent = $(infoBox.ElementID + ' div.InfoContent:eq('+toActivate+')');

	ToActiveContent.addClass('active');
	ToActiveContent.fadeIn('250');
	
	infoBox.currentActive = toActivate;
}

function log(x) {
	if(x == "undefined") {
		//console.debug("empty LOG");
	} else {
		//console.debug(x);	
	}
}
