/************************************/
/*      Libreria per "Ratings"      */
/*   5 Maggio 2009 -> Versione 1.1  */
/*   8 Giugno 2009 -> Versione 1.2  */
/************************************/

/*
Versione 1.1 {
              - Release principale.
             }
Versione 1.2 {
              - Sistemata la documentazione
              - Effettuato bugfixing su chiamata AJAX
              - Effettuato bugfixing sul file PHP
              - Aggiunto HTML per la pagina WEB
              }
*/


/*Funzione VoteBasic -> Ha solo la votazione, nessun caricamento delle stelle in base al voto del topic*/
/* PARAMETRI
_vote: Voto
_action: Vota|Caricamento -> Vota azione standard, Caricamento da usare solo in modalit� avanzata
_Id: Id del post
*/

function VoteBasic(_vote,_action, _Id)
{
 //alert(_vote+"---"+_action+"---"+_Id);
 var voto = _vote;
  new Ajax.Request('js/RatingsLibRC1/Ratings.php',
   {
    method: 'get',
    parameters: {action: _action, Id: _Id, voto: _vote},
    onSuccess: function(transport){
    var response = transport.responseText || "no response text";
    //alert(response);
    document.getElementById('area_voti').innerHTML = "Grazie per aver votato!";
    document.getElementById('valuta_title').innerHTML ="";
  },
  onFailure: function () { alert('L\'area riservata non e\' al momento disponibile') }
  });
}

/* Funzione VoteAdvanced -> Ha votazione e caricamento delle stelline in base al voto del post nell'onload della pagina*/
/* Attributo da inserire nel body della pagina: onLoad="VoteAdvanced('0','caricamento','$Id'); */

function VoteAdvanced(_vote,_action,_Id)
{
 var voto = _vote;
 if(_action.match('caricamento'))
 {
  new Ajax.Request('js/RatingsLibRC1/Ratings.php',
  {
   method: 'get',
   parameters: {action: _action, Id: _Id, voto: _vote},
   onSuccess: function(transport){
   var response = transport.responseText || "no response text";
   //alert(response);
   var buffer = response.split('|');
   var vote = buffer[0].split('.');
   var html="";
   var j=0;
   for(var i=1; i<=vote[0];i++)
   {
    j++;
    html += "<img id='"+j+"_star' src=\"/images/ratings/rating_on.png\" onClick=\"VoteAdvanced("+j+",'vota','"+buffer[1]+"');\" onmouseover=\"ChangeStarAdvanced("+j+");\" onmouseout=\"VoteAdvanced("+buffer[0]+",'caricamento',"+ buffer[1]+");\">";
   }
   /*alert(i+" I ");
   alert(j+" J ");
   alert(vote[1]);*/
   if(vote[1]!=0)
   {
   /*alert("In IF 2");
   alert(i);*/
    j++;
    html += "<img id='"+j+"_star' src=\"/images/ratings/rating_half.png\" onClick=\"VoteAdvanced("+j+",'vota','"+buffer[1]+"');\" onmouseover=\"ChangeStarAdvanced("+j+");\" onmouseout=\"VoteAdvanced("+buffer[0]+",'caricamento',"+ buffer[1]+");\">";
   }
   //alert(i);
   var remainings = 5 - j;
   //alert(remainings);
   if(remainings>0){
   for (var t=1; t<=remainings;t++)
   {
    j++;
    html += "<img id='"+j+"_star' src=\"/images/ratings/rating_off.png\" onClick=\"VoteAdvanced("+j+",'vota','"+buffer[1]+"');\" onmouseover=\"ChangeStarAdvanced("+j+");\" onmouseout=\"VoteAdvanced("+buffer[0]+",'caricamento',"+ buffer[1]+");\">";
   }
   }
   //alert(html + "html");
   document.getElementById('area_voti').innerHTML = html;
   return false;
   },
  onFailure: function () { alert('L\'area riservata non e\' al momento disponibile') }
  });
 } else {
 var voto = _vote;
  new Ajax.Request('js/RatingsLibRC1/Ratings.php',
   {
    method: 'get',
    parameters: {action: _action, Id: _Id, voto: _vote},
    onSuccess: function(transport){
    var response = transport.responseText || "no response text";
    //alert(response);
    var params = response.split('|');
    VoteFinal(params[0],params[1]);
    document.getElementById('message').innerHTML = "Grazie per aver votato!";
    return false;
  },
  onFailure: function () { alert('L\'area riservata non e\' al momento disponibile') }
  });
 }
}

function ChangeStar(Id)
{
 for(var i=1; i<=Id;i++)
 {
  document.getElementById(i+'_star').src = "/images/ratings/rating_on.png";
 }
}

function ChangeStarAdvanced(Id)
{
 for(var i=1; i<=5; i++)
 {
  document.getElementById(i+'_star').src = "/images/ratings/rating_off.png";
 }

 for(var i=1; i<=Id;i++)
 {
  document.getElementById(i+'_star').src = "/images/ratings/rating_on.png";
 }
}

function ResetStar(Id)
{
 for(var i=1; i<=Id;i++)
 {
  document.getElementById(i+'_star').src = "/images/ratings/rating_off.png";
 }
}

function ResetStarAdvanced(Id)
{
 for(var i=1; i<=5; i++)
 {
  document.getElementById(i+'_star').src = "/images/ratings/rating_off.png";
 }
}

function VoteFinal(vote,Id){

   var voto = vote.split('.');
   //alert(voto[0] +"-----"+voto[1]);
   var html="";
   var j=0;
   for(var i=1; i<=voto[0];i++)
   {
   j++;
    html += "<img id='"+i+"_star' src=\"/images/ratings/rating_on.png\">";
    //alert(i);
   }
   /*alert(i);
   alert(j);
   alert(vote[1]);*/
   if(voto[1])
   {
   /*alert("In IF 2");
   alert(i);*/
    j++;
    html += "<img id='"+i+"_star' src=\"/images/ratings/rating_half.png\" >";
   }
   //alert(i);
   var remainings = 5 - j;
   //alert(remainings);
   if(remainings>0){
   for (var j=1; j<=remainings;j++)
   {
    html += "<img id='"+i+"_star' src=\"/images/ratings/rating_off.png\">";
   }
   }
   //alert(html + "html");
   document.getElementById('message').innerHTML = "Grazie per aver votato!";
   document.getElementById('area_voti').innerHTML = html;
   return false;
}

/*DIV da inserire nella pagina WEB

<div id="area_voti">
<?
for($i=1;$i<=5;$i++){?>
<img src="js/RatingsLibRC1/rating_off.gif" id="<? echo $i; ?>_star" height="13" width="13" border="0" onclick="VoteBasic('<? echo $i; ?>','vota','<? echo $id ?>');" onmouseover="ChangeStar('<? echo $i; ?>');" onmouseout="ResetStar('<? echo $i; ?>');">
<?}?>
</div>

*/

