
// JavaScript Document modele
// auteur germain nov 08
//tasteandvote
//fonction ajax permettant de remplir les modèles de site web




var comparometre;
//variable globale contnent les resultats d une recherche
var pannels;
//variable global qui contient le numero du pannel en cours
var currentPannel=0;

//variable globale : nombre de pannel
var nbPannels=0;

//nombre de box a afficher
var nbBox=3;

//id des bieres a afficher
var boxs=[0,1,2];

//variable permettant de stocker la recherche effectuee
var rechercheCourrante;



function request(url,cadre,action) {
	//auteur : germain.paimparay
	//date : nov 2008
	//but : lire le contenu d'un ficher et le charger dans une division html
	//alert(url);
	//déclaration du futur objet HttpRequest
	var XHR = null;
	
	if(window.XMLHttpRequest) // Firefox
		XHR = new XMLHttpRequest();
	
	else if(window.ActiveXObject){ // Internet Explorer
		XHR = new ActiveXObject("Microsoft.XMLHTTP");
		}
			
	else { // XMLHttpRequest non supporté par le navigateur
			alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
			return;
		}




	//ouverture connexion avec serveur de la requête, methode GET et de l'url. true pour asychrone
	XHR.open("GET",url, true);
	//envoi de la requete	
	
	//alert(url);
	if (action=="fillPannels"){
		
		// on guette les changements d'état
		//à chaque changement d'etat la fonction setToolDescription est appelée
		XHR.onreadystatechange =function(){
	
			//cette fonction permet de remplir les divisions du template de description des outils
			if(XHR.readyState == 4)  {
			
		
				//le format d'echanger utilisé ici est le format json
				json= XHR.responseText;
				//alert(json);
				objJson=eval('('+json+')');
			
				//assignation des var globales
				pannels=objJson;					
				nbPannels=objJson.Pannels.length;
				
				//gestion des bouton de navigation
				hiddenNav();
				
				if(nbPannels >0){
					//remplissage des pannels
				
					fillPannels();
				}else{
					
						new Ajax.Request(
						'aide/aideRecherche.html',
						{
						asynchronous:false,
						method: 'get',
						evalScripts: true,
						onSuccess: function(json) { 
							document.getElementById("infoSearch").innerHTML=json.responseText;
						}
					});
					
				}
			
			}
					
		}
				
	}else{
			
		// on guette les changements d'état
		//à chaque changement d'etat la fonction setToolDescription est appelée
		//le contenu s'affichera dans la division cadre
		XHR.onreadystatechange = function(){document.getElementById(cadre).innerHTML = XHR.responseText;}
	}
		
		XHR.send(null);
	
	// le travail est terminé
	return(1);
	
}


