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.
Files changed (57) hide show
  1. data/{README → README.rdoc} +0 -0
  2. data/Rakefile +19 -2
  3. data/TODO +4 -2
  4. data/lib/fakebook-assets/attachments.js +60 -0
  5. data/lib/fakebook-assets/canvas.css +15 -11
  6. data/lib/fakebook-assets/canvas.js +14 -0
  7. data/lib/fakebook-assets/common.css +1225 -809
  8. data/lib/fakebook-assets/common.js +1878 -0
  9. data/lib/fakebook-assets/confirmation.js +18 -0
  10. data/lib/fakebook-assets/dialogpro.css +58 -0
  11. data/lib/fakebook-assets/drag.js +60 -0
  12. data/lib/fakebook-assets/edit_app_settings.css +31 -0
  13. data/lib/fakebook-assets/edit_app_settings.js +16 -0
  14. data/lib/fakebook-assets/editapps.js +12 -0
  15. data/lib/fakebook-assets/editprofile.css +42 -0
  16. data/lib/fakebook-assets/endscript.js +37 -0
  17. data/lib/fakebook-assets/fb_menubar.png +0 -0
  18. data/lib/fakebook-assets/fb_menubar_logo.gif +0 -0
  19. data/lib/fakebook-assets/fbml.js +63 -40
  20. data/lib/fakebook-assets/feedform.js +31 -0
  21. data/lib/fakebook-assets/firstscript.js +2 -0
  22. data/lib/fakebook-assets/flyout_menu.js +51 -0
  23. data/lib/fakebook-assets/friend_suggester.css +12 -0
  24. data/lib/fakebook-assets/friend_suggester.js +13 -0
  25. data/lib/fakebook-assets/ie6.css +715 -0
  26. data/lib/fakebook-assets/ie7.css +406 -0
  27. data/lib/fakebook-assets/js_strings.js +2 -0
  28. data/lib/fakebook-assets/link_controller.js +26 -0
  29. data/lib/fakebook-assets/livemessage.js +22 -0
  30. data/lib/fakebook-assets/pages.css +432 -0
  31. data/lib/fakebook-assets/profile.css +629 -0
  32. data/lib/fakebook-assets/quickling.js +71 -0
  33. data/lib/fakebook-assets/scrollarea.js +20 -0
  34. data/lib/fakebook-assets/search_friend_source.js +17 -0
  35. data/lib/fakebook-assets/search_typeaheadpro.js +20 -0
  36. data/lib/fakebook-assets/sort.js +30 -0
  37. data/lib/fakebook-assets/static_source.js +25 -0
  38. data/lib/fakebook-assets/tidied.html +439 -0
  39. data/lib/fakebook-assets/tour_tip.css +8 -0
  40. data/lib/fakebook-assets/typeahead_source.js +28 -0
  41. data/lib/fakebook-assets/typeaheadpro.css +84 -0
  42. data/lib/fakebook-assets/ubersearch.css +342 -0
  43. data/lib/fakebook-assets/webkit.css +10 -0
  44. data/lib/fakebook.rb +4 -4
  45. data/lib/templates/old.html.erb +62 -0
  46. data/lib/templates/standard.html.erb +69 -39
  47. metadata +51 -20
  48. data/Manifest +0 -20
  49. data/fakebook.gemspec +0 -39
  50. data/lib/fakebook-assets/base.js +0 -317
  51. data/lib/fakebook-assets/extended.js +0 -49
  52. data/lib/fakebook-assets/fakebook.js +0 -122
  53. data/lib/fakebook-assets/navigator_bg.gif +0 -0
  54. data/lib/fakebook-assets/shadow_gray.gif +0 -0
  55. data/lib/fakebook-assets/string.js +0 -61
  56. data/lib/fakebook-assets/white.gif +0 -0
  57. data/lib/templates/minimal.html.erb +0 -22
