FOSstates = Array("AA","AE","AK","AL","AP","AR","AS","AZ","CA","CO","CT","DC","DE","FL","FM","GA","GU","HI","IA","ID","IL","IN","KS","KY","LA","MA","MD","ME","MH","MI","MN","MO","MP","MS","MT","NC","ND","NE","NH","NJ","NM","NV","NY","OH","OK","OR","PA","PR","PW","RI","SC","SD","TN","TX","UT","VA","VI","VT","WA","WI","WV","WY");
FOSzips = Array ("00000","005NY","006PR","007PR","008VI","009PR","010MA","011MA","012MA","013MA","014MA","015MA","016MA","017MA","018MA","019MA","020MA","021MA","022MA","023MA","024MA","025MA","026MA","027MA","028RI","029RI","030NH","031NH","032NH","033NH","034NH","035NH","036NH","037NH","038NH","039ME","040ME","041ME","042ME","043ME","044ME","045ME","046ME","047ME","048ME","049ME","050VT","051VT","052VT","053VT","054VT","055MA","056VT","057VT","058VT","059VT","060CT","061CT","062CT","063CT","063NY","064CT","065CT","066CT","067CT","068CT","069CT","070NJ","071NJ","072NJ","073NJ","074NJ","075NJ","076NJ","077NJ","078NJ","079NJ","080NJ","081NJ","082NJ","083NJ","084NJ","085NJ","086NJ","087NJ","088NJ","089NJ","090AE","091AE","092AE","093AE","094AE","095AE","096AE","097AE","098AE","100NY","101NY","102NY","103NY","104NY","105NY","106NY","107NY","108NY","109NY","110NY","111NY","112NY","113NY","114NY","115NY","116NY","117NY","118NY","119NY","120NY","121NY","122NY","123NY","124NY","125NY","126NY","127NY","128NY","129NY","130NY","131NY","132NY","133NY","134NY","135NY","136NY","137NY","138NY","139NY","140NY","141NY","142NY","143NY","144NY","145NY","146NY","147NY","148NY","149NY","150PA","151PA","152PA","153PA","154PA","155PA","156PA","157PA","158PA","159PA","160PA","161PA","162PA","163PA","164PA","165PA","166PA","167PA","168PA","169PA","170PA","171PA","172PA","173PA","174PA","175PA","176PA","177PA","178PA","179PA","180PA","181PA","182PA","183PA","184PA","185PA","186PA","187PA","188PA","189PA","190PA","191PA","192PA","193PA","194PA","195PA","196PA","197DE","198DE","199DE","200DC","201VA","202DC","203DC","204DC","205DC","206MD","207MD","208MD","209MD","210MD","211MD","212MD","214MD","215MD","216MD","217MD","218MD","219MD","220VA","221VA","222VA","223VA","224VA","225VA","226VA","227VA","228VA","229VA","230VA","231VA","232VA","233VA","234VA","235VA","236VA","237VA","238VA","239VA","240VA","241VA","242VA","243VA","244VA","245VA","246VA","247WV","248WV","249WV","250WV","251WV","252WV","253WV","254WV","255WV","256WV","257WV","258WV","259WV","260WV","261WV","262WV","263WV","264WV","265WV","266WV","267WV","268WV","270NC","271NC","272NC","273NC","274NC","275NC","276NC","277NC","278NC","279NC","280NC","281NC","282NC","283NC","284NC","285NC","286NC","287NC","288NC","289NC","290SC","291SC","292SC","293SC","294SC","295SC","296SC","297SC","298SC","299SC","300GA","301GA","302GA","303GA","304GA","305GA","306GA","307GA","308GA","309GA","310GA","311GA","312GA","313GA","314GA","315GA","316GA","317GA","318GA","319GA","320FL","321FL","322FL","323FL","324FL","325FL","326FL","327FL","328FL","329FL","330FL","331FL","332FL","333FL","334FL","335FL","336FL","337FL","338FL","339FL","340AA","341FL","342FL","344FL","346FL","347FL","349FL","350AL","351AL","352AL","354AL","355AL","356AL","357AL","358AL","359AL","360AL","361AL","362AL","363AL","364AL","365AL","366AL","367AL","368AL","369AL","370TN","371TN","372TN","373TN","374TN","375TN","376TN","377TN","378TN","379TN","380TN","381TN","382TN","383TN","384TN","385TN","386MS","387MS","388MS","389MS","390MS","391MS","392MS","393MS","394MS","395MS","396MS","397MS","398GA","399GA","400KY","401KY","402KY","403KY","404KY","405KY","406KY","407KY","408KY","409KY","410KY","411KY","412KY","413KY","414KY","415KY","416KY","417KY","418KY","419KY","420KY","421KY","422KY","423KY","424KY","425KY","426KY","427KY","430OH","431OH","432OH","433OH","434OH","435OH","436OH","437OH","438OH","439OH","440OH","441OH","442OH","443OH","444OH","445OH","446OH","447OH","448OH","449OH","450OH","451OH","452OH","453OH","454OH","455OH","456OH","457OH","458OH","459OH","460IN","461IN","462IN","463IN","464IN","465IN","466IN","467IN","468IN","469IN","470IN","471IN","472IN","473IN","474IN","475IN","476IN","477IN","478IN","479IN","480MI","481MI","482MI","483MI","484MI","485MI","486MI","487MI","488MI","489MI","490MI","491MI","492MI","493MI","494MI","495MI","496MI","497MI","498MI","499MI","500IA","501IA","502IA","503IA","504IA","505IA","506IA","507IA","508IA","509IA","510IA","511IA","512IA","513IA","514IA","515IA","516IA","520IA","521IA","522IA","523IA","524IA","525IA","526IA","527IA","528IA","530WI","531WI","532WI","534WI","535WI","537WI","538WI","539WI","540WI","541WI","542WI","543WI","544WI","545WI","546WI","547WI","548WI","549WI","550MN","551MN","553MN","554MN","555MN","556MN","557MN","558MN","559MN","560MN","561MN","562MN","563MN","564MN","565MN","566MN","567MN","570SD","571SD","572SD","573SD","574SD","575SD","576SD","577SD","580ND","581ND","582ND","583ND","584ND","585ND","586ND","587ND","588ND","590MT","591MT","592MT","593MT","594MT","595MT","596MT","597MT","598MT","599MT","600IL","601IL","602IL","603IL","604IL","605IL","606IL","607IL","608IL","609IL","610IL","611IL","612IL","613IL","614IL","615IL","616IL","617IL","618IL","619IL","620IL","622IL","623IL","624IL","625IL","626IL","627IL","628IL","629IL","630MO","631MO","633MO","634MO","635MO","636MO","637MO","638MO","639MO","640MO","641MO","644MO","645MO","646MO","647MO","648MO","649MO","650MO","651MO","652MO","653MO","654MO","655MO","656MO","657MO","658MO","660KS","661KS","662KS","664KS","665KS","666KS","667KS","668KS","669KS","670KS","671KS","672KS","673KS","674KS","675KS","676KS","677KS","678KS","679KS","680NE","681NE","683NE","684NE","685NE","686NE","687NE","688NE","689NE","690NE","691NE","692NE","693NE","700LA","701LA","703LA","704LA","705LA","706LA","707LA","708LA","710LA","711LA","712LA","713LA","714LA","716AR","717AR","718AR","719AR","720AR","721AR","722AR","723AR","724AR","725AR","726AR","727AR","728AR","729AR","730OK","731OK","733TX","734OK","735OK","736OK","737OK","738OK","739OK","740OK","741OK","743OK","744OK","745OK","746OK","747OK","748OK","749OK","750TX","751TX","752TX","753TX","754TX","755TX","756TX","757TX","758TX","759TX","760TX","761TX","762TX","763TX","764TX","765TX","766TX","767TX","768TX","769TX","770TX","772TX","773TX","774TX","775TX","776TX","777TX","778TX","779TX","780TX","781TX","782TX","783TX","784TX","785TX","786TX","787TX","788TX","789TX","790TX","791TX","792TX","793TX","794TX","795TX","796TX","797TX","798TX","799TX","800CO","801CO","802CO","803CO","804CO","805CO","806CO","807CO","808CO","809CO","810CO","811CO","812CO","813CO","814CO","815CO","816CO","820WY","821WY","822WY","823WY","824WY","825WY","826WY","827WY","828WY","829WY","830WY","831WY","832ID","833ID","834ID","834WY","835ID","836ID","837ID","838ID","840UT","841UT","842UT","843UT","844UT","845UT","846UT","847UT","850AZ","852AZ","853AZ","855AZ","856AZ","857AZ","859AZ","860AZ","863AZ","864AZ","865AZ","870NM","871NM","873NM","874NM","875NM","877NM","878NM","879NM","880NM","881NM","882NM","883NM","884NM","885TX","889NV","890NV","891NV","893NV","894NV","895NV","897NV","898NV","900CA","901CA","902CA","903CA","904CA","905CA","906CA","907CA","908CA","910CA","911CA","912CA","913CA","914CA","915CA","916CA","917CA","918CA","919CA","920CA","921CA","922CA","923CA","924CA","925CA","926CA","927CA","928CA","930CA","931CA","932CA","933CA","934CA","935CA","936CA","937CA","938CA","939CA","940CA","941CA","942CA","943CA","944CA","945CA","946CA","947CA","948CA","949CA","950CA","951CA","952CA","953CA","954CA","955CA","956CA","957CA","958CA","959CA","960CA","961CA","962AP","963AP","964AP","965AP","966AP","967AS","967HI","968HI","969FM","969GU","969MH","969MP","969PW","970OR","971OR","972OR","973OR","974OR","975OR","976OR","977OR","978OR","979OR","980WA","981WA","982WA","983WA","984WA","985WA","986WA","988WA","989WA","990WA","991WA","992WA","993WA","994WA","995AK","996AK","997AK","998AK","99999","999AK");

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function programValidation(){
	if(u_of_phoenix.extra_field1[u_of_phoenix.extra_field1.selectedIndex].value == "BSN"){
		if(u_of_phoenix.extra_field12.value == "" || (u_of_phoenix.extra_field13.value == "" && (u_of_phoenix.extra_field14.value=="" || u_of_phoenix.extra_field15.value==""))){
			myWindow = window.open("bsn.htm", "qWin", "width=400,height=400")
			return false;
		}
	}

	if(u_of_phoenix.extra_field1[u_of_phoenix.extra_field1.selectedIndex].value == "MSN"){
		if(u_of_phoenix.extra_field12.value == "" || (u_of_phoenix.extra_field13.value == "" && (u_of_phoenix.extra_field14.value=="" || u_of_phoenix.extra_field15.value=="") && u_of_phoenix.extra_field16.value == "")){
			myWindow = window.open("msn.htm", "qWin", "width=400,height=400")
			return false;
		}
	}
}

