var tudock = {}

tudock.projects = function(){

	var actSlide = 0;
	var countSlides = 0;
	var slides;
	var width = 420;
	var menu = [];
	var _self = this;
	
	this.init = function(){
		this.setSlides();
		this.setMenu();
	}
	this.setSlides = function(){
		slides = $('.slide');
	}
	this.setMenu = function(){
		slides.each(function(i){
			if($(this).hasClass('image_element')){
				menu[i] = '<li class="image_link slide_link"><a href="#" id="link_'+i+'" onClick="this.blur()"></a></li>';
			}else{
				menu[i] = '<li class="content_link slide_link"><a href="#" id="link_'+i+'" onClick="this.blur()"></a></li>';
			}
			if(i == 0){
				$(this).addClass('first');
			}
			countSlides = i+1;
			
		});
		$('#slide_menu').html(menu.join(''));
		$('.slide_link a').each(function(index){
			$(this).data('linkto',index);
		});
		this.addMenuListeners();
		this.setActiveMenu(0);
		$('.slide_link a').hover(function(){
			$(this).parent().addClass('hover');
		},function(){
			$(this).parent().removeClass('hover');
		})
	}
	this.addMenuListeners = function(){
		$('.slide_link a').click(function(event){
			event.preventDefault();
			if(parseInt($(this).data('linkto')) != _self.getActiveSlide()){
				_self.openSlide(parseInt($(this).data('linkto')));
			}
		})
	}
	this.removeMenuListeners = function(){
		$('.slide_link a').unbind('click');
		$('.slide_move').remove();
		
	}
	this.setActiveMenu = function(){
		$('.slide_link').each(function(index){
			if($(this).children().data('linkto') == _self.getActiveSlide()){
				$(this).addClass('active');
			}else{
				$(this).removeClass('active');
			}
		});
		
		this.decorateActiveSlide();
	};
	this.decorateActiveSlide = function(){
		if((parseInt(this.getActiveSlide()) +1) < countSlides){
			$(slides[this.getActiveSlide()]).append('<a href="#" class="slide_forward slide_move"></a>');
			$('.slide_forward').click(function(event){
			 
				event.preventDefault();
				_self.openSlide(_self.getActiveSlide()+1)
			})
		}
		if(this.getActiveSlide() > 0){
			$(slides[this.getActiveSlide()]).prepend('<a href="#" class="slide_back slide_move"></a>');
			$('.slide_back').click(function(event){
				event.preventDefault();
				_self.openSlide(_self.getActiveSlide()-1)
			})
		}
	}
	this.openSlide = function(index){
		this.removeMenuListeners();
		var margin = index*width;
		$("#slide_wrapper").animate({ 
				marginLeft: (-margin)+'px'
			}, 
			500,'swing',
			function(){
				actSlide = index;
				_self.setActiveMenu();
				_self.addMenuListeners();
			});
	}
	this.getActiveSlide = function(){
		return actSlide;
	}
}
$(function(){
	p = new tudock.projects();
	p.init();
})
