 /* :::::: AUTO TAB FUNCTIONS :::::: */
var phone_field_length=0;

function TabNext(obj,event,len,next_field)
{
	if(document.all)
	{	
		var key_pressed = window.event.keyCode;
		
		if (event == "down")
		{
			phone_field_length=obj.value.length;
		}
		else if (event == "up")
		{
			if (key_pressed != 8 && key_pressed != 9 && key_pressed != 16 && key_pressed != 17 && key_pressed != 18 && key_pressed != 35 && key_pressed != 36 && key_pressed != 45 && key_pressed != 46 && key_pressed != 144)
			{
				if (obj.value.length != phone_field_length)
				{
					phone_field_length=obj.value.length;
					if (phone_field_length == len)
					{
						next_field.focus();
					}
				}
			}
			else
			{
				window.event.cancelBubble = true;
			}
		}
	}
	else
	{
		return;
	}
}

/* :::::: FORM VALIDATION :::::: */

// Validator Object code
//___________________________________________
function AreaZipMismatch(str)
{
	if(confirm(str))
	{
		document.uData.areazipoverride.value='yes';
		document.uData.submit();
	}
}

function Validator()
{
	this.isValid = true;
	this.fullMatchProfanity = new Array('shit','piss','cunt','tits','ass');
	this.partialMatchProfanity = new Array('fuck','cocksucker','motherfucker','asshole');
	this.validNumbers = '0123456789';
	this.validPhoneCharacters = '0123456789';
	this.validZipCharacters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789- ';
	this.validTextCharacters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ';
}

new Validator();

function V_raiseError(message)
{
	if (this.isValid) alert(message);
	this.isValid = false;
}

function V_containsProfanity(field)
{
	for (var i=0; i<this.fullMatchProfanity.length; i++)
	{
		if (field.toLowerCase() == this.fullMatchProfanity[i]) return true;
	}
	for (var i=0; i<this.partialMatchProfanity.length; i++)
	{
		if (field.toLowerCase().indexOf(this.partialMatchProfanity[i]) > -1) return true;
	}
	return false;
}

function V_validateText(text, label)
{
	if (!this.isValid) return;
	if (text.value == '' || text.value.replace(/ /gi,'')=='')
	{
		this.raiseError('Please enter your ' + label + '.');
		text.value='';
		text.focus();
	}
	else if (this.containsProfanity(text.value))
	{
		this.raiseError(label + ' must not contain profane content.');
		text.select();
	}
}
// for text only like first and last name
function V_validateTextChars(text, label)
{
	if (!this.isValid) return;
	if (text.value == '' || text.value.replace(/ /gi,'')=='' || text.value.length < 2)
	{
		this.raiseError('Please enter your ' + label + '.');
		text.value='';
		text.focus();
		
	}
	else if (this.containsProfanity(text.value))
	{
		this.raiseError(label + ' must not contain profane content.');
		text.select();
	}
	else if (!this.isTextValid(text.value))
	{
		this.raiseError(label + ' contains invalid characters.');
		text.select();
	}
}

function V_validatePhone(phone, label)
{
	if (!this.isValid) return;
	
	if (phone.value == '')
	{
		this.raiseError(label + ' phone number must not be blank.');
		phone.focus();
	}
	else if (phone.value.length < 7)
	{
		this.raiseError(label + ' phone number should have at least seven numbers.');
		phone.focus();
	}
	else if (!this.isPhoneNumeric(phone.value))
	{
		this.raiseError(label + ' phone number should have only numbers.');
		phone.focus();
	}
}

function V_validateZip(zip, label)
{
	if (!this.isValid) return;
	if (zip.value == '')
	{
		this.raiseError(label + ' must not be blank.');
		zip.focus();
	}
	else if (zip.value.length < 5)
	{
		this.raiseError(label + ' must be at least five characters.');
		zip.focus();
	}
	else if (!this.isZipValid(zip.value.toLowerCase()))
	{
		this.raiseError(label + ' contains invalid characters.');
		zip.select();
	}
}

function V_validateZipCanada(zip, label)
{
	if (!this.isValid) return;
	if (zip.value == '')
	{
		this.raiseError(label + ' must not be blank.');
		zip.focus();
	}
	else if (zip.value.length < 6)
	{
		this.raiseError(label + ' must be at least six characters.');
		zip.focus();
	}
	else if (!this.isZipValid(zip.value.toLowerCase()))
	{
		this.raiseError(label + ' contains invalid characters.');
		zip.select();
	}
}

