var Banner = (function() {
	var instance;
	instance = { 
		link : new Array(),
		item1 : {
			i : 4,
			id: 'h1',
			left: 20,
			bg: -3816,
			ob: null,
			pos : 'right'
		},
		
		item2 : {
			i : 3,
			id: 'h2',
			left: 60,
			bg: -2862,			
			ob: null,
			pos : 'right'
		},
		
		item3 : {
			i : 2,
			id: 'h3',
			left: 100,
			bg: -1908,
			ob: null,
			pos : 'right'
		},
		
		item4 : {
			i : 1,
			id: 'h4',
			left: 140,
			bg: -954,
			ob: null,
			pos : 'right'
		},
		item5 : {
			bg: 0
		},
		items : null,
		init : function() {
			$('.bstart').css( {backgroundPosition: "0 0"} );
			this.item1.ob = $("#h1")
			this.item2.ob = $("#h2")
			this.item3.ob = $("#h3")
			this.item4.ob = $("#h4") 
			this.items = new Array(this.item4,this.item3,this.item2,this.item1)
			$(".handle").click(function() {instance.moveEvent(this)})
		},
		moveEvent : function(obj) {
			
			var item = Banner.getById(obj.id);
			item = Banner.getNextToMove(item);
			//this.getNextToMove();
			Banner.scroll(item)	       		
		},
		
		scroll : function(obj) {
			var i = parseInt(obj.id.replace('h',''));
			
			r = parseInt(obj.ob.css('right'))
			if (r > obj.left) {
				left = obj.left
				background = this.getById('h'+(i+1)).bg;
				obj.pos = 'right';
				this.setLink(i+1)
       		} else {
       			var left = (r+760)+'px';
				background = obj.bg;
				obj.pos = 'left';
				this.setLink(i)
       		}
       		obj.ob.animate ({right: left }, { queue:false, duration:400 });
       		$('.bstart').animate({backgroundPosition:"("+background+" 0px)"}, { queue:false, duration:400 });
		},
		getNextToMove : function(item) {
			if (item.pos == 'right') {
				for (var i = 0;i< this.items.length;i++) {
					if (this.items[i].pos == 'right') {
						return this.items[i]
					}
				}
			}
			if (item.pos == 'left') {
				for (var i = this.items.length-1;i >= 0;i--) {
					if (this.items[i].pos == 'left') {
						return this.items[i]
					}
				}
			}
		},
		setLink : function(i) {
       		$('#blink').attr('href',this.link[i]);
		},
		getById : function(id) {
			switch(id) {
				case 'h1' : return this.item1;
				case 'h2' : return this.item2;
				case 'h3' : return this.item3;
				case 'h4' : return this.item4;
				case 'h5' : return this.item5;
			}
		}
		
		
	}
	
	return instance;
})();