﻿function sendRatingRequest(submissionID, rating) 
{
    var ratingHidden = document.getElementById("rating" + submissionID);
    var originalRating = ratingHidden.value
    ratingHidden.value = rating;
    
    var sBody = "submissionID=" + submissionID + "&rating=" + rating;

    var oXmlHttp = zXmlHttp.createRequest();
    oXmlHttp.open("post", "saveRating.asp", true);
    oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    
    oXmlHttp.onreadystatechange = function () 
    {
        if (oXmlHttp.readyState == 4) 
        {
            if (oXmlHttp.status == 200) 
            {
                saveRatingResult(oXmlHttp.responseText);
            } 
            else 
            {
                saveRatingResult("An error occurred: " + oXmlHttp.statusText);
                ratingReset(submissionID, originalRating);
                
            }
        }            
    };
    
    oXmlHttp.send(sBody);        
}

function saveRatingResult(sMessage) 
{
    if (sMessage.indexOf("&") > 0)
    {
        var returnedValues = sMessage.split('&');
        
        if (returnedValues.length == 2)
        {
            var submissionID = returnedValues[0];
            var rating = returnedValues[1];
            
            ratingReset(submissionID, rating); 
        }
    }
    else
    {
        alert(sMessage);            
    }   
}

function ratingHover(ratingInput, submissionID)
{
    var ratingInputs = document.getElementsByName("rate" + submissionID);
    var path = new String();
    
    for(var i=0; i < ratingInputs.length; i++)
    {
        path = new String(ratingInputs[i].src);
        if (ratingInputs[i].value <= ratingInput.value)
        {
            ratingInputs[i].src = path.replace("Empty", "Filled");
        }
        else
        {
            ratingInputs[i].src = path.replace("Filled", "Empty");
        }
    }
}

function ratingUnhover(ratingInput, submissionID)
{
    var ratingHidden = document.getElementById("rating" + submissionID);
    
    ratingReset(submissionID, ratingHidden.value);
}

function ratingReset(submissionID, rating)
{
    var ratingInputs = document.getElementsByName("rate" + submissionID);
    var path = new String();
    
    for(var i=0; i < ratingInputs.length; i++)
    {
        path = new String(ratingInputs[i].src);
        if (ratingInputs[i].value <= rating)
        {
            ratingInputs[i].src = path.replace("Empty", "Filled");
        }
        else
        {
            ratingInputs[i].src = path.replace("Filled", "Empty");
        }
    }
}
