var alreadySubmitted = false;

function MM_openBrWindow(theURL,winName,features) { //v2.0
	  window.open(theURL,winName,features);
	  window.focus;
	}

function Trim(inString) {
  var retVal = "";
  var start = 0;
  while ((start < inString.length) && (inString.charAt(start) == ' ')) {
    ++start;
  }
  var end = inString.length;
  while ((end > 0) && (inString.charAt(end - 1) == ' ')) {
    --end;
  }
  
  if(start <= end){
    retVal = inString.substring(start, end);
  }
  
  return retVal;
}//Trim()

function isEmailAddr(email)
{
  var result = false
  var theStr = new String(email)
  var index = theStr.indexOf("@");
  if (index > 0)
  {
    var pindex = theStr.indexOf(".",index);
    if ((pindex > index+1) && (theStr.length > pindex+1))
	result = true;
  }
  return result;
}//isEmailAddr()

function isValidZip(strZip) {
var valid = "0123456789-";
var hyphencount = 0;

if (strZip.length!=5 && strZip.length!=10) {
  return false;
}
for (var i=0; i < strZip.length; i++) {
  temp = "" + strZip.substring(i, i+1);
  if (temp == "-") hyphencount++;
  if (valid.indexOf(temp) == "-1") {
    return false;
  }
  if ((hyphencount > 1) || ((strZip.length==10) && ""+strZip.charAt(5)!="-")) {
    return false;
  }
}
return true;
}//isValidZip()



function IsNumeric(strString)
{
  var strValidChars = "0123456789";
  var strChar;
  var blnResult = true;
  
  //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;
}//IsNumeric

function IsValidPhone(areacode,prefix,suffix){
  var phone = areacode.toString() + prefix.toString() + suffix.toString()
  return ((phone.length == 10) && IsNumeric(areacode) && IsNumeric(prefix) && IsNumeric(suffix))
}//IsValidPhone

// BASIC FORM CHECK FUNCTION
function checkForm(theForm) {
  if (alreadySubmitted) {
    return false;
  }
  errMsg = '';
  frontPadding = ' - ';
  divLine = '-----------------------------------------------------------------------------\n'
  
  /* TRIM FORM FIELDS */
  theForm.email.value = Trim(theForm.email.value);
  
   /* EMAIL CHECK */
  if ( (!isEmailAddr(theForm.email.value))) errMsg = errMsg + frontPadding + 'Email Address\n';
  
  // ALERT THE USER IF ANY ERRORS WERE GENERATED, OTHERWISE SUBMIT THE FORM
  if (errMsg.length > 0) {
    errMsg =  divLine + 'THE FOLLOWING FIELDS WERE EITHER EMPTY OR INVALID:\n' + divLine + errMsg + divLine
    alert(errMsg);
    return false;
  }
  else {
    alreadySubmitted = true;
    return true;
  }
}
