function sliderBarAnimated(){
	this.GLB = {tick: 0, targetTick: 0, timeout: 0, thisSliderId: null, sliderBarSpots: new Array(), slideAnimationActive: 0};
	this.init = function ( id, sliderBarSpots, sliderBarConf) {
		this.GLB.thisSliderId = id;
		var oSliderBar = $(".sliderBarAnimated" + id);
		var oSliderBarInnerWrapper = $('<div class="sliderBar-inner-wrapper sliderBar-inner-wrapperID' + id + '"></div>');
		var oSliderBarInner = $('<div class="sliderBar-inner sliderBar-innerID' + id + '"></div>');
		oSliderBarInner.css( 'left', '-50px');
		
		oSliderBar.append( '<div class="sliderBarHeader"><div class="sliderHeaderContent">' + sliderBarConf.title + '</div></div>');
		
		oSliderBarInnerWrapper.append( oSliderBarInner);
		oSliderBar.append( oSliderBarInnerWrapper);
		$(document).mousemove(function(e){
		      $('#status').html(e.pageX +', '+ e.pageY);
		   });
		
		var self = this;
		oSliderBar.bind('mouseenter', this.mouseOverSlider);
		oSliderBar.bind('mousemove', this.slide);
		
		oSliderBarInner.css( 'width', sliderBarSpots.length * 116 + 100);
		
		var animationClass = "animationBarSlideStyle";
		var actualNav;
		oSliderBarInner.append( '<div class="sliderBarFiller"></div>');
		$.each( sliderBarSpots, function( i, object){
			actualNav = $('<div class="sliderBarContainer ' + (object.i == 0 ? 'selected' : '') + ' sliderObject' + object.i + ' ' + animationClass + '" index="' + object.i + '" ' + (object.i == 0 ? 'style="display: block;"' : '') + '> ' + object.navContent + ' </div>');
			oSliderBarInner.append( actualNav);
			if( object.i == 0)
				actualNav.animate({backgroundColor: "#ccc"},500);
			
			$( actualNav).bind('mouseenter', sliderBarAnimated.prototype.over);
		});
		oSliderBarInner.append( '<div class="sliderBarFiller"></div>');
		oSliderBarInner.append('<div style="clear: both"></div>');
		oSliderBarInnerWrapper.append('<div class="sliderBarArrowLeft sliderBarArrow"></div><div class="sliderBarArrowRight sliderBarArrow"></div>');
		
		oSliderBar.css( {'height': "auto"});
		oSliderBar.css( 'background', "transparent");
		
		setTimeout( function(){ oSliderBarInnerWrapper.find(".sliderBarArrow").height( oSliderBarInnerWrapper.height());}, 1000);
	};
	
	this.mouseOverSlider = function( e){
		var targetPos = {};
		targetPos = sliderBarAnimated.prototype.findPos( this);
		var x = e.pageX - targetPos['left'];
		var y = e.pageY - targetPos['top'];
		
		var container = $(this);
		var slider = container.find(".sliderBar-inner");
		var containerWidth = container.width();
		var sliderWidth = slider.width();
		var nextLeft = -(x*(( sliderWidth - containerWidth) / containerWidth));
		var left = slider.css( "left");
		left = left.substring(0, left.length-2);
		if( !this.animationRunning){
			var self = this;
			slider.animate({ "left": nextLeft}, {
				complete: function() {

					self.animationRunning = 0;
			    }
			});
			this.animationRunning = 1;
		}
	}
	
	this.slide = function( e){
		var targetPos = {};
		targetPos = sliderBarAnimated.prototype.findPos( this);
		var x = e.pageX - targetPos['left'];
		var y = e.pageY - targetPos['top'];
		
		var container = $(this);
		var slider = container.find(".sliderBar-inner");
		var containerWidth = container.width();
		var sliderWidth = slider.width();
		var nextLeft = -(x*(( sliderWidth - containerWidth) / containerWidth));
		var left = slider.css( "left");
		left = left.substring(0, left.length-2);
		
		
		if( !this.animationRunning){
				slider.css( "left", nextLeft);
		}
		
		var sliderBarArrowLeft = container.find(".sliderBarArrowLeft");
		var sliderBarArrowRight = container.find(".sliderBarArrowRight");
		if( left < -50 && sliderBarArrowLeft.css('display') == "none"){ sliderBarArrowLeft.show();}
		if( left > -50 && sliderBarArrowLeft.css('display') == "block"){ sliderBarArrowLeft.hide();}
		if( left > -slider.width() + containerWidth + 50 && sliderBarArrowRight.css('display') == "none"){ sliderBarArrowRight.show();}
		if( left < -slider.width() + containerWidth + 50 && sliderBarArrowRight.css('display') == "block"){sliderBarArrowRight.hide();}
			
		
		
		//slider.animate({ "left": nextLeft});
	    //$('#status2').html(x +', '+ y);
	};
};

sliderBarAnimated.prototype.findPos = function( obj){
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
		return {left:curleft,top:curtop};
	}
	return false;
};


sliderBarAnimated.prototype.heightCheat = function () {
	
};
	
sliderBarAnimated.prototype.over = function() {
	var selectedNavNow = $(".sliderBar-inner .selected");
	var selectedNavNext = $(this);
	
	if( selectedNavNow.attr('index') != selectedNavNext.attr('index')){
		selectedNavNow.removeClass('selected').animate({backgroundColor: "#fff"},500);
		selectedNavNext.addClass('selected').animate({backgroundColor: "#ccc"},500);
	}
};
	
sliderBarAnimated.prototype.out = function(){
		
};
	

