I've seen so many sites be able to do things like post facebook banners or post images onto facebook. How do I do that?
putting a og:image meta tag on your page will do this when you share the page link. eg. <meta property="og:image" content="Your Image URL"/> Code (markup):
If you need to use facebook social graph you must use <html xmlns="http://www.w3.org/1999/xhtml" xmlns:og="http://ogp.me/ns#" xmlns:fb="http://www.facebook.com/2008/fbml" xml:lang="en" lang="en"> Code (markup): above attributes in your html tag. Following is a good tutorial http://developers.facebook.com/docs/opengraph/ and this site is a very good example.. http://www.esrilankans.com/welcome.do Just go through the source code...
As far as I am aware, when you post a link on FB it gives you options to choose a thumbnail of which images are on the page you are linking, so it's not complicated. If there isn't an image it won't post it. Or maybe I am over simplifying it.
You will be given that image selection option if you have not setup open graph attributes on your webpages... If you use open graph, you will have an option to set custom images which are not in the page's <img> attributes. That is the method recommended by Facebook.
Generate your Facebook Open Graph Meta tags the easy way... I just finished an Open Graph Meta Tag Generator and am looking for beta testers... let me know how it works out! http://www.metataggenerator.org/open-graph-meta-tags/
Certain groups will or will not allow you to post photos, links, etc. It depends on what their settings are.
Most sites you should be able to include a thumbnail image to your post. As for notes and fan pages, I'm unsure on how to do what you're asking.