function V_validateNumericOnly(myField, label)
{
	if (!this.isValid) return;
	if (myField.value == '')
	{
		this.raiseError(label + ' must not be blank.');
		myField.focus();
	}
	else if (myField.value.length < 4)
	{
		this.raiseError(label + ' must be four characters long.');
		myField.focus();
	}
}

function V_validateEmail(email, label)
{
	if (!this.isValid) return;
	if (email.value == '')
	{
		this.raiseError(label + ' must not be blank.');
		email.focus();
	}
	// Email validation
	if (email.value != '')
	{
		var str = email.value;
		var instancecounter = 0;

		str += '';
		intAt = str.indexOf( '@', 1 );		// the "@"
		intDot = str.lastIndexOf( '.' );		// the last "."
		namestr = str.substring( 0, intAt );		// everything before the "@"
		domainstr = str.substring( intAt +1, str.length );		// everything after the "@"
		toplevelstr = str.substring( intDot +1, str.length);		// everything after the last "."
		
		if ((str.indexOf('test@') > -1) || (str.indexOf('@test.') > -1))
		{
			this.raiseError(label + ' appears to be invalid.');
			email.select();
		}
		
		if ((str.indexOf(" ")!=-1) || (intAt == -1) || (intDot == -1 ) || (namestr.length == 0) || (domainstr.length == 0) || (intAt > intDot) || (domainstr.indexOf(".") <= 0) || (toplevelstr.length <= 1))
		{
			this.raiseError(label + ' appears to be invalid.');
			email.select();
		} 
		else
		{
			// iterate through email address checking for
			// more than 1 @ sysmbol, or none at all
			for ( i = 0; i < str.length; i++ )
			{
				if ((str.substring(i,i+1)) == "@" )
				{
					instancecounter = instancecounter + 1;
				}
			}
			// Check to see if we have none, or more than one @ symbol
			if ((instancecounter > 1) || (instancecounter == 0 ))
			{
				this.raiseError(label + ' appears to be invalid.');
				email.select();
			}
		}
	}
}

function V_isNumeric(field)
{
	for (var i=0; i<field.length; i++)
	{
		if (this.validNumbers.indexOf(field.charAt(i),0) == -1) return false;
	}
	return true;
}

function V_isPhoneNumeric(field)
{
	for (var i=0; i<field.length; i++)
	{
		if (this.validPhoneCharacters.indexOf(field.charAt(i),0) == -1) return false;
	}
	return true;
}

function V_isZipValid(field)
{
	for (var i=0; i<field.length; i++)
	{
		if (this.validZipCharacters.indexOf(field.charAt(i),0) == -1) return false;
	}
	return true;
}

function V_isTextValid(field)
{
	for (var i=0; i<field.length; i++)
	{
		if (this.validTextCharacters.indexOf(field.charAt(i),0) == -1) return false;
	}
	return true;
}

Validator.prototype.raiseError = V_raiseError;
Validator.prototype.validateText = V_validateText;
Validator.prototype.validateTextChars = V_validateTextChars;
Validator.prototype.validatePhone = V_validatePhone;
Validator.prototype.validateZip = V_validateZip;
Validator.prototype.validateZipCanada = V_validateZipCanada;
Validator.prototype.validateNumericOnly = V_validateNumericOnly;
Validator.prototype.isNumeric = V_isNumeric;
Validator.prototype.isZipValid = V_isZipValid;
Validator.prototype.isTextValid = V_isTextValid;
Validator.prototype.isPhoneNumeric = V_isPhoneNumeric;
Validator.prototype.validateEmail = V_validateEmail;
Validator.prototype.containsProfanity = V_containsProfanity;


//---------- custom functions ----------

function createRequestObject() {
    var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
    return ro;
}

var http = createRequestObject();

function sndReq(action, action2) {

    http.open('get', 'rpc.php?action='+action+'&field1='+action2);
 http.onreadystatechange = handleResponse;
    http.send(null);
}



