
var STEXT = 10;
var MTEXT = 50;
var LTEXT = 800;

function isBlank(s) {
for ( var i = 0; i < s.length; i++ ) {
        var c = s.charAt(i);
        if (( c != ' ') && ( c != '\t') && ( c != '\n')) return false;
        }
return true;
}


function makeName(s) {
var st;
	var l = s.length;

	st = s.substring(3,l-1);
	return st;
}


function validateForm(f) {

var missingfields = "";
var badfields = "";
var msg = "";
var reNumber = new RegExp(/[0-9]/);

// loops through every form element individually
for (var i = 0; i < f.length; i++) {
	var e = f.elements[i];

	if (e.type == "text") {
		//for required and optional, check maxlength
		if (e.value.length > MTEXT) { 
			badfields += makeName(e.name) + " should be less than " + MTEXT + " characters.\n"; 
		}
	
		if (!e.optional) {
			if (e.value == null || e.value == "" || isBlank(e.value)) { 
				missingfields += makeName(e.name) + "\n";
			}

			else if (e.name == "txtEmail1") {	
				if (e.value.indexOf("@") == -1)
					badfields += makeName(e.name) + " doesn\'t look like a valid address.\n"; 
			}
		}

		
	}

        else if (e.type == "textarea") {
                //for required and optional, check maxlength
                if (e.value.length > LTEXT) { 
                        badfields += makeName(e.name) + " should be less than " + LTEXT + " characters\n"; 
                }

                if (!e.optional) {
                        if (e.value == null || e.value == "" || isBlank(e.value) ) { 
				missingfields += makeName(e.name) + "\n";
                        }
                }
        }



} // end for 


if (missingfields) {
	msg = "Please fill in the following required fields:\n";
	msg += missingfields + "\n";
}

if (badfields) { msg += badfields; }

if (!msg) { return true; }
else {
	alert(msg);
	return false;
	}

}