function fillPannel(idBox){
	
		//recuperation du numero de la biere
		numBiere=boxs[idBox-1];
		
		//recuperation des informations relatif à cette biere
		pannel=pannels.Pannels[numBiere];
		//alert(pannel[1].Biere[7]);
		//alert(pannel[0].ID+','+pannel[1].Biere[9]);
		//alert(pannel[0].ID);
		//recuperation des informations
		info="<h1>"+pannel[1].Biere[0]+"</h1><ul class='ficheListe'><li><b>Brasserie : </b>"+pannel[1].Biere[1]+"</li><li><b>Type : </b>"+pannel[1].Biere[2]+"</li><li><b>Fermentation : </b>"+pannel[1].Biere[3]+"</li><li><b>Particularité : </b>"+pannel[1].Biere[4]+"</li><li><b>Degre : </b>"+pannel[1].Biere[5]+" % vol.</li><li><b>Histoire : </b>"+pannel[1].Biere[6]+"</li><li><b>Année : </b>"+pannel[1].Biere[7]+"</li><li><b>Pays : </b>"+pannel[1].Biere[8]+"</li><li><b>Temperature dégustation : </b>"+pannel[1].Biere[10]+"°C</li><li><br /><b>Description : </b>"+pannel[1].Biere[11]+"</li><li><br /><b>Lien : </b>"+pannel[1].Biere[12]+"</li></ul>";
		
		//alert(pannel[1].Biere[0]);
		
		if(pannel[1].Biere[9]){
		/*document.getElementById("photo"+idBox).innerHTML ='<a href="javascript:void(0);" onmouseover="return overlib(\'<img src=images/bieres/'+pannel[1].Biere[9]+' />\');" onmouseout="return nd();" onmousedown="return nd();"><img src="images/bieres/'+pannel[1].Biere[9]+'" width="100px" border="0"/></a>'*/
		
		document.getElementById("photo"+idBox).innerHTML ='<img src="images/bieres/'+pannel[1].Biere[9]+'" width="100px" onmouseover="return overlib(\'<img src=images/bieres/'+pannel[1].Biere[9]+' />\', RELY, 20,FGCOLOR, \'white\');" onmouseout="return nd();" onmousedown="return nd();"/>'
		}else{
			
			document.getElementById("photo"+idBox).innerHTML ='<img src="images/bieres/no-image.jpg" width="100px" onmousedown="comparometre.setBiere('+pannel[0].ID+',\''+pannel[1].Biere[0]+'\',\'no-image.jpg\');return nd();"/> ';	

		}
		
	
	
		var votes="";
		nbVotes=pannel[2].Votes.length;
		
		document.getElementById("nbVote"+idBox).innerHTML ='<a href=# onclick="comparometre.setBiere('+pannel[0].ID+',\''+pannel[1].Biere[0].escapeHTML()+'\',\''+pannel[1].Biere[9]+'\');return false;">Ajouter au comparo</a><br /><br /><a href=# onclick="ajoutCaddie('+pannel[0].ID+');return false;">Ajouter au Caddie</a><br />Nombre de votes : '+(nbVotes-1);
		
		for(var i=0; i < nbVotes; i++){
			//pour le moment seul le vote moyen est affiche
		
			
			if(pannel[2].Votes[i][0]=="NA"){
				//continue;
			
	//alert(pannel[2].Votes[i][2]);
			
			votes += " <div class='ligne0 ligneVote'><center><table width='100%' >"+
			
							"<tr><td collspan=3>"+
							"</td></tr>"+
							"<tr><td valign=top><div class=aspect>ASPECT VISUEL</div><br/> Tenue de Mousse : "+pannel[2].Votes[i][2]+"<br />"+
							" Carbonatation : "+pannel[2].Votes[i][3]+"<br />"+
							" Brillance : "+pannel[2].Votes[i][4]+"<br />"+
							" Couleur : "+pannel[2].Votes[i][5]+"<br />"+
							" Taille des bulles : "+pannel[2].Votes[i][6]+"<br />"+
							" Mousse : "+pannel[2].Votes[i][7]+"</td>"+
							"<td valign=top><div class=aspect>ASPECT OLFACTIF</div><br/> Intensité des arômes : "+pannel[2].Votes[i][8]+"<br />"+
							" Qualité des arômes : "+pannel[2].Votes[i][9]+"<br />"+
							" Arôme dû au malt : "+pannel[2].Votes[i][10]+"<br />"+
							" Houblonage : "+pannel[2].Votes[i][11]+"<br /></td>"+
							"<td valign=top><div class=aspect>ASPECT GUSTATIF</div><br/> Arôme générale : "+pannel[2].Votes[i][12]+"<br />"+
							" Acidité : "+pannel[2].Votes[i][13]+"<br />"+
							" Amerture : "+pannel[2].Votes[i][14]+"<br />"+
							" Longueur en bouche : "+pannel[2].Votes[i][15]+"<br />"+
							" Sucre : "+pannel[2].Votes[i][16]+"<br />"+
							" Equilibrage : "+pannel[2].Votes[i][17]+"<br />"+
							" Astringence : "+pannel[2].Votes[i][18]+"<br />"+
							" Force d\'alcool : "+pannel[2].Votes[i][19]+"<br />"+
							" Texture : "+pannel[2].Votes[i][20]+"<br />"+
							" Corps : "+pannel[2].Votes[i][21]+"<br />"+
							" Carbonatation : "+pannel[2].Votes[i][22]+"<br /></td></tr>"+
							"<tr><td colspan=3> <center><!-- Commentaires : "+pannel[2].Votes[i][23]+"<br /> -->"+
							" <b>Note finale : "+pannel[2].Votes[i][24]+"</b></center></td></tr></table></center></div>";
		
		}
				
		}
		votes +="<img src=\"images/close.png\" height=\"20\" onclick=\"$('votes"+idBox+"Hide').hide(); return false;\" />";
		//recuperation des commentaires
		
		var coms="<div class='commsContenu'>";
		for(var i=0; i < pannel[3].Commentaires.length; i++){

			
			coms += "<div class='ligne1 ligneVote' ><h3>"+pannel[3].Commentaires[i][0]+" a &eacute;crit ("+pannel[3].Commentaires[i][1]+")</h3>"+pannel[3].Commentaires[i][2]+"</div>";
			
		}
		
			comsform ="</div><form id=\"form"+numBiere+"\" name=\""+pannel[0].ID+"\" method=\"post\" action=\"\">"+
			
			"<center><table height=\"50px\" align=\"center\" ><tr><td>"+
			"<label for=\"pseudo\">Pseudo*</label><br />"+
  
    			"<input type=\"text\" name=\"pseudo\" id=\"pseudo\" size=\"10\"/>"+
			"</td><td>"+
			"Control visuel <br/><img src=\"metier/getcaptcha.php\" height=\"22px\" /> "+
				"<input type=\"text\" name=\"captcha\" id=\"captcha\" size=\"5\"/>"+
				"</td><td>"+
				"<label for=\"message\">Message</label><br />"+
    			"<input type=\"text\" name=\"message\" id=\"message\" size=\"25\"><br />"+
				"</td></tr><tr><td colspan=3><center><input type=\"submit\" name=\"button\"  onclick=\"formNewCom($('form"+numBiere+"')); return false;\"  id=\"button\" value=\"Envoyer mon commentaire !\" /></center>"+
				"<div id=\"control"+pannel[0].ID+"\"></div>"+
			"</form>"+
			"</td></tr></table></center>"+
			"<img src=\"images/close.png\" height=\"20\" onclick=\"$('comms"+idBox+"Hide').hide(); return false;\" />";
				
		/*
			coms +="</div><form id=\"form"+numBiere+"\" name=\""+pannel[0].ID+"\" method=\"post\" action=\"\">"+
  				"<label for=\"pseudo\">Pseudo*</label><br />"+
  
    			"<input type=\"text\" name=\"pseudo\" id=\"pseudo\" />"+

  
   				"<br /><br /><label for=\"message\">Message</label><br />"+
    			"<textarea name=\"message\" id=\"message\" cols=\"45\" rows=\"5\"></textarea>"+

  				"<p>"+
    			"<label for=\"button\"></label>"+
				"<br />Control visuel : <br/><img src=\"metier/getcaptcha.php\" /><br /><br />"+
				"<input type=\"text\" name=\"captcha\" id=\"captcha\" /><br /><br />"+
    			"<input type=\"submit\" name=\"button\"  onclick=\"formNewCom($('form"+numBiere+"')); return false;\"  id=\"button\" value=\"Envoyer mon commentaire !\" />"+
  				"</p><div id=\"control"+pannel[0].ID+"\"></div>"+
			"</form>"+
			
			"<img src=\"images/close.png\" height=\"20\" onclick=\"$('comms"+idBox+"Hide').hide(); return false;\" />";
		*/
		
		//remplissage des division html
		document.getElementById("comms"+idBox+"Contenu").innerHTML =coms;
		document.getElementById("comms"+idBox+"HideContenu").innerHTML =comsform;
		document.getElementById("votes"+idBox+"HideContenu").innerHTML =votes;
		document.getElementById("infos"+idBox).innerHTML =info;
		//on utilise la variable globale uiFacebook pour faciliter l interaction avec facebook
		
		if(uiFacebook!=""){
		document.getElementById("vote"+idBox).innerHTML ="<a href=\"vote.php?uiFacebook="+uiFacebook+"&idBiere="+pannel[0].ID+"\" class=\"highslide\" onclick=\"return hs.htmlExpand(this, { objectType: 'iframe',width:700,height:650 })\" >Votez !</a>";
		
		}else{
			document.getElementById("vote"+idBox).innerHTML ="<a href=\"vote.php?idBiere="+pannel[0].ID+"\" class=\"highslide\" onclick=\"return hs.htmlExpand(this, { objectType: 'iframe',width:700,height:650 })\" >Votez !</a>";
		
			
		}
		note=pannel[2].Votes[0][24];
		
		if(note){
		document.getElementById("note"+idBox).innerHTML =note+"/10";
		}else{
			
			document.getElementById("note"+idBox).innerHTML ="NA";	
			
		}
		
		//generation et remplissage des radars 
		idBiere=pannel[0].ID;
		//alert("chart"+idBox);
		request("metier/radar.php?idBiere="+idBiere,"chart"+idBox,"");

		


}


