var entry = 0;
var entries;
var numEntries;
var entriesPos = new Array();
var moving = false;

var box = function() {
	return {
		init : function() {
			box.arrows_init();
			
			entries = $$('.entry');
			numEntries = entries.length;
			
			$('boxContainer').setStyle('overflow', 'hidden');
			if(numEntries > 1) {
				$('bar').setStyle('display', 'block');
				$('barIndicator').setStyle('display', 'block');
				$('barIndicator').setStyle('height', (160 / numEntries));
				$('upArrow').setOpacity(.25);
				
				$('boxContainer').addEvents({
					wheelup: function(e) {
						e = new Event(e).stop();
						if(moving != true) {
							box.entriesSlide('', 'upArrow');
						}
						//log("WHEEL UP");
						
					},

					wheeldown: function(e) {
						e = new Event(e).stop();
						if(moving != true) {
							box.entriesSlide('', 'downArrow');
						}
						//log("WHEEL DOWN");
					}
				});
				
			}
			
			entriesSlideAnim = new Fx.Style('entries', 'top',{duration:500, wait: true, transition: Fx.Transitions.Quad.easeOut, onStart: function() {moving = true;}, onComplete: function() {moving = false;}});
			barIndicatorAnim = new Fx.Style('barIndicator', 'top',{duration:500, wait: true, transition: Fx.Transitions.Quad.easeOut});
			
						
		},
		arrows_init : function() {
			$('upArrow').setOpacity(0);
			$('downArrow').setOpacity(0);
			var entries = $$('.entry');
			var numEntries = entries.length;
			if(numEntries > 1) {
				$('downArrow').setOpacity(1);
			}
			$$('.arrow').setStyle('display', 'block');
			
			$('upArrow').addEvent('click', box.entriesSlide);
			$('downArrow').addEvent('click', box.entriesSlide);
		},
		entriesSlide : function(e, arrow) {
			
			var entries = $$('.entry');
			var numEntries = entries.length;
			
			if(!arrow){
				var arrow = this.id
			}
			//log(arrow);
			if(arrow == 'upArrow'){
				if(entry > 0) {
					entry--;
				}
			}
			else {
				if(entry + 1 < numEntries) {
					entry++;
				}
			}
			
			var moveTo = -(entry * 242);
			//log(-(entry * 242) * .01)
			entriesSlideAnim.stop();
			entriesSlideAnim.start(moveTo);

			if(entry > 0) {
				$('upArrow').setOpacity(1);
			}
			else {
				$('upArrow').setOpacity(.25);
			}
			if((entry + 1) < numEntries) {
				$('downArrow').setOpacity(1);
			}
			else {
				$('downArrow').setOpacity(.25);
			}
			box.moveBarIndicator(numEntries);
			
			
		},
		moveBarIndicator : function(numEntries) {
			barIndicatorAnim.stop();
			barIndicatorAnim.start(((entry / numEntries) * 160).toInt() + 'px');
		}
	}
}();
