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) {
		return false
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	if (user.match(userPat)==null) {
	    return false
	}
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		  for (var i=1;i<=4;i++) {
		    if (IPArray[i]>255) {
				return false
		    }
	    }
	    return true
	}
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		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>4) {
		return false
	}
	if (len<2) {
	   return false
	}
	return true;
}

function ltrim(s)
{
	return s.replace(/^\s*/,"")
}

function rtrim(s)
{
	return s.replace(/\s*$/,"");
}

function trim(s)
{
	return rtrim(ltrim(s));
}
function isDigit(c)
{   return ((c >= "0") && (c <= "9"))
}
function isEmpty(s)
{   
	s=trim(s);
	return ((s == null) || (s.length == 0))
}

function warnEmpty (theField, s)
{   
	theField.focus();
	alert("Please enter " +s);
	return false;
}


function checkEmpty (theField, s)
{
   if(isEmpty(theField.value)) return warnEmpty (theField, s);
   else return true;
}


function isWhitespace (s)

{   var i;

	var whitespace = " \t\n\r";
    // Is s empty?
    if (isEmpty(s)) return true;

    // Search through string's characters one by one
    // until we find a non-whitespace character.
    // When we do, return false; if we don't, return true.

    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);

        if (whitespace.indexOf(c) == -1) return false;
    }

    // All characters are whitespace.
    return true;
}
function isInteger (s)

{   var i;

    if (isEmpty(s)) 
       if (isInteger.arguments.length == 1) return defaultEmptyOK;
       else return (isInteger.arguments[1] == true);

    // Search through string's characters one by one
    // until we find a non-numeric character.
    // When we do, return false; if we don't, return true.

    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);

        if (!isDigit(c)) return false;
    }

    // All characters are numbers.
    return true;
}
function phoneValidation(area,firstdigits,lastdigits,fromPhone)
{
	
	if (area.value == null || area.value.length == 0)
	{
		alert("Please fill in your "+ fromPhone +" area code.");
		area.focus()
		return false;
	}
	else
	{
		if (area.value.length	< 3)
		{
			alert("Your  "+ fromPhone +" area code must be 3 digits.");
			area.focus();
			return false;
		}
		var PhoneArea = area.value;
		var FirstPhone = PhoneArea.substring(0, 1);
		if ((FirstPhone == 0) || (FirstPhone == 1))
		{
			alert("International area codes beginning with " + FirstPhone + " are not allowed.");
			area.focus();
			return false;
		}
		if (isInteger(area.value) == false){
			alert("No letters allowed in your "+ fromPhone +".");
			area.focus();
			return false;		
		}
	}
	if (firstdigits.value == null || firstdigits.value.length == 0)
	{
		alert("Please fill in your "+ fromPhone +" prefix.");
		firstdigits.focus()
		return false;
	}
	else
	{
		if (firstdigits.value.length	< 3)
		{
			alert("Your "+ fromPhone +" prefix must be 3 digits.");
			firstdigits.focus();
			return false;
		}
		
		if (isInteger(firstdigits.value) == false){
			alert("No letters allowed in your "+ fromPhone +".");
			firstdigits.focus();
			return false;		
		}
	}

	if (lastdigits.value == null || lastdigits.value.length == 0)
	{
		alert("Please fill in your "+ fromPhone +" suffix.");
		lastdigits.focus()
		return false;
	}

	else
	{
		if (lastdigits.value.length	< 4)
		{
			alert("Your "+ fromPhone +" suffix must be 4 digits.");
			lastdigits.focus();
			return false;
		}
		
		if (isInteger(lastdigits.value) == false){
			alert("No letters allowed in your "+ fromPhone +".");
			lastdigits.focus();
			return false;		
		}
	}

	if (area.value == 111 || area.value == 222 || area.value == 333 || area.value == 444 || area.value == 555 || area.value == 666 || area.value == 777 || area.value == 888 || area.value == 999)
	{
		alert("Your "+ fromPhone +" area code is not valid.");
		area.focus()
		return false;
	}
	if (firstdigits.value == 000 && lastdigits.value == 0000 || firstdigits.value == 111 && lastdigits.value == 1111 || firstdigits.value == 222 && lastdigits.value == 2222 || firstdigits.value == 333 && lastdigits.value == 3333 || firstdigits.value == 444 && lastdigits.value == 4444 || firstdigits.value == 555 && lastdigits.value == 5555 || firstdigits.value == 666 && lastdigits.value == 6666 || firstdigits.value == 777 && lastdigits.value == 7777 || firstdigits.value == 888 && lastdigits.value == 8888 || firstdigits.value == 999 && lastdigits.value == 9999)
	{
		alert("Your "+ fromPhone +" number is not valid.");
		firstdigits.focus()
		return false;
	}
	if (lastdigits.value == 0000)
	{
		alert("Your "+ fromPhone +" suffix is not valid.");
		lastdigits.focus()
		return false;
	}
	return true;
}


<!--
function submitform()  {
	var sErrStr, sFieldName;
	sErrStr = "";
	sFieldName = "";
	var email = trim(document.frm.email.value);
	if (email == "")  {
		sErrStr += "Please Enter Email\n";
		if (sFieldName == "")
			sFieldName = "email";
	}
	else if (!emailCheck(document.frm.email.value))  { 
		sErrStr += "Enter Valid E-mail Address\n"
		if (sFieldName == "")
			sFieldName = "email"
	}

	if (sErrStr != "")
	{
		alert("Following are the required fields:- \n"+sErrStr);
		for (i=0;i<document.frm.elements.length;i++)
		{
			if (document.frm.elements[i].name == sFieldName)
				document.frm.elements[i].focus();
		}
		return false;
	}
	return true;
	
}
function openSendWindow (num1, num2, num3, carrier)
{
		if(document.frm.formID)
		formID=document.frm.formID.value;
	if(document.frm.cellPhoneNumber1 && document.frm.cellPhoneNumber2 && document.frm.cellPhoneNumber3)
	{
		if(!phoneValidation(document.frm.cellPhoneNumber1,document.frm.cellPhoneNumber2,document.frm.cellPhoneNumber3,'Cell Phone Number'))
		return false;
		
			if(document.frm.CellPhoneCarrier)
			{
				var cellCarrier=document.frm.CellPhoneCarrier.options[document.frm.CellPhoneCarrier.selectedIndex].value
				if (cellCarrier != "")
				{
					var url = "http://app.mobilestorm.com/stun/manageforms/sendTestSMSMessage.php?phone="+num1+""+num2+""+num3+"&carrier="+cellCarrier+"&formID="+formID;
					var url1 = "http://app.mobilestorm.com/stun/manageforms/sendTestSMSMessage1.php?phone="+num1+""+num2+""+num3+"&carrier="+cellCarrier+"&formID="+formID;
					//document.frames["I1"].location.replace(url);
					document.getElementById("myDiv").innerHTML="<img width=1 height=1 border=0 src='"+url+"' />";
					MM_openBrWindow(url1,"sendWin","scrollbars=no,resize=no,width=400,height=200");
				}
				else	{
					alert("Please select carrier for Cell Phone.");
					//return false;
				}
			}
	}
}
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

//-->