﻿//validation.js contains common javascript validation functions

//courtesy of smartwebby.com
function ValidateEMail(addr) 
{
    var at="@";
	var dot=".";
	var lat=addr.indexOf(at);
	var lstr=addr.length;
	var ldot=addr.indexOf(dot);
	if (addr.indexOf(at)==-1){
	   return (false);
	}

	if (addr.indexOf(at)==-1 || addr.indexOf(at)==0 || addr.indexOf(at)==lstr){
	    return (false);
	}

	if (addr.indexOf(dot)==-1 || addr.indexOf(dot)==0 || addr.indexOf(dot)==lstr){
	    return (false);
	}

	if (addr.indexOf(at,(lat+1))!=-1){
		return (false);
    }

	if (addr.substring(lat-1,lat)==dot || addr.substring(lat+1,lat+2)==dot){
	    return (false);
    }

    if (addr.indexOf(dot,(lat+2))==-1){
	    return (false);
    }
		
	if (addr.indexOf(" ")!=-1){
	    return (false);
	}

 	return true					
}

function ValidateZipCode(zip)
{
    if (zip.length != 5)
    {
        return (false);
    }

    if (! IsNumeric(zip))
    {
        return (false);
    }   
    
    return (true); 
}

function ValidateZipPlus4(zipplus)
{
    if (zipplus.length != 4)
    {
        return (false);
    }

    if (! IsNumeric(zipplus))
    {
        return (false);
    }   
    
    return (true); 
}

function ValidatePhoneNumber(phone)
{
    if (phone.length != 10)
    {
        return (false);
    }

    if (! IsNumeric(phone))
    {
        return (false);
    }    
    
    return (true);
}

function IsNumeric(sText)
{
   var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;

   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   return IsNumber;
}

function SetCaretToEnd (el) {
  if (el.createTextRange) {
    var v = el.value;
    var r = el.createTextRange();
    r.moveStart('character', v.length);
    r.select();
  }
}
