window.FB||(FB={_apiKey:null,_session:null,_userStatus:"unknown",_logging:true,_domain:{api:"https://api.facebook.com/",cdn:window.location.protocol=="https:"?"https://s-static.ak.fbcdn.net/":"http://static.ak.fbcdn.net/",graph:"https://graph.facebook.com/",www:window.location.protocol+"//www.facebook.com/"},_locale:null,_localeIsRtl:false,copy:function(a,b,c,d){for(var e in b)if(c||typeof a[e]==="undefined")a[e]=d?d(b[e]):b[e];return a},create:function(a,b){var c=window.FB;a=a?a.split("."):[];for(var d=
a.length,e=0;e<d;e++){var f=a[e],n=c[f];if(!n){n=b&&e+1==d?b:{};c[f]=n}c=n}return c},provide:function(a,b,c){return FB.copy(typeof a=="string"?FB.create(a):a,b,c)},guid:function(){return"f"+(Math.random()*1073741824).toString(16).replace(".","")},log:function(a){if(FB._logging)if(window.Debug&&window.Debug.writeln)window.Debug.writeln(a);else window.console&&window.console.log(a);FB.Event&&FB.Event.fire("fb.log",a)},$:function(a){return document.getElementById(a)}});
FB.provide("Array",{indexOf:function(a,b){if(a.indexOf)return a.indexOf(b);var c=a.length;if(c)for(var d=0;d<c;d++)if(a[d]===b)return d;return-1},merge:function(a,b){for(var c=0;c<b.length;c++)FB.Array.indexOf(a,b[c])<0&&a.push(b[c]);return a},filter:function(a,b){for(var c=[],d=0;d<a.length;d++)b(a[d])&&c.push(a[d]);return c},keys:function(a,b){var c=[];for(var d in a)if(b||a.hasOwnProperty(d))c.push(d);return c},map:function(a,b){for(var c=[],d=0;d<a.length;d++)c.push(b(a[d]));return c},forEach:function(a,
b,c){if(a)if(Object.prototype.toString.apply(a)==="[object Array]"||!(a instanceof Function)&&typeof a.length=="number")if(a.forEach)a.forEach(b);else{c=0;for(var d=a.length;c<d;c++)b(a[c],c,a)}else for(d in a)if(c||a.hasOwnProperty(d))b(a[d],d,a)}});
FB.provide("QS",{encode:function(a,b,c){b=b===undefined?"&":b;c=c===false?function(e){return e}:encodeURIComponent;var d=[];FB.Array.forEach(a,function(e,f){e!==null&&typeof e!="undefined"&&d.push(c(f)+"="+c(e))});d.sort();return d.join(b)},decode:function(a){var b=decodeURIComponent,c={};a=a.split("&");var d,e;for(d=0;d<a.length;d++)if((e=a[d].split("=",2))&&e[0])c[b(e[0])]=b(e[1]);return c}});
FB.provide("Content",{_root:null,_hiddenRoot:null,_callbacks:{},append:function(a,b){if(!b)if(FB.Content._root)b=FB.Content._root;else if(FB.Content._root=b=FB.$("fb-root"))b.className+=" fb_reset";else{FB.log('The "fb-root" div has not been created.');return}if(typeof a=="string"){var c=document.createElement("div");b.appendChild(c).innerHTML=a;return c}else return b.appendChild(a)},appendHidden:function(a){if(!FB.Content._hiddenRoot){var b=document.createElement("div"),c=b.style;c.position="absolute";
c.top="-10000px";c.width=c.height=0;FB.Content._hiddenRoot=FB.Content.append(b)}return FB.Content.append(a,FB.Content._hiddenRoot)},insertIframe:function(a){a.id=a.id||FB.guid();a.name=a.name||FB.guid();var b=FB.guid(),c=false,d=false;FB.Content._callbacks[b]=function(){if(c&&!d){d=true;a.onload&&a.onload(a.root.firstChild)}};if(document.attachEvent){var e='<iframe id="'+a.id+'" name="'+a.name+'"'+(a.className?' class="'+a.className+'"':"")+' style="border:none;'+(a.width?"width:"+a.width+"px;":"")+
(a.height?"height:"+a.height+"px;":"")+'" src="'+a.url+'" frameborder="0" scrolling="no" allowtransparency="true" onload="FB.Content._callbacks.'+b+'()"></iframe>';a.root.innerHTML='<iframe src="javascript:false" frameborder="0" scrolling="no" style="height:1px"></iframe>';c=true;window.setTimeout(function(){a.root.innerHTML=e},0)}else{var f=document.createElement("iframe");f.id=a.id;f.name=a.name;f.onload=FB.Content._callbacks[b];f.style.border="none";f.style.overflow="hidden";if(a.className)f.className=
a.className;if(a.height)f.style.height=a.height+"px";if(a.width)f.style.width=a.width+"px";a.root.appendChild(f);c=true;f.src=a.url}},postTarget:function(a){var b=document.createElement("form");b.action=a.url;b.target=a.target;b.method="POST";FB.Content.appendHidden(b);FB.Array.forEach(a.params,function(c,d){if(c!==null&&c!==undefined){var e=document.createElement("input");e.name=d;e.value=c;b.appendChild(e)}});b.submit();b.parentNode.removeChild(b)}});
FB.provide("Flash",{_minVersions:[[9,0,159,0],[10,0,22,87]],_swfPath:"swf/XdComm.swf",_callbacks:[],init:function(){if(!FB.Flash._init){FB.Flash._init=true;window.FB_OnFlashXdCommReady=function(){FB.Flash._ready=true;for(var c=0,d=FB.Flash._callbacks.length;c<d;c++)FB.Flash._callbacks[c]();FB.Flash._callbacks=[]};var a=!!document.attachEvent,b=FB._domain.cdn+FB.Flash._swfPath;FB.Content.appendHidden('<object type="application/x-shockwave-flash" id="XdComm" '+(a?'name="XdComm" ':"")+(a?"":'data="'+
b+'" ')+(a?'classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" ':"")+'allowscriptaccess="always"><param name="movie" value="'+b+'"></param><param name="allowscriptaccess" value="always"></param></object>')}},hasMinVersion:function(){if(typeof FB.Flash._hasMinVersion==="undefined"){var a,b,c=[];try{a=(new ActiveXObject("ShockwaveFlash.ShockwaveFlash")).GetVariable("$version")}catch(d){if(navigator.mimeTypes.length>0)if(navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin)a=(navigator.plugins["Shockwave Flash 2.0"]||
navigator.plugins["Shockwave Flash"]).description}if(a){var e=a.replace(/\D+/g,",").match(/^,?(.+),?$/)[1].split(",");a=0;for(b=e.length;a<b;a++)c.push(parseInt(e[a],10))}FB.Flash._hasMinVersion=false;a=0;b=FB.Flash._minVersions.length;a:for(;a<b;a++){e=FB.Flash._minVersions[a];if(e[0]==c[0])for(var f=1,n=e.length,h=c.length;f<n&&f<h;f++)if(c[f]<e[f]){FB.Flash._hasMinVersion=false;continue a}else{FB.Flash._hasMinVersion=true;if(c[f]>e[f])break a}}}return FB.Flash._hasMinVersion},onReady:function(a){FB.Flash.init();
FB.Flash._ready?window.setTimeout(a,0):FB.Flash._callbacks.push(a)}});
FB.md5sum=function(a){function b(t,s){var u=(t&65535)+(s&65535);return(t>>16)+(s>>16)+(u>>16)<<16|u&65535}function c(t,s,u,v,w,y){t=b(b(s,t),b(v,y));return b(t<<w|t>>>32-w,u)}function d(t,s,u,v,w,y,z){return c(s&u|~s&v,t,s,w,y,z)}function e(t,s,u,v,w,y,z){return c(s&v|u&~v,t,s,w,y,z)}function f(t,s,u,v,w,y,z){return c(s^u^v,t,s,w,y,z)}function n(t,s,u,v,w,y,z){return c(u^(s|~v),t,s,w,y,z)}for(var h="",g,o="",p="",j=-1,k;++j<a.length;){g=a.charCodeAt(j);k=j+1<a.length?a.charCodeAt(j+1):0;if(55296<=
g&&g<=56319&&56320<=k&&k<=57343){g=65536+((g&1023)<<10)+(k&1023);j++}if(g<=127)h+=String.fromCharCode(g);else if(g<=2047)h+=String.fromCharCode(192|g>>>6&31,128|g&63);else if(g<=65535)h+=String.fromCharCode(224|g>>>12&15,128|g>>>6&63,128|g&63);else if(g<=2097151)h+=String.fromCharCode(240|g>>>18&7,128|g>>>12&63,128|g>>>6&63,128|g&63)}g=h.length*8;a=Array(h.length>>2);for(j=0;j<a.length;j++)a[j]=0;for(j=0;j<g;j+=8)a[j>>5]|=(h.charCodeAt(j/8)&255)<<j%32;a[g>>5]|=128<<g%32;a[(g+64>>>9<<4)+14]=g;h=1732584193;
g=-271733879;k=-1732584194;var m=271733878;for(j=0;j<a.length;j+=16){var r=h,q=g,x=k,A=m;h=d(h,g,k,m,a[j+0],7,-680876936);m=d(m,h,g,k,a[j+1],12,-389564586);k=d(k,m,h,g,a[j+2],17,606105819);g=d(g,k,m,h,a[j+3],22,-1044525330);h=d(h,g,k,m,a[j+4],7,-176418897);m=d(m,h,g,k,a[j+5],12,1200080426);k=d(k,m,h,g,a[j+6],17,-1473231341);g=d(g,k,m,h,a[j+7],22,-45705983);h=d(h,g,k,m,a[j+8],7,1770035416);m=d(m,h,g,k,a[j+9],12,-1958414417);k=d(k,m,h,g,a[j+10],17,-42063);g=d(g,k,m,h,a[j+11],22,-1990404162);h=d(h,g,
k,m,a[j+12],7,1804603682);m=d(m,h,g,k,a[j+13],12,-40341101);k=d(k,m,h,g,a[j+14],17,-1502002290);g=d(g,k,m,h,a[j+15],22,1236535329);h=e(h,g,k,m,a[j+1],5,-165796510);m=e(m,h,g,k,a[j+6],9,-1069501632);k=e(k,m,h,g,a[j+11],14,643717713);g=e(g,k,m,h,a[j+0],20,-373897302);h=e(h,g,k,m,a[j+5],5,-701558691);m=e(m,h,g,k,a[j+10],9,38016083);k=e(k,m,h,g,a[j+15],14,-660478335);g=e(g,k,m,h,a[j+4],20,-405537848);h=e(h,g,k,m,a[j+9],5,568446438);m=e(m,h,g,k,a[j+14],9,-1019803690);k=e(k,m,h,g,a[j+3],14,-187363961);
g=e(g,k,m,h,a[j+8],20,1163531501);h=e(h,g,k,m,a[j+13],5,-1444681467);m=e(m,h,g,k,a[j+2],9,-51403784);k=e(k,m,h,g,a[j+7],14,1735328473);g=e(g,k,m,h,a[j+12],20,-1926607734);h=f(h,g,k,m,a[j+5],4,-378558);m=f(m,h,g,k,a[j+8],11,-2022574463);k=f(k,m,h,g,a[j+11],16,1839030562);g=f(g,k,m,h,a[j+14],23,-35309556);h=f(h,g,k,m,a[j+1],4,-1530992060);m=f(m,h,g,k,a[j+4],11,1272893353);k=f(k,m,h,g,a[j+7],16,-155497632);g=f(g,k,m,h,a[j+10],23,-1094730640);h=f(h,g,k,m,a[j+13],4,681279174);m=f(m,h,g,k,a[j+0],11,-358537222);
k=f(k,m,h,g,a[j+3],16,-722521979);g=f(g,k,m,h,a[j+6],23,76029189);h=f(h,g,k,m,a[j+9],4,-640364487);m=f(m,h,g,k,a[j+12],11,-421815835);k=f(k,m,h,g,a[j+15],16,530742520);g=f(g,k,m,h,a[j+2],23,-995338651);h=n(h,g,k,m,a[j+0],6,-198630844);m=n(m,h,g,k,a[j+7],10,1126891415);k=n(k,m,h,g,a[j+14],15,-1416354905);g=n(g,k,m,h,a[j+5],21,-57434055);h=n(h,g,k,m,a[j+12],6,1700485571);m=n(m,h,g,k,a[j+3],10,-1894986606);k=n(k,m,h,g,a[j+10],15,-1051523);g=n(g,k,m,h,a[j+1],21,-2054922799);h=n(h,g,k,m,a[j+8],6,1873313359);
m=n(m,h,g,k,a[j+15],10,-30611744);k=n(k,m,h,g,a[j+6],15,-1560198380);g=n(g,k,m,h,a[j+13],21,1309151649);h=n(h,g,k,m,a[j+4],6,-145523070);m=n(m,h,g,k,a[j+11],10,-1120210379);k=n(k,m,h,g,a[j+2],15,718787259);g=n(g,k,m,h,a[j+9],21,-343485551);h=b(h,r);g=b(g,q);k=b(k,x);m=b(m,A)}a=[h,g,k,m];for(j=0;j<a.length*32;j+=8)o+=String.fromCharCode(a[j>>5]>>>j%32&255);for(j=0;j<o.length;j++){g=o.charCodeAt(j);p+="0123456789abcdef".charAt(g>>>4&15)+"0123456789abcdef".charAt(g&15)}return p};
if(!this.JSON)this.JSON={};
(function(){function a(o){return o<10?"0"+o:o}function b(o){e.lastIndex=0;return e.test(o)?'"'+o.replace(e,function(p){var j=h[p];return typeof j==="string"?j:"\\u"+("0000"+p.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+o+'"'}function c(o,p){var j,k,m=f,r,q=p[o];if(q&&typeof q==="object"&&typeof q.toJSON==="function")q=q.toJSON(o);if(typeof g==="function")q=g.call(p,o,q);switch(typeof q){case "string":return b(q);case "number":return isFinite(q)?String(q):"null";case "boolean":case "null":return String(q);case "object":if(!q)return"null";
f+=n;r=[];if(Object.prototype.toString.apply(q)==="[object Array]"){k=q.length;for(o=0;o<k;o+=1)r[o]=c(o,q)||"null";p=r.length===0?"[]":f?"[\n"+f+r.join(",\n"+f)+"\n"+m+"]":"["+r.join(",")+"]";f=m;return p}if(g&&typeof g==="object"){k=g.length;for(o=0;o<k;o+=1){j=g[o];if(typeof j==="string")if(p=c(j,q))r.push(b(j)+(f?": ":":")+p)}}else for(j in q)if(Object.hasOwnProperty.call(q,j))if(p=c(j,q))r.push(b(j)+(f?": ":":")+p);p=r.length===0?"{}":f?"{\n"+f+r.join(",\n"+f)+"\n"+m+"}":"{"+r.join(",")+"}";
f=m;return p}}if(typeof Date.prototype.toJSON!=="function"){Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+a(this.getUTCMonth()+1)+"-"+a(this.getUTCDate())+"T"+a(this.getUTCHours())+":"+a(this.getUTCMinutes())+":"+a(this.getUTCSeconds())+"Z":null};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()}}var d=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
e=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,f,n,h={"\u0008":"\\b","\t":"\\t","\n":"\\n","\u000c":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},g;if(typeof JSON.stringify!=="function")JSON.stringify=function(o,p,j){var k;n=f="";if(typeof j==="number")for(k=0;k<j;k+=1)n+=" ";else if(typeof j==="string")n=j;if((g=p)&&typeof p!=="function"&&(typeof p!=="object"||typeof p.length!=="number"))throw new Error("JSON.stringify");return c("",
{"":o})};if(typeof JSON.parse!=="function")JSON.parse=function(o,p){function j(k,m){var r,q,x=k[m];if(x&&typeof x==="object")for(r in x)if(Object.hasOwnProperty.call(x,r)){q=j(x,r);if(q!==undefined)x[r]=q;else delete x[r]}return p.call(k,m,x)}d.lastIndex=0;if(d.test(o))o=o.replace(d,function(k){return"\\u"+("0000"+k.charCodeAt(0).toString(16)).slice(-4)});if(/^[\],:{}\s]*$/.test(o.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){o=eval("("+o+")");return typeof p==="function"?j({"":o},""):o}throw new SyntaxError("JSON.parse");}})();FB.provide("JSON",{stringify:function(a){return window.Prototype&&Object.toJSON?Object.toJSON(a):JSON.stringify(a)},parse:function(a){return JSON.parse(a)},flatten:function(a){var b={};for(var c in a)if(a.hasOwnProperty(c)){var d=a[c];null===d||undefined===d||(b[c]=typeof d=="string"?d:FB.JSON.stringify(d))}return b}});
FB.provide("",{api:function(a,b){if(FB.Auth&&a.method.toLowerCase()=="auth.revokeauthorization"){var c=b;b=function(e){e===true&&FB.Auth.setSession(null,"notConnected");c&&c(e)}}a=FB.JSON.flatten(a);try{FB.RestServer.jsonp(a,b)}catch(d){if(FB.Flash.hasMinVersion())FB.RestServer.flash(a,b);else throw new Error("Flash is required for this API call.");}}});
FB.provide("RestServer",{_callbacks:{},sign:function(a){FB.copy(a,{api_key:FB._apiKey,call_id:(new Date).getTime(),format:"json",sdk:"joey",v:"1.0"});FB._session&&FB.copy(a,{session_key:FB._session.session_key,ss:1});if(FB._session)a.sig=FB.md5sum(FB.QS.encode(a,"",false)+FB._session.secret);return a},jsonp:function(a,b){var c=FB.guid(),d=document.createElement("script");a=FB.RestServer.sign(FB.copy({callback:"FB.RestServer._callbacks."+c},a));a=FB._domain.api+"restserver.php?"+FB.QS.encode(a);if(a.length>
2E3)throw new Error("JSONP only support a maximum of 2000 bytes of input.");FB.RestServer._callbacks[c]=function(e){b&&b(e);delete FB.RestServer._callbacks[c];d.parentNode.removeChild(d)};d.src=a;document.getElementsByTagName("head")[0].appendChild(d)},flash:function(a,b){if(!FB.RestServer.flash._init){window.FB_OnXdHttpResult=function(c,d){FB.RestServer._callbacks[c](decodeURIComponent(d))};FB.RestServer.flash._init=true}FB.Flash.onReady(function(){var c,d,e,f;e=FB.QS.encode(FB.RestServer.sign(FB.copy({},
a)));d=FB._domain.api+"restserver.php";if(d.length+e.length>2E3)c="POST";else{c="GET";d+="?"+e;e=""}f=document.XdComm.sendXdHttpRequest(c,d,e,null);FB.RestServer._callbacks[f]=function(n){b(FB.JSON.parse(n));delete FB.RestServer._callbacks[f]}})}});
FB.provide("EventProvider",{subscribers:function(){if(!this._subscribersMap)this._subscribersMap={};return this._subscribersMap},subscribe:function(a,b){var c=this.subscribers();if(c[a])c[a].push(b);else c[a]=[b]},unsubscribe:function(a,b){var c=this.subscribers()[a];FB.Array.forEach(c,function(d,e){if(d==b)c[e]=null})},monitor:function(a,b){if(!b()){var c=this,d=function(){b.apply(b,arguments)&&c.unsubscribe(a,d)};this.subscribe(a,d)}},clear:function(a){delete this.subscribers()[a]},fire:function(){var a=
Array.prototype.slice.call(arguments),b=a.shift();FB.Array.forEach(this.subscribers()[b],function(c){c&&c.apply(this,a)})}});FB.provide("Event",FB.EventProvider);
FB.provide("Intl",{_punctCharClass:"[.!?\u3002\uff01\uff1f\u0964\u2026\u0eaf\u1801\u0e2f\uff0e]",_endsInPunct:function(a){if(typeof a!="string")return false;return a.match(new RegExp(FB.Intl._punctCharClass+"[)\"'\u00bb\u0f3b\u0f3d\u2019\u201d\u203a\u3009\u300b\u300d\u300f\u3011\u3015\u3017\u3019\u301b\u301e\u301f\ufd3f\uff07\uff09\uff3ds]*$"))},_tx:function(a,b){if(b!==undefined)if(typeof b!="object")FB.log("The second arg to FB.Intl._tx() must be an Object for tx("+a+", ...)");else{var c;for(var d in b)if(b.hasOwnProperty(d)){c=
FB.Intl._endsInPunct(b[d])?new RegExp("{"+d+"}"+FB.Intl._punctCharClass+"*","g"):new RegExp("{"+d+"}","g");a=a.replace(c,b[d])}}return a},tx:function(a,b){if(!FB.Intl._stringTable)return null;return FBIntern.Intl._tx(FB.Intl._stringTable[a],b)}});
FB.provide("String",{trim:function(a){return a.replace(/^\s*|\s*$/g,"")},format:function(a){if(!FB.String.format._formatRE)FB.String.format._formatRE=/(\{[^\}^\{]+\})/g;var b=arguments;return a.replace(FB.String.format._formatRE,function(c,d){c=parseInt(d.substr(1),10);c=b[c+1];if(c===null||c===undefined)return"";return c.toString()})},quote:function(a){var b=/["\\\x00-\x1f\x7f-\x9f]/g,c={"\u0008":"\\b","\t":"\\t","\n":"\\n","\u000c":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};return b.test(a)?'"'+a.replace(b,
function(d){var e=c[d];if(e)return e;e=d.charCodeAt();return"\\u00"+Math.floor(e/16).toString(16)+(e%16).toString(16)})+'"':'"'+a+'"'}});
FB.provide("Dom",{containsCss:function(a,b){return(" "+a.className+" ").indexOf(" "+b+" ")>=0},addCss:function(a,b){if(!FB.Dom.containsCss(a,b))a.className=a.className+" "+b},removeCss:function(a,b){if(FB.Dom.containsCss(a,b)){a.className=a.className.replace(b,"");FB.Dom.removeCss(a,b)}},getStyle:function(a,b){var c=false,d=a.style;if(b=="opacity"){if(d.opacity)return d.opacity*100;if(d.MozOpacity)return d.MozOpacity*100;if(d.KhtmlOpacity)return d.KhtmlOpacity*100;if(d.filters)return d.filters.alpha.opacity;
return 0}else if(a.currentStyle){FB.Array.forEach(/\-([a-z])/.exec(b),function(e){b=b.replace("-"+e,e.toUpperCase())});c=a.currentStyle[b]}else{FB.Array.forEach(/([A-Z])/.exec(b),function(e){b=b.replace(e,"-"+e.toLowerCase())});if(window.getComputedStyle){c=document.defaultView.getComputedStyle(a,null).getPropertyValue(b);if(b=="background-position-y"||b=="background-position-x")if(c=="top"||c=="left")c="0px"}}return c},setStyle:function(a,b,c){a=a.style;if(b=="opacity"){if(c>=100)c=99.999;if(c<0)c=
0;a.opacity=c/100;a.MozOpacity=c/100;a.KhtmlOpacity=c/100;if(a.filters)a.filters.alpha.opacity=c}else a[b]=c},addScript:function(a){var b=document.createElement("script");b.type="text/javascript";b.src=a;return document.getElementsByTagName("HEAD")[0].appendChild(b)},addCssRules:function(a,b){if(!FB.Dom._cssRules)FB.Dom._cssRules={};var c=true;FB.Array.forEach(b,function(e){if(!(e in FB.Dom._cssRules)){c=false;FB.Dom._cssRules[e]=true}});if(!c)if(FB.Dom.getBrowserType()!="ie"){b=document.createElement("style");
b.type="text/css";b.textContent=a;document.getElementsByTagName("HEAD")[0].appendChild(b)}else try{document.createStyleSheet().cssText=a}catch(d){if(document.styleSheets[0])document.styleSheets[0].cssText+=a}},getBrowserType:function(){if(!FB.Dom._browserType)for(var a=window.navigator.userAgent.toLowerCase(),b=["msie","firefox","safari","gecko"],c=["ie","mozilla","safari","mozilla"],d=0;d<b.length;d++)if(a.indexOf(b[d])>=0){FB.Dom._browserType=c[d];break}return FB.Dom._browserType},getViewportInfo:function(){var a=
document.documentElement&&document.compatMode=="CSS1Compat"?document.documentElement:document.body;return{scrollTop:a.scrollTop,scrollLeft:a.scrollLeft,width:self.innerWidth?self.innerWidth:a.clientWidth,height:self.innerHeight?self.innerHeight:a.clientHeight}},ready:function(a){FB.Dom._isReady?a():FB.Event.subscribe("dom.ready",a)}});
(function(){function a(){FB.Dom._isReady=true;FB.Event.fire("dom.ready");FB.Event.clear("dom.ready")}if(FB.Dom._isReady||document.readyState=="complete")return a();if(document.addEventListener)document.addEventListener("DOMContentLoaded",a,false);else document.attachEvent&&document.attachEvent("onreadystatechange",a);FB.Dom.getBrowserType()=="ie"&&window===top&&function(){try{document.documentElement.doScroll("left")}catch(c){setTimeout(arguments.callee,0);return}a()}();var b=window.onload;window.onload=
function(){a();if(b)typeof b=="string"?eval(b):b()}})();
FB.provide("Dialog",{_loaderEl:null,_stack:[],_active:null,_findRoot:function(a){for(;a;){if(FB.Dom.containsCss(a,"fb_dialog"))return a;a=a.parentNode}},_showLoader:function(a){if(!FB.Dialog._loaderEl)FB.Dialog._loaderEl=FB.Dialog._findRoot(FB.Dialog.create({content:'<div class="fb_dialog_loader">'+FB.Intl._tx("Loading...")+'<a id="fb_dialog_loader_close"></a></div>'}));var b=FB.$("fb_dialog_loader_close");if(a){FB.Dom.removeCss(b,"fb_hidden");b.onclick=function(){FB.Dialog._hideLoader();a()}}else{FB.Dom.addCss(b,
"fb_hidden");b.onclick=null}FB.Dialog._makeActive(FB.Dialog._loaderEl)},_hideLoader:function(){if(FB.Dialog._loaderEl&&FB.Dialog._loaderEl==FB.Dialog._active)FB.Dialog._loaderEl.style.top="-10000px"},_makeActive:function(a){FB.Dialog._lowerActive();var b={width:parseInt(a.offsetWidth,10),height:parseInt(a.offsetHeight,10)},c=FB.Dom.getViewportInfo(),d=c.scrollLeft+(c.width-b.width)/2;b=c.scrollTop+(c.height-b.height)/2.5;a.style.left=(d>0?d:0)+"px";a.style.top=(b>0?b:0)+"px";FB.Dialog._active=a},
_lowerActive:function(){if(FB.Dialog._active){FB.Dialog._active.style.top="-10000px";FB.Dialog._active=null}},_removeStacked:function(a){FB.Dialog._stack=FB.Array.filter(FB.Dialog._stack,function(b){return b!=a})},create:function(a){a=a||{};a.loader&&FB.Dialog._showLoader(a.onClose);var b=document.createElement("div"),c=document.createElement("div"),d="fb_dialog";if(a.closeIcon&&a.onClose){var e=document.createElement("a");e.className="fb_dialog_close_icon";e.onclick=a.onClose;b.appendChild(e)}if(FB.Dom.getBrowserType()==
"ie"){d+=" fb_dialog_legacy";FB.Array.forEach(["vert_left","vert_right","horiz_top","horiz_bottom","top_left","top_right","bottom_left","bottom_right"],function(f){var n=document.createElement("span");n.className="fb_dialog_"+f;b.appendChild(n)})}else d+=" fb_dialog_advanced";a.content&&FB.Content.append(a.content,c);b.className=d;c.className="fb_dialog_content";b.appendChild(c);FB.Content.append(b);a.visible&&FB.Dialog.show(b);return c},show:function(a){if(a=FB.Dialog._findRoot(a)){FB.Dialog._removeStacked(a);
FB.Dialog._hideLoader();FB.Dialog._makeActive(a);FB.Dialog._stack.push(a)}},remove:function(a){if(a=FB.Dialog._findRoot(a)){var b=FB.Dialog._active==a;FB.Dialog._removeStacked(a);if(b)FB.Dialog._stack.length>0?FB.Dialog.show(FB.Dialog._stack.pop()):FB.Dialog._lowerActive();window.setTimeout(function(){a.parentNode.removeChild(a)},3E3)}}});
FB.provide("XD",{_origin:null,_transport:null,_callbacks:{},_forever:{},init:function(){if(!FB.XD._origin)if(window.addEventListener&&window.postMessage){FB.XD._origin=window.location.protocol+"//"+window.location.host+"/"+FB.guid();FB.XD.PostMessage.init();FB.XD._transport="postmessage"}else if(FB.Flash.hasMinVersion()){FB.XD._origin=window.location.protocol+"//"+document.domain+"/"+FB.guid();FB.XD.Flash.init();FB.XD._transport="flash"}else FB.XD._transport="fragment"},resolveRelation:function(a){for(var b,
c,d=a.split("."),e=window,f=0,n=d.length;f<n;f++){b=d[f];if(b==="opener"||b==="parent"||b==="top")e=e[b];else if(c=/^frames\[['"]?([a-zA-Z0-9-_]+)['"]?\]$/.exec(b))e=e.frames[c[1]];else throw new SyntaxError("Malformed id to resolve: "+a+", pt: "+b);}return e},handler:function(a,b,c){FB.XD.init();var d=FB._domain.cdn+"connect/xd_proxy.php#?=&",e=FB.guid();if(FB.XD._transport=="fragment"){d=window.location.toString();var f=d.indexOf("#");if(f>0)d=d.substr(0,f);d+=d.indexOf("?")<0?"?":"&";d+="fb_xd_bust#?=&"+
FB.XD.Fragment._magic+"&"}if(c)FB.XD._forever[e]=true;FB.XD._callbacks[e]=a;return d+FB.QS.encode({cb:e,origin:FB.XD._origin,relation:b||"opener",transport:FB.XD._transport})},recv:function(a){if(typeof a=="string")a=FB.QS.decode(a);var b=FB.XD._callbacks[a.cb];FB.XD._forever[a.cb]||delete FB.XD._callbacks[a.cb];b&&b(a)},PostMessage:{init:function(){var a=FB.XD.PostMessage.onMessage;window.addEventListener?window.addEventListener("message",a,false):window.attachEvent("onmessage",a)},onMessage:function(a){FB.XD.recv(a.data)}},
Flash:{init:function(){FB.Flash.onReady(function(){document.XdComm.postMessage_init("FB.XD.Flash.onMessage",FB.XD._origin)})},onMessage:function(a){FB.XD.recv(decodeURIComponent(a))}},Fragment:{_magic:"fb_xd_fragment",checkAndDispatch:function(){var a=window.location.toString();a=a.substr(a.indexOf("#")+1);var b=a.indexOf(FB.XD.Fragment._magic);if(b>0){FB.init=FB.getLoginStatus=FB.api=function(){};document.body.style.display="none";a=a.substr(b+FB.XD.Fragment._magic.length);b=FB.QS.decode(a);FB.XD.resolveRelation(b.relation).FB.XD.recv(a)}}}});
FB.XD.Fragment.checkAndDispatch();FB.provide("",{ui:function(a,b){if(a.method){if(a=FB.UIServer.prepareCall(a,b)){b=a.params.display;if(b=="dialog")b="iframe";(b=FB.UIServer[b])?b(a):FB.log('"display" must be one of "popup", "iframe" or "hidden".')}}else FB.log('"method" is a required parameter for FB.ui().')}});
FB.provide("UIServer",{Methods:{},_active:{},_defaultCb:{},_resultToken:'"xxRESULTTOKENxx"',genericTransform:function(a){if(a.params.display=="dialog"){a.params.display="iframe";a.params.channel=FB.UIServer._xdChannelHandler(a.id,"parent.parent")}return a},prepareCall:function(a,b){var c=FB.UIServer.Methods[a.method.toLowerCase()],d=FB.guid();if(c){FB.copy(a,{api_key:FB._apiKey,display:FB._session?"dialog":"popup",locale:FB._locale,sdk:"joey",session_key:FB._session&&FB._session.session_key});if(!FB._session&&
a.display=="dialog"&&!c.loggedOutIframe){FB.log('"dialog" mode can only be used when the user is connected.');a.display="popup"}a={cb:b,id:d,size:c.size||{},url:FB._domain.www+c.url,params:a};if(c.transform){a=c.transform(a);if(!a)return}c=a.params.display=="popup"?"opener":"parent";if(!(a.id in FB.UIServer._defaultCb)&&!("next"in a.params))a.params.next=FB.UIServer._xdResult(a.cb,a.id,c,true);if(c==="parent")a.params.channel_url=FB.UIServer._xdChannelHandler(d,"parent.parent");d=FB.QS.encode(FB.JSON.flatten(a.params));
if((a.url+d).length>2E3)a.post=true;else if(d)a.url+="?"+d;return a}else FB.log('"'+a.method+'" is an unknown method.')},popup:function(a){var b=typeof window.screenY!="undefined"?window.screenY:window.screenTop,c=typeof window.outerHeight!="undefined"?window.outerHeight:document.body.clientHeight-22,d=a.size.width,e=a.size.height,f=parseInt((typeof window.screenX!="undefined"?window.screenX:window.screenLeft)+((typeof window.outerWidth!="undefined"?window.outerWidth:document.body.clientWidth)-d)/
2,10);b=parseInt(b+(c-e)/2.5,10);d="width="+d+",height="+e+",left="+f+",top="+b;if(a.post){FB.UIServer._active[a.id]=window.open("about:blank",a.id,d);FB.Content.postTarget({url:a.url,target:a.id,params:a.params})}else FB.UIServer._active[a.id]=window.open(a.url,a.id,d);a.id in FB.UIServer._defaultCb&&FB.UIServer._popupMonitor()},hidden:function(a){a.className="FB_UI_Hidden";a.root=FB.Content.appendHidden("");FB.UIServer._insertIframe(a)},iframe:function(a){a.className="FB_UI_Dialog";a.root=FB.Dialog.create({onClose:function(){FB.UIServer._triggerDefault(a.id)},
loader:true,closeIcon:true});FB.Dom.addCss(a.root,"fb_dialog_iframe");FB.UIServer._insertIframe(a)},_insertIframe:function(a){a.post?FB.Content.insertIframe({url:"about:blank",root:a.root,className:a.className,width:a.size.width,height:a.size.height,onload:function(b){FB.UIServer._active[a.id]=b;FB.Content.postTarget({url:a.url,target:b.name,params:a.params})}}):FB.Content.insertIframe({url:a.url,root:a.root,className:a.className,width:a.size.width,height:a.size.height,onload:function(b){FB.UIServer._active[a.id]=
b}})},_triggerDefault:function(a){FB.UIServer._xdRecv({frame:a},FB.UIServer._defaultCb[a]||function(){})},_popupMonitor:function(){var a;for(var b in FB.UIServer._active)if(FB.UIServer._active.hasOwnProperty(b)&&b in FB.UIServer._defaultCb){var c=FB.UIServer._active[b];try{if(c.tagName)continue}catch(d){}try{if(c.closed)FB.UIServer._triggerDefault(b);else a=true}catch(e){}}if(a&&!FB.UIServer._popupInterval)FB.UIServer._popupInterval=window.setInterval(FB.UIServer._popupMonitor,100);else if(!a&&FB.UIServer._popupInterval){window.clearInterval(FB.UIServer._popupInterval);
FB.UIServer._popupInterval=null}},_xdChannelHandler:function(a,b){return FB.XD.handler(function(c){var d=FB.UIServer._active[a];if(d)if(c.type=="resize"){if(c.height)d.style.height=c.height+"px";if(c.width)d.style.width=c.width+"px";FB.Dialog.show(d)}},b,true)},_xdNextHandler:function(a,b,c,d){if(d)FB.UIServer._defaultCb[b]=a;return FB.XD.handler(function(e){FB.UIServer._xdRecv(e,a)},c)+"&frame="+b},_xdRecv:function(a,b){var c=FB.UIServer._active[a.frame];try{if(FB.Dom.containsCss(c,"FB_UI_Hidden"))window.setTimeout(function(){c.parentNode.parentNode.removeChild(c.parentNode)},
3E3);else FB.Dom.containsCss(c,"FB_UI_Dialog")&&FB.Dialog.remove(c)}catch(d){}try{if(c.close){c.close();FB.UIServer._popupCount--}}catch(e){}delete FB.UIServer._active[a.frame];delete FB.UIServer._defaultCb[a.frame];b(a)},_xdResult:function(a,b,c,d){return FB.UIServer._xdNextHandler(function(e){a&&a(e.result&&e.result!=FB.UIServer._resultToken&&JSON.parse(e.result))},b,c,d)+"&result="+encodeURIComponent(FB.UIServer._resultToken)}});
FB.provide("",{getLoginStatus:function(a,b){if(FB._apiKey){if(a)if(!b&&FB.Auth._loadState=="loaded"){a({status:FB._userStatus,session:FB._session});return}else FB.Event.subscribe("FB.loginStatus",a);if(!(!b&&FB.Auth._loadState=="loading")){FB.Auth._loadState="loading";FB.ui({method:"auth.status",display:"hidden"},function(c){FB.Auth._loadState="loaded";FB.Event.fire("FB.loginStatus",c);FB.Event.clear("FB.loginStatus")})}}else FB.log("FB.getLoginStatus() called before calling FB.init().")},getSession:function(){return FB._session},
login:function(a,b){b=FB.copy({method:"auth.login",display:"popup"},b||{});FB.ui(b,a)},logout:function(a){FB.ui({method:"auth.logout",display:"hidden"},a)}});
FB.provide("Auth",{_callbacks:[],setSession:function(a,b){var c=!FB._session&&a,d=FB._session&&!a,e=FB._session&&a&&FB._session.uid!=a.uid,f=c||d||FB._session&&a&&FB._session.session_key!=a.session_key,n=b!=FB._userStatus,h={session:a,status:b};FB._session=a;FB._userStatus=b;f&&FB.Cookie&&FB.Cookie.getEnabled()&&FB.Cookie.set(a);n&&FB.Event.fire("auth.statusChange",h);if(d||e)FB.Event.fire("auth.logout",h);if(c||e)FB.Event.fire("auth.login",h);f&&FB.Event.fire("auth.sessionChange",h);return h},xdHandler:function(a,
b,c,d,e,f){return FB.UIServer._xdNextHandler(function(n){try{f=FB.JSON.parse(n.session)}catch(h){}var g=FB.Auth.setSession(f||null,e);g.perms=n.result!="xxRESULTTOKENxx"&&n.result||"";a&&a(g)},b,c,d)+"&result=xxRESULTTOKENxx"}});
FB.provide("UIServer.Methods",{"auth.login":{size:{width:627,height:326},url:"login.php",transform:function(a){if(FB._apiKey)if(FB._session&&!a.params.perms){FB.log("FB.login() called when user is already connected.");a.cb&&a.cb({status:FB._userStatus,session:FB._session})}else{var b=FB.Auth.xdHandler,c=a.cb,d=a.id,e=FB._session,f=b(c,d,"opener",true,FB._userStatus,e);b=b(c,d,"opener",false,"connected",e);FB.copy(a.params,{cancel_url:f,channel_url:window.location.toString(),next:b,fbconnect:1,req_perms:a.params.perms,
enable_profile_selector:a.params.enable_profile_selector,profile_selector_ids:a.params.profile_selector_ids,return_session:1,session_version:3,v:"1.0"});delete a.cb;delete a.params.perms;return a}else FB.log("FB.login() called before calling FB.init().")}},"auth.logout":{url:"logout.php",transform:function(a){if(FB._apiKey)if(FB._session){a.params.next=FB.Auth.xdHandler(a.cb,a.id,"parent",false,"unknown");return a}else FB.log("FB.logout() called without a session.");else FB.log("FB.logout() called before calling FB.init().")}},
"auth.status":{url:"extern/login_status.php",transform:function(a){var b=a.cb,c=a.id,d=FB.Auth.xdHandler;delete a.cb;FB.copy(a.params,{no_session:d(b,c,"parent",false,"notConnected"),no_user:d(b,c,"parent",false,"unknown"),ok_session:d(b,c,"parent",false,"connected"),session_version:3});return a}}});
FB.provide("Cookie",{_domain:null,_enabled:false,setEnabled:function(a){FB.Cookie._enabled=a},getEnabled:function(){return FB.Cookie._enabled},load:function(){var a=document.cookie.match("\\bfbs_"+FB._apiKey+'="([^;]*)\\b'),b;if(a){b=FB.QS.decode(a[1]);b.expires=parseInt(b.expires,10);FB.Cookie._domain=b.base_domain}return b},setRaw:function(a,b,c){document.cookie="fbs_"+FB._apiKey+'="'+a+'"'+(a&&b==0?"":"; expires="+(new Date(b*1E3)).toGMTString())+"; path=/"+(c?"; domain=."+c:"");FB.Cookie._domain=
c},set:function(a){a?FB.Cookie.setRaw(FB.QS.encode(a),a.expires,a.base_domain):FB.Cookie.clear()},clear:function(){FB.Cookie.setRaw("",0,FB.Cookie._domain)}});
FB.provide("",{init:function(a){FB.copy(a,{logging:true});FB._apiKey=a.appId||a.apiKey;if(!a.logging&&window.location.toString().indexOf("fb_debug=1")<0)FB._logging=false;if(FB._apiKey){FB.Cookie.setEnabled(a.cookie);a.session=a.session||FB.Cookie.load();FB.Auth.setSession(a.session,a.session?"connected":"unknown");a.status&&FB.getLoginStatus()}a.xfbml&&window.setTimeout(function(){FB.XFBML&&FB.Dom.ready(FB.XFBML.parse)},0)}});window.setTimeout(function(){window.fbAsyncInit&&fbAsyncInit()},0);
FB.provide("UIServer.Methods",{"friends.add":{size:{width:575,height:240},url:"connect/uiserver.php",transform:FB.UIServer.genericTransform},"stream.publish":{size:{width:575,height:240},url:"connect/prompt_feed.php",transform:function(a){var b=a.cb;a.cb=function(c){if(c)c=c.postId?{post_id:c.postId}:null;b&&b(c)};a.params.callback=FB.UIServer._xdResult(a.cb,a.id,a.params.display=="popup"?"opener":"parent",true);return a}},"stream.share":{size:{width:575,height:380},url:"sharer.php",transform:function(a){if(!a.params.u)a.params.u=
window.location.toString();return a}},"fbml.dialog":{size:{width:575,height:300},url:"render_fbml.php",loggedOutIframe:true},"bookmark.add":{size:{width:460,height:226},url:"connect/uiserver.php",transform:FB.UIServer.genericTransform},"profile.addtab":{size:{width:460,height:226},url:"connect/uiserver.php",transform:FB.UIServer.genericTransform}});
FB.provide("",{_domain:{api:"https://api.facebook.com/",cdn:"http://static.ak.fbcdn.net/",graph:"https://graph.facebook.com/",www:"http://www.facebook.com/"},_locale:"en_US"},true);FB.provide("Flash",{_minVersions:[[9,0,159,0],[10,0,22,87]],_swfPath:"rsrc.php/z6D2S/hash/c729bxo3.swf"},true);
FB.Dom&&FB.Dom.addCssRules&&FB.Dom.addCssRules('.fb_hidden{position:absolute;top:-10000px;z-index:10001}\n.fb_reset{background:none;border-spacing:0;border:0;color:#000;cursor:auto;direction:ltr;font-family:"lucida grande", tahoma, verdana, arial, sans-serif;font-size:11px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:1;margin:0;overflow:visible;padding:0;text-align:left;text-decoration:none;text-indent:0;text-shadow:none;text-transform:none;visibility:visible;white-space:normal;word-spacing:normal}\n.fb_link img{border:none}\n.fb_dialog{position:absolute;top:-10000px;z-index:10001}\n.fb_dialog_advanced{background:rgba(82, 82, 82, .7);padding:10px;-moz-border-radius:8px;-webkit-border-radius:8px}\n.fb_dialog_content{background:#fff;color:#333}\n.fb_dialog_close_icon{background:url(http://static.ak.fbcdn.net/rsrc.php/zA63Q/hash/8o4lssjn.gif) no-repeat scroll 3px 0 transparent;cursor:pointer;display:block;height:16px;position:absolute;right:19px;top:18px;width:14px;top:10px\\9;right:7px\\9}\n.fb_dialog_close_icon:hover{background:url(http://static.ak.fbcdn.net/rsrc.php/zA63Q/hash/8o4lssjn.gif) no-repeat scroll -10px 0 transparent}\n.fb_dialog_loader{background-color:#f2f2f2;border:1px solid #606060;font-size:24px;padding:20px}\n#fb_dialog_loader_close{background:url(http://static.ak.fbcdn.net/rsrc.php/z2APY/hash/41s5ptdj.gif) no-repeat scroll left top transparent;cursor:pointer;display:-moz-inline-block;display:inline-block;height:9px;margin-left:20px;position:relative;vertical-align:middle;width:9px}\n#fb_dialog_loader_close:hover{background-image:url(http://static.ak.fbcdn.net/rsrc.php/z7ZL1/hash/bf2f4q72.png)}\n.fb_dialog_top_left,\n.fb_dialog_top_right,\n.fb_dialog_bottom_left,\n.fb_dialog_bottom_right{height:10px;width:10px;overflow:hidden;position:absolute}\n.fb_dialog_top_left{background:url(http://static.ak.fbcdn.net/rsrc.php/zEYDZ/hash/4xk9rts8.png) no-repeat 0 0;left:-10px;top:-10px}\n.fb_dialog_top_right{background:url(http://static.ak.fbcdn.net/rsrc.php/zEYDZ/hash/4xk9rts8.png) no-repeat 0 -10px;right:-10px;top:-10px}\n.fb_dialog_bottom_left{background:url(http://static.ak.fbcdn.net/rsrc.php/zEYDZ/hash/4xk9rts8.png) no-repeat 0 -20px;bottom:-10px;left:-10px}\n.fb_dialog_bottom_right{background:url(http://static.ak.fbcdn.net/rsrc.php/zEYDZ/hash/4xk9rts8.png) no-repeat 0 -30px;right:-10px;bottom:-10px}\n.fb_dialog_vert_left,\n.fb_dialog_vert_right,\n.fb_dialog_horiz_top,\n.fb_dialog_horiz_bottom{position:absolute;background:#525252;filter:alpha(opacity=70);opacity:.7}\n.fb_dialog_vert_left,\n.fb_dialog_vert_right{width:10px;height:100%}\n.fb_dialog_vert_left{margin-left:-10px}\n.fb_dialog_vert_right{right:0;margin-right:-10px}\n.fb_dialog_horiz_top,\n.fb_dialog_horiz_bottom{width:100%;height:10px}\n.fb_dialog_horiz_top{margin-top:-10px}\n.fb_dialog_horiz_bottom{bottom:0;margin-bottom:-10px}\n.fb_dialog_iframe{line-height:0}',["fb.css.base",
"fb.css.dialog"]);
var Delegator={subscribers:{},listen:function(a,b,c,d){if(typeof a==="string"){d=c;c=b;b=a}else{if(!a.id)a.id="d-"+(Math.random()*1073741824).toString(16).replace(".","");var e="#"+a.id;if(arguments.length===4)b=e+" "+b;else{d=c;c=b;b=e}}if(document.attachEvent)if(c==="focus")c="focusin";else if(c==="blur")c="focusout";if(c==="submit"){Delegator.ensure("click");Delegator.ensure("keypress");if(!Delegator.subscribers.submit)Delegator.subscribers.submit=[]}else Delegator.ensure(c);e=b.split(/\s*,\s*/);
for(var f=0,n=e.length;f<n;f++)Delegator.subscribers[c].push({rule:e[f],handler:d})},ensure:function(a){if(!(a in Delegator.subscribers)){document.addEventListener?document.addEventListener(a,Delegator.handler(a),true):document.attachEvent("on"+a,Delegator.handler(a));Delegator.subscribers[a]=[]}},handler:function(a){return function(b){Delegator.dispatch(a,b||window.event)}},dispatch:function(a,b){if(!b.preventDefault){b.preventDefault=function(){b.returnValue=false};b.stopPropagation=function(){b.cancelBubble=
true};b.target=b.srcElement}var c=b.target,d=Delegator.subscribers[a],e=d.length,f=false,n=false,h=a==="click";a=a==="keycode"&&b.keyCode==13;for(var g=[];c;){var o;try{o={id:c.id,className:c.className,tagName:c.tagName,type:c.type}}catch(p){return}if((f=f||h&&(o.type==="submit"||o.type==="image")||a&&(o.type==="text"||o.type==="password"))&&!n&&o.tagName==="FORM"){Delegator.dispatch("submit",b);n=true}for(var j=0;j<e;j++){var k=d[j];if(!k.compiled)k.compiled=Delegator.compile(k.rule);var m=typeof g[j]===
"undefined"?(g[j]={index:k.compiled.length-1}):g[j];if(!(m.index<0)){var r=k.compiled[m.index];if((!r.id||r.id===o.id)&&(!r.tagName||r.tagName===o.tagName)&&(r.className.length===0||Delegator.matchClasses(o.className,r.className))){--m.index;if(!m.node)m.node=c;m.index===-1&&k.handler.call(m.node,b)}}}c=c.parentNode}},regexpCache:{},matchClasses:function(a,b){for(var c=0,d=b.length;c<d;c++){var e="(?:^|\\s+)"+b[c]+"(?:\\s+|$)";Delegator.regexpCache[e]||(Delegator.regexpCache[e]=new RegExp(e));if(!Delegator.regexpCache[e].test(a))return false}return true},
compile:function(a){a=Delegator.split(a);for(var b=[],c,d=0,e=a.length;d<e;d++){var f=a[d];c||(c={tagName:null,id:null,className:[]});switch(f){case "":break;case "#":c.id=a[++d];break;case ".":c.className.push(a[++d]);break;case " ":b.push(c);c=null;break;default:c.tagName=f.toUpperCase()}}c&&b.push(c);return b},_compliantCG:/()??/.exec("")[1]===undefined,split:function(a){for(var b=/(#|\.| )/g,c=/^(#|\.| )$(?!\s)/g,d=[],e=0,f,n,h;f=b.exec(a);){n=f.index+f[0].length;if(n>e){d.push(a.slice(e,f.index));
!Delegator._compliantCG&&f.length>1&&f[0].replace(c,function(){for(var g=1;g<arguments.length-2;g++)if(arguments[g]===undefined)f[g]=undefined});f.length>1&&f.index<a.length&&Array.prototype.push.apply(d,f.slice(1));h=f[0].length;e=n}b.lastIndex===f.index&&b.lastIndex++}if(e===a.length){if(!b.test("")||h)d.push("")}else d.push(a.slice(e));return d}},Herstory={current:undefined,callback:undefined,iframe:undefined,safari:/webkit/.test(navigator.userAgent.toLowerCase()),msie:/msie/.test(navigator.userAgent.toLowerCase())&&
!/opera/.test(navigator.userAgent.toLowerCase()),init:function(a,b,c){Herstory.current=location.hash.replace(/\?.*$/,"");Herstory.callback=a;if(Herstory.msie){if(Herstory.current==="")Herstory.current="#";a=document.body.appendChild(document.createElement("div"));a.innerHTML='<iframe style="display: none;"'+(b?' src="'+b+'"':"")+"></iframe>";Herstory.iframe=a.firstChild;b=Herstory.iframe.contentWindow.document;b.open();b.close();b.location.hash=Herstory.current;if(typeof c=="undefined"||c)document.attachEvent("onclick",
function(d){if(Herstory.handleHrefFragment(d&&d.srcElement&&d.srcElement.href||"")){d.returnValue=false;window.scrollTo(0,0)}})}else if(Herstory.safari){Herstory.rwStack=[];Herstory.rwStack.length=history.length;Herstory.ffStack=[];Herstory.lastLength=history.length;Herstory.isFirst=true}Herstory.callback(Herstory.current.replace(/^#/,""));setInterval(Herstory.check,100)},handleHrefFragment:function(a){var b=a.indexOf("#");if(b<0)return false;else if(b!==0)if(a.charAt(0)=="/"&&a.substr(0,b)!=window.location.path)return false;
else{var c=window.location.href.indexOf("#");c=window.location.href.substr(0,c<0?undefined:c);if(a.substr(0,b)!=c)return false}Herstory.load(a.substr(b+1));return true},add:function(a){Herstory.rwStack.push(a);Herstory.ffStack.length=0;Herstory.isFirst=true},check:function(){if(Herstory.msie){var a=Herstory.iframe;a=(a.contentDocument||a.contentWindow.document).location.hash.replace(/\?.*$/,"");if(a!=Herstory.current){location.hash=a;Herstory.current=a;Herstory.callback(a.replace(/^#/,""))}}else if(Herstory.safari){Herstory.lastLength==
history.length&&Herstory.rwStack.length>Herstory.lastLength&&Herstory.rwStack.shift();if(!Herstory.dontCheck){a=history.length-Herstory.rwStack.length;Herstory.lastLength=history.length;if(a){Herstory.isFirst=false;if(a<0)for(var b=0;b<Math.abs(a);b++)Herstory.ffStack.unshift(Herstory.rwStack.pop());else for(b=0;b<a;b++)Herstory.rwStack.push(Herstory.ffStack.shift());a=Herstory.rwStack[Herstory.rwStack.length-1];if(a!==undefined){Herstory.current=location.hash.replace(/\?.*$/,"");Herstory.callback(a)}}else if(Herstory.rwStack[Herstory.rwStack.length-
1]===undefined&&!Herstory.isFirst){location.hash?Herstory.callback(location.hash.replace(/^#/,"")):Herstory.callback("");Herstory.isFirst=true}}}else{a=location.hash.replace(/\?.*$/,"");if(a!=Herstory.current){Herstory.current=a;Herstory.callback(a.replace(/^#/,""))}}},load:function(a){var b;a=decodeURIComponent(a.replace(/\?.*$/,""));if(Herstory.safari)b=a;else{b="#"+a;location.hash=b}Herstory.current=b;if(Herstory.msie){var c=Herstory.iframe.contentWindow.document;c.open();c.close();c.location.hash=
b;Herstory.lastLength=history.length;Herstory.callback(a)}else if(Herstory.safari){Herstory.dontCheck=true;Herstory.add(a);window.setTimeout(function(){Herstory.dontCheck=false},200);Herstory.callback(a);location.hash=b}else Herstory.callback(a)}},FlashReplace={elmToReplace:null,flashIsInstalled:null,defaultFlashVersion:7,replace:function(a,b,c,d,e,f,n){this.elmToReplace=a.tagName?a:document.getElementById(a);this.flashIsInstalled=this.checkForFlash(f||this.defaultFlashVersion);if(this.elmToReplace&&
this.flashIsInstalled){a="<object"+(window.ActiveXObject?' id="'+c+'" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" data="'+b+'"':"");a+=' width="'+d+'"';a+=' height="'+e+'"';a+=">";f="<param";f+=' name="movie"';f+=' value="'+b+'"';f+=">";f+="";var h="",g="";for(var o in n){h+='<param name="'+o+'" value="'+n[o]+'">';g+=" "+o+'="'+n[o]+'"'}this.elmToReplace.innerHTML=a+f+h+('<embed id="'+c+'" src="'+b+'" type="application/x-shockwave-flash" width="'+d+'" height="'+e+'"')+(g+"></embed>")+"</object>"}},
checkForFlash:function(a){this.flashIsInstalled=false;var b;if(window.ActiveXObject)try{new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+a);this.flashIsInstalled=true}catch(c){}else if(navigator.plugins&&navigator.mimeTypes.length>0)if(b=navigator.plugins["Shockwave Flash"])if(navigator.plugins["Shockwave Flash"].description.replace(/.*\s(\d+\.\d+).*/,"$1")>=a)this.flashIsInstalled=true;return this.flashIsInstalled}},StreamDiff={init:function(){navigator.userAgent.toLowerCase().indexOf("iphone")>
-1&&StreamDiff.DOM.addClass(document.getElementsByTagName("html")[0],"iphone");FB.init({apiKey:"2522fa99e515c8a86ec5bbb879732d85",cookie:true});Delegator.listen("#doc .logout","click",function(){FB.logout(function(){Intro.view()})});Delegator.listen(".share-streamdiff","click",StreamDiff.shareSite);FB.getSession()?StreamDiff.statusReady():FB.getLoginStatus(function(){StreamDiff.statusReady()})},shareSite:function(){FB.ui({method:"stream.publish",message:"Checkout StreamDiff!",attachment:{name:"StreamDiff",
caption:"Just see what's new!",description:"StreamDiff provides an alternate view of your News Feed. It provides a Mark as read feature to bury the old stuff. New Posts, Comments and Like's will show up at the top for immediate consumption!",href:"http://streamdiff.com/",media:[{type:"image",src:"http://streamdiff.com/logo.png",href:"http://streamdiff.com/"}]},action_links:[{text:"StreamDiff",href:"http://streamdiff.com/"}]})},statusReady:function(){Herstory.init(StreamDiff.hashChange,"far/xd.html")},
hashChange:function(a){if(a=="/")Stream.view({});else if(a.indexOf("/profile/")===0){a=a.substr(9).split("/",2);var b=a[1]||0;Stream.view({source_id:a[0],offset:parseInt(b,10)})}else if(a.indexOf("/filter/")===0){a=a.substr(8).split("/",2);var c=a[0];b=a[1]||0;Stream.view({filter_key:c,offset:parseInt(b,10)})}else if(a.indexOf("/details/")===0){a=a.substr(9).split("/",2);c=a[0];b=a[1]||0;Detail.view(c,b)}else Herstory.load("/")},setMainView:function(a){document.getElementById("bd-container").innerHTML=
a;Spinner.hide()},prettyDate:function(a){a=new Date(a*1E3);a=((new Date).getTime()-a.getTime())/1E3;var b=Math.floor(a/86400);if(!(isNaN(b)||b<0))return b===0&&(a<60&&"just now"||a<120&&"1 minute ago"||a<3600&&Math.floor(a/60)+" minutes ago"||a<7200&&"1 hour ago"||a<86400&&Math.floor(a/3600)+" hours ago")||b==1&&"Yesterday"||b<7&&b+" days ago"||b<31&&Math.ceil(b/7)+" weeks ago"||Math.floor(b/30)+" months ago"},linkyText:function(a){return a.replace(/(\b(https?|ftp|file):\/\/[\-A-Z0-9+&@#\/%?=~_|!:,.;]*[\-A-Z0-9+&@#\/%=~_|])/i,
'<a href="$1">$1</a>')},prettyNumber:function(a){a=a.toString();for(var b=/(\d+)(\d{3})/;b.test(a);)a=a.replace(b,"$1,$2");return a},fql:function(a,b){function c(e){if(e.error_code)Intro.view();else{if(d){for(var f={},n=0,h=e.length;n<h;n++)f[e[n].name]=e[n].fql_result_set;e=f}b(e)}}var d=typeof a!="string";d?FB.api({method:"Fql.multiquery",queries:JSON.stringify(a)},c):FB.api({method:"Fql.query",query:a},c)},copy:function(a,b,c){for(var d in b)if(c||!(d in a))a[d]=b[d];return a}},Cache={put:function(a,
b,c){a=FB.getSession().uid+a;b=JSON.stringify({value:b,expires:c?(new Date).getTime()+c*1E3:null});if(window.localStorage)localStorage[a]=b;else if(window.globalStorage)globalStorage[window.location.host][a]=b},get:function(a){a=FB.getSession().uid+a;var b;if(window.localStorage)b=window.localStorage[a];else if(window.globalStorage)b=window.globalStorage[window.location.host][a];if(b){try{b=JSON.parse(b.toString())}catch(c){Cache.remove(a);return null}if(b.expires&&new Date(b.expires)<new Date){Cache.remove(a);
return null}else return b.value}return null},remove:function(a){a=FB.getSession().uid+a;if(window.localStorage)window.localStorage[a]="";else if(window.globalStorage)window.globalStorage[window.location.host][a]=""},clear:function(){if(window.localStorage)window.localStorage.clear();else window.globalStorage&&window.globalStorage.clear()}};
StreamDiff.DOM={regexpCache:{},regexp:function(a){StreamDiff.DOM.regexpCache[a]||(StreamDiff.DOM.regexpCache[a]=new RegExp(a));return StreamDiff.DOM.regexpCache[a]},_classRegexp:function(a){return StreamDiff.DOM.regexp("(?:^|\\s+)"+a+"(?:\\s+|$)")},hasClass:function(a,b){return StreamDiff.DOM._classRegexp(b).test(a.className)},removeClass:function(a,b){if(StreamDiff.DOM.hasClass(a,b)){a.className=a.className.replace(StreamDiff.DOM._classRegexp(b),"");StreamDiff.DOM.removeClass(a,b)}},addClass:function(a,
b){if(!StreamDiff.DOM.hasClass(a,b))a.className=a.className+" "+b},getElementsByClassName:function(a,b){if(a.getElementsByClassName)return a.getElementsByClassName(b);a=a.all?a.all:a.getElementsByTagName("*");for(var c=[],d,e=0,f=a.length;e<f;e++){d=a[e];StreamDiff.DOM.hasClass(d,b)&&c.push(d)}return c}};
var Spinner={show:function(){document.getElementById("spinner").style.display="block"},hide:function(){document.getElementById("spinner").style.display="none"}},Intro={view:function(){FB.getSession()?StreamDiff.fql({user:"SELECT name,pic_square,profile_url FROM user WHERE uid="+FB.getSession().uid,perms:"SELECT read_stream,publish_stream FROM permissions WHERE uid="+FB.getSession().uid},Intro.render):Intro.render()},render:function(a){if(a){UserInfo.render(a.user[0]);if(a.perms[0].publish_stream&&
a.perms[0].read_stream){Stream.view();return}}StreamDiff.setMainView('<div id="intro" class="bd"><div class="what"><p>StreamDiff provides an alternate view of your Facebook News Feed. It provides a <strong>Mark as read</strong> feature to allow focusing on just the new stuff. Comments and Like\'s will make a post fresh again, so you\'ll get all new content as  soon as its created!</p><p>In order to use StreamDiff, you must sign in with your Facebook account and allow access to your stream.</p></div><div class="buttons"><button class="connect" onclick="Intro.connect()">Connect with Facebook</button></div></div>')},
connect:function(){FB.login(function(){Stream.view()},"read_stream,publish_stream")}},UserInfo={render:function(a){if(FB.getSession())if(a){a='<a class="pic" href="#/profile/'+a.id+'"><img src="'+a.pic_square+'"></a><a href="#/profile/'+a.id+'">'+a.name+'</a><br><a class="logout">Logout</a>';Cache.put("userInfo",a)}else{a=Cache.get("userInfo");if(!a)return}else a="";document.getElementById("user-info").innerHTML=a}},Stream={_options:null,defaultOptions:{filter_key:"nf",source_id:null,offset:0,limit:8},
_prefs:null,defaultPrefs:{show_read:true},_profiles:{},_posts:{},_read:{},init:function(){if(!this._initListeners){this._initListeners=true;this._read=Cache.get("markAsRead")||{};this._prefs=Cache.get("prefs")||{};StreamDiff.copy(this._prefs,Stream.defaultPrefs);this.registerUnload();Delegator.listen("#stream .post .action-comment","click",function(){Comments.show(this)});Delegator.listen("#stream .post-comment","submit",function(a){a.preventDefault();Comments.submit(this)});Delegator.listen("#stream .post .action-like",
"click",function(){Stream.like(this)});Delegator.listen("#stream .post .video a","click",function(a){Stream.playVideo(this,a)});Delegator.listen("#stream .post .music a","click",function(a){Stream.playMusic(this,a)});Delegator.listen("#stream .mark-as-read","click",function(){Stream.markAsRead()});Delegator.listen("#stream .show-read","click",function(){Stream.showRead()});Delegator.listen("#stream .hide-read","click",function(){Stream.hideRead()});Delegator.listen("#stream .show-older","click",function(){Stream.showOlder()});
Comments.init()}},registerUnload:function(){var a=window.unload;window.onunload=function(){a&&a();Cache.put("markAsRead",Stream._read);Cache.put("prefs",Stream._prefs)}},view:function(a){a=a||Stream._options;StreamDiff.copy(a,Stream.defaultOptions);Stream._options=a;if(FB.getSession()){UserInfo.render();var b="SELECT post_id,created_time,updated_time,actor_id,target_id,message,attachment,comments,likes FROM stream WHERE ";b+=a.source_id?'source_id="'+a.source_id+'"':'filter_key="'+a.filter_key+'"';
b+=" ORDER BY updated_time DESC LIMIT "+a.limit+" OFFSET "+a.offset;var c=Cache.get(Stream.cacheKey());c?StreamDiff.setMainView(c):Spinner.show();c="SELECT id,type,name,pic,pic_square,url FROM profile WHERE id IN (SELECT actor_id FROM #stream) OR id IN (SELECT target_id FROM #stream) OR id IN (SELECT comments.comment_list.fromid FROM #stream) OR id IN (SELECT likes.friends FROM #stream) OR id IN (SELECT likes.sample FROM #stream) OR id="+FB.getSession().uid;StreamDiff.fql({stream:b,profiles:c},function(d){Stream.render(d,
a)})}else Intro.view()},updateProfiles:function(a){var b=Stream._profiles;i=0;for(l=a.length;i<l;i++){var c=a[i];if(!c.pic_square)c.pic_square="http://static.ak.fbcdn.net/pics/q_silhouette.gif";b[c.id+""]=c}return b},render:function(a,b){Stream.init();var c=a.stream,d=Stream.updateProfiles(a.profiles),e=Stream._read;a={};var f,n;UserInfo.render(d[FB.getSession().uid]);var h=[];f=0;for(n=c.length;f<n;f++){var g=c[f];if(!(!Stream._prefs.show_read&&g.post_id in e&&e[g.post_id]==g.updated_time)){a[g.post_id]=
g;h.push(Stream.renderPost(g,b))}}f=d[b.source_id];d="";e="What's on your mind?";if(f){d='<div class="source-info"><a target="_blank" href="http://www.facebook.com/profile.php?id='+f.id+'"><img src="'+f.pic+'">'+f.name+"</a></div>";e="Write something\u2026";f="StreamDiff \u2014 "+f.name}else f="StreamDiff";document.title=f;if(h.length===0)f=Stream.renderCraving(a,b);else{f=Stream._prefs.show_read?'<button class="hide-read">Hide read posts</button>':'<button class="show-read">View read posts</button>';
f='<ul id="posts">'+h.join("")+'</ul><div class="craving-content"><button class="mark-as-read">Mark as Read</button> '+f+' <button class="show-older">Dig into the archives</button></div>'}c='<div id="stream" class="bd">'+d+Publisher.render(e)+Stream.renderFromTo(c,b)+f+"</div>";d=Stream.cacheKey(b);h.length>0?Cache.put(d,c,3600):Cache.remove(d);if(JSON.stringify(Stream._options)==JSON.stringify(b)){Stream._posts=a;StreamDiff.setMainView(c)}},renderPost:function(a,b){var c=Stream,d=c._profiles[a.actor_id];
return'<li class="post" id="post-'+a.post_id+'" data-post-id="'+a.post_id+'"><a class="actor-pic" href="#/profile/'+d.id+'"><img src="'+d.pic_square+'"></a><div class="bd">'+c.renderMessage(a,b)+c.renderAttachment(a,b)+c.renderMeta(a,b)+c.renderLikes(a,b)+c.renderComments(a,b)+'</div><div style="clear: left;"></div></li>'},renderMessage:function(a,b){var c=Stream._profiles,d=c[a.actor_id],e="";if(a.target_id&&b.source_id!=a.target_id)e=' &#8227; <a class="actor" href="#/profile/'+a.target_id+'">'+
c[a.target_id].name+"</a>";return'<div class="message"><a class="actor" href="#/profile/'+d.id+'">'+d.name+"</a>"+e+" "+StreamDiff.linkyText(a.message||"")+"</div>"},renderAttachment:function(a){a=a.attachment;if(!a)return"";var b=a.media&&a.media.length>0,c='<div class="attachment">';if(b){c+='<div class="media '+(a.media[0].type||"")+'">';for(var d=0,e=a.media.length;d<e;d++){var f=a.media[d];c+='<a href="'+f.href+'"><img src="'+(f.src||f.video&&f.video.preview_img)+'">'+(f.type=="video"?'<span class="play"></span>':
"")+"</a>"}c+="</div>"}if(a.name)c+='<a class="name"'+(a.href?' href="'+a.href+'"':"")+">"+a.name+"</a>";if(a.caption)c+='<div class="caption">'+a.caption+"</div>";if(a.description)c+='<div class="description">'+a.description+"</div>";if(b)c+='<div style="clear: left;"></div>';c+="</div>";return c},renderMeta:function(a){var b="",c="";if(a.attachment&&a.attachment.icon)b='<img class="icon" src="'+a.attachment.icon+'">';if(a.comments&&a.comments.can_post)c+=' &middot; <a class="action-comment">Comment</a>';
if(a.likes&&a.likes.can_like&&!a.likes.user_likes)c+=' &middot; <a class="action-like">Like</a>';return'<div class="meta">'+b+'<span class="time">'+StreamDiff.prettyDate(a.created_time)+"</span>"+c+"</div>"},renderLikes:function(a){function b(h){if(h&&h.length>0){for(var g=0,o=h.length;g<o;g++){var p=h[g];d.push('<a href="#/profile/'+p+'">'+(c[p].name||"Facebook User")+"</a>")}f-=o}}if(!a.likes.count)return"";var c=Stream._profiles,d=[],e=a.likes,f=a.likes.count,n;if(e.user_likes){d.push('<a href="#/profile/'+
FB.getSession().uid+'">You</a>');f--}b(e.friends);if(e&&e.sample&&(d.length>0&&Math.abs(f-e.sample.length)!=1||e.count==e.sample.length))b(e.sample);if(f>0){a='<a href="'+e.href+'">'+StreamDiff.prettyNumber(f);if(f==e.count)f==1?d.push(a+" person</a>"):d.push(a+" people</a>");else d.push(a+" others</a>")}if(d.length>1)n=d.pop();a=d.join(", ");if(n)a+=" and "+n;a+=e.count==1&&!e.user_likes?" likes this.":" like this.";return'<div class="sub">'+a+"</div>"},renderComments:function(a){var b=Stream._profiles,
c="",d,e;if(a.comments.count>0){if(a.comments.count!=a.comments.comment_list.length)c+='<div class="sub"><a href="#/details/'+a.post_id+'">View all '+StreamDiff.prettyNumber(a.comments.count)+" comments.</a></div>";d=0;for(e=a.comments.comment_list.length;d<e;d++){var f=a.comments.comment_list[d];c+='<div class="sub comment"><a class="from-pic" href="#/profile/'+f.fromid+'"><img src="'+(b[f.fromid]||{}).pic_square+'"></a><div class="bd"><div class="hd"><a href="#/profile/'+f.fromid+'">'+((b[f.fromid]||
{}).name||"Facebook User")+"</a>"+StreamDiff.prettyDate(f.time)+"</div>"+StreamDiff.linkyText(f.text)+'</div><div style="clear: left;"></div></div>'}}if(a.comments&&a.comments.can_post)c+='<form class="sub post-comment"'+(c===""?' style="display: none;"':"")+'><img src="'+b[FB.getSession().uid].pic_square+'"><textarea name="text">Write a comment\u2026</textarea><div class="buttons"><input type="submit" class="button" value="Comment"></div></form>';return c},renderCraving:function(a,b){return'<div class="no-content"><h2>'+
(b.source_id?Stream._profiles[b.source_id]?Stream._profiles[b.source_id].name+"'s":"Facebook User's":"Your")+' stream has no unread posts</h2><button class="show-read">View read posts</button> <button class="show-older">Dig into the archives</button></div>'},renderFromTo:function(a,b){var c="Viewing ";if(b.source_id)if(b.source_id==FB.getSession().uid)c+="your ";else if(Stream._profiles[b.source_id])c+=Stream._profiles[b.source_id].name+"'s ";if(b.offset)c+=b.offset+"-"+(b.offset+b.limit)+" ";c+=
"most recent ";Stream._prefs.show_read||(c+="unread ");c+="posts ";if(a.length>0)c+="(from "+StreamDiff.prettyDate(a[0].updated_time)+" to "+StreamDiff.prettyDate(a[a.length-1].updated_time)+")";return'<div class="from-to">'+c+"</div>"},cacheKey:function(a){a=a||Stream._options;return"stream"+JSON.stringify(a)},like:function(a){function b(){Cache.remove(Stream.cacheKey());var d=Stream._posts[c];d.likes.user_likes=true;if(d.likes.count)d.likes.count++;else d.likes.count=1;Stream.refreshPost(c)}var c=
Stream.findPostId(a);FB.api({method:"Stream.addLike",post_id:c},b)},playVideo:function(a,b){b.preventDefault();var c=Stream.findPost(a);a=c.getAttribute("data-post-id");a=Stream._posts[a];b=a.attachment.media[0].video.source_url;c=StreamDiff.DOM.getElementsByClassName(c,"media")[0];var d={allowfullscreen:"true",quality:"high",wmode:"transparent"};if(/video.ak.facebook.com/.test(b)){a=/video.php\?v=(.*)/.exec(a.attachment.media[0].video.display_url)[1];d.allowscriptaccess="always";b="http://www.facebook.com/v/"+
a}FlashReplace.replace(c,b,Math.random(),450,300,null,d)},playMusic:function(a,b){b.preventDefault();var c=Stream.findPost(a);a=c.getAttribute("data-post-id");a=Stream._posts[a];b=a.attachment.media[0].video.source_url;c=StreamDiff.DOM.getElementsByClassName(c,"media")[0];var d={allowfullscreen:"true",quality:"high",wmode:"transparent"};if(/video.ak.facebook.com/.test(b)){a=/video.php\?v=(.*)/.exec(a.attachment.media[0].video.display_url)[1];d.allowscriptaccess="always";b="http://www.facebook.com/v/"+
a}FlashReplace.replace(c,b,Math.random(),450,300,null,d)},markAsRead:function(){var a=Stream._posts,b=Stream._read,c;for(c in a)if(a.hasOwnProperty(c))b[c]=a[c].updated_time;Stream._prefs.show_read=false;Stream.refresh()},showRead:function(){Stream._prefs.show_read=true;Stream.refresh()},hideRead:function(){Stream._prefs.show_read=false;Stream.refresh()},refresh:function(){Stream.view();Spinner.show();window.scrollTo(0,0)},go:function(a){var b="";b+=a.source_id?"/profile/"+a.source_id:"/filter/"+
a.filter_key;if(a.offset>0)b+="/"+a.offset;window.scrollTo(0,0);Herstory.load(b)},showOlder:function(){var a=Stream._options;Stream.go(StreamDiff.copy({offset:a.offset+a.limit},a))},findPost:function(a){for(;a&&a.getAttribute;){if(a.getAttribute("data-post-id"))return a;a=a.parentNode}},findPostId:function(a){if(a=Stream.findPost(a))return a.getAttribute("data-post-id")},refreshPost:function(a){var b=Stream.renderPost(Stream._posts[a],Stream._options);a=document.getElementById("post-"+a);var c=document.createElement("ul");
c.innerHTML=b;a.parentNode.replaceChild(c.firstChild,a)}},Comments={init:function(){Delegator.listen(".post-comment textarea","focus",function(){Comments.focus(this)});Delegator.listen(".post-comment textarea","blur",function(){Comments.blur(this)})},show:function(a){a=Stream.findPost(a);a=StreamDiff.DOM.getElementsByClassName(a,"post-comment")[0];a.style.display="block";a.text.focus()},submit:function(a){function b(){Cache.remove(Stream.cacheKey());var e=Stream._posts[c];if(e.comments.count)e.comments.count++;
else e.comments.count=1;if(!e.comments.comment_list||!e.comments.comment_list.length)e.comments.comment_list=[];e.comments.comment_list.push({fromid:FB.getSession().uid,time:(new Date).getTime()/1E3,text:d});Stream.refreshPost(c)}var c=Stream.findPostId(a),d=a.text.value;FB.api({method:"Stream.addComment",post_id:c,comment:d},b);return false},focus:function(a){StreamDiff.DOM.addClass(a.form,"focused");if(a.value=="Write a comment\u2026")a.value=""},blur:function(a){a.value===""&&window.setTimeout(function(){StreamDiff.DOM.removeClass(a.form,
"focused");a.value="Write a comment\u2026"},400)}},Publisher={_blurTimer:null,_message:null,init:function(){if(!Publisher._initListeners){Publisher._initListeners=true;Delegator.listen(".publisher #message","focus",function(){Publisher.focus(this)});Delegator.listen(".publisher #message","blur",function(){Publisher.blur(this)});Delegator.listen(".publisher #message","keyup",function(){Publisher.autoSize(this)});Delegator.listen(".publisher #message","mouseup",function(){Publisher.autoSize(this)});
Delegator.listen(".publisher","submit",function(a){a.preventDefault();Publisher.submit()})}},render:function(a){Publisher.init();Publisher._message=a;return'<form class="publisher"><textarea id="message">'+a+'</textarea><div class="buttons"><input type="submit" class="button" value="share"></div></form>'},focus:function(a){Publisher._blurTimer&&window.clearTimeout(Publisher._blurTimer);if(a.value==Publisher._message)a.value="";StreamDiff.DOM.addClass(a.form,"focused")},blur:function(a){if(!a.value)Publisher._blurTimer=
window.setTimeout(function(){StreamDiff.DOM.removeClass(a.form,"focused");a.value=Publisher._message},400)},autoSize:function(){},submit:function(){function a(d){Cache.remove(Stream.cacheKey());d=Stream._posts[d]={post_id:d,actor_id:FB.getSession().uid,target_id:b,message:c,created_time:(new Date).getTime()/1E3,comments:{can_post:true,count:0},likes:{can_like:true,sample:[],friends:[],count:0},attachment:{icon:document.getElementById("favicon").href}};var e=document.getElementById("posts"),f=document.createElement("ul");
f.innerHTML=Stream.renderPost(d,Stream._options);e.insertBefore(f.firstChild,e.firstChild);document.getElementById("message").value=""}var b=Stream._options.source_id||undefined,c=document.getElementById("message").value;FB.api({method:"Stream.publish",target_id:b,message:c},a);return false}};
Detail={LIMIT:20,view:function(a,b){b=b||0;var c='SELECT post_id,created_time,updated_time,actor_id,target_id,message,attachment,comments,likes FROM stream WHERE post_id="'+a+'"';a='SELECT fromid,time,text FROM comment WHERE post_id="'+a+'" LIMIT '+Detail.LIMIT+" OFFSET "+b;b="SELECT id,type,name,pic,pic_square,url FROM profile WHERE id IN (SELECT actor_id FROM #details) OR id IN (SELECT target_id FROM #details) OR id IN (SELECT fromid FROM #comments) OR id IN (SELECT likes.friends FROM #details) OR id IN (SELECT likes.sample FROM #details) OR id="+
FB.getSession().uid;StreamDiff.fql({details:c,comments:a,profiles:b},Detail.render)},render:function(a){Stream.init();Stream.updateProfiles(a.profiles);var b=a.details[0];b.comments.comment_list=a.comments;StreamDiff.setMainView('<div id="stream" class="bd"><ul id="posts">'+Stream.renderPost(b,{})+"</ul></div>")}};
