		function showInstruction( div_id ){
			eval( 'mouseover_on_'+div_id + '= true' );
			positions = Position.cumulativeOffset($(div_id));
			$(div_id).getElementsBySelector('div')[0].setStyle({left:positions[0]+'px', top:positions[1]+20+'px'});
			new Effect.Appear($(div_id).getElementsBySelector('div')[0].id, { duration: 0.3 });
		}
		function hideInstruction(div_id){
			if( ! eval( 'mouseover_on_'+div_id) ) new Effect.Fade( div_id + 'instruction', { duration: 0.3 });
		}
				
		function updateStars( div_id, rating ){
			showInstruction(div_id);
			colorStars( div_id, rating, 'red' );
		}

		function resetStars( div_id, rating ){

			if( eval( 'rating_on_'+div_id + '==0' ) ) {	
				colorStars( div_id, 5, 'outline' );
				colorStars( div_id, rating, 'yellow');
			} else {
				colorStars( div_id, 5, 'outline' );
				eval('colorStars( \''+div_id+'\', rating_on_'+div_id + ', \'red\')');				
			}
			eval( 'mouseover_on_'+div_id + '= false' );
			setTimeout( 'hideInstruction(\''+div_id+ '\');', 200 );

		}
		
		function initStars( div_id, rating ){
			eval( 'rating_on_'+div_id + '=0' );		

			$(div_id).getElementsBySelector('div')[0].id = div_id + 'instruction';
			// alert($(div_id).getElementsBySelector('div')[0].id)
			if( rating > 0 ) colorStars( div_id, rating, 'yellow');
		}
		
		function colorStars( div_id, rating, color ){
			if( color=='yellow'){
				// yellow
				offset = "-16px 0px";
			} else if( color=='red') {
				// red
				offset = "-32px 0px";
			} else {
				// outline
				offset = "0px 0px";
			}
			for( var i = 0; i < rating; i++ ){
				$(div_id).getElementsBySelector('li')[i].style.backgroundPosition = offset;
			}
		}
		
		function rateStars( div_id, movie, rating ){
			eval( 'rating_on_'+div_id + '= ' + rating );		
			var k = new Ajax.Request('hello.php?action=rate&movie=' + movie + '&rating='+rating , { asynchronous:true });
			new Effect.Fade(div_id + 'instruction', { duration: 0.3 });
			colorStars( div_id, 5, 'outline' );
			colorStars( div_id, rating, 'red' );
			setTimeout( 'colorStars("' + div_id + '","'+rating+ '", "yellow");', 200 );
			setTimeout( 'colorStars("' + div_id + '","'+rating+ '", "outline");', 300 );
			setTimeout( 'colorStars("' + div_id + '","'+rating+ '", "yellow");', 400 );
			setTimeout( 'colorStars("' + div_id + '","'+rating+ '", "outline");', 600 );
			setTimeout( 'colorStars("' + div_id + '","'+rating+ '", "yellow");', 700 );
			setTimeout( 'colorStars("' + div_id + '","'+rating+ '", "outline");', 900 );
			setTimeout( 'colorStars("' + div_id + '","'+rating+ '", "yellow");', 1000 );
			setTimeout( 'colorStars("' + div_id + '","'+rating+ '", "outline");', 1200 );
			setTimeout( 'colorStars("' + div_id + '","'+rating+ '", "red");', 1400 );
			
		}