function fillPannels(){
	
	
	var cc=0;
	for(i=0;i<nbBox;i++){
		
		//alert(boxs[i]+" < "+ nbPannels);
		if(boxs[i] < nbPannels && boxs[i]>=0){
		
			fillPannel(i+1);
			document.getElementById("box"+(i+1)).style.visibility = 'visible';
						
		}else{
		
			document.getElementById("box"+(i+1)).style.visibility = 'hidden';
			cc++;
			
			if(cc==3){
				
				var html= document.getElementById("res_serach").innerHTML;
				document.getElementById("infoSearch").innerHTML = "Pas de résultat <br /> le savez vous : ...";
			}
		}
		
		
	}

}

function nextPannel(){
	
	boxs[0]=boxs[0]+nbBox;
	boxs[1]=boxs[1]+nbBox;
	boxs[2]=boxs[2]+nbBox;
	
	//alert(boxs[0]+" "+boxs[1]+" "+boxs[2]);
	
	fillPannels();
	hiddenNav();
	Effect.ScrollTo('main');
	
}

function prevPannel(){
	
	
	
	boxs[0]=boxs[0]-nbBox;
	boxs[1]=boxs[1]-nbBox;
	boxs[2]=boxs[2]-nbBox;
	
	fillPannels();
	hiddenNav();
	Effect.ScrollTo('main');

}

function hiddenNav(){
	
	
	if(boxs[0]==0){
		
		document.getElementById("prev").style.visibility = 'hidden';
	
	}else{
		
		document.getElementById("prev").style.visibility = 'visible';
		
	}
	
	for(j=0;j<nbBox;j++){
		
		k=boxs[j];
		if(k >= (nbPannels-1)){
			
			document.getElementById("next").style.visibility = 'hidden';
			
		}else{
			
			document.getElementById("next").style.visibility = 'visible';
			
		}
		
		
	}
	
}

function recherche(directAcces,clause){

//initialisation des numeros des boites
	boxs[0]=0;
	boxs[1]=1;
	boxs[2]=2;

	if(!clause){
		clause="";
		
	}
	
	new Ajax.Request(
				'boxes.html',
				{
					asynchronous:false,
					method: 'get',
					evalScripts: true,
					onSuccess: function(json) { 
						document.getElementById("accueil").innerHTML=json.responseText;
					}
				});
	
	Nifty("div#panel1,div#panel2,div#panel3,div#pannel_c1,div#pannel_c2,div#pannel_c3","top");
	Nifty("div#comms1,div#comms2,div#comms3,div#pannel_c1,div#pannel_c2,div#pannel_c3","bottom");
	//}
	
	document.getElementById("infoSearch").innerHTML = "";
	
    var motCle = document.getElementById("recherche").value;
	document.getElementById("recherche").value="";
	 
	if(directAcces){
		 
		 motCle = directAcces;
		 
	 }
	 
	 if(motCle==""){
		
			//alert("dddd");
			//document.getElementById("infoSearch").innerHTML ="Entrer une valeur";
			new Ajax.Updater('accueil', 'accueil.php', { method: 'get', evalScripts: true }); 
			//alert("Merci de rentrer un mot clé");
			return false;
		
		 
	 }
	 
	 //alert(motCle);
	 //document.getElementById("accueil").innerHTML="";
	 
	 
	 //alert(rechercheCourrante);
     if(motCle){
    	
		var date = new Date();
		var id=date.getMinutes()+date.getSeconds();
		

	 	
		//document.location.hash=id;
		request("metier/mainTestandVote.php?motCle="+motCle+"&tmp="+id+"&clause="+clause,"","fillPannels");
		//alert("metier/mainTestandVote.php?motCle="+motCle+"&tmp="+id);
		rechercheCourrante=motCle;
		dhtmlHistory.add(motCle);
		
     }else{
     //alert("non");
     
     }
     
}

	
function checkControleVisuel(captcha){
		
//alert(captcha);
var r="aa";
new Ajax.Request(
				'metier/checkControleVisuel.php',
				{
					asynchronous:false,
					method: 'get',
					parameters: {captchaControl:captcha},
					onSuccess: function(json) { r=json.responseText;},
					onFailure: function() { alert("Une erreur est survenue lors de l'appel AJAX.\nRecharger la page devrait résoudre le problème."); }
				}
			);

//alert(r);
return r;
}