function handleResponse() {
    if(http.readyState == 4){
        var response = http.responseText;
		
if(response == 'no')
			{
				document.uData.statematch.value = 'no';
			}
			else
			{
				document.uData.statematch.value = 'yes';
			}
			
    }
}




function checkCountry()
{
	var frm = document.uData;
	
	if (frm.country_code[frm.country_code.selectedIndex].value != '' && frm.country_code[frm.country_code.selectedIndex].value != 'USA' && frm.country_code[frm.country_code.selectedIndex].value != 'CAN')
	{
		alert('Thank you for your interest in receiving information about Capella University.  At this time, Capella is only accepting applicants from the United States and Canada.');
		frm.country_code.focus();
		
	}
}

function updateCapellaDegrees()
{
	var frm = document.uData;
	var schoolOfInterest = document.getElementById("institution");
	var degreeProgram = document.getElementById("program_code");	
	var degreeProgramLen = degreeProgram.length;
	
	frm.program_code.disabled = false;
	
	// empty list	
	for(var i = 0; i <= degreeProgramLen; i++)
	{
		degreeProgram.options[0] = null;
	}
	
	//create new list
	switch (schoolOfInterest[schoolOfInterest.selectedIndex].value)
	{
		// Business selected
		case '1':
			var arrCapellaDegreeBusiness = ["Select one"];
			arrCapellaDegreeBusiness = arrCapellaDegreeBusiness.concat(arrCapellaDegree0);
			for (var i = 0; i < arrCapellaDegreeBusiness.length; i++)
			{
				var pipeLocation = arrCapellaDegreeBusiness[i].indexOf('|')
				var curDegreeCode = arrCapellaDegreeBusiness[i].substring(0, pipeLocation)
				var curDegree = arrCapellaDegreeBusiness[i].substring(pipeLocation + 1, arrCapellaDegreeBusiness[i].length)
				
				degreeProgram.options[i] = new Option(curDegree, curDegreeCode)
			}
			break;
		// Technology selected
		case '2':
			var arrCapellaDegreeTechnology = ["Select one"];
			arrCapellaDegreeTechnology = arrCapellaDegreeTechnology.concat(arrCapellaDegree1);
			for (var i = 0; i < arrCapellaDegreeTechnology.length; i++)
			{
				var pipeLocation = arrCapellaDegreeTechnology[i].indexOf('|')
				var curDegreeCode = arrCapellaDegreeTechnology[i].substring(0, pipeLocation)
				var curDegree = arrCapellaDegreeTechnology[i].substring(pipeLocation + 1, arrCapellaDegreeTechnology[i].length)
				
				degreeProgram.options[i] = new Option(curDegree, curDegreeCode)
			}
			break;
		// Education selected
		case '3':
			var arrCapellaDegreeEducation = ["Select one"];
			arrCapellaDegreeEducation = arrCapellaDegreeEducation.concat(arrCapellaDegree2);
			for (var i = 0; i < arrCapellaDegreeEducation.length; i++)
			{
				var pipeLocation = arrCapellaDegreeEducation[i].indexOf('|')
				var curDegreeCode = arrCapellaDegreeEducation[i].substring(0, pipeLocation)
				var curDegree = arrCapellaDegreeEducation[i].substring(pipeLocation + 1, arrCapellaDegreeEducation[i].length)
				
				degreeProgram.options[i] = new Option(curDegree, curDegreeCode)
			}
			break;
		// Psychology selected
		case '4':
			var arrCapellaDegreePsychology = ["Select one"];
			arrCapellaDegreePsychology = arrCapellaDegreePsychology.concat(arrCapellaDegree3);
			for (var i = 0; i < arrCapellaDegreePsychology.length; i++)
			{
				var pipeLocation = arrCapellaDegreePsychology[i].indexOf('|')
				var curDegreeCode = arrCapellaDegreePsychology[i].substring(0, pipeLocation)
				var curDegree = arrCapellaDegreePsychology[i].substring(pipeLocation + 1, arrCapellaDegreePsychology[i].length)
				
				degreeProgram.options[i] = new Option(curDegree, curDegreeCode)
			}
			break;
		// Human Services selected
		case '5':
			var arrCapellaDegreeHuman = ["Select one"];
			arrCapellaDegreeHuman = arrCapellaDegreeHuman.concat(arrCapellaDegree4);
			for (var i = 0; i < arrCapellaDegreeHuman.length; i++)
			{
				var pipeLocation = arrCapellaDegreeHuman[i].indexOf('|')
				var curDegreeCode = arrCapellaDegreeHuman[i].substring(0, pipeLocation)
				var curDegree = arrCapellaDegreeHuman[i].substring(pipeLocation + 1, arrCapellaDegreeHuman[i].length)
				
				degreeProgram.options[i] = new Option(curDegree, curDegreeCode)
			}
			break;
		// unknown selection
		default:
			degreeProgram.options[0] = new Option('Select one', '')
			degreeProgram.disabled = true;
			break;
	}
	
}

