var ImageGallery = function(){
	this.nextBtn = $('#next');
	this.prevBtn = $('#prev');
	this.thumbs = $('.thumbs');
	this.keys = new Array();
	this.bigpic = $('#bigpic-img');
	this.selected = null;
	this.animDuration = 500;
	this.init();
}
ImageGallery.prototype = {
	
	init : function(){
		var _this = this;
		
		// setup bindings
		this.bigpic.load(function(){
			_this.loadBigPic();
		});
		
		$('.thumb').each(function(i){
			_this.keys[i] = $(this).attr('id');
			$(this).click(function(){
				var j = i;
				_this.changeImage(j);
			})
		});
		
		$('#next').click(function(){
			_this.nextImage();
		});

		$('#prev').click(function(){
			_this.prevImage();
		});
		
		this.changeImage(0);
	},
	
	loadBigPic : function(){
		this.bigpic.fadeIn(this.animDuration);
	},
	
	changeImage : function(index){
		if (this.selected == null || this.selected != index){
			var newSelected = $('#' + this.keys[index]);
			newSelected.addClass('thumb-on');
			var oldSelected = $('#' + this.keys[this.selected]);

			// change class style
			if (oldSelected){
				oldSelected.removeClass('thumb-on');
			}
			
			// load big image
			var newImgSrc = '_img/company_' + this.keys[index] + '_big.jpg';
			this.bigpic.hide();
			this.bigpic.attr('src', newImgSrc);
			if ($.browser.msie){
				this.bigpic.show();
			}
			
			//change text
			$('#' + this.keys[this.selected] + '-copy').hide();
			$('#' + this.keys[index] + '-copy').fadeIn(this.animDuration);
			
			this.nextBtn.removeClass('disabled');
			this.prevBtn.removeClass('disabled');
			if (index >= this.keys.length -1) this.nextBtn.addClass('disabled');
			if (index <= 0) this.prevBtn.addClass('disabled');
		}
		this.selected = index;
	},
	
	nextImage : function(){
		var next = this.selected + 1;
		if (next < this.keys.length){
			this.changeImage(next);
		}/* else {
			this.changeImage(0);
		}*/
	},
	
	prevImage : function(){
		var prev = this.selected - 1;
		if (prev >= 0){
			this.changeImage(prev);
		}/* else {
			this.changeImage(this.keys.length -1);
		}*/
	}
	
}

$().ready(function(){
	var imgGallery = new ImageGallery();
});