//******************************************************************************
//FORM VALIDATION FUNCTIONS
//******************************************************************************

function res(t,v){
	var w = "";
	for (i=0; i < t.value.length; i++) {
		x = t.value.charAt(i);
		if (v.indexOf(x,0) != -1) w += x;
		}
	t.value = w;
	}

function restrictAlpha(t){
	var w = "";
	var lexicon="ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz";
	for (i=0; i < t.value.length; i++) {
		x = t.value.charAt(i);
		if (lexicon.indexOf(x,0) != -1)
		w += x;
		}
	t.value = w;
	}

function restrictNumeric(t){
	var w = "";
	var lexicon="1234567890";
	for (i=0; i < t.value.length; i++) {
		x = t.value.charAt(i);
		if (lexicon.indexOf(x,0) != -1)
		w += x;
		}
	t.value = w;
	}
	
function restrictNumericPeriodComma(t){
	var w = "";
	var lexicon="1234567890.,";
	for (i=0; i < t.value.length; i++) {
		x = t.value.charAt(i);
		if (lexicon.indexOf(x,0) != -1)
		w += x;
		}
	t.value = w;
	}

function restrictNumericHyphenSpace(t){
	var w = "";
	var lexicon="1234567890- ";
	for (i=0; i < t.value.length; i++) {
		x = t.value.charAt(i);
		if (lexicon.indexOf(x,0) != -1)
		w += x;
		}
	t.value = w;
	}

function restrictNumericHyphen(t){
	var w = "";
	var lexicon="1234567890-";
	for (i=0; i < t.value.length; i++) {
		x = t.value.charAt(i);
		if (lexicon.indexOf(x,0) != -1)
		w += x;
		}
	t.value = w;
	}
		
function restrictKUID(t){
	var w = "";
	var lexicon="1234567890";
	
	for (i=0; i < t.value.length; i++) {
		x = t.value.charAt(i);
		if ((lexicon.indexOf(x,0) != -1)&&(i<7))
		w += x;
			
		}
	t.value = w;
	}

function restrictGPA(t){
	var w = "";
	var lexicon="1234567890.";
	
	for (i=0; i < t.value.length; i++) {
		x = t.value.charAt(i);
		if ((lexicon.indexOf(x,0) != -1)&&(i<4))
		w += x;
			
		}
	t.value = w;
	}

function restrictSSN(t){
	var w = "";
	var lexicon="1234567890-";
	
	for (i=0; i < t.value.length; i++) {
		x = t.value.charAt(i);
		if ((lexicon.indexOf(x,0) != -1)&&(i<11))
		w += x;
			
		}
	t.value = w;
	}

function restrictPercentage(t){
	var w = "";
	var lexicon="1234567890%";
	for (i=0; i < t.value.length; i++) {
		x = t.value.charAt(i);
		if (lexicon.indexOf(x,0) != -1)
		w += x;
		}
	t.value = w;
	}

function restrictMoney(t){
	var w = "";
	var lexicon="1234567890$.,";
	for (i=0; i < t.value.length; i++) {
		x = t.value.charAt(i);
		if (lexicon.indexOf(x,0) != -1)
		w += x;
		}
	t.value = w;
	}

function restrictAlphaNumeric(t){
	var w = "";
	var lexicon="1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz";
	for (i=0; i < t.value.length; i++) {
		x = t.value.charAt(i);
		if (lexicon.indexOf(x,0) != -1)
		w += x;
		}
	t.value = w;
	}
	
function restrictAlphaNumericHyphen(t){
	var w = "";
	var lexicon="1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-";
	for (i=0; i < t.value.length; i++) {
		x = t.value.charAt(i);
		if (lexicon.indexOf(x,0) != -1)
		w += x;
		}
	t.value = w;
	}	

function restrictEmail(t){
	var w = "";
	var lexicon="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789@.-_";
	for (i=0; i < t.value.length; i++) {
		x = t.value.charAt(i);
		if (lexicon.indexOf(x,0) != -1)
		w += x;
		}
	t.value = w;
	}

function restrictName(t){
	var w = "";
	var lexicon="ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz-'";
	for (i=0; i < t.value.length; i++) {
		x = t.value.charAt(i);
		if (lexicon.indexOf(x,0) != -1)
		w += x;
		}
	t.value = w;
	}

function restrictDate(t){
	var w = "";
	var lexicon="0123456789/-";
	for (i=0; i < t.value.length; i++) {
		x = t.value.charAt(i);
		if (lexicon.indexOf(x,0) != -1)
		w += x;
		}
	t.value = w;
	}

function restrictTime(t){
	var w = "";
	var lexicon="0123456789:amp ";
	for (i=0; i < t.value.length; i++) {
		x = t.value.charAt(i);
		if (lexicon.indexOf(x,0) != -1)
		w += x;
		}
	t.value = w;
	}

