/* Evènement au chargement de la page */ window.addEvent('domready', function() { /* On sélectionne les balises ayant la class zone_vote */ var zone_vote = $$('.zone_vote'); /* Pour chaque balise on récupère ses fils */ zone_vote.each(function(item) { var stars = item.getChildren(); /* On a donc un tableau contenant les 5 images étoile */ /* On attribue des évènements à chaque étoile */ stars.each(function(item) { item.addEvent('mouseover', onStars); item.addEvent('mouseout', outStars); item.addEvent('click', clickStar); }); }); });
/* Quand on passe sur les étoiles */ function onStars() { /* On change l'image de l'étoile sur laquelle la souris est passée */ this.src = 'http://24fans.fr/rating/star2.png'; /* On récupère les étoiles précédentes et on change leur image */ var stars = this.getAllPrevious(); stars.each(function(item) { item.src = 'http://24fans.fr/rating/star2.png'; }); } 
/* Quand on quitte les étoiles */ function outStars(item) { /* On change l'image de l'étoile sur laquelle la souris est passée */ this.src = 'http://24fans.fr/rating/star1.png'; /* On récupère les étoiles précédentes et on change leur image */ var stars = this.getAllPrevious(); stars.each(function(item) { item.src = 'http://24fans.fr/rating/star1.png'; }); } 
/* Quand on click sur une étoile */ function clickStar() { /* on récupère la valeur de l'étoile qui est dans le alt */ var vote = this.alt; /* Il faut savoir pour quelle photo on vote, on récupère l'id de l'élément parent */ var parent = this.getParent(); var idzode = parent.id; /* requète ajax */ var ajax = new Request.HTML({ method: 'get', url: 'save_vote_zode.php', /* Mets à jour notre zone de vote avec le résultat du fichier PHP */ update: $(idzode) }).send('valuevote='+vote+'&idzode='+idzode); } 
