function validEmail(str)
{	var eAddr=trimString(str);
	if (eAddr == ""){return 1;}
	var goodchars="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_@.";
	for (var i=0; i < eAddr.length; i++){ if (goodchars.indexOf("" +eAddr.substring(i, i+1)) == -1)return 2;}
	
	var ndxAt = ndxDot = 0;
	ndxAt  = eAddr.indexOf("@");
	ndxDot = eAddr.lastIndexOf(".");
   
   if (eAddr.substring(ndxAt+1).indexOf("@") > 0)return 3;
   else if (eAddr.indexOf("..") > 0)	return 4;
   else if ((ndxDot < 0) || (ndxAt < 0))return 5;
   else if (ndxDot <= (ndxAt+1))      	return 6;
   else if (eAddr.charAt(ndxAt+1)=="."||eAddr.charAt(ndxAt-1)==".") return 7;
   else if (eAddr.length <= (ndxDot+2) )return 8;
   return 0;                       
} 
function emailError(num){
	switch(num){
	case 1: return "Please enter a Email Address"
	case 2: return "Please enter a valid Email Address"
	case 3: return "Email Contain more this one @ sign."
	case 4: return "Email Address contains double periods (..)"
	case 5: return "Email Address is missing an @ or."
	case 6: return "Email address has the wrong syntax."
	case 7: return "Email address has the wrong syntax."
	case 8: return "Email address is missing a suffix."
	}
}
function validURL(str)
{	var goodchars1="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_.";
	var goodchars2="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_./?=&~:{}%;";
	var name=trimString(str);
  if(name.substring(0,7)!="http://")return 6;
  qpos=name.indexOf("?")
  if(qpos>=0)for (var i=7; i < qpos       ; i++){if (goodchars2.indexOf(""+name.charAt(i)) == -1)return 1;}
  else       for (var i=7; i < name.length; i++){if (goodchars1.indexOf(""+name.charAt(i)) == -1)return 1;}
  
  if (name.indexOf(".") >=0){
		if (name.charAt(0)=='.') return 2;
		if (name.indexOf("..") >=0)	return 3;
		if (name.length <= (name.lastIndexOf(".")+1) )return 4;
		if (name.length <= (name.lastIndexOf(".")+2) )return 5;
	}
	return 0;	
}
function urlError(num){
	switch(num){
	case 1: return " contain invalid characters."
	case 2: return " is not a valid URL. Cannot start with a period."
	case 3: return " is not a valid URL. It contains double periods (..)"
	case 4: return " is not a valid URL. It cannot end in a period."
	case 5: return " is not a valid URL. It is missing a suffix."
	case 6: return " must start with http://"
	}
}
function trimString(str){
	if(str=="")return "";
	var i=0;
	var len=str.length-1;
	while(str.charAt(i)==' ' && i<len)i++;
	while(str.charAt(len)==' ' && len>i)len--;
	if(i>len)return "";
	return str.substring(i,len+1);
}

function validName(name)
{	var badchars="/<>;:@#$%^&*(),'!+=\?~`|[]{}";
	var goodchars="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_";
	for (var i=0; i < name.length; i++){if (goodchars.indexOf(""+name.substring(i, i+1)) == -1)return false;}
	return true;	
}	
