// JavaScript Document
var Ticker = Class.create({
	initialize:function(container){
		this.container = $(container);
		this.smallContainers = this.container.select(".smallcontainer");
//		this.activeIndicators = this.container.select(".item");
		this.previousButton = this.container.down(".previtem");
		this.nextButton = this.container.down(".nextitem");
		this.initContainers(this);
		this.attachEvents(this);
	},
	initContainers:function(obj){
		obj.smallContainers.first().addClassName("active");
		obj.smallContainers.reject(function(ele){		
			return ele.hasClassName('active');
		}).invoke('hide');
//		obj.activeIndicators.first().addClassName("hover active");
	},
	attachEvents:function(obj){
//		obj.activeIndicators.invoke('observe','click',obj.activeIndicatorsEvent.bindAsEventListener(this));
		obj.nextButton.observe('click',obj.nextIndicatorEvent.bindAsEventListener(this));
		obj.previousButton.observe('click',obj.previousIndicatorEvent.bindAsEventListener(this));
	},
	/*activeIndicatorsEvent:function(event){
		event.stop();
		var eventElement = event.element().addClassName("active");
		var elementToShow = this.getElementToShow(eventElement,this.smallContainers);
		if(!elementToShow){
			eventElement.removeClassName("active");
			return;
		}
		this.activeIndicators.reject(function(ele){
			return eventElement === ele?true:false;
		}).invoke('removeClassName','hover active')
		if(!elementToShow.visible()){
			elementToShow.siblings().invoke('hide').invoke('removeClassName',"active");
			elementToShow.appear({
				duration:0.5,
				queue:{position:'end',scope:'foo1',limit:2}
			}).addClassName('active');
		}
	},*/
	previousIndicatorEvent:function(event){
		event.stop()
		var activeContainer = this.getActiveContainer();
//		var activeIndicator = this.getActiveIndicator();
		var previousContainer = activeContainer.previous(0);
//		var previousIndicator = this.getPreviousIndicator(activeIndicator,this.activeIndicators);
		if(previousContainer){
			activeContainer.removeClassName("active").toggle();
//			activeIndicator.removeClassName("hover active")
			previousContainer.appear({
				duration:0.3,
				queue:{position:'end',scope:'foo2',limit:2}
			}).addClassName("active");
			testimonialSlider.setValue(0);
//			previousIndicator.addClassName("hover active");
		}
	},
	nextIndicatorEvent:function(event){
		event.stop()
		var activeContainer = this.getActiveContainer();
//		var activeIndicator = this.getActiveIndicator();
		var nextContainer = activeContainer.next(0);
//		var nextIndicator = this.getNextIndicator(activeIndicator,this.activeIndicators);
		if(nextContainer){
			activeContainer.removeClassName("active").toggle();
//			activeIndicator.removeClassName("hover active")
			nextContainer.appear({
				duration:0.3,
				queue:{position:'end',scope:'foo1',limit:2}
			}).addClassName("active");
			testimonialSlider.setValue(0);
//			nextIndicator.addClassName("hover active");
		}
	},
	getElementToShow:function(eventElement,smallContainers){
		var myIndex;
		this.activeIndicators.find(function(ele,index){
			if (ele === eventElement)
				myIndex = index;
			})
		return n = smallContainers[myIndex];
	},
	getPreviousIndicator:function(activeIndicator,activeIndicators){
		var myIndex;
		this.activeIndicators.find(function(ele,index){
			if (ele === activeIndicator)
				myIndex = index-1;
			})
		return n = activeIndicators[myIndex];
	},
	getNextIndicator:function(activeIndicator,activeIndicators){
		var myIndex;
		this.activeIndicators.find(function(ele,index){
			if (ele === activeIndicator)
				myIndex = index+1;
			})
		return n = activeIndicators[myIndex];
	},
	getActiveContainer:function(){
		return this.smallContainers.find(function(n){
				return n.visible();
			})
	},
	getActiveIndicator:function(){
		return this.activeIndicators.find(function(n){
				return n.hasClassName("active");
			})
	}
})

var sliderbuttonsAction = function(event,slider){
	var element = event.element();
	slider = slider;
	if(element.id.include('up') && slider.value > 0){
		slider.setValue(slider.value-0.1)
	}
	if(element.id.include('down') && slider.value < 1){
		slider.setValue(slider.value+0.1)
	}
}

var testimonialSlider = new Control.Slider('handle', 'track',{
	axis: 'vertical',
	range: $R(0,1),
	sliderValue: 0,
	onSlide: function(v){
		scrollVertical(v, 'testimonial_content', testimonialSlider);
	},
	onChange: function(v){
		scrollVertical(v, 'testimonial_content', testimonialSlider);
	}
});
function scrollVertical(value, element, slider) {
	element = $(element);
	element.scrollTop = Math.round(value/slider.maximum*(element.scrollHeight-element.offsetHeight));
}
if ($('testimonial_content').scrollHeight <= $('testimonial_content').offsetHeight) {
	testimonialSlider.setDisabled();
}
if(!testimonialSlider.disabled){
	testimonialSlider.handles[0].removeClassName('disabled');
	testimonialSlider.track.siblings().invoke('observe','click',sliderbuttonsAction.bindAsEventListener(this,testimonialSlider)).invoke('removeClassName','disabled');
}

document.observe('dom:loaded',function(){
	$("login_button_container").down('img').observe('mouseover',swapImages).observe('mouseout',swapImages)
	//$$("#conpromotions a","#contestimonials a").invoke('observe','mouseover',headMenuBehaviors).invoke('observe','mouseout',headMenuBehaviors)
	//var promosTicker = new Ticker("promo_container");
	var testimonialsTicker = new Ticker("testimonials_container");
})
