window.addEvent('domready',function() {
// process 'external' links	
	var t = $$("a[rel=external]");
	t.each(function(lnk, nr){
		lnk.set({'target':'_blank'}).addClass('external');									
	});		

	
	var m = new Menu();
	img_focus('img_container');
});

var Menu = new Class({

	Implements: [Events, Options],
	
	options:{},

	initialize: function(){
		var projects = $$('div[class~=scrollable]');		
		this.obj = [];
		
		projects.each(function(el, i){	
			var wrapper = el.getElement('div');			
			var wr_size = wrapper.getSize();
			var ul_size = wrapper.getElement('ul').getSize();
			if(ul_size.x > wr_size.x){
				this.obj[i] = {
								'scroll': new Fx.Scroll(wrapper, {onComplete: function() {this.handle_arrow(i, wrapper);}.bind(this)}),
								'left': new Element('a', {'href':'javascript:void(0);', 'class':'scroll_btn_left hide', 'html':'&laquo;&laquo;', title:'', 'events':{'click': function(){this.c_scroll('left', i, wrapper);}.bind(this)}}).inject(el), 
								'right': new Element('a', {'href':'javascript:void(0);', 'class':'scroll_btn_right', 'html':'&raquo;&raquo;', title:'Volgende foto', 'events':{'click': function(){this.c_scroll('right', i, wrapper);}.bind(this)}}).inject(el)
				};
			}
		}.bind(this));		
	},
	
	handle_arrow: function(i, wrapper){
		var _size_list = wrapper.getElement('ul').getSize();
		var _size_wrapper = wrapper.getSize();
		var _scroll = wrapper.getScroll();
		
		if(_size_wrapper.x + _scroll.x >= _size_list.x){
			this.obj[i]["right"].addClass('hide');
			this.obj[i]["right"].setProperty('title', '');
		} else {
			this.obj[i]["right"].removeClass('hide');		
			this.obj[i]["right"].setProperty('title', 'Volgende foto');
		}
				
		if(_scroll.x == 0){
			this.obj[i]["left"].addClass('hide');
			this.obj[i]["left"].setProperty('title', '');
		} else {
			this.obj[i]["left"].removeClass('hide');	
			this.obj[i]["left"].setProperty('title', 'Vorige foto');
		}
	},
	
	c_scroll: function(direction, i, wrapper){		
		var _scroll = wrapper.getScroll();
		val = (direction == 'left' ? -86 : 86);				
		this.obj[i]["scroll"].start(val+_scroll.x, _scroll.x);
	}

});

function img_focus(el){
	$(el).getElements('img').each(function(child) {
		var siblings = child.getParent().getParent().getParent().getElements('img').erase(child);
		child.addEvents({
			mouseenter: function() { siblings.tween('opacity',0.5); },
			mouseleave: function() { siblings.tween('opacity',1); }
		});
	});	
}
