$(document).ready(function(){
	
	var featureSpeed = 600; 			// speed of the main feature animation in milliseconds
	var featureTextSpeed = 400;			// speed of the feature text animation in milliseconds
	var featureTextInDelay = 700;		// speed of the feature text animation in milliseconds
	var canLoop = true; 				// whether the feature can loop back round
	var autoChangeTime = 3000; 			// time in milliseconds between auto sliding
	var autoChange = true; 				// whether to automatically Change
	
	var featurePrevious = 0;
	var featureCurrent = 0;
	var featureMax = $('.cms_feature_selecter').size()-1;
	var autoChangeOn = true;
	var autoChangeTimer;
	var isChanging = false;
	
	$('.cms_feature_selecter').bind('click',function() {
		if(!isChanging && featureCurrent != $('.cms_feature_selecter').index(this)) {
			isChanging = true;
			featurePrevious = featureCurrent;
			featureCurrent = $('.cms_feature_selecter').index(this);
			featureChange();
		}
	});
		
	nextImage = function () {
		if(!isChanging) {
			isChanging = true;
			featurePrevious = featureCurrent;							  
			featureCurrent+=1;
			if(featureCurrent>featureMax && canLoop==true) {
				featureCurrent=0;
				featurePrevious=featureMax;
				featureChange();}
			else if (featureCurrent>featureMax && canLoop==false) {
				featureCurrent=featureMax;}
			else {
				featureChange();}
		}
	}
			
		
	function autoChangeNow() {
		if(featureMax>0) { 
			if (autoChange) {
				if (autoChangeOn){
					clearTimer();
					autoChangeTimer = window.setTimeout(function() {
						nextImage();
					}, autoChangeTime);
				} else {
					clearTimer();
				}
			}
		}
	}
		
	function featureChange() {
		$('.cms_feature_text').eq(featurePrevious).fadeOut(featureTextSpeed,function(){						
			$('.cms_feature_selecter').eq(featurePrevious).removeClass('on').addClass('off');
			$('.cms_feature_selecter').eq(featureCurrent).removeClass('off').addClass('on');
			$(".cms_feature_image").eq(featurePrevious).fadeOut(featureSpeed);
			$(".cms_feature_image").eq(featureCurrent).fadeIn(featureSpeed,function(){
				$('.cms_feature_text').eq(featureCurrent).delay(featureTextInDelay).fadeIn(featureTextSpeed,function(){
					isChanging=false;
					autoChangeNow();
				});																 
			});
		});
	}
		
	function clearTimer(){
		if(autoChangeTimer) { window.clearTimeout(autoChangeTimer); }
	}
	
		
	autoChangeNow();
	
	$('#cms_feature').hover(function(){autoChangeOn=false;clearTimer();},function(){autoChangeOn=true;autoChangeNow();});


});
