

var fp;
var slider;
var gallery = new Array();
var cf;


$(document).ready(function(){
	
	fp = new Fp('div#fp');
	
	slider = new Slider('div.slider');
	
	$('div.images').each(function(i, item){
	
		var g = new Gallery(this);
		gallery.push(g);
	})
	
	$('div.scroll-dark').jScrollPane({verticalDragMaxHeight: 70});
	$('div.scroll-light').jScrollPane({verticalDragMaxHeight: 70});
	
	cf = new CF();
	
});










var Fp = function(el) {
	
	var _self = this;
	
	// init
	
	$('div.image', el).hover(function(){
		
		$('div.box', this).fadeIn();
		$('div.image', el).css('background-position', '50% 100%');
		
	}, function(){
		
		$('div.box', el).fadeOut();
		$('div.image', el).css('background-position', '50% 0');
		
	});
	
}











var Slider = function(el) {
	
	var _self = this;
	
	var perPage = 6;
	var currPage= 0;
	var offset 	= 164;
	
	this.sw = function(p) {
		
		var slide = $('div.slider-images div.slider-wrap', el);
		
		var total = $('a.image', slide).length;
		var items = p * perPage;
		
		if(total < ((p + 1) * perPage)) {
		
			items = total - perPage;
			currPage = Math.ceil(items / perPage);
		}
		
		if(items < 0) {
			
			items = 0;
			currPage = 0;
		}
			
		var left = -(items * offset);	
		
		$(slide).animate({ 'left': left }, 750, 'easeOutExpo');
		
		
		// buttons
		
		var buttons = $('ul.navi li a', el);
		
		buttons.removeClass('active');
		$(buttons.get(currPage)).addClass('active');
		
	}
	
	
	
	
	this.next = function() {
		
		currPage = currPage + 1;
		
		_self.sw(currPage);
		
		return false;
	}	
	
	
	
	
	
	this.prev = function() {
		
		currPage = currPage - 1;
		
		_self.sw(currPage);
		
		return false;
	}
	
	
	
	// init

	$('ul.navi li a', el).click(function(){

		var items = $('ul.navi li a', el);
		currPage = items.index( this );
				
		_self.sw(currPage);
		
		return false;
	});	
	
	
	
	$('a.prev', el).click(function(){
		
		_self.prev();
		
		return false;
	});
	
	
	
	$('a.next', el).click(function(){
		
		_self.next();
		
		return false;
	});	
	
	
	// scroll to active
	
	var a = $('div.slider-images a', el).index( $('div.slider-images a.active', el) )
	a = Math.floor(a/6);
	
	if(a > 0) {
		_self.sw(a);
	}
}









var Gallery = function(el) {
	
	var _self = this;
	
	this.sw = function(n) {
		
		
		// active button
		
		var buttons = $('ul.navi li a', el);
		
		buttons.removeClass('active');
		$(buttons.get(n)).addClass('active');
		
		
		// active image
		
		var images 	= $('div.image a', el);
		var curr 	= $(images.get(n));
		
		curr.fadeIn('slow');
		images.not(curr).fadeOut('slow');
	}	
	
	
	
	
	this.next = function() {

		var buttons = $('ul.navi li a', el);
		var curr = buttons.index( $('ul.navi li a.active', el) );
		
		var n = curr + 1;
		
		if(n >= buttons.length) {
			
			n = 0;
		}

		_self.sw(n);
		
		return false;
	}





	this.prev = function() {

		var buttons = $('ul.navi li a', el);
		var curr = buttons.index( $('ul.navi li a.active', el) );
		
		var n = curr - 1;
		
		if(n < 0) {
			
			n = buttons.length - 1;
		}

		_self.sw(n);

		return false;
	}	
	
	
	
	
	
	// init

	$(el).hover(function(){
		$('a.prev,a.next', this).show();
	}, function(){
		$('a.prev,a.next', this).hide();
	})
	
	
	$('a.image', el).click(function(){
		return false;
	})
	
	
	$('ul.navi li a', el).click(function(){

		var buttons = $('ul.navi li a', el);
		
		_self.sw( buttons.index(this) );
		
		return false;
	});	
	
	
	
	$('a.prev', el).click(function(){
		
		_self.prev();
		
		return false;
	});
	
	
	
	$('a.next', el).click(function(){
		
		_self.next();
		
		return false;
	});	
	
	
}




var CF = function() {
	
	var a = false;
	
	this.f = function(e) {
		
		if(!a) {
			
			a = true;
			$(e).val("");
		}
	}
	
}




