	
	

	
	
	var positive = new Array(3,1,5,42,72,7,174,177,19);
	var gestionnairesGlobaux = {
		onCreate: function(){
			$('systemeAttente').update('<img src="images/loading.gif" border=0> Chargement en cours ...');
			$('systemeAttente').show();
		},

		onComplete: function() {
			if(Ajax.activeRequestCount == 0){
			
			Effect.Fade('systemeAttente');
			
			}
		}
	};
	Ajax.Responders.register(gestionnairesGlobaux);  

	var infoActuel=0;
	var randomnumber=0;
	
function infos (){
	
	
	
	var listeInfos = new Array();	
		
	listeInfos=($('infos')).getElementsBySelector('p');
	
	listeInfos.each(function(s){
		
		if ($(s).visible()==true) $(s).hide()
		
	})
	
	var taille=listeInfos.size();
	


	while  (randomnumber==infoActuel) {
		
	randomnumber=Math.floor(Math.random()*(taille));	
	
	
	}
	
	infoActuel=randomnumber;
	
	var monId=listeInfos[randomnumber].id;
		
	$(monId).show();
	new Effect.Highlight(monId);	
	
}

	
function chargerCritere(idCat,critereDefaut){



 if (choixActuel!=idCat) {
 	
$('groupCriteres').hide();


		new  Ajax.Updater($('mesChamps'),"flux.php",{method: 'GET',
					parameters: '?idCat='+idCat+'&mode=mesCriteres'+'&critereDefaut='+critereDefaut,					
					evalScripts: 'True'
					});


		new  Ajax.Updater($('groupCriteres'),"flux.php",{method: 'GET',
					parameters: '?idCat='+idCat+'&mode=criteres'+'&critereDefaut='+critereDefaut,					
					evalScripts: 'True'
					 
					});	
					

					
		new  Ajax.Updater($('descriptionSolution'),"flux.php",{method: 'GET',
					parameters: '?idCat='+idCat+'&mode=descriptionCategorie',					
					evalScripts: 'True',
					onComplete: 
					
					function(){					
			 		
					if (preference=='compatible') {
					$('groupCriteres').show();	
					}
					
								
					}
					});							

		new  Ajax.Updater($('resultatTouteSolution'),"flux.php",{method: 'GET',
					parameters: '?idCat='+idCat+'&mode=touteSolutions',					
					evalScripts: 'True'
					});						
	
	choixActuel=idCat;
	
 }
 

	
 
		
}
	
function resultats(idCat){
		
		var parametres=$('formulaireRecherche').serialize();
		
		new  Ajax.Updater($('resultat'),"flux.php",{method: 'GET',
					parameters: parametres,
					evalScripts: 'True',
					onComplete: 
					
					function(){					
			 		$('modifierCritere').show()									
					}
					 
					
					});	
		$('groupSubMenu').hide();
		$('groupCriteres').hide();
		$('groupTypeSolution').hide();

		$('resultat').show();	
		$('infoPage').hide();
		
		$('pub').show();
		
		
}
	
function showPropriete(idProp){
		
		$('add'+idProp).hide();
		$('propriete'+idProp).show();
		new Effect.Highlight('propriete'+idProp);
		$('my'+idProp).show();
		
}

function hidePropriete(idProp){		
		
		id=""+idProp;				
		$('propriete'+idProp).hide();
		$('add'+idProp).show();
		$('my'+idProp).hide();
		new Effect.Highlight('add'+idProp , {startcolor:'#ffff99', endcolor:'#E6F3FA'});
		$(id).value='indifferent';
}
	
function positiviz(idProp){
	
		id=""+idProp;
	
	var valeurs = new Array();
	
	valeurs = ($(id)).getElementsBySelector('option')
	
	valeurs.each(function(v){
		
		//$(id).value=s;
		positive.each(function(s){
			
			if (s == (v.value)){
				
				$(id).value=s;
			
			throw $break;	
				
			}
			
			
			});
		
		
	});	
	
		
		
}

function positivizAll(){

	var select = new Array ();	
	var idSelect="";
	select = ($('criteres')).getElementsBySelector('select');
	
	
	select.each(function(l){ 
	idSelect=l.id;
	
	if ($('propriete'+idSelect).visible()==true) positiviz(l.id)  
	
	});
	
	
	
	
}	
	
	
function checkCriteres(mode,idProp){
	
	var listage = new Array();
	var nbCriteresMax=5;
	var nbCriteresMin=1;
	var i=0;

	
	listage=($('tableCriteres')).getElementsBySelector('tr');

	listage.each(function(s){if ($(s).visible()==true) i=i+1;});
			
			if ((i<nbCriteresMax) && (mode=='ajouter')) {
				positiviz(idProp);
				showPropriete(idProp);
	
			}
				
			if ((i>=nbCriteresMax) && (mode=='ajouter')) {
			
				alert('Désolé, vous ne pouvez pas avoir plus de '+nbCriteresMax+' critères en même temps.');
	
	
			}
			
			if ((i<=nbCriteresMin) && (mode=='enlever')) {
			
				alert('Désolé, vous devez avoir au moins '+nbCriteresMin+' critère.');
	
	
			}
			
			if ((i>nbCriteresMin) && (mode=='enlever')) {
			
				hidePropriete(idProp);
	
	
			}

}


