I gues this couldn't be very hard. Google maps api gives heights based on the geology. They could be used to calculate shadow too.
OpenID is service that allows you to log-on to many different websites using a single indentity. Find out more about OpenID and how to get an OpenID enabled account.