Is it true that a person with fairly good fundamentals in programming can easily learn any programming language?

Well, when I say programming languages, I refer to the agile and dynamic languages like PHP, Perl, Ruby, etc but not the former programming languages of the distant past.

I've worked only on java, groovy and flex to some extent. So considering the fact that I am an amateur programmer but a fast learner, on a rough basis, how long would it take to get a foothold on any one of such languages?

Yes, with reservations.

Four weeks ago, I would say I had professional-level skill in C and C++, and amateur-level skill in Java.  My boss asked me to write some software in JavaScript, with which I had zero experience, and off I went.

Over the next two weeks, I read many sample code snippets, found all the cool libraries, and wrote my program.  It's done, and it works.  Then last week I bought a JavaScript book, and I've been reading it, and boy, I did not know what I was doing.  Now I understand why my objects were acting so strangely.

So now I say, I know a little JS.  I can read it and work with it, but I'm sure what I'm writing is inefficient, hard to read, and does not follow best practices.

In general, a fast learner can take a week and start producing low-quality product in a new language.  If you know Java, you can pretty quickly pick up C, C++, PHP, Python, JavaScript, but only well enough to modify code or write well defined functions.  (Perl may be harder because regex's are complex.) In order to properly architect a system in a new language, you would probably want a year of developing professionally under experienced mentors.
