window.addEvent('domready' , function () {
	
	// Menu
	if ( $('menu') )
	{
		$$('div#menu a.menuTop img').each( function(el) {
			
				el.getParent('a').getParent('li').addEvent('mouseenter' , function () {
						el.get('morph').cancel();
						el.setStyle( 'opacity',0 );					 
				});
				el.getParent('a').getParent('li').addEvent('mouseleave' , function () {
						el.morph( { 'opacity':1 } );						 
				});
			
		});
	}
	
	// Liens divers mouseout
	$$('a.leaveOut').each( function (el) {
		el.addEvent('mouseenter' , function () {
				
				if (el.hasClass('importante')) el.store('couleur','#FF0000');
				else el.store('couleur','#000000');
				
				el.get('morph').cancel();
				el.setStyle( 'background-color','#96c7de' );
				el.setStyle( 'color','#fff' );					 
		});
		el.addEvent('mouseleave' , function () {
				el.morph( { 'background-color': '#'+el.rel , 'color':el.retrieve('couleur') } );						 
		});
	});
	$$('div.leaveOut').each( function (el) {
		el.addEvent('mouseenter' , function () {
				el.get('morph').cancel();
				el.setStyle( 'background-color','#96c7de' );
				el.setStyle( 'color','#fff' );					 
		});
		el.addEvent('mouseleave' , function () {
		
				el.morph( { 'background-color': '#ffffff' , 'color':'#000' } );						 
		});
	});
	$$('a.leaveOut2').each( function (el) {
		el.addEvent('mouseenter' , function () {
				
				if (el.hasClass('importante')) el.store('couleur','#FF0000');
				else el.store('couleur','#000000');
				
				el.get('morph').cancel();
				el.setStyle( 'background-color','#96c7de' );
				el.setStyle( 'color','#fff' );					 
		});
		el.addEvent('mouseleave' , function () {
				el.morph( { 'background-color': '#ededed' , 'color':el.retrieve('couleur') } );						 
		});
	});
	
	
	// Notation des logiciels
	var rating = new MooRate( 
								$$('.moorate') , 
								{
									maxwidth: 100,
									inpercent: false,
									isFractional: false,
									actif: false
								}
							);
	
	var rating2 = new MooRate( 
								$$('.moorateActif') , 
								{
									maxwidth: 100,
									inpercent: false,
									isFractional: false,
									actif: true
								}
							);
	$$('span.note_courante').each( function (el) { 
		if (el.getNext('div.myRate').hasClass('moorate')) { rating.setDefaultRate(el.getNext('div.myRate'), el.innerHTML); }
		if (el.getNext('div.myRate').hasClass('moorateActif')) { rating2.setDefaultRate(el.getNext('div.myRate'), el.innerHTML); }
	});
	var eventHandler = function(target, value) {
		//alert('you picked:'+value+' from element '+target.id)
		if ($('majNote')) $('majNote').load(root_url+'ajax/noter.php?logiciel='+target.id+'&note='+value);
	};
	
	$$('.moorateActif').each(function (el) { 
		el.addEvent('rated', eventHandler);
	});
	
	
	// Suppression bordure bottom liste section logiciels
	$$('#listeSection li:last-child').each( function (el) { el.getFirst('a').setStyle('border-bottom','1px solid #ededed'); });
	
	// Facetip sur les derniers éléments du forum
	new FaceTip($$('.tipped') , {attr:'title'});
	
	// Formulaire de commentaire
	if ($('formCommentaire'))
	{
		verifForm = new FormCheck('formCommentaire' , { 
				submitByAjaxHTML: true,
				useSpinner : true,
				spinnerTarget : 'formCommentaire',
				ajaxEvalScripts: true,
				evalResponse:true,
				onAjaxSuccess: function (responseTree, responseElements, responseHTML, responseJavaScript) {
				  	$('newcomm').adopt(responseElements);
				  	$('newcomm').getLast('div.commentaire').reveal();
				  	myPaginator.afficherElement(myPaginator.nbPages);
					myPaginator.goLastPage();
					Mediabox.scanPage();
				},
				onAjaxRequest: function (responseText, responseXML) {
				  $('submitBtn').value = 'Message posté';
				  $('submitBtn').disabled = true;
				},
				display : { 
				  scrollToFirst : true , 
				  showErrors : 0 , 
				  indicateErrors : 2 ,
				  flashTips : 1
				}
		});
	}
	
	// Formulaire de demande de compte développeur
	if ($('formDev'))
	{
		verifFormDev = new FormCheck('formDev' , { 
				submitByAjax: false,
				useSpinner : true,
				spinnerTarget : 'formCommentaire',
				ajaxEvalScripts: true,
				onAjaxSuccess: function (responseText, responseXML) {
				  
				},
				onAjaxRequest: function (responseText, responseXML) {
				  
				},
				display : { 
				  scrollToFirst : true , 
				  showErrors : 0 , 
				  indicateErrors : 2 ,
				  flashTips : 1,
				  errorsLocation: 3
				}
		});
	}
	
	// Formulaire de maj logiciel développeur
	if ($('formMajDev'))
	{
		verifFormDev = new FormCheck('formMajDev' , { 
				submitByAjax: false,
				onAjaxSuccess: function (responseText, responseXML) {
				  
				},
				onAjaxRequest: function (responseText, responseXML) {
				  
				},
				display : { 
				  scrollToFirst : true , 
				  showErrors : 0 , 
				  indicateErrors : 2 ,
				  flashTips : 1,
				  errorsLocation: 1
				}
		});
	}
	
	// Formulaire de contact
	if ($('formContact'))
	{
		verifFormContact = new FormCheck('formContact' , { 
				submitByAjax: true,
				useSpinner : true,
				spinnerTarget : 'formContact',
				ajaxResponseDiv: 'retourFormContact',
				onAjaxSuccess: function (responseText, responseXML) {
				  
				},
				onAjaxRequest: function (responseText, responseXML) {
				  
				},
				display : { 
				  scrollToFirst : true , 
				  showErrors : 0 , 
				  indicateErrors : 2 ,
				  flashTips : 1,
				  errorsLocation: 1
				}
		});
	}
	
	// Pagination des commentaires	
	myPaginator = new TomPaginator($$('#listeCommentaires div.commentaire') , {commsParPages: 10} );
	
	
	// Menu déroulant
	if ($('nav'))
	{
		$('nav').MooDropMenu({ 
	        onOpen: function(el){ 
	        	el.setStyle('visibility','visible');
	            el.fade('in') 
	        }, 
	        onClose: function(el){ 
	            el.fade('out'); 
	        	el.setStyle('visibility','hidden');
	        }, 
	        onInitialize: function(el){ 
	            el.fade('hide').set('tween',{duration:200}); 
	        } 
	    }); 
    }
    
    // Navigation pages archives
    if ( $('navigationArchives') )
    {
    	pageCourante = 1;
    	$('archive_news').set('load', {evalScripts: true , useSpinner: true});
    		
    	$('next').addEvent('click' , function (e) {
    	
    		e.stop();
			$('archive_news').load(root_url + 'ajax/news-archives.php?page='+(pageCourante+1));
			pageCourante++;
			$('pageCourante').innerHTML = pageCourante;
    	
    	});
    	
    	$('prev').addEvent('click' , function (e) {
    	
    		e.stop();
    		if (pageCourante > 1)
    		{
				$('archive_news').load(root_url + 'ajax/news-archives.php?page='+(pageCourante-1));
				pageCourante--;
				$('pageCourante').innerHTML = pageCourante;
			}
    	});
    }	
    
    // Signaler un commentaire 
    $$('a.signalerCom').each( function(el) {
    	el.addEvent('click' , function(e) {
    		e.stop();
    		new Request.HTML({url:root_url+'ajax/commentaire-signaler.php'}).post('id_commentaire='+el.rev);
    		
    	});
    });
    
    // Filtre sur les listes de logiciels
    if ($('filtreCategorie'))
    {
    	$$('div#filtreCategorie input.filtre').each ( function (el) {
    	
    		el.addEvent('click' , function (e) {
    			
    			var listeFiltre = new Array();
    
    			$$('div#filtreCategorie input.filtre').each( function (filtre) { if (filtre.checked) listeFiltre.include(filtre.value); });
    			
    			//listeFiltre.each( function (item) { alert(item); });
    			
				$$('div.ligne_logiciel').each( function (l) {
					var hide = true;
					listeFiltre.each( function (item) { if (l.hasClass(item)) hide = false; } );
					if (hide) l.dissolve();
					else l.reveal();
				});
    			
    		});
    		
    	});
    }
    
    $$('div.pubCategorie').each( function (el) {
    	var inDiv = el.getFirst('div');
    	inDiv.setStyles({'max-height':'90px','height':'auto'} );
    	var inFrame = inDiv.getFirst('iframe');
    	(function(){
    		var heightCourante = (inFrame.contentWindow.document.body.style.height);
    		if (heightCourante == '10px')
    		{
    			el.setStyles({ 'overflow':'hidden','height':'0' });
    		}
    	}).delay(2000);
    });
		
});



function ajouterSmiley( code )
{
	$('TexteareaComm').value += code; 
	$('TexteareaComm').focus();
	return false;
}
 
