// Text Field Validation Functions
// copyright Stephen Chapman, 26th Dec 2004
// you may copy this function but please keep the copyright notice with it
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 spcl = '@.';

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 isNum(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);}
function isAlphanum(parm) {return isValid(parm,lwr+upr+numb);}
function isDecimal(parm) {return isValid(parm,numb+'.');}
function isPhone(parm) {return isValid(parm,numb+'-' + '+');}
function isEmail(parm) {return isValid(parm,lwr+upr+numb+ '@' + '.');}
function isZip(parm) {return isValid(parm,lwr+upr+numb+'-'+' ');}

function isEmail( str ) {

		var at="@"
		var dot="."
		var lat=str.indexOf(at)
		var lstr=str.length
		var ldot=str.indexOf(dot)
		if (str.indexOf(at)==-1){
		   return false
		}

		if (str.indexOf(at)==-1 || str.indexOf(at)==0 || str.indexOf(at)==lstr){
		   return false
		}

		if (str.indexOf(dot)==-1 || str.indexOf(dot)==0 || str.indexOf(dot)==lstr){
		    return false
		}

		 if (str.indexOf(at,(lat+1))!=-1){
		    return false
		 }

		 if (str.substring(lat-1,lat)==dot || str.substring(lat+1,lat+2)==dot){
		    return false
		 }

		 if (str.indexOf(dot,(lat+2))==-1){
		    return false
		 }
		
		 if (str.indexOf(" ")!=-1){
		    return false
		 }

 		 return true					
	}

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;
}

function validateSelect( obj ){
if( obj.selectedIndex==0){
  return false;
}
return true;
}
function getObject( objName ){

  var obj = document.getElementById( objName );

  return obj;

}

