/*
Independent ratings for multiple objects.
Copyright Catalin Trandafir 5/18/2006
catalin.trandafir@softpedia.com

Example: 
	
<script language="JavaScript" src="ratings.js"></script>
<script language="JavaScript">
	maxRatings['starsArray']										= 5;
	calificative['starsArray']										= new Array('&nbsp', 'o stea', 'doua stele', 'trei stele', 'patru stele', 'cinci stele');
	ratingsImages['starsArray']									= new Array;
	ratingsImages['starsArray']['ratingImage']			= 'img/star.gif';
	ratingsImages['starsArray']['ratingImagePale']		= 'img/star_pale.gif';
	ratingsImages['starsArray']['ratingImageEmpty']	= 'img/star_empty.gif';
	
	drawRatings( "starsArray", 3, "nfo[stars]" )
</script>
<input type="hidden" name="nfo[stars]" value="3" id="nfo[stars]" />
*/

var calificativ			= new Array;
var ratingsImages	= new Array;
var calificative		= new Array;
var maxRatings		= new Array;
var clickableRat		= true;

function drawRatings( arrayName, rating, hiddenField )
{			
	setImages( arrayName );
	document.write('<div id="calificativ_' + hiddenField + '">' + calificativ[rating] + '</div>');
	document.write('<span onmouseout="reSetRating( \'' + arrayName + '\', \'' + hiddenField + '\' );this.style.color=\'black\';" onmouseover="this.style.color=\'red\';">');	
	for ( i=1; i<=rating ; i++)
	{
		thisRating = ratingImage;
		if (clickableRat)
			document.write('<a href="javascript: setRating( \'' + arrayName + '\', ' + i + ', \'' + hiddenField + '\' );"><img onMouseOver="tempSetRating( \'' + arrayName + '\', ' + i + ', \'' + hiddenField + '\' );"  id="' + arrayName + '[' + i + ']" src="' + thisRating + '" alt="Rating: ' + rating + '" width="16" height="16" border="0" /></a>');
		else
			document.write('<img id="' + arrayName + '[' + i + ']" src="' + thisRating + '" alt="Rating: ' + rating + '" width="16" height="16" border="0" />');
		
	}
	for ( i=rating+1; i<=maxRating ; i++)
	{
		if (clickableRat)
			document.write('<a href="javascript: setRating( \'' + arrayName + '\', ' + i + ', \'' + hiddenField + '\' );"><img onMouseOver="tempSetRating( \'' + arrayName + '\', ' + i + ', \'' + hiddenField + '\' );" id="' + arrayName + '[' + i + ']" src="' + ratingImageEmpty + '" alt="Rating: ' + rating + '" width="16" height="16" border="0" /></a>');
		else
			document.write('<img id="' + arrayName + '[' + i + ']" src="' + ratingImageEmpty + '" alt="Rating: ' + rating + '" width="16" height="16" border="0" />');
	}
	document.write('</span>');
}

function tempSetRating( arrayName, rating, hiddenField, show )
{		
	setImages( arrayName );
	for ( i=rating; i<=maxRating ; i++)
	{			
		id = "'" + arrayName + "[" + i + "]'";
		imag = document.getElementById(eval(id));
		if (imag)
		{
			imag.src = ratingImageEmpty;		
			imag.alt = 'Set rating: ' + i;
		}
	}
	for ( i=1; i<=rating ; i++)
	{			
		id = "'" + arrayName + "[" + i + "]'";
		imag = document.getElementById(eval(id));
		imag.src = ratingImagePale;			
		imag.alt = 'Set rating: ' + i;
	}
	document.getElementById("calificativ_" + hiddenField).innerHTML = calificativ[rating];

}

function reSetRating( arrayName,  hiddenField )
{		
	setImages( arrayName );
	rating = document.getElementById(hiddenField).value;		
	document.getElementById("calificativ_" + hiddenField).innerHTML = calificativ[rating];
	
	for ( i=rating; i<=maxRating ; i++)
	{						
		id = "'" + arrayName + "[" + i + "]'";
		imag = document.getElementById(eval(id));
		if (imag) imag.src = ratingImageEmpty;					
	}
	for ( i=0; i<=rating ; i++)
	{			
		id = "'" + arrayName + "[" + i + "]'";
		imag = document.getElementById(eval(id));
		if (imag) imag.src = ratingImage;			
	}
}

function setImages( arrayName )
{
	ratingImage			= ratingsImages[arrayName]['ratingImage'];
	ratingImagePale		= ratingsImages[arrayName]['ratingImagePale'];
	ratingImageEmpty = ratingsImages[arrayName]['ratingImageEmpty'];
	calificativ = calificative[arrayName];
	maxRating = maxRatings[arrayName];
}

function setRating( arrayName, rating, hiddenField )
{
	tempSetRating( arrayName, rating, hiddenField );
	document.getElementById(hiddenField).value = rating;
			document.getElementById("rateForm").submit();
}
