// JavaScript Document
//* by Kardi Teknomo

function validateAll()
{
	var strData = document.forminput.commentator.value;
	var blnIsMissing=0;
	if(strData=='')
	{
		commentatorvalidationresult.style.display="";
		blnIsMissing=1;
	}
	else
	{
		commentatorvalidationresult.style.display="none";
	}
	
	var strData = document.forminput.email.value;
	if(strData=='')
	{
		emailvalidationresult.style.display="";
		blnIsMissing=1;
	}
	else
	{
		emailvalidationresult.style.display="none";
	}
	validateemail();
	validatecommenttext();
	
	var strData = document.forminput.title.value;
	if(strData=='')
	{
		titlevalidationresult.style.display="";
		blnIsMissing=1;
	}
	else
	{
		titlevalidationresult.style.display="none";
	}
	
	var strData = document.forminput.topic.value;
	if(strData=='')
	{
		topicvalidationresult.style.display="";
		blnIsMissing=1;
	}
	else
	{
		topicvalidationresult.style.display="none";
	}
	
	var strData = document.forminput.commenttext.value;
	if(strData=='')
	{
		commenttextvalidationresult.style.display="";
		blnIsMissing=1;
	}
	else
	{
		commenttextvalidationresult.style.display="none";
	}
	
	var strData = document.forminput.captchaText.value;
	var strCaptcha = generatedCaptcha.innerHTML;
	if(strData==''|strData.toUpperCase()!=strCaptcha.toUpperCase())
	{
		captchavalidationresult.style.display="";
		blnIsMissing=1;
	}
	else
	{
		captchavalidationresult.style.display="none";
	}
	
	if(blnIsMissing==0)
		return true;
	else
		return false;
}


function validateRating()
{
	var isRadioGroupChecked=false;
	for(var k=0; k<RadioGroup1.length; k++)
	{
		if(RadioGroup1[k].checked)
		{
			isRadioGroupChecked=true;
			break;
		}
	}
	if (isRadioGroupChecked)
	{
		ratingvalidationresult.style.display="none";
		return true;
	}
	else
	{
		ratingvalidationresult.style.display="";
		return false;
	}
}

function validatecommenttext()
{
	
	var strData = document.forminput.commenttext.value;
	// remove all trailing CrLf's
	strData = return2br(strData);
	document.forminput.commenttext.value=strData;
}

function validateemail() 
{
	var isAddMember = document.forminput.chkAddMember.checked;
	var isHideEmail = document.forminput.chkEmailPrivate.checked;
	if (isAddMember==true | isHideEmail==true)
	{
		// only validate email if either add member or need respond
		emailresponse.style.display="block";  // show email input
		var strData = document.forminput.email.value;
		if(emailregex(strData))
		{
			//alert("valid email");
			emailvalidationresult.style.display="none";
			return 0;
		}
		else
		{
			//alert("invalid email");
			emailvalidationresult.style.display="";
			return 1;
		}
	}
	else
	{
		emailresponse.style.display="none";  // hide email input if no need respond
		return 0;
	}
}

function emailregex(data) 
{
	// test correctness of email format
	return /^([\w]+)(\.[\w]+)*@([\w\-]+)(\.[\w]{2,7})(\.[a-z]{2})?$/i.test(data);
}

function return2br(dataStr) 
{
	// remove all CLRF
	return dataStr.replace(/(\r\n|\r|\n)/g, " ");
}

function previewComment()
{
	
	var inText=document.getElementById("commenttext").value;
	var inTopic=document.getElementById("topic").value;
	var inTitle=document.getElementById("title").value;
	var inCommentator=document.getElementById("commentator").value;
	var now = new Date();
	var inComment="Preview  of your comment:<br/><p class='comment'><div class='topic'>"+ inTopic + " > " +
			inTitle + "\t\t\t\t\t" +
			"(date: " + now.getFullYear() + "-" + now.getMonth() + "-" + now.getDate() + ")</div>" +
			"<div class='commentator'> By " + inCommentator  + "</div>" +
			"<div class='commenttext' left: 10 px;>" + inText + "</div>\t" +
			"<div class='rating'>" + "rate up: 0 rate down: 0 last rated date: 0 </div></p>"+
			"<div class='userreport'>Is this comment useful? yes no <br/>\t\t</div> <p class='comment'></p><br/>";
	var newComment=document.getElementById("previewBox");
	newComment.innerHTML="";
	newComment.innerHTML=inComment;
}

