
this.userreview = new userreview();

function userreview()
{

    var minimumThreshold = 20;

    function submitReviewFunction(textarea, movieid, parentid)
    {
        
        if (textarea.value.length < minimumThreshold)
        {
            alert("Your message must be at least " + minimumThreshold + " characters.");
        }
        else
        { 
            xmlHttp = getXmlHttpObject();
            xmlHttp.onreadystatechange = submitReviewCallback;
            xmlHttp.open("GET", BASE_URL + "webservices/userreview.asmx/SubmitReview?movieid=" + movieid + "&parentid=" + parentid + "&reviewtext=" + encodeURI(textarea.value) + "&siteguid=" + getCookie("__REELZ_ACCOUNT_ID"), true);
            xmlHttp.send(null);
        }
        
        return false;
	
    }
    
    function submitReviewCallback()
    {
    
        if (xmlHttp.readyState == 4)
        {
               
            if (xmlHttp.status == 200)
            {
               
                if (getReturnValue("string").length > 0)
                {
                  
                    document.getElementById("userReviewsList").innerHTML = getReturnValue("string");
                    document.documentElement.scrollTop = document.documentElement.scrollHeight;
                }
		
            }
               
        }
    
    }
    
    function hideDiv(div)
    {
        div.style.visibility = "hidden";
        div.style.display = "none";
    }
    
    function showDiv(div)
    {
        div.style.visibility = "visible";
        div.style.display = "block";
    }
    
    function showAndSubmitFunction(target, userreviewid, rating, logged, voteId, votedId, posId, negId, logId)
    {
        divVote = document.getElementById(voteId);
        divVoted = document.getElementById(votedId);
        divVotedPos = document.getElementById(posId);
        divVotedNeg = document.getElementById(negId);
        divLogged = document.getElementById(logId);
        
        hideDiv(divVote);
        hideDiv(divVoted);
        hideDiv(divVotedPos);
        hideDiv(divVotedNeg);
        hideDiv(divLogged);
        
        if (logged == "True") 
        {
            if (rating == "-1") 
            {
                showDiv(divVoted);
                showDiv(divVotedNeg);
            } 
            else if (rating == "0") 
            {
                showDiv(divVote);
            }
            else 
            {
                showDiv(divVoted);
                showDiv(divVotedPos);
            }
        
            return submitReviewRatingFunction(target, userreviewid, rating);
            return false;
        }
        else 
        {        
            showDiv(divLogged);
            return false;
        }
    }
    

    function submitReviewRatingFunction(target, userreviewid, rating)
    {
        xmlHttp = getXmlHttpObject();
        xmlHttp.onreadystatechange = function() { submitReviewRatingCallback(target); };
        xmlHttp.open("GET", BASE_URL + "webservices/userreview.asmx/SubmitReviewRating?rating=" + rating + "&userreviewid=" + userreviewid + "&siteguid=" + getCookie("__REELZ_ACCOUNT_ID"), true);
        xmlHttp.send(null);
        return false;
    	
    }
    
    function submitReviewRatingCallback(target)
    {
        if (xmlHttp.readyState == 4)
        {
               
            if (xmlHttp.status == 200)
            {
               
               var rating = getReturnValue("int");
                
                //if (target.innerHTML == (rating > 0 ? "+" + rating : rating))
                    //alert("You have already rated this review.");
               // else
              
               target.innerHTML = (rating > 0 ? "+" + rating : rating);
		
            }
               
        }

    }
    
    this.submitReview = submitReviewFunction;
    this.submitReviewRating = submitReviewRatingFunction;
    this.showAndSubmit = showAndSubmitFunction;
}