function formNewCom(form){
	
	
	
	
	var captcha=form.captcha.value;
	var message=form.message.value;
	var pseudo=form.pseudo.value;
	var idBiere=form.name;
	
	var controleVisuel=checkControleVisuel(captcha);
	//alert(pseudo);
	if(controleVisuel == "0" || message=="" ||pseudo==""){
		
		//alert('controle visuel FAUX');
		document.getElementById("control"+idBiere).innerHTML ="Vérifier les informations soumises";
		
	}else{
		
		//alert('controle visuel VRAI');
		new Ajax.Request(
				'metier/addCommentaire.php',
				{
					
					method: 'get',
					parameters: {p:pseudo, m:message, id:idBiere},
					onSuccess: function(json) { document.getElementById("control"+idBiere).innerHTML ="Merci pour votre commentaire"; },
					onFailure: function() { alert("Une erreur est survenue lors de l'appel AJAX.\nRecharger la page devrait résoudre le problème."); }
					
			
				}
			);
			
	form.message.value="";
	form.pseudo.value="";
	form.name="";
	//alert(rechercheCourrante);
	recherche(rechercheCourrante);
		
		
	}
	
	
	
	
}

valid_form_newVote = function(){
	
	
	var form=$('formNewVote');
	var captcha=form.captcha.value;
	var note=form.captcha.note_finale;
	
	var controleVisuel=checkControleVisuel(captcha);
	
	if(controleVisuel!="0"){
		
		//alert("vérifier le contrôle visuel !");
		form.submitForm.disabled=false;
		
	}
	
	if(note>10){
		
		alert("La note finale doit être comprise en 0 et 10. \n Si elle est superieure, elle ne sera pas prise en compte.")
		
	}
	
	
}
var CS = {};
CS.UpdateAjax = function(){}
        
     CS.UpdateAjax.callBack = function(){
            
           recherche(rechercheCourrante);
		   //alert(rechercheCourrante);
		   
     }

function controleAge(){
	
	//alert("uiy");
	document.getElementById("controleAge").style.display="inline";
	document.getElementById("texteControleAge").style.display="inline";
	document.getElementById("texteControleAge").innerHTML ="<i>Notre site subit actuellement de forts remaniments, il est donc fortement possible que vous rencontriez des difficultés à l'utiliser. Merci de votre compréhension.</i><hr><p>Ce site est reservé aux personnes majeures.<br /> <br />Avez vous plus de 18 ans ?</p><br /><br /><input type=submit value=Oui onclick='javascript:valideAge()' /> <input type=submit value=Non onclick='javascript:redirect();' />";
	
	
	
}

function redirect(){
	
	alert("vous allez etre redirigé vers google");
	window.location.replace("http://www.google.fr");

}

function valideAge(){
	
	document.getElementById("controleAge").style.display="none";
	document.getElementById("texteControleAge").style.display="none";

}

/**************************fonction pour les compteur en continu*/


quand= function (){



//recuperer le jour de l année

//Déclaration des deux dates nécessaires.

var dateCourante = new Date();
var dateDebutAnnee = new Date();

 

//On affecte à la date du début de l'année, le mois 1, le jour 1 et l'année courante

dateDebutAnnee.setDate(1);
dateDebutAnnee.setMonth(0);
dateDebutAnnee.setFullYear(dateCourante.getFullYear());
dateDebutAnnee.setHours(0);
dateDebutAnnee.setMilliseconds(0);
dateDebutAnnee.setMinutes(0);
dateDebutAnnee.setSeconds(0);
 


//quantième en seconde
var quantieme = parseInt((dateCourante.getTime() - dateDebutAnnee.getTime())/1000);
return quantieme;

}




