//******************************************************************************
//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 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 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 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 restrictBasicTextDollar(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 restrictBasicTextDollarEmail(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 restrictBasicTextDollar2(t){
	out = "\"";
	add = "&quot;"; // with this
	temp = "" + entry; // temporary holder
	
	while (temp.indexOf(out)>-1) {
		pos= temp.indexOf(out);
		temp = "" + (temp.substring(0, pos) + add + 
		temp.substring((pos + out.length), temp.length));
	}
	document.subform.text.value = temp;
/*		
	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;
	}