function setSelectedDegree()
{
	var frm = document.uData;
	var schoolOfInterest = document.getElementById("education_level");
	var degreeProgram = document.getElementById("program_code");	
	var degreeProgramLen = degreeProgram.length;
	
	if (schoolOfInterest[schoolOfInterest.selectedIndex].value != '' && schoolOfInterest[schoolOfInterest.selectedIndex].value != null && frm.selectedDegree != '' && frm.selectedDegree != null)
	{
		var theDegree = frm.selectedDegree.value;
		for (var i = 0; i < degreeProgramLen; i ++)
		{
			if (degreeProgram.options[i].value == theDegree)
			{
				degreeProgram.options[i].selected = true;
				break;
			}
		}
	}
}

//---------- form validation function ----------
function validateForm() {
	var frm = document.uData;
	var degID = 0;
	var v = new Validator();
	
	
	if(frm.statematch.value == 'no')
	{
	v.raiseError("Your zip code is not in the state indicated");
			frm.zip.focus();	
	}
	//verify country
	if (frm.country_code[frm.country_code.selectedIndex].value == '')
	{
		if (v.isValid)
		{
			v.raiseError('Please select your country.');
			frm.country_code.focus();
		}
	}
	else if (frm.country_code[frm.country_code.selectedIndex].value != 'USA' && frm.country_code[frm.country_code.selectedIndex].value != 'CAN')
	{
		checkCountry();
		return;
	}
	
	
	if(frm.statematch.value == 'no')
	{
	v.raiseError(frm.statematch.value);
			frm.zip.focus();	
	}
	
	// verify first name is not blank
	v.validateTextChars(frm.first_name, 'First Name');
	
	// verify last name is not blank
	v.validateTextChars(frm.last_name, 'Last Name');
	
	// verify street address
	v.validateText(frm.address, 'Street Address');
	
	// verify city
	v.validateTextChars(frm.city, 'City');	
	
	// verify state is not blank	
	if (frm.state_code[frm.state_code.selectedIndex].value == '')
	{
		if (v.isValid)
		{
			v.raiseError('Please select your state.');
			frm.state_code.focus();
		}
	}
	
	// verify zip code
	if (frm.country_code[frm.country_code.selectedIndex].value != '' && frm.country_code[frm.country_code.selectedIndex].value == 'CA')
	{
		v.validateZipCanada(frm.zip, 'ZIP');
	}
	else
	{
		v.validateZip(frm.zip, 'ZIP');
	}
	
	// verify e-mail address is not blank and verify valid format
	v.validateEmail(frm.email, 'Email Address');
	
	// verify phone fields
	// verify home area code
	if (frm.h_area_code.value == '')
	{
		if (v.isValid)
		{
			v.raiseError('Please enter your home area code');
			frm.h_area_code.focus();
		}
	}
	
	if (frm.h_area_code.value != '' && frm.h_area_code.value.length < 3)
	{
		if (v.isValid)
		{
			v.raiseError('Home area code must have 3 digits');
			frm.h_area_code.focus();
		}
	}
	
	if (frm.h_area_code.value != '' && frm.h_area_code.value.length == 3 && !v.isPhoneNumeric(frm.h_area_code.value))
	{
		if (v.isValid)
		{
			v.raiseError('Home area code should contain only numbers.');
			frm.h_area_code.focus();
		}
	}
	if (frm.h_area_code.value == '111' || frm.h_area_code.value == '123' || frm.h_area_code.value == '222' || frm.h_area_code.value == '333' || frm.h_area_code.value == '444' || frm.h_area_code.value == '555' || frm.h_area_code.value == '666' || frm.h_area_code.value == '777' || frm.h_area_code.value == '888' || frm.h_area_code.value == '999' || frm.h_area_code.value == '911' || frm.h_area_code.value == '000' || frm.h_area_code.value == '098')
	{
		if (v.isValid)
		{
			v.raiseError('Home area code apears to be invalid.');
			frm.h_area_code.focus();
		}
	}
	
	// verify home phone number
	if (frm.h_phone.value == '')
	{
		if (v.isValid)
		{
			v.raiseError('Please enter your home phone number');
			frm.h_phone.focus();
		}
	}
	
	if (frm.h_phone.value != '' && frm.h_phone.value.length < 7)
	{
		if (v.isValid)
		{
			v.raiseError('Home phone number must have 7 digits');
			frm.h_phone.focus();
		}
	}
	
	if (frm.h_phone.value != '' && frm.h_phone.value.length >= 7 && !v.isPhoneNumeric(frm.h_phone.value))
	{
		if (v.isValid)
		{
			v.raiseError('Home phone number should contain only numbers.');
			frm.h_phone.focus();
		}
	}
	if (frm.h_phone.value.replace(/-/gi,'')=='1111111' ||
		 frm.h_phone.value.replace(/-/gi,'')=='1234567' || 
		 frm.h_phone.value.replace(/-/gi,'')=='4567890' || 
		 frm.h_phone.value.replace(/-/gi,'')=='0000000' || 
		 frm.h_phone.value.replace(/-/gi,'')=='2222222' || 
		 frm.h_phone.value.replace(/-/gi,'')=='3333333' || 
		 frm.h_phone.value.replace(/-/gi,'')=='4444444' || 
		 frm.h_phone.value.replace(/-/gi,'')=='5555555' || 
		 frm.h_phone.value.replace(/-/gi,'')=='6666666' || 
		 frm.h_phone.value.replace(/-/gi,'')=='7777777' || 
		 frm.h_phone.value.replace(/-/gi,'')=='8888888' || 
		 frm.h_phone.value.replace(/-/gi,'')=='9999999' || 
		 frm.h_phone.value.replace(/-/gi,'')=='00000000' || 
		 frm.h_phone.value.replace(/-/gi,'')=='000000')
	{
		if (v.isValid)
		{
			v.raiseError('Home phone number appears to be invalid.');
			frm.h_phone.focus();
		}
	}
	if (frm.h_phone.value.indexOf('000') == 0 || 
		frm.h_phone.value.indexOf('911') == 0 || 
		frm.h_phone.value.indexOf('555') == 0 || 
		frm.h_phone.value.indexOf('1234') == 0 || 
		frm.h_phone.value.indexOf('0123') == 0)
	{
		if (v.isValid)
		{
			v.raiseError('Home phone number appears to be invalid.');
			frm.h_phone.focus();
		}
	}
	
// verify evening area code
	if (frm.c_area_code.value != '' && frm.c_area_code.value.length < 3)
	{
		if (v.isValid)
		{
			v.raiseError('Evening area code must have 3 digits');
			frm.c_area_code.focus();
		}
	}
	
	if (frm.c_area_code.value != '' && frm.c_area_code.value.length == 3 && !v.isPhoneNumeric(frm.c_area_code.value))
	{
		if (v.isValid)
		{
			v.raiseError('Evening area code should contain only numbers.');
			frm.c_area_code.focus();
		}
	}
	if (frm.c_area_code.value == '111' || 
		frm.c_area_code.value == '123' || 
		frm.c_area_code.value == '222' || 
		frm.c_area_code.value == '333' || 
		frm.c_area_code.value == '444' || 
		frm.c_area_code.value == '555' || 
		frm.c_area_code.value == '666' || 
		frm.c_area_code.value == '777' || 
		frm.c_area_code.value == '888' || 
		frm.c_area_code.value == '999' || 
		frm.c_area_code.value == '911' || 
		frm.c_area_code.value == '000' || 
		frm.c_area_code.value == '098')
		{
		if (v.isValid)
		{
			v.raiseError('Evening area code apears to be invalid.');
			frm.c_area_code.focus();
		}
	}
	
	// verify evening phone number
	if (frm.c_phone.value != '' && frm.c_phone.value.length < 7)
	{
		if (v.isValid)
		{
			v.raiseError('Evening phone number must have 7 digits');
			frm.c_phone.focus();
		}
	}
	
	if (frm.c_phone.value != '' && frm.c_phone.value.length >= 7 && !v.isPhoneNumeric(frm.c_phone.value))
	{
		if (v.isValid)
		{
			v.raiseError('Evening phone number should contain only numbers.');
			frm.c_phone.focus();
		}
	}
	if (frm.c_phone.value.replace(/-/gi,'')=='1111111' || 
		frm.c_phone.value.replace(/-/gi,'')=='1234567' || 
		frm.c_phone.value.replace(/-/gi,'')=='4567890' || 
		frm.c_phone.value.replace(/-/gi,'')=='0000000' || 
		frm.c_phone.value.replace(/-/gi,'')=='2222222' || 
		frm.c_phone.value.replace(/-/gi,'')=='3333333' || 
		frm.c_phone.value.replace(/-/gi,'')=='4444444' || 
		frm.c_phone.value.replace(/-/gi,'')=='5555555' || 
		frm.c_phone.value.replace(/-/gi,'')=='6666666' || 
		frm.c_phone.value.replace(/-/gi,'')=='7777777' || 
		frm.c_phone.value.replace(/-/gi,'')=='8888888' || 
		frm.c_phone.value.replace(/-/gi,'')=='9999999' || 
		frm.c_phone.value.replace(/-/gi,'')=='00000000' || 
		frm.c_phone.value.replace(/-/gi,'')=='000000')
	{
		if (v.isValid)
		{
			v.raiseError('Evening phone number appears to be invalid.');
			frm.c_phone.focus();
		}
	}
	if (frm.c_phone.value.indexOf('000') == 0 || 
		frm.c_phone.value.indexOf('911') == 0 || 
		frm.c_phone.value.indexOf('555') == 0 || 
		frm.c_phone.value.indexOf('1234') == 0 || 
		frm.c_phone.value.indexOf('0123') == 0)
	{
		if (v.isValid)
		{
			v.raiseError('Evening phone number appears to be invalid.');
			frm.c_phone.focus();
		}
	}
	
// verify both evening phone fields are filled out, if either one is
	if ((frm.c_area_code.value == '') && (frm.c_phone.value != ''))
	{
		if (v.isValid)
		{
			v.raiseError('Please enter your evening area code.');
			frm.c_area_code.focus();
		}
	}
	
	if ((frm.c_phone.value == '') && (frm.c_area_code.value != ''))
	{
		if (v.isValid)
		{
			v.raiseError('Please enter your evening phone number');
			frm.c_phone.focus();
		}
	}	

// verify school of interest
	if (frm.institution[frm.institution.selectedIndex].value == '')
	{
		if (v.isValid)
		{
			v.raiseError('Please indicate your school of interest.');
			frm.institution.focus();
		}
	}
	
	// verify program_code
	if (frm.program_code[frm.program_code.selectedIndex].value == '')
	{
		if (v.isValid)
		{
			v.raiseError('Please indicate your degree program of interest.');
			frm.program_code.focus();
		}
	}
	
		// verify program_code
	if (((frm.program_code[frm.program_code.selectedIndex].value == '674' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '366' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '352' ||  
		  frm.program_code[frm.program_code.selectedIndex].value == '742' ||  
		  frm.program_code[frm.program_code.selectedIndex].value == '743' ||  
		  frm.program_code[frm.program_code.selectedIndex].value == '740' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '367' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '398' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '399' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '400' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '431' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '432' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '387' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '895' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '899' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '388' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '389' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '390' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '368' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '370' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '371' || 
		  
		  
		  
		  
		  frm.program_code[frm.program_code.selectedIndex].value == '746' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '852' || 
		  
		  
		  
		  
		  
		  frm.program_code[frm.program_code.selectedIndex].value == '372' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '373' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '353' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '374' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '429' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '622' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '378' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '430' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '392' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '393' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '394' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '395' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '396' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '397' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '380' || 
		
		  frm.program_code[frm.program_code.selectedIndex].value == '379' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '382' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '383' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '384' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '385' ||
		  frm.program_code[frm.program_code.selectedIndex].value == '853' ||
		  frm.program_code[frm.program_code.selectedIndex].value == '854' ||
		  frm.program_code[frm.program_code.selectedIndex].value == '855' ||
		  frm.program_code[frm.program_code.selectedIndex].value == '898' ||
		  frm.program_code[frm.program_code.selectedIndex].value == '896' ||
		  frm.program_code[frm.program_code.selectedIndex].value == '897' ||
		  frm.program_code[frm.program_code.selectedIndex].value == '623'||
		  frm.program_code[frm.program_code.selectedIndex].value == '882'||
		  frm.program_code[frm.program_code.selectedIndex].value == '883'||
		  frm.program_code[frm.program_code.selectedIndex].value == '884' ) && 
		  
		  frm.education_level[frm.education_level.selectedIndex].value < 8) || 
		  ((frm.program_code[frm.program_code.selectedIndex].value == '744' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '745' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '416' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '417' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '418' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '419' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '404' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '406' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '405' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '407' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '408' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '409' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '421' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '420' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '422' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '433' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '424' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '410' || 
		
		  frm.program_code[frm.program_code.selectedIndex].value == '412' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '413' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '414' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '415' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '850' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '851' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '852' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '856' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '857' || 
		  frm.program_code[frm.program_code.selectedIndex].value == '858'|| 
		  frm.program_code[frm.program_code.selectedIndex].value == '885'|| 
		  frm.program_code[frm.program_code.selectedIndex].value == '894'|| 
		  frm.program_code[frm.program_code.selectedIndex].value == '892'|| 
		  frm.program_code[frm.program_code.selectedIndex].value == '893'|| 
		  frm.program_code[frm.program_code.selectedIndex].value == '890'|| 
		  frm.program_code[frm.program_code.selectedIndex].value == '891'|| 
		  frm.program_code[frm.program_code.selectedIndex].value == '881' ) && 
		  
		  frm.education_level[frm.education_level.selectedIndex].value < 13) ||
		  frm.education_level[frm.education_level.selectedIndex].value == '2')
	{
		
		if (v.isValid)
		{
			v.raiseError('You do not meet the educational requirements for this degree.');
			frm.program_code.focus();
		}
	}
	if (frm.program_code[frm.program_code.selectedIndex].value == '368' || 
		frm.program_code[frm.program_code.selectedIndex].value == '370' || 
		frm.program_code[frm.program_code.selectedIndex].value == '353' ||  
		frm.program_code[frm.program_code.selectedIndex].value == '622'  )
			alert('Thank you for your interest in Capella University.  The specialization you have selected is for current K-12 professionals interested in extending their education with a graduate degree.  Please be aware that this specialization does not lead to initial teacher licensure.');
			
	if(( frm.age_21[frm.age_21.selectedIndex].value == '18' ||  frm.age_21[frm.age_21.selectedIndex].value == '17' ) && frm.military_benefit[frm.military_benefit.selectedIndex].value == 'N'  && frm.military_benefit[frm.military_benefit.selectedIndex].value == 'N'  && frm.education_level[frm.education_level.selectedIndex].value < 6)
	v.raiseError('Thank You for your interest in Capella University.  Students applying for any Undergraduate Studies program must be 24 years of age or older.   For students 23 years of age or under must have 90+ quarter credits/60+ semester credits or Active Military Status.');
	
	//verify enrollment date
	if (frm.month_completion_date[frm.month_completion_date.selectedIndex].value == '' || frm.year_completion_date[frm.year_completion_date.selectedIndex].value == '')
	{
		if (v.isValid)
		{
			v.raiseError('Please indicate your projected start date.');
			frm.month_completion_date.focus();
		}
	}
	
	// verify age is in correct format if it's entered
	if (frm.age_21.value != '')
	{
		if (v.isValid)
		{
			if ((frm.age_21.value < 1) || (frm.age_21.value > 100))
			{
				v.raiseError('Age should be between 1 and 100.');
				frm.age_21.focus();
			}
			else if (!v.isPhoneNumeric(frm.age_21.value))
			{
				v.raiseError('Age should contain only numbers.');
				frm.age_21.focus();
			}
		}
	}

	if (v.isValid) 
	{
		for (var i=0; i<document.links.length; i++)
		{
			if (document.links[i].href.toLowerCase() == 'javascript:validateform();')
			{
				document.links[i].href = '#';
				break;
			}
		}
		frm.program_code.disabled = false;
		frm.submit();
	}
}