function validate21(){
	alert("Applicants to University of Phoenix Online must be 21 years of age upon enrollment.\n\nUnfortunately, we cannot extend an application to you at this time.\n\nWe hope that you'll consider us for your future continuing education.  If you'd like more information, please call us at 1-800-366-9699.");
}

function validateForm(thisform){
	str = '';
	if(thisform.extra_field1.selectedIndex == 0){
		str += "* Please select a degree\n";
	}

	programValidation();

	if(!thisform.extra_field3[1].checked && !thisform.extra_field3[0].checked){
		str += "* Please indicate your age upon enrollment\n";
	}

	if(thisform.extra_field3[1].checked){
		alert("Applicants to University of Phoenix Online must be 21 years of age upon enrollment.\n\nUnfortunately, we cannot extend an application to you at this time.\n\nWe hope that you'll consider us for your future continuing education.  If you'd like more information, please call us at 1-800-366-9699.");
		return false;
	}

	if(thisform.first_name.value.length < 2 || thisform.first_name.value.length > 80){
		str += "* First Name\n";
	}else if(!alpha(thisform.first_name.value)){
		str += "* First Name\n";
	}

	if(thisform.last_name.value.length < 2 || thisform.last_name.value.length > 80){
		str += "* Last Name\n";
	}else if(!alpha(thisform.last_name.value)){
		str += "* Last Name\n";
	}

	if(thisform.address1.value.length < 3 || thisform.address1.value.length > 30){
		str += "* Address\n";
	}else if(!alphanumeric(thisform.address1.value)){
		str += "* Address\n";
	}

	if(thisform.address2.value.length > 30){
		str += "* Address2\n";
	}else if(!alphanumeric(thisform.address2.value)){
		str += "* Address2\n";
	}

	if(!thisform.extra_field4[0].checked && !thisform.extra_field4[1].checked){
		str += "* Address Type\n";
	}

	if(thisform.city.value.length < 2 || thisform.city.value.length > 20){
		str += "* City\n";
	}else if(!alpha(thisform.city.value)){
		str += "* City\n";
	}

	if(thisform.state.selectedIndex == 0){
		str += "* State\n";
	}

	if(thisform.zip.value.length < 5 || thisform.zip.value.length > 10){
		str += "* Zip\n";
	}else if(!alphanumeric(thisform.zip.value)){
		str += "* Zip\n";
	}

	State2 = thisform.state.value.substr(0,2);
	Zip3 = thisform.zip.value.substr(0,3);
	if(BinarySearch(FOSstates,State2)>-1){
		if(BinarySearch(FOSzips,Zip3+State2)==-1){
			str += "* State / Zip Combination\n";
		}
	}

	if(thisform.email.value.length < 7){
		str += "* Email\n";
	}else if(thisform.email.value.indexOf(" ") != -1 || thisform.email.value.indexOf("@") == -1 || thisform.email.value.indexOf(".") == -1){
		str += "* Email\n";
	}

	if(thisform.extra_field5.value.length != 3){
		str += "* Work Area Code\n";
	}else if(!numeric(thisform.extra_field5.value)){
		str += "* Work Area Code\n";
	}else if(thisform.extra_field5.value == "111"){
		str += "* Work Area Code\n";
	}else if(thisform.extra_field5.value == "123"){
		str += "* Work Area Code\n";
	}else if(thisform.extra_field5.value == "222"){
		str += "* Work Area Code\n";
	}else if(thisform.extra_field5.value == "333"){
		str += "* Work Area Code\n";
	}else if(thisform.extra_field5.value == "444"){
		str += "* Work Area Code\n";
	}else if(thisform.extra_field5.value == "555"){
		str += "* Work Area Code\n";
	}else if(thisform.extra_field5.value == "666"){
		str += "* Work Area Code\n";
	}else if(thisform.extra_field5.value == "777"){
		str += "* Work Area Code\n";
	}else if(thisform.extra_field5.value == "999"){
		str += "* Work Area Code\n";
	}else if(thisform.extra_field5.value == "911"){
		str += "* Work Area Code\n";
	}else if(thisform.extra_field5.value == "000"){
		str += "* Work Area Code\n";
	}

	if(thisform.extra_field6.value.length < 7 || thisform.extra_field6.value.length > 8){
		str += "* Work Phone\n";
	}else if(!numeric(thisform.extra_field6.value)){
		str += "* Work Phone\n";
	}else if(thisform.extra_field6.value.substr(0,3) == "000"){
		str += "* Work Phone\n";
	}else if(thisform.extra_field6.value.substr(0,3) == "911"){
		str += "* Work Phone\n";
	}else if(thisform.extra_field6.value.substr(0,3) == "555"){
		str += "* Work Phone\n";
	}else if(thisform.extra_field6.value.substr(0,3) == "123"){
		str += "* Work Phone\n";
	}else if(thisform.extra_field6.value.substr(0,3) == "012"){
		str += "* Work Phone\n";
	}else if(thisform.extra_field6.value == "4567890"){
		str += "* Work Phone\n";
	}else if(thisform.extra_field6.value == "1111111"){
		str += "* Work Phone\n";
	}else if(thisform.extra_field6.value == "2222222"){
		str += "* Work Phone\n";
	}else if(thisform.extra_field6.value == "3333333"){
		str += "* Work Phone\n";
	}else if(thisform.extra_field6.value == "4444444"){
		str += "* Work Phone\n";
	}else if(thisform.extra_field6.value == "6666666"){
		str += "* Work Phone\n";
	}else if(thisform.extra_field6.value == "7777777"){
		str += "* Work Phone\n";
	}else if(thisform.extra_field6.value == "8888888"){
		str += "* Work Phone\n";
	}else if(thisform.extra_field6.value == "9999999"){
		str += "* Work Phone\n";
	}

	if(thisform.extra_field7.value.length != 3){
		str += "* Home Area Code\n";
	}else if(!numeric(thisform.extra_field7.value)){
		str += "* Home Area Code\n";
	}else if(thisform.extra_field7.value == "111"){
		str += "* Home Area Code\n";
	}else if(thisform.extra_field7.value == "123"){
		str += "* Home Area Code\n";
	}else if(thisform.extra_field7.value == "222"){
		str += "* Home Area Code\n";
	}else if(thisform.extra_field7.value == "333"){
		str += "* Home Area Code\n";
	}else if(thisform.extra_field7.value == "444"){
		str += "* Home Area Code\n";
	}else if(thisform.extra_field7.value == "555"){
		str += "* Home Area Code\n";
	}else if(thisform.extra_field7.value == "666"){
		str += "* Home Area Code\n";
	}else if(thisform.extra_field7.value == "777"){
		str += "* Home Area Code\n";
	}else if(thisform.extra_field7.value == "999"){
		str += "* Home Area Code\n";
	}else if(thisform.extra_field7.value == "911"){
		str += "* Home Area Code\n";
	}else if(thisform.extra_field7.value == "000"){
		str += "* Home Area Code\n";
	}

	if(thisform.extra_field8.value.length < 7 || thisform.extra_field8.value.length > 8){
		str += "* Home Phone\n";
	}else if(!numeric(thisform.extra_field8.value)){
		str += "* Home Phone\n";
	}else if(thisform.extra_field8.value.substr(0,3) == "000"){
		str += "* Home Phone\n";
	}else if(thisform.extra_field8.value.substr(0,3) == "911"){
		str += "* Home Phone\n";
	}else if(thisform.extra_field8.value.substr(0,3) == "555"){
		str += "* Home Phone\n";
	}else if(thisform.extra_field8.value.substr(0,3) == "123"){
		str += "* Home Phone\n";
	}else if(thisform.extra_field8.value.substr(0,3) == "012"){
		str += "* Home Phone\n";
	}else if(thisform.extra_field8.value == "4567890"){
		str += "* Home Phone\n";
	}else if(thisform.extra_field8.value == "1111111"){
		str += "* Home Phone\n";
	}else if(thisform.extra_field8.value == "2222222"){
		str += "* Home Phone\n";
	}else if(thisform.extra_field8.value == "3333333"){
		str += "* Home Phone\n";
	}else if(thisform.extra_field8.value == "4444444"){
		str += "* Home Phone\n";
	}else if(thisform.extra_field8.value == "6666666"){
		str += "* Home Phone\n";
	}else if(thisform.extra_field8.value == "7777777"){
		str += "* Home Phone\n";
	}else if(thisform.extra_field8.value == "8888888"){
		str += "* Home Phone\n";
	}else if(thisform.extra_field8.value == "9999999"){
		str += "* Home Phone\n";
	}

	if(thisform.extra_field9.value.length > 40){
		str += "* Address2\n";
	}else if(!alphanumeric(thisform.extra_field9.value)){
		str += "* Address2\n";
	}

	if(str == ''){
		return true;
	}else{
		alert("The required information is incomplete or contains errors:\n\n"+str);
		return false;
	}
}
function numeric(val){
	temp = true;
	for (i=0;i<val.length;i++){
		if(!(val.charAt(i)>='0' && val.charAt(i)<='9')){
			temp = false;
		}
	}
	return temp;
}
function phonenumeric(val){
	temp = true;
	for (i=0;i<val.length;i++){
		if(!(val.charAt(i)=='-') && !(val.charAt(i)>='0' && val.charAt(i)<='9')){
			temp = false;
		}
	}
	return temp;
}
function alphanumeric(val){
	temp = true;
	for (i=0;i<val.length;i++){
		if(!(val.charAt(i)==' ') && !(val.charAt(i)>='0' && val.charAt(i)<='9') && !(val.charAt(i)>='a' && val.charAt(i)<='z') && !(val.charAt(i)>='A' && val.charAt(i)<='Z')){
			temp = false;
		}
	}
	return temp;
}
function alpha(val){
	temp = true;
	for (i=0;i<val.length;i++){
		if(!(val.charAt(i)==' ') && !(val.charAt(i)>='a' && val.charAt(i)<='z') && !(val.charAt(i)>='A' && val.charAt(i)<='Z')){
			temp = false;
		}
	}
	return temp;
}
function BinarySearch(ArrayToSearch, SearchFor){
    first = 0;
    last = ArrayToSearch.length - 1;
    mid = Math.floor((first + last) / 2);
    while((first <= last) && (ArrayToSearch[mid]!=SearchFor)){
		if(SearchFor < ArrayToSearch[mid]){
			last = mid - 1;
		}else if(SearchFor > ArrayToSearch[mid]){
			first = mid + 1;
		}
		mid = Math.floor((first + last)/2);
    }
    if(ArrayToSearch[mid]==SearchFor){
    	return mid;
    }else{
		return -1;
    }
}
