var LogiffineObj = new Class({
	
	options: {
		
	},
	
	initialize: function( options ){
		$extend( this.options, options );
		this.mkRightMenu();
		this.mkLeftMenu();
		this.mkScrollingNews();
		this.mkCarteMenu();
		this.mkLogisticalSiteAccordion();
		new Tips($$('.tip'));
	},
	
	mkRightMenu: function(){
		if(!$chk( $$('#right_column a') )){
			console.log('Left menu error');
			return;
		}	
		$$('#right_column a').each(function(el){
			var fx = new Fx.Styles(el, {duration:200, wait:false});
			el.addEvent('mouseenter', function(){
				fx.start({
					'margin-right': -10
				});
			});
			el.addEvent('mouseleave', function(){
				fx.start({
					'margin-right': 0
				});
			});
		});		
	},
	
	mkLeftMenu: function(){
		if(!$chk( $$('#left_menu a') )){
			console.log('Right menu error');
			return;
		}
		$$('#left_menu a').each(function(el){
			var fx = new Fx.Styles(el, {duration:200, wait:false});
			el.addEvent('mouseenter', function(){
				fx.start({
					'margin-left': 10
				});
			});
			el.addEvent('mouseleave', function(){
				fx.start({
					'margin-left': 0
				});
			});		
		});	
	},
	
	mkScrollingNews: function(){
		if( !$chk($('news_box')) ){
			return;
		}
		var scroll = new Fx.Scroll('news_box', {
			wait: false,
			duration: 200,
			offset: {'x': 0, 'y': -10}
		});
		//$('news_box').setStyle('margin', '20px');
		$$('#news_box li').each(function(el, i){
			el.addEvent('mouseenter', function(){
				scroll.toElement(el);
			});
		});
	},
	
	mkCarteMenu: function(){
		if(!$chk( $('carte_map') )){
			return;
		}
		$$('#carte_map area').each(function(el){
			el.addEvent('click', function(event){
				event = new Event(event).stop();
				this.toggleCarte( el.getProperty('id') + '_infos' );
			}.bind(this));
		}.bind(this));
		$('carte_show_hide_btn').addEvent('click', function(){
			if( $('carte_show_hide_btn').getProperty('src') == 'img/control_rewind.png' ){
				new Fx.Style('carte_toggler', 'right', {duration:500}).set(-20);
				$('carte_show_hide_btn').setProperty('src', 'img/control_fastforward.png');
			}
			else{
				this.toggleCarte( $('carte_toggler').getElement('div').getProperty('id') );
			}
		}.bind(this));		
	},
	
	toggleCarte: function( divToShow ){
		$$('#carte_toggler div').each(function(el){
			el.setStyle('display', 'none');
		});
		$( divToShow ).setStyle('display','block');
		new Fx.Style('carte_toggler', 'right', {duration:500}).start(-20, -140);
		$('carte_show_hide_btn').setProperty('src', 'img/control_rewind.png');
						
	},
	
	mkLogisticalSiteAccordion: function(){
		if(!$chk( $$('.accordion_toggler') )){
			return;
		}	
		var anchros = {
			'perspectives':0, 
			'key_points':1, 
			'accessibility':2, 
			'surfaces':3, 
			'technical_caractreristics':4, 
			'conditions':5
		};
		if((window.location.href).test('#')){
			var anchor = (window.location.href).split('#');
			var options = {
				'display': anchros[anchor[1]]
			}
		}
		else{
			var options = {
				'display':null
			}
		}
		new Accordion($$('.accordion_toggler'),$$('.accordion'), options);	
	},
	
	flashPop: function( url ){
		window.open(url,"Logiffine","menubar=no, status=no, scrollbars=no, menubar=no, width=684, height=384");
	}
	
});
window.addEvent('domready', function(){
	var Logiffine = new LogiffineObj();
});

var CartScroller = new Class({
	
	options: {
		
	},
	
	initialize: function( options ){
		$extend( this.options, options );
		this.mkScroller();
		//this.mkDrag();
		this.mkMovable();
	},
	mkScroller: function(){
		this.scroller = new Fx.Scroll(this.options.wrapper, this.options.scrollOptions);
		this.options.links.each(function(link){
			$(link.linkId).addEvent('click', function(event) {
				event = new Event(event).stop();
				this.scroller.toElement(link.elementId);
			}.bind(this));
			$(link.elementId).addEvent('mouseover', function(event) {
				event = new Event(event).stop();
				this.setStyle('cursor', 'default');
			});			
		}.bind(this));
		this.scroller.toElement(this.options.links[0].elementId);
	},
	mkMovable: function(){
		$('scrollLeft').addEvent('click', function(event) {
			this.scroller.scrollTo(this.scroller.now[0],this.scroller.now[1]+100);
			console.log(this.scroller.now);
		}.bind(this));
		$('scrollRight').addEvent('click', function(event) {
			this.scroller.scrollTo(this.scroller.now[0]+200,this.scroller.now[1]+100);
			console.log(this.scroller.now);
		}.bind(this));
		$('scrollUp').addEvent('click', function(event) {
			this.scroller.scrollTo(this.scroller.now[0]+100,this.scroller.now[1]);
			console.log(this.scroller.now);
		}.bind(this));
		$('scrollDown').addEvent('click', function(event) {
			this.scroller.scrollTo(this.scroller.now[0]+100,this.scroller.now[1]+200);
			console.log(this.scroller.now);
		}.bind(this));	
	},
	mkDrag: function(){
		var scroll1 = new Scroller(this.options.wrapper, this.options.dragOptions);
		// Drag
		$(this.options.wrapper).addEvent('mouseover', function() {
			this.setStyle('cursor', 'url(/files/openhand.cur), move');
		});
		$(this.options.wrapper).addEvent('mouseout', function() {
			this.setStyle('cursor', 'default');
		});
		$(this.options.wrapper).addEvent('mousedown', function() {
			scroll1.start();
			this.setStyle('cursor', 'url(/files/closedhand.cur), move');		
		});
		$(this.options.wrapper).addEvent('mouseup', function() {
			scroll1.stop();
			this.setStyle('cursor', 'url(/files/openhand.cur), move');
		});
	}
	
});