function stripBlanks(fld) 
{
	var result = "";
	var c = 0;
	for (i=0; i<fld.length; i++) 
	{
	  if (fld.charAt(i) != " " || c > 0) 
	  {
		result += fld.charAt(i);
		if (fld.charAt(i) != " ") 
			c = result.length;
	  }
	}
	return result.substr(0,c);
}

var numb = '0123456789';
var lwr = 'abcdefghijklmnopqrstuvwxyz';
var upr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var special_chars=' ';
function isValid(parm,val) 
{
  if (parm == "") return true;
  for (i=0; i<parm.length; i++) 
  {
    if (val.indexOf(parm.charAt(i),0) == -1) 
		return false;
  }
  return true;
}

function isNumber(parm) {return isValid(parm,numb);}
function isLower(parm) {return isValid(parm,lwr);}
function isUpper(parm) {return isValid(parm,upr);}
function isAlpha(parm) {return isValid(parm,lwr+upr+special_chars);}
function isAlphanum(parm) {return isValid(parm,lwr+upr+numb);}
function isDecimal(parm) {return isValid(parm,numb+'.');}

function oneOnly(parm,chr,must) 
{
	var atPos = parm.indexOf(chr,0);
	if (atPos == -1) {return !must;}
	if (parm.indexOf(chr, atPos + 1) > - 1) {return false;}
	return true; 
}

function adjacent(parm,chrs) {
return(parm.indexOf(chrs,0) != -1);
}

function onlyAdjacent(parm,comb,chrs) {
var a = parm.split(comb);
var b = a.join('');
for (i=0; i<parm.length; i++) {
    if (val.indexOf(parm.charAt(i),0) != -1) return false;
  }
return true; }

function setOrder(parm,first,second) {
var pos1 = parmField.indexOf(first,0);
if (pos1 == -1) return false; // first char not found
var pos2 = parmField.indexOf(second,pos1+1);
if (pos2 == -1) return false; // second char doesn't follow first
return true; }

function setDistance(parm,first,last,min,max) {
var pos1 = first == '' ? 0 :
parmField.indexOf(first,0);
var pos2 = last == '' ? parmField.length - pos1 - 1 :
parmField.indexOf(second,pos1+1);
if (pos1 == -1) return false;
if (pos2 < min || pos2 > max) return false;
return true; }

function endOption(fld,val) {
return fld.substring(fld.lastIndexOf(val)) == val;
}
                  

