// JavaScript Document

var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 8;

function validEmail(email)
{
   invalidChars = " /:,;"

   if (email == "")
      return false

   for (i=0; i<invalidChars.length; i++)
   {
      badChar = invalidChars.charAt(i)

      if (email.indexOf(badChar,0)>-1)
         return false
   }

   atPos = email.indexOf("@",1)

   if (atPos == -1)
      return false

   if (email.indexOf("@",atPos+1) != -1)
      return false

   periodPos = email.indexOf(".",atPos)

   if (periodPos == -1)
      return false

   if (periodPos+3 > email.length)
      return false

   return true
}

function isInteger(s)
{   var i;
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character is number.
        var c = s.charAt(i);
        if (((c < "0") || (c > "9"))) 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 checkInternationalPhone(strPhone)
{
   s=stripCharsInBag(strPhone,validWorldPhoneChars);
   return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

function submitIt (joinForm)
{
   if (joinForm.name.value == "")
   {
      alert("Please enter your name.")
	  return false
   }

   if (joinForm.phone.value != "" )
   {
      if (checkInternationalPhone(joinForm.phone.value)==false)
      {
	     alert("Invalid phone number! Please enter a valid phone number.")
	     joinForm.phone.value=""
	     joinForm.phone.focus()
         return false
      }
   }
     
   if (!validEmail(joinForm.email.value))
   {
      alert("Invalid email format. Please enter your email address again.")
      return false
   }
   
   if (joinForm.enquiry.value == "")
   {
      alert("Please type your enquiry.")
	  return false
   }
   
   return true
}