// JavaScript Document
function validate()
{

	if (document.GB.name.value == "")
	{
		alert ("Please enter your Name");
		document.GB.name.focus();
		return false;
	}
	if (chkwhitespace('name')==false)
	{
		alert("Please Do not use only Spaces in Name");
		document.GB.name.value="";
		document.GB.name.focus();
		return false;
	}
	if (emailCheck(document.GB.email.value) == false)
	{
		document.GB.email.focus();
		return false;
	}	 
	
	if (document.GB.comments.value == "")
	{
		alert ("Please enter your Commments");
		document.GB.comments.focus();
		return false;
	}
	if (chkwhitespace('comments')==false)
	{
		alert("Please Do not use only Spaces in Comments");
		document.GB.comments.value="";
		document.GB.comments.focus();
		return false;
	}
	
	return true;
}

//email validateion 
function emailCheck (emailStr) {
var emailPat=/^(.+)@(.+)$/;
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
var validChars="\[^\\s" + specialChars + "\]";
var quotedUser="(\"[^\"]*\")";
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
var atom=validChars + '+';
var word="(" + atom + "|" + quotedUser + ")";
var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");

var matchArray=emailStr.match(emailPat)
if (matchArray==null) {
	alert("Please check your Email address (@ and .'s)");
	return false;
}
var user=matchArray[1];
var domain=matchArray[2];

if (user.match(userPat)==null) {
    alert("The username doesn't seem to be valid.");
    return false;
}
var IPArray=domain.match(ipDomainPat);
if (IPArray!=null) {
	  for (var i=1;i<=4;i++) {
	    if (IPArray[i]>255) {
	        alert("Destination IP address is invalid!");
		return false;
	    }
    }
    return true;
}

var domainArray=domain.match(domainPat);
if (domainArray==null) {
	alert("The domain name doesn't seem to be valid.");
    return false;
}
var atomPat=new RegExp(atom,"g");
var domArr=domain.match(atomPat);
var len=domArr.length;
if (domArr[domArr.length-1].length<2 || 
    domArr[domArr.length-1].length>3) {
   alert("The email address must end in a three-letter domain, or two letter country.");
   return false;
}

if (len<2) {
   var errStr="This address is missing a hostname!";
   alert(errStr);
   return false;
}
return true;
}

//validation to chceck for whitespaces
var whitespace = " \t\n\r";
function chkwhitespace(x)
{
	cspace(x);
	return (w);
}
function cspace(x)
{
w=false;
var s,i;
s=document.GB[x].value;
var chkname="";
if ((s == null) || (s.length == 0)){w=false;}
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);         
        if (whitespace.indexOf(c) == -1) {
			chkname=chkname+c;         
			w= true;}
        else{
			for(j=0;j<chkname.length;j++)
			{
				 if (whitespace.indexOf(chkname.charAt(j)) == -1) {w=true;}else{w=false;}
			}        
        }
    }
}
// end of whitespace validation