function FormatDate(vDate) {
 
   var szStr
   var p1,p2;
   var dd,mm,yy;

   szStr = new String(vDate);				

   with (szStr) {
	
      dwLen = length;
      p1    = indexOf('.', 0);
      p2    = indexOf('.', p1+1);

      if (p2 != -1) {
         dd = parseInt(substr(0, p1),10);
         mm = parseInt(substr(p1+1, p2-p1-1),10);
         yy = parseInt(substr(p2+1),10);
      } 
      else {
         switch (length) {
         case 6:  yy = parseInt(substr(4,2),10); break;
         case 8:  yy = parseInt(substr(4,4),10); break; 
         default: return "";
         }
         dd = parseInt(substr(0,2),10)
         mm = parseInt(substr(2,2),10)
      }
            
      if (dd <= 0 || dd > 31) return ""
      if (mm <= 0 || mm > 12) return ""
      
      if (dd>=0 && dd<=9) dd = "0" + dd
      if (mm>=0 && mm<=9) mm = "0" + mm
      
      if (yy>=0 && yy<=9)
         yy = "200" + yy
      else if (yy>=10 && yy<=12) 
         yy = "20" + yy
      else if (yy>=11 && yy<=99) 
         yy = "19" + yy
      else if (!(yy>=1901 && yy<=2100)) 
         return ""
         
      return dd + "." + mm + "." + yy;
   }	
}