@@ -1,49 +0,0 @@
1
- /* Source: Backing Store */
2
- /* Location: js/extended.js r78843 */
3
- /* Machine: 10.1.0.28 */
4
- /* Generated: March 5th 2008 2:09:46 AM PST */
5
-
6
-
7
- function bind(obj,method){var args=[];for(var ii=2;ii<arguments.length;ii++){args.push(arguments[ii]);}
8
- return function(){var _obj=obj||this;var _args=args.slice();for(var jj=0;jj<arguments.length;jj++){_args.push(arguments[jj]);}
9
- if(typeof(method)=="string"){if(_obj[method]){return _obj[method].apply(_obj,_args);}}else{return method.apply(_obj,_args);}}}
10
- Function.prototype.bind=function(context){var argv=[arguments[0],this]
11
- var argc=arguments.length;for(var ii=1;ii<argc;ii++){argv.push(arguments[ii]);}
12
- return bind.apply(null,argv);}
13
- function copy_properties(u,v){for(var k in v){u[k]=v[k];}
14
- if(ua.ie()&&(v.toString!==undefined)&&(u.toString!==v.toString)){u.toString=v.toString;}
15
- return u;}
16
- function HTML(content){if(this===window){return new HTML(content);}
17
- this.content=content;return this;}
18
- copy_properties(HTML.prototype,{toString:function(){return this.content;}});var Try={these:function(){var len=arguments.length;var res;for(var ii=0;ii<len;ii++){try{res=arguments[ii]();return res;}catch(anIgnoredException){}}
19
- return res;}};var Util={fallbackErrorHandler:function(msg){aiert(msg);},isDevelopmentEnvironment:function(){return env_get('dev');},warn:function(){Util.log(sprintf.apply(null,arguments),'warn');},error:function(){Util.log(sprintf.apply(null,arguments),'error');},log:function(msg,type){if(Util.isDevelopmentEnvironment()){var written=false;if(typeof(window['TabConsole'])!='undefined'){var con=TabConsole.getInstance();if(con){con.log(msg,type);written=true;}}
20
- if(typeof(console)!="undefined"&&console.error){console.error(msg);written=true;}
21
- if(!written&&type!='deprecated'&&Util.fallbackErrorHandler){Util.fallbackErrorHandler(msg);}}else{if(type=='error'){msg+='\n\n'+Util.stack();(typeof(window['debug_rlog'])=='function')&&debug_rlog(msg);}}},deprecated:function(what){if(!Util._deprecatedThings[what]){Util._deprecatedThings[what]=true;var msg=sprintf('Deprecated: %q is deprecated.\n\n%s',what,Util.whyIsThisDeprecated(what));Util.log(msg,'deprecated');}},stack:function(){try{try{({}).llama();}catch(e){if(e.stack){var stack=[];var trace=[];var regex=/^([^@]+)@(.+)$/mg;var line=regex.exec(e.stack);do{stack.push([line[1],line[2]]);}while(line=regex.exec());for(var i=0;i<stack.length;i++){trace.push('#'+i+' '+stack[i][0]+' @ '+(stack[i+1]?stack[i+1][1]:'?'));}
22
- return trace.join('\n');}else{var trace=[];var pos=arguments.callee;var stale=[];while(pos){for(var i=0;i<stale.length;i++){if(stale[i]==pos){trace.push('#'+trace.length+' ** recursion ** @ ?');return trace.join('\n');}}
23
- stale.push(pos);var args=[];for(var i=0;i<pos.arguments.length;i++){if(pos.arguments[i]instanceof Function){var func=/function ?([^(]*)/.exec(pos.arguments[i].toString()).pop();args.push(func?func:'anonymous');}else if(pos.arguments[i]instanceof Array){args.push('Array');}else if(pos.arguments[i]instanceof Object){args.push('Object');}else if(typeof pos.arguments[i]=='string'){args.push('"'+pos.arguments[i].replace(/("|\\)/g,'\\$1')+'"');}else{args.push(pos.arguments[i]);}}
24
- trace.push('#'+trace.length+' '+/function?([^(]*)/.exec(pos).pop()+'('+args.join(', ')+') @ ?');if(trace.length>100)break;pos=pos.caller;}
25
- return trace.join('\n');}}}catch(e){return'No stack trace available';}},whyIsThisDeprecated:function(what){return Util._deprecatedBecause[what.toLowerCase()]||'No additional information is available about this deprecation.';},_deprecatedBecause:{},_deprecatedThings:{}};var Configurable={getOption:function(opt){if(typeof(this.option[opt])=='undefined'){Util.warn('Failed to get option %q; it does not exist.',opt);return null;}
26
- return this.option[opt];},setOption:function(opt,v){if(typeof(this.option[opt])=='undefined'){Util.warn('Failed to set option %q; it does not exist.',opt);}else{this.option[opt]=v;}
27
- return this;},getOptions:function(){return this.option;}};function Ad(){}
28
- copy_properties(Ad,{refreshRate:10000,lastRefreshTime:new Date(),refresh:function(){var delta=(new Date().getTime()-Ad.lastRefreshTime.getTime());if(delta>Ad.refreshRate){var f=Ad.getFrame();if(f){if(!f.osrc){f.osrc=f.src;}
29
- f.src=f.osrc+'?'+Math.random();Ad.lastRefreshTime=new Date();}}},getFrame:function(){return ge('ssponsor')&&$('ssponsor').getElementsByTagName('iframe')[0];}});function URI(uri){if(uri===window){Util.error('what the hell are you doing');return;}
30
- if(this===window){return new URI(uri||window.location.href);}
31
- this.parse(uri||'');}
32
- copy_properties(URI,{expression:/(((\w+):\/\/)([^\/:]*)(:(\d+))?)?([^#?]*)(\?([^#]*))?(#(.*))?/,explodeQuery:function(q){if(!q){return{};}
33
- var ii,t,r={};q=q.split('&');for(ii=0,l=q.length;ii<l;ii++){t=q[ii].split('=');r[decodeURIComponent(t[0])]=(typeof(t[1])=='undefined')?'':decodeURIComponent(t[1]);}
34
- return r;},implodeQuery:function(obj,name){name=name||'';var r=[];if(obj instanceof Array){for(var ii=0;ii<obj.length;ii++){try{r.push(URI.implodeQuery(obj[ii],name?name+'['+ii+']':ii));}catch(ignored){}}}else if(typeof(obj)=='object'){if(is_node(obj)){r.push('{node}');}else{for(var k in obj){try{r.push(URI.implodeQuery(obj[k],name?name+'['+k+']':k));}catch(ignored){}}}}else if(name&&name.length){r.push(encodeURIComponent(name)+'='+encodeURIComponent(obj));}else{r.push(encodeURIComponent(obj));}
35
- return r.join('&');}});copy_properties(URI.prototype,{parse:function(uri){var m=uri.toString().match(URI.expression);copy_properties(this,{protocol:m[3]||'',domain:m[4]||'',port:m[6]||'',path:m[7]||'',query:URI.explodeQuery(m[9]||''),fragment:m[11]||''});return this;},setProtocol:function(p){this.protocol=p;return this;},getProtocol:function(){return this.protocol;},setQueryData:function(o){this.query=o;return this;},addQueryData:function(o){return this.setQueryData(copy_properties(this.query,o));},getQueryData:function(){return this.query;},setFragment:function(f){this.fragment=f;return this;},getFragment:function(){return this.fragment;},setDomain:function(d){this.domain=d;return this;},getDomain:function(){return this.domain;},setPort:function(p){this.port=p;return this;},getPort:function(){return this.port;},setPath:function(p){this.path=p;return this;},getPath:function(){return this.path;},toStringValue:function(){var r='';var q=URI.implodeQuery(this.query);this.protocol&&(r+=this.protocol+'://');this.domain&&(r+=this.domain);this.port&&(r+=':'+this.port);if(this.domain&&!this.path){r+='/';}
36
- this.path&&(r+=this.path);q&&(r+='?'+q);this.fragment&&(r+='#'+this.fragment);return r;},toString:function(){return this.toStringValue();},isSameOrigin:function(asThisURI){var uri=asThisURI||window.location.href;if(!(uri instanceof URI)){uri=new URI(uri.toString());}
37
- if(this.getProtocol()&&this.getProtocol()!=uri.getProtocol()){return false;}
38
- if(this.getDomain()&&this.getDomain()!=uri.getDomain()){return false;}
39
- return true;},coerceToSameOrigin:function(targetURI){var uri=targetURI||window.location.href;if(!(uri instanceof URI)){uri=new URI(uri.toString());}
40
- if(this.isSameOrigin(uri)){return true;}
41
- if(this.getProtocol()!=uri.getProtocol()){return false;}
42
- var dst=uri.getDomain().split('.');var src=this.getDomain().split('.');if(dst.pop()=='com'&&src.pop()=='com'){if(dst.pop()=='facebook'&&src.pop()=='facebook'){this.setDomain(uri.getDomain());return true;}}
43
- return false;}});function EventController(eventResponderObject){copy_properties(this,{queue:[],ready:false,responder:eventResponderObject});};copy_properties(EventController.prototype,{startQueue:function(){this.ready=true;this.dispatchEvents();return this;},pauseQueue:function(){this.ready=false;return this;},addEvent:function(event){if(event.toLowerCase()!==event){Util.warn('Event name %q contains uppercase letters; events should be lowercase.',event);}
44
- var args=[];for(var ii=1;ii<arguments.length;ii++){args.push(arguments[ii]);}
45
- this.queue.push({type:event,args:args});if(this.ready){this.dispatchEvents();}
46
- return false;},dispatchEvents:function(){if(!this.responder){Util.error('Event controller attempting to dispatch events with no responder! '+'Provide a responder when constructing the controller.');}
47
- for(var ii=0;ii<this.queue.length;ii++){var evtName='on'+this.queue[ii].type;if(typeof(this.responder[evtName])!='function'&&typeof(this.responder[evtName])!='null'){Util.warn('Event responder is unable to respond to %q event! Implement a %q '+'method. Note that method names are case sensitive; use lower case '+'when defining events and event handlers.',this.queue[ii].type,evtName);}else{if(this.responder[evtName]){this.responder[evtName].apply(this.responder,this.queue[ii].args);}}}
48
- this.queue=[];}});
49
- if(typeof(ScriptInventory)!='undefined'){ScriptInventory.addScript("\/var\/releases\/thefacebook-r78923-01222008\/www\/html\/js\/extended.js", "78843", 1201048725);}
@@ -1,122 +0,0 @@
1
- get_obj=function(id){return document.getElementById(id);}
2
- set_style=function(obj,style,value){
3
- if(typeof style=='string'){
4
- if(style=='opacity'){
5
- set_opacity(obj,parseFloat(value,10));
6
- }else{
7
- obj.style[style]=value;
8
- }
9
- }else{
10
- for(var i in style){
11
- set_style(obj,i,style[i]);
12
- }
13
- }
14
- }
15
-
16
- Element.prototype.setStyle=function(style,value){set_style(this,style,value);return this;}
17
- Element.prototype.setClassName=function(classname){this.className=classname;return this;}
18
- Element.prototype.getClassName=function(){return this.className;}
19
- Element.prototype.hasClassName=function(classname){return has_css_class_name(this,classname);}
20
- Element.prototype.addClassName=function(classname){add_css_class_name(this,classname);return this;}
21
- Element.prototype.removeClassName=function(classname){remove_css_class_name(this,classname);return this;}
22
- Element.prototype.toggleClassName=function(classname){this.hasClassName(classname)?this.removeClassName(classname):this.addClassName(classname);return this;}
23
- Element.prototype.getId=function(){var id=this.id;if(id){return id.replace(/^app\d+_/,'');}else{return id;}}
24
- Element.prototype.setId=function(id){var data=fbjs_dom.get_data(this);data.obj.id=['app',data.appid,'_',id].join('');return this;}
25
- Element.prototype.setTextValue=function(text){var obj=this;fbjs_dom.clear_instances(obj,false);obj.innerHTML=htmlspecialchars(fbjs_sandbox.safe_string(text));return this;}
26
- Element.prototype.setValue=function(value){this.value=value;return this;}
27
- Element.prototype.getValue=function(){var obj=this;if(obj.tagName=='SELECT'){var si=obj.selectedIndex;if(si==-1){return null;}else{if(obj.options[si].getAttribute('value')==null){return undefined;}else{return obj.value;}}}else{return this.value;}}
28
- Element.prototype.getStyle=function(style_str){return this.style[idx(style_str)];}
29
- Element.prototype.setSrc=function(src){ this.src=src; return this; }
30
-
31
- /*
32
- Element.prototype.appendChild=function(child){this.appendChild((child));fbjs_dom.render(child);return child;}
33
- Element.prototype.insertBefore=function(child,caret){if(caret){this.insertBefore((child),(caret));}else{this.appendChild((child));}
34
- Element.prototype.removeChild=function(child){var child=(child);fbjs_dom.clear_instances(child,true);this.removeChild(child);return this;}
35
- Element.prototype.replaceChild=function(newchild,oldchild){fbjs_dom.clear_instances(oldchild,true);this.replaceChild((newchild),(oldchild));return this;}
36
- Element.prototype.cloneNode=function(tree){var data=fbjs_dom.get_data(this);return fbjs_dom.get_instance(data.obj.cloneNode(tree),data.appid);}
37
- Element.prototype.getParentNode=function(){var data=fbjs_dom.get_data(this);return fbjs_dom.get_first_valid_instance(data.obj.parentNode,'parentNode',data.appid);}
38
- Element.prototype.getNextSibling=function(){var data=fbjs_dom.get_data(this);return fbjs_dom.get_first_valid_instance(data.obj.nextSibling,'nextSibling',data.appid);}
39
- Element.prototype.getPreviousSibling=function(){var data=fbjs_dom.get_data(this);return fbjs_dom.get_first_valid_instance(data.obj.previousSibling,'previousSibling',data.appid);}
40
- Element.prototype.getFirstChild=function(){var data=fbjs_dom.get_data(this);return fbjs_dom.get_first_valid_instance(data.obj.firstChild,'nextSibling',data.appid);}
41
- Element.prototype.getLastChild=function(){var data=fbjs_dom.get_data(this);return fbjs_dom.get_first_valid_instance(data.obj.lastChild,'previousSibling',data.appid);}
42
- Element.prototype.getChildNodes=function(){var data=fbjs_dom.get_data(this);return fbjs_dom.get_instance_list(data.obj.childNodes,data.appid);}
43
- Element.prototype.getElementsByTagName=function(tag){var data=fbjs_dom.get_data(this);return fbjs_dom.get_instance_list(data.obj.getElementsByTagName(tag),data.appid);}
44
- Element.prototype.getOptions=function(){var data=fbjs_dom.get_data(this);return fbjs_dom.get_instance_list(data.obj.options,data.appid);}
45
- Element.prototype.getForm=function(){var data=fbjs_dom.get_data(this);return fbjs_dom.get_instance(data.obj.form,data.appid);}
46
- Element.prototype.serialize=function(){var elements=fbjs_dom.get_data(this).obj.elements;var data={};for(var i=elements.length-1;i>=0;i--){if(elements[i].name&&elements[i].name.substring(0,2)!='fb'&&elements[i].name!='post_form_id'&&!elements[i].disabled){if(elements[i].tagName=='SELECT'){var name=elements[i].multiple?elements[i].name+'[]':elements[i].name;for(var j=0,jl=elements[i].options.length;j<jl;j++){if(elements[i].options[j].selected){serialize_form_helper(data,name,(elements[i].options[j].getAttribute('value')==null)?undefined:elements[i].options[j].value);}}}else 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')){serialize_form_helper(data,elements[i].name,elements[i].value);}}} return data;}
47
- Element.prototype.setInnerXHTML=function(html){var data=fbjs_dom.get_data(this);var sanitizer=new fbjs_fbml_sanitize(data.appid);var htmlElem=sanitizer.parseFBML(html);if(!htmlElem)return this;var obj=this;switch(obj.tagName){case'TEXTAREA':fbjs_console.error('setInnerXHTML is not supported on textareas. Please use .value instead.');break;case'COL':case'COLGROUP':case'TABLE':case'TBODY':case'TFOOT':case'THEAD':case'TR':fbjs_console.error('setInnerXHTML is not supported on this node.');break;default:fbjs_dom.clear_instances(obj,false);obj.innerHTML='';this.appendChild(htmlElem);break;} return this;}
48
- Element.prototype.setInnerFBML=function(fbml_ref){var html=fbjs_private.get(fbml_ref).htmlstring;var obj=this;switch(obj.tagName){case'TEXTAREA':fbjs_console.error('setInnerFBML is not supported on textareas. Please use .value instead.');break;case'COL':case'COLGROUP':case'TABLE':case'TBODY':case'TFOOT':case'THEAD':case'TR':fbjs_console.error('setInnerFBML is not supported on this node.');break;default:set_inner_html(obj,html);break;} return this;}
49
- Element.prototype.setTextValue=function(text){var obj=this;fbjs_dom.clear_instances(obj,false);obj.innerHTML=htmlspecialchars(fbjs_sandbox.safe_string(text));return this;}
50
- Element.prototype.setValue=function(value){this.value=value;return this;}
51
- Element.prototype.getValue=function(){var obj=this;if(obj.tagName=='SELECT'){var si=obj.selectedIndex;if(si==-1){return null;}else{if(obj.options[si].getAttribute('value')==null){return undefined;}else{return obj.value;}}}else{return this.value;}}
52
- Element.prototype.getSelectedIndex=function(){return this.selectedIndex;}
53
- Element.prototype.setSelectedIndex=function(si){this.selectedIndex=si;return this;}
54
- Element.prototype.getChecked=function(){return this.checked;}
55
- Element.prototype.setChecked=function(c){this.checked=c;return this;}
56
- Element.prototype.getSelected=function(){return this.selected;}
57
- Element.prototype.setSelected=function(s){this.selected=s;return this;}
58
- Element.prototype.setStyle=function(style,value){set_style(this,style,value);return this;}
59
- Element.prototype.getStyle=function(style_str){return this.style[idx(style_str)];}
60
- Element.prototype.setHref=function(href){href=fbjs_sandbox.safe_string(href);if(fbjs_dom.href_regex.test(href)){this.href=href;return this;}else{fbjs_console.error(href+' is not a valid hyperlink');}}
61
- Element.prototype.setAction=function(a){a=fbjs_sandbox.safe_string(a);if(fbjs_dom.href_regex.test(a)){this.action=a;return this;}else{fbjs_console.error(a+' is not a valid hyperlink');}}
62
- Element.prototype.getAction=function(){return this.action;}
63
- Element.prototype.setMethod=function(m){m=fbjs_sandbox.safe_string(m);this.method=m.toLowerCase()=='get'?'get':'post';return this;}
64
- Element.prototype.getMethod=function(){return this.method;}
65
- Element.prototype.setSrc=function(src){src=fbjs_sandbox.safe_string(src);if(fbjs_dom.href_regex.test(src)){this.src=src;return this;}else{fbjs_console.error(src+' is not a valid hyperlink');}}
66
- Element.prototype.getSrc=function(){return this.src;}
67
- Element.prototype.setTarget=function(target){this.target=target;return this;}
68
- Element.prototype.getTarget=function(){return this.target;}
69
- Element.prototype.setClassName=function(classname){this.className=classname;return this;}
70
- Element.prototype.getClassName=function(){return this.className;}
71
- Element.prototype.hasClassName=function(classname){return has_css_class_name(this,classname);}
72
- Element.prototype.addClassName=function(classname){add_css_class_name(this,classname);return this;}
73
- Element.prototype.removeClassName=function(classname){remove_css_class_name(this,classname);return this;}
74
- Element.prototype.toggleClassName=function(classname){this.hasClassName(classname)?this.removeClassName(classname):this.addClassName(classname);return this;}
75
- Element.prototype.getTagName=function(){return this.tagName;}
76
- Element.prototype.getNodeType=function(){return this.nodeType;}
77
- Element.prototype.getId=function(){var id=this.id;if(id){return id.replace(/^app\d+_/,'');}else{return id;}}
78
- Element.prototype.setId=function(id){var data=fbjs_dom.get_data(this);data.obj.id=['app',data.appid,'_',id].join('');return this;}
79
- Element.prototype.setDir=function(dir){this.dir=dir;return this;}
80
- Element.prototype.getdir=function(dir){return this.dir;}
81
- Element.prototype.getClientWidth=function(){return this.clientWidth;}
82
- Element.prototype.getClientHeight=function(){return this.clientHeight;}
83
- Element.prototype.getOffsetWidth=function(){return this.offsetWidth;}
84
- Element.prototype.getOffsetHeight=function(){return this.offsetHeight;}
85
- Element.prototype.getAbsoluteLeft=function(){return elementX(this);}
86
- Element.prototype.getAbsoluteTop=function(){return elementY(this);}
87
- Element.prototype.getScrollHeight=function(){return this.scrollHeight;}
88
- Element.prototype.getScrollWidth=function(val){return this.scrollWidth;}
89
- Element.prototype.getScrollTop=function(){return this.scrollTop;}
90
- Element.prototype.setScrollTop=function(val){this.scrollTop=val;return this;}
91
- Element.prototype.getScrollLeft=function(){return this.scrollLeft;}
92
- Element.prototype.setScrollLeft=function(val){this.scrollLeft=val;return this;}
93
- Element.prototype.getTabIndex=function(){return this.tabIndex;}
94
- Element.prototype.setTabIndex=function(tabindex){this.tabIndex=tabindex;return this;}
95
- Element.prototype.getTitle=function(){return this.title;}
96
- Element.prototype.setTitle=function(title){this.title=title;return this;}
97
- Element.prototype.getRowSpan=function(){return this.rowSpan;}
98
- Element.prototype.setRowSpan=function(rowSpan){this.rowSpan=rowSpan;return this;}
99
- Element.prototype.getColSpan=function(){return this.colSpan;}
100
- Element.prototype.setColSpan=function(colSpan){this.colSpan=colSpan;return this;}
101
- Element.prototype.getName=function(){return this.name;}
102
- Element.prototype.setName=function(name){this.name=name;return this;}
103
- Element.prototype.getCols=function(){return this.cols;}
104
- Element.prototype.setCols=function(cols){this.cols=cols;return this;}
105
- Element.prototype.getRows=function(){return this.rows;}
106
- Element.prototype.setRows=function(rows){this.rows=rows;return this;}
107
- Element.prototype.getAccessKey=function(){return this.accessKey;}
108
- Element.prototype.setAccessKey=function(accesskey){this.accessKey=accesskey;return this;}
109
- Element.prototype.setDisabled=function(disabled){this.disabled=disabled;return this;}
110
- Element.prototype.getDisabled=function(){return this.disabled;}
111
- Element.prototype.setMaxLength=function(length){this.maxLength=length;return this;}
112
- Element.prototype.getMaxLength=function(){return this.maxLength;}
113
- Element.prototype.setReadOnly=function(readonly){this.readOnly=readonly;return this;}
114
- Element.prototype.getReadOnly=function(){return this.readOnly;}
115
- Element.prototype.setType=function(type){type=fbjs_sandbox.safe_string(type);this.type=type;return this;}
116
- Element.prototype.getType=function(){return this.type;}
117
- Element.prototype.getSelection=function(){var obj=this;return get_caret_position(obj);}
118
- Element.prototype.setSelection=function(start,end){var obj=this;set_caret_position(obj,start,end);return this;}
119
- Element.prototype.submit=function(){this.submit();return this;}
120
- Element.prototype.focus=function(){this.focus();return this;}
121
- Element.prototype.select=function(){this.select();return this;}
122
- */
@@ -1,61 +0,0 @@
1
- /* Source: Backing Store */
2
- /* Location: js/string.js r76744 */
3
- /* Machine: 10.1.0.62 */
4
- /* Generated: March 5th 2008 2:09:46 AM PST */
5
-
6
-
7
- function htmlspecialchars(text){if(typeof(text)=='undefined'||!text.toString){return'';}
8
- if(text===false){return'0';}else if(text===true){return'1';}
9
- return text.toString().replace(/&/g,'&amp;').replace(/"/g,'&quot;').replace(/'/g,'&#039;').replace(/</g,'&lt;').replace(/>/g,'&gt;');}
10
- var htmlize=htmlspecialchars;function html_wordwrap(str,wrap_limit,txt_fn){if(typeof wrap_limit=='undefined'){wrap_limit=60;}
11
- if(typeof txt_fn!='function'){txt_fn=htmlize;}
12
- var regex=new RegExp("\\S{"+(wrap_limit+1)+"}",'g');var start=0;var str_remaining=str;var ret_arr=[];var matches=str.match(regex);if(matches){for(var i=0;i<matches.length;i++){var match=matches[i];var match_index=start+str_remaining.indexOf(match);var chunk=str.substring(start,match_index);if(chunk){ret_arr.push(txt_fn(chunk));}
13
- ret_arr.push(txt_fn(match)+'<wbr/>');start=match_index+match.length;str_remaining=str.substring(start);}}
14
- if(str_remaining){ret_arr.push(txt_fn(str_remaining));}
15
- return ret_arr.join('');}
16
- function text_get_hyperlinks(str){if(typeof(str)!='string'){return[];}
17
- return str.match(/(?:(?:ht|f)tps?):\/\/[^\s<]*[^\s<\.)]/ig);}
18
- function html_hyperlink(str,txt_fn,url_fn){var accepted_delims={'<':'>','*':'*','{':'}','[':']',"'":"'",'"':'"','#':'#','+':'+','-':'-','(':')'};if(typeof(str)=='undefined'||!str.toString){return'';}
19
- if(typeof txt_fn!='function'){txt_fn=htmlize;}
20
- if(typeof url_fn!='function'){url_fn=htmlize;}
21
- var str=str.toString();var http_matches=text_get_hyperlinks(str);var start=0;var str_remaining=str;var ret_arr=[];var str_remaining=str;if(http_matches){for(var i=0;i<http_matches.length;i++){var http_url=http_matches[i];var http_index=start+str_remaining.indexOf(http_url);var str_len=http_url.length;var non_url=str.substring(start,http_index);if(non_url){ret_arr.push(txt_fn(non_url));}
22
- var trailing='';if(http_index>0){var delim=str[http_index-1];if(typeof accepted_delims[delim]!='undefined'){var end_delim=accepted_delims[delim];var end_delim_index=http_url.indexOf(end_delim);if(end_delim_index!=-1){trailing=txt_fn(http_url.substring(end_delim_index));http_url=http_url.substring(0,end_delim_index);}}}
23
- http_str=url_fn(http_url);http_url_quote_escape=http_url.replace(/"/g,'%22');ret_arr.push('<a href="'+http_url_quote_escape+'" target="_blank" rel="nofollow">'+
24
- http_str+'</a>'+trailing);start=http_index+str_len;str_remaining=str.substring(start);}}
25
- if(str_remaining){ret_arr.push(txt_fn(str_remaining));}
26
- return ret_arr.join('');}
27
- function escape_js_quotes(text){if(typeof(text)=='undefined'||!text.toString){return'';}
28
- return text.toString().replace(/\\/g,'\\\\').replace(/\n/g,'\\n').replace(/\r/g,'\\r').replace(/"/g,'\\x22').replace(/'/g,'\\\'').replace(/</g,'\\x3c').replace(/>/g,'\\x3e').replace(/&/g,'\\x26');}
29
- function trim(text){if(typeof(text)=='undefined'||!text.toString){return'';}
30
- return text.toString().replace(/^\s*|\s*$/g,'');}
31
- function nl2br(text){if(typeof(text)=='undefined'||!text.toString){return'';}
32
- return text.toString().replace(/\n/g,'<br />');}
33
- function sprintf(){if(arguments.length==0){Util.warn('sprintf() was called with no arguments; it should be called with at '+'least one argument.');return'';}
34
- var args=['This is an argument vector.'];for(var ii=arguments.length-1;ii>0;ii--){if(typeof(arguments[ii])=="undefined"){Util.log('You passed an undefined argument (argument '+ii+' to sprintf(). '+'Pattern was: `'+(arguments[0])+'\'.','error');args.push('');}else if(arguments[ii]===null){args.push('');}else if(arguments[ii]===true){args.push('true');}else if(arguments[ii]===false){args.push('false');}else{if(!arguments[ii].toString){Util.log('Argument '+(ii+1)+' to sprintf() does not have a toString() '+'method. The pattern was: `'+(arguments[0])+'\'.','error');return'';}
35
- args.push(arguments[ii]);}}
36
- var pattern=arguments[0];pattern=pattern.toString().split('%');var patlen=pattern.length;var result=pattern[0];for(var ii=1;ii<patlen;ii++){if(args.length==0){Util.log('Not enough arguments were provide to sprintf(). The pattern was: '+'`'+(arguments[0])+'\'.','error');return'';}
37
- if(!pattern[ii].length){result+="%";continue;}
38
- var p=0;var m=0;var r='';var padChar=' ';var padSize=null;var maxSize=null;var rawPad='';var pos=0;if(m=pattern[ii].match(/^('.)?(?:(-?\d+\.)?(-?\d+)?)/)){if(m[2]!==undefined&&m[2].length){padSize=parseInt(rawPad=m[2]);}
39
- if(m[3]!==undefined&&m[3].length){if(padSize!==null){maxSize=parseInt(m[3]);}else{padSize=parseInt(rawPad=m[3]);}}
40
- pos=m[0].length;if(m[1]!==undefined&&m[1].length){padChar=m[1].charAt(1);}else{if(rawPad.charAt(0)==0){padChar='0';}}}
41
- switch(pattern[ii].charAt(pos)){case's':raw=htmlspecialchars(args.pop().toString());break;case'h':raw=args.pop().toString();break;case'd':raw=parseInt(args.pop()).toString();break;case'f':raw=parseFloat(args.pop()).toString();break;case'q':raw="`"+htmlspecialchars(args.pop().toString())+"'";break;case'e':raw="'"+escape_js_quotes(args.pop().toString())+"'";break;case'L':var list=args.pop();for(var ii=0;ii<list.length;ii++){list[ii]="`"+htmlspecialchars(args.pop().toString())+"'";}
42
- if(list.length>1){list[list.length-1]='and '+list[list.length-1];}
43
- raw=list.join(', ');break;case'x':x=args.pop();var line='?';var src='?';try{if(typeof(x['line'])!='undefined'){line=x.line;}else if(typeof(x['lineNumber'])!='undefined'){line=x.lineNumber;}
44
- if(typeof(x['sourceURL'])!='undefined'){src=x['sourceURL'];}else if(typeof(x['fileName'])!='undefined'){src=s['fileName'];}}catch(exception){}
45
- var s='[An Exception]';try{s=x.message||x.toString();}catch(exception){}
46
- raw=s+' [at line '+line+' in '+src+']';break;default:raw="%"+pattern[ii].charAt(pos+1);break;}
47
- if(padSize!==null){if(raw.length<Math.abs(padSize)){var padding='';var padlen=(Math.abs(padSize)-raw.length);for(var ll=0;ll<padlen;ll++){padding+=padChar;}
48
- if(padSize<0){raw+=padding;}else{raw=padding+raw;}}}
49
- if(maxSize!==null){if(raw.length>maxSize){raw=raw.substr(0,maxSize);}}
50
- result+=raw+pattern[ii].substring(pos+1);}
51
- if(args.length>1){Util.log('Too many arguments ('+(args.length-1)+' extras) were passed to '+'sprintf(). Pattern was: `'+(arguments[0])+'\'.','error');}
52
- return result;}
53
- String.prototype.startsWith=function(substr){if(this==window){return null;}
54
- return this.substring(0,substr.length)==substr;};String.prototype.split=(function(split){return function(separator,limit){var flags="";if(separator===null||limit===null){return[];}else if(typeof separator=='string'){return split.call(this,separator,limit);}else if(separator===undefined){return[this.toString()];}else if(separator instanceof RegExp){if(!separator._2||!separator._1){flags=separator.toString().replace(/^[\S\s]+\//,"");if(!separator._1){if(!separator.global){separator._1=new RegExp(separator.source,"g"+flags);}else{separator._1=1;}}}
55
- separator1=separator._1==1?separator:separator._1;var separator2=(separator._2?separator._2:separator._2=new RegExp("^"+separator1.source+"$",flags));if(limit===undefined||limit<0){limit=false;}else{limit=Math.floor(limit);if(!limit)return[];}
56
- var match,output=[],lastLastIndex=0,i=0;while((limit?i++<=limit:true)&&(match=separator1.exec(this))){if((match[0].length===0)&&(separator1.lastIndex>match.index)){separator1.lastIndex--;}
57
- if(separator1.lastIndex>lastLastIndex){if(match.length>1){match[0].replace(separator2,function(){for(var j=1;j<arguments.length-2;j++){if(arguments[j]===undefined)match[j]=undefined;}});}
58
- output=output.concat(this.substring(lastLastIndex,match.index),(match.index===this.length?[]:match.slice(1)));lastLastIndex=separator1.lastIndex;}
59
- if(match[0].length===0){separator1.lastIndex++;}}
60
- return(lastLastIndex===this.length)?(separator1.test("")?output:output.concat("")):(limit?output:output.concat(this.substring(lastLastIndex)));}else{return split.call(this,separator,limit);}}})(String.prototype.split);
61
- if(typeof(ScriptInventory)!='undefined'){ScriptInventory.addScript("\/var\/releases\/thefacebook-r77778-01152008\/www\/html\/js\/string.js", "76744", 1200708682);}
@@ -1,22 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <html xmlns="http://www.w3.org/1999/xhtml">
3
- <head>
4
- <title>Fakebook - <%= title %></title>
5
- <style type="text/css">
6
- body { background: #fff; font-family: "lucida grande", tahoma, verdana, arial, sans-serif; font-size: 11px; margin: 0px; padding: 0px; text-align: left; }
7
- h1, h2, h3, h4, h5 { font-size: 13px; color: #333; margin: 0px; padding: 0px; }
8
- h1 { font-size: 14px; }
9
- h4, h5 { font-size: 11px; }
10
- p { font-family: "lucida grande", tahoma, verdana, arial, sans-serif; font-size: 11px; text-align: left; }
11
- a { color: #3b5998; text-decoration: none; }
12
- a:hover { text-decoration: underline; }
13
- img { border: 0px; }
14
- .fb-wrapper { margin: 20px; padding: 0; width: 646px; border: 1px solid #b7b7b7; border-bottom: 1px solid #3b5998; }
15
- </style>
16
- </head>
17
- <body>
18
- <div class="fb-wrapper">
19
- <%= body %>
20
- </div>
21
- </body>
22
- </html>