alexjp-blackbook_csv 1.0.5

Sign up to get free protection for your applications and to get access to all the features.
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>