//rédigeons notre fonction
function compte(){

//compteur
var compteurFrance="";

//convertion du chiffre a en chaine de characteres

quandSec=quand();
var nbLitreFrance = Math.round(quandSec*77);
nbLitreFrance = nbLitreFrance+"";

var nbLitreBelgique = Math.round(quandSec*32.3);
nbLitreBelgique = nbLitreBelgique+"";

var nbLitreMonde = Math.round(quandSec*4717);
nbLitreMonde  = nbLitreMonde +"";


var nbLitreCanada = Math.round(quandSec*70.8);
nbLitreCanada  = nbLitreCanada +"";

zero="";
if(nbLitreFrance.length<10){

	
	for (var i=0; i<10-nbLitreFrance.length; i++) {
 	
		zero+="0";
	
	}


}

nbLitreFrance=zero+nbLitreFrance;


zero="";
if(nbLitreBelgique.length<10){

	
	for (var i=0; i<10-nbLitreBelgique.length; i++) {
 	
		zero+="0";
	
	}


}

nbLitreBelgique=zero+nbLitreBelgique;

zero="";
if(nbLitreMonde.length<10){

	
	for (var i=0; i<10-nbLitreMonde.length; i++) {
 	
		zero+="0";
	
	}


}

nbLitreMonde=zero+nbLitreMonde;

zero="";
if(nbLitreCanada.length<10){

	
	for (var i=0; i<10-nbLitreCanada.length; i++) {
 	
		zero+="0";
	
	}


}

nbLitreCanada=zero+nbLitreCanada;



//decoupage en tableau
var tableauNbLitreFrance=nbLitreFrance.split('');
//document.getElementById("compteurConsoBiere").innerHTML=zero+compteur;
if(document.getElementById('compteurConsoBiereFrance')){
document.getElementById("compteurConsoBiereFrance").innerHTML=tableauNbLitreFrance[0]+","+tableauNbLitreFrance[1]+tableauNbLitreFrance[2]+tableauNbLitreFrance[3]+","+tableauNbLitreFrance[4]+tableauNbLitreFrance[5]+tableauNbLitreFrance[6]+","+tableauNbLitreFrance[7]+tableauNbLitreFrance[8]+tableauNbLitreFrance[9];
}


//decoupage en tableau
var tableauNbLitreBelgique=nbLitreBelgique.split('');
//document.getElementById("compteurConsoBiere").innerHTML=zero+compteur;
if(document.getElementById('compteurConsoBiereBelgique')){
document.getElementById("compteurConsoBiereBelgique").innerHTML=tableauNbLitreBelgique[0]+","+tableauNbLitreBelgique[1]+tableauNbLitreBelgique[2]+tableauNbLitreBelgique[3]+","+tableauNbLitreBelgique[4]+tableauNbLitreBelgique[5]+tableauNbLitreBelgique[6]+","+tableauNbLitreBelgique[7]+tableauNbLitreBelgique[8]+tableauNbLitreBelgique[9];
}

//decoupage en tableau
var tableauNbLitreMonde=nbLitreMonde.split('');
//document.getElementById("compteurConsoBiere").innerHTML=zero+compteur;
if(document.getElementById('compteurConsoBiereMonde')){
document.getElementById("compteurConsoBiereMonde").innerHTML=tableauNbLitreMonde[0]+","+tableauNbLitreMonde[1]+tableauNbLitreMonde[2]+tableauNbLitreMonde[3]+","+tableauNbLitreMonde[4]+tableauNbLitreMonde[5]+tableauNbLitreMonde[6]+","+tableauNbLitreMonde[7]+tableauNbLitreMonde[8]+tableauNbLitreMonde[9];
}


var tableauNbLitreCanada=nbLitreCanada.split('');
//document.getElementById("compteurConsoBiere").innerHTML=zero+compteur;
if(document.getElementById('compteurConsoBiereCanada')){
document.getElementById("compteurConsoBiereCanada").innerHTML=tableauNbLitreCanada[0]+","+tableauNbLitreCanada[1]+tableauNbLitreCanada[2]+tableauNbLitreCanada[3]+","+tableauNbLitreCanada[4]+tableauNbLitreCanada[5]+tableauNbLitreCanada[6]+","+tableauNbLitreCanada[7]+tableauNbLitreCanada[8]+tableauNbLitreCanada[9];
}



}


//var quands=quand();


/******************    FOnction pour creer des tooltip/infobulle    *************************/

/*
 * Tooltip script 
 * powered by jQuery (http://www.jquery.com)
 * 
 * written by Alen Grakalic (http://cssglobe.com)
 * 
 * for more info visit http://cssglobe.com/post/1695/easiest-tooltip-and-image-preview-using-jquery
 *
 */
 
//pour pouvoir utiliser jquery et prototype
 var $j = jQuery.noConflict();

this.tooltip = function(){	
	/* CONFIG */		
		xOffset = 10;
		yOffset = 20;		
		// these 2 variable determine popup's distance from the cursor
		// you might want to adjust to get the right result		
	/* END CONFIG */		
	$j("a.tooltip").hover(function(e){											  
		this.t = this.title;
		this.title = "";									  
		$j("body").append("<p id='tooltip'>"+ this.t +"</p>");
		$j("#tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px")
			.fadeIn("fast");		
    },
	function(){
		this.title = this.t;		
		$j("#tooltip").remove();
    });	
	$j("a.tooltip").mousemove(function(e){
		$j("#tooltip")
			.css("top",(e.pageY - xOffset) + "px")
			.css("left",(e.pageX + yOffset) + "px");
	});			
};



/*     Caddie TAV */

ajoutCaddie=function(id){
	
	
	
		new Ajax.Request(
				'metier/ajoutCaddie.php',
				{
					asynchronous:true,
					method: 'get',
					evalScripts: true,
					parameters: {idBiere:id},
					onSuccess: function(json) { 
						alert(html_entity_decode(json.responseText));
					}
				});
	
	
}


