window.addEvent('domready',function(){
	
	if($(document.body).getElement('h1')!= null)
	mot = $(document.body).getElement('h1').getFirst('span.agreen').getFirst('a').get('html');

	mb1 = new MultiBox('mb', {useOverlay:true});

	affTabVote();
	
	fxSortDefs = new Fx.Sort($$('ol#liste-de-defs li'),{duration:500});
	
	if($('gallerie-illustrations')!= null){
		var defIllustrations = new SlideItMoo({
			itemsVisible:1,
			currentElement: 0,
			showControls:1,
			thumbsContainer: 'minis',
			elementScrolled: 'conteneur-minis',
			overallContainer: 'gallerie-illustrations',
			onSlide:function(){
				currentElement = defIllustrations.returnCurrentElement();
				$$('.illustration-commentaire').setStyle('display','none');
				$('illustration-commentaire-'+currentElement).setStyle('display','');
				$('illustration-numero').set('html',currentElement+1);
			}
		});
		$$('#minis a').addEvent('click',function(e){
			new Event(e).stop();
			_gaq.push(['_trackEvent', 'Définitions', 'Illustrations zoom', 'Définitions de '+mot]);
		});
	}

	if($('index-definition')!= null){
	
		$('defiler-up').addEvent('click',function(e){new Event(e).stop();defilerIndex('up');});
		$('defiler-down').addEvent('click',function(e){new Event(e).stop();defilerIndex('down');});
		$('index-definition').addEvent('mousewheel',function(e){
			new Event(e).stop();
			if (e.wheel > 0){defilerIndex('up');}
			else if (e.wheel < 0){defilerIndex('down');}
		});
		
	}
})
		
	function defilerIndex(direction){
		if($('index-definition').get('html')!=''){
		
			_gaq.push(['_trackEvent', 'Définitions', 'Index scroll', 'Définitions de '+mot]);

			array_index 	= $('index-definition').getElements('div');
			id = array_index.filter(function(item,index){return item.getStyle('display') != 'none';});
			this_index = id[0].id.substr(17);
			first_index = array_index[0].id;
			last_index = array_index.getLast().id;
		
			if(direction == 'up'){
				mot_index = $('index-definition-'+this_index).getFirst('p').getLast('a').get('html');
				new_index = this_index.toFloat()-1;
			}
			else if(direction == 'down'){
				mot_index = $('index-definition-'+this_index).getLast('p').getLast('a').get('html');
				new_index = this_index.toFloat()+1;

			}

			$('defiler-up').setStyle('visibility','');
			$('defiler-down').setStyle('visibility','');
			if(
				($('index-definition-'+new_index)== null) ||
				($('index-definition-'+new_index)!= null && $('index-definition-'+new_index).get('html') == '' )
			){
				new Request(
					{
						method:'get',
						//link:'chain',
						url:'/definitions/script-defiler.php',
						onSuccess: function(responseText) {
							if($('index-definition-'+new_index)== null){
								if(responseText != ''){
									newindex = new Element('div', {id: 'index-definition-'+new_index});
									newindex.set('html',responseText);
									nb_mots = newindex.getElements('p').length;
									array_index.setStyle('display','none');
									if(direction == 'up'){
										newindex.inject($(first_index),'before');
										if(nb_mots<13) $('defiler-up').setStyle('visibility','hidden');
									}
									if(direction == 'down'){
										newindex.inject($(last_index),'after');
										if(nb_mots<13) $('defiler-down').setStyle('visibility','hidden');
									}
									
								}
								else {
									if(direction == 'up')$('defiler-up').setStyle('visibility','hidden');
									else $('defiler-down').setStyle('visibility','hidden');
									$('index-definition-'+this_index).setStyle('display','');
								}
							}
						}
					}
				).send('mot='+mot_index+'&direction='+direction);
			}
			else {
				array_index.setStyle('display','none');
				$('index-definition-'+new_index).setStyle('display','');
				nb_mots = $('index-definition-'+new_index).getElements('p').length;
				if(direction == 'up' && nb_mots<13) 	$('defiler-up').setStyle('visibility','hidden');
				if(direction == 'down' && nb_mots<13)	$('defiler-down').setStyle('visibility','hidden');
			}
		}
	}
	
	function affTabVote(){
		
		var arrayDefs 	= Array();
		var arrayIdDefs = Array();
		$$('ol#liste-de-defs li div.vote').each(function(el){
			arrayDefs.push(el);
			var id_def = el.getParent('li').get('id').substr(4);
			arrayIdDefs.push(id_def);
			el.setStyle('visibility','hidden');
		});
		new Request.HTML({
			method:'get',
			url:'/definitions/script-gen-tab-vote2.html',
			data:'id_def='+arrayIdDefs.join(','),
			onSuccess: function(){
				arrayDefs.each(function(el,index){
					parseTabVote(arrayIdDefs[index]);
					el.setStyle('visibility','');
				});
				mb2 = new MultiBox('mb2',{useOverlay:true,showControls:false});
			}
		}).send();
	}

	function parseTabVote(id_def){

		var tab_vote	= $('def-'+id_def).getFirst('div').getFirst('table');
		var timestamp	= $('def-'+id_def).getFirst('div.timestamp').get('html');
		var r1			= tab_vote.getFirst().getFirst('tr');
		var r2			= r1.getNext();
		var r3			= r2.getNext();
		var r4			= r3.getNext();
		var td_scook 	= r1.getFirst();
		var td_ok 		= r2.getFirst();
		var td_vote 	= td_ok.getNext();
		var td_ko 		= r3.getFirst();
		var td_scoko 	= r4.getFirst();
		
		td_ok.addEvent('click',function(){		
			if( td_ok.hasClass('actif') && !td_ok.hasClass('stop'))
			{
				td_scook.fade();
				td_ok.setStyle('visibility','hidden');
				td_ko.setStyle('visibility','hidden');
				td_scoko.fade();
				
				_gaq.push(['_trackEvent', 'Définitions', 'Vote Membre', 'Définitions de '+mot]);

				new Request.HTML({method:'get',url:'/definitions/script-vote-def.html',data:'def='+id_def+'&sco=ok',
					onSuccess: function(){
					
						td_scook.fade();
						td_ok.setStyle('visibility','');
						td_ko.setStyle('visibility','');
						td_scoko.fade();
						
						td_ok.set('title','Tu as déja voté pour');
						td_ok.removeClass('actif').addClass('passif');
						td_ko.set('title','Change ton vote !');
						td_ko.removeClass('passif').addClass('actif');
						
						sortDefs(id_def,'ok');
					}
				}).send();;
			}
			else if (td_ok.hasClass('stop')){
				_gaq.push(['_trackEvent', 'Définitions', 'Vote Non Membre', 'Définitions de '+mot]);
			}
		});
		td_ko.addEvent('click',function(){
			if( td_ko.hasClass('actif') && !td_ko.hasClass('stop'))
			{
				td_scook.fade();
				td_ok.setStyle('visibility','hidden');
				td_ko.setStyle('visibility','hidden');
				td_scoko.fade();
				
				_gaq.push(['_trackEvent', 'Définitions', 'Vote Membre', 'Définitions de '+mot]);

				new Request.HTML({method:'get',url:'/definitions/script-vote-def.html',data:'def='+id_def+'&sco=ko',
					onSuccess: function(){
					
						td_scook.fade();
						td_ok.setStyle('visibility','');
						td_ko.setStyle('visibility','');
						td_scoko.fade();
						
						td_ok.set('title','Change ton vote !');
						td_ok.removeClass('passif').addClass('actif');
						td_ko.set('title','Tu as déja voté contre');
						td_ko.removeClass('actif').addClass('passif');
						
						sortDefs(id_def,'ko');
					}
				}).send();
			}
			else if (td_ok.hasClass('stop')){
				_gaq.push(['_trackEvent', 'Définitions', 'Vote Non Membre', 'Définitions de '+mot]);
			}
		});
	};
	
	function sortDefs(id_def,vote){
	
		swap = false;
		if(vote=='ok' && $('def-'+id_def).getPrevious('.definition') != null){
			def_this = $('def-'+id_def);
			def_prev = def_this.getPrevious('.definition');
			score_prev = def_prev.getElements('.scook').get('html').toString();
			score_this = def_this.getElements('.scook').get('html').toString();
			
			if(score_this>score_prev){swap = true;}
			else if(score_this==score_prev){
				ts_prev = def_prev.getElements('.timestamp').get('html');
				ts_this = def_this.getElements('.timestamp').get('html');
				if(ts_this>ts_prev){swap = true;}
			}
			if(swap){
				fxSortDefs.swap(def_prev,def_this);
				rank_this = def_this.getElements('.def-rank');
				rank_prev = def_prev.getElements('.def-rank');
				rank_this.set('html',parseInt(rank_this.get('html'))-1);
				rank_prev.set('html',parseInt(rank_prev.get('html'))+1);
				(function(){fxSortDefs.rearrangeDOM();(function(){sortDefs(id_def,'ok');}).delay(250);}).delay(1000);
			};
		}
		else if(vote=='ko' && $('def-'+id_def).getNext('.definition') != null){
			def_this = $('def-'+id_def);
			def_next =  def_this.getNext('.definition');
			score_this = def_this.getElements('.scoko').get('html').toString();
			score_next = def_next.getElements('.scoko').get('html').toString();
		
			if(score_this>score_next){swap = true;}
			else if(score_this==score_next){
				ts_this = def_this.getElements('.timestamp').get('html');
				ts_next = def_next.getElements('.timestamp').get('html');			
				if(ts_this<ts_next){swap = true;}
			}
			if(swap){
				fxSortDefs.swap(def_this,def_next);
				rank_this = def_this.getElements('.def-rank');
				rank_next = def_next.getElements('.def-rank');
				rank_this.set('html',parseInt(rank_this.get('html'))+1);
				rank_next.set('html',parseInt(rank_next.get('html'))-1);
				(function(){fxSortDefs.rearrangeDOM();(function(){sortDefs(id_def,'ko');}).delay(250);}).delay(1000);};
		}
	}

