 var oldOnLoad = window.onload;

 window.onload = function() {
  if (oldOnLoad) {
    oldOnLoad();
  }

  var device = document.getElementById("rating_device");
  var newRating = document.getElementById("new_rating");
  var existingDevice = document.getElementById("rating_display_device");
  var existingStars = existingDevice.getElementsByTagName("img");
  var previousVote = document.getElementById("previous_vote");
  var onImage = document.getElementById("product_rating_on_image").value;
  var offImage = document.getElementById("product_rating_off_image").value;

  if (null != device) {
    var stars = device.getElementsByTagName("a");
    for (var i = 0; stars.length > i; i++) {
      var star = stars[i];
      star.onclick = function() {
	var rating = 0;
	var passedCurrent = 0;
	for (var j = 0; stars.length > j; j++) {
	  if (0 == passedCurrent) {
	    rating += 1;
	    stars[j].firstChild.src = onImage;
	  } else {
	    stars[j].firstChild.src = offImage;
	  }
	  if (stars[j] == this) {
	    passedCurrent = 1;
	  }
	}
	newRating.value = rating;
	return false;
      }
    }
  }

  var s = 0;

  while (s < Math.round(parseFloat(previousVote.value))) {
    existingStars[s].src = onImage;
    s++;
  }
}

