I called the Canadian Embassy and check their official web page.
If you are a greencard holder aka permanent resident of the United States,you do not need a visa.But you need to have your greencard present to proof you are a legal permanent resident of the U.S.
As of 2007,any US Citizen and Resident have to have a passport to enter canada if they fly into canada.By car,a valid I.D.,even though a passport is the most accepted travel ID traveling into a country.
But in 2008,everyone will have to have a passport to enter canada,by car or plane!!! Also vice versa.