function formSubmit(frm) {
	if (isEmpty(frm.cEmail, "Contact e-mail")) return
	if (notEmail(frm.cEmail, "Contact e-mail")) return
	if (isEmpty(frm.title, "Title")) return
	if (isEmpty(frm.theUrl, "URL")) return
	if (isEmpty(frm.linkDesc, "Description")) return
	if (isEmpty(frm.myUrl, "Links page URL")) return
	
	//submit form
	frm.submit()	
}


function isEmpty(field, fieldName) {
	if (trim(field.value) == "") {
		alert("Please enter " + fieldName + ".");	
		field.focus()
		return true
	}

	return false
}


function notEmail(field, fieldName) {
	var email = trim(field.value)

	if (email == "") return false

	var at = false
	var dot = false

	for (var i=0; i<email.length; i++) {
		if (email.charAt(i) == "@") at = true
		if (email.charAt(i) == "." && at) dot = true
	}

	if (!(at && dot && email.length > 5)) {
		alert("The " + fieldName + " you entered is not a valid e-mail address.")
		field.focus()
		field.select()
		return true
	}

	//check for invalid characters
	if (invalidChars(field, fieldName, ',;|\'" <>\\/')) return true

	return false
}
function invalidChars(validatedControl, validatedName, charString) {
	var validatedString = trim(validatedControl.value).toLowerCase()
	charString = charString.toLowerCase()

	for (var i=0; i<validatedString.length; i++) {
		for (var j=0; j<charString.length; j++) {
			if (validatedString.charAt(i) == charString.charAt(j)) {
				var alertString = charString.split("").join("  ")
				alertString = alertString.split("     ").join("  space  ")
				alert(validatedName + " cannot contain any of the following\nillegal characters:\n\n " + alertString)
				validatedControl.focus()
				validatedControl.select()
				return true
			}
		}
	}

	return false
}

function trim(stringToTrim) {
	var trimmedString = ""

	//left trim
	for(var i=0; i<stringToTrim.length; i++) {
		if (stringToTrim.charAt(i) != " ") break
	}

	trimmedString = stringToTrim.substring(i)

	//right trim
	for(var i=trimmedString.length-1; i>=0; i--) {
		if (trimmedString.charAt(i) != " ") break
	}

	trimmedString = trimmedString.substring(0, i + 1)

	return trimmedString
}
