var fixed = new Array();

var rating = {
	init: function(e, initdata) {

		var entry = initdata[0];
		var mode = initdata[1];
		if (initdata[2]) {
			fixed[entry] = initdata[2];
		}
		else {
			fixed[entry] = 0;
		}
		
		var box = document.getElementById(entry+"box");
        rating.ratingdiv = document.createElement('div')
//		rating.ratingdiv.setAttribute('class','ratingdiv');
		rating.ratingdiv.className='ratingdiv';

        // make the stars
        for (var i=1; i<=5; i++) {
            // first, make a div and then an a-element in it
            var star = document.createElement('div');
            star.id = entry+'-star' + i;
            star.innerHTML = '<p></p>';
//			star.setAttribute('class','star');
			star.className='star';
            rating.ratingdiv.appendChild(star);

            if (mode == "active") {
				// add needed listeners to every star
				var mydata = new Array(entry, i);
				YAHOO.util.Event.addListener(star, 'mouseover', rating.hoverStar, mydata);
				YAHOO.util.Event.addListener(star, 'mouseout', rating.resetStars, mydata);
				YAHOO.util.Event.addListener(star, 'click', rating.fixedStars, mydata);
			}
        }        

        var entryfield = document.getElementById(entry);

        box.insertBefore(rating.ratingdiv, entryfield);
//      var startscore = entryfield.value;
//		fixed[entry] = startscore;
		rating.setStars(entry);
		entryfield.style.display = "none";
        

	},
	
	hoverStar: function(e, data) {
		entry = data[0];
		score = data[1];
		for (i=1; i<=score; i++) {
			var item = document.getElementById(entry+'-star'+i);
			item.style.backgroundPosition = "0 -32px";
		}
	},

	resetStars: function(e, data) {
		entry = data[0];
		rating.setStars(entry);
	},

	fixedStars: function(e, data) {
		entry = data[0];
		score = data[1];
		fixed[entry] = score;
		rating.setStars(entry);
	},
	
	setStars: function(entry) {
		for (i=1; i<=fixed[entry]; i++) {
			var item = document.getElementById(entry+'-star'+i);
			item.style.backgroundPosition = "0 -16px";
			document.getElementById(entry).value = fixed[entry];
		}
		var start = parseInt(fixed[entry]) + 1;
		for (i=start; i<=5; i++) {
			var item = document.getElementById(entry+'-star'+i);
			item.style.backgroundPosition = "0 0px";
		}
	}

}

