...ish.
if(text == null || text==""){
[font=monospace]text[/font] is an integer; you should really say what you mean and check if [font=monospace]text === 0[/font].
More importantly, an empty [font=monospace]reviewContent[/font] string would produce an array with a length of 1, and one that consists solely of a bunch of spaces would produce an array of length 2.
[font=monospace]reviewContent[/font] should be trimmed first, and checked to see if it is an empty string before continuing with the word count checks.
var reviewContent = document.getElementById("reviewContent").value.trim();
if(reviewContent === "") { /* empty review */}
else
{
wordcount = reviewContent.split(/\s+/).length;
//etc......
}
Another thing I've noticed:
return error.innerHTML = "Review must be at least fifty words";
return false;
The first [font=monospace]return[/font] probably shouldn't be there (and likewise in the other blocks). You'll be having the function returning error message, and not the true/false you're trying to return on the next line (which will never be reached).