﻿function validateApplication()
{
    var err = 0;
    var nameErr = document.getElementById('nameRequired');
    var emailErr = document.getElementById('emailRequired');
    var attErr = document.getElementById('fileRequired');
    
    var form = document.getElementById('application-form');

    if(form.name.value == null || form.name.value == ""){
        err += 1;
        nameErr.style.visibility = "visible";
    }
    else{
        nameErr.style.visibility = "hidden";
    }
       
    if(form.from.value == null || form.from.value == "" || !validateAddress(form.from.value)){
        err += 1;
        emailErr.style.visibility = "visible";
    }
    else{
        emailErr.style.visibility = "hidden";
    }
    
    if(form.fileatt.value == null || form.fileatt.value == ""){
        err += 1;
        attErr.style.visibility = "visible";
    }
    else{
        attErr.style.visibility = "hidden";
    }
    
    if(err > 0)
    {
        return false;
    }
    else
    {
        document.getElementById('application-form').submit();
    }
}

function validateAddress(incoming) {
	var emailstring = incoming;
	var ampIndex = emailstring.indexOf("@");
	var afterAmp = emailstring.substring((ampIndex + 1), emailstring.length);
		// find a dot in the portion of the string after the ampersand only
	var dotIndex = afterAmp.indexOf(".");
		// determine dot position in entire string (not just after amp portion)
	dotIndex = dotIndex + ampIndex + 1;
		// afterAmp will be portion of string from ampersand to dot
	afterAmp = emailstring.substring((ampIndex + 1), dotIndex);
		// afterDot will be portion of string from dot to end of string
	var afterDot = emailstring.substring((dotIndex + 1), emailstring.length);
	var beforeAmp = emailstring.substring(0,(ampIndex));
		//old regex did not allow subdomains and dots in names
		//var email_regex = /^[\w\d\!\#\$\%\&\'\*\+\-\/\=\?\^\_\`\{\|\}\~]+(\.[\w\d\!\#\$\%\&\'\*\+\-\/\=\?\^\_\`\{\|\}\~])*\@(((\w+[\w\d\-]*[\w\d]\.)+(\w+[\w\d\-]*[\w\d]))|((\d{1,3}\.){3}\d{1,3}))$/;
	var email_regex = /^\w(?:\w|-|\.(?!\.|@))*@\w(?:\w|-|\.(?!\.))*\.\w{2,3}/ 
		// index of -1 means "not found"
	if ((emailstring.indexOf("@") != "-1") &&
		(emailstring.length > 5) &&
		(afterAmp.length > 0) &&
		(beforeAmp.length > 1) &&
		(afterDot.length > 1) &&
		(email_regex.test(emailstring)) ) {
		  return true;
	} else {
			return false;
	}
}
   