/* fonctions utiles*/
//Encode une chaîne
function htmlentities(texte) {
	texte = texte.replace(/"/g,'&quot;'); // 34 22
	texte = texte.replace(/&/g,'&amp;'); // 38 26
	texte = texte.replace(/\'/g,'&#39;'); // 39 27
	texte = texte.replace(/</g,'&lt;'); // 60 3C
	texte = texte.replace(/>/g,'&gt;'); // 62 3E
	texte = texte.replace(/\^/g,'&circ;'); // 94 5E
	texte = texte.replace(/‘/g,'&lsquo;'); // 145 91
	texte = texte.replace(/’/g,'&rsquo;'); // 146 92
	texte = texte.replace(/“/g,'&ldquo;'); // 147 93
	texte = texte.replace(/”/g,'&rdquo;'); // 148 94
	texte = texte.replace(/•/g,'&bull;'); // 149 95
	texte = texte.replace(/–/g,'&ndash;'); // 150 96
	texte = texte.replace(/—/g,'&mdash;'); // 151 97
	texte = texte.replace(/˜/g,'&tilde;'); // 152 98
	texte = texte.replace(/™/g,'&trade;'); // 153 99
	texte = texte.replace(/š/g,'&scaron;'); // 154 9A
	texte = texte.replace(/›/g,'&rsaquo;'); // 155 9B
	texte = texte.replace(/œ/g,'&oelig;'); // 156 9C
	texte = texte.replace(//g,'&#357;'); // 157 9D
	texte = texte.replace(/ž/g,'&#382;'); // 158 9E
	texte = texte.replace(/Ÿ/g,'&Yuml;'); // 159 9F
	texte = texte.replace(/ /g,'&nbsp;'); // 160 A0
	texte = texte.replace(/¡/g,'&iexcl;'); // 161 A1
	texte = texte.replace(/¢/g,'&cent;'); // 162 A2
	texte = texte.replace(/£/g,'&pound;'); // 163 A3
	texte = texte.replace(/ /g,'&curren;'); // 164 A4
	texte = texte.replace(/¥/g,'&yen;'); // 165 A5
	texte = texte.replace(/¦/g,'&brvbar;'); // 166 A6
	texte = texte.replace(/§/g,'&sect;'); // 167 A7
	texte = texte.replace(/¨/g,'&uml;'); // 168 A8
	texte = texte.replace(/©/g,'&copy;'); // 169 A9
	texte = texte.replace(/ª/g,'&ordf;'); // 170 AA
	texte = texte.replace(/«/g,'&laquo;'); // 171 AB
	texte = texte.replace(/¬/g,'&not;'); // 172 AC
	texte = texte.replace(/­/g,'&shy;'); // 173 AD
	texte = texte.replace(/®/g,'&reg;'); // 174 AE
	texte = texte.replace(/¯/g,'&macr;'); // 175 AF
	texte = texte.replace(/°/g,'&deg;'); // 176 B0
	texte = texte.replace(/±/g,'&plusmn;'); // 177 B1
	texte = texte.replace(/²/g,'&sup2;'); // 178 B2
	texte = texte.replace(/³/g,'&sup3;'); // 179 B3
	texte = texte.replace(/´/g,'&acute;'); // 180 B4
	texte = texte.replace(/µ/g,'&micro;'); // 181 B5
	texte = texte.replace(/¶/g,'&para'); // 182 B6
	texte = texte.replace(/·/g,'&middot;'); // 183 B7
	texte = texte.replace(/¸/g,'&cedil;'); // 184 B8
	texte = texte.replace(/¹/g,'&sup1;'); // 185 B9
	texte = texte.replace(/º/g,'&ordm;'); // 186 BA
	texte = texte.replace(/»/g,'&raquo;'); // 187 BB
	texte = texte.replace(/¼/g,'&frac14;'); // 188 BC
	texte = texte.replace(/½/g,'&frac12;'); // 189 BD
	texte = texte.replace(/¾/g,'&frac34;'); // 190 BE
	texte = texte.replace(/¿/g,'&iquest;'); // 191 BF
	texte = texte.replace(/À/g,'&Agrave;'); // 192 C0
	texte = texte.replace(/Á/g,'&Aacute;'); // 193 C1
	texte = texte.replace(/Â/g,'&Acirc;'); // 194 C2
	texte = texte.replace(/Ã/g,'&Atilde;'); // 195 C3
	texte = texte.replace(/Ä/g,'&Auml;'); // 196 C4
	texte = texte.replace(/Å/g,'&Aring;'); // 197 C5
	texte = texte.replace(/Æ/g,'&AElig;'); // 198 C6
	texte = texte.replace(/Ç/g,'&Ccedil;'); // 199 C7
	texte = texte.replace(/È/g,'&Egrave;'); // 200 C8
	texte = texte.replace(/É/g,'&Eacute;'); // 201 C9
	texte = texte.replace(/Ê/g,'&Ecirc;'); // 202 CA
	texte = texte.replace(/Ë/g,'&Euml;'); // 203 CB
	texte = texte.replace(/Ì/g,'&Igrave;'); // 204 CC
	texte = texte.replace(/Í/g,'&Iacute;'); // 205 CD
	texte = texte.replace(/Î/g,'&Icirc;'); // 206 CE
	texte = texte.replace(/Ï/g,'&Iuml;'); // 207 CF
	texte = texte.replace(/Ð/g,'&ETH;'); // 208 D0
	texte = texte.replace(/Ñ/g,'&Ntilde;'); // 209 D1
	texte = texte.replace(/Ò/g,'&Ograve;'); // 210 D2
	texte = texte.replace(/Ó/g,'&Oacute;'); // 211 D3
	texte = texte.replace(/Ô/g,'&Ocirc;'); // 212 D4
	texte = texte.replace(/Õ/g,'&Otilde;'); // 213 D5
	texte = texte.replace(/Ö/g,'&Ouml;'); // 214 D6
	texte = texte.replace(/×/g,'&times;'); // 215 D7
	texte = texte.replace(/Ø/g,'&Oslash;'); // 216 D8
	texte = texte.replace(/Ù/g,'&Ugrave;'); // 217 D9
	texte = texte.replace(/Ú/g,'&Uacute;'); // 218 DA
	texte = texte.replace(/Û/g,'&Ucirc;'); // 219 DB
	texte = texte.replace(/Ü/g,'&Uuml;'); // 220 DC
	texte = texte.replace(/Ý/g,'&Yacute;'); // 221 DD
	texte = texte.replace(/Þ/g,'&THORN;'); // 222 DE
	texte = texte.replace(/ß/g,'&szlig;'); // 223 DF
	texte = texte.replace(/à/g,'&agrave;'); // 224 E0
	texte = texte.replace(/á/g,'&aacute;'); // 225 E1
	texte = texte.replace(/â/g,'&acirc;'); // 226 E2
	texte = texte.replace(/ã/g,'&atilde;'); // 227 E3
	texte = texte.replace(/ä/g,'&auml;'); // 228 E4
	texte = texte.replace(/å/g,'&aring;'); // 229 E5
	texte = texte.replace(/æ/g,'&aelig;'); // 230 E6
	texte = texte.replace(/ç/g,'&ccedil;'); // 231 E7
	texte = texte.replace(/è/g,'&egrave;'); // 232 E8
	texte = texte.replace(/é/g,'&eacute;'); // 233 E9
	texte = texte.replace(/ê/g,'&ecirc;'); // 234 EA
	texte = texte.replace(/ë/g,'&euml;'); // 235 EB
	texte = texte.replace(/ì/g,'&igrave;'); // 236 EC
	texte = texte.replace(/í/g,'&iacute;'); // 237 ED
	texte = texte.replace(/î/g,'&icirc;'); // 238 EE
	texte = texte.replace(/ï/g,'&iuml;'); // 239 EF
	texte = texte.replace(/ð/g,'&eth;'); // 240 F0
	texte = texte.replace(/ñ/g,'&ntilde;'); // 241 F1
	texte = texte.replace(/ò/g,'&ograve;'); // 242 F2
	texte = texte.replace(/ó/g,'&oacute;'); // 243 F3
	texte = texte.replace(/ô/g,'&ocirc;'); // 244 F4
	texte = texte.replace(/õ/g,'&otilde;'); // 245 F5
	texte = texte.replace(/ö/g,'&ouml;'); // 246 F6
	texte = texte.replace(/÷/g,'&divide;'); // 247 F7
	texte = texte.replace(/ø/g,'&oslash;'); // 248 F8
	texte = texte.replace(/ù/g,'&ugrave;'); // 249 F9
	texte = texte.replace(/ú/g,'&uacute;'); // 250 FA
	texte = texte.replace(/û/g,'&ucirc;'); // 251 FB
	texte = texte.replace(/ü/g,'&uuml;'); // 252 FC
	texte = texte.replace(/ý/g,'&yacute;'); // 253 FD
	texte = texte.replace(/þ/g,'&thorn;'); // 254 FE
	texte = texte.replace(/ÿ/g,'&yuml;'); // 255 FF
	return texte;
}
//Décode une chaîne
function html_entity_decode(texte) {
	texte = texte.replace(/&quot;/g,'"'); // 34 22
	texte = texte.replace(/&amp;/g,'&'); // 38 26	
	texte = texte.replace(/&#39;/g,"'"); // 39 27
	texte = texte.replace(/&lt;/g,'<'); // 60 3C
	texte = texte.replace(/&gt;/g,'>'); // 62 3E
	texte = texte.replace(/&circ;/g,'^'); // 94 5E
	texte = texte.replace(/&lsquo;/g,'‘'); // 145 91
	texte = texte.replace(/&rsquo;/g,'’'); // 146 92
	texte = texte.replace(/&ldquo;/g,'“'); // 147 93
	texte = texte.replace(/&rdquo;/g,'”'); // 148 94
	texte = texte.replace(/&bull;/g,'•'); // 149 95
	texte = texte.replace(/&ndash;/g,'–'); // 150 96
	texte = texte.replace(/&mdash;/g,'—'); // 151 97
	texte = texte.replace(/&tilde;/g,'˜'); // 152 98
	texte = texte.replace(/&trade;/g,'™'); // 153 99
	texte = texte.replace(/&scaron;/g,'š'); // 154 9A
	texte = texte.replace(/&rsaquo;/g,'›'); // 155 9B
	texte = texte.replace(/&oelig;/g,'œ'); // 156 9C
	texte = texte.replace(/&#357;/g,''); // 157 9D
	texte = texte.replace(/&#382;/g,'ž'); // 158 9E
	texte = texte.replace(/&Yuml;/g,'Ÿ'); // 159 9F
	texte = texte.replace(/&nbsp;/g,' '); // 160 A0
	texte = texte.replace(/&iexcl;/g,'¡'); // 161 A1
	texte = texte.replace(/&cent;/g,'¢'); // 162 A2
	texte = texte.replace(/&pound;/g,'£'); // 163 A3
	texte = texte.replace(/&curren;/g,' '); // 164 A4
	texte = texte.replace(/&yen;/g,'¥'); // 165 A5
	texte = texte.replace(/&brvbar;/g,'¦'); // 166 A6
	texte = texte.replace(/&sect;/g,'§'); // 167 A7
	texte = texte.replace(/&uml;/g,'¨'); // 168 A8
	texte = texte.replace(/&copy;/g,'©'); // 169 A9
	texte = texte.replace(/&ordf;/g,'ª'); // 170 AA
	texte = texte.replace(/&laquo;/g,'«'); // 171 AB
	texte = texte.replace(/&not;/g,'¬'); // 172 AC
	texte = texte.replace(/&shy;/g,'­'); // 173 AD
	texte = texte.replace(/&reg;/g,'®'); // 174 AE
	texte = texte.replace(/&macr;/g,'¯'); // 175 AF
	texte = texte.replace(/&deg;/g,'°'); // 176 B0
	texte = texte.replace(/&plusmn;/g,'±'); // 177 B1
	texte = texte.replace(/&sup2;/g,'²'); // 178 B2
	texte = texte.replace(/&sup3;/g,'³'); // 179 B3
	texte = texte.replace(/&acute;/g,'´'); // 180 B4
	texte = texte.replace(/&micro;/g,'µ'); // 181 B5
	texte = texte.replace(/&para/g,'¶'); // 182 B6
	texte = texte.replace(/&middot;/g,'·'); // 183 B7
	texte = texte.replace(/&cedil;/g,'¸'); // 184 B8
	texte = texte.replace(/&sup1;/g,'¹'); // 185 B9
	texte = texte.replace(/&ordm;/g,'º'); // 186 BA
	texte = texte.replace(/&raquo;/g,'»'); // 187 BB
	texte = texte.replace(/&frac14;/g,'¼'); // 188 BC
	texte = texte.replace(/&frac12;/g,'½'); // 189 BD
	texte = texte.replace(/&frac34;/g,'¾'); // 190 BE
	texte = texte.replace(/&iquest;/g,'¿'); // 191 BF
	texte = texte.replace(/&Agrave;/g,'À'); // 192 C0
	texte = texte.replace(/&Aacute;/g,'Á'); // 193 C1
	texte = texte.replace(/&Acirc;/g,'Â'); // 194 C2
	texte = texte.replace(/&Atilde;/g,'Ã'); // 195 C3
	texte = texte.replace(/&Auml;/g,'Ä'); // 196 C4
	texte = texte.replace(/&Aring;/g,'Å'); // 197 C5
	texte = texte.replace(/&AElig;/g,'Æ'); // 198 C6
	texte = texte.replace(/&Ccedil;/g,'Ç'); // 199 C7
	texte = texte.replace(/&Egrave;/g,'È'); // 200 C8
	texte = texte.replace(/&Eacute;/g,'É'); // 201 C9
	texte = texte.replace(/&Ecirc;/g,'Ê'); // 202 CA
	texte = texte.replace(/&Euml;/g,'Ë'); // 203 CB
	texte = texte.replace(/&Igrave;/g,'Ì'); // 204 CC
	texte = texte.replace(/&Iacute;/g,'Í'); // 205 CD
	texte = texte.replace(/&Icirc;/g,'Î'); // 206 CE
	texte = texte.replace(/&Iuml;/g,'Ï'); // 207 CF
	texte = texte.replace(/&ETH;/g,'Ð'); // 208 D0
	texte = texte.replace(/&Ntilde;/g,'Ñ'); // 209 D1
	texte = texte.replace(/&Ograve;/g,'Ò'); // 210 D2
	texte = texte.replace(/&Oacute;/g,'Ó'); // 211 D3
	texte = texte.replace(/&Ocirc;/g,'Ô'); // 212 D4
	texte = texte.replace(/&Otilde;/g,'Õ'); // 213 D5
	texte = texte.replace(/&Ouml;/g,'Ö'); // 214 D6
	texte = texte.replace(/&times;/g,'×'); // 215 D7
	texte = texte.replace(/&Oslash;/g,'Ø'); // 216 D8
	texte = texte.replace(/&Ugrave;/g,'Ù'); // 217 D9
	texte = texte.replace(/&Uacute;/g,'Ú'); // 218 DA
	texte = texte.replace(/&Ucirc;/g,'Û'); // 219 DB
	texte = texte.replace(/&Uuml;/g,'Ü'); // 220 DC
	texte = texte.replace(/&Yacute;/g,'Ý'); // 221 DD
	texte = texte.replace(/&THORN;/g,'Þ'); // 222 DE
	texte = texte.replace(/&szlig;/g,'ß'); // 223 DF
	texte = texte.replace(/&agrave;/g,'à'); // 224 E0
	texte = texte.replace(/&aacute;/g,'á'); // 225 E1
	texte = texte.replace(/&acirc;/g,'â'); // 226 E2
	texte = texte.replace(/&atilde;/g,'ã'); // 227 E3
	texte = texte.replace(/&auml;/g,'ä'); // 228 E4
	texte = texte.replace(/&aring;/g,'å'); // 229 E5
	texte = texte.replace(/&aelig;/g,'æ'); // 230 E6
	texte = texte.replace(/&ccedil;/g,'ç'); // 231 E7
	texte = texte.replace(/&egrave;/g,'è'); // 232 E8
	texte = texte.replace(/&eacute;/g,'é'); // 233 E9
	texte = texte.replace(/&ecirc;/g,'ê'); // 234 EA
	texte = texte.replace(/&euml;/g,'ë'); // 235 EB
	texte = texte.replace(/&igrave;/g,'ì'); // 236 EC
	texte = texte.replace(/&iacute;/g,'í'); // 237 ED
	texte = texte.replace(/&icirc;/g,'î'); // 238 EE
	texte = texte.replace(/&iuml;/g,'ï'); // 239 EF
	texte = texte.replace(/&eth;/g,'ð'); // 240 F0
	texte = texte.replace(/&ntilde;/g,'ñ'); // 241 F1
	texte = texte.replace(/&ograve;/g,'ò'); // 242 F2
	texte = texte.replace(/&oacute;/g,'ó'); // 243 F3
	texte = texte.replace(/&ocirc;/g,'ô'); // 244 F4
	texte = texte.replace(/&otilde;/g,'õ'); // 245 F5
	texte = texte.replace(/&ouml;/g,'ö'); // 246 F6
	texte = texte.replace(/&divide;/g,'÷'); // 247 F7
	texte = texte.replace(/&oslash;/g,'ø'); // 248 F8
	texte = texte.replace(/&ugrave;/g,'ù'); // 249 F9
	texte = texte.replace(/&uacute;/g,'ú'); // 250 FA
	texte = texte.replace(/&ucirc;/g,'û'); // 251 FB
	texte = texte.replace(/&uuml;/g,'ü'); // 252 FC
	texte = texte.replace(/&yacute;/g,'ý'); // 253 FD
	texte = texte.replace(/&thorn;/g,'þ'); // 254 FE
	texte = texte.replace(/&yuml;/g,'ÿ'); // 255 FF
	return texte;
}