// JavaScript Document
function ValidateForm() {
	var retVal =  true; 

	var fname = document.freecase.fname.value;
	var lname = document.freecase.lname.value;
	var email = document.freecase.email.value;
	var phone = document.freecase.phone.value;

	if(!checkAlphaChar(fname)) {
		alert("Enter valid first name");
		document.freecase.fname.focus();
		return false;
	}
	if(!checkAlphaChar(lname)) {
		alert("Enter valid last name");
		document.freecase.lname.focus();
		return false;
	}
	if(!checkemail(email) || !checkBlanks(email)) {
		alert("Enter valid email");
		document.freecase.email.focus();
		return false;
	}
	if(phone.length<10) {
		alert("Enter valid phone");
		document.freecase.phone.focus();
		return false;
	}
	return true;
}

/*Function allowed only to enter numbers
onkeypress="return numbersonly(event, false);"
*/
function numbersonly(e, decimal) {
	var key;
	var keychar;
  
	 if (window.event) {
		key = window.event.keyCode;
	  }
	  else if (e) {
		 key = e.which;
	  }
	  else {
		 return true;
	  }
	  
	  keychar = String.fromCharCode(key);
  
	  if ((key==null) || (key==0) || (key==8) ||  (key==9) || (key==13) || (key==27) ) {
		 return true;
	  }
	  else if ((("0123456789").indexOf(keychar) > -1)) {
		 return true;
	  }
	  else if (decimal && (keychar == ".")) { 
		return true;
	  }
	  else
		 return false;
}

/*Delete blanks from the words
  onblur="trim_text(this.value,'fieldname','formname');"*/
function trim_text(str,controlname,frm)
{
	str = str.replace(/^\s+|\s+$/g,'').replace(/\s+/g,' ');
	cname = eval("document.forms[frm]."+controlname);
	cname.value=str;
	return cname;
}

/*This function is checking the value is
- a url
- a special character
- or a blank
*/
function checkAlphaChar(strval) {
	var retVal = true;
	var strval = strval;
	myRegExp = new RegExp("^[A-Za-z]+://[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$", "i"); 
	if(myRegExp.test(strval)) {
		retVal = false;
	} else {
		myRegExp = new RegExp("^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$", "i"); 
		if(myRegExp.test(strval)) {
			retVal = false;
		}
	}
	/*Here checking the field contains only alpha characters*/
   if (!strval) return false;
   var iChars = "`~!@#$%^&*()_-+=|\{}[]:;'\",.<>?/1234567890";

   for (var i = 0; i < strval.length; i++) {
	  if (iChars.indexOf(strval.charAt(i)) != -1)
		 return false;
   }
   var count = 0;
   for (var i = 0; i < strval.length; i++) {
	   var newval = strval.charAt(i);
	   if(newval == ".")
		   count++;
		   
   }
   if(count >1) {
	  return false;
   }

	/*Checking the value is blank*/
	var len = strval.length ;
	var foundBlank = 1;
	while(foundBlank == 1 && len > 0) 
	{
		var indx = strval.indexOf(" ");
		if(indx == -1) 
			foundBlank = 0 ;
		else
			strval = strval.substring(0,indx) + strval.substring(indx+1,len);
		len = strval.length;
	}
	retVal = len;
	return retVal;
}

function checkSpecialChars(string) {

   if (!string) return false;
   var iChars = "*|\":<>[]{}`\;()@&$#%+=^";

   for (var i = 0; i < string.length; i++) {
	  if (iChars.indexOf(string.charAt(i)) != -1)
		 return false;
   }
   return true;
} 


function checkemail(email){
	var re = /^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i;
	var email = email.replace(/^\s+|\s+$/g,'').replace(/\s+/g,' ');

	if (!re.test(email)) {
		return false;
	}
	var domainarr = email.split("@");
	var tottaldot = domainarr[1].split(".");
	if(tottaldot.length>4) {
		return false;
	}
	return true;
}

function checkBlanks(entry)
{
	var len = entry.length ;
	var foundBlank = 1;
	while(foundBlank == 1 && len > 0) 
	{
		var indx = entry.indexOf(" ");
		if(indx == -1) 
			foundBlank = 0 ;
		else
			entry = entry.substring(0,indx) + entry.substring(indx+1,len);
		len = entry.length;
	}
	return entry;
}

//Function checking the maximum characters in a textarea
//onkeyup="return ismaxlength(this)"
function ismaxlength(obj){
	var mlength=250; 
	if (obj.getAttribute && obj.value.length>mlength)
	obj.value=obj.value.substring(0,mlength)
}
