function Rating(hiddenId,starCount,picPath) {

	var div;
	var hidden;
	var fullStar;
	var emptyStar;
	var halfStar;
	var coloredStar;
	var starCount;

	var selected;

	this.starCount = starCount;
	this.div = document.getElementById(hiddenId + "divid");
	this.hidden = document.getElementById(hiddenId);

	this.fullStar	=	picPath + "fullstar.png";
	this.emptyStar	=	picPath + "emptystar.png";
	this.halfStar	=	picPath + "halfstar.png";
	this.coloredStar =	picPath + "coloredstar.png";

	if(this.div && this.hidden) {

		this.selected = parseFloat(this.hidden.value);
		var imageSrc;
		for(var i = 0; i<this.starCount; ++i) {
			if( (i < this.selected && i+1 <= this.selected) || (i+1 == this.selected )) {
				imageSrc = this.fullStar;
			}
			else if(i < this.selected && i+1 > this.selected) {
				imageSrc = this.halfStar;
			}
			else {
				imageSrc = this.emptyStar;
			}
			this.div.innerHTML += '<img onClick="object_' + hiddenId + '.Click(' + (i+1) +');" onMouseOver="object_' + hiddenId + '.MouseOver(event);" onMouseOut="object_' + hiddenId + '.MouseOut();" style="border: 0px;" id="' + hiddenId +  '_star' + i + '" src="' + imageSrc +  '" alt="' + (i+1) + '"></a>';
		}


	}
	else {
		alert("Rating: Div element not found : " + hiddenId);
	}

	this.Click = Click;
	this.MouseOver = MouseOver;
	this.MouseOut = MouseOut;
	this.getEventSource = getEventSource;

	function getEventSource(event) {
		if(event) {
			if(event.srcElement) {
				return event.srcElement;
			}
			else if(event.target) {
				return event.target;
			}
			else {
				alert("Rating: There is no Target of Event");
			}
		}
		else {
			alert("Rating: There is no Event Object");
		}
	}

	function Click(clicked) {
        this.selected = clicked;
		this.hidden.value = clicked;
        for(var i=0; i < this.starCount; ++i) {
			var element = document.getElementById(this.hidden.name + '_star'+ i);
			if(element) {
				if(i < this.selected) {
					element.src = this.fullStar;
				}
				else {
					element.src = this.emptyStar;
				}
			}
			else {
				alert("Stars Not Found: " + this.hidden.name + '_star'+ i)
			}
		}
        
        var oOptions = {
            method: "post",
            parameters: {
        		"ajax": true,
                "rating": clicked,
                "_action": _action,
                "item_type": item_type,
                "item_id": item_id
            },
            onSuccess: function(transport){
                var myString = transport.responseText;
                var mySplitResult = myString.split(';');
                var a =  mySplitResult[0];
                var b =  mySplitResult[1];
                var votes = $('votes').value;
                if (transport.responseText == a) {
                    var response = transport.responseText;
                    numberConvert(response);
                    votes++;
                    $('WebshopProductRating').innerHTML = "<span class='WebshopProductRatingRead  productRating" + number + "'>(" + response + " pont az átlag, " + votes + " szavazatból)</span>";
                } else {
                   
                    numberConvert(b);
                    $('WebshopProductRating').innerHTML = "<span class='WebshopProductRatingRead  productRating" + number + "'>(" + b + " pont az átlag, " + votes + " szavazatból)</span>";
                }
            },
            onFailure: function (oXHR, oJson) {
                
            }
        };
        var oRequest = new Ajax.Request("test.php", oOptions);
	}
    function numberConvert(response) {
        number1 = (Math.floor(response) * 10);
        if (((response * 10) % 10) < 3) {
            number2 = 0;
        }
        else
            if (((response * 10) % 10) > 7) {
                number2 = 10;
            }
            else {
                number2 = 5;
            }
        number = (number1 + number2);
        return(number);        
    }

	function MouseOver(event) {
		var overPicture = this.getEventSource(event);
		var color = 1;
		for(i=0; i < this.starCount; ++i) {
			var element = document.getElementById(this.hidden.name + '_star'+ i);
			if(element) {
				if(  color == 1 ) {
					element.src = this.coloredStar;
				}
				else {
					element.src = this.emptyStar;
				}

				if(element == overPicture) {
					color = 0;
				}

			}
			else {
				alert("Stars Not Found: " + this.hidden.name + '_star'+ i)
			}
		}
	}

	function MouseOut() {
		for(i=0; i < this.starCount; ++i) {
			var element = document.getElementById(this.hidden.name + '_star'+ i);
			if(element) {
				if( (i < this.selected && i+1 <= this.selected) || (i+1 == this.selected )) {
					element.src = this.fullStar;
				}
				else if(i < this.selected && i+1 > this.selected) {
					element.src = this.halfStar;
				}
				else {
					element.src = this.emptyStar;
				}
			}
			else {
				alert("Stars Not Found: " + this.hidden.name + '_star'+ i)
			}
		}
	}

}