function checkComparaison(mode){

	var listing = new Array();
	var nbComparerMax=4;
	var i=0;
	var parametres="";
	var separateur="";
	var libelleComparatif="";
	var separateurLibelle=""



if (mode=='critere'){
	
	
	listing=($('resultatCriteres')).getElementsBySelector('input');

	listing.each(function(s){
		
		if (i!=0) separateur="-";
		if (i!=0) separateurLibelle=" Vs ";		
		
		if (s.checked==true){
			 
			 i=i+1;
			 parametres=parametres + separateur + s.value;
			 libelleComparatif = libelleComparatif + separateurLibelle + s.value;
			 }
		
		if (i>nbComparerMax) {
			
		alert('Désolé, vous ne pouvez pas comparer plus de '+nbComparerMax+' solutions à la fois');

		throw $break;
		
		}
		
		});
	
		if (i<=nbComparerMax && i!=0 && i!=1) { 
	
	$('pub').hide();
	$('listeSolutions').show();
	
	new  Ajax.Updater($('resultatComparatif'),"flux.php",{
					method: 'GET',
					parameters: '?objets='+parametres+'&mode=resultatComparatif&idCat='+motCleCat,
					onComplete: function(){
					new Effect.SlideUp('resultatCriteres');
				
					$('comparatif').show();				
					$('libelleComparatif').update('Comparatif: '+libelleComparatif)
					$('libelleInfo').hide();
					$('libelleComparatif').show();
					} 
					
					});	

		}
		
if (i==0 || i==1) alert('Choisissez au moins 2 solutions pour effectuer une comparaison.');		

}	


if (mode=='touteSolution'){


	listing=($('resultatTouteSolution')).getElementsBySelector('input');

	listing.each(function(s){
		
		if (i!=0) separateur="-";
		if (i!=0) separateurLibelle=" Vs ";		
		
		if (s.checked==true){
			 
			 i=i+1;
			 parametres=parametres + separateur + s.value;
			 libelleComparatif = libelleComparatif + separateurLibelle + s.value;
			 }
		
		if (i>nbComparerMax) {
			
		alert('Désolé, vous ne pouvez pas comparer plus de '+nbComparerMax+' solutions à la fois');

		throw $break;
		}
		
		});
	
	if (i<=nbComparerMax && i!=0 && i!=1) { 
	
	$('infoPage').hide();
	$('groupTypeSolution').hide();
	$('libelleInfo').hide();
	$('libelleComparatif').show();
	$('groupSubMenu').hide();
	new  Ajax.Updater($('resultatComparatif'),"flux.php",{
					method: 'GET',
					parameters: '?objets='+parametres+'&mode=resultatComparatif&idCat='+motCleCat,
					onComplete: function(){
					new Effect.SlideUp('touteSolutions');
					$('comparatif').show();				
					$('libelleComparatif').update('Comparatif: '+ libelleComparatif)
					$('libelleInfo').hide();
					$('libelleComparatif').show();
					$('voirTouteSolution').show();
					//infoResultat
					new Effect.Appear('infoResultat');
					$('libelleInfo').hide();
					$('libelleComparatif').show();
					} 
					
					});	

		}
		
	if (i==0 || i==1) alert('Choisissez au moins 2 solutions pour effectuer une comparaison.');	
		

}	
	
}

function checkComparaisonNow(objet,idElement){
	var listage = new Array();
	var nbComparerMax=4;
	var i=0;
	
	listage=($(objet)).getElementsBySelector('input');

	listage.each(function(s){
		
		if (s.checked==true) i=i+1;
		
		if (i>nbComparerMax) {
			
		alert('Désolé, vous ne pouvez pas comparer plus de '+nbComparerMax+' solutions à la fois');
		$(idElement).checked=false;
		throw $break;
		}
		
		});
	

}

function afficherTouteSolution(){

$('groupCriteres').hide();
$('touteSolutions').show()	
	$('lienVoirTteSolDisponible').replace('<label id="lienVoirTteSolDisponible">Voir toutes les solutions disponibles et comparer directement</label>');
	$('lienVoirTteSolCompatible').replace('<a id="lienVoirTteSolCompatible" href="#" onclick="Javascript:restreindre();return false;">Trouver les solutions compatibles avec mes critères et comparer</a>');	
	
	preference='disponible';
	
}

function restreindre(){
	
	$('groupCriteres').show();
	$('touteSolutions').hide();
	$('lienVoirTteSolDisponible').replace('<a  id="lienVoirTteSolDisponible" href="#" onclick="Javascript:afficherTouteSolution();return false;">Voir toutes les solutions disponibles et comparer directement</a>');
	$('lienVoirTteSolCompatible').replace('<label id="lienVoirTteSolCompatible">Trouver les solutions compatibles avec mes critères et comparer</label>');
//	$('fonctionnalite').scrollTo();
	

	preference='compatible';
}

function resultatUnique(){
	
	$('resultatUnique').show();
	new Effect.Appear('infoResultat');
	
}

