/* resultat */
function initEvent(e){
	Event.stop(e);
	// Filtre en plus
	if( highlightFiltre ) new Effect.Shake('lesfiltres');
	if( dejavisitefiltre == 0 )
		new Effect.SlideDown('filtre', {duration:0.5,from:0.0,to:1.0});
	
	var cpt = 0;
	
	Event.observe( 'rss', 'click', function(){
		Event.stop(e);
		if(cpt%2 == 0 )
			new Effect.SlideDown('abonnementRss', {duration:0.5,from:0.0,to:1.0});
		else
			$('abonnementRss').hide();
		cpt++;
	});
	//Boutons changement d'affichage
	Event.observe( 'aff_col', 'click', changeformatcol ) ;
	Event.observe( 'aff_lig', 'click', changeformatlig ) ;
	Event.observe( 'clickfiltre', 'click', function(){ new Effect.SlideDown('filtre', {duration:0.5,from:0.0,to:1.0}); } ) ;
	Event.observe( 'clickfiltre2', 'click', function(){ $('filtre').hide(); } ) ;
	new ProtoCheck();
	//date filtre
	datePicker();
	//auto completation
	new Ajax.Autocompleter('artiste','artiste_suggestions','dispatcher.php?action=rechercheArtiste', { minChars:4,afterUpdateElement:autoCompleteArtiste });
	new Ajax.Autocompleter('ville','ville_suggestions','dispatcher.php?action=rechercheVille', { minChars:4,afterUpdateElement:autoCompleteVille });
	new Ajax.Autocompleter('salle','salle_suggestions','dispatcher.php?action=rechercheSalle', { minChars:4,afterUpdateElement:autoCompleteSalle });

	//les liens de la barre navigation
	attLienNav();
}
Event.observe( window ,'load', initEvent );

function autoCompleteArtiste(text, li){ autoComplete('artiste', li.id ); }
function autoCompleteVille(text, li){ autoComplete('ville', li.id ); }
function autoCompleteSalle(text, li){ autoComplete('salle', li.id ); }

function premierLienFiltre(){
	new Effect.ScrollTo('header',{duration:0.5,afterFinish: function(){
				new Effect.SlideDown('filtre', {duration:0.5,from:0.0,to:1.0}); }
	} );
}
function autoComplete( val, id ){
	new Effect.ScrollTo('page',{duration:0.5});
	var valeur = $(''+val).value;
	var opt = {
		    method: 'post',
		    postBody: "action=filtre&filtre="+ val +"&value="+ escape( id )+"&libele="+ escape( valeur ),
		    onSuccess: function(t) {
		      new Effect.Appear('result', { duration:0.5, from:1.0, to:0.0 ,
		      afterFinish : function(){
		      	new Effect.Appear('result', { duration:0.5, from:0.0, to:1.0 } );
		      	$('result').innerHTML = t.responseText;
		      	$('filtre').hide();
		      	//Met à jour les critere
		      	miseAjourCritere();
		      	//pour les nouveaux liens
		   			attLienNav();
		      }} );
		   	}
			};
	new Ajax.Request('dispatcher.php', opt);
}
function changeformatcol(e){
	Event.stop(e);
	changformatAff('colonne');
}
function changeformatlig(e){
	Event.stop(e);
	changformatAff('ligne');
}
function changformatAff( type ) {
	new Effect.ScrollTo('page',{duration:0.5});
	var opt = {
	    method: 'post',
	    postBody: "action=type_affichage&type_affichage="+escape(type),
	    onSuccess: function(t) {	    	
	      new Effect.Appear('result', { duration:0.5, from:1.0, to:0.0 ,
	      afterFinish : function(){
	      	new Effect.Appear('result', { duration:0.5, from:0.0, to:1.0 } );
	      	$('result').innerHTML = t.responseText;
	      	//les curseurs
	      	if( type == 'colonne' )
	      	{
	      		$('aff_col').innerHTML = '<img src="img/bt_aff_liste_on.jpg" alt=""/>';
	      		$('aff_lig').innerHTML = '<img src="img/bt_aff_liste2_off.jpg" alt=""/>';
	      	}
	      	else
	      	{
	      		$('aff_col').innerHTML = '<img src="img/bt_aff_liste_off.jpg" alt=""/>';
	      		$('aff_lig').innerHTML = '<img src="img/bt_aff_liste2_on.jpg" alt=""/>';
	      	}
	      	 //pour les nouveaux liens
	   			attLienNav();	   			
	      }} );
	   	}
		};
	new Ajax.Request('dispatcher.php', opt);
}
function datePicker() {
	new Effect.ScrollTo('page',{duration:0.5});
	var dpck0	= new DatePicker({
	  relative	: 'date-from0',
	  language	: 'fr',
	  keepFieldEmpty : false, //Champ à vide
	  zindex : 10,
	  disableFutureDate : false,
	  disablePastDate : true,
	  cellCallback : function(){
	  	this.close;
			var val = $('date-from0').value;
			var opt = {
		    method: 'post',
		    postBody: "action=filtre&filtre=date&value="+ escape( val )+"&libele="+ escape( val ),
		    onSuccess: function(t) {
		      new Effect.Appear('result', { duration:0.5, from:1.0, to:0.0 ,
		      afterFinish : function(){
		      	new Effect.Appear('result', { duration:0.5, from:0.0, to:1.0 } );
		      	$('result').innerHTML = t.responseText;
		      	$('filtre').hide();
		      	//Met à jour les critere
		      	miseAjourCritere();
		      	// Protocheck
		      	new ProtoCheck();
		      	//pour les nouveaux liens
		   			attLienNav();
		      }} );
		   	}
			};
			new Ajax.Request('dispatcher.php', opt);
	  }
	});
}
function addFiltre( type ){
	new Effect.ScrollTo('page',{duration:0.5});
	var letype = type.substr(0,1).toUpperCase()+	type.substr(1,type.length).toLowerCase();
	var valeur = $(type).options[$(type).selectedIndex].value;
	var libele = $(type).options[$(type).selectedIndex].text;
	var opt = {
		    method: 'post',
		    postBody: "action=filtre&filtre="+ escape( type ) +"&value="+ escape( valeur )+"&libele="+ escape( libele ),
		    onSuccess: function(t) {
		      new Effect.Appear('result', { duration:0.5, from:1.0, to:0.0 ,
		      afterFinish : function(){
		      	new Effect.Appear('result', { duration:0.5, from:0.0, to:1.0 } );
		      	$('result').innerHTML = t.responseText;
		      	$('filtre').hide();
		      	//Met à jour les critere
		      	miseAjourCritere();
		      	//pour les nouveaux liens
		   			attLienNav();
		      }} );
		   	}
			};
	new Ajax.Request('dispatcher.php', opt);
	resetFiltre( type );
}

