alexjp-blackbook_csv 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. data/CHANGES.markdown +44 -0
  2. data/Manifest.txt +59 -0
  3. data/README.markdown +72 -0
  4. data/Rakefile +39 -0
  5. data/debug_blackbook.rb +10 -0
  6. data/init.rb +1 -0
  7. data/lib/blackbook/exporter/base.rb +16 -0
  8. data/lib/blackbook/exporter/vcf.rb +45 -0
  9. data/lib/blackbook/exporter/xml.rb +28 -0
  10. data/lib/blackbook/importer/aol.rb +83 -0
  11. data/lib/blackbook/importer/base.rb +39 -0
  12. data/lib/blackbook/importer/csv.rb +87 -0
  13. data/lib/blackbook/importer/gmail.rb +66 -0
  14. data/lib/blackbook/importer/hotmail.rb +124 -0
  15. data/lib/blackbook/importer/page_scraper.rb +86 -0
  16. data/lib/blackbook/importer/yahoo.rb +61 -0
  17. data/lib/blackbook.rb +76 -0
  18. data/test/fixtures/aol_application_page.html +566 -0
  19. data/test/fixtures/aol_bad_login_response_stage_3.html +565 -0
  20. data/test/fixtures/aol_contacts.html +90 -0
  21. data/test/fixtures/aol_login_response_stage_1.html +158 -0
  22. data/test/fixtures/aol_login_response_stage_2.html +559 -0
  23. data/test/fixtures/aol_login_response_stage_3.html +61 -0
  24. data/test/fixtures/aol_login_response_stage_4.html +48 -0
  25. data/test/fixtures/aol_login_response_stage_5.html +404 -0
  26. data/test/fixtures/aol_new_contacts.html +431 -0
  27. data/test/fixtures/gmail.csv +3 -0
  28. data/test/fixtures/gmail_bad_login_response_stage_2.html +560 -0
  29. data/test/fixtures/gmail_contacts.html +228 -0
  30. data/test/fixtures/gmail_login_response_stage_1.html +556 -0
  31. data/test/fixtures/gmail_login_response_stage_2.html +1 -0
  32. data/test/fixtures/gmail_login_response_stage_2a.html +1 -0
  33. data/test/fixtures/gmail_login_response_stage_3.html +249 -0
  34. data/test/fixtures/hotmail_bad_login_response_stage_2.html +31 -0
  35. data/test/fixtures/hotmail_contacts.html +191 -0
  36. data/test/fixtures/hotmail_login_response_stage_1.html +31 -0
  37. data/test/fixtures/hotmail_login_response_stage_2.html +1 -0
  38. data/test/fixtures/hotmail_login_response_stage_3.html +380 -0
  39. data/test/fixtures/yahoo_bad_login_response_stage_2.html +443 -0
  40. data/test/fixtures/yahoo_contacts.csv +3 -0
  41. data/test/fixtures/yahoo_contacts_not_logged_in.html +432 -0
  42. data/test/fixtures/yahoo_contacts_stage_1.html +399 -0
  43. data/test/fixtures/yahoo_login_response_stage_1.html +433 -0
  44. data/test/fixtures/yahoo_login_response_stage_2.html +16 -0
  45. data/test/scripts/live_test.rb +25 -0
  46. data/test/test_blackbook.rb +60 -0
  47. data/test/test_blackbook_exporter_base.rb +16 -0
  48. data/test/test_blackbook_exporter_vcf.rb +52 -0
  49. data/test/test_blackbook_exporter_xml.rb +16 -0
  50. data/test/test_blackbook_importer_aol.rb +113 -0
  51. data/test/test_blackbook_importer_base.rb +24 -0
  52. data/test/test_blackbook_importer_csv.rb +60 -0
  53. data/test/test_blackbook_importer_gmail.rb +117 -0
  54. data/test/test_blackbook_importer_hotmail.rb +147 -0
  55. data/test/test_blackbook_importer_page_scraper.rb +51 -0
  56. data/test/test_blackbook_importer_yahoo.rb +97 -0
  57. data/test/test_helper.rb +69 -0
  58. data/vendor/plugins/blackbook/lib/autotest/blackbook.rb +27 -0
  59. data/vendor/plugins/blackbook/lib/autotest/discover.rb +3 -0
  60. metadata +176 -0
