Date.parseFormattedString = function (string) 
{
  var regexp = "([0-9]{4})(-([0-9]{2})(-([0-9]{2})" + 
        "(-([0-9]{1,2})-([0-9]{2})?" +
        "?)?)?)?"; 
  var regexp = "([0-9]{4})-([0-9]{2})-([0-9]{2})-([0-9]{2})-([0-9]{2})"; 
  var d = string.match(new RegExp(regexp, "i"));
  if (d === null) 
  { return Date.parse(string); // at least give javascript a crack at it.
  }
  var date = new Date(d[1], 0, 1); 
  if (d[2]) 
  { date.setMonth(d[2] - 1);
  } 
  if (d[3]) 
  { date.setDate(d[3]);
  } 
  if (d[4]) 
  { date.setHours(d[4]);
  } 
  if (d[5]) 
  { date.setMinutes(d[5]);
  } 
  return date; 
};

