sco-fakebook 0.1.1 → 0.1.2
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.
- data/{README → README.rdoc} +0 -0
- data/Rakefile +19 -2
- data/TODO +4 -2
- data/lib/fakebook-assets/attachments.js +60 -0
- data/lib/fakebook-assets/canvas.css +15 -11
- data/lib/fakebook-assets/canvas.js +14 -0
- data/lib/fakebook-assets/common.css +1225 -809
- data/lib/fakebook-assets/common.js +1878 -0
- data/lib/fakebook-assets/confirmation.js +18 -0
- data/lib/fakebook-assets/dialogpro.css +58 -0
- data/lib/fakebook-assets/drag.js +60 -0
- data/lib/fakebook-assets/edit_app_settings.css +31 -0
- data/lib/fakebook-assets/edit_app_settings.js +16 -0
- data/lib/fakebook-assets/editapps.js +12 -0
- data/lib/fakebook-assets/editprofile.css +42 -0
- data/lib/fakebook-assets/endscript.js +37 -0
- data/lib/fakebook-assets/fb_menubar.png +0 -0
- data/lib/fakebook-assets/fb_menubar_logo.gif +0 -0
- data/lib/fakebook-assets/fbml.js +63 -40
- data/lib/fakebook-assets/feedform.js +31 -0
- data/lib/fakebook-assets/firstscript.js +2 -0
- data/lib/fakebook-assets/flyout_menu.js +51 -0
- data/lib/fakebook-assets/friend_suggester.css +12 -0
- data/lib/fakebook-assets/friend_suggester.js +13 -0
- data/lib/fakebook-assets/ie6.css +715 -0
- data/lib/fakebook-assets/ie7.css +406 -0
- data/lib/fakebook-assets/js_strings.js +2 -0
- data/lib/fakebook-assets/link_controller.js +26 -0
- data/lib/fakebook-assets/livemessage.js +22 -0
- data/lib/fakebook-assets/pages.css +432 -0
- data/lib/fakebook-assets/profile.css +629 -0
- data/lib/fakebook-assets/quickling.js +71 -0
- data/lib/fakebook-assets/scrollarea.js +20 -0
- data/lib/fakebook-assets/search_friend_source.js +17 -0
- data/lib/fakebook-assets/search_typeaheadpro.js +20 -0
- data/lib/fakebook-assets/sort.js +30 -0
- data/lib/fakebook-assets/static_source.js +25 -0
- data/lib/fakebook-assets/tidied.html +439 -0
- data/lib/fakebook-assets/tour_tip.css +8 -0
- data/lib/fakebook-assets/typeahead_source.js +28 -0
- data/lib/fakebook-assets/typeaheadpro.css +84 -0
- data/lib/fakebook-assets/ubersearch.css +342 -0
- data/lib/fakebook-assets/webkit.css +10 -0
- data/lib/fakebook.rb +4 -4
- data/lib/templates/old.html.erb +62 -0
- data/lib/templates/standard.html.erb +69 -39
- metadata +51 -20
- data/Manifest +0 -20
- data/fakebook.gemspec +0 -39
- data/lib/fakebook-assets/base.js +0 -317
- data/lib/fakebook-assets/extended.js +0 -49
- data/lib/fakebook-assets/fakebook.js +0 -122
- data/lib/fakebook-assets/navigator_bg.gif +0 -0
- data/lib/fakebook-assets/shadow_gray.gif +0 -0
- data/lib/fakebook-assets/string.js +0 -61
- data/lib/fakebook-assets/white.gif +0 -0
- data/lib/templates/minimal.html.erb +0 -22
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/* Source: Global Cache */
|
|
2
|
+
/* Location: css/webkit.css r99258 */
|
|
3
|
+
/* Machine: 10.16.139.105 */
|
|
4
|
+
/* Generated: July 9th 2008 3:45:17 PM PDT */
|
|
5
|
+
/* HTTP Host: static.ak.fbcdn.net */
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
.so_sound_player{left:-5px;}
|
|
9
|
+
select{border:1px solid;}
|
|
10
|
+
#presence #chat_tab_bar .chat_window_wrapper{position:absolute;}
|
data/lib/fakebook.rb
CHANGED
|
@@ -9,7 +9,7 @@ require File.dirname(__FILE__) + '/node'
|
|
|
9
9
|
|
|
10
10
|
class Fakebook
|
|
11
11
|
|
|
12
|
-
Version = '0.1.
|
|
12
|
+
Version = '0.1.2' # also see fakebook.gemspec
|
|
13
13
|
|
|
14
14
|
attr_accessor :callback, :canvas, :secret, :fb_params, :template
|
|
15
15
|
|
|
@@ -44,10 +44,10 @@ class Fakebook
|
|
|
44
44
|
res["Content-Type"] = "text/json; charset=utf-8"
|
|
45
45
|
res.write %Q({ "success":"true" })
|
|
46
46
|
elsif path=='/fakebook-update'
|
|
47
|
-
@fb_params[:user]
|
|
48
|
-
@fb_params[:friends]
|
|
47
|
+
@fb_params[:user] = req.params['user'].to_i if req.params['user']
|
|
48
|
+
@fb_params[:friends] = req.params['friends'].split(/, ?/).map{ |id| id.to_i } if req.params['friends']
|
|
49
49
|
@fb_params[:in_canvas] = req.params['in_canvas'].to_i if req.params['in_canvas']
|
|
50
|
-
@fb_params[:added]
|
|
50
|
+
@fb_params[:added] = req.params['added'].to_i if req.params['added']
|
|
51
51
|
res.status = 302
|
|
52
52
|
res["Location"] = req.env['HTTP_REFERER']
|
|
53
53
|
elsif path=='/fakebook-install'
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
3
|
+
|
|
4
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" id="facebook">
|
|
5
|
+
|
|
6
|
+
<head>
|
|
7
|
+
<title>Fakebook | Application | <%= title %></title>
|
|
8
|
+
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
|
|
9
|
+
<link rel="stylesheet" href="/fakebook-assets/common.css" type="text/css" media="all"/>
|
|
10
|
+
<link rel="stylesheet" href="/fakebook-assets/canvas.css" type="text/css"/>
|
|
11
|
+
<script type="text/javascript" src="/fakebook-assets/base.js"></script>
|
|
12
|
+
<script type="text/javascript" src="/fakebook-assets/fbml.js"></script>
|
|
13
|
+
<script type="text/javascript" src="/fakebook-assets/extended.js"></script>
|
|
14
|
+
<script type="text/javascript" src="/fakebook-assets/string.js"></script>
|
|
15
|
+
<script type="text/javascript" src="/fakebook-assets/fakebook.js"></script>
|
|
16
|
+
</head>
|
|
17
|
+
|
|
18
|
+
<body class="fbframe">
|
|
19
|
+
|
|
20
|
+
<div id="book">
|
|
21
|
+
<div id="sidebar">
|
|
22
|
+
<a href="http://www.facebook.com" class="go_home"></a>
|
|
23
|
+
<div id="sidebar_content" style="min-height:150px">
|
|
24
|
+
<form action="/fakebook-update" method="post" style="margin: 5px">
|
|
25
|
+
<p><label>fb_sig_user</label><br/><input type="text" name="user" value="<%= @fb_params[:user] %>" size="15" /></p>
|
|
26
|
+
<p><label>fb_sig_friends</label><br/><textarea name="friends" rows="3" cols="15"><%= @fb_params[:friends].join(',') %></textarea></p>
|
|
27
|
+
<p><label>fb_sig_in_canvas</label><br/><input type="text" name="in_canvas" value="<%= @fb_params[:in_canvas] %>" size="3" /></p>
|
|
28
|
+
<p><label>fb_sig_added</label><br/><input type="text" name="added" value="<%= @fb_params[:added] %>" size="3" /></p>
|
|
29
|
+
<p><input type="submit" value="Update" /></p>
|
|
30
|
+
</form>
|
|
31
|
+
</div>
|
|
32
|
+
</div>
|
|
33
|
+
<div id="widebar" class="clearfix">
|
|
34
|
+
<div id="navigator"></div>
|
|
35
|
+
<div id="page_body" class="pagebody fbframe">
|
|
36
|
+
<div id="content_shadow">
|
|
37
|
+
<div id="content" class="clearfix">
|
|
38
|
+
<div id="app_content_<%= @app_id %>" class="app_content_<%= @app_id %> canvas_rel_positioning"></div>
|
|
39
|
+
<%= body %>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
43
|
+
<div id="pagefooter" class="clearfix"></div>
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
|
|
47
|
+
<!-- TODO: replace references to user ids, etc -->
|
|
48
|
+
<script type="text/javascript">
|
|
49
|
+
/*
|
|
50
|
+
FBML.Contexts["8e8502184f40"] = "O:16:\"CanvasFBMLFlavor\":1:{s:9:\"_fbml_env\";a:9:{s:4:\"user\";i:505421674;s:6:\"app_id\";s:10:\"<%= @app_id %>\";s:10:\"fb_page_id\";i:0;s:14:\"unfiltered_css\";b:0;s:10:\"canvas_url\";s:33:\"http:\/\/apps.facebook.com\/packrat\/\";s:10:\"source_url\";s:30:\"http:\/\/67.202.39.181\/facebook\/\";s:9:\"loggedout\";b:0;s:7:\"non-tos\";b:0;s:11:\"flavor_code\";i:3;}}";
|
|
51
|
+
FBML._mockAjaxProxyUrl = "http:\/\/apps.facebook.com\/fbml\/mock_ajax_proxy.php"
|
|
52
|
+
var app=new fbjs_sandbox(<%= @app_id %>);
|
|
53
|
+
app.validation_vars={"fb_sig_time":"1203052554.0774","fb_sig_added":1,"fb_sig_user":505421674,"fb_sig_profile_update_time":1202944208,"fb_sig_session_key":"2d5edb7749d7c3926b358f75-505421674","fb_sig_expires":0,"fb_sig_api_key":"1b2c477e39be0e0b9efa17e49c93954f","fb_sig":"db2b41794182b523b89a38b97cd9e05f"};
|
|
54
|
+
app.context='4d1a7d42f1dd';
|
|
55
|
+
app.contextd='O:16:\x22CanvasFBMLFlavor\x22:1:{s:9:\x22_fbml_env\x22;a:10:{s:4:\x22user\x22;i:505421674;s:6:\x22app_id\x22;s:10:\x22<%= @app_id %>\x22;s:10:\x22fb_page_id\x22;i:0;s:14:\x22unfiltered_css\x22;b:0;s:10:\x22canvas_url\x22;s:33:\x22http://apps.facebook.com/packrat/\x22;s:10:\x22source_url\x22;s:30:\x22http://67.202.39.181/facebook/\x22;s:9:\x22loggedout\x22;b:0;s:7:\x22non-tos\x22;b:0;s:11:\x22flavor_code\x22;i:3;s:14:\x22user_triggered\x22;b:0;}}';
|
|
56
|
+
app.data={"user":505421674,"installed":true,"loggedin":true};
|
|
57
|
+
app.bootstrap();
|
|
58
|
+
*/
|
|
59
|
+
</script>
|
|
60
|
+
|
|
61
|
+
</body>
|
|
62
|
+
</html>
|
|
@@ -4,51 +4,81 @@
|
|
|
4
4
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" id="facebook">
|
|
5
5
|
|
|
6
6
|
<head>
|
|
7
|
-
<title>
|
|
7
|
+
<title>Facebook | PackRat Design</title>
|
|
8
8
|
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
|
|
9
|
-
<link rel="stylesheet" href="/fakebook-assets/common.css" type="text/css" media="all"/>
|
|
10
|
-
<link rel="stylesheet" href="/fakebook-assets/canvas.css" type="text/css"/>
|
|
11
|
-
<script type="text/javascript" src="/fakebook-assets/base.js"></script>
|
|
12
|
-
<script type="text/javascript" src="/fakebook-assets/fbml.js"></script>
|
|
13
|
-
<script type="text/javascript" src="/fakebook-assets/extended.js"></script>
|
|
14
|
-
<script type="text/javascript" src="/fakebook-assets/string.js"></script>
|
|
15
|
-
<script type="text/javascript" src="/fakebook-assets/fakebook.js"></script>
|
|
16
|
-
</head>
|
|
17
9
|
|
|
18
|
-
|
|
10
|
+
<script type="text/javascript" src="/fakebook-assets/firstscript.js"></script>
|
|
11
|
+
<script type="text/javascript" src="/fakebook-assets/js_strings.js"></script>
|
|
12
|
+
<link type="text/css" rel="stylesheet" href="/fakebook-assets/common.css" />
|
|
13
|
+
<%# app CSS goes here %>
|
|
14
|
+
<%# where does JS go? %>
|
|
15
|
+
<link type="text/css" rel="stylesheet" href="/fakebook-assets/dialogpro.css" />
|
|
16
|
+
<link type="text/css" rel="stylesheet" href="/fakebook-assets/editprofile.css" />
|
|
17
|
+
<link type="text/css" rel="stylesheet" href="/fakebook-assets/tour_tip.css" />
|
|
18
|
+
<link type="text/css" rel="stylesheet" href="/fakebook-assets/pages.css" />
|
|
19
|
+
<link type="text/css" rel="stylesheet" href="/fakebook-assets/canvas.css" />
|
|
20
|
+
<link type="text/css" rel="stylesheet" href="/fakebook-assets/ubersearch.css" />
|
|
21
|
+
<link type="text/css" rel="stylesheet" href="/fakebook-assets/typeaheadpro.css" />
|
|
22
|
+
<link type="text/css" rel="stylesheet" href="/fakebook-assets/friend_suggester.css" />
|
|
23
|
+
<link type="text/css" rel="stylesheet" href="/fakebook-assets/profile.css" />
|
|
24
|
+
<link type="text/css" rel="stylesheet" href="/fakebook-assets/edit_app_settings.css" />
|
|
25
|
+
<script type="text/javascript" src="/fakebook-assets/common.js"></script>
|
|
26
|
+
<script type="text/javascript" src="/fakebook-assets/link_controller.js"></script>
|
|
27
|
+
<script type="text/javascript" src="/fakebook-assets/flyout_menu.js"></script>
|
|
28
|
+
<script type="text/javascript" src="/fakebook-assets/canvas.js"></script>
|
|
29
|
+
<script type="text/javascript" src="/fakebook-assets/confirmation.js"></script>
|
|
30
|
+
<script type="text/javascript" src="/fakebook-assets/feedform.js"></script>
|
|
31
|
+
<script type="text/javascript" src="/fakebook-assets/quickling.js"></script>
|
|
32
|
+
<script type="text/javascript" src="/fakebook-assets/attachments.js"></script>
|
|
33
|
+
<script type="text/javascript" src="/fakebook-assets/fbml.js"></script>
|
|
34
|
+
<script type="text/javascript" src="/fakebook-assets/friend_suggester.js"></script>
|
|
35
|
+
<script type="text/javascript" src="/fakebook-assets/typeahead_source.js"></script>
|
|
36
|
+
<script type="text/javascript" src="/fakebook-assets/drag.js"></script>
|
|
37
|
+
<script type="text/javascript" src="/fakebook-assets/sort.js"></script>
|
|
38
|
+
<script type="text/javascript" src="/fakebook-assets/edit_app_settings.js"></script>
|
|
39
|
+
<script type="text/javascript" src="/fakebook-assets/editapps.js"></script>
|
|
40
|
+
<script type="text/javascript" src="/fakebook-assets/scrollarea.js"></script>
|
|
41
|
+
<script type="text/javascript" src="/fakebook-assets/search_typeaheadpro.js"></script>
|
|
42
|
+
<script type="text/javascript" src="/fakebook-assets/static_source.js"></script>
|
|
43
|
+
<script type="text/javascript" src="/fakebook-assets/search_friend_source.js"></script>
|
|
44
|
+
<script type="text/javascript" src="/fakebook-assets/livemessage.js"></script>
|
|
45
|
+
<!--[if lte IE 6]><style type="text/css" media="screen">/* <![CDATA[ */ @import url(/fakebook-assets/ie6.css); /* ]]> */</style><![endif]-->
|
|
46
|
+
<!--[if gte IE 7]><style type="text/css" media="screen">/* <![CDATA[ */ @import url(/fakebook-assets/ie7.css); /* ]]> */</style><![endif]-->
|
|
47
|
+
<link rel="stylesheet" href="/fakebook-assets/webkit.css" type="text/css"/>
|
|
48
|
+
</head>
|
|
19
49
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
<div id="
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
50
|
+
<body class="fbframe frame_wide widebook chat_body">
|
|
51
|
+
<div id="fb_nonfooter">
|
|
52
|
+
<div id="fb_nonfooter_content">
|
|
53
|
+
<div id="fb_dropmenu_container">
|
|
54
|
+
<div id="fb_menubar" class="clearfix">
|
|
55
|
+
<div id="fb_menubar_logo">
|
|
56
|
+
<a href="http://www.new.facebook.com/home.php?ref=logo" title="Go to Facebook Home"><span> </span></a>
|
|
57
|
+
</div>
|
|
58
|
+
</div>
|
|
59
|
+
</div>
|
|
60
|
+
<div id="book">
|
|
61
|
+
<div class="compatibility_frame">
|
|
62
|
+
<div id="content">
|
|
63
|
+
<div id="app_content_<%= @app_id %>" class="app_content_<%= @app_id %> canvas_rel_positioning">
|
|
64
|
+
<div>
|
|
65
|
+
<%= body %>
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
32
68
|
</div>
|
|
33
69
|
</div>
|
|
34
70
|
</div>
|
|
35
|
-
<div id="pagefooter" class="clearfix"></div>
|
|
36
71
|
</div>
|
|
37
72
|
</div>
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
app.data={"user":505421674,"installed":true,"loggedin":true};
|
|
49
|
-
app.bootstrap();
|
|
50
|
-
*/
|
|
51
|
-
</script>
|
|
52
|
-
|
|
73
|
+
<div id="pagefooter">
|
|
74
|
+
<div class="pagefooter_topborder clearfix">
|
|
75
|
+
<div class="f_links">
|
|
76
|
+
<ul class="footer_links" id="nav_unused_3"><li> </li></ul>
|
|
77
|
+
</div>
|
|
78
|
+
</div>
|
|
79
|
+
</div>
|
|
80
|
+
<div id="js_buffer">
|
|
81
|
+
<script type="text/javascript" src="endscript.js"></script>
|
|
82
|
+
</div>
|
|
53
83
|
</body>
|
|
54
|
-
</html>
|
|
84
|
+
</html>
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sco-fakebook
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Scott Raymond
|
|
@@ -9,8 +9,8 @@ autorequire:
|
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
11
|
|
|
12
|
-
date: 2008-07-
|
|
13
|
-
default_executable:
|
|
12
|
+
date: 2008-07-17 00:00:00 -07:00
|
|
13
|
+
default_executable: fakebook
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: rack
|
|
@@ -28,39 +28,70 @@ executables:
|
|
|
28
28
|
extensions: []
|
|
29
29
|
|
|
30
30
|
extra_rdoc_files:
|
|
31
|
-
- Manifest
|
|
32
31
|
- TODO
|
|
33
|
-
- README
|
|
32
|
+
- README.rdoc
|
|
34
33
|
- LICENSE
|
|
35
34
|
files:
|
|
35
|
+
- LICENSE
|
|
36
|
+
- README.rdoc
|
|
37
|
+
- Rakefile
|
|
38
|
+
- TODO
|
|
39
|
+
- bin
|
|
36
40
|
- bin/fakebook
|
|
37
|
-
-
|
|
38
|
-
- lib/fakebook-assets
|
|
41
|
+
- lib
|
|
42
|
+
- lib/fakebook-assets
|
|
43
|
+
- lib/fakebook-assets/attachments.js
|
|
39
44
|
- lib/fakebook-assets/canvas.css
|
|
45
|
+
- lib/fakebook-assets/canvas.js
|
|
40
46
|
- lib/fakebook-assets/common.css
|
|
41
|
-
- lib/fakebook-assets/
|
|
42
|
-
- lib/fakebook-assets/
|
|
47
|
+
- lib/fakebook-assets/common.js
|
|
48
|
+
- lib/fakebook-assets/confirmation.js
|
|
49
|
+
- lib/fakebook-assets/dialogpro.css
|
|
50
|
+
- lib/fakebook-assets/drag.js
|
|
51
|
+
- lib/fakebook-assets/edit_app_settings.css
|
|
52
|
+
- lib/fakebook-assets/edit_app_settings.js
|
|
53
|
+
- lib/fakebook-assets/editapps.js
|
|
54
|
+
- lib/fakebook-assets/editprofile.css
|
|
55
|
+
- lib/fakebook-assets/endscript.js
|
|
56
|
+
- lib/fakebook-assets/fb_menubar.png
|
|
57
|
+
- lib/fakebook-assets/fb_menubar_logo.gif
|
|
43
58
|
- lib/fakebook-assets/fbml.js
|
|
44
|
-
- lib/fakebook-assets/
|
|
45
|
-
- lib/fakebook-assets/
|
|
46
|
-
- lib/fakebook-assets/
|
|
47
|
-
- lib/fakebook-assets/
|
|
59
|
+
- lib/fakebook-assets/feedform.js
|
|
60
|
+
- lib/fakebook-assets/firstscript.js
|
|
61
|
+
- lib/fakebook-assets/flyout_menu.js
|
|
62
|
+
- lib/fakebook-assets/friend_suggester.css
|
|
63
|
+
- lib/fakebook-assets/friend_suggester.js
|
|
64
|
+
- lib/fakebook-assets/ie6.css
|
|
65
|
+
- lib/fakebook-assets/ie7.css
|
|
66
|
+
- lib/fakebook-assets/js_strings.js
|
|
67
|
+
- lib/fakebook-assets/link_controller.js
|
|
68
|
+
- lib/fakebook-assets/livemessage.js
|
|
69
|
+
- lib/fakebook-assets/pages.css
|
|
70
|
+
- lib/fakebook-assets/profile.css
|
|
71
|
+
- lib/fakebook-assets/quickling.js
|
|
72
|
+
- lib/fakebook-assets/scrollarea.js
|
|
73
|
+
- lib/fakebook-assets/search_friend_source.js
|
|
74
|
+
- lib/fakebook-assets/search_typeaheadpro.js
|
|
75
|
+
- lib/fakebook-assets/sort.js
|
|
76
|
+
- lib/fakebook-assets/static_source.js
|
|
77
|
+
- lib/fakebook-assets/tidied.html
|
|
78
|
+
- lib/fakebook-assets/tour_tip.css
|
|
79
|
+
- lib/fakebook-assets/typeahead_source.js
|
|
80
|
+
- lib/fakebook-assets/typeaheadpro.css
|
|
81
|
+
- lib/fakebook-assets/ubersearch.css
|
|
82
|
+
- lib/fakebook-assets/webkit.css
|
|
48
83
|
- lib/fakebook.rb
|
|
49
84
|
- lib/node.rb
|
|
50
|
-
- lib/templates
|
|
85
|
+
- lib/templates
|
|
86
|
+
- lib/templates/old.html.erb
|
|
51
87
|
- lib/templates/standard.html.erb
|
|
52
88
|
- lib/tokenizer.rb
|
|
53
|
-
- LICENSE
|
|
54
|
-
- Manifest
|
|
55
|
-
- Rakefile
|
|
56
|
-
- README
|
|
57
|
-
- TODO
|
|
58
89
|
has_rdoc: true
|
|
59
90
|
homepage: http://github.com/sco/fakebook
|
|
60
91
|
post_install_message:
|
|
61
92
|
rdoc_options:
|
|
62
93
|
- --main
|
|
63
|
-
- README
|
|
94
|
+
- README.rdoc
|
|
64
95
|
require_paths:
|
|
65
96
|
- lib
|
|
66
97
|
required_ruby_version: !ruby/object:Gem::Requirement
|
data/Manifest
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
bin/fakebook
|
|
2
|
-
lib/fakebook-assets/base.js
|
|
3
|
-
lib/fakebook-assets/canvas.css
|
|
4
|
-
lib/fakebook-assets/common.css
|
|
5
|
-
lib/fakebook-assets/extended.js
|
|
6
|
-
lib/fakebook-assets/fakebook.js
|
|
7
|
-
lib/fakebook-assets/fbml.js
|
|
8
|
-
lib/fakebook-assets/navigator_bg.gif
|
|
9
|
-
lib/fakebook-assets/shadow_gray.gif
|
|
10
|
-
lib/fakebook-assets/string.js
|
|
11
|
-
lib/fakebook-assets/white.gif
|
|
12
|
-
lib/fakebook.rb
|
|
13
|
-
lib/node.rb
|
|
14
|
-
lib/templates/minimal.html.erb
|
|
15
|
-
lib/templates/standard.html.erb
|
|
16
|
-
lib/tokenizer.rb
|
|
17
|
-
LICENSE
|
|
18
|
-
Manifest
|
|
19
|
-
README
|
|
20
|
-
TODO
|
data/fakebook.gemspec
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
Gem::Specification.new do |s|
|
|
2
|
-
s.name = "fakebook"
|
|
3
|
-
s.version = "0.1.1" # also see fakebook.rb
|
|
4
|
-
s.date = "2008-07-09"
|
|
5
|
-
s.summary = "Simple Facebook platform simulator, to aid in developing Facebook canvas apps offline."
|
|
6
|
-
s.homepage = "http://github.com/sco/fakebook"
|
|
7
|
-
s.author = "Scott Raymond"
|
|
8
|
-
s.email = "sco@scottraymond.net"
|
|
9
|
-
s.add_dependency "rack", ">=0.3.0"
|
|
10
|
-
s.has_rdoc = true
|
|
11
|
-
s.rdoc_options = ["--main", "README"]
|
|
12
|
-
s.extra_rdoc_files = ["Manifest", "TODO", "README", "LICENSE"]
|
|
13
|
-
s.executables = ['fakebook']
|
|
14
|
-
s.files = ["bin/fakebook",
|
|
15
|
-
"fakebook.gemspec",
|
|
16
|
-
"lib/fakebook-assets/base.js",
|
|
17
|
-
"lib/fakebook-assets/canvas.css",
|
|
18
|
-
"lib/fakebook-assets/common.css",
|
|
19
|
-
"lib/fakebook-assets/extended.js",
|
|
20
|
-
"lib/fakebook-assets/fakebook.js",
|
|
21
|
-
"lib/fakebook-assets/fbml.js",
|
|
22
|
-
"lib/fakebook-assets/navigator_bg.gif",
|
|
23
|
-
"lib/fakebook-assets/shadow_gray.gif",
|
|
24
|
-
"lib/fakebook-assets/string.js",
|
|
25
|
-
"lib/fakebook-assets/white.gif",
|
|
26
|
-
"lib/fakebook.rb",
|
|
27
|
-
"lib/node.rb",
|
|
28
|
-
"lib/templates/minimal.html.erb",
|
|
29
|
-
"lib/templates/standard.html.erb",
|
|
30
|
-
"lib/tokenizer.rb",
|
|
31
|
-
"LICENSE",
|
|
32
|
-
"Manifest",
|
|
33
|
-
"Rakefile",
|
|
34
|
-
"README",
|
|
35
|
-
"TODO",
|
|
36
|
-
]
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
#
|
data/lib/fakebook-assets/base.js
DELETED
|
@@ -1,317 +0,0 @@
|
|
|
1
|
-
/* Source: Backing Store */
|
|
2
|
-
/* Location: js/base.js r82827 */
|
|
3
|
-
/* Machine: 10.1.0.62 */
|
|
4
|
-
/* Generated: March 5th 2008 2:09:46 AM PST */
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
try{if(window.fbJavascriptLibrariesHaveLoaded){Util.error('You have double-included base.js and possibly other Javascript files; '+'it may be in a package. This will cause you great unhappiness. Each '+'file should be included at most once.');}
|
|
8
|
-
window.fbJavascriptLibrariesHaveLoaded=true;}catch(ignored){}
|
|
9
|
-
function gen_unique(){return++gen_unique._counter;}
|
|
10
|
-
gen_unique._counter=0;function ge(id){if(typeof(id)=='undefined'){Util.error('Tried to get an undefined element!');return null;}
|
|
11
|
-
var obj;if(typeof(id)=='string'){obj=document.getElementById(id);if(!(ua.ie()>=7)){return obj;}
|
|
12
|
-
if(!obj){return null;}else if(typeof(obj.id)=='string'&&obj.id==id){return obj;}else{var candidates=document.getElementsByName(id);if(!candidates||!candidates.length){return null;}
|
|
13
|
-
var maybe=[];for(var ii=0;ii<candidates.length;ii++){var c=candidates[ii];if(!c.id&&id){continue;}
|
|
14
|
-
if(typeof(c.id)=='string'&&c.id!=id){continue;}
|
|
15
|
-
maybe.push(candidates[ii]);}
|
|
16
|
-
if(!maybe.length){return null;}
|
|
17
|
-
return maybe[0];}}else{return id;}
|
|
18
|
-
return null;}
|
|
19
|
-
function $(){var el=ge.apply(null,arguments);if(!el){Util.warn('Tried to get element %q, but it is not present in the page. (Use ge() '+'to test for the presence of an element.)',arguments[0]);}
|
|
20
|
-
return el;}
|
|
21
|
-
function show(){for(var i=0;i<arguments.length;i++){var element=ge(arguments[i]);if(element&&element.style)element.style.display='';}
|
|
22
|
-
return false;}
|
|
23
|
-
function hide(){for(var i=0;i<arguments.length;i++){var element=ge(arguments[i]);if(element&&element.style)element.style.display='none';}
|
|
24
|
-
return false;}
|
|
25
|
-
function shown(el){el=ge(el);return(el.style.display!='none'&&!(el.style.display==''&&el.offsetWidth==0));}
|
|
26
|
-
function toggle(){for(var i=0;i<arguments.length;i++){var element=$(arguments[i]);element.style.display=get_style(element,"display")=='block'?'none':'block';}
|
|
27
|
-
return false;}
|
|
28
|
-
function is_descendent(base_obj,target_id){var target_obj=ge(target_id);if(base_obj==null)return;while(base_obj!=target_obj){if(base_obj.parentNode){base_obj=base_obj.parentNode;}else{return false;}}
|
|
29
|
-
return true;}
|
|
30
|
-
function get_style(object,prop){function hyphenate(prop){return prop.replace(/[A-Z]/g,function(match){return'-'+match.toLowerCase();});}
|
|
31
|
-
if(window.getComputedStyle){return window.getComputedStyle(object,null).getPropertyValue(hyphenate(prop));}
|
|
32
|
-
if(document.defaultView&&document.defaultView.getComputedStyle){var computedStyle=document.defaultView.getComputedStyle(object,null);if(computedStyle)
|
|
33
|
-
return computedStyle.getPropertyValue(hyphenate(prop));if(prop=="display")
|
|
34
|
-
return"none";Util.error("Can't retrieve requested style %q due to a bug in Safari",prop);}
|
|
35
|
-
if(object.currentStyle){return object.currentStyle[prop];}
|
|
36
|
-
return object.style[prop];}
|
|
37
|
-
function close_more_list(){var list_expander=ge('expandable_more');if(list_expander){list_expander.style.display='none';removeEventBase(document,'click',list_expander.offclick,list_expander.id);}
|
|
38
|
-
var sponsor=ge('ssponsor');if(sponsor){sponsor.style.position='';}
|
|
39
|
-
var link_obj=ge('more_link');if(link_obj){link_obj.innerHTML=tx('base01');link_obj.className='expand_link more_apps';}}
|
|
40
|
-
function expand_more_list(){var list_expander=ge('expandable_more');var more_link=ge('more_section');if(more_link){remove_css_class_name(more_link,'highlight_more_link');}
|
|
41
|
-
if(list_expander){list_expander.style.display='block';list_expander.offclick=function(e){if(!is_descendent(event_get_target(e),'sidebar_content')){close_more_list();}}.bind(list_expander);addEventBase(document,'click',list_expander.offclick,list_expander.id);}
|
|
42
|
-
var sponsor=ge('ssponsor');if(sponsor){sponsor.style.position='static';}
|
|
43
|
-
var link_obj=ge('more_link');if(link_obj){link_obj.innerHTML=tx('base02');link_obj.className='expand_link less_apps';}}
|
|
44
|
-
function toggle_more_list(){var list_expander=ge('expandable_more');if(!list_expander){return false;}
|
|
45
|
-
if(list_expander.style.display=='none'){expand_more_list();}else{close_more_list();}}
|
|
46
|
-
function remove_node(node){if(node.removeNode){node.removeNode(true);}else{for(var ii=node.childNodes.length-1;ii>=0;ii--){remove_node(node.childNodes[ii]);}
|
|
47
|
-
node.parentNode.removeChild(node);}
|
|
48
|
-
return null;}
|
|
49
|
-
function create_hidden_input(name,value){var new_input=document.createElement('input');new_input.name=name;new_input.id=name;new_input.value=value;new_input.type='hidden';return new_input;}
|
|
50
|
-
function has_css_class_name(elem,cname){return(elem&&cname)?new RegExp('\\b'+trim(cname)+'\\b').test(elem.className):false;}
|
|
51
|
-
function swap_css_class_name(elements,class1,class2){for(var i=0;i<elements.length;i++){var element=ge(elements[i]);if(element.className.indexOf(class1)!=-1){element.className=element.className.replace(class1,class2);}else{element.className=element.className.replace(class2,class1);}}}
|
|
52
|
-
function add_css_class_name(elem,cname){if(elem&&cname){if(elem.className){if(has_css_class_name(elem,cname)){return false;}else{elem.className+=' '+trim(cname);return true;}}else{elem.className=cname;return true;}}else{return false;}}
|
|
53
|
-
function remove_css_class_name(elem,cname){if(elem&&cname&&elem.className){cname=trim(cname);var old=elem.className;elem.className=elem.className.replace(new RegExp('\\b'+cname+'\\b'),'');return elem.className!=old;}else{return false;}}
|
|
54
|
-
function toggle_css_class_name(elem,cname){if(has_css_class_name(elem,cname)){remove_css_class_name(elem,cname);}else{add_css_class_name(elem,cname);}}
|
|
55
|
-
function set_inner_html(obj,html){var dummy='<span style="display:none"> </span>';html=html.replace('<style',dummy+'<style');html=html.replace('<STYLE',dummy+'<STYLE');html=html.replace('<script',dummy+'<script');html=html.replace('<SCRIPT',dummy+'<SCRIPT');obj.innerHTML=html;eval_inner_js(obj);addSafariLabelSupport(obj);}
|
|
56
|
-
function eval_inner_js(obj){var scripts=obj.getElementsByTagName('script');for(var i=0;i<scripts.length;i++){if(scripts[i].src){var script=document.createElement('script');script.type='text/javascript';script.src=scripts[i].src;document.body.appendChild(script);}else{try{eval_global(scripts[i].innerHTML);}catch(e){if(typeof console!='undefined'){console.error(e);}}}}}
|
|
57
|
-
function eval_global(js){var obj=document.createElement('script');obj.type='text/javascript';try{obj.innerHTML=js;}catch(e){obj.text=js;}
|
|
58
|
-
document.body.appendChild(obj);}
|
|
59
|
-
var KEYS={BACKSPACE:8,TAB:9,RETURN:13,ESC:27,SPACE:32,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46};var KeyCodes={Up:63232,Down:63233,Left:63234,Right:63235};function mouseX(event)
|
|
60
|
-
{return event.pageX||(event.clientX+
|
|
61
|
-
(document.documentElement.scrollLeft||document.body.scrollLeft));}
|
|
62
|
-
function mouseY(event)
|
|
63
|
-
{return event.pageY||(event.clientY+
|
|
64
|
-
(document.documentElement.scrollTop||document.body.scrollTop));}
|
|
65
|
-
function pageScrollX()
|
|
66
|
-
{return document.body.scrollLeft||document.documentElement.scrollLeft;}
|
|
67
|
-
function pageScrollY()
|
|
68
|
-
{return document.body.scrollTop||document.documentElement.scrollTop;}
|
|
69
|
-
function elementX(obj){if(ua.safari()<500&&obj.tagName=='TR'){obj=obj.firstChild;}
|
|
70
|
-
var left=obj.offsetLeft;var op=obj.offsetParent;while(obj.parentNode&&document.body!=obj.parentNode){obj=obj.parentNode;left-=obj.scrollLeft;if(op==obj){if(ua.safari()<500&&obj.tagName=='TR'){left+=obj.firstChild.offsetLeft;}else{left+=obj.offsetLeft;}
|
|
71
|
-
op=obj.offsetParent;}}
|
|
72
|
-
return left;}
|
|
73
|
-
function elementY(obj){if(ua.safari()<500&&obj.tagName=='TR'){obj=obj.firstChild;}
|
|
74
|
-
var top=obj.offsetTop;var op=obj.offsetParent;while(obj.parentNode&&document.body!=obj.parentNode){obj=obj.parentNode;if(!isNaN(obj.scrollTop)){top-=obj.scrollTop;}
|
|
75
|
-
if(op==obj){if(ua.safari()<500&&obj.tagName=='TR'){top+=obj.firstChild.offsetTop;}else{top+=obj.offsetTop;}
|
|
76
|
-
op=obj.offsetParent;}}
|
|
77
|
-
return top;}
|
|
78
|
-
function getElementsByTagNames(list,obj){if(!obj)var obj=document;var tagNames=list.split(',');var resultArray=new Array();for(var i=0;i<tagNames.length;i++){var tags=obj.getElementsByTagName(tagNames[i]);for(var j=0;j<tags.length;j++){resultArray.push(tags[j]);}}
|
|
79
|
-
var testNode=resultArray[0];if(!testNode)return[];if(testNode.sourceIndex){resultArray.sort(function(a,b){return a.sourceIndex-b.sourceIndex;});}
|
|
80
|
-
else if(testNode.compareDocumentPosition){resultArray.sort(function(a,b){return 3-(a.compareDocumentPosition(b)&6);});}
|
|
81
|
-
return resultArray;}
|
|
82
|
-
function get_all_form_inputs(root_element){if(!root_element){root_element=document;}
|
|
83
|
-
return getElementsByTagNames('input,select,textarea,button',root_element);}
|
|
84
|
-
function get_form_select_value(select){return select.options[select.selectedIndex].value;}
|
|
85
|
-
function set_form_select_value(select,value){for(var i=0;i<select.options.length;++i){if(select.options[i].value==value){select.selectedIndex=i;break;}}}
|
|
86
|
-
function get_form_attr(form,attr){var val=form[attr];if(typeof val=='object'&&val.tagName=='INPUT'){var pn=val.parentNode,ns=val.nextSibling,node=val;pn.removeChild(node);val=form[attr];ns?pn.insertBefore(node,ns):pn.appendChild(node);}
|
|
87
|
-
return val;}
|
|
88
|
-
function serialize_form_helper(data,name,value){var match=/([^\]]+)\[([^\]]*)\](.*)/.exec(name);if(match){data[match[1]]=data[match[1]]||{};if(match[2]==''){var i=0;while(data[match[1]][i]!=undefined){i++;}}else{i=match[2];}
|
|
89
|
-
if(match[3]==''){data[match[1]][i]=value;}else{serialize_form_helper(data[match[1]],i.concat(match[3]),value);}}else{data[name]=value;}}
|
|
90
|
-
function serialize_form(obj){var data={};var elements=obj.tagName=='FORM'?obj.elements:get_all_form_inputs(obj);for(var i=elements.length-1;i>=0;i--){if(elements[i].name&&!elements[i].disabled){if(!(elements[i].type=='radio'||elements[i].type=='checkbox')||elements[i].checked||(!elements[i].type||elements[i].type=='text'||elements[i].type=='password'||elements[i].type=='hidden'||elements[i].tagName=='TEXTAREA'||elements[i].tagName=='SELECT')){serialize_form_helper(data,elements[i].name,elements[i].value);}}}
|
|
91
|
-
return data;}
|
|
92
|
-
function is_button(element){var tagName=element.tagName.toUpperCase();if(tagName=='BUTTON'){return true;}
|
|
93
|
-
if(tagName=='INPUT'&&element.type){var type=element.type.toUpperCase();return type=='BUTTON'||type=='SUBMIT';}
|
|
94
|
-
return false;}
|
|
95
|
-
function autogrow_textarea(obj){var padding=15;var shadow_div_id='shadow_'+obj.id;var shadow_div;if(!(shadow_div=ge(shadow_div_id))){shadow_div=document.createElement('div');shadow_div.id=shadow_div_id;shadow_div.style.position="absolute";shadow_div.style.left="-10000px";shadow_div.style.top="-10000px";shadow_div.style.fontSize=parseInt(get_style(obj,'fontSize'))+'px';shadow_div.style.fontFamily=get_style(obj,'fontFamily');shadow_div.style.width=parseInt(obj.clientWidth-8)+'px';obj.setAttribute('startHeight',obj.clientHeight);obj.parentNode.appendChild(shadow_div);}
|
|
96
|
-
var clientHeight=obj.clientHeight;shadow_div.innerHTML=htmlspecialchars(obj.value).replace(/[\n]/g,'<br /> ');var shadowHeight=shadow_div.clientHeight;var to_height;var startHeight=obj.getAttribute('startHeight');if(shadowHeight<startHeight){to_height=startHeight;}else{to_height=shadowHeight+padding;}
|
|
97
|
-
if(to_height&&to_height!=clientHeight){obj.style.height=to_height+'px';}}
|
|
98
|
-
function textarea_maxlength(obj,length){if(obj.maxlength||!length){return;}
|
|
99
|
-
obj.maxlength=length;var callback=textarea_maxlength_truncate.bind(null,obj,length);addEventBase(obj,'keydown',callback);addEventBase(obj,'keypress',callback);addEventBase(obj,'keyup',callback);setInterval(callback,150);}
|
|
100
|
-
function textarea_maxlength_truncate(obj,length,event){if(obj.value.length>length){obj.value=obj.value.substring(0,length);}else if(obj.value.length==length){var key=event_get_keypress_keycode(event);var ok_keys=[KEYS.LEFT,KEYS.RIGHT,KEYS.UP,KEYS.DOWN,KEYS.BACKSPACE,KEYS.DELETE,KEYS.ESC]
|
|
101
|
-
if(ok_keys.indexOf(key)==-1){event_prevent(event);}}}
|
|
102
|
-
function addEventBase(obj,type,fn,name_hash)
|
|
103
|
-
{if(obj.addEventListener){obj.addEventListener(type,fn,false);}
|
|
104
|
-
else if(obj.attachEvent)
|
|
105
|
-
{var fn_name=type+fn+name_hash;obj["e"+fn_name]=fn;obj[fn_name]=function(){obj["e"+fn_name](window.event);}
|
|
106
|
-
obj.attachEvent("on"+type,obj[fn_name]);}
|
|
107
|
-
return fn;}
|
|
108
|
-
function removeEventBase(obj,type,fn,name_hash)
|
|
109
|
-
{if(obj.removeEventListener){obj.removeEventListener(type,fn,false);}
|
|
110
|
-
else if(obj.detachEvent)
|
|
111
|
-
{var fn_name=type+fn+name_hash;if(obj[fn_name]){obj.detachEvent("on"+type,obj[fn_name]);obj[fn_name]=null;obj["e"+fn_name]=null;}}}
|
|
112
|
-
function placeholderSetup(id){var el=ge(id);if(!el)return;if(el.type=='search')return;var ph=el.getAttribute("placeholder");if(!ph||ph=="")
|
|
113
|
-
return;if(el.value==ph)
|
|
114
|
-
el.value="";el.is_focused=(el.value!="");if(!el.is_focused){el.value=ph;el.style.color='#777';el.is_focused=0;}
|
|
115
|
-
addEventBase(el,'focus',placeholderFocus);addEventBase(el,'blur',placeholderBlur);}
|
|
116
|
-
function placeholderFocus(){if(!this.is_focused){this.is_focused=1;this.value='';this.style.color='#000';var rs=this.getAttribute("radioselect");if(rs&&rs!=""){var re=document.getElementById(rs);if(!re){return;}
|
|
117
|
-
if(re.type!='radio')return;re.checked=true;}}}
|
|
118
|
-
function placeholderBlur(){var ph=this.getAttribute("placeholder")
|
|
119
|
-
if(this.is_focused&&ph&&this.value==""){this.is_focused=0;this.value=ph;this.style.color='#777';}}
|
|
120
|
-
function placeholderGetValue(id){var el=ge(id);if(!el){return;}
|
|
121
|
-
return el.getAttribute("placeholder");}
|
|
122
|
-
function setFlashFallback(id,required_version){var fallback=ge(id);var version=deconcept.SWFObjectUtil.getPlayerVersion();if(fallback&&version['major']>0){var current_version=version['major']+'.'+version['minor']+'.'+version['rev'];fallback.innerHTML=tx('flash:upgrade-explanation',{'required-version':required_version,'current-version':current_version});}}
|
|
123
|
-
function getFlashPlayer(){goURI('http://adobe.com/go/getflashplayer');return false;}
|
|
124
|
-
function optional_drop_down_menu(arrow,link,menu,event,arrow_class,arrow_old_class,on_click_callback,off_click_callback)
|
|
125
|
-
{if(menu.style.display=='none'){menu.style.display='block';var old_arrow_classname=arrow_old_class?arrow_old_class:arrow.className;if(link){link.className='active';}
|
|
126
|
-
arrow.className=arrow_class?arrow_class:'global_menu_arrow_active';var justChanged=true;var shim=ge(menu.id+'_iframe');if(shim){shim.style.top=menu.style.top;shim.style.right=menu.style.right;shim.style.display='block';shim.style.width=(menu.offsetWidth+2)+'px';shim.style.height=(menu.offsetHeight+2)+'px';}
|
|
127
|
-
menu.offclick=function(e){if(!justChanged){hide(this);if(link){link.className='';}
|
|
128
|
-
arrow.className=old_arrow_classname;var shim=ge(menu.id+'_iframe');if(shim){shim.style.display='none';shim.style.width=menu.offsetWidth+'px';shim.style.height=menu.offsetHeight+'px';}
|
|
129
|
-
if(off_click_callback){off_click_callback(e);}
|
|
130
|
-
removeEventBase(document,'click',this.offclick,menu.id);}else{justChanged=false;}}.bind(menu);if(on_click_callback){on_click_callback();}
|
|
131
|
-
addEventBase(document,'click',menu.offclick,menu.id);}
|
|
132
|
-
return false;}
|
|
133
|
-
function position_app_switcher(){var switcher=ge('app_switcher');var menu=ge('app_switcher_menu');menu.style.top=(switcher.offsetHeight-1)+'px';menu.style.right='0px';}
|
|
134
|
-
function hover_tooltip(object,hover_link,hover_class,offsetX,offsetY){if(object.tooltip){var tooltip=object.previousSibling;tooltip.style.display='block';return;}else{object.parentNode.style.position="relative";var tooltip=document.createElement('div');tooltip.className="tooltip_pro "+hover_class;tooltip.style.left=-9999+'px';tooltip.style.display='block';tooltip.innerHTML='<div class="tooltip_text"><span>'+hover_link+'</span></div>'+'<div class="tooltip_pointer"></div>';object.parentNode.insertBefore(tooltip,object);while(tooltip.firstChild.firstChild.offsetWidth<=0){1;}
|
|
135
|
-
var TOOLTIP_PADDING=16;var offsetWidth=tooltip.firstChild.firstChild.offsetWidth+TOOLTIP_PADDING;tooltip.style.width=offsetWidth+'px';tooltip.style.display='none';tooltip.style.left=offsetX+object.offsetLeft-((offsetWidth-6-object.offsetWidth)/2)+'px';tooltip.style.top=offsetY+'px';tooltip.style.display='block';object.tooltip=true;object.onmouseout=function(e){hover_clear_tooltip(object)};}}
|
|
136
|
-
function hover_clear_tooltip(object){var tooltip=object.previousSibling;tooltip.style.display='none';}
|
|
137
|
-
function addSafariLabelSupport(base){if(ua.safari()<500){var labels=(base||document.body).getElementsByTagName("label");for(i=0;i<labels.length;i++){labels[i].addEventListener('click',addLabelAction,true);}}}
|
|
138
|
-
function addLabelAction(event){var id=this.getAttribute('for');var item=null;if(id){item=document.getElementById(id);}else{item=this.getElementsByTagName('input')[0];}
|
|
139
|
-
if(!item||event.srcElement==item){return;}
|
|
140
|
-
if(item.type=='checkbox'){item.checked=!item.checked;}else if(item.type=='radio'){var radios=document.getElementsByTagName('input');for(i=0;i<radios.length;i++){if(radios[i].name==item.name&&radios[i].form==item.form){radios.checked=false;}}
|
|
141
|
-
item.checked=true;}else{item.focus();}
|
|
142
|
-
if(item.onclick){item.onclick(event);}}
|
|
143
|
-
function escapeURI(u)
|
|
144
|
-
{if(encodeURIComponent){return encodeURIComponent(u);}
|
|
145
|
-
if(escape){return escape(u);}}
|
|
146
|
-
function goURI(href){window.location.href=href;}
|
|
147
|
-
function is_email(email){return/^([\w!.%+\-])+@([\w\-])+(?:\.[\w\-]+)+$/.test(email);}
|
|
148
|
-
function getViewportWidth(){var width=0;if(document.documentElement&&document.documentElement.clientWidth){width=document.documentElement.clientWidth;}
|
|
149
|
-
else if(document.body&&document.body.clientWidth){width=document.body.clientWidth;}
|
|
150
|
-
else if(window.innerWidth){width=window.innerWidth-18;}
|
|
151
|
-
return width;};function getViewportHeight(){var height=0;if(window.innerHeight){height=window.innerHeight-18;}
|
|
152
|
-
else if(document.documentElement&&document.documentElement.clientHeight){height=document.documentElement.clientHeight;}
|
|
153
|
-
else if(document.body&&document.body.clientHeight){height=document.body.clientHeight;}
|
|
154
|
-
return height;};function getPageScrollHeight(){var height;if(typeof(window.pageYOffset)=='number'){height=window.pageYOffset;}else if(document.body&&document.body.scrollTop){height=document.body.scrollTop;}else if(document.documentElement&&document.documentElement.scrollTop){height=document.documentElement.scrollTop;}
|
|
155
|
-
if(isNaN(height))return 0;return height;};function getRadioFormValue(obj){for(i=0;i<obj.length;i++){if(obj[i].checked){return obj[i].value;}}
|
|
156
|
-
return null;}
|
|
157
|
-
function getTableRowShownDisplayProperty(){if(ua.ie()){return'inline';}else{return'table-row';}}
|
|
158
|
-
function showTableRow()
|
|
159
|
-
{for(var i=0;i<arguments.length;i++){var element=ge(arguments[i]);if(element&&element.style)element.style.display=getTableRowShownDisplayProperty();}
|
|
160
|
-
return false;}
|
|
161
|
-
function getParentRow(el){el=ge(el);while(el.tagName&&el.tagName!="TR"){el=el.parentNode;}
|
|
162
|
-
return el;}
|
|
163
|
-
function stopPropagation(e){if(!e)var e=window.event;e.cancelBubble=true;if(e.stopPropagation){e.stopPropagation();}}
|
|
164
|
-
function show_standard_status(status){s=ge('standard_status');if(s){var header=s.firstChild;header.innerHTML=status;show('standard_status');}}
|
|
165
|
-
function hide_standard_status(){s=ge('standard_status');if(s){hide('standard_status');}}
|
|
166
|
-
function adjustImage(obj,stop_word,max){var block=obj.parentNode;while(get_style(block,'display')!='block'&&block.parentNode){block=block.parentNode;}
|
|
167
|
-
var width=block.offsetWidth;if(obj.offsetWidth>width){try{if(ua.ie()){var img_div=document.createElement('div');img_div.style.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+obj.src.replace('"','%22')+'", sizingMethod="scale")';img_div.style.width=width+'px';img_div.style.height=Math.floor(((width/obj.offsetWidth)*obj.offsetHeight))+'px';if(obj.parentNode.tagName=='A'){img_div.style.cursor='pointer';}
|
|
168
|
-
obj.parentNode.insertBefore(img_div,obj);obj.parentNode.removeChild(obj);}else{throw 1;}}catch(e){obj.style.width=width+'px';}}
|
|
169
|
-
remove_css_class_name(obj,'img_loading');}
|
|
170
|
-
function imageConstrainSize(src,maxX,maxY,placeholderid){var image=new Image();image.onload=function(){if(image.width>0&&image.height>0){var width=image.width;var height=image.height;if(width>maxX||height>maxY){var desired_ratio=maxY/maxX;var actual_ratio=height/width;if(actual_ratio>desired_ratio){width=width*(maxY/height);height=maxY;}else{height=height*(maxX/width);width=maxX;}}
|
|
171
|
-
var placeholder=ge(placeholderid);var newimage=document.createElement('img');newimage.src=src;newimage.width=width;newimage.height=height;placeholder.parentNode.insertBefore(newimage,placeholder);placeholder.parentNode.removeChild(placeholder);}}
|
|
172
|
-
image.src=src;}
|
|
173
|
-
function set_opacity(obj,opacity){try{obj.style.opacity=(opacity==1?'':opacity);obj.style.filter=(opacity==1?'':'alpha(opacity='+opacity*100+')');}
|
|
174
|
-
catch(e){}}
|
|
175
|
-
function get_opacity(obj){var opacity=get_style(obj,'filter');var val=null;if(opacity&&(val=/(\d+(?:\.\d+)?)/.exec(opacity))){return parseFloat(val.pop())/100;}else if(opacity=get_style(obj,'opacity')){return parseFloat(opacity);}else{return 1;}}
|
|
176
|
-
function get_caret_position(obj){obj.focus();if(document.selection){if(obj.tagName=='INPUT'){var range=document.selection.createRange();return{start:-range.moveStart('character',-obj.value.length),end:-range.moveEnd('character',-obj.value.length)};}else if(obj.tagName=='TEXTAREA'){var range=document.selection.createRange();var range2=range.duplicate();range2.moveToElementText(obj);range2.setEndPoint('StartToEnd',range);var end=obj.value.length-range2.text.length;range2.setEndPoint('StartToStart',range);return{start:obj.value.length-range2.text.length,end:end};}else{return{start:undefined,end:undefined};}}else{return{start:obj.selectionStart,end:obj.selectionEnd};}}
|
|
177
|
-
function set_caret_position(obj,start,end){if(document.selection){if(obj.tagName=='TEXTAREA'){var i=obj.value.indexOf("\r",0);while(i!=-1&&i<end){end--;if(i<start){start--;}
|
|
178
|
-
i=obj.value.indexOf("\r",i+1);}}
|
|
179
|
-
var range=obj.createTextRange();range.collapse(true);range.moveStart('character',start);if(end!=undefined){range.moveEnd('character',end-start);}
|
|
180
|
-
range.select();}else{obj.selectionStart=start;var sel_end=end==undefined?start:end;obj.selectionEnd=Math.min(sel_end,obj.value.length);obj.focus();}}
|
|
181
|
-
function focus_login(){var email=ge("email");var pass=ge("pass");var dologin=ge("doquicklogin");if(email&&pass){if(email.value!=""&&pass.value==""){pass.focus();}else if(email.value==""){email.focus();}else if(email.value!=""&&pass.value!=""){dologin.focus();}}}
|
|
182
|
-
function login_form_change(){var persistent=ge('persistent');if(persistent){persistent.checked=false;}}
|
|
183
|
-
function require_password_confirmation(onsuccess,oncancel){if((!getCookie('sid')||getCookie('sid')=='0')||getCookie('pk')){onsuccess();return;}
|
|
184
|
-
require_password_confirmation.onsuccess=onsuccess;require_password_confirmation.oncancel=oncancel;(new pop_dialog()).show_ajax_dialog('/ajax/password_check_dialog.php');}
|
|
185
|
-
function search_onsubmit(form){form.submit();}
|
|
186
|
-
function search_submit(){var search_form=ge('qsearchform');var search_input=ge('q');if(search_input.value!=""){search_form.submit();}else{search_input.focus();}
|
|
187
|
-
return;}
|
|
188
|
-
var ua={ie:function(){return this._ie;},firefox:function(){return this._firefox;},opera:function(){return this._opera;},safari:function(){return this._safari;},windows:function(){return this._windows;},osx:function(){return this._osx;},populate:function(){var agent=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera.(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))/.exec(navigator.userAgent);var os=/(Mac OS X;)|(Windows;)/.exec(navigator.userAgent);if(agent){ua._ie=agent[1]?parseFloat(agent[1]):NaN;ua._firefox=agent[2]?parseFloat(agent[2]):NaN;ua._opera=agent[3]?parseFloat(agent[3]):NaN;ua._safari=agent[4]?parseFloat(agent[4]):NaN;}else{ua._ie=ua._firefox=ua._opera=ua._safari=NaN;}
|
|
189
|
-
if(os){ua._osx=!!os[1];ua._windows=!!os[2];}else{ua._osx=ua._windows=false;}},adjustBehaviors:function(){onloadRegister(addSafariLabelSupport);if(ua.ie()<7){try{document.execCommand('BackgroundImageCache',false,true);}catch(ignored){}}}};function is_scalar(v){switch(typeof(v)){case'string':case'number':case'null':case'boolean':return true;}
|
|
190
|
-
return false;}
|
|
191
|
-
function is_empty(obj){for(var i in obj){return false;}
|
|
192
|
-
return true;}
|
|
193
|
-
function is_node(o,of_type){if(typeof(Node)=='undefined'){Node=null;}
|
|
194
|
-
try{if(!o||!((Node!=undefined&&o instanceof Node)||o.nodeName)){return false;}}catch(ignored){return false;}
|
|
195
|
-
if(typeof(of_type)!=="undefined"){if(!(of_type instanceof Array)){of_type=[of_type];}
|
|
196
|
-
var name;try{name=new String(o.nodeName).toUpperCase();}catch(ignored){return false;}
|
|
197
|
-
for(var ii=0;ii<of_type.length;ii++){try{if(name==of_type[ii].toUpperCase()){return true;}}catch(ignored){}}
|
|
198
|
-
return false;}
|
|
199
|
-
return true;}
|
|
200
|
-
var DOM={setText:function(el,text){if(ua.firefox()){el.textContent=text;}else{el.innerText=text;}},getText:function(el){if(ua.firefox()){return el.textContent;}else{return el.innerText;}},setContent:function(el,content){if(ua.ie()){for(var ii=el.childNodes.length-1;ii>=0;--ii){DOM.remove(el.childNodes[ii]);}}else{el.innerHTML='';}
|
|
201
|
-
if(content instanceof HTML){set_inner_html(el,content.toString());}else if(is_scalar(content)){content=document.createTextNode(content);el.appendChild(content);}else if(is_node(content)){el.appendChild(content);}else if(content instanceof Array){for(var ii=0;ii<content.length;ii++){var node=content[ii];if(!is_node(node)){node=document.createTextNode(node);}
|
|
202
|
-
el.appendChild(node);}}else{Util.error('No way to set content %q.',content);}},remove:function(el){return remove_node(el);},create:function(element,attributes,children){element=document.createElement(element);if(attributes){attributes=copy_properties({},attributes);if(attributes.style){copy_properties(element.style,attributes.style);delete attributes.style;}
|
|
203
|
-
copy_properties(element,attributes);}
|
|
204
|
-
if(children!=undefined){DOM.setContent(element,children);}
|
|
205
|
-
return element;},scry:function(element,pattern){pattern=pattern.split('.');var tag=pattern[0]||null;if(!tag){return[];}
|
|
206
|
-
var cls=pattern[1]||null;var candidates=element.getElementsByTagName(tag);if(cls!==null){var satisfy=[];for(var ii=0;ii<candidates.length;ii++){if(CSS.hasClass(candidates[ii],cls)){satisfy.push(candidates[ii]);}}
|
|
207
|
-
candidates=satisfy;}
|
|
208
|
-
return candidates;}};$N=DOM.create;var CSS={removeClass:function(element,className){return remove_css_class_name(element,className);},hasClass:function(element,className){return has_css_class_name(element,className);},addClass:function(element,className){return add_css_class_name(element,className);},setClass:function(element,className){element.className=className;return CSS;},Cursor:{kGrabbable:'grabbable',kGrabbing:'grabbing',kEditable:'editable',set:function(element,name){element=element||document.body;switch(name){case CSS.Cursor.kEditable:name='text';break;case CSS.Cursor.kGrabbable:if(ua.firefox()){name='-moz-grab';}else{name='move';}
|
|
209
|
-
break;case CSS.Cursor.kGrabbing:if(ua.firefox()){name='-moz-grabbing';}else{name='move';}
|
|
210
|
-
break;}
|
|
211
|
-
element.style.cursor=name;}}};if(Object.prototype.eval){window.eval=Object.prototype.eval;}
|
|
212
|
-
delete Object.prototype.eval;delete Object.prototype.valueOf;Array.prototype.forEach=null;Array.prototype.every=null;Array.prototype.map=null;Array.prototype.some=null;Array.prototype.reduce=null;Array.prototype.reduceRight=null;Array.prototype.filter=null;Array.prototype.sort=(function(sort){return function(callback){return(this==window)?null:(callback?sort.call(this,function(a,b){return callback(a,b)}):sort.call(this));}})(Array.prototype.sort);Array.prototype.reverse=(function(reverse){return function(){return(this==window)?null:reverse.call(this);}})(Array.prototype.reverse);Array.prototype.concat=(function(concat){return function(){return(this==window)?null:concat.apply(this,arguments);}})(Array.prototype.concat);Array.prototype.slice=(function(slice){return function(){return(this==window)?null:slice.apply(this,arguments);}})(Array.prototype.slice);if(!Array.prototype.indexOf){Array.prototype.indexOf=function(val,index){if(!index||index<0){index=0;}
|
|
213
|
-
for(var i=index;i<this.length;i++){if(this[i]==val){return i;}}
|
|
214
|
-
return-1;};}
|
|
215
|
-
Array.prototype.each=function(callback){if(this==window){return;}
|
|
216
|
-
for(var i=0;i<this.length;i++){callback.call(this,this[i],i);}}
|
|
217
|
-
Array.prototype.clone=Array.prototype.slice;Function.prototype.extend=function(superclass){var superprototype=__metaprototype(superclass,0);var subprototype=__metaprototype(this,superprototype.prototype.__level+1);subprototype.parent=superprototype;}
|
|
218
|
-
function __metaprototype(obj,level){if(obj.__metaprototype){return obj.__metaprototype;}
|
|
219
|
-
var metaprototype=new Function();metaprototype.construct=__metaprototype_construct;metaprototype.prototype.construct=__metaprototype_wrap(obj,level,true);metaprototype.prototype.__level=level;metaprototype.base=obj;obj.prototype.parent=metaprototype;obj.__metaprototype=metaprototype;return metaprototype;}
|
|
220
|
-
function __metaprototype_construct(instance){__metaprototype_init(instance.parent);var parents=[];var obj=instance;while(obj.parent){parents.push(new_obj=new obj.parent());new_obj.__instance=instance;obj=obj.parent;}
|
|
221
|
-
instance.parent=parents[1];parents.reverse();parents.pop();instance.__parents=parents;instance.__instance=instance;return instance.parent.construct.apply(instance.parent,arguments);}
|
|
222
|
-
window.aiert=(function(a){var aiert=function _aiert(m){a(m);}
|
|
223
|
-
return aiert;})(window.alert);window.alert=function _alert(m){if(m!==undefined){(new Image()).src='/ajax/typeahead_callback.php?l='+escapeURI(document.location)+'&m='+
|
|
224
|
-
escapeURI(m)+(typeof Env!='undefined'?'&t='+Math.round(((new Date()).getTime()-Env.start)/100):'')+'&d='+escapeURI((typeof fbpd!='undefined')?fbpd:'')+'&s='+escapeURI(typeof Util!='undefined'?Util.stack():'');return window.aiert(m);}}
|
|
225
|
-
function __metaprototype_init(metaprototype){if(metaprototype.initialized)return;var base=metaprototype.base.prototype;if(metaprototype.parent){__metaprototype_init(metaprototype.parent);var parent_prototype=metaprototype.parent.prototype;for(i in parent_prototype){if(i!='__level'&&i!='construct'&&base[i]===undefined){base[i]=metaprototype.prototype[i]=parent_prototype[i]}}}
|
|
226
|
-
metaprototype.initialized=true;var level=metaprototype.prototype.__level;for(i in base){if(i!='parent'){base[i]=metaprototype.prototype[i]=__metaprototype_wrap(base[i],level);}}}
|
|
227
|
-
function __metaprototype_wrap(method,level,shift){if(typeof method!='function'||method.__prototyped){return method;}
|
|
228
|
-
var func=function(){var instance=this.__instance;if(instance){var old_parent=instance.parent;instance.parent=level?instance.__parents[level-1]:null;if(shift){var args=[];for(var i=1;i<arguments.length;i++){args.push(arguments[i]);}
|
|
229
|
-
var ret=method.apply(instance,args);}else{var ret=method.apply(instance,arguments);}
|
|
230
|
-
instance.parent=old_parent;return ret;}else{return method.apply(this,arguments);}}
|
|
231
|
-
func.__prototyped=true;return func;}
|
|
232
|
-
function xdp(object)
|
|
233
|
-
{var descString="";var n=20;for(var value in object){try{descString+=(value+" => "+object[value]+"\n");}catch(exception){descString+=(value+" => "+exception+"\n");}
|
|
234
|
-
if(!n--){aiert(descString);descString='';n=20;}}
|
|
235
|
-
if(descString!="")
|
|
236
|
-
aiert(descString);else
|
|
237
|
-
aiert(object);}
|
|
238
|
-
function adClick(id)
|
|
239
|
-
{ajax=new Ajax();ajax.get('/ajax/redirect.php',{'id':id},true);return true;}
|
|
240
|
-
function abTest(data,inline)
|
|
241
|
-
{AsyncRequest.pingURI('/ajax/abtest.php',{data:data,"post_form_id":null},true);if(!inline){return true;}}
|
|
242
|
-
function ac(metadata)
|
|
243
|
-
{AsyncRequest.pingURI('/ajax/ac.php',{'meta':metadata},true);return true;}
|
|
244
|
-
function bagofholding(){return undefined;};function id(input){return input;}
|
|
245
|
-
function setCookie(cookieName,cookieValue,nDays){if(nDays){var today=new Date();var expire=new Date();expire.setTime(today.getTime()+3600000*24*nDays);}
|
|
246
|
-
document.cookie=cookieName+"="+escape(cookieValue)+"; "+
|
|
247
|
-
(nDays?"expires="+expire.toGMTString()+"; ":"")+"path=/; domain=.facebook.com";}
|
|
248
|
-
function clearCookie(cookieName){document.cookie=cookieName+"=; expires=Mon, 26 Jul 1997 05:00:00 GMT; path=/; domain=.facebook.com";}
|
|
249
|
-
function getCookie(name){var nameEQ=name+"=";var ca=document.cookie.split(';');for(i=0;i<ca.length;i++){var c=ca[i];while(c.charAt(0)==' ')c=c.substring(1,c.length);if(c.indexOf(nameEQ)==0){return unescape(c.substring(nameEQ.length,c.length));}}
|
|
250
|
-
return null;}
|
|
251
|
-
function do_post(url){var pieces=/(^([^?])+)\??(.*)$/.exec(url);var form=document.createElement('form');form.action=pieces[1];form.method='post';form.style.display='none';var sparam=/([\w]+)(?:=([^&]+)|&|$)/g;var param=null;if(ge('post_form_id'))
|
|
252
|
-
pieces[3]+='&post_form_id='+$('post_form_id').value;while(param=sparam.exec(pieces[3])){var input=document.createElement('input');input.type='hidden';input.name=param[1];input.value=param[2];form.appendChild(input);}
|
|
253
|
-
document.body.appendChild(form);form.submit();return false;}
|
|
254
|
-
function dynamic_post(url,params){var form=document.createElement('form');form.action=url;form.method='POST';form.style.display='none';if(ge('post_form_id')){params['post_form_id']=$('post_form_id').value;}
|
|
255
|
-
for(var param in params){var input=document.createElement('input');input.type='hidden';input.name=param;input.value=params[param];form.appendChild(input);}
|
|
256
|
-
document.body.appendChild(form);form.submit();return false;}
|
|
257
|
-
function rand32(){return Math.floor(Math.random()*4294967295);}
|
|
258
|
-
function play_sound(path,loop){loop=loop||false;var s;document.body.appendChild(s=document.createElement('span'));s.innerHTML='<embed src="'+path+'" autostart="true" hidden="true" '+'loop="'+(loop?"true":"false")+'" />';}
|
|
259
|
-
function image_has_loaded(obj){if((obj.mimeType!=null&&obj.complete&&obj.mimeType!='')||(obj.naturalHeight!=null&&obj.complete&&obj.naturalHeight!=0)){return true;}else if(ua.safari()<3){var new_image=new Image();new_image.src=obj.src;if(new_image.complete==true){return true;}
|
|
260
|
-
delete new_image;}}
|
|
261
|
-
function image_has_failed(obj){if((obj.complete==null&&obj.width==20&&obj.height==20)||(obj.mimeType!=null&&obj.complete&&obj.mimeType=='')||(obj.naturalHeight!=null&&obj.complete&&obj.naturalHeight==0)){return true;}}
|
|
262
|
-
function anchor_set(anchor){window.location=window.location.href.split('#')[0]+'#'+anchor;}
|
|
263
|
-
function anchor_get(){return window.location.href.split('#')[1]||null;}
|
|
264
|
-
function event_get(e){return e||window.event;}
|
|
265
|
-
function event_get_target(e){return(e=event_get(e))&&(e['target']||e['srcElement']);}
|
|
266
|
-
function event_abort(e){(e=event_get(e))&&(e.cancelBubble=true)&&e.stopPropagation&&e.stopPropagation();return false;}
|
|
267
|
-
function event_prevent(e){(e=event_get(e))&&!(e.returnValue=false)&&e.preventDefault&&e.preventDefault();return false;}
|
|
268
|
-
function event_get_keypress_keycode(event){event=event_get(event);if(!event){return false;}
|
|
269
|
-
switch(event.keyCode){case 63232:return 38;case 63233:return 40;case 63234:return 37;case 63235:return 39;case 63272:case 63273:case 63275:return null;case 63276:return 33;case 63277:return 34;}
|
|
270
|
-
if(event.shiftKey){switch(event.keyCode){case 33:case 34:case 37:case 38:case 39:case 40:return null;}}else{return event.keyCode;}}
|
|
271
|
-
function env_get(k){return typeof(window['Env'])!='undefined'&&Env[k];}
|
|
272
|
-
function cavalry_log(cohort){var _end=new Date();var flashVersion;try{flashVersion=deconcept.SWFObjectUtil.getPlayerVersion();}catch(x){flashVersion={major:0,minor:0,rev:666};}
|
|
273
|
-
(new Image()).src="/common/instrument_endpoint.php?g="+cohort
|
|
274
|
-
+"&uri="+encodeURIComponent(window.location)
|
|
275
|
-
+"&d="+(_end.getTime()-Env.start)
|
|
276
|
-
+"&c="+Env.cache
|
|
277
|
-
+"&p="+Env.pkgv
|
|
278
|
-
+"&k="+(document.cookie.length)
|
|
279
|
-
+"&fmj="+flashVersion.major
|
|
280
|
-
+"&fmn="+flashVersion.minor
|
|
281
|
-
+"&frv="+flashVersion.rev
|
|
282
|
-
+"&"+Math.random();}
|
|
283
|
-
function ScriptInventory(){}
|
|
284
|
-
ScriptInventory._inventory=[];ScriptInventory.addScript=function(name,version,time){ScriptInventory._inventory.push([name,version,time].join(':'));}
|
|
285
|
-
ScriptInventory.getInventory=function(){return ScriptInventory._inventory.join(';');}
|
|
286
|
-
function chain(u,v){var calls=[];for(var ii=0;ii<arguments.length;ii++){calls.push(arguments[ii]);}
|
|
287
|
-
return function(){for(var ii=0;ii<calls.length;ii++){if(calls[ii]&&calls[ii].apply(null,arguments)===false){return false;}}
|
|
288
|
-
return true;}}
|
|
289
|
-
function onloadRegister(handler){window.loaded?_runHook(handler):_addHook('onloadhooks',handler);}
|
|
290
|
-
function onafterloadRegister(handler){window.loaded?_runHook(handler):_addHook('onafterloadhooks',handler);}
|
|
291
|
-
function onbeforeunloadRegister(handler){_addHook('onbeforeunloadhooks',handler);}
|
|
292
|
-
function onunloadRegister(handler){_addHook('onunloadhooks',handler);}
|
|
293
|
-
function _onloadHook(){_runHooks('onloadhooks');window.loaded=true;}
|
|
294
|
-
function _runHook(handler){try{handler();}catch(ex){Util.error('Uncaught exception in hook (run after page load): %x',ex);}}
|
|
295
|
-
function _runHooks(hooks){var isbeforeunload=(hooks=='onbeforeunloadhooks');var warn=null;do{var h=window[hooks];if(!isbeforeunload){window[hooks]=null;}
|
|
296
|
-
if(!h){break;}
|
|
297
|
-
for(var ii=0;ii<h.length;ii++){if(isbeforeunload){warn=warn||h[ii]();}else{h[ii]();}}
|
|
298
|
-
if(isbeforeunload){break;}}while(window[hooks]);if(isbeforeunload){if(warn){return warn;}else{window.loaded=false;}}}
|
|
299
|
-
function _addHook(hooks,handler){(window[hooks]?window[hooks]:(window[hooks]=[])).push(handler);}
|
|
300
|
-
function _bootstrapEventHandlers(){if(document.addEventListener){if(ua.safari()){var timeout=setInterval(function(){if(/loaded|complete/.test(document.readyState)){_onloadHook();clearTimeout(timeout);}},10);}else{document.addEventListener("DOMContentLoaded",_onloadHook,true);}}else{var src='javascript:void(0)';if(window.location.protocol=='https:'){src='//:';}
|
|
301
|
-
document.write('<script onreadystatechange="if (this.readyState==\'complete\') {'+'this.parentNode.removeChild(this);_onloadHook();}" defer="defer" '+'src="'+src+'"><\/script\>');}
|
|
302
|
-
window.onload=chain(window.onload,function(){_onloadHook();_runHooks('onafterloadhooks');});window.onbeforeunload=function(){return _runHooks('onbeforeunloadhooks');};window.onunload=chain(window.onunload,function(){_runHooks('onunloadhooks');});}
|
|
303
|
-
function iterTraverseDom(root,visitCb){var c=root,n=null;var it=0;do{n=c.firstChild;if(!n){if(visitCb(c)==false)
|
|
304
|
-
return;n=c.nextSibling;}
|
|
305
|
-
if(!n){var tmp=c;do{n=tmp.parentNode;if(n==root)
|
|
306
|
-
break;if(visitCb(n)==false)
|
|
307
|
-
return;tmp=n;n=n.nextSibling;}
|
|
308
|
-
while(!n);}
|
|
309
|
-
c=n;}
|
|
310
|
-
while(c!=root);}
|
|
311
|
-
function prependChild(parent,elem){if(parent.firstChild){parent.insertBefore(elem,parent.firstChild);}else{parent.appendChild(elem);}}
|
|
312
|
-
function insertAfter(parent,child,elem){if(parent!=child.parentNode){Util.error('child is not really a child of parent - wtf, seriously.');}
|
|
313
|
-
if(child.nextSibling){var ret=parent.insertBefore(elem,child.nextSibling);}else{var ret=parent.appendChild(elem);}
|
|
314
|
-
if(!ret){return null;}
|
|
315
|
-
return elem;}
|
|
316
|
-
ua.populate();_bootstrapEventHandlers();ua.adjustBehaviors();if(navigator&&navigator.userAgent&&!(parseInt((/Gecko\/([0-9]+)/.exec(navigator.userAgent)||[]).pop())<=20060508)){document.domain='facebook.com';}
|
|
317
|
-
if(typeof(ScriptInventory)!='undefined'){ScriptInventory.addScript("\/var\/releases\/thefacebook-r82587-02122008\/www\/html\/js\/base.js", "82827", 1202888131);}
|