function ValidateRegistration(f){	
	var errorStr = "";
	var errorHeader = "Before continuing you must enter information into the required fields.\n";
	errorHeader += "Please review the list below and enter the proper information in those fields\n\n";
	try{		
		errorStr += checkTextFields(f.Master.value.trim(), "Master Account");
		errorStr += checkTextFields(f.Secondary.value.trim(), "Secondary Account");
		errorStr += checkTextFields(f.FirstName.value.trim(), "First Name");
		errorStr += checkTextFields(f.LastName.value.trim(), "Last Name");
		errorStr += checkTextFields(f.TodaysDate.value.trim(), "Todays Date");
		errorStr += checkTextFields(f.HomeAddress.value.trim(), "Home Address");		
		errorStr += checkLength("Phone Field 1", f.Phone1_1.value.trim(), 3);
		errorStr += checkLength("Phone Field 2", f.Phone1_2.value.trim(), 3);
		errorStr += checkLength("Phone Field 3", f.Phone1_3.value.trim(), 4);
		if(checkTextFields(f.Email.value.trim(), "Email")){
			errorStr += checkTextFields(f.Email.value.trim(), "Email");
		}else{
			errorStr += validateEmail("Email", f.Email.value.trim());
		}
		errorStr += checkTextFields(f.Company.value.trim(), "Company");
		errorStr += checkTextFields(f.Title.value.trim(), "Title");
		errorStr += checkTextFields(f.PersonReportTo.value.trim(), "Name Of Person You Report To");
		errorStr += checkTextFields(f.TitleOfPersonReportTo.value.trim(), "Title Of Person You Report To");
		errorStr += checkTextFields(f.PeopleWhoReportToYou.value.trim(), "People Who Report To You");
		errorStr += checkTextFields(f.PreviousTraining.value.trim(), "Previous Time and Productivity Training");
		errorStr += checkTextFields(f.PresentProblems.value.trim(), "Present Time and Productivity Problems");
		errorStr += checkTextFields(f.WantToGain.value.trim(), "What I want to gain from this program");		
		errorStr += checkTextFields(f.Password.value.trim(), "Password");
		
		if(errorStr != "")	{
			errorHeader += errorStr;
			alert(errorHeader);
			return;
		}
		f.submit();
	}catch(err){
		alert('Registration Info\nAn error occured: '+ err.description);
	}
}

function checkTextFields(strFieldValue, strFieldLabel){
	var error = "";
	if(strFieldValue.trim() == ""){
		error = "- " + strFieldLabel + " not entered.\n";
	}
	return error;
}

function checkLength(fldName, fldValue, minLength, maxLength, exactLength){
    var error = "";
    if(exactLength){
        if(fldValue.length != parseInt(exactLength)){
            error = "- "+fldName+": incorrect number of characters. Please enter exactly "+exactLength+" characters.\n";
        }
    }
    if(minLength){
        if(fldValue.length < parseInt(minLength)){
            error = "- "+fldName+": requires at least "+minLength+" characters.\n";
        }
    }
    if(maxLength){
        if(fldValue.length > parseInt(maxLength)){
            error = "- "+fldName+": should be no more than "+maxLength+" characters in length.\n";
        }
    }
    if((minLength) && (maxLength)){
        if((fldValue.length < parseInt(minLength)) || (fldValue.length > parseInt(maxLength))){
            error = "- "+fldName+": should be between "+minLength+" and "+maxLength+" characters in length.\n";
        }
    }
    return error;
}

function isFilledOut(fldName, fldValue){
    var error = "";
    if (fldValue == ""){
        error = fldName+": not entered\n" 
    }
    return error;
}

function validateEmail(fldName, fldValue){
    var emRegxp = /(^[a-zA-Z0-9]([a-zA-Z0-9_\.]*)@([a-zA-Z0-9_\.\-]*)([.][a-z]{3})$)|(^[a-zA-Z0-9]([a-zA-Z0-9_\.]*)@([a-zA-Z0-9_\.]*)(\.[a-z]{3})(\.[a-z]{2})*$)/i;
    var error = "";
    if (fldValue.length > 0 ){
        if(! emRegxp.test(fldValue)){
            error = "- "+fldName+" is not a valid email address.\n";   
        }
    }
    return error;
}

function autoTab(element, nextElement) {
   if (element.value.length == element.maxLength && nextElement != null) {
        element.form.elements[nextElement].focus();
    }
}

function numbersOnly(e){
	var key = window.event ? e.keyCode : e.which;
	var isValid;
	if ((e.keyCode == 8)||(e.keyCode == 9)){
		isValid = true;
	}else{
		if ((e.keyCode < 96 || e.keyCode > 105)){
			var keyChar = String.fromCharCode(key);
			regExp = /\d/;
			isValid = regExp.test(keyChar);
		}else{
			isValid = true;
		}
	}
	return isValid;
}

String.prototype.trim = function() {
	return this.replace(/^\s+|\s+$/g,"");
}