var Madsone = Madsone || {};

Madsone.staticSlidersCount = 0;

Madsone.SliderWidget = function(config) {
	
	var me = this;
	
	config = config || {};
	
	Madsone.staticSlidersCount = Madsone.staticSlidersCount ++;
	
	this.staticSlidersCount = Madsone.staticSlidersCount;
	this.el = $("#" + config.el);

	this.arrowLeft = $(this.el.find(".arrow-left")[0]);
	this.arrowRight = $(this.el.find(".arrow-right")[0]);

	this.slides = this.el.find(".slide-container");
	
	this.slidesParent = this.el.find(".sliders");
	
	this.slides.each(function(index, s){
		$(s).attr('id', 'slide-' + me.staticSlidersCount + index);
	});
	
	if (config.enableBradCrumb) {
		this.InitBradCrumbMechanism();
	}

	
	this.arrowLeft.bind("click", function() {
		if(!this.slideDisable)
			me.Move('prev');
	});
	
	this.arrowRight.bind("click", function() {
		if(!this.slideDisable)
			me.Move('next');
	})
}

Madsone.SliderWidget.prototype.InitBradCrumbMechanism = function(){
	
	var bcContainer = this.el.find('.fadetour-breadcrumbs'),
		me = this;
	
	this.slides.each(function(index, s){
		//$(s).attr('id', 'slide-' + me.staticSlidersCount + index);
		var cls = index == 0 ? 'active' : '';
		
		var bc = $('<span href="javascript: null;" id="' + 'bc-' + me.staticSlidersCount + index +'" class="sprite_buttons breadcrumb ' + cls + '"></span>');
		bcContainer.append(bc);
		console.log(bc);
		bc.index = index;
		bc.bind('click', function(e){
			
				console.log(bc);
				me.Move(bc.index);
			}
		)
	});
}

Madsone.SliderWidget.prototype.Move = function(dir) {
	
	this.slideDisable = true;
	var curel = this.el.find(".slide-container.active");
	
	var curindex = parseInt(curel.attr('id').replace('slide-' + this.staticSlidersCount, ''));
	var nextindex;
	var nextel;
	var me = this;
	
	
	if(dir == 'prev'){
		nextindex = curindex - 1;
		
		if(nextindex == -1){
			nextindex = this.slides.length - 1;
		}
	} else if(dir == 'next') {
		nextindex = curindex + 1;
		
		if(nextindex == this.slides.length){
			nextindex = 0;
		}
	} else {
		nextindex = dir;
	}
	
	nextel = $(this.slides[nextindex]);
	
	curel.animate({'opacity': 0}, 500, "linear", function(){
		
		curel.removeClass('active');
		
		nextel.animate({'opacity': 1}, 500, "linear", function(){
			
			nextel.addClass('active');
			this.slideDisable = false;
		});
	});
	
	$(".sprite_buttons.breadcrumb.active").removeClass('active');
	$("#bc-" + me.staticSlidersCount + nextindex).addClass('active');
	
}
