addEvent(window, 'load', initStars, false);

function initStars(){
	
	var rsr = new ReviewStarRating();
}


function ReviewStarRating(){
	
	this.div = document.getElementById("review_star_chooser");
	
	if(this.div==null){
		return;
	}
	

	
	


	
	this.hidden = document.getElementById("review_star_rating");
	
	this.mouseClicked = false;
	this.mouseOut = false;
	this.count = 0;
	
	this.emptyStar = doc_root+"images/stars/single_empty_star.gif";
	
	this.fullStar = doc_root+"images/stars/single_full_star.gif";
	
	this.img1 = this.createImage(1);
	this.img2 = this.createImage(2);
	this.img3 = this.createImage(3);
	this.img4 = this.createImage(4);
	this.img5 = this.createImage(5);
	
	
	this.currentRating = getAttributeValue(this.div, "value");
	
	if(this.currentRating!=""){
		this.setStars(this.currentRating);
		this.clickedStar = this.currentRating;
	}
	else{
		this.setStars(3);
		this.clickedStar = 3;
	}
	
	
	

	
}

ReviewStarRating.prototype.createImage = function(id){

	var img = document.createElement('img');
	img.id=id;
	img.style.cursor = 'pointer';
	img.src=this.emptyStar;
	
	switch(id){
		case 1: img.title="Very Poor";
					break;
		case 2: img.title="Poor";
					break;
		case 3: img.title="Satisfactory";
					break;
		case 4: img.title="Very Good";
					break;
		case 5: img.title="Excellent";
					break;
	}
	var self = this;
	addEvent(img, 'mouseover', function(evt){self.mouseOverStar(evt);}, false);
	addEvent(img, 'click', function(evt){self.clickStar(evt);}, false);
	addEvent(img, 'mouseout', function(evt){self.mouseOutStar(evt);}, false);
	this.div.appendChild(img);
	return img;
}

ReviewStarRating.prototype.mouseOverStar = function(evt){

	this.mouseClicked = false;
	//console.log('mouse over');
	var element = getElement(evt);
	var star_number = parseInt(element.id); 
	
	this.setStars(star_number);

}


ReviewStarRating.prototype.setStars = function(star_number){

	
	star_number =  parseInt(star_number);
	
	this.hidden.value = star_number; 

	switch(star_number){
		
		case 0:

				this.img1.src = this.emptyStar;
				this.img2.src = this.emptyStar;
				this.img3.src = this.emptyStar;
				this.img4.src = this.emptyStar;
				this.img5.src = this.emptyStar;
				break;
	
		case 1:

			this.img1.src = this.fullStar;
			this.img2.src = this.emptyStar;
			this.img3.src = this.emptyStar;
			this.img4.src = this.emptyStar;
			this.img5.src = this.emptyStar;
			break;
		case 2:

			this.img1.src = this.fullStar;
			this.img2.src = this.fullStar;
			this.img3.src = this.emptyStar;
			this.img4.src = this.emptyStar;
			this.img5.src = this.emptyStar;
			break;
		case 3:

			this.img1.src = this.fullStar;
			this.img2.src = this.fullStar;
			this.img3.src = this.fullStar;
			this.img4.src = this.emptyStar;
			this.img5.src = this.emptyStar;
			break;
		case 4:

			this.img1.src = this.fullStar;
			this.img2.src = this.fullStar;
			this.img3.src = this.fullStar;
			this.img4.src = this.fullStar;
			this.img5.src = this.emptyStar;
			break;
		case 5:

			this.img1.src = this.fullStar;
			this.img2.src = this.fullStar;
			this.img3.src = this.fullStar;
			this.img4.src = this.fullStar;
			this.img5.src = this.fullStar;
			break;
	
	}
	
}



ReviewStarRating.prototype.clickStar = function(evt){
	//console.log('mouse click');
	this.mouseClicked = true;
	var element = getElement(evt);
	this.hidden.value = parseInt(element.id); 
	this.clickedStar = element.id;


}
ReviewStarRating.prototype.mouseOutStar = function(evt){
	this.setStars(this.clickedStar);

}