function restrictAddress(t){
	var w = "";
	var lexicon="ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz0123456789.";
	for (i=0; i < t.value.length; i++) {
		x = t.value.charAt(i);
		if (lexicon.indexOf(x,0) != -1)
		w += x;
		}
	t.value = w;
	}
	
function restrictUID(t){
	var w = "";
	var lexicon="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-_";
	for (i=0; i < t.value.length; i++) {
		x = t.value.charAt(i);
		if (lexicon.indexOf(x,0) != -1)
		w += x;
		}
	t.value = w;
	}

function restrictZip(t){
	var w = "";
	var lexicon="0123456789-";
	for (i=0; i < t.value.length; i++) {
		x = t.value.charAt(i);
		if (lexicon.indexOf(x,0) != -1)
		w += x;
		}
	t.value = w;
	}

function restrictPhone(t){
	var w = "";
	var lexicon="0123456789(-)";
	for (i=0; i < t.value.length; i++) {
		x = t.value.charAt(i);
		if (lexicon.indexOf(x,0) != -1)
		w += x;
		}
	t.value = w;
	}
	
function restrictIntPhone(t){
	var w = "";
	var lexicon="0123456789 (-+)ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
	for (i=0; i < t.value.length; i++) {
		x = t.value.charAt(i);
		if (lexicon.indexOf(x,0) != -1)
		w += x;
		}
	t.value = w;
	}

function restrictCity(t){
	var w = "";
	var lexicon="ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz.-";
	for (i=0; i < t.value.length; i++) {
		x = t.value.charAt(i);
		if (lexicon.indexOf(x,0) != -1)
		w += x;
		}
	t.value = w;
	}
	
function restrictSentence(t){
	var w = "";
	var lexicon="ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz0123456789:.!?-,&";
	for (i=0; i < t.value.length; i++) {
		x = t.value.charAt(i);
		if (lexicon.indexOf(x,0) != -1)
		w += x;
		}
	t.value = w;
	}

function restrictPoliceReportNumber(t){
	var w = "";
	var lexicon="1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz-";
	for (i=0; i < t.value.length; i++) {
		x = t.value.charAt(i);
		if (lexicon.indexOf(x,0) != -1)
		w += x;
		}
	t.value = w;
	}

function restrictText(t){
	var w = "";
	var lexicon="ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz0123456789\"'$./?~_+=`-:\r\n()@,\t*\\";
	for (i=0; i < t.value.length; i++) {
		x = t.value.charAt(i);
		if (lexicon.indexOf(x,0) != -1)
		w += x;
		}
	t.value = w;
	}

function restrictBasicText(t){
	var w = "";
	var lexicon="ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz0123456789.,'’:;&?-\r\n\t()";
	for (i=0; i < t.value.length; i++) {
		x = t.value.charAt(i);
		if (lexicon.indexOf(x,0) != -1)
		w += x;
		}
	t.value = w;
	}

function restrictURL(t){
	var w = "";
	var lexicon="ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz0123456789./?~_+=-:&";
	for (i=0; i < t.value.length; i++) {
		x = t.value.charAt(i);
		if (lexicon.indexOf(x,0) != -1)
		w += x;
		}
	t.value = w;
	}

function restrictHour(t){
	var w = "";
	var lexicon0="01";
	var lexicon1="0123456789";
	x = t.value.charAt(0);
	if (lexicon0.indexOf(x,0) != -1) w += x;
	x = t.value.charAt(1);
	if (lexicon1.indexOf(x,0) != -1) w += x;
	t.value = w;
	}

function restrictMinuteSecond(t){
	var w = "";
	var lexicon0="012345";
	var lexicon1="0123456789";
	x = t.value.charAt(0);
	if (lexicon0.indexOf(x,0) != -1) w += x;
	x = t.value.charAt(1);
	if (lexicon1.indexOf(x,0) != -1) w += x;
	t.value = w;
	}


function restrictITN(t){
	var w = "";
	var lexicon0="0123456789";
	var lexicon1="ABCabc";
	x = t.value.charAt(0);
	if (lexicon0.indexOf(x,0) != -1) w += x;
	x = t.value.charAt(1);
	if (lexicon0.indexOf(x,0) != -1) w += x;
	x = t.value.charAt(2);
	if (lexicon0.indexOf(x,0) != -1) w += x;
	x = t.value.charAt(3);
	if (lexicon0.indexOf(x,0) != -1) w += x;
	x = t.value.charAt(4);
	if (lexicon1.indexOf(x,0) != -1) w += x;
	t.value = w;
	}

function restrictTextTest(e) 
	{
	var w = "";
	var lexicon="ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz0123456789\"'$./?~_+=`-:\r\n()@,\t*";
	for (i=0; i < e.value.length; i++) {
		x = e.value.charAt(i);
		if (lexicon.indexOf(x,0) != -1) w += x;
		else return false;
		}
	e.value = w;
	}