1
jQuery.fn.sexyVote = function(config) {
4
activeImageSrc: "active_star.gif",
5
passiveImageSrc: "passive_star.gif",
9
"Your vote have been saved.",
12
"Good, but could be better",
18
config = jQuery.extend(defaults, config);
22
return this.each(function() {
23
var $container = jQuery(this);
25
for (var i = 0, num = config.maxScore * 2; i < num; ++i) {
26
jQuery("<img />").appendTo($container);
29
jQuery("<span />").appendTo($container);
31
$container.find("img:even").
32
attr("src", config.passiveImageSrc).
33
css({display: "inline"}).
34
bind("mouseover", function(e) {
35
var len = $container.find("img:even").index(e.target) + 1;
37
$container.find("img:even").slice(0, len).css({display: "none"});
39
$container.find("img:odd").slice(0, len).css({display: "inline"});
41
$container.find("span").text(config.messages[len]);
47
attr("src", config.activeImageSrc).
48
css({display: "none"}).
49
bind("mouseout", function(e) {
51
var len = $container.find("img:odd").
54
$container.find("img:odd")
56
css({display: "none"});
57
$container.find("img:even").
59
css({display: "inline"});
61
$container.find("span").
66
bind("click", function(e) {
67
$container.find("img").
71
$container.find("span").
72
text(config.messages[0]);
73
config.fn.call(this, e, $container.find("img:odd").index(e.target) + 1);