var cpt = 0;
function supFiltre( filtre ){
	var opt = {
    method: 'post',
    postBody: "action=affresult",
    onSuccess: function(t) {
      new Effect.ScrollTo('page',{duration:0.5,      
      afterFinish : function(){
      	$('result').innerHTML = t.responseText;
      	new Effect.Appear('result', { duration:0.5, from:0.0, to:1.0 } );
      	// Protocheck
      	new ProtoCheck();
      	//pour les nouveaux liens
   			attLienNav();
      }} );
 		}
	};
	if( cpt == 0 )
	{
		cpt++;
		new Ajax.Updater('critere','dispatcher.php',
			{
				method: 'post',
				postBody: "action=supfiltre&filtre=" + escape( filtre ),
				onComplete: function(){ 
					new Ajax.Request('dispatcher.php', opt); 
					cpt = 0; 
					if( $('chargement') ) 
						$('chargement').remove(); 
				}
			}
		);
		resetFiltre( filtre );
	}
}

function miseAjourCritere(){
	new Ajax.Updater('critere','dispatcher.php',
		{
			method : 'post',
			postBody : "action=miseajourcritere",
			onComplete: function(){  new Effect.Pulsate('lesfiltres',{'pulses':3} ); new ProtoCheck(); }
		}
	);
}
//Ajoute un evenement pour chaque lien présent dans le div listepage
function attLienNav() {
	if( $('navigation') )
	{
		var liens = $A( $('navigation').getElementsByTagName('a') );
		liens.each( function( ele ) {
			$(ele).observe('click', function(e) {
				new Effect.ScrollTo('page',{duration:0.5});
				Event.stop(e);
				var opt = {
			    method: 'post',
			    postBody: "action=req_navresult&index="+this.getAttribute('attr'),
			    onSuccess: function(t) {
			      	$('result').innerHTML = t.responseText;
			      	new Effect.Appear('result', { duration:0.5, from:0.0, to:1.0 } );			      	
			      	//pour les nouveaux liens
			   			attLienNav();
			      }
			     }
			   new Ajax.Request('dispatcher.php', opt);
			 } );
		});
	}
}
//liens ajout event accueil
function attLienAccueil(index){
	var opt = {
		method: 'post',
		postBody: "action=ajoutEventPageAccueil&index="+index,
		onSuccess: function(){ alert('L\'événement a été ajouté à vos notes'); }
	}
	new Ajax.Request('dispatcher.php', opt);
}
function resetFiltre( filtre ) {	
	if( 'artiste' == filtre ) $('artiste').value = '';		
	if( 'ville' == filtre ) $('ville').value = '';
	if( 'salle' == filtre ) $('salle').value = '';
	if( 'date-from0' == filtre ) $('date-from0').value = '';
	if( 'prix' == filtre ) $('prix').selectedIndex = 0;
	if( 'nom' == filtre ) $('nom').selectedIndex = 0;
	if( 'genre' == filtre ) $('genre').selectedIndex = 0;
	if( 'dept' == filtre ) $('dept').selectedIndex = 0;
	if( 'region' == filtre ) $('region').selectedIndex = 0;
}
