function validate_form(form) {
	check_citation(form.icite);
	
	form.submit();
}

function is_empty(obj) {
	var p = new RegExp("^\\s*$");
	if (p.test(obj.value)) { return true; }
	return false;
}

function check_citation(obj) {
	// return if the citation is empty
	if (is_empty(obj)) { return; }
	
	// all regular expressions have "^\\s*" prepended and "\\s*$" appended to
	// them before running.
	var citation_array = new Array();
		
	// atlantic reporter
	citation_array["(\\d{1,3})\\s*A\\.?\\s*(\\d{1,4})"] = "$1 A. $2";
	citation_array["(\\d{1,3})\\s*A\\.?\\s*2d\\s*(\\d{1,4})"] = "$1 A.2d $2";
	
	// northeastern reporter
	citation_array["(\\d{1,3})\\s*N\\.?\\s*E\\.?\\s*(\\d{1,4})"] = "$1 N.E. $2";
	citation_array["(\\d{1,3})\\s*N\\.?\\s*E\\.?\\s*2d\\s*(\\d{1,4})"] = "$1 N.E.2d $2";
	
	// northwestern reporter
	citation_array["(\\d{1,3})\\s*N\\.?\\s*W\\.?\\s*(\\d{1,4})"] = "$1 N.W. $2";
	citation_array["(\\d{1,3})\\s*N\\.?\\s*W\\.?\\s*2d\\s*(\\d{1,4})"] = "$1 N.W.2d $2";
	
	// pacific reporter
	citation_array["(\\d{1,3})\\s*P\\.?\\s*(\\d{1,4})"] = "$1 P. $2";
	citation_array["(\\d{1,3})\\s*P\\.?\\s*([2-3])d\\s*(\\d{1,4})"] = "$1 P.$2d $3";
	
	// southern reporter
	citation_array["(\\d{1,3})\\s*So\\.?\\s*(\\d{1,4})"] = "$1 So. $2";
	citation_array["(\\d{1,3})\\s*So\\.?\\s*2d\\s*(\\d{1,4})"] = "$1 So.2d $2";
	
	// southeastern reporter
	citation_array["(\\d{1,3})\\s*S\\.?\\s*E\\.?\\s*(\\d{1,4})"] = "$1 S.E. $2";
	citation_array["(\\d{1,3})\\s*S\\.?\\s*E\\.?\\s*([2-3])d\\s*(\\d{1,4})"] = "$1 S.E.$2d $3";
	
	// southwestern reporter
	citation_array["(\\d{1,3})\\s*S\\.?\\s*W\\.?\\s*(\\d{1,4})"] = "$1 S.W. $2";
	citation_array["(\\d{1,3})\\s*S\\.?\\s*W\\.?\\s*([2-3])d\\s*(\\d{1,4})"] = "$1 S.W.$2d $3";
	
	// alabama
	citation_array["(\\d{1,3})\\s*Ala\\.?\\s*(\\d{1,4})"] = "$1 Ala. $2";
	citation_array["(\\d{1,3})\\s*Ala\\.?\\s*App\\.?\\s*(\\d{1,4})"] = "$1 Ala. App. $2";
		
	// arizona
	citation_array["(\\d{1,3})\\s*Ariz\\.?\\s*(\\d{1,4})"] = "$1 Ariz. $2";
	citation_array["(\\d{1,3})\\s*Ariz\\.?\\s*App\\.?\\s*(\\d{1,4})"] = "$1 Ariz. App. $2";
	
	// arkansas
	citation_array["(\\d{1,3})\\s*Ark\\.?\\s*(\\d{1,4})"] = "$1 Ark. $2";
	citation_array["(\\d{1,3})\\s*Ark\\.?\\s*App\\.?\\s*(\\d{1,4})"] = "$1 Ark. App. $2";
	
	// california
	citation_array["(\\d{1,3})\\s*Cal\\.?\\s*(\\d{1,4})"] = "$1 Cal. $2";
	citation_array["(\\d{1,3})\\s*Cal\\.?\\s*([2-4])d\\s*(\\d{1,4})"] = "$1 Cal.$2d $3";
	citation_array["(\\d{1,3})\\s*Cal\\.?\\s*Rptr\\.?\\s*(\\d{1,4})"] = "$1 Cal.Rptr. $2";
	citation_array["(\\d{1,3})\\s*Cal\\.?\\s*Rptr\\.?\\s*2d\\s*(\\d{1,4})"] = "$1 Cal.Rptr.2d $2";
	citation_array["(\\d{1,3})\\s*Cal\\.?\\s*App\\.?\\s*(\\d{1,4})"] = "$1 Cal.App. $2";
	citation_array["(\\d{1,3})\\s*Cal\\.?\\s*App\\.?\\s*([2-4])d\\s*(\\d{1,4})"] = "$1 Cal.App.$2d $3";
	citation_array["(\\d{1,3})\\s*Cal\\.?\\s*App\\.?\\s*Supp\\.?\\s*(\\d{1,4})"] = "$1 Cal.App. Supp. $2";
	citation_array["(\\d{1,3})\\s*Cal\\.?\\s*App\\.?\\s*Supp\\.?\\s*([2-4])d\\s*(\\d{1,4})"] = "$1 Cal.App.Supp.$2d $3";
	
	//colorado
	citation_array["(\\d{1,3})\\s*Colo\\.?\\s*(\\d{1,4})"] = "$1 Colo. $2";
	citation_array["(\\d{1,3})\\s*Colo\\.?\\s*App\\.?\\s*(\\d{1,4})"] = "$1 Colo. App. $2";
	
	// connecticut
	citation_array["(\\d{1,3})\\s*Conn\\.?\\s*(\\d{1,4})"] = "$1 Conn. $2";
	citation_array["(\\d{1,3})\\s*Conn\\.?\\s*App\\.?\\s*(\\d{1,4})"] = "$1 Conn. App. $2";
	citation_array["(\\d{1,3})\\s*Conn\\.?\\s*Supp\\.?\\s*(\\d{1,4})"] = "$1 Conn. Supp. $2";
	citation_array["(\\d{1,3})\\s*Conn\\.?\\s*Cir\\.?\\s*(\\d{1,4})"] = "$1 Conn. Cir. $2";
	
	// deleware
	citation_array["(\\d{1,3})\\s*Del\\.?\\s*(\\d{1,4})"] = "$1 Del. $2";
	citation_array["(\\d{1,3})\\s*Del\\.?\\s*Ch\\.?\\s*(\\d{1,4})"] = "$1 Del. Ch. $2";
	
	// florida
	citation_array["(\\d{1,3})\\s*Fla\\.?\\s*(\\d{1,4})"] = "$1 Fla. $2";
	citation_array["(\\d{1,3})\\s*Fla\\.?\\s*Supp\\.?\\s*(\\d{1,4})"] = "$1 Fla. Supp. $2";
	citation_array["(\\d{1,3})\\s*Fla\\.?\\s*Supp\\.?\\s*2d\\s*(\\d{1,4})"] = "$1 Fla. Supp.2d $2";
	
	// georgia
	citation_array["(\\d{1,3})\\s*Ga\\.?\\s*(\\d{1,4})"] = "$1 Ga. $2";
	citation_array["(\\d{1,3})\\s*Ga\\.?\\s*App\\.?\\s*(\\d{1,4})"] = "$1 Ga. App. $2";
	
	// hawaii
	citation_array["(\\d{1,3})\\s*Haw\\.?\\s*(\\d{1,4})"] = "$1 Haw. $2";
	citation_array["(\\d{1,3})\\s*Haw\\.?\\s*App\\.?\\s*(\\d{1,4})"] = "$1 Haw. App. $2";
	
	// idaho
	citation_array["(\\d{1,3})\\s*Idaho\\.?\\s*(\\d{1,4})"] = "$1 Idaho $2";
	
	// illinois
	citation_array["(\\d{1,3})\\s*Ill\\.?\\s*(\\d{1,4})"] = "$1 Ill. $2";
	citation_array["(\\d{1,3})\\s*Ill\\.?\\s*2d\\s*(\\d{1,4})"] = "$1 Ill.2d $2";
	citation_array["(\\d{1,3})\\s*Ill\\.?\\s*Dec\\.?\\s*(\\d{1,4})"] = "$1 Ill. Dec. $2";
	citation_array["(\\d{1,3})\\s*Ill\\.?\\s*App\\.?\\s*(\\d{1,4})"] = "$1 Ill. App. $2";
	citation_array["(\\d{1,3})\\s*Ill\\s*App\\.?\\s*([2-3])d\\s*(\\d{1,4})"] = "$1 Ill. App.$2d $3";
	citation_array["(\\d{1,3})\\s*Ill\\.?\\s*Cl\\.?\\s*(\\d{1,4})"] = "$1 Ill. Cl. $2";
	citation_array["(\\d{1,3})\\s*Ill\\.?\\s*Cir\\.?\\s*(\\d{1,4})"] = "$1 Ill. Cir. $2";
	
	// indiana
	citation_array["(\\d{1,3})\\s*Ind\\.?\\s*(\\d{1,4})"] = "$1 Ind. $2";
	citation_array["(\\d{1,3})\\s*Ind\\.?\\s*App\\.?\\s*(\\d{1,4})"] = "$1 Ind. App. $2";
	
	// iowa
	citation_array["(\\d{1,3})\\s*Iowa\\s*(\\d{1,4})"] = "$1 Iowa $2";
	
	// kansas (has spaces between App. and 2d, different from rest)
	citation_array["(\\d{1,3})\\s*Kan\\.?\\s*(\\d{1,4})"] = "$1 Kan. $2";
	citation_array["(\\d{1,3})\\s*Kan\\.?\\s*App\\.?\\s*(\\d{1,4})"] = "$1 Kan. App. $2";
	citation_array["(\\d{1,3})\\s*Kan\\.?\\s*App\\.?\\s*2d\\s*(\\d{1,4})"] = "$1 Kan. App. 2d $2";
	
	// kentucky
	citation_array["(\\d{1,3})\\s*Ky\\.?\\s*(\\d{1,4})"] = "$1 Ky. $2";
	
	// louisiana
	citation_array["(\\d{1,3})\\s*La\\.?\\s*(\\d{1,4})"] = "$1 La. $2";
	
	// maine
	citation_array["(\\d{1,3})\\s*Me\\.?\\s*(\\d{1,4})"] = "$1 Me. $2";
	
	// maryland
	citation_array["(\\d{1,3})\\s*Md\\.?\\s*(\\d{1,4})"] = "$1 Md. $2";
	citation_array["(\\d{1,3})\\s*Md\\.?\\s*App\\.?\\s*(\\d{1,4})"] = "$1 Md. App. $2";
	
	// massachussets
	citation_array["(\\d{1,3})\\s*Mass\\.?\\s*(\\d{1,4})"] = "$1 Mass. $2";
	citation_array["(\\d{1,3})\\s*Mass\\.?\\s*App\\.?\\s*Ct\\.?\\s*(\\d{1,4})"] = "$1 Mass. App. Ct. $2";
	citation_array["(\\d{1,3})\\s*Mass\\.?\\s*App\\.?\\s*Div\\.?\\s*(\\d{1,4})"] = "$1 Mass. App. Div. $2";
	citation_array["(\\d{1,3})\\s*Mass\\.?\\s*App\\.?\\s*Dec\\.?\\s*(\\d{1,4})"] = "$1 Mass. App. Dec. $2";
	citation_array["(\\d{1,3})\\s*Mass\\.?\\s*Supp\\.?\\s*(\\d{1,4})"] = "$1 Mass. Supp. $2";
	citation_array["(\\d{1,3})\\s*Mass\\.?\\s*L\\.?\\s*Rptr\\.?\\s*(\\d{1,4})"] = "$1 Mass. L. Rptr. $2";
	
	// michigan
	citation_array["(\\d{1,3})\\s*Mich\\.?\\s*(\\d{1,4})"] = "$1 Mich. $2";
	citation_array["(\\d{1,3})\\s*Mich\\.?\\s*App\\.?\\s*(\\d{1,4})"] = "$1 Mich. App. $2";
	
	// minnesota
	citation_array["(\\d{1,3})\\s*Minn\\.?\\s*(\\d{1,4})"] = "$1 Minn. $2";
	
	// mississippi
	citation_array["(\\d{1,3})\\s*Miss\\.?\\s*(\\d{1,4})"] = "$1 Miss. $2";
	
	// missouri
	citation_array["(\\d{1,3})\\s*Mo\\.?\\s*(\\d{1,4})"] = "$1 Mo. $2";
	citation_array["(\\d{1,3})\\s*Mo\\.?\\s*App\\.?\\s*(\\d{1,4})"] = "$1 Mo. App. $2";
	
	// montana
	citation_array["(\\d{1,3})\\s*Mont\\.?\\s*(\\d{1,4})"] = "$1 Mont. $2";
	
	// nebraska
	citation_array["(\\d{1,3})\\s*Neb\\.?\\s*(\\d{1,4})"] = "$1 Neb. $2";
	citation_array["(\\d{1,3})\\s*Neb\\.?\\s*App\\.?\\s*(\\d{1,4})"] = "$1 Neb. App. $2";
	
	// nevada
	citation_array["(\\d{1,3})\\s*Nev\\.?\\s*(\\d{1,4})"] = "$1 Nev. $2";
	
	// new hampshire
	citation_array["(\\d{1,3})\\s*N\\.?\\s*H\\.?\\s*(\\d{1,4})"] = "$1 N.H. $2";
	
	// new jersey
	citation_array["(\\d{1,3})\\s*N\\.?\\s*J\\.?\\s*(\\d{1,4})"] = "$1 N.J. $2";
	citation_array["(\\d{1,3})\\s*N\\.?\\s*J\\.?\\s*L\\.?\\s*(\\d{1,4})"] = "$1 N.J.L. $2";
	citation_array["(\\d{1,3})\\s*N\\.?\\s*J\\.?\\s*Eq\\.?\\s*(\\d{1,4})"] = "$1 N.J. Eq. $2";
	citation_array["(\\d{1,3})\\s*N\\.?\\s*J\\.?\\s*Misc\\.?\\s*(\\d{1,4})"] = "$1 N.J. Misc. $2";
	citation_array["(\\d{1,3})\\s*N\\.?\\s*J\\.?\\s*Super\\.?\\s*(\\d{1,4})"] = "$1 N.J. Super. $2";
	citation_array["(\\d{1,3})\\s*N\\.?\\s*J\\.?\\s*Tax\\s*(\\d{1,4})"] = "$1 N.J. Tax $2";
	
	// new mexico
	citation_array["(\\d{1,3})\\s*N\\.?\\s*M\\.?\\s*(\\d{1,4})"] = "$1 N.M. $2";
	
	// new york
	citation_array["(\\d{1,3})\\s*N\\.?\\s*Y\\.?\\s*(\\d{1,4})"] = "$1 N.Y. $2";
	citation_array["(\\d{1,3})\\s*N\\.?\\s*Y\\.?\\s*2d\\s*(\\d{1,4})"] = "$1 N.Y.2d $2";
	citation_array["(\\d{1,3})\\s*N\\.?\\s*Y\\.?\\s*S\\.?\\s*(\\d{1,4})"] = "$1 N.Y.S. $2";
	citation_array["(\\d{1,3})\\s*N\\.?\\s*Y\\.?\\s*S\\.?\\s*2d\\s*(\\d{1,4})"] = "$1 N.Y.S.2d $2";
	citation_array["(\\d{1,3})\\s*A\\.?\\s*D\\.?\\s*(\\d{1,4})"] = "$1 A.D. $2";
	citation_array["(\\d{1,3})\\s*A\\.?\\s*D\\.?\\s*2d\\s*(\\d{1,4})"] = "$1 A.D.2d $2";
	citation_array["(\\d{1,3})\\s*N\\.?\\s*Y\\.?\\s*Misc\\.?\\s*(\\d{1,4})"] = "$1 N.Y. Misc. $2";
	citation_array["(\\d{1,3})\\s*N\\.?\\s*Y\\.?\\s*Misc\\.?\\s*2d\\s*(\\d{1,4})"] = "$1 N.Y. Misc.2d $2";
	
	// north carolina
	citation_array["(\\d{1,3})\\s*N\\.?\\s*C\\.?\\s*(\\d{1,4})"] = "$1 N.C. $2";
	citation_array["(\\d{1,3})\\s*N\\.?\\s*C\\.?\\s*App\\.?\\s*(\\d{1,4})"] = "$1 N.C. App. $2";
	
	// north dakota
	citation_array["(\\d{1,3})\\s*N\\.?\\s*D\\.?\\s*(\\d{1,4})"] = "$1 N.D. $2";
	
	// ohio
	citation_array["(\\d{1,3})\\s*Ohio\\s*St\\.?\\s*(\\d{1,4})"] = "$1 Ohio St. $2";
	citation_array["(\\d{1,3})\\s*Ohio\\s*St\\.?\\s*([2-3])d\\s*(\\d{1,4})"] = "$1 Ohio St.$2d $3";
	citation_array["(\\d{1,3})\\s*Ohio\\s*App\\.?\\s*(\\d{1,4})"] = "$1 Ohio App. $2";
	citation_array["(\\d{1,3})\\s*Ohio\\s*App\\.?\\s*([2-3])d\\s*(\\d{1,4})"] = "$1 Ohio App.$2d $3";
	citation_array["(\\d{1,3})\\s*Ohio\\s*Misc\\.?\\s*(\\d{1,4})"] = "$1 Ohio Misc. $2";
	citation_array["(\\d{1,3})\\s*Ohio\\s*Misc\\.?\\s*([2-3])d\\s*(\\d{1,4})"] = "$1 Ohio Misc.$2d $3";
	citation_array["(\\d{1,3})\\s*Ohio\\s*Op\\.?\\s*(\\d{1,4})"] = "$1 Ohio Op. $2";
	citation_array["(\\d{1,3})\\s*Ohio\\s*Op\\.?\\s*([2-3])d\\s*(\\d{1,4})"] = "$1 Ohio Op.$2d $3";
	citation_array["(\\d{4})(?:-|\\s)*Ohio(?:-|\\s)*(\\d{4})"] = "$1-Ohio-$2";
	
	// oklahoma
	citation_array["(\\d{1,3})\\s*Okla\\.?\\s*(\\d{1,4})"] = "$1 Okla. $2";
	citation_array["(\\d{1,3})\\s*Okla\\.?\\s*Crim\\.?\\s*(\\d{1,4})"] = "$1 Okla. Crim. $2";
	citation_array["(\\d{1,3})\\s*Indian\\s*Terr\\.?\\s*(\\d{1,4})"] = "$1 Indian Terr. $2";
	
	// oregon
	citation_array["(\\d{1,3})\\s*Or\\.?\\s*(\\d{1,4})"] = "$1 Or. $2";
	citation_array["(\\d{1,3})\\s*Or\\.?\\s*App\\.?\\s*(\\d{1,4})"] = "$1 Or. App. $2";
	citation_array["(\\d{1,3})\\s*Or\\.?\\s*Tax\\s*(\\d{1,4})"] = "$1 Or. Tax $2";
	
	// pennsylvania
	citation_array["(\\d{1,3})\\s*Pa\\.?\\s*(\\d{1,4})"] = "$1 Pa. $2";
	citation_array["(\\d{1,3})\\s*Pa\\.?\\s*Super\\.?\\s*(\\d{1,4})"] = "$1 Pa. Super. $2";
	citation_array["(\\d{1,3})\\s*Pa\\.?\\s*Cmmw\\.?\\s*(\\d{1,4})"] = "$1 Pa. Cmmw. $2";
	citation_array["(\\d{1,3})\\s*Pa\\.?\\s*D\\.?\\s*&\\s*C\\.?\\s*(\\d{1,4})"] = "$1 Pa. D. & C. $2";
	citation_array["(\\d{1,3})\\s*Pa\\.?\\s*D\\.?\\s*&\\s*C\\.?\\s*([2-4])d\\s*(\\d{1,4})"] = "$1 Pa. D. & C.$2d $3";
		
	// rhode island
	citation_array["(\\d{1,3})\\s*R\\.?\\s*I\\.?\\s*(\\d{1,4})"] = "$1 R.I. $2";
	
	// south carolina
	citation_array["(\\d{1,3})\\s*S\\.?\\s*C\\.?\\s*(\\d{1,4})"] = "$1 S.C. $2";
	
	// south dakota
	citation_array["(\\d{1,3})\\s*S\\.?\\s*D\\.?\\s*(\\d{1,4})"] = "$1 S.D. $2";
	
	// tennessee
	citation_array["(\\d{1,3})\\s*Tenn\\.?\\s*(\\d{1,4})"] = "$1 Tenn. $2";
	citation_array["(\\d{1,3})\\s*Tenn\\.?\\s*App\\.?\\s*(\\d{1,4})"] = "$1 Tenn. App. $2";
	citation_array["(\\d{1,3})\\s*Tenn\\.?\\s*Crim\\.?\\s*(\\d{1,4})"] = "$1 Tenn. Crim. $2";
	
	// texas
	citation_array["(\\d{1,3})\\s*Tex\\.?\\s*(\\d{1,4})"] = "$1 Tex. $2";
	citation_array["(\\d{1,3})\\s*Tex\\.?\\s*Crim\\.?\\s*(\\d{1,4})"] = "$1 Tex. Crim. $2";
	citation_array["(\\d{1,3})\\s*Tex\\.?\\s*Civ\\.?\\s*(\\d{1,4})"] = "$1 Tex. Civ. $2";
	
	// utah
	citation_array["(\\d{1,3})\\s*Utah\\s*(\\d{1,4})"] = "$1 Utah $2";
	citation_array["(\\d{1,3})\\s*Utah\\s*2d\\s*(\\d{1,4})"] = "$1 Utah 2d $2";
	
	// vermont
	citation_array["(\\d{1,3})\\s*Vt\\.?\\s*(\\d{1,4})"] = "$1 Vt. $2";
	
	// virginia
	citation_array["(\\d{1,3})\\s*Va\\.?\\s*(\\d{1,4})"] = "$1 Va. $2";
	citation_array["(\\d{1,3})\\s*Va\\.?\\s*App\\.?\\s*(\\d{1,4})"] = "$1 Va. App. $2";
	citation_array["(\\d{1,3})\\s*Va\\.?\\s*Cir\\.?\\s*(\\d{1,4})"] = "$1 Va. Cir. $2";
	
	// washington
	citation_array["(\\d{1,3})\\s*Wash\\.?\\s*(\\d{1,4})"] = "$1 Wash. $2";
	citation_array["(\\d{1,3})\\s*Wash\\.?\\s*2d\\s*(\\d{1,4})"] = "$1 Wash.2d $2";
	citation_array["(\\d{1,3})\\s*Wash\\.?\\s*App\\.?\\s*(\\d{1,4})"] = "$1 Wash. App. $2";
	citation_array["(\\d{1,3})\\s*Wash\\.?\\s*Terr\\.?\\s*(\\d{1,4})"] = "$1 Wash. Terr. $2";
	citation_array["(\\d{1,3})\\s*Wn\\.?\\s*(\\d{1,4})"] = "$1 Wn. $2";
	citation_array["(\\d{1,3})\\s*Wn\\.?\\s*2d\\s*(\\d{1,4})"] = "$1 Wn.2d $2";
	citation_array["(\\d{1,3})\\s*Wn\\.?\\s*App\\.?\\s*(\\d{1,4})"] = "$1 Wn. App. $2";

	
	// west virginia
	citation_array["(\\d{1,3})\\s*W\\.?\\s*Va\\.?\\s*(\\d{1,4})"] = "$1 W.Va. $2";
	citation_array["(\\d{1,3})\\s*W\\.?\\s*Va\\.?\\s*Cl\\.?\\s*(\\d{1,4})"] = "$1 W.Va.Cl. $2";
	
	// wisconsin
	citation_array["(\\d{1,3})\\s*Wis\\.?\\s*(\\d{1,4})"] = "$1 Wis. $2";
	citation_array["(\\d{1,3})\\s*Wis\\.?\\s*2d\\s*(\\d{1,4})"] = "$1 Wis.2d $2";
	
	// wyoming
	citation_array["(\\d{1,3})\\s*Wyo\\.?\\s*(\\d{1,4})"] = "$1 Wyo. $2";
	
	// ---------- not states --------
	// federal
  citation_array["(\\d{1,3})\\s*U\\.?\\s*S\\.?\\s*(\\d{1,4})"] = "$1 U.S. $2";
  citation_array["(\\d{1,3})\\s*S\\.?\\s*Ct\\.?\\s*(\\d{1,4})"] = "$1 S.Ct. $2";
  citation_array["(\\d{1,3})\\s*L\\.?\\s*Ed\\.?\\s*(\\d{1,4})"] = "$1 L.Ed. $2";
  citation_array["(\\d{1,3})\\s*L\\.?\\s*Ed\\.?\\s*([2-3])d\\s*(\\d{1,4})"] = "$1 L.Ed.$2d $3";
  citation_array["(\\d{1,3})\\s*U\\.?\\s*S\\.?\\s*L\\.?\\s*W\\.?\\s*(\\d{1,4})"] = "$1 U.S.L.W. $2";
	citation_array["(\\d{1,3})\\s*F\\.?\\s*(\\d{1,4})"] = "$1 F. $2";
	citation_array["(\\d{1,3})\\s*F\\.?\\s*([2-3])d\\s*(\\d{1,4})"] = "$1 F.$2d $3";
	citation_array["(\\d{1,3})\\s*F\\.?\\s*Cas\\.?\\s*(\\d{1,4})"] = "$1 F.Cas. $2";
	citation_array["(\\d{1,3})\\s*F\\.?\\s*Supp\\.?\\s*(\\d{1,4})"] = "$1 F.Supp. $2";
	citation_array["(\\d{1,3})\\s*F\\.?\\s*Supp\\.?\\s*2d\\s*(\\d{1,4})"] = "$1 F.Supp.2d $2";
	citation_array["(\\d{1,3})\\s*F\\.?\\s*D\\.?\\s*R\\.?\\s*(\\d{1,4})"] = "$1 F.D.R. $2";
	citation_array["(\\d{1,3})\\s*B\\.?\\s*R\\.?\\s*(\\d{1,4})"] = "$1 B.R. $2";
	citation_array["(\\d{1,3})\\s*Fed\\.?\\s*R\\.?\\s*Serv\\.?\\s*(\\d{1,4})"] = "$1 Fed. R. Serv. $2";
	citation_array["(\\d{1,3})\\s*Fed\\.?\\s*R\\.?\\s*Serv\\.?\\s*([2-3])d\\s*(\\d{1,4})"] = "$1 Fed. R. Serv.$2d $3";
	
	// american samoa
	citation_array["(\\d{1,3})\\s*Am\\.?\\s*Samoa\\s*(\\d{1,4})"] = "$1 Am. Samoa $2";
	citation_array["(\\d{1,3})\\s*Am\\.?\\s*Samoa\\s*2d\\s*(\\d{1,4})"] = "$1 Am. Samoa 2d $2";
	
	// guam
	citation_array["(\\d{1,3})\\s*Guam\\s*(\\d{1,4})"] = "$1 Guam $2"
	
	// navajo nation
	citation_array["(\\d{1,3})\\s*Navajo\\s*Rptr\\.?\\s*(\\d{1,4})"] = "$1 Navajo Rptr. $2";
	
	// nortern mariana islands
	citation_array["(\\d{1,3})\\s*N\\.?\\s*Mar\\.?\\s*I\\.?\\s*(\\d{1,4})"] = "$1 N. Mar. I. $2";
	citation_array["(\\d{1,3})\\s*N\\.?\\s*Mar\\.?\\s*I\\.?\\s*Commw\\.?\\s*(\\d{1,4})"] = "$1 N. Mar. I. Commw. $2";
	
	// oklahoma native americans
	citation_array["(\\d{1,3})\\s*Okla\\.?\\s*Trib\\.?\\s*(\\d{1,4})"] = "$1 Okla. Trib. $2";
	
	// puerto rico
	citation_array["(\\d{1,3})\\s*P\\.?\\s*R\\.?\\s*(\\d{1,4})"] = "$1 P.R. $2";
	citation_array["(\\d{1,3})\\s*P\\.?\\s*R\\.?\\s*Offic\\.?\\s*Trans\\.?\\s*(\\d{1,4})"] = "$1 P.R. Offic. Trans. $2";
	citation_array["(\\d{1,3})\\s*P\\.?\\s*R\\.?\\sDec\\.?\\s*(\\d{1,4})"] = "$1 P.R. Dec. $2";
	citation_array["(\\d{1,3})\\s*P\\.?\\s*R\\.?\\sSent\\.?\\s*(\\d{1,4})"] = "$1 P.R. Sent. $2";
	citation_array["(\\d{1,3})\\s*T\\.?\\s*C\\.?\\s*A\\.?\\s*(\\d{1,4})"] = "$1 T.C.A. $2";	
	
	// virgin islands
	citation_array["(\\d{1,3})\\s*V\\.?\\s*I\\.?\\s*(\\d{1,4})"] = "$1 V.I. $2";
	for (var i in citation_array) {
		var p = new RegExp("^\\s*" + i + "\\s*$", "i");
		if (p.test(obj.value)) {

			obj.value = obj.value.replace(p, citation_array[i]);
			return true;
		}
	}
	
	// if we get here, then no citation pattern matched --
	//  FOR NOW WE DO NOT WARN THE USER
	return false;
}

