var mofi = Class.create({
	/**
	 * Called when the pages is done loading to attach eventlisteners to the main navigation
	 **/
	initialize: function(){
		var t = this;
		$('nav-news','nav-work','nav-contact','nav-info').each(function(element){
			Event.observe(element,'mouseover', t.swapimage);
			Event.observe(element,'mouseout', t.swapimage);
			Event.observe(element,'mofi:swap', t.swapimage);
			
			if(element.hasClassName('selected')){
				element.fire('mofi:swap');
			}			
			
		});
		
		if($('categories')){
			$('nav-print','nav-illustration','nav-films','nav-books','nav-exhibition','nav-identity','nav-other').each(function(element){
				Event.observe(element,'mouseover', t.swapimage);
				Event.observe(element,'mouseout', t.swapimage);
				Event.observe(element,'mofi:swap', t.swapimage);
				
				if(element.hasClassName('selected')){
					element.fire('mofi:swap');
				}
					
			});
		}
		
	},

	/**
	 * A function for swapping images in rollovers
	 * @param  event:Event
	 **/
	swapimage: function(event){
		var e = Event.element(event);
		var i = e.src;
		if(i.include('-hover')){
			e.src = i.sub('-hover.gif','-normal.gif');
		} else {
			e.src = i.sub('-normal.gif','-hover.gif');
		}	
	}
	
});

var Gallery = Class.create({

	initialize: function(){
	
		if($('g')){
			$('g-slider').setStyle({width:(700 * $$('#g-slider li').length)+'px'});			
			this.number = $$('#g-slider li').length;
			var t = this;
			$$('#g-navigation li').each(function(element){
				element.down().observe('click',t.scroll);
			});
		}
	
	},
	
	scroll: function(event){
		event.stop();
		var number = Event.element(event).down().innerHTML;
		new Effect.Move($('g-slider'), { x: '-'+((number-1) * 681), y: 0, mode: 'absolute', duration : .7  });
		$$('#g-navigation li').each(function(element){
		    element.down().removeClassName('selected');
		});
		Event.element(event).addClassName('selected');
		return false;
	}

})

/**
 * Attach a global eventlisteners to the window object
 **/
Event.observe(window, 'load', function(){
	$$('.box').each(function(element) {
		if (!element.visible())
			element.appear({ duration: 0.7 });
	});
	
	new mofi();
	new Gallery();
	
	/* $$('.box').appear({ duration: 3.0 }); */

});
