var NUMBER_OF_STARS = 10;

function init_rating(id) {

    this._setStarSrc = {
        empty:'/images/stars/rating_off.gif',
        over: '/images/stars/rating_over.gif',  
        full: '/images/stars/rating_on.gif',
        half: '/images/stars/rating_half.gif'
    };

       for (var x in this._setStarSrc) {
            var y = new Image();
            y.src = this._setStarSrc[x];
        }
        
    
    
    
    var ratings = document.getElementsByTagName('div');
    for (var i = 0; i < ratings.length; i++)
    {
    	
        if (ratings[i].className != 'rating')
            continue;
    
        var rating = ratings[i].firstChild.nodeValue;
        //alert(rating);
        ratings[i].removeChild(ratings[i].firstChild);
        if (rating > NUMBER_OF_STARS || rating < 0)
            continue;
        for (var j = 0; j < NUMBER_OF_STARS; j++)
        {
            var star = document.createElement('img');
            if (rating >= 0.75)
            {
                var jj = this._setStarSrc.full;
                star.className = 'on';
                star.setAttribute('title', getSlogedRating(j+1));
				if (ratings[i].title == 'user') {
				    jj = '/images/stars/rating_green.gif';
					star.className = 'green';
					}
				if (ratings[i].title == 'profile') {
				    jj = '/images/stars/rating_user.gif';
					star.className = 'blue';
					}
				
				
                star.setAttribute('src', jj);
                rating--;
            }
            else if(rating < 0.75 && rating >0.25) 
            {
                star.setAttribute('src', this._setStarSrc.half);
                star.className = 'half';
                rating = 0;
            }
            else
            {
                star.setAttribute('src', this._setStarSrc.empty);
                star.className = 'off';
            }
            var widgetId = ratings[i].getAttribute('id').substr(7);
            star.setAttribute('id', 'star_' + widgetId + '_' + j);
            if (ratings[i].title != 'locked'  && ratings[i].title != 'profile') {
            star.onmouseover = new Function("evt", "displayHover("+widgetId+", "+j+");");
            star.onmouseout = new Function("evt", "displayNormal("+widgetId+", "+j+");");
            }
            ratings[i].appendChild(star);
            
			
        } 
    }
}

function getSlogedRating(rat) {
	switch(rat)
	{
	case 1:
	  return "one";
	  break;
	case 2:
	  return "two";
	  break;
	case 3:
		  return "three";
		  break;
	case 4:
		  return "four";
		  break;
	case 5:
		  return "five";
		  break;
	case 6:
		  return "six";
		  break;
	case 7:
		  return "seven";
		  break;
	case 8:
		  return "eight";
		  break;
	case 9:
		  return "nine";
		  break;
	case 10:
		  return "ten";
		  break;
		  
	default:
	  return "";
	}
}

function displayHover(ratingId, star)
{
   
    for (var i = 0; i <= star; i++)
    {
        document.getElementById('star_' + ratingId + '_' + i).setAttribute('src', this._setStarSrc.over);
    }
  
}

function displayNormal(ratingId, star)
{
    for (var i = 0; i <= star; i++)
    {
    	var status = $('#star_'+ratingId+'_'+i).attr("class");
    	$('#star_'+ratingId+'_'+i).attr('src', '/images/stars/rating_' + status + '.gif');
    }
}



function submitRating(evt) {
    var tmp = evt.target.getAttribute('id').substr(5);
    //var act = evt.target.parentNode.getAttribute('act');
    //var col = evt.target.parentNode.getAttribute('title');

    var widgetId = tmp.substr(0, tmp.indexOf('_'));
    var starNbr = tmp.substr(tmp.indexOf('_') + 1);
    starNbr++;
    
    $("#rating_" + widgetId).html('');
    

	var date = new Date();

    $.post('/ajaxRemote?timestamp=' + date.getTime(), { ratingID: widgetId, value: starNbr, action: 'rateMovie' },
       function(data) {
           var k = data.substr(0, 1);
           //alert(k);
           var v = widgetId;
           //alert(widgetId);
           if (k == 2) alert("You need to be logedin for voting!");
           if (k == 1) {


              

               var rating = starNbr;


               for (var j = 0; j < NUMBER_OF_STARS; j++) {
                   var star = document.createElement('img');
                   if (rating >= 0.75) {

                       jj = '/images/stars/rating_green.gif';
                       star.className = 'green';

                       star.setAttribute('src', jj);
                       rating--;
                   }

                   else {
                       star.setAttribute('src', '/images/stars/rating_off.gif');
                       star.className = 'off';
                   }

                   star.setAttribute('id', 'star_' + v + '_' + j);
                   
                  
                   
                   star.onmouseover = new Function("evt", "displayHover(" + v + ", " + j + ");");
                   star.onmouseout = new Function("evt", "displayNormal(" + v + ", " + j + ");");
                   $("#rating_" + v).append(star);
                  // $("#rating_" + v + " img").bind('click', submitRating);
                   
               }
           }
       }
   );
}