function listeSolutions(){
	
	new Effect.SlideDown('resultatCriteres');
	$('listeSolutions').hide();
	$('pub').show();
	$('libelleInfo').show();
	$('libelleComparatif').hide()
	$('fonctionnalite').scrollTo();
	
}

function modifierCritere(){

$('groupSubMenu').show();
$('groupTypeSolution').show();
$('groupCriteres').show();
$('modifierCritere').hide();
$('resultat').update('');
$('comparatif').hide();
$('resultatComparatif').update('');
$('infoResultat').hide();
$('infoPage').show();
$('nbSolutions').update('Des ');
$('pub').hide();
$('listeSolutions').hide();
$('resultatUnique').hide();
$('libelleInfo').hide();
$('libelleComparatif').hide();
$('fonctionnalite').scrollTo();


}

function voirTouteSolution(){
	
$('groupSubMenu').show();	
$('comparatif').hide();
$('touteSolutions').show();
$('infoResultat').hide();
$('infoPage').show();
$('groupTypeSolution').show();
$('voirTouteSolution').hide();
$('libelleInfo').show();
$('libelleComparatif').hide();	
$('touteSolutions').scrollTo();	
	
}



//Fonctions comparatifs
var Notifier = Class.create({
	
	_events: [[window, 'scroll'], [window, 'resize'], [document, 'mousemove'], [document, 'keydown']],
	_timer: null,
	_idleTime: null,
	
	initialize: function(time) {
		this.time = time;
		
		this.initObservers();
		this.setTimer();
	},
	
	initObservers: function() {
		this._events.each(function(e) {
			Event.observe(e[0], e[1], this.onInterrupt.bind(this))
		}.bind(this))
	},
	
	onInterrupt: function() {
		document.fire('state:active', { idleTime: new Date() - this._idleTime });
		this.setTimer();
	},
	
	setTimer: function() {
		clearTimeout(this._timer);
		this._idleTime = new Date();
		this._timer = setTimeout(function() {
			document.fire('state:idle');
		}, this.time)
	}
})









var allPropriete = new Array();
var mesCriteres = new Array ();

function monToolTip(idvaleur,contenu){
		
	new Effect.Tooltip(idvaleur, contenu, {className: 'tip'});	
		
	}

function masquer(){
	
	getMesCriteres();
	
	mesCriteres.each(function(s){new Effect.Fade('ligne'+s)});
	allPropriete.each(function(s){$(s).show()});
	mesCriteres.clear();
}

function afficher(){
	
	getListePropriete();
	getMesCriteres();
	
	allPropriete.each(function(s){$(s).hide()});

	mesCriteres.each(function(s){new Effect.Appear('ligne'+s)});	
	mesCriteres.clear();
	
}

function restituer(){
	
	getListePropriete();
	allPropriete.each(function(s){$(s).show()});
	allPropriete.clear();
	
}


function visibilite(idligne,libelle){
		
	$('my'+idligne).show();	
	if ($('mesChampsInfo').visible()==true) $('mesChampsInfo').hide();
	
}	

function delCritere(idProp){
	
$('my'+idProp).hide();
mesCriteres.clear();

new Effect.Appear('ligne'+idProp);
 
getMesCriteres();

if (mesCriteres.size()==0) $('mesChampsInfo').show();
	
}
	
function getListePropriete (){
	
	var	i=0;	
	
	//recupère la liste de toutes les proprietes existantes
	listage=($('resultatComparatif').getElementsBySelector('tr'));
	
	listage.each(function(s){
		
		if (((s.id)!=='') && ((s.id)!==' ')){
			allPropriete[i]=s.id;
			i=i+1;
		} 
	})
	
	return allPropriete;	
}
		
	
function getMesCriteres () {

	var i = 0;	
	var listage = new Array();	
	var ide ="";
	listage=$('mesChamps').getElementsBySelector('li');
	
	listage.each(function(s){
	ide=s.id;
	if ($(ide).visible()==true) {
		
		mesCriteres[i]=s.title
		i=i+1;
				
		}
	
	});
	
	return mesCriteres;
	
}	
	
function getScrollXY() {

  return [ scrOfX, scrOfY ];
}	



//
var Yavant=0;
var Yapres;
var mouv=0;
var cumulMouv=0;
// && (position<=posMax))
var actif ='';
function scrollCritere(){
  
  var scrOfX = 0, scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape 
    scrOfY = window.pageYOffset;
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM 
    scrOfY = document.body.scrollTop;
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6
    scrOfY = document.documentElement.scrollTop;
    scrOfX = document.documentElement.scrollLeft;
  }
  	
var monY=scrOfY;
var monX=scrOfX;


if ((monY<530) && (actif=='ok')){
		
$('criteres').setStyle({position:'relative',top:'0px',zindex:'1000',width:'500px'});	
$('criteres').setStyle({position:'relative !important',top:'0px',zindex:'1000',width:'500px'});	
$('criteres').show();	
}



if (monY>=600)  {
actif ='ok';

$('criteres').setStyle({position:'absolute',
						top:'10%' });

$('criteres').setStyle({position:'fixed !important',
						top:'10%' });						

}





}
		






