var NUMBER_OF_STARS = 10;

function ValidExistingCourriel(el) {
  
  var value = el.value;

 
  if (ValidField('exist', 'mailing', 'COURRIEL', value) == false) {
 
    el.errors.push("Ce courriel exist déjà");
    return false;
  } else {   
    return true;
  }
  
}

function Inscription() {

  var req = new Request({
			method: 'get',
			async: false,
			url:'index.php/app/inscription/',
			onComplete: function(response) { 
			  $('form-login').innerHTML = response;
			}
		}).send();
		
  new FormCheck('form-sign-up', {
  
      submitByAjax: true,
      display: {errorsLocation : 1, indicateErrors : 2, showErrors: 1, keepFocusOnError: 1, addClassErrorToField: 1},
      
      onAjaxSuccess: function(responseText, responseXML) {
      
        document.getElementById('form-login').innerHTML = responseText;
        
      },
      onAjaxFailure:  function(responseText, responseXML) {
        
        document.getElementById('form-login').innerHTML = 'Une erreur s\'est produite.';
        
      }
      
    });  
		
}


function Participants(categorie) {

	var req = new Request({
			method: 'get',
			url:'index.php/app/participants/' + categorie,
			onComplete: function(response) { 
			  $('participants').innerHTML = response;
			}
		}).send();
}


function displayHover(ratingId, star)
{
    for (var i = 0; i <= star; i++)
    {
        var starElement = document.getElementById('star_'+ratingId+'_'+i)
        starElement.setAttribute('src', './images/stars/rating_over.gif');
    }
}

function displayNormal(ratingId, star)
{
    for (var i = 0; i <= star; i++)
    {
        var status = document.getElementById('star_'+ratingId+'_'+i).className;
        var starElement = document.getElementById('star_'+ratingId+'_'+i);
        starElement.setAttribute('src', './images/stars/rating_'+status+'.gif');
    }
}

function submitRating(evt)
{
    var tmp = new Event(evt).target.getAttribute('id').substr(5);
    var widgetid = tmp.substr(0, tmp.indexOf('_'));
    var starnbr = tmp.substr(tmp.indexOf('_')+1);
    
    starnbr = parseInt(starnbr);
    starnbr = starnbr + 1; 
    
    var myAjax = new Request({
          url:'index.php/rating/addrating/' + widgetid + '/' + starnbr, 
          method: 'get',
          onComplete: function(result)
          {   
            SetNewRate(widgetid, result);   
            //alert('Merci d\'avoir donné votre appréciation! Vous pouvez rafraichir la page pour voir le résultat.');   
          }
        }).send();
}


function LoadRating() {

  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;
    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 >= 1)
        {
            star.setAttribute('src', './images/stars/rating_on.gif');
            star.className = 'on';
            rating--;
        }
        else if(rating == 0.5)
        {
            star.setAttribute('src', './images/stars/rating_half.gif');
            star.className = 'half';
            rating = 0;
        }
        else
        {
            star.setAttribute('src', './images/stars/rating_off.gif');
            star.className = 'off';
        }
        var widgetId = ratings[i].getAttribute('id').substr(7);
        star.setAttribute('id', 'star_'+widgetId+'_'+j);
        star.onmouseover = new Function("evt", "displayHover("+widgetId+", "+j+");");
        star.onmouseout = new Function("evt", "displayNormal("+widgetId+", "+j+");");
        ratings[i].appendChild(star);
        
        $$(".rating").getChildren().each(function(star) {
          star.addEvent('click', submitRating);
        });
      } 
   
  }
}

function SetNewRate(widgetid, rating) {

  $('rating_' + widgetid).innerHTML = '';

  for (var j = 0; j < NUMBER_OF_STARS; j++)
  {
    var star = document.createElement('img');
    if (rating >= 1)
    {
        star.setAttribute('src', './images/stars/rating_on.gif');
        star.className = 'on';
        rating--;
    }
    else if(rating == 0.5)
    {
        star.setAttribute('src', './images/stars/rating_half.gif');
        star.className = 'half';
        rating = 0;
    }
    else
    {
        star.setAttribute('src', './images/stars/rating_off.gif');
        star.className = 'off';
    }
    
     $('rating_' + widgetid).appendChild(star);
  }
  
}

