// JavaScript Document
function frmvalidation()
{
	if(document.getElementById('txt_fname').value=='')
	{
		document.getElementById('err_msg').innerHTML="First name is missing.";
		document.getElementById('txt_fname').focus();
		return false;
	}
	else if(document.getElementById('txt_lname').value=='')
	{
		document.getElementById('err_msg').innerHTML="Last name is missing.";
		document.getElementById('txt_lname').focus();
		return false;
	}
	else if(document.getElementById('txt_add1').value=='')
	{
		document.getElementById('err_msg').innerHTML="Address Street1 is missing.";
		document.getElementById('txt_add1').focus();
		return false;
	}
	else if(document.getElementById('txt_add2').value=='')
	{
		document.getElementById('err_msg').innerHTML="Address Street2 is missing.";
		document.getElementById('txt_add2').focus();
		return false;
	}
	else if(document.getElementById('txt_city').value=='')
	{
		document.getElementById('err_msg').innerHTML="City name is missing.";
		document.getElementById('txt_city').focus();
		return false;
	}
	else if(document.getElementById('txt_zip').value=='')
	{
		document.getElementById('err_msg').innerHTML="Zip code is missing.";
		document.getElementById('txt_zip').focus();
		return false;
	}
	else if(!isValidEmail(trim(document.getElementById('email').value))){
		document.getElementById('err_msg').innerHTML="Invalid email";
		document.getElementById('email').focus();
		return false;
	}
	else{
		return true;
	}
}


function isValidEmail(email, required) {
    if (required==undefined) {   // if not specified, assume it's required
        required=true;
    }
    if (email==null) {
        if (required) {
            return false;
        }
        return true;
    }
    if (email.length==0) {  
        if (required) {
            return false;
        }
        return true;
    }
    if (! allValidChars(email)) {  // check to make sure all characters are valid
        return false;
    }
    if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
        return false;
    } else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
        return false;
    } else if (email.indexOf("@") == email.length) {  // @ must not be the last character
        return false;
    } else if (email.indexOf("..") >=0) { // two periods in a row is not valid
	return false;
    } else if (email.indexOf(".") == email.length) {  // . must not be the last character
	return false;
    }
    return true;
}

function IsNumeric(strString)
   //  check for valid numeric strings	
   {
   var strValidChars = "0123456789.";
   var strChar;
   var blnResult = true;

   if (strString.length == 0) return false;
  
   //  test strString consists of valid characters listed above
   for (i = 0; i < strString.length && blnResult == true; i++)
      {
      strChar = strString.charAt(i);
      if (strValidChars.indexOf(strChar) == -1)
         {
         blnResult = false;
         }
      }
   return blnResult;
   }

function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}
 
function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
 
function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}
function allValidChars(email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  for (var i=0; i < email.length; i++) {
    var letter = email.charAt(i).toLowerCase();
    if (validchars.indexOf(letter) != -1)
      continue;
    parsed = false;
    break;
  }
  return parsed;
}

	function isDate(str)
	{
		  var myDate = new Date(str);
	 
		  return !isNaN(myDate);
	 }
	 