@@ -0,0 +1,380 @@
1
+
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3
+
4
+ <html dir="ltr" class="Other Other_Other">
5
+ <head><title>
6
+ Windows Live Hotmail
7
+ </title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
+ <link rel="stylesheet" href="/mail/ThemeCommon_12.1.0069.1213.aspx?Theme=0&culture=en-US" type="text/css"/>
9
+ <link rel="stylesheet" href="http://gfx8.hotmail.com/mail/12.1.0069.1213/LayoutCommon.css" type="text/css"/>
10
+ <link rel="stylesheet" href="/mail/LayoutCommon_12.1.0069.1213.aspx?Theme=0&culture=en-US" type="text/css"/>
11
+ <link rel="stylesheet" href="http://gfx8.hotmail.com/mail/12.1.0069.1213/ClusterLtr.css" type="text/css"/>
12
+ <link rel="stylesheet" href="http://gfx8.hotmail.com/mail/12.1.0069.1213/LayoutToday.css" type="text/css"/>
13
+
14
+ <link rel="icon" href="http://gfx2.hotmail.com/mail/w2/ltr/favicon.ico" />
15
+ <link rel="shortcut icon" href="http://gfx2.hotmail.com/mail/w2/ltr/favicon.ico" />
16
+
17
+ <script type="text/javascript" src="http://ads1.msn.com/library/dap.js"></script>
18
+ </head>
19
+ <body class="ApplicationReach">
20
+ <script>
21
+
22
+ function doNothing(){}
23
+ if(typeof(fhover)!=="function") fhover=doNothing;
24
+ if(typeof(hover)!=="function") hover=doNothing;
25
+ if(typeof(showBlockingNotify)!=="function") showBlockingNotify=doNothing;
26
+ if(typeof(SearchProduct)!=="function") SearchProduct=doNothing;
27
+ if(typeof(maybeShowBlockingNotify)!=="function") maybeShowBlockingNotify=doNothing;
28
+ if(typeof(DropdownAction)!=="function") DropdownAction=doNothing;
29
+ if(typeof(onSubmitInfoPaneItemClicked)!=="function") onSubmitInfoPaneItemClicked=doNothing;
30
+ if(typeof(onSubmitToolbarItemClicked)!=="function") onSubmitToolbarItemClicked=doNothing;
31
+ if(typeof(cancelEvent)!=="function") cancelEvent=doNothing;
32
+ if(typeof(DoHelp)!=="function") DoHelp=doNothing;
33
+ if(typeof(blockEnter)!=="function") blockEnter=doNothing;
34
+ </script>
35
+ <script defer="defer" type="text/javascript">
36
+ function brkframe(){window.top.location=document.location.href+'&n='+ new Date().getTime();}
37
+ var g_wlmMainFormId = "aspnetForm", g_helpPaneMarket = "en-US", g_helpPaneProject = "MailClassic", g_helpBaseUrl = "http://help.live.com", g_adsToFire=[], g_isRtl = false;
38
+
39
+ if (!document.cookie || (document.cookie.indexOf("KSC")==-1) && (document.cookie.length!=0) ) {brkframe();}
40
+ try{if(window.top.document!=document){brkframe()}}catch(ex){brkframe()}
41
+ </script>
42
+ <div id="HeaderContainer">
43
+ <div id="adHeader" class="AdHeaderContainer">
44
+
45
+
46
+ <div id="RadAd_TodayPage_Banner" class="cAdBannerContainer" style="height:90px">
47
+
48
+ <script type="text/javascript">
49
+ dap("&AP=1390&PG=WLMUS3&UC=142", "728", "90");
50
+ </script>
51
+
52
+ </div>
53
+
54
+
55
+ </div>
56
+
57
+ <img style="display:none" src="http&#58;&#47;&#47;accountservices.msn.com&#47;loginmsn.srf&#63;lc&#61;1036&#38;ct&#61;1201338872&#38;rver&#61;4.5.2130.0&#38;lc&#61;1036&#38;id&#61;64855&#38;ru&#61;http&#58;&#37;2F&#37;2Fmail.live.com&#37;2Fmail&#37;2Fmail.aspx&#38;MSNPPAuth&#61;B54wF1obKnZsqa53Kdq7ngC&#33;VnEr&#33;ODJND2pC7QQcpU3rCO5Dc1YWJgDDgQrQkceR7&#33;LpLHIkAotvpQbtd4DdjLLbBxapGLpJs4QSyLoibAD3WdwQKw&#33;VvfTxTwe86wKz86sb1T6iVI2ejS0z0E&#33;7bQWABoc92jL5Xg72tsxbZYglcDHkjBJ6XXqOLkM&#42;4MKDlnTkOOYeLPNZrggo5mvRExennDkI&#33;IxmqE7PqxeHfKwG&#42;3oh02ZFeD72Ima44L4tjnS7UHAVHqT&#33;IKeAH3brJQJr2vTOJipg4O15rNXVsWY6ylig1mQjJoIkWhiEtXDoNrP2BiDoHuRT&#33;iwE8eX3v6rebYznKr1q38ioQt3ASgcHAMW5m4Fbf22qwAchE7rveULlc3ovl8sBKO&#33;SmRb0cSSy&#42;Y2X&#33;ZEiHHf0D8SM093T4Vv8&#33;17CsyVY8zz8RtRoHVCsUGuQgMs3gQ&#42;MJsM8LCUSFL4NoD8IU7KZPKkds4KuWgk&#42;51wL30I7AyJ"/><table cellspacing="0" id="uxp_hdr"><tr><td class="uxp_hdrInner"><table cellspacing="0" class="uxp_hdrInnerTable"><tr>
58
+
59
+ <td id="uxp_hdr_jewelParent" class="uxp_hdr_pointer" onmouseover="this.className+=' uxp_hdr_jewelSpanHover'" onmouseout="this.className=this.className.replace(' uxp_hdr_jewelSpanHover','')"><span id="uxp_hdr_jewelSpan"></span><a id="uxp_hdr_jewelLink" href="#"><img src="http://gfx1.hotmail.com/mail/uxp/w2/pr03/HIG/img/h/jewel_24_hover.png" alt="More services" title="" width="39" height="37" style="visibility:hidden"/><span class="uxp_hdr_windowsLiveText">Windows Live<span class="uxp_hdr_tm">&trade;</span></span></a><br /><div class="uxp_hdr_menuParent"><ul id="uxp_hdr_jewelMenu" class="uxp_hdr_menu" style="display:none"><li><a href="#"><span class="uxp_hdr_rightArrow"></span>Windows Live services</a><ul class="uxp_hdr_submenu"><li><a target="_top" href="http://g.live.com/9uxp9en-us/hdr_jwl9">Home</a></li><li><a target="_top" href="http://g.live.com/9uxp9en-us/hdr_jwl11">Calendar</a></li><li><a target="_top" href="http://g.live.com/9uxp9en-us/hdr_jwl10">Contacts</a></li><li><a target="_top" href="http://g.live.com/9uxp9en-us/hdr_jwl18">Family Safety</a></li><li><a target="_top" href="http://g.live.com/9uxp9en-us/hdr_jwl13">Gallery</a></li><li><a target="_top" href="http://g.live.com/9uxp9en-us/hdr_jwl14">Hotmail</a></li><li><a target="_top" href="http://g.live.com/9uxp9en-us/hdr_jwl15">OneCare</a></li><li><a target="_top" href="http://g.live.com/9uxp9en-us/hdr_jwl12">SkyDrive</a></li><li><a target="_top" href="http://g.live.com/9uxp9en-us/hdr_jwl16">Spaces</a></li><li><a target="_top" href="http://g.live.com/9uxp9en-us/hdr_jwl8">All services</a></li></ul></li><li><a href="#"><span class="uxp_hdr_rightArrow"></span>Other Live services</a><ul class="uxp_hdr_submenu"><li><a target="_top" href="http://g.live.com/9uxp9en-us/hdr_jwl1">Live Search</a></li><li><a target="_top" href="http://g.live.com/9uxp9en-us/hdr_jwl2">Office Live</a></li><li><a target="_top" href="http://g.live.com/9uxp9en-us/hdr_jwl3">Xbox Live</a></li><li class="uxp_hdr_menuSeparator">&nbsp;</li><li><a target="_top" href="http://g.live.com/9uxp9msn/jwl-en-us">MSN</a></li></ul></li><li class="uxp_hdr_menuSeparator">&nbsp;</li><li><a target="_top" href="http://g.live.com/9uxp9en-us/hdr_jwl5">Account</a></li><li><a target="_top" href="http://g.live.com/9uxp9en-us/hdr_jwl6?productkey=wlmail">Feedback</a></li><li><a target="_top" href="http://g.live.com/9uxp9en-us/hdr_jwl7">Help Central</a></li></ul></div></td><td><table id="uxp_hdr_middleArea"><tr><td id="uxp_hdr_tabsParent"><table id="uxp_hdr_tabs" cellspacing="0" class="uxp_hdr_pointer"><tr><td><a target="_top" href="http://g.live.com/9uxp9en-us/hdr_nav1"><span>Home</span></a></td><td><a target="_top" href="http://g.live.com/9uxp9en-us/hdr_nav2" id="uxp_hdr_tabs_current"><span>Hotmail</span></a></td><td><a target="_top" href="http://g.live.com/9uxp9en-us/hdr_nav3"><span>Spaces</span></a></td><td><a target="_top" href="http://g.live.com/9uxp9en-us/hdr_nav5"><span>OneCare</span></a></td></tr></table></td><td id="uxp_hdr_searchParent"><form id="uxp_hdr_search" onsubmit="document.getElementById('uxp_hdr_productSearchButton').click(); return false" action="http://search.live.com/results.aspx" method="GET" target="_blank">
60
+
61
+ <label for="uxp_hdr_searchInput" style="display:none">Search</label><span class="uxp_hdr_searchBorder"><span class="uxp_hdr_innerSearchBorder"><input id="uxp_hdr_searchInput" name="q" /><span class="uxp_hdr_buttonBorder"><input id="uxp_hdr_productSearchButton" class="uxp_hdr_button" type="button" onclick="return&#32;SearchProduct&#40;0,&#39;111686609&#39;,&#39;66666666-6666-6666-6666-666666666666&#39;&#41;" value="Mail" /></span></span></span>&nbsp;<span class="uxp_hdr_searchBorder"><span class="uxp_hdr_innerSearchBorder"><span class="uxp_hdr_buttonBorder"><input id="uxp_hdr_webSearchButton" class="uxp_hdr_button" type="button" onclick="var s=document.getElementById('uxp_hdr_search').onsubmit; document.getElementById('uxp_hdr_search').onsubmit=null; document.getElementById('uxp_hdr_submitSearchButton').click(); document.getElementById('uxp_hdr_search').onsubmit = s;" value="Web"/><input id="uxp_hdr_submitSearchButton" style="display:none" type="submit" /></span></span></span><input type="hidden" name="mkt" value="en-US"/><input name="form" value="WLMLQB" type="hidden"/></form></td></tr></table></td><td id="uxp_hdr_meParent" class="uxp_hdr_pointer"><img src="http://p.live.com/p.aspx?CI=8000&PN=Live.Mail&U=7a64a34453d42f1e&MS=1&X=fuS0tq5o%2fYSpROaE%2fozLU93VkUM%3d" alt="" style="display:none"/><a id="uxp_hdr_meLink" title="user@hotmail.com" href="#">user@h...&nbsp;<span class="uxp_hdr_downArrow"></span>&nbsp;&nbsp;</a><a id="uxp_hdr_signOut" target="_top" href="&#47;mail&#47;logout.aspx" onclick="event.cancelBubble=true">Sign out</a><div class="uxp_hdr_menuParent"><ul id="uxp_hdr_meMenu" class="uxp_hdr_menu" style="display:none"><li><a target="_top" href="http://g.live.com/9uxp9en-us/hdr_ame1">View your account</a></li><li><a target="_top" href="http://g.live.com/9uxp9en-us/hdr_ame2">Link other accounts</a></li><li class="uxp_hdr_menuSeparator">&nbsp;</li><li><a target="_top" href="http://g.live.com/9uxp9en-us/hdr_ame4">Personalize</a></li></ul></div></td></tr></table></td></tr></table>
62
+
63
+ </div>
64
+ <form name="aspnetForm" method="post" action="TodayLight.aspx?n=983113299" id="aspnetForm" enctype="multipart/form-data" onkeydown="blockEnter(event);">
65
+ <input type="hidden" name="__VIEWSTATE" id="
66
+ __VIEWSTATE" value="" />
67
+
68
+ <input type="hidden" id="mt" name="mt" value="" />
69
+
70
+ <table id="mainLayoutTable" cellpadding="0px" cellspacing="0px">
71
+ <tr>
72
+ <td class="MainLayoutLeftBar">
73
+ <div class="ContentLeft">
74
+ <div class="ContentFolderList ContainerBGColor2 BorderBox">
75
+
76
+
77
+ <ul id="folderList" class="List FolderList"><li class="FolderItemNormal ListItem " onmouseover="fhover(this)" onmouseout="fhover(this)"><a class="DisplayBlock" href="InboxLight.aspx?FolderID=00000000-0000-0000-0000-000000000001&n=1698793253" title="Inbox"><img src="./clear.gif" class="i_inbox"/>
78
+ <span>Inbox&#8206;</span></a>
79
+
80
+ </li><li class="FolderItemNormal ListItem " onmouseover="fhover(this)" onmouseout="fhover(this)"><a href="InboxLight.aspx?FolderID=00000000-0000-0000-0000-000000000005&n=1270706614" title="Junk"><img src="./clear.gif" class="i_junkfolder"/>
81
+ <span>Junk&#8206;</span></a>
82
+
83
+ <a class="IndexListItemEmptyLink" href="InboxLight.aspx?EmptyFolder=True&FolderID=00000000-0000-0000-0000-000000000005&n=710079513">
84
+ <img src="./clear.gif" class="glyph_empty_rest" alt="Empty this folder" />
85
+
86
+ </a>
87
+
88
+ </li><li class="FolderItemNormal ListItem " onmouseover="fhover(this)" onmouseout="fhover(this)"><a class="DisplayBlock" href="InboxLight.aspx?FolderID=00000000-0000-0000-0000-000000000004&n=1838161468" title="Drafts"><img src="./clear.gif" class="i_drafts"/>
89
+ <span>Drafts&#8206;</span></a>
90
+
91
+ </li><li class="FolderItemNormal ListItem " onmouseover="fhover(this)" onmouseout="fhover(this)"><a class="DisplayBlock" href="InboxLight.aspx?FolderID=00000000-0000-0000-0000-000000000003&n=374541449" title="Sent"><img src="./clear.gif" class="i_sent"/>
92
+ <span>Sent&#8206;</span></a>
93
+
94
+ </li><li class="FolderItemNormal ListItem BoldText" onmouseover="fhover(this)" onmouseout="fhover(this)"><a href="InboxLight.aspx?FolderID=00000000-0000-0000-0000-000000000002&n=2051661615" title="Deleted (35 )"><img src="./clear.gif" class="i_trash"/>
95
+ <span>Deleted&#8206; &#40;35&#41;</span></a>
96
+
97
+ <a class="IndexListItemEmptyLink" href="InboxLight.aspx?EmptyFolder=True&FolderID=00000000-0000-0000-0000-000000000002&n=1738215010">
98
+ <img src="./clear.gif" class="glyph_empty_rest" alt="Empty this folder" />
99
+
100
+ </a>
101
+
102
+ </li></ul><a class="ManageLink" href="ManageFoldersLight.aspx?n=1073115480">Manage folders</a>
103
+
104
+
105
+ </div>
106
+
107
+
108
+ <script type="text/javascript" defer="defer">
109
+
110
+ function shortcutHover(elem)
111
+ {
112
+ if(elem.className=="ShortcutItemHover")
113
+ {
114
+ elem.className = "";
115
+ }
116
+ else if (elem.className=="")
117
+ {
118
+ elem.className = "ShortcutItemHover";
119
+ }
120
+ }
121
+
122
+ function LaunchWebIM(username, url)
123
+ {
124
+ try {
125
+ username = username.replace(/[@.-]/g, '');
126
+ var w = window.open(
127
+ '',
128
+ username,
129
+ 'toolbar=no,scrollbars=0,location=no,menubar=no,target=_blank,width=420,height=650'
130
+ );
131
+
132
+ if(w.location == 'about:blank')
133
+ w.location = url;
134
+ w.focus();
135
+ }
136
+ catch(e) { }
137
+ }
138
+ </script>
139
+
140
+ <!--
141
+ <div id="shortcutsToggler" class="BorderNoBottom"><a id="shortcutsCollapser" href="#" onclick="toggleShortcuts(false);">Collapse</a><a id="shortcutsExpander" href="#" onclick="toggleShortcuts(true);">Expand</a></div>
142
+ -->
143
+
144
+ <div id="shortcutList" class="Shortcuts BorderNoBottom todayShortcutOn">
145
+
146
+ <a id="todayShortcut"
147
+ href="TodayLight.aspx?n=142438839"
148
+ title="Go to the Today Page"
149
+ onmouseover="shortcutHover(this);" onmouseout="shortcutHover(this);"
150
+
151
+
152
+ >
153
+ <img src="./clear.gif" class="i_today" alt="Go to the Today Page"/>
154
+ <span>Today</span>
155
+ </a>
156
+
157
+ <a id="mailShortcut"
158
+ href="InboxLight.aspx?n=1336013036"
159
+ title="Go to your e-mail"
160
+ onmouseover="shortcutHover(this);" onmouseout="shortcutHover(this);"
161
+
162
+
163
+ >
164
+ <img src="./clear.gif" class="i_mail" alt="Go to your e-mail"/>
165
+ <span>Mail</span>
166
+ </a>
167
+
168
+ <a id="contactsShortcut"
169
+ href="ContactMainLight.aspx?n=1620970613"
170
+ title="Go to your contacts"
171
+ onmouseover="shortcutHover(this);" onmouseout="shortcutHover(this);"
172
+
173
+
174
+ >
175
+ <img src="./clear.gif" class="i_contacts" alt="Go to your contacts"/>
176
+ <span>Contacts</span>
177
+ </a>
178
+
179
+ <a id="calendarShortcut"
180
+ href="/mail/calendar.aspx"
181
+ title="Go to your calendar"
182
+ onmouseover="shortcutHover(this);" onmouseout="shortcutHover(this);"
183
+
184
+
185
+ >
186
+ <img src="./clear.gif" class="i_calendar" alt="Go to your calendar"/>
187
+ <span>Calendar</span>
188
+ </a>
189
+
190
+ </div>
191
+
192
+
193
+ <div class="ToolsCustomerCommunication BorderBox">
194
+
195
+ <div id="CustComm_120x60" class="c120x60CustomerCommContainer CustComm_120x60" style="height:60px !important;">
196
+
197
+ <script type="text/javascript">
198
+ dap("&AP=1026&PG=WLMUSC&UC=142", "120", "60");
199
+ </script>
200
+
201
+ </div>
202
+
203
+ </div>
204
+ </div>
205
+ </td>
206
+ <td class="MainLayoutRightBar">
207
+ <div class="ToolbarContent">
208
+ <ul class="Toolbar" >
209
+
210
+ <script defer="defer" type="text/javascript">g_helpKey="PIM_WhatsNew";</script>
211
+
212
+ <li class="ToolbarItem ToolbarItemNew"><a href="EditMessageLight.aspx?n=574911849"><img src="./clear.gif" class="i_newmessage_2" alt="New"/>
213
+ <span>New</span></a></li>
214
+
215
+
216
+ <li class="ToolbarItem ToolbarHelpLink FloatRight" ><a href="#" id="Help" onclick="DoHelp();"><img alt="Help" src="http://gfx2.hotmail.com/mail/w2/ltr/i_help.gif"title="Help"/></a></li>
217
+
218
+ <li class="ToolbarItem ToolbarOptionsLink FloatRight"><a href="options.aspx?subsection=1&n=1000654360"id="Options"><img src="./clear.gif" class="i_prefs" alt="Options"/>
219
+ <span>Options</span></a></li>
220
+ </ul>
221
+ <input type="hidden" id="ToolbarActionItem" name="ToolbarActionItem" value=""/>
222
+ </div>
223
+
224
+ <div id="MainContent">
225
+
226
+ <table width="100%" cellpadding="0" cellspacing="0"><tr valign="top"><td>
227
+ <div class="BorderNoTop">
228
+
229
+ <div class="TodayHeaderPadding BorderBottomLineColor ContainerBGColor2">
230
+ <div class="TodayHeaderGreetingDate">
231
+ <span class="TodayHeaderGreeting BoldText" >Hi, Joe User&#33;</span><span class="TodayHeaderDate">Saturday, January 26</span></div>
232
+ <div class="TodayHeaderStorageMeter ClearBoth">
233
+ <div class="StorageMeterBar"><div class="Bar" style="width:0%;"></div></div>
234
+ <div class="StorageMeterText ClearBoth">
235
+ <div class="MeterText FloatLeft">Mailbox usage&#58; 0&#37; of 5 GB</div>
236
+
237
+ <div class="NewsletterLink FloatRight">
238
+ <a href="http://newsletters.msn.com/hm/gomarket.asp?L=EN&C=US&P=WCMaintenance&Brand=WL&RU=http%3a%2f%2fmail.live.com" target="_blank">
239
+ <img src="http://gfx2.hotmail.com/mail/w2/ltr/i_newsletter2.gif" />
240
+ Get newsletters
241
+ </a>
242
+ </div>
243
+
244
+ <div class="ClearBoth"></div>
245
+ </div>
246
+ </div>
247
+ </div>
248
+
249
+
250
+ <div class="TodayUpsell BorderBottomLineColor UpsellBackground ClearBoth">
251
+ <div class="VersionHeading">This is the classic version of Windows Live Hotmail</div>
252
+
253
+ <div>This version works better with your browser. The full version of Windows Live Hotmail runs on <a href="http://www.microsoft.com/windows/ie/downloads/default.asp">Internet Explorer 6.0</a> and higher (make sure you check the <a href="http://www.microsoft.com/windows/ie/evaluation/sysreqs/default.mspx" >system requirements</a> before you install it). The full version also works on Firefox 1.5.</div>
254
+
255
+ </div>
256
+
257
+ <div id="TodayTabSection" class="ClearBoth TodayTabContainer">
258
+
259
+ <ul id="tabHeaderList" class="TabHeaders ClearBoth">
260
+
261
+ <li id="MsnTodayHeader" class="TabHeaderSelected"><a href="#" onclick="TabSelect(event)" ><div>Today</div></a></li>
262
+
263
+ </ul>
264
+
265
+ <div id="tabContentContainer" class="TabContentContainer ClearBoth">
266
+
267
+ <div id="MsnTodayTab" class="TabContentSelected">
268
+
269
+ <DIV class="parent chrome6 hexa0" id=edtab><DIV class=news100><A target="_blank" href="http://today.msnbc.msn.com/id/22688706/?GT1=10755"><IMG alt="Anorexic woman (© VStock/AGE Fotostock)" src="http://stb.msn.com/i/3D/6B3B888A901C7BCCD5BD934ED18C2D.jpg"></A><A target="_blank" href="http://today.msnbc.msn.com/id/22688706/?GT1=10755"><SPAN class=title>'Anorexia Nearly Killed my Wife'</SPAN><SPAN class=desc>A husband's insight into powerful eating disorder</SPAN></A><SPAN class=title>More on MSN ...</SPAN><A target="_blank" href="http://health.msn.com/nutrition/articlepage.aspx?cp-documentid=100184838&amp;GT1=10815">
270
+ <LI>Change how you think about food</A><A target="_blank" href="http://health.msn.com/weight-loss/lose-10-pounds/articlepage.aspx?cp-documentid=100173489&amp;GT1=10815">
271
+ <LI>BMI, body fat &amp; health risks</A></LI></DIV>
272
+ <DIV class=news100><SPAN class=title>Also on MSN</SPAN><A target="_blank" href="http://www.msnbc.msn.com/id/22342054/wid/11915829?GT1=10841">
273
+ <LI>Are you in cell phone jail?</A><A target="_blank" href="http://www.msnbc.msn.com/id/22785640/?GT1=10755">
274
+ <LI>Confessions of a casino pit boss</A><A target="_blank" href="http://www.msnbc.msn.com/id/22790091/?GT1=10755">
275
+ <LI>Candidate: Elect me &amp; I won't serve</A><A target="_blank" href="http://articles.moneycentral.msn.com/Investing/Extra/StarbucksTestsOneDollarCupOfCoffee.aspx?GT1=10825">
276
+ <LI>$1 coffee at Starbucks?</A></LI></DIV>
277
+ <DIV class="news50 left"><A target="_blank" href="http://www.blog.newsweek.com/blogs/ov/archive/2008/01/22/how-to-choose-a-gang-name-in-kenya.aspx?GT1=10755"><IMG alt="Nairobi's Kibera slum (©Noor Khamis/Landov)" src="http://stb.msn.com/i/6C/83B1207555DCAAEC65A8346CB2AEC1.jpg"></A><A target="_blank" href="http://www.blog.newsweek.com/blogs/ov/archive/2008/01/22/how-to-choose-a-gang-name-in-kenya.aspx?GT1=10755"><SPAN class=title>The Baghdad Boys</SPAN><SPAN class=desc>How Kenyan gangs choose their names</SPAN></A></DIV>
278
+ <DIV class=news50><A target="_blank" href="http://entertainment.msn.com/music/hotgossip/1-23-08_4?GT1=7702"><IMG alt="Madonna (© David Long/Camera Press/Retna)" src="http://stb.msn.com/i/8E/473F1D516CA6B127D599D018721E3.jpg"></A><A target="_blank" href="http://entertainment.msn.com/music/hotgossip/1-23-08_4?GT1=7702"><SPAN class=title>Celeb gossip</SPAN><SPAN class=desc>Madonna's fridge mishap, role-model Reese, more</SPAN></A></DIV>
279
+ <DIV class=news100><SPAN class=title>Most Popular Features on MSN</SPAN><A target="_blank" href="http://www.msnbc.msn.com/id/22840727?GT1=10755">
280
+ <LI>Cell phone porn scandal hits U.S. high school</A><A target="_blank" href="http://tv.msn.com/news/article.aspx?news=294714&amp;GT1=7701">
281
+ <LI>Mary-Kate Olsen: 'Heath was a friend'</A><A target="_blank" href="http://health.msn.com/health-topics/addiction/articlepage.aspx?cp-documentid=100188922&amp;GT1=10799">
282
+ <LI>Sleeping pill risks, realities</A><A target="_blank" href="http://movies.msn.com/movies/critics-reviews/?GT1=7701">
283
+ <LI>Review: Does 'Rambo' still have ammo?</A></LI></DIV></DIV>
284
+
285
+ <div class="cClearBoth"></div>
286
+
287
+ </div>
288
+
289
+ </div>
290
+ </div>
291
+
292
+
293
+ <div class="TodayOptOut">Want to start with your inbox? To skip the Today page when you sign in, <a class="NonThemedLinks" href="options.aspx?subsection=34&n=280599254" target="_top">change your settings</a>.</div>
294
+
295
+ <!-- hash=3625022500 -->
296
+
297
+ <div id="ContentWidthPlaceholder"></div>
298
+ <div class="DropShadow"></div>
299
+ </div>
300
+ </td><td class="dSideAds">
301
+ <div id="dSideAdsDiv">
302
+
303
+ <div id="RadAd_Today300" class="" style="">
304
+
305
+ <script type="text/javascript">
306
+ dap("&AP=1089&PG=WLMUS1&UC=142", "300", "250");
307
+ </script>
308
+
309
+ </div>
310
+
311
+
312
+ <div id="CustComm_300x125_TodayPage" class="" style="">
313
+
314
+ <script type="text/javascript">
315
+ dap("&AP=1419&PG=WLMUSA&UC=142", "300", "125");
316
+ </script>
317
+
318
+ </div>
319
+
320
+ </div>
321
+ </td></tr></table>
322
+
323
+ </div>
324
+
325
+ </td>
326
+ </tr>
327
+ <tr>
328
+ <td class="MainLayoutBottomBar" colspan="2">
329
+
330
+ </td>
331
+ </tr>
332
+ </table>
333
+ </form>
334
+
335
+
336
+ <table id="uxp_ftr_control" cellpadding="0" cellspacing="0">
337
+ <tr>
338
+ <td id="uxp_ftr_left">
339
+ <ul>
340
+
341
+ <li><a id="uxp_ftr_link_trademark" target="_top" href="http&#58;&#47;&#47;g.live.com&#47;9uxp9en-us&#47;ftr1">&copy; 2008 Microsoft</a></li>
342
+
343
+ <li><a id="uxp_ftr_link_privacy" target="_top" href="http&#58;&#47;&#47;go.microsoft.com&#47;fwlink&#47;&#63;LinkId&#61;74170">Privacy</a></li>
344
+
345
+ <li class="uxp_ftr_item_last"><a id="uxp_ftr_link_legal" target="_top" href="http&#58;&#47;&#47;g.msn.com&#47;0TO_&#47;enus">Legal</a></li>
346
+
347
+ </ul>
348
+ </td>
349
+ <td id="uxp_ftr_right">
350
+ <table id="uxp_ftr_right_nest" cellpadding="0" cellspacing="0">
351
+ <tr>
352
+ <td>
353
+ <ul>
354
+
355
+ <li><a id="uxp_ftr_link_helpcentral" target="_top" href="http&#58;&#47;&#47;g.live.com&#47;9uxp9en-us&#47;ftr2">Help Central</a></li>
356
+ <li><a id="uxp_ftr_link_account" target="_top" href="http&#58;&#47;&#47;g.live.com&#47;9uxp9en-us&#47;ftr3">Account</a></li>
357
+ <li class="uxp_ftr_item_last"><a id="uxp_ftr_link_feedback" target="_top" href="http&#58;&#47;&#47;g.live.com&#47;9uxp9en-us&#47;ftr4&#63;productkey&#61;wlmail">Feedback</a></li>
358
+ </ul>
359
+ </td>
360
+ </tr>
361
+ </table>
362
+ </td>
363
+ </tr>
364
+ </table>
365
+
366
+
367
+
368
+ <img class="DisplayNone" id="cleargif" src="http://h.live.com/c.gif?RF=&PI=44364&DI=5707&PS=94556" width="1" height="1" alt=""/>
369
+
370
+
371
+ <script defer="defer" type="text/javascript" src="http://help.live.com/resources/neutral/launchhelp.js"></script>
372
+ </body>
373
+
374
+
375
+ <script defer="defer" type="text/javascript" src="http://gfx6.hotmail.com/mail/12.1.0069.1213/Light.js"></script>
376
+
377
+
378
+ <script defer="defer" type="text/javascript" src="http://gfx7.hotmail.com/mail/12.1.0069.1213/MSNPlatform/Header.js"></script>
379
+
380
+ </html>