<!-- hide
// var input;
function isLetter (c)
{   return ( ((c >= "a") && (c <= "z")) || ((c >= "A") && (c <= "Z")) )
}
function isAlphabetic (s)

{   var i;

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

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

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

    // All characters are letters.
    return true;
}

function isDigit (c)
{   return ((c >= "0") && (c <= "9"))
}

function isInteger (s)

{   var i;

    // 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 stripCharsInBag (s, bag)

{   var i;
    var returnString = "";

    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.

    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }

    return returnString;
}
function isVisa(cc)
{
  if (((cc.length == 16) || (cc.length == 13)) &&
      (cc.substring(0,1) == 4))
    return true;
    else return false;
}

function isMasterCard(cc)
{
  firstdig = cc.substring(0,1);
  seconddig = cc.substring(1,2);
  if ((cc.length == 16) && (firstdig == 5) &&
      ((seconddig >= 1) && (seconddig <= 5)))
    return true;
    else return false;
}

function isAmericanExpress(cc)
{
  firstdig = cc.substring(0,1);
  seconddig = cc.substring(1,2);
  if ((cc.length == 15) && (firstdig == 3) &&
      ((seconddig == 4) || (seconddig == 7)))
    return true;
    else return false;

}

// return true only if string is a number from 1 to 12
function isValidMM(mm)
{
   var n = parseInt(mm,10);
    if (n >= 1 && n <= 12)
      return true;
      else return false;
}

function isCreditCard(st) {
  // Encoding only works on cards with less than 19 digits
  if (st.length > 19)
    return (false);

  sum = 0; mul = 1; l = st.length;
  for (i = 0; i < l; i++) {
    digit = st.substring(l-i-1,l-i);
    tproduct = parseInt(digit ,10)*mul;
    if (tproduct >= 10)
      sum += (tproduct % 10) + 1;
    else
      sum += tproduct;
    if (mul == 1)
      mul++;
    else
      mul--;
  }
// Uncomment the following line to help create credit card numbers
// 1. Create a dummy number with a 0 as the last digit
// 2. Examine the sum written out
// 3. Replace the last digit with the difference between the sum and
//    the next multiple of 10.

//  document.writeln("<BR>Sum      = ",sum,"<BR>");
//  alert("Sum      = " + sum);

  if ((sum % 10) == 0)
    return (true);
  else
    return (false);

} // END FUNCTION isCreditCard()

function isEmail (s)
{

    // there must be >= 1 character before @, so we
    // start looking at character position 1 
    // (i.e. second character)
    var i = 1;
    var sLength = s.length;

    // look for @
    while ((i < sLength) && (s.charAt(i) != "@"))
    { i++
    }

    if ((i >= sLength) || (s.charAt(i) != "@")) return false;
    else i += 2;

    // look for .
    while ((i < sLength) && (s.charAt(i) != "."))
    { i++
    }

    // there must be at least one character after the .
    if ((i >= sLength - 1) || (s.charAt(i) != ".")) return false;
    else return true;
}
function checkForm()
{
//var x=document.MyForm

// input=x.ProdID.value
 if (document.MyForm.ProdID.value=="0")
 {
  alert("Please Choose Program")
  return false
 }

// input=x.serial.value
 if (document.MyForm.serial.value.length==0)
 {
  alert("Please enter Serial Number")
  return false
 }
 if (document.MyForm.serial.value.length!=8)
 {
 alert("Please enter 8 digits in Serial Number")
 return false
 }
  if ( isInteger(document.MyForm.serial.value) == false)
              {
              alert("Please enter digits only in Serial Number")
              return false
              }

// input=x.vendor.value
 if (document.MyForm.vendor.value.length==0)
 {
  alert("Please enter Vendor name")
  return false
 }

// input=x.firstname.value
 if (document.MyForm.firstname.value.length==0 ||
     document.MyForm.firstname.value.length > 25)
   {
    alert("Please enter First name 25 letters or less")
    return false
   }

  if (isAlphabetic(document.MyForm.firstname.value) == false )
              {
                alert("Please enter letters only in First name ")
                return false
              }
// input=x.lastname.value
 if (document.MyForm.lastname.value.length==0 ||
     document.MyForm.lastname.value.length > 25)
   {
    alert("Please enter Last name 25 letters or less")
    return false
   }
// Allow Letters AND hifen
var i;
    for (i = 0; i < document.MyForm.lastname.value.length; i++)
    {   
        // Check that current character is in bag
        var c = document.MyForm.lastname.value.charAt(i);
        if (!isLetter(c) && c != "-")  // allow hifen Last Name
              {
                alert("Please enter letters only in Last name ")
                return false
              }
    }

// input=x.telephone.value
var phoneNumberDelimiters = "()- ";
 if (document.MyForm.telephone.value.length==0 ||
     document.MyForm.telephone.value.length > 18 ||
     document.MyForm.telephone.value.length < 10 )
   {
    alert("Please enter Telephone Number 10 to 18 digits");
    return false;
   }
  var NewPhone = stripCharsInBag (document.MyForm.telephone.value, phoneNumberDelimiters)
              if(!isInteger(NewPhone))
              {
              alert("Please enter Valid Telephone Number");
              return false;
              }
     document.MyForm.telephone.value =  NewPhone;  // assign to field DIGITS ONLY

// input=x.email.value
 if (document.MyForm.email.value.length==0)
   {
    alert("Please enter E-mail Address")
    return false
   }
at=document.MyForm.email.value.indexOf("@")
if (at == -1 || isEmail(document.MyForm.email.value)== false)
        {
        alert("Not a valid e-mail")
        return false
        }
/*
//input=x.creditcardnumber.value
 if (document.MyForm.creditcardnumber.value.length==0  )
   {
    alert("Please enter Credit Card Number")
    return false;
   }
// Allow some delimiters
var CCDelimiters = "- ";
var NewCC = stripCharsInBag (document.MyForm.creditcardnumber.value, CCDelimiters)
   if (isCreditCard(NewCC) == false)
   {
    alert("Please enter Valid Credit Card Number")
    return false;
   }
// Check for big three:
   if ( !isVisa(NewCC) && !isMasterCard(NewCC)  && !isAmericanExpress(NewCC)   )
     {
    alert("Please enter Visa MasterCard or American-Express Credit Card ")
    return false;
     }

   document.MyForm.creditcardnumber.value = NewCC;


// input=x.expires.value
 if (document.MyForm.expires.value.length==0 ||
     document.MyForm.expires.value.length > 6 )
   {
    alert("Please enter Valid Until Date 4 digits only")
    return false
   }
var ExpiresDelimiters = "-/ ";
var NewExpires = stripCharsInBag (document.MyForm.expires.value, ExpiresDelimiters)
              if(!isInteger(NewExpires))
              {
              alert("Please enter MMYY DIGITS ONLY in Expire Date");
              return false;
              }
   first2digits = NewExpires.substring(0,2);
   if ( !isValidMM(first2digits) )
     {
              alert("Please enter Valid MM (01-12) in Expire Date");
              return false;
     }
   last2digits = NewExpires.substring(2,NewExpires.length);
// make sure YY is reasonable
     n = parseInt(last2digits,10);
     if (n <=1 || n >9)
       {
              alert("Please enter Valid YY in Expire Date");
              return false;

       }

     document.MyForm.expires.value =  NewExpires;  // assign to field DIGITS ONLY
*/

 return true
}
// -->
