function IsDate(str)
     {
      var VEK="20"
      var slen=str.length;
      var begpos=0;
      var yy="", mm="", dd="";
      var year=0, mon=0, day=0, maxday;
       
      if (slen == 0) return true;
    
      for(var i=0; i < slen; i++)
       if ((str.charAt(i)<'0' || str.charAt(i)>'9') && (str.charAt(i)!='-' && str.charAt(i)!='.' && str.charAt(i)!='/'))  return false
       else
       if ((str.charAt(i)=='.') || (str.charAt(i)=='/') || (str.charAt(i)=='-'))
        {
         if (begpos==i)return false;
         if (mm.length==0) { mm=str.substring(begpos,i); begpos=i+1; }
         else
         if (dd.length==0) { dd=str.substring(begpos,i); begpos=i+1; }
         else
         return false;
        }
		
      if (begpos>=slen) return false;
      yy=str.substring(begpos,slen);
      if (dd.length>2 || dd.length<1) return false;
      if (mm.length>2 || mm.length<1) return false;
      if (yy.length!=4 && yy.length!=2) return false;
    
      day=dd; mon=mm; year=yy; 
    
      if (mon<1 || mon>12) return false;
      if (day<1 || day>31) return false;
      if (year<1 || year>9999) return false;
      if (yy.length==2) year=VEK+yy;
      if (mon==2)
       { 
        maxday=28;
        if (year%400==0 || (year%4==0 && year%100>0)) maxday=29;
       }
      else
       {
        maxday=31;
        if (mon==2) maxday=28; 
        if (mon==4 || mon==6 || mon==9 || mon==11) maxday=30; 
       }
       if (day>maxday) return false;
       return true;
     } 

function IsNumeric(sValue){
	if (isNaN(sValue)) {
		return false;
	}else{
		return true;
	}
}

function IsMoney(sValue){
if (sValue.indexOf("$") == -1) 
	{ 
	  if  (isNaN(sValue))
		 {
		 	return(false) 
		 }
	}
	else 
	{
	foundpos = sValue.indexOf("$");
	
	if (isNaN(sValue.substring(foundpos+1,sValue.length)))
		 {
		 	return(false) 
		 }
	
	}
	if (sValue == "") { 
return(false) 
} 
return true;
}

function IsEmail(sValue) 
{ 
txt=sValue

if (txt == "") { 
return(false) 
} 

if (txt.indexOf(".") == -1) { 
return(false) 
} 

dog = txt.indexOf("@"); 
if (dog == -1) { 
return(false) 
} 

if ((dog < 1) || (dog > txt.length - 5)) { 
return(false) 
} 

if ((txt.charAt(dog - 1) == '.') || (txt.charAt(dog + 1) == '.')) { 
return(false) 
} 

return true;
} 




function LowValidator(sType, sValue, bBlank) {
	if (bBlank==true){
		if (sValue==""){
			return true;
		}
	}else{
		if (sValue==""){
			return false;
		}
	}
	
	if ((sType=='date')){ // (sType=="d")){
		return IsDate(sValue);
	}else{
	if ((sType=="num")){ // (sType=="n")){
		if (IsNumeric(sValue)) {
			return true;
		}else{
			return false;
		}
	}else{
	if ((sType=="email")){ // (sType=="e")) {
		return IsEmail(sValue);
	}else{
		return false;
	}
	}
	}

}
