function processForm (formName) {
    var myForm = eval("document." + formName);
    myForm.checklist.value = '';
    var currentElement = '';
    var listCounter = 1;
	
	if ( myForm.fullname.value == "" || myForm.work_phone.value == "" || myForm.company.value == "" ||
		myForm.email.value == "" ) {
		alert("Please complete all required fields before submitting the form.");
		return;
	}
	
	if ( ! isValidEmail( myForm.email.value, true )) {
		alert( "Invalid email address format.");
		return;
	}
    
	// alert('wha?');
	
    for (var i = 0; i < myForm.elements.length; i++) {
        
        currentElement = myForm.elements[i];
        
        if (currentElement.type == 'checkbox') {
            if (currentElement.checked == true) {
                myForm.checklist.value = myForm.checklist.value + listCounter + "\n";
            }
            
            listCounter++;
        }
    }
    
    myForm.submit();
}

function valueGetter (formName) {
    var myForm = eval("document." + formName);
    var myElements = '';
    
    for (var i = 0; i < myForm.elements.length; i++) {
        myElements = myElements + myForm.elements[i].name + "\n";
    }

    alert(myElements);
}

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 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;
}