/*1318981250,169588333,JIT Construction: v460084,en_US*/
if (!window.FB)window.FB = {_apiKey:null,_session:null,_userStatus:'unknown',_logging:true,_inCanvas:((window.location.search.indexOf('fb_sig_in_iframe=1') > -1) || (window.location.search.indexOf('session=') > -1) || (window.location.search.indexOf('signed_request=') > -1) || (window.name.indexOf('iframe_canvas') > -1) || (window.name.indexOf('app_runner') > -1)),_https:(window.name.indexOf('_fb_https') > -1),_domain:{api:'https://api.facebook.com/',api_read:'https://api-read.facebook.com/',cdn:'http://static.ak.fbcdn.net/',https_cdn:'https://s-static.ak.fbcdn.net/',graph:'https://graph.facebook.com/',staticfb:'http://static.ak.facebook.com/',https_staticfb:'https://s-static.ak.facebook.com/',www:'http://www.facebook.com/',https_www:'https://www.facebook.com/',m:'http://m.facebook.com/',https_m:'https://m.facebook.com/'},_locale:null,_localeIsRtl:false,getDomain:function(a) {
    switch (a) {
        case 'api':
            return FB._domain.api;
        case 'api_read':
            return FB._domain.api_read;
        case 'cdn':
            return (window.location.protocol == 'https:' || FB._https) ? FB._domain.https_cdn : FB._domain.cdn;
        case 'cdn_foreign':
            return FB._domain.cdn_foreign;
        case 'https_cdn':
            return FB._domain.https_cdn;
        case 'graph':
            return FB._domain.graph;
        case 'staticfb':
            return (document.referrer.indexOf('https:') == 0 || FB._https) ? FB._domain.https_staticfb : FB._domain.staticfb;
        case 'https_staticfb':
            return FB._domain.https_staticfb;
        case 'www':
            return (window.location.protocol == 'https:' || FB._https) ? FB._domain.https_www : FB._domain.www;
        case 'https_www':
            return FB._domain.https_www;
        case 'm':
            return (window.location.protocol == 'https:' || FB._https) ? FB._domain.https_m : FB._domain.m;
        case 'https_m':
            return FB._domain.https_m;
    }
},copy:function(d, c, b, e) {
    for (var a in c)if (b || typeof d[a] === 'undefined')d[a] = e ? e(c[a]) : c[a];
    return d;
},create:function(c, h) {
    var e = window.FB,d = c ? c.split('.') : [],a = d.length;
    for (var b = 0; b < a; b++) {
        var g = d[b];
        var f = e[g];
        if (!f) {
            f = (h && b + 1 == a) ? h : {};
            e[g] = f;
        }
        e = f;
    }
    return e;
},provide:function(c, b, a) {
    return FB.copy(typeof c == 'string' ? FB.create(c) : c, b, a);
},guid:function() {
    return 'f' + (Math.random() * (1 << 30)).toString(16).replace('.', '');
},log:function(a) {
    if (FB._logging)if (window.Debug && window.Debug.writeln) {
        window.Debug.writeln(a);
    } else if (window.console)window.console.log(a);
    if (FB.Event)FB.Event.fire('fb.log', a);
},$:function(a) {
    return document.getElementById(a);
}};
FB.provide('Array', {indexOf:function(a, c) {
    if (a.indexOf)return a.indexOf(c);
    var d = a.length;
    if (d)for (var b = 0; b < d; b++)if (a[b] === c)return b;
    return -1;
},merge:function(c, b) {
    for (var a = 0; a < b.length; a++)if (FB.Array.indexOf(c, b[a]) < 0)c.push(b[a]);
    return c;
},filter:function(a, c) {
    var b = [];
    for (var d = 0; d < a.length; d++)if (c(a[d]))b.push(a[d]);
    return b;
},keys:function(c, d) {
    var a = [];
    for (var b in c)if (d || c.hasOwnProperty(b))a.push(b);
    return a;
},map:function(a, d) {
    var c = [];
    for (var b = 0; b < a.length; b++)c.push(d(a[b]));
    return c;
},forEach:function(c, a, f) {
    if (!c)return;
    if (Object.prototype.toString.apply(c) === '[object Array]' || (!(c instanceof Function) && typeof c.length == 'number')) {
        if (c.forEach) {
            c.forEach(a);
        } else for (var b = 0,e = c.length; b < e; b++)a(c[b], b, c);
    } else for (var d in c)if (f || c.hasOwnProperty(d))a(c[d], d, c);
},toArray:function(b) {
    for (var c = 0,a = [],d = b.length; c < d; c++)a[c] = b[c];
    return a;
}});
FB.provide('QS', {encode:function(c, d, a) {
    d = d === undefined ? '&' : d;
    a = a === false ? function(e) {
        return e;
    } : encodeURIComponent;
    var b = [];
    FB.Array.forEach(c, function(f, e) {
        if (f !== null && typeof f != 'undefined')b.push(a(e) + '=' + a(f));
    });
    b.sort();
    return b.join(d);
},decode:function(f) {
    var a = decodeURIComponent,d = {},e = f.split('&'),b,c;
    for (b = 0; b < e.length; b++) {
        c = e[b].split('=', 2);
        if (c && c[0])d[a(c[0])] = a(c[1] || '');
    }
    return d;
}});
FB.provide('Content', {_root:null,_hiddenRoot:null,_callbacks:{},append:function(a, c) {
    if (!c)if (!FB.Content._root) {
        FB.Content._root = c = FB.$('fb-root');
        if (!c) {
            FB.log('The "fb-root" div has not been created.');
            return;
        } else c.className += ' fb_reset';
    } else c = FB.Content._root;
    if (typeof a == 'string') {
        var b = document.createElement('div');
        c.appendChild(b).innerHTML = a;
        return b;
    } else return c.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(e) {
    e.id = e.id || FB.guid();
    e.name = e.name || FB.guid();
    var a = FB.guid(),f = false,d = false;
    FB.Content._callbacks[a] = function() {
        if (f && !d) {
            d = true;
            e.onload && e.onload(e.root.firstChild);
        }
    };
    if (document.attachEvent) {
        var b = ('<iframe' + ' id="' + e.id + '"' + ' name="' + e.name + '"' + (e.title ? ' title="' + e.title + '"' : '') + (e.className ? ' class="' + e.className + '"' : '') + ' style="border:none;' + (e.width ? 'width:' + e.width + 'px;' : '') + (e.height ? 'height:' + e.height + 'px;' : '') + '"' + ' src="' + e.url + '"' + ' frameborder="0"' + ' scrolling="no"' + ' allowtransparency="true"' + ' onload="FB.Content._callbacks.' + a + '()"' + '></iframe>');
        e.root.innerHTML = '<iframe src="javascript:false"' + ' frameborder="0"' + ' scrolling="no"' + ' style="height:1px"></iframe>';
        f = true;
        window.setTimeout(function() {
            e.root.innerHTML = b;
            e.onInsert && e.onInsert(e.root.firstChild);
        }, 0);
    } else {
        var c = document.createElement('iframe');
        c.id = e.id;
        c.name = e.name;
        c.onload = FB.Content._callbacks[a];
        c.scrolling = 'no';
        c.style.border = 'none';
        c.style.overflow = 'hidden';
        if (e.title)c.title = e.title;
        if (e.className)c.className = e.className;
        if (e.height)c.style.height = e.height + 'px';
        if (e.width)c.style.width = e.width + 'px';
        e.root.appendChild(c);
        f = true;
        c.src = e.url;
        e.onInsert && e.onInsert(c);
    }
},submitToTarget:function(c, b) {
    var a = document.createElement('form');
    a.action = c.url;
    a.target = c.target;
    a.method = (b) ? 'GET' : 'POST';
    FB.Content.appendHidden(a);
    FB.Array.forEach(c.params, function(f, e) {
        if (f !== null && f !== undefined) {
            var d = document.createElement('input');
            d.name = e;
            d.value = f;
            a.appendChild(d);
        }
    });
    a.submit();
    a.parentNode.removeChild(a);
}});
FB.provide('Flash', {_minVersions:[
    [9,0,159,0],
    [10,0,22,87]
],_swfPath:'swf/XdComm.swf',_callbacks:[],_names:{},_unloadRegistered:false,init:function() {
    if (FB.Flash._init)return;
    FB.Flash._init = true;
    window.FB_OnFlashXdCommReady = function() {
        FB.Flash._ready = true;
        for (var a = 0,b = FB.Flash._callbacks.length; a < b; a++)FB.Flash._callbacks[a]();
        FB.Flash._callbacks = [];
    };
    FB.Flash.embedSWF('XdComm', FB.getDomain('cdn_foreign') + FB.Flash._swfPath);
},embedSWF:function(d, e, b) {
    var a = !!document.attachEvent,c = ('<object ' + 'type="application/x-shockwave-flash" ' + 'id="' + d + '" ' + (b ? 'flashvars="' + b + '" ' : '') + (a ? 'name="' + d + '" ' : '') + (a ? '' : 'data="' + e + '" ') + (a ? 'classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" ' : '') + 'allowscriptaccess="always">' + '<param name="movie" value="' + e + '"></param>' + '<param name="allowscriptaccess" value="always"></param>' + '</object>');
    FB.Content.appendHidden(c);
    if (FB.UA.ie() >= 9) {
        if (!FB.Flash._unloadRegistered) {
            var f = function() {
                FB.Array.forEach(FB.Flash._names, function(i, h) {
                    var g = document.getElementById(h);
                    if (g)g.removeNode(true);
                });
            };
            window.attachEvent('onunload', f);
            FB.Flash._unloadRegistered = true;
        }
        FB.Flash._names[d] = true;
    }
},hasMinVersion:function() {
    if (typeof FB.Flash._hasMinVersion === 'undefined') {
        var i,a,b,h = [];
        try {
            i = new ActiveXObject('ShockwaveFlash.ShockwaveFlash').GetVariable('$version');
        } catch(j) {
            if (navigator.mimeTypes.length > 0) {
                var mimeType = 'application/x-shockwave-flash';
                if (navigator.mimeTypes[mimeType].enabledPlugin) {
                    var name = 'Shockwave Flash';
                    i = (navigator.plugins[name + ' 2.0'] || navigator.plugins[name]).description;
                }
            }
        }
        if (i) {
            var f = i.replace(/\D+/g, ',').match(/^,?(.+),?$/)[1].split(',');
            for (a = 0,b = f.length; a < b; a++)h.push(parseInt(f[a], 10));
        }
        FB.Flash._hasMinVersion = false;
        majorVersion:for (a = 0,b = FB.Flash._minVersions.length; a < b; a++) {
            var g = FB.Flash._minVersions[a];
            if (g[0] != h[0])continue;
            for (var c = 1,d = g.length,e = h.length; (c < d && c < e); c++)if (h[c] < g[c]) {
                FB.Flash._hasMinVersion = false;
                continue majorVersion;
            } else {
                FB.Flash._hasMinVersion = true;
                if (h[c] > g[c])break majorVersion;
            }
        }
        ;
    }
    return FB.Flash._hasMinVersion;
},onReady:function(a) {
    FB.Flash.init();
    if (FB.Flash._ready) {
        window.setTimeout(a, 0);
    } else FB.Flash._callbacks.push(a);
}});
if (!this.JSON)this.JSON = {};
(function() {
    function f(n) {
        return n < 10 ? '0' + n : n;
    }

    if (typeof Date.prototype.toJSON !== 'function') {
        Date.prototype.toJSON = function(key) {
            return isFinite(this.valueOf()) ? this.getUTCFullYear() + '-' + f(this.getUTCMonth() + 1) + '-' + f(this.getUTCDate()) + 'T' + f(this.getUTCHours()) + ':' + f(this.getUTCMinutes()) + ':' + f(this.getUTCSeconds()) + 'Z' : null;
        };
        String.prototype.toJSON = Number.prototype.toJSON = Boolean.prototype.toJSON = function(key) {
            return this.valueOf();
        };
    }
    var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta = {'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},rep;

    function quote(string) {
        escapable.lastIndex = 0;
        return escapable.test(string) ? '"' + string.replace(escapable, function(a) {
            var c = meta[a];
            return typeof c === 'string' ? c : '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
        }) + '"' : '"' + string + '"';
    }

    function str(key, holder) {
        var i,k,v,length,mind = gap,partial,value = holder[key];
        if (value && typeof value === 'object' && typeof value.toJSON === 'function')value = value.toJSON(key);
        if (typeof rep === 'function')value = rep.call(holder, key, value);
        switch (typeof value) {
            case 'string':
                return quote(value);
            case 'number':
                return isFinite(value) ? String(value) : 'null';
            case 'boolean':
            case 'null':
                return String(value);
            case 'object':
                if (!value)return 'null';
                gap += indent;
                partial = [];
                if (Object.prototype.toString.apply(value) === '[object Array]') {
                    length = value.length;
                    for (i = 0; i < length; i += 1)partial[i] = str(i, value) || 'null';
                    v = partial.length === 0 ? '[]' : gap ? '[\n' + gap + partial.join(',\n' + gap) + '\n' + mind + ']' : '[' + partial.join(',') + ']';
                    gap = mind;
                    return v;
                }
                if (rep && typeof rep === 'object') {
                    length = rep.length;
                    for (i = 0; i < length; i += 1) {
                        k = rep[i];
                        if (typeof k === 'string') {
                            v = str(k, value);
                            if (v)partial.push(quote(k) + (gap ? ': ' : ':') + v);
                        }
                    }
                } else for (k in value)if (Object.hasOwnProperty.call(value, k)) {
                    v = str(k, value);
                    if (v)partial.push(quote(k) + (gap ? ': ' : ':') + v);
                }
                v = partial.length === 0 ? '{}' : gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + mind + '}' : '{' + partial.join(',') + '}';
                gap = mind;
                return v;
        }
    }

    if (typeof JSON.stringify !== 'function')JSON.stringify = function(value, replacer, space) {
        var i;
        gap = '';
        indent = '';
        if (typeof space === 'number') {
            for (i = 0; i < space; i += 1)indent += ' ';
        } else if (typeof space === 'string')indent = space;
        rep = replacer;
        if (replacer && typeof replacer !== 'function' && (typeof replacer !== 'object' || typeof replacer.length !== 'number'))throw new Error('JSON.stringify');
        return str('', {'':value});
    };
    if (typeof JSON.parse !== 'function')JSON.parse = function(text, reviver) {
        var j;

        function walk(holder, key) {
            var k,v,value = holder[key];
            if (value && typeof value === 'object')for (k in value)if (Object.hasOwnProperty.call(value, k)) {
                v = walk(value, k);
                if (v !== undefined) {
                    value[k] = v;
                } else delete value[k];
            }
            return reviver.call(holder, key, value);
        }

        cx.lastIndex = 0;
        if (cx.test(text))text = text.replace(cx, function(a) {
            return '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
        });
        if (/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']').replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {
            j = eval('(' + text + ')');
            return typeof reviver === 'function' ? walk({'':j}, '') : j;
        }
        throw new SyntaxError('JSON.parse');
    };
}());
FB.provide('JSON', {stringify:function(a) {
    if (window.Prototype && Object.toJSON) {
        return Object.toJSON(a);
    } else return JSON.stringify(a);
},parse:function(a) {
    return JSON.parse(a);
},flatten:function(c) {
    var a = {};
    for (var b in c)if (c.hasOwnProperty(b)) {
        var d = c[b];
        if (null === d || undefined === d) {
            continue;
        } else if (typeof d == 'string') {
            a[b] = d;
        } else a[b] = FB.JSON.stringify(d);
    }
    return a;
}});
FB.provide('', {api:function() {
    if (typeof arguments[0] === 'string') {
        FB.ApiServer.graph.apply(FB.ApiServer, arguments);
    } else FB.ApiServer.rest.apply(FB.ApiServer, arguments);
}});
FB.provide('ApiServer', {METHODS:['get','post','delete','put'],_callbacks:{},_readOnlyCalls:{fql_query:true,fql_multiquery:true,friends_get:true,notifications_get:true,stream_get:true,users_getinfo:true},graph:function() {
    var a = Array.prototype.slice.call(arguments),f = a.shift(),d = a.shift(),c,e,b;
    while (d) {
        var g = typeof d;
        if (g === 'string' && !c) {
            c = d.toLowerCase();
        } else if (g === 'function' && !b) {
            b = d;
        } else if (g === 'object' && !e) {
            e = d;
        } else {
            FB.log('Invalid argument passed to FB.api(): ' + d);
            return;
        }
        d = a.shift();
    }
    c = c || 'get';
    e = e || {};
    if (f[0] === '/')f = f.substr(1);
    if (FB.Array.indexOf(FB.ApiServer.METHODS, c) < 0) {
        FB.log('Invalid method passed to FB.api(): ' + c);
        return;
    }
    FB.ApiServer.oauthRequest('graph', f, c, e, b);
},rest:function(e, a) {
    var c = e.method.toLowerCase().replace('.', '_');
    if (FB.Auth && c === 'auth_revokeauthorization') {
        var d = a;
        a = function(f) {
            if (f === true)if (FB._oauth) {
                FB.Auth.setAuthResponse(null, 'not_authorized');
            } else FB.Auth.setSession(null, 'notConnected');
            d && d(f);
        };
    }
    e.format = 'json-strings';
    e.api_key = FB._apiKey;
    var b = FB.ApiServer._readOnlyCalls[c] ? 'api_read' : 'api';
    FB.ApiServer.oauthRequest(b, 'restserver.php', 'get', e, a);
},oauthRequest:function(b, g, d, f, a) {
    if (!f.access_token && FB.getAccessToken())f.access_token = FB.getAccessToken();
    f.sdk = 'joey';
    f.pretty = 0;
    var e = a;
    a = function(h) {
        if (FB.Auth && h && FB._session && FB._session.access_token == f.access_token && (h.error_code === '190' || (h.error && (h.error === 'invalid_token' || h.error.type === 'OAuthException'))))FB.getLoginStatus(null, true);
        e && e(h);
    };
    try {
        FB.ApiServer.jsonp(b, g, d, FB.JSON.flatten(f), a);
    } catch(c) {
        try {
            if (!FB.initSitevars.corsKillSwitch && FB.ApiServer.corsPost(b, g, d, FB.JSON.flatten(f), a))return;
        } catch(e2_ignore) {
        }
        if (FB.Flash.hasMinVersion()) {
            FB.ApiServer.flash(b, g, d, FB.JSON.flatten(f), a);
        } else throw new Error('Your browser does not support long connect ' + 'requests. You can fix this problem by upgrading your browser ' + 'or installing the latest version of Flash');
    }
},corsPost:function(c, g, e, f, a) {
    var i = FB.getDomain(c) + g;
    if (c == 'graph')f.method = e;
    var d = FB.QS.encode(f);
    var b = 'application/x-www-form-urlencoded';
    var h = FB.ApiServer._createCORSRequest('POST', i, b);
    if (h) {
        h.onload = function() {
            a && a(FB.JSON.parse(h.responseText));
        };
        h.send(d);
        return true;
    } else return false;
},_createCORSRequest:function(b, c, a) {
    if (!window.XMLHttpRequest)return null;
    var d = new XMLHttpRequest();
    if ("withCredentials" in d) {
        d.open(b, c, true);
        d.setRequestHeader('Content-type', a);
    } else if (window.XDomainRequest) {
        d = new XDomainRequest();
        d.open(b, c);
    } else d = null;
    return d;
},jsonp:function(b, f, d, e, a) {
    var c = FB.guid(),g = document.createElement('script');
    if (b === 'graph' && d !== 'get')e.method = d;
    e.callback = 'FB.ApiServer._callbacks.' + c;
    var h = (FB.getDomain(b) + f + (f.indexOf('?') > -1 ? '&' : '?') + FB.QS.encode(e));
    if (h.length > 2000)throw new Error('JSONP only support a maximum of 2000 bytes of input.');
    FB.ApiServer._callbacks[c] = function(i) {
        a && a(i);
        delete FB.ApiServer._callbacks[c];
        g.parentNode.removeChild(g);
    };
    g.src = h;
    document.getElementsByTagName('head')[0].appendChild(g);
},flash:function(b, e, c, d, a) {
    if (!window.FB_OnXdHttpResult)window.FB_OnXdHttpResult = function(g, f) {
        FB.ApiServer._callbacks[g](decodeURIComponent(f));
    };
    FB.Flash.onReady(function() {
        if (b === 'graph')d.suppress_http_code = 1;
        var h = FB.getDomain(b) + e,f = FB.QS.encode(d);
        if (c === 'get') {
            if (h.length + f.length > 2000) {
                if (b === 'graph')d.method = 'get';
                c = 'post';
                f = FB.QS.encode(d);
            } else {
                h += (h.indexOf('?') > -1 ? '&' : '?') + f;
                f = '';
            }
        } else if (c !== 'post') {
            if (b === 'graph')d.method = c;
            c = 'post';
            f = FB.QS.encode(d);
        }
        var g = document.XdComm.sendXdHttpRequest(c.toUpperCase(), h, f, null);
        FB.ApiServer._callbacks[g] = function(i) {
            a && a(FB.JSON.parse(i));
            delete FB.ApiServer._callbacks[g];
        };
    });
}});
FB.provide('EventProvider', {subscribers:function() {
    if (!this._subscribersMap)this._subscribersMap = {};
    return this._subscribersMap;
},subscribe:function(b, a) {
    var c = this.subscribers();
    if (!c[b]) {
        c[b] = [a];
    } else c[b].push(a);
},unsubscribe:function(b, a) {
    var c = this.subscribers()[b];
    FB.Array.forEach(c, function(e, d) {
        if (e == a)c[d] = null;
    });
},monitor:function(d, a) {
    if (!a()) {
        var b = this,c = function() {
            if (a.apply(a, arguments))b.unsubscribe(d, c);
        };
        this.subscribe(d, c);
    }
},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) {
        if (c)c.apply(this, a);
    });
},listen:function(a, event, b) {
    if (a.addEventListener) {
        a.addEventListener(event, b, false);
    } else if (a.attachEvent)a.attachEvent(event, b);
},unlisten:function(a, event, b) {
    if (a.removeEventListener) {
        a.removeEventListener(event, b, false);
    } else if (a.detachEvent)a.detachEvent(event, b);
}});
FB.provide('Event', FB.EventProvider);
FB.provide('XD', {_origin:null,_transport:null,_callbacks:{},_forever:{},_xdProxyUrl:'connect/xd_proxy.php',_openerTransport:null,_openerOrigin:null,_nonOpenerOrigin:null,init:function(b) {
    if (FB.XD._origin)return;
    var d = (window.location.protocol + '//' + window.location.host + '/' + FB.guid());
    if (window.addEventListener && !window.attachEvent && window.postMessage) {
        FB.XD._origin = d;
        FB.XD.PostMessage.init();
        FB.XD._transport = 'postmessage';
    } else if (!b && FB.Flash.hasMinVersion()) {
        if (document.getElementById('fb-root')) {
            var c = document.domain;
            if (c == 'facebook.com')c = window.location.host;
            FB.XD._origin = (window.location.protocol + '//' + c + '/' + FB.guid());
            FB.XD.Flash.init();
            FB.XD._transport = 'flash';
        } else {
            if (FB.log)FB.log('missing fb-root, defaulting to fragment-based xdcomm');
            FB.XD._transport = 'fragment';
            FB.XD.Fragment._channelUrl = b || window.location.toString();
        }
    } else {
        FB.XD._transport = 'fragment';
        FB.XD.Fragment._channelUrl = b || window.location.toString();
    }
    var a = !!window.attachEvent;
    if (FB.XD._transport != 'postmessage' && a && window.postMessage) {
        FB.XD._openerTransport = FB.XD._transport;
        FB.XD._openerOrigin = FB.XD._origin;
        FB.XD._nonOpenerOrigin = d;
    }
},resolveRelation:function(b) {
    var g,d,f = b.split('.'),e = window;
    for (var a = 0,c = f.length; a < c; a++) {
        g = f[a];
        if (g === 'opener' || g === 'parent' || g === 'top') {
            e = e[g];
        } else if (d = /^frames\[['"]?([a-zA-Z0-9-_]+)['"]?\]$/.exec(g)) {
            e = e.frames[d[1]];
        } else throw new SyntaxError('Malformed id to resolve: ' + b + ', pt: ' + g);
    }
    return e;
},handler:function(a, f, c, d, b) {
    if (window.location.toString().indexOf(FB.XD.Fragment._magic) > 0)return 'javascript:false;//';
    var g = FB.getDomain((b ? 'https_' : '') + 'cdn') + FB.XD._xdProxyUrl + '#';
    d = d || FB.guid();
    f = f || 'opener';
    if (FB.XD._openerTransport)if (f == 'opener') {
        FB.XD._transport = FB.XD._openerTransport;
        FB.XD._origin = FB.XD._openerOrigin;
    } else {
        FB.XD.PostMessage.init();
        FB.XD._transport = 'postmessage';
        FB.XD._origin = FB.XD._nonOpenerOrigin;
    }
    if (FB.XD._transport == 'fragment') {
        g = FB.XD.Fragment._channelUrl;
        var e = g.indexOf('#');
        if (e > 0)g = g.substr(0, e);
        g += ((g.indexOf('?') < 0 ? '?' : '&') + FB.XD.Fragment._magic + '#?=&');
    }
    if (c)FB.XD._forever[d] = true;
    FB.XD._callbacks[d] = a;
    return g + FB.QS.encode({cb:d,origin:FB.XD._origin,relation:f,transport:FB.XD._transport});
},recv:function(b) {
    if (typeof b == 'string')try {
        b = FB.JSON.parse(b);
    } catch(c) {
        b = FB.QS.decode(b);
    }
    var a = FB.XD._callbacks[b.cb];
    if (!FB.XD._forever[b.cb])delete FB.XD._callbacks[b.cb];
    a && a(b);
},PostMessage:{_isInitialized:false,init:function() {
    if (!FB.XD.PostMessage._isInitialized) {
        var a = FB.XD.PostMessage.onMessage;
        window.addEventListener ? window.addEventListener('message', a, false) : window.attachEvent('onmessage', a);
        FB.XD.PostMessage._isInitialized = true;
    }
},onMessage:function(event) {
    FB.XD.recv(event.data);
}},WebView:{onMessage:function(a, c, b) {
    FB.XD.recv(b);
}},Flash:{init:function() {
    FB.Flash.onReady(function() {
        document.XdComm.postMessage_init('FB.XD.Flash.onMessage', FB.XD._openerOrigin ? FB.XD._openerOrigin : FB.XD._origin);
    });
},onMessage:function(a) {
    FB.XD.recv(decodeURIComponent(a));
}},Fragment:{_magic:'fb_xd_fragment',checkAndDispatch:function() {
    var b = window.location.toString(),a = b.substr(b.indexOf('#') + 1),c = b.indexOf(FB.XD.Fragment._magic);
    if (c > 0) {
        FB.init = FB.getLoginStatus = FB.api = function() {
        };
        document.documentElement.style.display = 'none';
        FB.XD.resolveRelation(FB.QS.decode(a).relation).FB.XD.recv(a);
    }
}}});
FB.XD.Fragment.checkAndDispatch();
FB.provide('UA', {ie:function() {
    return FB.UA._populate() || this._ie;
},firefox:function() {
    return FB.UA._populate() || this._firefox;
},opera:function() {
    return FB.UA._populate() || this._opera;
},safari:function() {
    return FB.UA._populate() || this._safari;
},chrome:function() {
    return FB.UA._populate() || this._chrome;
},windows:function() {
    return FB.UA._populate() || this._windows;
},osx:function() {
    return FB.UA._populate() || this._osx;
},linux:function() {
    return FB.UA._populate() || this._linux;
},ios:function() {
    FB.UA._populate();
    return FB.UA.mobile() && this._ios;
},mobile:function() {
    FB.UA._populate();
    return !FB._inCanvas && FB.UA._enableMobile && this._mobile;
},nativeApp:function() {
    return FB.UA.mobile() && navigator.userAgent.match(/FBAN\/\w+;/i);
},android:function() {
    FB.UA._populate();
    return FB.UA.mobile() && this._android;
},iPad:function() {
    FB.UA._populate();
    return FB.UA.mobile() && this._iPad;
},_populated:false,_populate:function() {
    if (FB.UA._populated)return;
    FB.UA._populated = true;
    var a = /(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))/.exec(navigator.userAgent);
    var c = /(Mac OS X)|(Windows)|(Linux)/.exec(navigator.userAgent);
    var b = /\b(iPhone|iP[ao]d)/.exec(navigator.userAgent);
    FB.UA._iPad = /\b(iPad)/.exec(navigator.userAgent);
    FB.UA._android = navigator.userAgent.match(/Android/i);
    FB.UA._mobile = b || FB.UA._android || navigator.userAgent.match(/Mobile/i);
    if (a) {
        FB.UA._ie = a[1] ? parseFloat(a[1]) : NaN;
        if (FB.UA._ie >= 8 && !window.HTMLCollection)FB.UA._ie = 7;
        FB.UA._firefox = a[2] ? parseFloat(a[2]) : NaN;
        FB.UA._opera = a[3] ? parseFloat(a[3]) : NaN;
        FB.UA._safari = a[4] ? parseFloat(a[4]) : NaN;
        if (FB.UA._safari) {
            a = /(?:Chrome\/(\d+\.\d+))/.exec(navigator.userAgent);
            FB.UA._chrome = a && a[1] ? parseFloat(a[1]) : NaN;
        } else FB.UA._chrome = NaN;
    } else FB.UA._ie = FB.UA._firefox = FB.UA._opera = FB.UA._chrome = FB.UA._safari = NaN;
    if (c) {
        FB.UA._osx = !!c[1];
        FB.UA._windows = !!c[2];
        FB.UA._linux = !!c[3];
    } else FB.UA._osx = FB.UA._windows = FB.UA._linux = false;
    FB.UA._ios = b;
}});
FB.provide('Arbiter', {_canvasProxyUrl:'connect/canvas_proxy.php',BEHAVIOR_EVENT:'e',BEHAVIOR_PERSISTENT:'p',BEHAVIOR_STATE:'s',inform:function(d, f, g, c, a) {
    if (FB.Canvas.isTabIframe() || (FB._inPlugin && window.postMessage) || (!FB._inCanvas && FB.UA.mobile() && window.postMessage)) {
        var e = FB.JSON.stringify({method:d,params:f,behavior:a || FB.Arbiter.BEHAVIOR_PERSISTENT});
        if (window.postMessage) {
            FB.XD.resolveRelation(g || 'parent').postMessage(e, '*');
            return;
        } else try {
            window.opener.postMessage(e);
            return;
        } catch(b) {
        }
    }
    var i = (FB.getDomain((c ? 'https_' : '') + 'staticfb') + FB.Arbiter._canvasProxyUrl + '#' + FB.QS.encode({method:d,params:FB.JSON.stringify(f || {}),behavior:a || FB.Arbiter.BEHAVIOR_PERSISTENT,relation:g}));
    var h = FB.Content.appendHidden('');
    FB.Content.insertIframe({url:i,root:h,width:1,height:1,onload:function() {
        setTimeout(function() {
            h.parentNode.removeChild(h);
        }, 10);
    }});
}});
FB.provide('Canvas', {_timer:null,_lastSize:{},_pageInfo:{clientWidth:0,clientHeight:0,scrollLeft:0,scrollTop:0,offsetLeft:0,offsetTop:0},getPageInfo:function(a) {
    var d = 'top.frames[' + window.name + ']';
    var b = FB.XD.handler(function(e) {
        for (var f in FB.Canvas._pageInfo)if (e[f])FB.Canvas._pageInfo[f] = e[f] | 0;
        a && a(FB.Canvas._pageInfo);
    }, d, true);
    var c = {channelUrl:b,frame:window.name};
    FB.Arbiter.inform('getPageInfo', c, 'top');
    return FB.Canvas._pageInfo;
},_flashClassID:"CLSID:D27CDB6E-AE6D-11CF-96B8-444553540000",_hideFlashCallback:function(f) {
    var a = window.document.getElementsByTagName('object');
    for (var d = 0; d < a.length; d++) {
        var b = a[d];
        if (b.type != "application/x-shockwave-flash" && b.classid.toUpperCase() != FB.Canvas._flashClassID)continue;
        var c = false;
        for (var e = 0; e < b.childNodes.length; e++)if (b.childNodes[e].nodeName == "PARAM" && b.childNodes[e].name == "wmode")if (b.childNodes[e].value == "opaque" || b.childNodes[e].value == "transparent")c = true;
        if (!c) {
            var g = Math.random();
            if (g <= 1 / 1000)FB.api(FB._apiKey + '/occludespopups', 'post', {});
            if (f.state == 'opened') {
                b._old_visibility = b.style.visibility;
                b.style.visibility = 'hidden';
            } else if (f.state == 'closed') {
                b.style.visibility = b._old_visibility;
                delete b._old_visibility;
            }
        }
    }
},init:function() {
    var b = FB.Dom.getViewportInfo();
    FB.Canvas._pageInfo.clientWidth = b.width;
    FB.Canvas._pageInfo.clientHeight = b.height;
    FB.Canvas.getPageInfo();
    var a = FB.XD.handler(FB.Canvas._hideFlashCallback, 'top.frames[' + window.name + ']', true);
    FB.Arbiter.inform('iframeSetupFlashHiding', {channelUrl:a});
},setSize:function(e) {
    if (typeof e != "object")e = {};
    var c = 0,b = 0;
    e = e || {};
    if (e.width == null || e.height == null) {
        e = FB.copy(e, FB.Canvas._computeContentSize());
        c = 16;
        b = 4;
    }
    e = FB.copy(e, {frame:window.name || 'iframe_canvas'});
    if (FB.Canvas._lastSize[e.frame]) {
        var d = FB.Canvas._lastSize[e.frame].height;
        var a = e.height - d;
        if (FB.Canvas._lastSize[e.frame].width == e.width && (a <= b && a >= -c))return false;
    }
    FB.Canvas._lastSize[e.frame] = e;
    FB.Arbiter.inform('setSize', e);
    return true;
},scrollTo:function(a, b) {
    FB.Arbiter.inform('scrollTo', {frame:window.name || 'iframe_canvas',x:a,y:b});
},setAutoGrow:function(b, a) {
    if (a === undefined && typeof b == "number") {
        a = b;
        b = true;
    }
    if (b === undefined || b) {
        if (FB.Canvas._timer === null)FB.Canvas._timer = window.setInterval(FB.Canvas.setSize, a || 100);
        FB.Canvas.setSize();
    } else if (FB.Canvas._timer !== null) {
        window.clearInterval(FB.Canvas._timer);
        FB.Canvas._timer = null;
    }
},setAutoResize:function(b, a) {
    return FB.Canvas.setAutoGrow(b, a);
},isTabIframe:function() {
    return (window.name.indexOf('app_runner_') === 0);
},setDoneLoading:function(a) {
    FB.Canvas._passAppTtiMessage(a, 'RecordIframeAppTti');
},stopTimer:function(a) {
    FB.Canvas._passAppTtiMessage(a, 'StopIframeAppTtiTimer');
},setUrlHandler:function(a) {
    var b = FB.XD.handler(a, 'top.frames[' + window.name + ']', true);
    FB.Arbiter.inform('setUrlHandler', b);
    FB.Event.listen(window, 'load', function() {
        FB.Arbiter.inform('setUrlHandler', b);
    });
},startTimer:function() {
    FB.Canvas._passAppTtiMessage(null, 'StartIframeAppTtiTimer');
},_passAppTtiMessage:function(a, c) {
    var b = null;
    if (a)b = FB.XD.handler(a, 'top.frames[' + window.name + ']', false);
    FB.Arbiter.inform(c, {frame:window.name || 'iframe_canvas',time:(new Date()).getTime(),appId:parseInt(FB._apiKey, 10),channelUrl:b});
},_computeContentSize:function() {
    var a = document.body,e = document.documentElement,i = 0,d = Math.max(a.offsetTop, 0),h = Math.max(e.offsetTop, 0),c = a.scrollHeight + d,b = a.offsetHeight + d,g = e.scrollHeight + h,f = e.offsetHeight + h;
    bottom = Math.max(c, b, g, f);
    if (a.offsetWidth < a.scrollWidth) {
        i = a.scrollWidth + a.offsetLeft;
    } else FB.Array.forEach(a.childNodes, function(j) {
        var k = j.offsetWidth + j.offsetLeft;
        if (k > i)i = k;
    });
    if (e.clientLeft > 0)i += (e.clientLeft * 2);
    if (e.clientTop > 0)bottom += (e.clientTop * 2);
    return {height:bottom,width:i};
}});
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' + '\uFF3D' + '\s' + ']*$'));
},_tx:function(d, a) {
    if (a !== undefined)if (typeof a != 'object') {
        FB.log('The second arg to FB.Intl._tx() must be an Object for ' + 'tx(' + d + ', ...)');
    } else {
        var c;
        for (var b in a)if (a.hasOwnProperty(b)) {
            if (FB.Intl._endsInPunct(a[b])) {
                c = new RegExp('\{' + b + '\}' + FB.Intl._punctCharClass + '*', 'g');
            } else c = new RegExp('\{' + b + '\}', 'g');
            d = d.replace(c, a[b]);
        }
    }
    return d;
},tx:function(b, a) {
    function c(e, d) {
        void(0);
    }

    if (!FB.Intl._stringTable)return null;
    return FBIntern.Intl._tx(FB.Intl._stringTable[b], a);
}});
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(e, d) {
        var c = parseInt(d.substr(1), 10),f = b[c + 1];
        if (f === null || f === undefined)return '';
        return f.toString();
    });
},escapeHTML:function(b) {
    var a = document.createElement('div');
    a.appendChild(document.createTextNode(b));
    return a.innerHTML.replace(/"/g, '&quot;').replace(/'/g, '&#39;');
},quote:function(c) {
    var a = /["\\\x00-\x1f\x7f-\x9f]/g,b = {'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'};
    return a.test(c) ? '"' + c.replace(a, function(d) {
        var e = b[d];
        if (e)return e;
        e = d.charCodeAt();
        return '\\u00' + Math.floor(e / 16).toString(16) + (e % 16).toString(16);
    }) + '"' : '"' + c + '"';
}});
FB.provide('Dom', {containsCss:function(c, a) {
    var b = ' ' + c.className + ' ';
    return b.indexOf(' ' + a + ' ') >= 0;
},addCss:function(b, a) {
    if (!FB.Dom.containsCss(b, a))b.className = b.className + ' ' + a;
},removeCss:function(b, a) {
    if (FB.Dom.containsCss(b, a)) {
        b.className = b.className.replace(a, '');
        FB.Dom.removeCss(b, a);
    }
},getByClass:function(b, c) {
    c = c || document.body;
    if (c.getElementsByClassName)return FB.Array.toArray(c.getElementsByClassName(b));
    var a = c.getElementsByTagName('*'),d = [];
    for (var e = 0,f = a.length; e < f; e++)if (this.containsCss(a[e], b))d[d.length] = a[e];
    return d;
},getStyle:function(a, c) {
    var d = false,b = a.style;
    if (a.currentStyle) {
        FB.Array.forEach(c.match(/\-([a-z])/g), function(e) {
            c = c.replace(e, e.substr(1, 1).toUpperCase());
        });
        d = a.currentStyle[c];
    } else {
        FB.Array.forEach(c.match(/[A-Z]/g), function(e) {
            c = c.replace(e, '-' + e.toLowerCase());
        });
        if (window.getComputedStyle) {
            d = document.defaultView.getComputedStyle(a, null).getPropertyValue(c);
            if (c == 'background-position-y' || c == 'background-position-x')if (d == 'top' || d == 'left')d = '0px';
        }
    }
    if (c == 'opacity') {
        if (a.filters && a.filters.alpha)return d;
        return d * 100;
    }
    return d;
},setStyle:function(a, c, d) {
    var b = a.style;
    if (c == 'opacity') {
        if (d >= 100)d = 99.999;
        if (d < 0)d = 0;
        b.opacity = d / 100;
        b.MozOpacity = d / 100;
        b.KhtmlOpacity = d / 100;
        if (a.filters)if (a.filters.alpha == undefined) {
            a.filter = "alpha(opacity=" + d + ")";
        } else a.filters.alpha.opacity = d;
    } else b[c] = d;
},addScript:function(b) {
    var a = document.createElement('script');
    a.type = "text/javascript";
    a.src = b;
    return document.getElementsByTagName('head')[0].appendChild(a);
},addCssRules:function(e, c) {
    if (!FB.Dom._cssRules)FB.Dom._cssRules = {};
    var a = true;
    FB.Array.forEach(c, function(f) {
        if (!(f in FB.Dom._cssRules)) {
            a = false;
            FB.Dom._cssRules[f] = true;
        }
    });
    if (a)return;
    if (!FB.UA.ie()) {
        var d = document.createElement('style');
        d.type = 'text/css';
        d.textContent = e;
        document.getElementsByTagName('head')[0].appendChild(d);
    } else try {
        document.createStyleSheet().cssText = e;
    } catch(b) {
        if (document.styleSheets[0])document.styleSheets[0].cssText += e;
    }
},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) {
    if (FB.Dom._isReady) {
        a && a();
    } else FB.Event.subscribe('dom.ready', a);
}});
(function() {
    function domReady() {
        FB.Dom._isReady = true;
        FB.Event.fire('dom.ready');
        FB.Event.clear('dom.ready');
    }

    if (FB.Dom._isReady || document.readyState == 'complete')return domReady();
    if (document.addEventListener) {
        document.addEventListener('DOMContentLoaded', domReady, false);
    } else if (document.attachEvent)document.attachEvent('onreadystatechange', domReady);
    if (FB.UA.ie() && window === top)(function() {
        try {
            document.documentElement.doScroll('left');
        } catch(error) {
            setTimeout(arguments.callee, 0);
            return;
        }
        domReady();
    })();
    var oldonload = window.onload;
    window.onload = function() {
        domReady();
        if (oldonload)if (typeof oldonload == 'string') {
            eval(oldonload);
        } else oldonload();
    };
})();
FB.provide('', {bind:function() {
    var a = Array.prototype.slice.call(arguments),c = a.shift(),b = a.shift();
    return function() {
        return c.apply(b, a.concat(Array.prototype.slice.call(arguments)));
    };
},Class:function(b, a, d) {
    if (FB.CLASSES[b])return FB.CLASSES[b];
    var c = a || function() {
    };
    c.prototype = d;
    c.prototype.bind = function(e) {
        return FB.bind(e, this);
    };
    c.prototype.constructor = c;
    FB.create(b, c);
    FB.CLASSES[b] = c;
    return c;
},subclass:function(d, b, c, e) {
    if (FB.CLASSES[d])return FB.CLASSES[d];
    var a = FB.create(b);
    FB.copy(e, a.prototype);
    e._base = a;
    e._callBase = function(g) {
        var f = Array.prototype.slice.call(arguments, 1);
        return a.prototype[g].apply(this, f);
    };
    return FB.Class(d, c ? c : function() {
        if (a.apply)a.apply(this, arguments);
    }, e);
},CLASSES:{}});
FB.provide('Type', {isType:function(a, b) {
    while (a)if (a.constructor === b || a === b) {
        return true;
    } else a = a._base;
    return false;
}});
FB.Class('Obj', null, FB.copy({setProperty:function(a, b) {
    if (FB.JSON.stringify(b) != FB.JSON.stringify(this[a])) {
        this[a] = b;
        this.fire(a, b);
    }
}}, FB.EventProvider));
FB.subclass('Dialog', 'Obj', function(a) {
    this.id = a;
    if (!FB.Dialog._dialogs) {
        FB.Dialog._dialogs = {};
        FB.Dialog._addOrientationHandler();
    }
    FB.Dialog._dialogs[a] = this;
}, {});
FB.provide('Dialog', {_dialogs:null,_lastYOffset:0,_loaderEl:null,_overlayEl:null,_stack:[],_active:null,_popStateListenerOn:false,_hideOnPopState:function(a) {
    FB.Dialog.hide(FB.Dialog._stack.pop());
},get:function(a) {
    return FB.Dialog._dialogs[a];
},_findRoot:function(a) {
    while (a) {
        if (FB.Dom.containsCss(a, 'fb_dialog'))return a;
        a = a.parentNode;
    }
},_createWWWLoader:function(a) {
    a = parseInt(a, 10);
    a = a ? a : 460;
    return FB.Dialog.create({content:('<div class="dialog_title">' + '  <a id="fb_dialog_loader_close">' + '    <div class="fb_dialog_close_icon"></div>' + '  </a>' + '  <span>Facebook</span>' + '  <div style="clear:both;"></div>' + '</div>' + '<div class="dialog_content"></div>' + '<div class="dialog_footer"></div>'),width:a});
},_createMobileLoader:function() {
    var a = FB.UA.nativeApp() ? '' : ('<table>' + '  <tbody>' + '    <tr>' + '      <td class="header_left">' + '        <label class="touchable_button">' + '          <input type="submit" value="' + FB.Intl._tx("Cancel") + '"' + '            id="fb_dialog_loader_close"/>' + '        </label>' + '      </td>' + '      <td class="header_center">' + '        <div>' + FB.Intl._tx("Loading...") + '</div>' + '      </td>' + '      <td class="header_right">' + '      </td>' + '    </tr>' + '  </tbody>' + '</table>');
    return FB.Dialog.create({classes:'loading' + (FB.UA.iPad() ? ' centered' : ''),content:('<div class="dialog_header">' + a + '</div>')});
},_restoreBodyPosition:function() {
    if (!FB.UA.iPad()) {
        var a = document.getElementsByTagName('body')[0];
        FB.Dom.removeCss(a, 'fb_hidden');
    }
},_showIPadOverlay:function() {
    if (!FB.UA.iPad())return;
    if (!FB.Dialog._overlayEl) {
        FB.Dialog._overlayEl = document.createElement('div');
        FB.Dialog._overlayEl.setAttribute('id', 'fb_dialog_ipad_overlay');
        FB.Content.append(FB.Dialog._overlayEl, null);
    }
    FB.Dialog._overlayEl.className = '';
},_hideIPadOverlay:function() {
    if (FB.UA.iPad())FB.Dialog._overlayEl.className = 'hidden';
},showLoader:function(a, d) {
    FB.Dialog._showIPadOverlay();
    if (!FB.Dialog._loaderEl)FB.Dialog._loaderEl = FB.Dialog._findRoot(FB.UA.mobile() ? FB.Dialog._createMobileLoader() : FB.Dialog._createWWWLoader(d));
    if (!a)a = function() {
    };
    var c = FB.$('fb_dialog_loader_close');
    FB.Dom.removeCss(c, 'fb_hidden');
    c.onclick = function() {
        FB.Dialog._hideLoader();
        FB.Dialog._restoreBodyPosition();
        FB.Dialog._hideIPadOverlay();
        a();
    };
    var b = FB.$('fb_dialog_ipad_overlay');
    if (b)b.ontouchstart = c.onclick;
    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._setDialogSizes();
    FB.Dialog._lowerActive();
    FB.Dialog._active = a;
    var b = FB.Canvas.getPageInfo(function(c) {
        FB.Dialog._centerActive(c);
    });
    FB.Dialog._centerActive(b);
},_lowerActive:function() {
    if (!FB.Dialog._active)return;
    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;
    });
},_centerActive:function(i) {
    var b = FB.Dialog._active;
    if (!b)return;
    var k = FB.Dom.getViewportInfo();
    var l = parseInt(b.offsetWidth, 10);
    var c = parseInt(b.offsetHeight, 10);
    var d = k.scrollLeft + (k.width - l) / 2;
    var f = (k.height - c) / 2.5;
    if (d < f)f = d;
    var e = k.height - c - f;
    var j = i.scrollTop - i.offsetTop + (i.clientHeight - c) / 2;
    if (j < f) {
        j = f;
    } else if (j > e)j = e;
    j += k.scrollTop;
    if (FB.UA.mobile()) {
        var h = 100;
        if (FB.UA.iPad()) {
            h += (k.height - c) / 2;
        } else {
            var a = document.getElementsByTagName('body')[0];
            FB.Dom.addCss(a, 'fb_hidden');
            d = 10000;
            j = 10000;
        }
        var g = FB.Dom.getByClass('fb_dialog_padding', b);
        if (g.length)g[0].style.height = h + 'px';
    }
    b.style.left = (d > 0 ? d : 0) + 'px';
    b.style.top = (j > 0 ? j : 0) + 'px';
},_setDialogSizes:function() {
    if (!FB.UA.mobile() || FB.UA.iPad())return;
    for (var a in FB.Dialog._dialogs)if (document.getElementById(a)) {
        var b = document.getElementById(a);
        b.style.width = FB.UIServer.getDefaultSize().width + 'px';
        b.style.height = FB.UIServer.getDefaultSize().height + 'px';
    }
},_handleOrientationChange:function() {
    if (FB.UA.iPad()) {
        FB.Dialog._centerActive(FB.Canvas.getPageInfo());
    } else for (var a in FB.Dialog._dialogs)if (document.getElementById(a))document.getElementById(a).style.width = FB.UIServer.getDefaultSize().width + 'px';
},_addOrientationHandler:function() {
    if (!FB.UA.mobile())return;
    var a = "onorientationchange" in window ? 'orientationchange' : 'resize';
    FB.Event.listen(window, a, FB.Dialog._handleOrientationChange);
},create:function(e) {
    e = e || {};
    var d = document.createElement('div'),c = document.createElement('div'),a = 'fb_dialog';
    if (e.closeIcon && e.onClose) {
        var b = document.createElement('a');
        b.className = 'fb_dialog_close_icon';
        b.onclick = e.onClose;
        d.appendChild(b);
    }
    a += ' ' + (e.classes || '');
    if (FB.UA.ie()) {
        a += ' fb_dialog_legacy';
        FB.Array.forEach(['vert_left','vert_right','horiz_top','horiz_bottom','top_left','top_right','bottom_left','bottom_right'], function(h) {
            var i = document.createElement('span');
            i.className = 'fb_dialog_' + h;
            d.appendChild(i);
        });
    } else a += (FB.UA.mobile()) ? ' fb_dialog_mobile' : ' fb_dialog_advanced';
    if (e.content)FB.Content.append(e.content, c);
    d.className = a;
    var g = parseInt(e.width, 10);
    if (!isNaN(g))d.style.width = g + 'px';
    c.className = 'fb_dialog_content';
    d.appendChild(c);
    if (FB.UA.mobile()) {
        var f = document.createElement('div');
        f.className = 'fb_dialog_padding';
        d.appendChild(f);
    }
    FB.Content.append(d);
    if (e.visible)FB.Dialog.show(d);
    return c;
},show:function(a) {
    var b = FB.Dialog._findRoot(a);
    if (b) {
        FB.Dialog._removeStacked(b);
        FB.Dialog._hideLoader();
        FB.Dialog._makeActive(b);
        FB.Dialog._stack.push(b);
        if ('fbCallID' in a)FB.Dialog.get(a.fbCallID).fire('iframe_show');
        if (!FB.Event._popStateListenerOn) {
            FB.Event.listen(window, 'popstate', FB.Dialog._hideOnPopState);
            FB.Event._popStateListenerOn = true;
        }
    }
},hide:function(a) {
    var b = FB.Dialog._findRoot(a);
    if (b == FB.Dialog._active) {
        FB.Dialog._lowerActive();
        FB.Dialog._restoreBodyPosition();
        FB.Dialog._hideIPadOverlay();
        if ('fbCallID' in a)FB.Dialog.get(a.fbCallID).fire('iframe_hide');
        if (FB.Event._popStateListenerOn) {
            FB.Event.unlisten(window, 'popstate', FB.Dialog._hideOnPopState);
            FB.Event._popStateListenerOn = false;
        }
    }
},remove:function(a) {
    a = FB.Dialog._findRoot(a);
    if (a) {
        var b = FB.Dialog._active == a;
        FB.Dialog._removeStacked(a);
        if (b) {
            FB.Dialog._hideLoader();
            if (FB.Dialog._stack.length > 0) {
                FB.Dialog.show(FB.Dialog._stack.pop());
            } else {
                FB.Dialog._lowerActive();
                FB.Dialog._restoreBodyPosition();
                FB.Dialog._hideIPadOverlay();
            }
        } else if (FB.Dialog._active === null && FB.Dialog._stack.length > 0)FB.Dialog.show(FB.Dialog._stack.pop());
        window.setTimeout(function() {
            a.parentNode.removeChild(a);
        }, 3000);
    }
},isActive:function(a) {
    var b = FB.Dialog._findRoot(a);
    return b && b === FB.Dialog._active;
}});
FB.provide('', {ui:function(f, b) {
    if (!f.method) {
        FB.log('"method" is a required parameter for FB.ui().');
        return null;
    }
    if ((f.method == 'permissions.request' || f.method == 'permissions.oauth') && (f.display == 'iframe' || f.display == 'dialog')) {
        var h;
        var i;
        if (FB._oauth) {
            h = f.scope;
            i = h.split(/\s|,/g);
        } else {
            h = f.perms;
            i = h.split(',');
        }
        for (var e = 0; e < i.length; e++) {
            var g = FB.String.trim(i[e]);
            if (g && !FB.initSitevars.iframePermissions[g]) {
                f.display = 'popup';
                break;
            }
        }
    }
    var a = FB.UIServer.prepareCall(f, b);
    if (!a)return null;
    var d = a.params.display;
    if (d === 'dialog') {
        d = 'iframe';
    } else if (d === 'none')d = 'hidden';
    var c = FB.UIServer[d];
    if (!c) {
        FB.log('"display" must be one of "popup", ' + '"dialog", "iframe", "touch", "async", "hidden", or "none"');
        return null;
    }
    c(a);
    return a.dialog;
}});
FB.provide('UIServer', {Methods:{},_loadedNodes:{},_defaultCb:{},_resultToken:'"xxRESULTTOKENxx"',_forceHTTPS:false,genericTransform:function(a) {
    if (a.params.display == 'dialog' || a.params.display == 'iframe') {
        a.params.display = 'iframe';
        a.params.channel = FB.UIServer._xdChannelHandler(a.id, 'parent.parent');
    }
    return a;
},prepareCall:function(h, b) {
    var g = h.method.toLowerCase(),f = FB.copy({}, FB.UIServer.Methods[g]),e = FB.guid(),c = (f.noHttps !== true) && (FB._https || (g !== 'auth.status' && g != 'login.status'));
    FB.UIServer._forceHTTPS = c;
    FB.copy(h, {api_key:FB._apiKey,app_id:FB._apiKey,locale:FB._locale,sdk:'joey',access_token:c && FB.getAccessToken() || undefined});
    h.display = FB.UIServer.getDisplayMode(f, h);
    if (!f.url)f.url = 'dialog/' + g;
    var a = {cb:b,id:e,size:f.size || FB.UIServer.getDefaultSize(),url:FB.getDomain(c ? 'https_www' : 'www') + f.url,forceHTTPS:c,params:h,name:g,dialog:new FB.Dialog(e)};
    var j = f.transform ? f.transform : FB.UIServer.genericTransform;
    if (j) {
        a = j(a);
        if (!a)return;
    }
    var d = f.getXdRelation || FB.UIServer.getXdRelation;
    var i = d(a.params);
    if (!(a.id in FB.UIServer._defaultCb) && !('next' in a.params))a.params.next = FB.UIServer._xdResult(a.cb, a.id, i, true);
    if (i === 'parent')a.params.channel_url = FB.UIServer._xdChannelHandler(e, 'parent.parent');
    a = FB.UIServer.prepareParams(a);
    return a;
},prepareParams:function(a) {
    var c = a.params.method;
    if (!FB.Canvas.isTabIframe())delete a.params.method;
    if (FB.TemplateUI && FB.TemplateUI.supportsTemplate(c, a)) {
        if (FB.reportTemplates)console.log("Using template for " + c + ".");
        FB.TemplateUI.useCachedUI(c, a);
    } else {
        a.params = FB.JSON.flatten(a.params);
        var b = FB.QS.encode(a.params);
        if (FB.UIServer.urlTooLongForIE(a.url + b)) {
            a.post = true;
        } else if (b)a.url += '?' + b;
    }
    return a;
},urlTooLongForIE:function(a) {
    return a.length > 2000;
},getDisplayMode:function(a, b) {
    if (b.display === 'hidden' || b.display === 'none')return b.display;
    if (FB.Canvas.isTabIframe() && b.display !== 'popup')return 'async';
    if (FB.UA.mobile() || b.display === 'touch')return 'touch';
    if (!FB.getAccessToken() && b.display == 'dialog' && !a.loggedOutIframe) {
        FB.log('"dialog" mode can only be used when the user is connected.');
        return 'popup';
    }
    if (a.connectDisplay && !FB._inCanvas)return a.connectDisplay;
    return b.display || (FB.getAccessToken() ? 'dialog' : 'popup');
},getXdRelation:function(b) {
    var a = b.display;
    if (a === 'popup' || a === 'touch')return 'opener';
    if (a === 'dialog' || a === 'iframe' || a === 'hidden' || a === 'none')return 'parent';
    if (a === 'async')return 'parent.frames[' + window.name + ']';
},popup:function(b) {
    var a = typeof window.screenX != 'undefined' ? window.screenX : window.screenLeft,i = typeof window.screenY != 'undefined' ? window.screenY : window.screenTop,g = typeof window.outerWidth != 'undefined' ? window.outerWidth : document.documentElement.clientWidth,f = typeof window.outerHeight != 'undefined' ? window.outerHeight : (document.documentElement.clientHeight - 22),k = FB.UA.mobile() ? null : b.size.width,d = FB.UA.mobile() ? null : b.size.height,h = (a < 0) ? window.screen.width + a : a,e = parseInt(h + ((g - k) / 2), 10),j = parseInt(i + ((f - d) / 2.5), 10),c = [];
    if (k !== null)c.push('width=' + k);
    if (d !== null)c.push('height=' + d);
    c.push('left=' + e);
    c.push('top=' + j);
    c.push('scrollbars=1');
    if (b.name == 'permissions.request' || b.name == 'permissions.oauth')c.push('location=1,toolbar=0');
    c = c.join(',');
    if (b.post) {
        FB.UIServer.setLoadedNode(b, window.open('about:blank', b.id, c));
        FB.Content.submitToTarget({url:b.url,target:b.id,params:b.params});
    } else FB.UIServer.setLoadedNode(b, window.open(b.url, b.id, c));
    if (b.id in FB.UIServer._defaultCb)FB.UIServer._popupMonitor();
},setLoadedNode:function(a, b) {
    FB.UIServer._loadedNodes[a.id] = b;
    if (a.params)b.fbCallID = a.id;
},getLoadedNode:function(a) {
    return FB.UIServer._loadedNodes[a.id];
},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';
    var b = function() {
        FB.UIServer._triggerDefault(a.id);
    };
    a.root = FB.Dialog.create({onClose:b,closeIcon:true,classes:(FB.UA.iPad() ? 'centered' : '')});
    if (!a.hideLoader)FB.Dialog.showLoader(b, a.size.width);
    FB.Dom.addCss(a.root, 'fb_dialog_iframe');
    FB.UIServer._insertIframe(a);
},touch:function(a) {
    if (a.params && a.params.in_iframe) {
        if (a.ui_created) {
            FB.Dialog.showLoader(function() {
                FB.UIServer._triggerDefault(a.id);
            }, 0);
        } else FB.UIServer.iframe(a);
    } else if (FB.UA.nativeApp() && !a.ui_created) {
        a.frame = a.id;
        FB.Native.onready(function() {
            FB.UIServer.setLoadedNode(a, FB.Native.open(a.url + '#cb=' + a.frameName));
        });
        FB.UIServer._popupMonitor();
    } else if (!a.ui_created)FB.UIServer.popup(a);
},async:function(a) {
    a.frame = window.name;
    delete a.url;
    delete a.size;
    FB.Arbiter.inform('showDialog', a);
},getDefaultSize:function() {
    if (FB.UA.mobile())if (FB.UA.iPad()) {
        return {width:500,height:590};
    } else if (FB.UA.android()) {
        return {width:screen.availWidth,height:screen.availHeight};
    } else {
        var c = window.innerWidth;
        var a = window.innerHeight;
        var b = c / a > 1.2;
        return {width:c,height:Math.max(a, (b ? screen.width : screen.height))};
    }
    return {width:575,height:240};
},_insertIframe:function(b) {
    FB.UIServer._loadedNodes[b.id] = false;
    var a = function(c) {
        if (b.id in FB.UIServer._loadedNodes)FB.UIServer.setLoadedNode(b, c);
    };
    if (b.post) {
        FB.Content.insertIframe({url:'about:blank',root:b.root,className:b.className,width:b.size.width,height:b.size.height,id:b.id,onInsert:a,onload:function(c) {
            FB.Content.submitToTarget({url:b.url,target:c.name,params:b.params});
        }});
    } else FB.Content.insertIframe({url:b.url,root:b.root,className:b.className,width:b.size.width,height:b.size.height,id:b.id,name:b.frameName,onInsert:a});
},_handleResizeMessage:function(b, a) {
    var c = FB.UIServer._loadedNodes[b];
    if (a.height)c.style.height = a.height + 'px';
    if (a.width)c.style.width = a.width + 'px';
    FB.Arbiter.inform('resize.ack', a || {}, 'parent.frames[' + c.name + ']', true);
    if (!FB.Dialog.isActive(c))FB.Dialog.show(c);
},_triggerDefault:function(a) {
    FB.UIServer._xdRecv({frame:a}, FB.UIServer._defaultCb[a] || function() {
    });
},_popupMonitor:function() {
    var a;
    for (var b in FB.UIServer._loadedNodes)if (FB.UIServer._loadedNodes.hasOwnProperty(b) && b in FB.UIServer._defaultCb) {
        var c = FB.UIServer._loadedNodes[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(b, c) {
    var a = (FB.UIServer._forceHTTPS && FB.UA.ie() !== 7);
    return FB.XD.handler(function(d) {
        var e = FB.UIServer._loadedNodes[b];
        if (!e)return;
        if (d.type == 'resize') {
            FB.UIServer._handleResizeMessage(b, d);
        } else if (d.type == 'hide') {
            FB.Dialog.hide(e);
        } else if (d.type == 'rendered') {
            var f = FB.Dialog._findRoot(e);
            FB.Dialog.show(f);
        } else if (d.type == 'fireevent')FB.Event.fire(d.event);
    }, c, true, null, a);
},_xdNextHandler:function(a, b, d, c) {
    if (c)FB.UIServer._defaultCb[b] = a;
    return FB.XD.handler(function(e) {
        FB.UIServer._xdRecv(e, a);
    }, d) + '&frame=' + b;
},_xdRecv:function(b, a) {
    var c = FB.UIServer._loadedNodes[b.frame];
    try {
        if (FB.Dom.containsCss(c, 'FB_UI_Hidden')) {
            window.setTimeout(function() {
                c.parentNode.parentNode.removeChild(c.parentNode);
            }, 3000);
        } else if (FB.Dom.containsCss(c, 'FB_UI_Dialog')) {
            FB.Dialog.remove(c);
            if (FB.TemplateUI && FB.UA.mobile())FB.TemplateUI.populateCache();
        }
    } catch(d) {
    }
    try {
        if (c.close) {
            c.close();
            FB.UIServer._popupCount--;
        }
    } catch(e) {
    }
    delete FB.UIServer._loadedNodes[b.frame];
    delete FB.UIServer._defaultCb[b.frame];
    a(b);
},_xdResult:function(a, b, d, c) {
    return (FB.UIServer._xdNextHandler(function(e) {
        a && a(e.result && e.result != FB.UIServer._resultToken && FB.JSON.parse(e.result));
    }, b, d, c) + '&result=' + encodeURIComponent(FB.UIServer._resultToken));
}});
FB.provide('', {getLoginStatus:function(a, b) {
    if (!FB._apiKey) {
        FB.log('FB.getLoginStatus() called before calling FB.init().');
        return;
    }
    if (a)if (!b && FB.Auth._loadState == 'loaded') {
        if (FB._oauth) {
            a({status:FB._userStatus,authResponse:FB._authResponse});
        } else a({status:FB._userStatus,session:FB._session});
        return;
    } else FB.Event.subscribe('FB.loginStatus', a);
    if (!b && FB.Auth._loadState == 'loading')return;
    FB.Auth._loadState = 'loading';
    var c = function(d) {
        FB.Auth._loadState = 'loaded';
        FB.Event.fire('FB.loginStatus', d);
        FB.Event.clear('FB.loginStatus');
    };
    if (FB.UA.mobile() && window.postMessage && window.localStorage) {
        FB.Auth.staticAuthCheck(c);
    } else if (FB._oauth) {
        FB.ui({method:'login.status',display:'none'}, c);
    } else FB.ui({method:'auth.status',display:'hidden'}, c);
},getSession:function() {
    if (FB._oauth)throw new Error('FB.getSession incompatible with OAuth2.');
    return FB._session;
},getAuthResponse:function() {
    if (!FB._oauth)throw new Error('getAuthResponse called when OAuth2 support is ' + 'disabled.  Please fix.');
    return FB._authResponse;
},getAccessToken:function() {
    if (FB._oauth) {
        return (FB._authResponse && FB._authResponse.accessToken) || null;
    } else return (FB._session && FB._session.access_token) || null;
},getUserID:function() {
    if (FB._oauth) {
        return FB._userID;
    } else return (FB._session && FB._session.uid) || 0;
},login:function(a, b) {
    if (FB._oauth) {
        if (b && b.perms)throw new Error('OAuth2 specification states that \'perms\' ' + 'should now be called \'scope\'.  Please update.');
        FB.ui(FB.copy({method:'permissions.oauth',display:'popup'}, b || {}), a);
    } else FB.ui(FB.copy({method:'permissions.request',display:'popup'}, b || {}), a);
},logout:function(a) {
    FB.ui({method:'auth.logout',display:'hidden'}, a);
}});
FB.provide('Auth', {_callbacks:[],_xdStorePath:'xd_localstorage/',staticAuthCheck:function(b) {
    var a = FB.getDomain('https_staticfb');
    FB.Content.insertIframe({root:FB.Content.appendHidden(''),className:'FB_UI_Hidden',url:a + FB.Auth._xdStorePath,onload:function(f) {
        var g = frames[f.name];
        var d = FB.guid();
        var e = false;
        var c = function(h) {
            if (!e) {
                e = true;
                FB.Auth._staticAuthHandler(b, h);
            }
        };
        FB.XD.handler(c, 'parent', true, d);
        setTimeout(c, 500);
        g.postMessage(FB.JSON.stringify({method:'getItem',params:['LoginInfo_' + FB._apiKey,true],returnCb:d}), a);
    }});
},_staticAuthHandler:function(b, d) {
    if (d && d.data && d.data.status && d.data.status == 'connected') {
        var c;
        var f = d.data.status;
        if (FB._oauth) {
            var a = d.data.authResponse || null;
            c = FB.Auth.setAuthResponse(a, f);
        } else {
            var e = d.data.session || null;
            c = FB.Auth.setSession(e, f);
        }
        b && b(c);
    } else if (FB._oauth) {
        FB.ui({method:'login.status',display:'none'}, b);
    } else FB.ui({method:'auth.status',display:'hidden'}, b);
},setSession:function(e, g) {
    if (FB._oauth)throw new Error('FB.Auth.setSession incompatible with OAuth2.');
    var b = !FB._session && e,c = FB._session && !e,a = FB._session && e && FB._session.uid != e.uid,f = b || c || (FB._session && e && FB._session.access_token != e.access_token),h = g != FB._userStatus;
    var d = {session:e,status:g};
    FB._session = e;
    FB._userStatus = g;
    if (f && FB.Cookie && FB.Cookie.getEnabled())FB.Cookie.set(e);
    if (h)FB.Event.fire('auth.statusChange', d);
    if (c || a)FB.Event.fire('auth.logout', d);
    if (b || a)FB.Event.fire('auth.login', d);
    if (f)FB.Event.fire('auth.sessionChange', d);
    if (FB.Auth._refreshTimer) {
        window.clearTimeout(FB.Auth._refreshTimer);
        delete FB.Auth._refreshTimer;
    }
    if (FB.Auth._loadState && e && e.expires)FB.Auth._refreshTimer = window.setTimeout(function() {
        FB.getLoginStatus(null, true);
    }, 1200000);
    return d;
},setAuthResponse:function(a, h) {
    if (!FB._oauth)throw new Error('FB.Auth.setAuthResponse only compatible with OAuth2.');
    var j = 0;
    if (a)if (a.userID) {
        j = a.userID;
    } else if (a.signedRequest) {
        var f = FB.Auth.parseSignedRequest(a.signedRequest);
        if (f && f.user_id)j = f.user_id;
    }
    var d = !FB._userID && a,e = FB._userID && !a,c = a && FB._userID != j,b = d || e || c,i = h != FB._userStatus;
    var g = {authResponse:a,status:h};
    FB._authResponse = a;
    FB._userID = j;
    FB._userStatus = h;
    if (e || c)FB.Event.fire('auth.logout', g);
    if (d || c)FB.Event.fire('auth.login', g);
    if (b)FB.Event.fire('auth.authResponseChange', g);
    if (i)FB.Event.fire('auth.statusChange', g);
    if (FB.Auth._refreshTimer) {
        window.clearTimeout(FB.Auth._refreshTimer);
        delete FB.Auth._refreshTimer;
    }
    if (FB.Auth._loadState && a)FB.Auth._refreshTimer = window.setTimeout(function() {
        FB.getLoginStatus(null, true);
    }, 1200000);
    return g;
},xdHandler:function(a, b, f, c, e, d) {
    return FB.UIServer._xdNextHandler(FB.Auth.xdResponseWrapper(a, e, d), b, f, c);
},xdResponseWrapper:function(a, c, b) {
    return function(e) {
        try {
            b = FB.JSON.parse(e.session);
        } catch(i) {
        }
        if (b)c = 'connected';
        if (e && e.fb_https && !FB._https)FB._https = true;
        var h = FB.Auth.setSession(b || null, c);
        h.perms = e && e.perms || null;
        if (e && e.required_perms && FB.UA.nativeApp()) {
            var g = JSON.parse(e.required_perms);
            var d = [];
            FB.Array.forEach(g, function(k, j) {
                d = d.concat(k);
            });
            var f = d.join(',');
            FB.login(a, {perms:f});
        } else a && a(h);
    };
},_getSessionOrigin:function() {
    if (FB.UA.nativeApp())return 3;
    if (FB.UA.mobile())return 2;
    if (FB._inCanvas)return 5;
    return 1;
},xdNewHandler:function(b, c, d, a) {
    if (!FB._oauth)throw new Error('xdNewHandler should not be invoked unless ' + 'OAuth2 is being used.');
    return FB.UIServer._xdNextHandler(FB.Auth.xdNewResponseWrapper(b, a), c, d, true);
},xdNewResponseWrapper:function(b, a) {
    if (!FB._oauth)throw new Error('xdNewResponseWrapper should not be invoked unless ' + 'OAuth2 is being used.');
    return function(d) {
        if (d.access_token) {
            var e = FB.Auth.parseSignedRequest(d.signed_request);
            a = {accessToken:d.access_token,userID:e.user_id,expiresIn:parseInt(d.expires_in, 10),signedRequest:d.signed_request};
            FB.Auth.setAuthResponse(a, 'connected');
            if (FB.Cookie.getEnabled()) {
                var c = (new Date()).getTime() + 1000 * a.expiresIn;
                FB.Cookie.setSignedRequestCookie(d.signed_request, c);
            }
        } else if (!FB._authResponse && a) {
            FB.Auth.setAuthResponse(a, 'connected');
        } else {
            var f;
            if (d.error && d.error === 'not_authorized') {
                f = 'not_authorized';
            } else f = 'unknown';
            FB.Auth.setAuthResponse(null, f);
            if (FB.Cookie.getEnabled())FB.Cookie.clearSignedRequestCookie();
        }
        if (d && d.fb_https && !FB._https)FB._https = true;
        response = {authResponse:FB._authResponse,status:FB._userStatus};
        b && b(response);
    };
},parseSignedRequest:function(d) {
    if (!d)return null;
    var a = d.split('.', 2);
    var c = a[1];
    var b = FB.Auth.base64URLDecode(c);
    return FB.JSON.parse(b);
},base64URLDecode:function(j) {
    j = j.replace(/\-/g, '+').replace(/\_/g, '/');
    if (j.length % 4 !== 0) {
        var m = 4 - j.length % 4;
        for (var d = 0; d < m; d++)j = j + '=';
    }
    var k = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
    var l = "";
    var a,b,c = "";
    var e,f,g,h = "";
    for (var i = 0; i < j.length; i += 4) {
        e = k.indexOf(j.charAt(i));
        f = k.indexOf(j.charAt(i + 1));
        g = k.indexOf(j.charAt(i + 2));
        h = k.indexOf(j.charAt(i + 3));
        a = (e << 2) | (f >> 4);
        b = ((f & 15) << 4) | (g >> 2);
        c = ((g & 3) << 6) | h;
        l = l + String.fromCharCode(a);
        if (g != 64)l = l + String.fromCharCode(b);
        if (h != 64)l = l + String.fromCharCode(c);
        a = b = c = "";
        e = f = g = h = "";
    }
    return unescape(l);
}});
FB.provide('UIServer.Methods', {'permissions.request':{size:{width:(FB.UA.mobile() ? null : 640),height:(FB.UA.mobile() ? null : 241)},transform:function(a) {
    if (!FB._apiKey) {
        FB.log('FB.login() called before calling FB.init().');
        return;
    }
    if (FB._session && !a.params.perms && !a.params.auth_type) {
        FB.log('FB.login() called when user is already connected.');
        a.cb && a.cb({status:FB._userStatus,session:FB._session});
        return;
    }
    a = FB.UIServer.genericTransform(a);
    a.cb = FB.Auth.xdResponseWrapper(a.cb, FB._userStatus, FB._session);
    a.params.method = 'permissions.request';
    FB.copy(a.params, {fbconnect:FB._inCanvas ? 0 : 1,return_session:1,session_version:3});
    return a;
}},'permissions.oauth':{url:'dialog/oauth',size:{width:(FB.UA.mobile() ? null : 627),height:(FB.UA.mobile() ? null : 326)},transform:function(a) {
    if (!FB._apiKey) {
        FB.log('FB.login() called before FB.init().');
        return;
    }
    if (FB._authResponse && !a.params.scope) {
        FB.log('FB.login() called when user is already connected.');
        a.cb && a.cb({status:FB._userStatus,authResponse:FB._authResponse});
        return;
    }
    var b = a.cb,c = a.id;
    delete a.cb;
    FB.copy(a.params, {client_id:FB._apiKey,redirect_uri:FB.Auth.xdNewHandler(b, c, 'opener'),origin:FB.Auth._getSessionOrigin(),response_type:'token,signed_request'});
    return a;
}},'auth.logout':{url:'logout.php',transform:function(a) {
    if (!FB._apiKey) {
        FB.log('FB.logout() called before calling FB.init().');
    } else if (FB._oauth && !FB._authResponse) {
        FB.log('FB.logout() called without an access token.');
    } else if (!FB._oauth && !FB._session) {
        FB.log('FB.logout() called without a session.');
    } else {
        if (FB._oauth) {
            a.params.next = FB.Auth.xdNewHandler(a.cb, a.id, 'parent');
        } else a.params.next = FB.Auth.xdHandler(a.cb, a.id, 'parent', false, 'unknown');
        return a;
    }
}},'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,extern:FB._inCanvas ? 0 : 2,session_origin:FB.Auth._getSessionOrigin()});
    return a;
}},'login.status':{url:'dialog/oauth',transform:function(a) {
    var b = a.cb,c = a.id;
    delete a.cb;
    FB.copy(a.params, {client_id:FB._apiKey,redirect_uri:FB.Auth.xdNewHandler(b, c, 'parent'),origin:FB.Auth._getSessionOrigin(),response_type:'token,signed_request,code'});
    return a;
}}});
FB.provide('CanvasInsights', {setDoneLoading:function(a) {
    FB.Canvas.setDoneLoading(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;
},loadSignedRequest:function() {
    var a = document.cookie.match('\\bfbsr_' + FB._apiKey + '=([^;]*)\\b');
    if (!a)return null;
    return a[1];
},setSignedRequestCookie:function(b, a) {
    if (!FB._oauth)throw new Error('FB.Cookie.setSignedRequestCookie should only be ' + 'used with OAuth2.');
    if (!b)throw new Error('Value passed to FB.Cookie.setSignedRequestCookie ' + 'was empty.');
    if (!FB.Cookie.getEnabled())return;
    FB.Cookie.setRaw('fbsr_', b, a);
},clearSignedRequestCookie:function() {
    if (!FB._oauth)throw new Error('FB.Cookie.setSignedRequestCookie should only be ' + 'used with OAuth2.');
    if (!FB.Cookie.getEnabled())return;
    FB.Cookie.setRaw('fbsr_', '', 0);
},setRaw:function(c, e, d, a) {
    var b = new Date(d * 1000).toGMTString();
    document.cookie = c + FB._apiKey + '=' + e + (e && d === 0 ? '' : '; expires=' + b) + '; path=/' + (a ? '; domain=.' + a : '');
},set:function(a) {
    if (!a) {
        FB.Cookie.clear();
        return;
    }
    FB.Cookie.setRaw('fbs_', '"' + FB.QS.encode(a) + '"', a.expires, a.base_domain);
    FB.Cookie._domain = a.base_domain;
},clear:function() {
    FB.Cookie.setRaw('fbs_', '', 0, FB.Cookie._domain);
}});
FB.provide('Frictionless', {_allowedRecipients:{},_useFrictionless:false,_updateRecipients:function() {
    FB.Frictionless._allowedRecipients = {};
    FB.api('/me/apprequestformerrecipients', function(a) {
        if (!a || a.error)return;
        FB.Array.forEach(a.data, function(b) {
            FB.Frictionless._allowedRecipients[b.recipient_id] = true;
        }, false);
    });
},init:function() {
    FB.Frictionless._useFrictionless = true;
    FB.getLoginStatus(function(a) {
        if (a.status == 'connected')FB.Frictionless._updateRecipients();
    });
    FB.Event.subscribe('auth.login', function(a) {
        if (a.session)FB.Frictionless._updateRecipients();
    });
},_processRequestResponse:function(a, b) {
    return function(e) {
        var d = e && typeof e.frictionless_value !== 'undefined';
        var f = e && e.updated_frictionless;
        if (FB.Frictionless._useFrictionless && (f || d)) {
            FB.Frictionless._updateRecipients();
            if (d) {
                var c = [];
                FB.Array.forEach(e.request_ids, function(g) {
                    c.push(g);
                }, false);
                e.request_ids = c;
            }
        }
        if (e) {
            if (!b && e.frictionless) {
                FB.Dialog._hideLoader();
                FB.Dialog._restoreBodyPosition();
                FB.Dialog._hideIPadOverlay();
            }
            delete e.frictionless;
        }
        a && a(e);
    };
},isAllowed:function(c) {
    if (!c)return false;
    if (typeof c === 'number')return FB.Frictionless._allowedRecipients[c];
    if (typeof c === 'string')c = c.split(',');
    c = FB.Array.map(c, FB.String.trim);
    var a = true;
    var b = false;
    FB.Array.forEach(c, function(d) {
        a = a && FB.Frictionless._allowedRecipients[d];
        b = true;
    }, false);
    return a && b;
}});
FB.provide('', {initSitevars:{},init:function(a) {
    a = FB.copy(a || {}, {logging:true,status:true});
    FB._userID = 0;
    FB._apiKey = a.appId || a.apiKey;
    FB._oauth = FB.forceOAuth || !!a.oauth;
    if (!a.logging && window.location.toString().indexOf('fb_debug=1') < 0)FB._logging = false;
    if (FB.initSitevars.enableMobile)FB.UA._enableMobile = true;
    FB.XD.init(a.channelUrl);
    if (FB.UA.mobile() && FB.TemplateUI && FB.TemplateData && FB.TemplateData._enabled && a.useCachedDialogs !== false) {
        FB.TemplateUI.init();
        FB.Event.subscribe('auth.statusChange', FB.TemplateData.update);
    }
    if (a.reportTemplates)FB.reportTemplates = true;
    if (a.frictionlessRequests)FB.Frictionless.init();
    if (FB._apiKey) {
        FB.Cookie.setEnabled(a.cookie);
        if (FB._oauth) {
            if (a.authResponse) {
                FB.Auth.setAuthResponse(a.authResponse, 'connected');
            } else {
                var c = FB.Cookie.loadSignedRequest();
                var b = FB.Auth.parseSignedRequest(c);
                FB._userID = (b && b.user_id) || 0;
            }
        } else {
            a.session = a.session || FB.Cookie.load();
            FB.Auth.setSession(a.session, a.session ? 'connected' : 'unknown');
        }
        if (a.status)FB.getLoginStatus();
    }
    if (FB._inCanvas)FB.Canvas.init();
    FB.Event.subscribe('xfbml.parse', function() {
        FB.XFBML.IframeWidget.batchWidgetPipeRequests();
    });
    if (a.xfbml)window.setTimeout(function() {
        if (FB.XFBML)if (FB.initSitevars.parseXFBMLBeforeDomReady) {
            FB.XFBML.parse();
            var d = window.setInterval(function() {
                FB.XFBML.parse();
            }, 100);
            FB.Dom.ready(function() {
                window.clearInterval(d);
                FB.XFBML.parse();
            });
        } else FB.Dom.ready(FB.XFBML.parse);
    }, 0);
    if (FB.Canvas && FB.Canvas.Prefetcher)FB.Canvas.Prefetcher._maybeSample();
}});
FB.provide('Canvas.Prefetcher', {_sampleRate:0,_appIdsBlacklist:[],_links:[],COLLECT_AUTOMATIC:0,COLLECT_MANUAL:1,_collectionMode:0,addStaticResource:function(a) {
    if (!FB._inCanvas || !FB._apiKey)return;
    FB.Canvas.Prefetcher._links.push(a);
},setCollectionMode:function(a) {
    if (!FB._inCanvas || !FB._apiKey)return false;
    if (a != FB.Canvas.Prefetcher.COLLECT_AUTOMATIC && a != FB.Canvas.Prefetcher.COLLECT_MANUAL)return false;
    FB.Canvas.Prefetcher._collectionMode = a;
},_maybeSample:function() {
    if (!FB._inCanvas || !FB._apiKey || !FB.Canvas.Prefetcher._sampleRate)return;
    if (window.name.indexOf('_fb_https') > -1)return;
    var a = Math.random();
    if (a > 1 / FB.Canvas.Prefetcher._sampleRate)return;
    if (FB.Canvas.Prefetcher._appIdsBlacklist == '*')return;
    if (FB.Array.indexOf(FB.Canvas.Prefetcher._appIdsBlacklist, parseInt(FB._apiKey, 10)) != -1)return;
    window.setTimeout(FB.Canvas.Prefetcher._sample, 30000);
},_sample:function() {
    var b = {object:'data',link:'href',script:'src'};
    if (FB.Canvas.Prefetcher._collectionMode == FB.Canvas.Prefetcher.COLLECT_AUTOMATIC)FB.Array.forEach(b, function(c, d) {
        FB.Array.forEach(window.document.getElementsByTagName(d), function(e) {
            if (e[c])FB.Canvas.Prefetcher._links.push(e[c]);
        });
    });
    var a = FB.JSON.stringify(FB.Canvas.Prefetcher._links);
    FB.api(FB._apiKey + '/staticresources', 'post', {urls:a});
    FB.Canvas.Prefetcher._links = [];
}});
FB.provide('Canvas.EarlyFlush', {addResource:function(a) {
    return FB.Canvas.Prefetcher.addStaticResource(a);
},setCollectionMode:function(a) {
    return FB.Canvas.Prefetcher.setCollectionMode(a);
}});
FB.provide('UIServer.MobileIframableMethod', {transform:function(a) {
    if (a.params.display === 'touch' && a.params.access_token && window.postMessage) {
        a.params.channel = FB.UIServer._xdChannelHandler(a.id, 'parent');
        if (!FB.UA.nativeApp())a.params.in_iframe = 1;
        return a;
    } else return FB.UIServer.genericTransform(a);
},getXdRelation:function(b) {
    var a = b.display;
    if (a === 'touch' && window.postMessage && b.in_iframe)return 'parent';
    return FB.UIServer.getXdRelation(b);
}});
FB.provide('UIServer.Methods', {'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,transform:function(a) {
    return a;
}},'auth.logintofacebook':{size:{width:530,height:287},url:'login.php',transform:function(a) {
    a.params.skip_api_login = 1;
    var c = FB.UIServer.getXdRelation(a.params);
    var b = FB.UIServer._xdResult(a.cb, a.id, c, true);
    a.params.next = FB.getDomain(FB._https ? 'https_www' : 'www') + "login.php?" + FB.QS.encode({api_key:FB._apiKey,next:b,skip_api_login:1});
    return a;
}},apprequests:{transform:function(a) {
    a = FB.UIServer.MobileIframableMethod.transform(a);
    a.params.frictionless = FB.Frictionless && FB.Frictionless._useFrictionless;
    if (a.params.frictionless) {
        a.hideLoader = FB.Frictionless.isAllowed(a.params.to);
        a.cb = FB.Frictionless._processRequestResponse(a.cb, a.hideLoader);
    }
    return a;
},getXdRelation:function(a) {
    return FB.UIServer.MobileIframableMethod.getXdRelation(a);
}},feed:FB.UIServer.MobileIframableMethod});
FB.provide('', {share:function(a) {
    FB.log('FB.share() has been deprecated. Please use FB.ui() instead.');
    FB.ui({display:'popup',method:'stream.share',u:a});
},publish:function(b, a) {
    FB.log('FB.publish() has been deprecated. Please use FB.ui() instead.');
    b = b || {};
    FB.ui(FB.copy({display:'popup',method:'stream.publish',preview:1}, b || {}), a);
},addFriend:function(b, a) {
    FB.log('FB.addFriend() has been deprecated. Please use FB.ui() instead.');
    FB.ui({display:'popup',id:b,method:'friend.add'}, a);
}});
FB.UIServer.Methods['auth.login'] = FB.UIServer.Methods['permissions.request'];
FB.provide('XFBML', {_renderTimeout:30000,getElements:function(b, f, d) {
    var a = FB.Array,e = FB.XFBML._getDomElements(b, f, d),c = FB.Dom.getByClass(f + '-' + d, b);
    e = a.toArray(e);
    c = a.toArray(c);
    c = a.filter(c, function(g) {
        return !g.hasChildNodes() || (g.childNodes.length === 1 && g.childNodes[0].nodeType === 3);
    });
    return a.merge(e, c);
},parse:function(d, b) {
    d = d || document.body;
    var c = 1,e = function() {
        c--;
        if (c === 0) {
            b && b();
            FB.Event.fire('xfbml.render');
        }
    };
    var a = {};
    if (FB.XFBML._widgetPipeIsEnabled())FB.Array.forEach(FB.XFBML._tagInfos, function(f) {
        if (f.supportsWidgetPipe) {
            var h = f.xmlns ? f.xmlns : 'fb';
            var g = FB.XFBML.getElements(d, h, f.localName);
            a[f.localName] = g;
            FB.XFBML._widgetPipeEnabledTagCount += g.length;
        }
    });
    FB.Array.forEach(FB.XFBML._tagInfos, function(g) {
        if (!g.xmlns)g.xmlns = 'fb';
        var h;
        if (a[g.localName] !== undefined) {
            h = a[g.localName];
        } else h = FB.XFBML.getElements(d, g.xmlns, g.localName);
        for (var f = 0; f < h.length; f++) {
            c++;
            FB.XFBML._processElement(h[f], g, e);
        }
    });
    FB.Event.fire('xfbml.parse');
    window.setTimeout(function() {
        if (c > 0)FB.log(c + ' XFBML tags failed to render in ' + FB.XFBML._renderTimeout + 'ms.');
    }, FB.XFBML._renderTimeout);
    e();
},registerTag:function(a) {
    FB.XFBML._tagInfos.push(a);
},shouldUseWidgetPipe:function() {
    if (!FB.XFBML._widgetPipeIsEnabled())return false;
    var a = FB.XFBML._widgetPipeEnabledTagCount > 1;
    return a;
},getBoolAttr:function(b, a) {
    a = FB.XFBML.getAttr(b, a);
    return (a && FB.Array.indexOf(['true','1','yes','on'], a.toLowerCase()) > -1);
},getAttr:function(b, a) {
    return (b.getAttribute(a) || b.getAttribute(a.replace(/_/g, '-')) || b.getAttribute(a.replace(/-/g, '_')) || b.getAttribute(a.replace(/-/g, '')) || b.getAttribute(a.replace(/_/g, '')) || b.getAttribute('data-' + a) || b.getAttribute('data-' + a.replace(/_/g, '-')) || b.getAttribute('data-' + a.replace(/-/g, '_')) || b.getAttribute('data-' + a.replace(/-/g, '')) || b.getAttribute('data-' + a.replace(/_/g, '')) || null);
},_processElement:function(dom, tagInfo, cb) {
    var element = dom._element;
    if (element) {
        element.subscribe('render', cb);
        element.process();
    } else {
        var processor = function() {
            var fn = eval(tagInfo.className);
            var isLogin = false;
            var showFaces = true;
            var renderInIframe = false;
            var addToTimeline = (tagInfo.className === 'FB.XFBML.AddToTimeline');
            if ((tagInfo.className === 'FB.XFBML.LoginButton') || addToTimeline) {
                renderInIframe = FB.XFBML.getBoolAttr(dom, 'render-in-iframe');
                mode = FB.XFBML.getAttr(dom, 'mode');
                showFaces = (addToTimeline && mode != 'button') || FB.XFBML.getBoolAttr(dom, 'show-faces');
                isLogin = addToTimeline || renderInIframe || showFaces || FB.XFBML.getBoolAttr(dom, 'oneclick');
                if (isLogin && !addToTimeline)fn = FB.XFBML.Login;
            }
            element = dom._element = new fn(dom);
            if (isLogin) {
                showFaces = !!showFaces;
                var extraParams = {show_faces:showFaces,add_to_profile:addToTimeline,mode:mode};
                var scope = FB.XFBML.getAttr(dom, 'scope');
                if (scope) {
                    if (FB._oauth) {
                        extraParams.scope = scope;
                    } else extraParams.perms = scope;
                } else {
                    var perms = FB.XFBML.getAttr(dom, 'perms');
                    if (perms)extraParams.perms = perms;
                }
                element.setExtraParams(extraParams);
            }
            element.subscribe('render', cb);
            element.process();
        };
        if (FB.CLASSES[tagInfo.className.substr(3)]) {
            processor();
        } else FB.log('Tag ' + tagInfo.className + ' was not found.');
    }
},_getDomElements:function(a, e, d) {
    var c = e + ':' + d;
    if (FB.UA.firefox()) {
        return a.getElementsByTagNameNS(document.body.namespaceURI, c);
    } else if (FB.UA.ie() < 9) {
        try {
            var docNamespaces = document.namespaces;
            if (docNamespaces && docNamespaces[e]) {
                var nodes = a.getElementsByTagName(d);
                if (!document.addEventListener || nodes.length > 0)return nodes;
            }
        } catch(b) {
        }
        return a.getElementsByTagName(c);
    } else return a.getElementsByTagName(c);
},_tagInfos:[
    {localName:'activity',className:'FB.XFBML.Activity'},
    {localName:'add-profile-tab',className:'FB.XFBML.AddProfileTab'},
    {localName:'add-to-timeline',className:'FB.XFBML.AddToTimeline'},
    {localName:'bookmark',className:'FB.XFBML.Bookmark'},
    {localName:'comments',className:'FB.XFBML.Comments'},
    {localName:'comments-count',className:'FB.XFBML.CommentsCount'},
    {localName:'connect-bar',className:'FB.XFBML.ConnectBar'},
    {localName:'fan',className:'FB.XFBML.Fan'},
    {localName:'like',className:'FB.XFBML.Like',supportsWidgetPipe:true},
    {localName:'like-box',className:'FB.XFBML.LikeBox'},
    {localName:'live-stream',className:'FB.XFBML.LiveStream'},
    {localName:'login',className:'FB.XFBML.Login'},
    {localName:'login-button',className:'FB.XFBML.LoginButton'},
    {localName:'facepile',className:'FB.XFBML.Facepile'},
    {localName:'friendpile',className:'FB.XFBML.Friendpile'},
    {localName:'name',className:'FB.XFBML.Name'},
    {localName:'profile-pic',className:'FB.XFBML.ProfilePic'},
    {localName:'question',className:'FB.XFBML.Question'},
    {localName:'recommendations',className:'FB.XFBML.Recommendations'},
    {localName:'recommendations-bar',className:'FB.XFBML.RecommendationsBar'},
    {localName:'registration',className:'FB.XFBML.Registration'},
    {localName:'send',className:'FB.XFBML.Send'},
    {localName:'serverfbml',className:'FB.XFBML.ServerFbml'},
    {localName:'share-button',className:'FB.XFBML.ShareButton'},
    {localName:'social-bar',className:'FB.XFBML.RecommendationsBar'}
],_widgetPipeEnabledTagCount:0,_widgetPipeIsEnabled:function() {
    return FB.widgetPipeEnabledApps && FB.widgetPipeEnabledApps[FB._apiKey] !== undefined;
}});
(function() {
    try {
        if (document.namespaces && !document.namespaces.item.fb)document.namespaces.add('fb');
    } catch(a) {
    }
}());
FB.provide('XFBML', {set:function(b, c, a) {
    FB.log('FB.XFBML.set() has been deprecated.');
    b.innerHTML = c;
    FB.XFBML.parse(b, a);
}});
FB.subclass('Waitable', 'Obj', function() {
}, {set:function(a) {
    this.setProperty('value', a);
},error:function(a) {
    this.fire("error", a);
},wait:function(a, b) {
    if (b)this.subscribe('error', b);
    this.monitor('value', this.bind(function() {
        if (this.value !== undefined) {
            a(this.value);
            return true;
        }
    }));
}});
FB.subclass('Data.Query', 'Waitable', function() {
    if (!FB.Data.Query._c)FB.Data.Query._c = 1;
    this.name = 'v_' + FB.Data.Query._c++;
}, {parse:function(a) {
    var b = FB.String.format.apply(null, a),d = (/^select (.*?) from (\w+)\s+where (.*)$/i).exec(b);
    this.fields = this._toFields(d[1]);
    this.table = d[2];
    this.where = this._parseWhere(d[3]);
    for (var c = 1; c < a.length; c++)if (FB.Type.isType(a[c], FB.Data.Query))a[c].hasDependency = true;
    return this;
},toFql:function() {
    var a = 'select ' + this.fields.join(',') + ' from ' + this.table + ' where ';
    switch (this.where.type) {
        case 'unknown':
            a += this.where.value;
            break;
        case 'index':
            a += this.where.key + '=' + this._encode(this.where.value);
            break;
        case 'in':
            if (this.where.value.length == 1) {
                a += this.where.key + '=' + this._encode(this.where.value[0]);
            } else a += this.where.key + ' in (' + FB.Array.map(this.where.value, this._encode).join(',') + ')';
            break;
    }
    return a;
},_encode:function(a) {
    return typeof(a) == 'string' ? FB.String.quote(a) : a;
},toString:function() {
    return '#' + this.name;
},_toFields:function(a) {
    return FB.Array.map(a.split(','), FB.String.trim);
},_parseWhere:function(s) {
    var re = (/^\s*(\w+)\s*=\s*(.*)\s*$/i).exec(s),result,value,type = 'unknown';
    if (re) {
        value = re[2];
        if (/^(["'])(?:\\?.)*?\1$/.test(value)) {
            value = eval(value);
            type = 'index';
        } else if (/^\d+\.?\d*$/.test(value))type = 'index';
    }
    if (type == 'index') {
        result = {type:'index',key:re[1],value:value};
    } else result = {type:'unknown',value:s};
    return result;
}});
FB.provide('Data', {query:function(c, a) {
    var b = new FB.Data.Query().parse(arguments);
    FB.Data.queue.push(b);
    FB.Data._waitToProcess();
    return b;
},waitOn:function(dependencies, callback) {
    var result = new FB.Waitable(),count = dependencies.length;
    if (typeof(callback) == 'string') {
        var s = callback;
        callback = function(args) {
            return eval(s);
        };
    }
    FB.Array.forEach(dependencies, function(item) {
        item.monitor('value', function() {
            var done = false;
            if (FB.Data._getValue(item) !== undefined) {
                count--;
                done = true;
            }
            if (count === 0) {
                var value = callback(FB.Array.map(dependencies, FB.Data._getValue));
                result.set(value !== undefined ? value : true);
            }
            return done;
        });
    });
    return result;
},_getValue:function(a) {
    return FB.Type.isType(a, FB.Waitable) ? a.value : a;
},_selectByIndex:function(a, d, b, e) {
    var c = new FB.Data.Query();
    c.fields = a;
    c.table = d;
    c.where = {type:'index',key:b,value:e};
    FB.Data.queue.push(c);
    FB.Data._waitToProcess();
    return c;
},_waitToProcess:function() {
    if (FB.Data.timer < 0)FB.Data.timer = setTimeout(FB.Data._process, 10);
},_process:function() {
    FB.Data.timer = -1;
    var c = {},e = FB.Data.queue;
    FB.Data.queue = [];
    for (var a = 0; a < e.length; a++) {
        var b = e[a];
        if (b.where.type == 'index' && !b.hasDependency) {
            FB.Data._mergeIndexQuery(b, c);
        } else c[b.name] = b;
    }
    var d = {method:'fql.multiquery',queries:{}};
    FB.copy(d.queries, c, true, function(f) {
        return f.toFql();
    });
    d.queries = FB.JSON.stringify(d.queries);
    FB.api(d, function(f) {
        if (f.error_msg) {
            FB.Array.forEach(c, function(g) {
                g.error(Error(f.error_msg));
            });
        } else FB.Array.forEach(f, function(g) {
            c[g.name].set(g.fql_result_set);
        });
    });
},_mergeIndexQuery:function(a, d) {
    var b = a.where.key,f = a.where.value;
    var e = 'index_' + a.table + '_' + b;
    var c = d[e];
    if (!c) {
        c = d[e] = new FB.Data.Query();
        c.fields = [b];
        c.table = a.table;
        c.where = {type:'in',key:b,value:[]};
    }
    FB.Array.merge(c.fields, a.fields);
    FB.Array.merge(c.where.value, [f]);
    c.wait(function(g) {
        a.set(FB.Array.filter(g, function(h) {
            return h[b] == f;
        }));
    });
},timer:-1,queue:[]});
window.setTimeout(function() {
    var a = /(connect.facebook.net|facebook.com\/assets.php).*?#(.*)/;
    FB.Array.forEach(document.getElementsByTagName('script'), function(d) {
        if (d.src) {
            var b = a.exec(d.src);
            if (b) {
                var c = FB.QS.decode(b[2]);
                FB.Array.forEach(c, function(f, e) {
                    if (f == '0')c[e] = 0;
                });
                FB.init(c);
            }
        }
    });
    if (window.fbAsyncInit && !window.fbAsyncInit.hasRun) {
        window.fbAsyncInit.hasRun = true;
        fbAsyncInit();
    }
}, 0);
FB.provide('Native', {NATIVE_READY_EVENT:'fbNativeReady',onready:function(a) {
    if (!FB.UA.nativeApp()) {
        FB.log('FB.Native.onready only works when the page is rendered ' + 'in a WebView of the native Facebook app. Test if this is the ' + 'case calling FB.UA.nativeApp()');
        return;
    }
    if (window.__fbNative && !this.nativeReady)FB.provide('Native', window.__fbNative);
    if (this.nativeReady) {
        a();
    } else {
        var b = function(c) {
            window.removeEventListener(FB.Native.NATIVE_READY_EVENT, b);
            FB.Native.onready(a);
        };
        window.addEventListener(FB.Native.NATIVE_READY_EVENT, b, false);
    }
}});
FB.provide('UIServer.Methods', {'pay.prompt':{transform:function(a) {
    var b = FB.XD.handler(function(c) {
        a.cb(FB.JSON.parse(c.response));
    }, 'parent.frames[' + (window.name || 'iframe_canvas') + ']');
    a.params.channel = b;
    FB.Arbiter.inform('Pay.Prompt', a.params);
    return false;
}}});
FB.provide('UIServer.Methods', {pay:{size:{width:555,height:120},noHttps:true,connectDisplay:'popup',transform:function(a) {
    if (!FB._inCanvas) {
        a.params.order_info = FB.JSON.stringify(a.params.order_info);
        return a;
    }
    var b = FB.XD.handler(function(c) {
        a.cb(FB.JSON.parse(c.response));
    }, 'parent.frames[' + (window.name || 'iframe_canvas') + ']');
    a.params.channel = b;
    a.params.uiserver = true;
    FB.Arbiter.inform('Pay.Prompt', a.params);
    return false;
}}});
FB.provide('Helper', {isUser:function(a) {
    return a < 2.2e+09 || (a >= 1e+14 && a <= 100099999989999);
},getLoggedInUser:function() {
    return FB.getUserID();
},upperCaseFirstChar:function(a) {
    if (a.length > 0) {
        return a.substr(0, 1).toUpperCase() + a.substr(1);
    } else return a;
},getProfileLink:function(c, b, a) {
    a = a || (c ? FB.getDomain('www') + 'profile.php?id=' + c.uid : null);
    if (a)b = '<a class="fb_link" href="' + a + '">' + b + '</a>';
    return b;
},invokeHandler:function(handler, scope, args) {
    if (handler)if (typeof handler === 'string') {
        eval(handler);
    } else if (handler.apply)handler.apply(scope, args || []);
},fireEvent:function(a, b) {
    var c = b._attr.href;
    b.fire(a, c);
    FB.Event.fire(a, c, b);
},executeFunctionByName:function(d) {
    var a = Array.prototype.slice.call(arguments, 1);
    var f = d.split(".");
    var c = f.pop();
    var b = window;
    for (var e = 0; e < f.length; e++)b = b[f[e]];
    return b[c].apply(this, a);
}});
FB.provide('TemplateData', {_initialized:false,_version:0,_response:null,_localStorageTimeout:60 * 60 * 24,_enabled:true,enabled:function() {
    return FB.TemplateData._enabled && FB.TemplateData._initialized && FB.TemplateData.supportsLocalStorage() && FB._userStatus == 'connected' && FB.TemplateData.getResponse();
},supportsLocalStorage:function() {
    try {
        return 'localStorage' in window && window.localStorage !== null;
    } catch(a) {
        return false;
    }
},_isStale:function(b) {
    if (!b || !b.version || b.version != FB.TemplateData._version || b.currentUserID != FB.getUserID())return true;
    var a = Math.round((new Date()).getTime());
    return (a - b.setAt) / 1000 > FB.TemplateData._localStorageTimeout;
},getResponse:function() {
    var b = FB.TemplateData;
    try {
        b._response = b._response || (b.supportsLocalStorage() && FB.JSON.parse(localStorage.FB_templateDataResponse || "null"));
    } catch(a) {
        b._response = null;
    }
    if (b._isStale(b._response))b.saveResponse(null);
    return b._response;
},saveResponse:function(a) {
    FB.TemplateData._response = a;
    if (FB.TemplateData.supportsLocalStorage())localStorage.FB_templateDataResponse = FB.JSON.stringify(a);
},getData:function() {
    var a = FB.TemplateData.getResponse();
    return a ? a.data : {};
},init:function(a) {
    if (!a)return;
    FB.TemplateData._initialized = true;
    FB.TemplateData._version = a;
    if (FB.TemplateData.supportsLocalStorage() && !('FB_templateDataResponse' in localStorage))FB.TemplateData.clear();
},clear:function() {
    FB.TemplateData.saveResponse(null);
},update:function(a) {
    if (FB._userStatus != 'connected')FB.TemplateData.clear();
    if (FB._userStatus == 'connected' && !FB.TemplateData.getResponse())FB.api({method:'dialog.template_data'}, function(c) {
        if ('error_code' in c)return;
        var b = {data:c,currentUserID:FB.getUserID(),setAt:(new Date()).getTime(),version:FB.TemplateData._version};
        FB.TemplateData.saveResponse(b);
    });
}});
FB.subclass('TemplateUI', 'Obj', function(d, c) {
    this.method = d;
    var b = FB.UA.nativeApp() ? 0 : 1;
    var e = {display:'touch',preview_template:1,in_iframe:b,locale:FB._locale,v:FB.TemplateUI._version,user_agent:navigator.userAgent};
    if (window.devicePixelRatio)e.m_pixel_ratio = window.devicePixelRatio;
    var f = FB.QS.encode(e);
    this.cachedCall = {url:FB.getDomain('staticfb') + 'dialog/' + d + '?' + f,frameName:FB.guid(),id:FB.guid(),size:FB.UIServer.getDefaultSize(),hideLoader:true};
    FB.XD.handler(this.bind(function(g) {
        if (g.type == 'getParams')this.setProperty('getParamsCb', g.returnCb);
    }), 'parent', true, this.cachedCall.frameName);
    if (b) {
        FB.UIServer.iframe(this.cachedCall);
        FB.Dialog.hide(this.cachedCall.root);
    } else if (c && !FB.TemplateUI._preloads[this.cachedCall.url]) {
        var a = document.createElement('div');
        FB.TemplateUI._preloads[this.cachedCall.url] = {container:a};
        FB.Content.insertIframe({url:this.cachedCall.url,root:FB.Content.appendHidden(a)});
    }
}, {use:function(a) {
    if (!this.cachedCall.root) {
        FB.UIServer.touch(this.cachedCall);
        var c = FB.TemplateUI._preloads[this.cachedCall.url];
        if (c && c.container) {
            c.container.parentNode.removeChild(c.container);
            delete c.container;
        }
    }
    a.ui_created = true;
    a.root = this.cachedCall.root;
    FB.UIServer.setLoadedNode(a, FB.UIServer._loadedNodes[this.cachedCall.id]);
    delete FB.UIServer._loadedNodes[this.cachedCall.id];
    var b = FB.Dialog._dialogs[a.id];
    FB.Dialog._dialogs[this.cachedCall.id] = b;
    b.id = this.cachedCall.id;
    delete FB.Dialog._dialogs[a.id];
    FB.UIServer.getLoadedNode(a).fbCallID = this.cachedCall.id;
    this.cachedCall.id = a.id;
    var d = {};
    FB.copy(d, a.params);
    FB.copy(d, FB.TemplateData.getData()[this.method]);
    d.frictionless = FB.TemplateUI.isFrictionlessAppRequest(this.method, d);
    d.common = FB.TemplateData.getData().common;
    d.method = this.method;
    this.setParams(d);
    if (FB.UA.nativeApp())FB.UIServer._popupMonitor();
},setParams:function(a) {
    this.monitor('getParamsCb', this.bind(function() {
        if (this.getParamsCb) {
            var b = frames[this.cachedCall.frameName] || FB.UIServer.getLoadedNode(this.cachedCall);
            b.postMessage(FB.JSON.stringify({params:a,cb:this.getParamsCb}), '*');
            return true;
        }
    }));
}});
FB.provide('TemplateUI', {_timer:null,_cache:{},_preloads:{},_version:0,init:function() {
    FB.TemplateData.init(FB.TemplateUI._version);
    FB.TemplateUI.initCache();
},useCachedUI:function(c, a) {
    try {
        FB.TemplateUI.populateCache();
        cache = FB.TemplateUI._cache[c];
        delete FB.TemplateUI._cache[c];
        cache.use(a);
    } catch(b) {
        FB.TemplateData.clear();
    }
},populateCache:function(a) {
    if (!FB.TemplateData.enabled() || !FB.UA.mobile())return;
    clearInterval(FB.TemplateUI._timer);
    var c = {feed:true,apprequests:true};
    for (var b in c)if (!(b in FB.TemplateUI._cache))FB.TemplateUI._cache[b] = new FB.TemplateUI(b, a);
},initCache:function() {
    FB.TemplateUI._timer = setInterval(function() {
        FB.TemplateUI.populateCache(true);
    }, 2000);
},supportsTemplate:function(b, a) {
    return FB.TemplateData.enabled() && FB.TemplateUI.paramsAllowTemplate(b, a.params) && a.params.display === 'touch' && FB.UA.mobile();
},paramsAllowTemplate:function(c, a) {
    var b = {feed:{to:1,attachment:1,source:1},apprequests:{}};
    if (!(c in b))return false;
    for (var d in b[c])if (a[d])return false;
    return !FB.TemplateUI.willWriteOnGet(c, a);
},isFrictionlessAppRequest:function(b, a) {
    return b === 'apprequests' && FB.Frictionless && FB.Frictionless._useFrictionless;
},willWriteOnGet:function(b, a) {
    return FB.TemplateUI.isFrictionlessAppRequest(b, a) && a.to && FB.Frictionless.isAllowed(a.to);
}});
FB.provide('URI', {resolve:function(b) {
    if (!b)return window.location.href;
    var a = document.createElement('div');
    a.innerHTML = '<a href="' + b.replace('"', '&quot;') + '"></a>';
    return a.firstChild.href;
}});
FB.Class('XFBML.Element', function(a) {
    this.dom = a;
}, FB.copy({getAttribute:function(b, a, c) {
    var d = FB.XFBML.getAttr(this.dom, b);
    return d ? (c ? c(d) : d) : a;
},_getBoolAttribute:function(b, a) {
    if (FB.XFBML.getAttr(this.dom, b) === null)return a;
    return FB.XFBML.getBoolAttr(this.dom, b);
},_getPxAttribute:function(b, a) {
    return this.getAttribute(b, a, function(c) {
        var d = parseInt(c.replace('px', ''), 10);
        if (isNaN(d)) {
            return a;
        } else return d;
    });
},_getAttributeFromList:function(c, b, a) {
    return this.getAttribute(c, b, function(d) {
        d = d.toLowerCase();
        if (FB.Array.indexOf(a, d) > -1) {
            return d;
        } else return b;
    });
},isValid:function() {
    for (var a = this.dom; a; a = a.parentNode)if (a == document.body)return true;
},clear:function() {
    this.dom.innerHTML = '';
}}, FB.EventProvider));
FB.subclass('XFBML.IframeWidget', 'XFBML.Element', null, {_iframeName:null,_showLoader:true,_refreshOnAuthChange:false,_allowReProcess:false,_fetchPreCachedLoader:false,_visibleAfter:'load',_widgetPipeEnabled:false,getUrlBits:function() {
    throw new Error('Inheriting class needs to implement getUrlBits().');
},setupAndValidate:function() {
    return true;
},oneTimeSetup:function() {
},getSize:function() {
},getIframeName:function() {
    if (!this._iframeName && this._widgetPipeEnabled && FB.XFBML.shouldUseWidgetPipe()) {
        this._iframeName = this.generateWidgetPipeIframeName();
        FB.XFBML.IframeWidget.allWidgetPipeIframes[this._iframeName] = this;
        if (FB.XFBML.IframeWidget.masterWidgetPipeIframe === null)FB.XFBML.IframeWidget.masterWidgetPipeIframe = this;
    }
    return this._iframeName;
},getIframeTitle:function() {
},getChannelUrl:function() {
    if (!this._channelUrl) {
        var a = this;
        this._channelUrl = FB.XD.handler(function(b) {
            a.fire('xd.' + b.type, b);
        }, 'parent.parent', true);
    }
    return this._channelUrl;
},getIframeNode:function() {
    return this.dom.getElementsByTagName('iframe')[0];
},arbiterInform:function(event, b, a) {
    if (this.loaded) {
        this._arbiterInform(event, b, a);
    } else this.subscribe('iframe.onload', FB.bind(this._arbiterInform, this, event, b, a));
},_arbiterInform:function(event, b, a) {
    var c = 'parent.frames["' + this.getIframeNode().name + '"]';
    FB.Arbiter.inform(event, b, c, window.location.protocol == 'https:', a);
},getDefaultWebDomain:function() {
    return 'www';
},getDefaultStaticDomain:function() {
    return 'cdn';
},process:function(a) {
    if (this._done) {
        if (!this._allowReProcess && !a)return;
        this.clear();
    } else this._oneTimeSetup();
    this._done = true;
    if (!this.setupAndValidate()) {
        this.fire('render');
        return;
    }
    if (this._showLoader)this._addLoader();
    FB.Dom.addCss(this.dom, 'fb_iframe_widget');
    if (this._visibleAfter != 'immediate') {
        FB.Dom.addCss(this.dom, 'fb_hide_iframes');
    } else this.subscribe('iframe.onload', FB.bind(this.fire, this, 'render'));
    var b = this.getSize() || {};
    var c = this.getFullyQualifiedURL();
    FB.Content.insertIframe({url:c,root:this.dom.appendChild(document.createElement('span')),name:this.getIframeName(),title:this.getIframeTitle(),className:FB._localeIsRtl ? 'fb_rtl' : 'fb_ltr',height:b.height,width:b.width,onload:FB.bind(this.fire, this, 'iframe.onload')});
    this.loaded = false;
    this.subscribe('iframe.onload', FB.bind(function() {
        this.loaded = true;
    }, this));
},generateWidgetPipeIframeName:function() {
    FB.XFBML.IframeWidget.widgetPipeIframeCount++;
    return 'fb_iframe_' + FB.XFBML.IframeWidget.widgetPipeIframeCount;
},getFullyQualifiedURL:function() {
    if (FB.XFBML.shouldUseWidgetPipe() && this._widgetPipeEnabled)return this._getWidgetPipeShell();
    var b = this._getURL();
    if (!this._fetchPreCachedLoader)b += '?' + FB.QS.encode(this._getQS());
    if (b.length > 2000) {
        b = 'about:blank';
        var a = FB.bind(function() {
            this._postRequest();
            this.unsubscribe('iframe.onload', a);
        }, this);
        this.subscribe('iframe.onload', a);
    }
    return b;
},_getWidgetPipeShell:function() {
    return FB.getDomain('www') + 'common/widget_pipe_shell.php';
},_oneTimeSetup:function() {
    this.subscribe('xd.resize', FB.bind(this._handleResizeMsg, this));
    if (FB.getLoginStatus) {
        this.subscribe('xd.refreshLoginStatus', FB.bind(FB.getLoginStatus, FB, function() {
        }, true));
        this.subscribe('xd.logout', FB.bind(FB.logout, FB, function() {
        }));
    }
    if (this._refreshOnAuthChange)this._setupAuthRefresh();
    if (this._visibleAfter == 'load')this.subscribe('iframe.onload', FB.bind(this._makeVisible, this));
    this.oneTimeSetup();
},_makeVisible:function() {
    this._removeLoader();
    FB.Dom.removeCss(this.dom, 'fb_hide_iframes');
    this.fire('render');
},_setupAuthRefresh:function() {
    FB.getLoginStatus(FB.bind(function(b) {
        var a = b.status;
        FB.Event.subscribe('auth.statusChange', FB.bind(function(c) {
            if (!this.isValid())return;
            if (a == 'unknown' || c.status == 'unknown')this.process(true);
            a = c.status;
        }, this));
    }, this));
},_handleResizeMsg:function(b) {
    if (!this.isValid())return;
    var a = this.getIframeNode();
    a.style.height = b.height + 'px';
    if (b.width)a.style.width = b.width + 'px';
    a.style.border = 'none';
    this._makeVisible();
},_addLoader:function() {
    if (!this._loaderDiv) {
        FB.Dom.addCss(this.dom, 'fb_iframe_widget_loader');
        this._loaderDiv = document.createElement('div');
        this._loaderDiv.className = 'FB_Loader';
        this.dom.appendChild(this._loaderDiv);
    }
},_removeLoader:function() {
    if (this._loaderDiv) {
        FB.Dom.removeCss(this.dom, 'fb_iframe_widget_loader');
        if (this._loaderDiv.parentNode)this._loaderDiv.parentNode.removeChild(this._loaderDiv);
        this._loaderDiv = null;
    }
},_getQS:function() {
    return FB.copy({api_key:FB._apiKey,locale:FB._locale,sdk:'joey',session_key:FB._session && FB._session.session_key,ref:this.getAttribute('ref')}, this.getUrlBits().params);
},_getURL:function() {
    var a = this.getDefaultWebDomain(),b = '';
    if (this._fetchPreCachedLoader) {
        a = this.getDefaultStaticDomain();
        b = 'static/';
    }
    return FB.getDomain(a) + 'plugins/' + b + this.getUrlBits().name + '.php';
},_postRequest:function() {
    FB.Content.submitToTarget({url:this._getURL(),target:this.getIframeNode().name,params:this._getQS()});
}});
FB.provide('XFBML.IframeWidget', {widgetPipeIframeCount:0,masterWidgetPipeIframe:null,allWidgetPipeIframes:{},batchWidgetPipeRequests:function() {
    if (!FB.XFBML.IframeWidget.masterWidgetPipeIframe)return;
    var c = FB.XFBML.IframeWidget._groupWidgetPipeDescriptions();
    var e = {widget_pipe:FB.JSON.stringify(c),href:window.location,site:location.hostname,channel:FB.XFBML.IframeWidget.masterWidgetPipeIframe.getChannelUrl(),api_key:FB._apiKey,locale:FB._locale,sdk:'joey',session_key:FB._session && FB._session.session_key};
    var d = FB.guid();
    var a = FB.XFBML.IframeWidget.masterWidgetPipeIframe.dom;
    var b = a.appendChild(document.createElement('span'));
    FB.Content.insertIframe({url:'about:blank',root:b,name:d,className:'fb_hidden fb_invisible',onload:function() {
        FB.Content.submitToTarget({url:FB._domain.www + 'widget_pipe.php?widget_pipe=1',target:d,params:e});
    }});
},_groupWidgetPipeDescriptions:function() {
    var e = {};
    for (var b in FB.XFBML.IframeWidget.allWidgetPipeIframes) {
        var a = FB.XFBML.IframeWidget.allWidgetPipeIframes[b];
        var c = a.getUrlBits();
        var d = {widget:c.name};
        FB.copy(d, c.params);
        e[b] = d;
    }
    return e;
}});
FB.subclass('XFBML.Activity', 'XFBML.IframeWidget', null, {_visibleAfter:'load',_refreshOnAuthChange:true,setupAndValidate:function() {
    this._attr = {border_color:this.getAttribute('border-color'),colorscheme:this.getAttribute('color-scheme'),filter:this.getAttribute('filter'),action:this.getAttribute('action'),max_age:this.getAttribute('max_age'),font:this.getAttribute('font'),linktarget:this.getAttribute('linktarget', '_blank'),header:this._getBoolAttribute('header'),height:this._getPxAttribute('height', 300),recommendations:this._getBoolAttribute('recommendations'),site:this.getAttribute('site', location.hostname),width:this._getPxAttribute('width', 300)};
    return true;
},getSize:function() {
    return {width:this._attr.width,height:this._attr.height};
},getUrlBits:function() {
    return {name:'activity',params:this._attr};
}});
FB.subclass('XFBML.ButtonElement', 'XFBML.Element', null, {_allowedSizes:['icon','small','medium','large','xlarge'],onClick:function() {
    throw new Error('Inheriting class needs to implement onClick().');
},setupAndValidate:function() {
    return true;
},getButtonMarkup:function() {
    return this.getOriginalHTML();
},getOriginalHTML:function() {
    return this._originalHTML;
},process:function() {
    if (!('_originalHTML' in this))this._originalHTML = FB.String.trim(this.dom.innerHTML);
    if (!this.setupAndValidate()) {
        this.fire('render');
        return;
    }
    var d = this._getAttributeFromList('size', 'medium', this._allowedSizes),a = '',b = '';
    if (d == 'icon') {
        a = 'fb_button_simple';
    } else {
        var c = FB._localeIsRtl ? '_rtl' : '';
        b = this.getButtonMarkup();
        a = 'fb_button' + c + ' fb_button_' + d + c;
    }
    if (b !== '') {
        this.dom.innerHTML = ('<a class="' + a + '">' + '<span class="fb_button_text">' + b + '</span>' + '</a>');
        this.dom.firstChild.onclick = FB.bind(this.onClick, this);
    }
    this.fire('render');
}});
FB.subclass('XFBML.AddProfileTab', 'XFBML.ButtonElement', null, {getButtonMarkup:function() {
    return FB.Intl._tx("Add Profile Tab on Facebook");
},onClick:function() {
    FB.ui({method:'profile.addtab'}, this.bind(function(a) {
        if (a.tab_added)FB.Helper.invokeHandler(this.getAttribute('on-add'), this);
    }));
}});
FB.subclass('XFBML.Facepile', 'XFBML.IframeWidget', null, {_visibleAfter:'load',_extraParams:{},setupAndValidate:function() {
    this._attr = {href:this.getAttribute('href'),channel:this.getChannelUrl(),colorscheme:this.getAttribute('colorscheme', 'light'),max_rows:this.getAttribute('max-rows'),action:this.getAttribute('action', 'like'),tense:this.getAttribute('tense', 'past'),width:this._getPxAttribute('width', 200),ref:this.getAttribute('ref'),size:this.getAttribute('size', 'small'),extended_social_context:this.getAttribute('extended_social_context', false),login_text:this.dom.innerHTML};
    this.clear();
    for (var a in this._extraParams)this._attr[a] = this._extraParams[a];
    return true;
},setExtraParams:function(a) {
    this._extraParams = a;
},oneTimeSetup:function() {
    var a = FB._userStatus;
    FB.Event.subscribe('auth.statusChange', FB.bind(function(b) {
        if (a == 'connected' || b.status == 'connected')this.process(true);
        a = b.status;
    }, this));
},getSize:function() {
    if (this._attr.size == 'large')return {width:this._attr.width,height:90};
    return {width:this._attr.width,height:70};
},getUrlBits:function() {
    return {name:'facepile',params:this._attr};
}});
FB.subclass('XFBML.AddToTimeline', 'XFBML.Facepile', null, {_visibleAfter:'load',getSize:function() {
    return {width:300,height:250};
},getUrlBits:function() {
    return {name:'add_to_timeline',params:this._attr};
}});
FB.subclass('XFBML.Bookmark', 'XFBML.ButtonElement', null, {getButtonMarkup:function() {
    return FB.Intl._tx("Bookmark on Facebook");
},onClick:function() {
    FB.ui({method:'bookmark.add'}, this.bind(function(a) {
        if (a.bookmarked)FB.Helper.invokeHandler(this.getAttribute('on-add'), this);
    }));
}});
FB.subclass('XFBML.Comments', 'XFBML.IframeWidget', null, {_visibleAfter:'immediate',_refreshOnAuthChange:true,setupAndValidate:function() {
    var a = {channel_url:this.getChannelUrl(),colorscheme:this.getAttribute('colorscheme'),numposts:this.getAttribute('num-posts', 10),width:this._getPxAttribute('width', 550),href:this.getAttribute('href'),permalink:this.getAttribute('permalink'),publish_feed:this.getAttribute('publish_feed')};
    if (!a.href) {
        a.migrated = this.getAttribute('migrated');
        a.xid = this.getAttribute('xid');
        a.title = this.getAttribute('title', document.title);
        a.url = this.getAttribute('url', document.URL);
        a.quiet = this.getAttribute('quiet');
        a.reverse = this.getAttribute('reverse');
        a.simple = this.getAttribute('simple');
        a.css = this.getAttribute('css');
        a.notify = this.getAttribute('notify');
        if (!a.xid) {
            var c = document.URL.indexOf('#');
            if (c > 0) {
                a.xid = encodeURIComponent(document.URL.substring(0, c));
            } else a.xid = encodeURIComponent(document.URL);
        }
        if (a.migrated)a.href = 'http://www.facebook.com/plugins/comments_v1.php?' + 'app_id=' + FB._apiKey + '&xid=' + encodeURIComponent(a.xid) + '&url=' + encodeURIComponent(a.url);
    } else {
        var b = this.getAttribute('fb_comment_id');
        if (!b) {
            b = FB.QS.decode(document.URL.substring(document.URL.indexOf('?') + 1)).fb_comment_id;
            if (b && b.indexOf('#') > 0)b = b.substring(0, b.indexOf('#'));
        }
        if (b) {
            a.fb_comment_id = b;
            this.subscribe('render', FB.bind(function() {
                window.location.hash = this.getIframeNode().id;
            }, this));
        }
    }
    this._attr = a;
    return true;
},oneTimeSetup:function() {
    this.subscribe('xd.addComment', FB.bind(this._handleCommentMsg, this));
    this.subscribe('xd.commentCreated', FB.bind(this._handleCommentCreatedMsg, this));
    this.subscribe('xd.commentRemoved', FB.bind(this._handleCommentRemovedMsg, this));
},getSize:function() {
    return {width:this._attr.width,height:200};
},getUrlBits:function() {
    return {name:'comments',params:this._attr};
},getDefaultWebDomain:function() {
    return 'https_www';
},_handleCommentMsg:function(a) {
    if (!this.isValid())return;
    FB.Event.fire('comments.add', {post:a.post,user:a.user,widget:this});
},_handleCommentCreatedMsg:function(b) {
    if (!this.isValid())return;
    var a = {href:b.href,commentID:b.commentID,parentCommentID:b.parentCommentID};
    FB.Event.fire('comment.create', a);
},_handleCommentRemovedMsg:function(b) {
    if (!this.isValid())return;
    var a = {href:b.href,commentID:b.commentID};
    FB.Event.fire('comment.remove', a);
}});
FB.subclass('XFBML.CommentsCount', 'XFBML.Element', null, {process:function() {
    this._href = this.getAttribute('href', window.location.href);
    this._count = FB.Data._selectByIndex(['commentsbox_count'], 'link_stat', 'url', this._href);
    FB.Dom.addCss(this.dom, 'fb_comments_count_zero');
    this._count.wait(FB.bind(function() {
        var a = this._count.value[0].commentsbox_count;
        this.dom.innerHTML = FB.String.format('<span class="fb_comments_count">{0}</span>', a);
        if (a > 0)FB.Dom.removeCss(this.dom, 'fb_comments_count_zero');
        this.fire('render');
    }, this));
}});
FB.provide('Anim', {ate:function(c, g, d, b) {
    d = !isNaN(parseFloat(d)) && d >= 0 ? d : 750;
    var e = 40,f = {},j = {},a = null,h = c.style,i = setInterval(FB.bind(function() {
        if (!a)a = new Date().getTime();
        var k = 1;
        if (d != 0)k = Math.min((new Date().getTime() - a) / d, 1);
        FB.Array.forEach(g, FB.bind(function(o, m) {
            if (!f[m]) {
                var n = FB.Dom.getStyle(c, m);
                if (n === false)return;
                f[m] = this._parseCSS(n + '');
            }
            if (!j[m])j[m] = this._parseCSS(o.toString());
            var l = '';
            FB.Array.forEach(f[m], function(q, p) {
                if (isNaN(j[m][p].numPart) && j[m][p].textPart == '?') {
                    l = q.numPart + q.textPart;
                } else if (isNaN(q.numPart)) {
                    l = q.textPart;
                } else l += (q.numPart + Math.ceil((j[m][p].numPart - q.numPart) * Math.sin(Math.PI / 2 * k))) + j[m][p].textPart + ' ';
            });
            FB.Dom.setStyle(c, m, l);
        }, this));
        if (k == 1) {
            clearInterval(i);
            if (b)b(c);
        }
    }, this), e);
},_parseCSS:function(a) {
    var b = [];
    FB.Array.forEach(a.split(' '), function(d) {
        var c = parseInt(d, 10);
        b.push({numPart:c,textPart:d.replace(c, '')});
    });
    return b;
}});
FB.provide('Insights', {impression:function(e, a) {
    var b = FB.guid(),g = "//ah8.facebook.com/impression.php/" + b + "/",c = new Image(1, 1),f = [];
    if (!e.api_key && FB._apiKey)e.api_key = FB._apiKey;
    for (var d in e)f.push(encodeURIComponent(d) + '=' + encodeURIComponent(e[d]));
    g += '?' + f.join('&');
    if (a)c.onload = a;
    c.src = g;
}});
FB.subclass('XFBML.ConnectBar', 'XFBML.Element', null, {_initialHeight:null,_initTopMargin:0,_picFieldName:'pic_square',_page:null,_displayed:false,_notDisplayed:false,_container:null,_animationSpeed:0,process:function() {
    FB.getLoginStatus(this.bind(function(a) {
        FB.Event.monitor('auth.statusChange', this.bind(function() {
            if (this.isValid() && FB._userStatus == 'connected') {
                this._uid = FB.Helper.getLoggedInUser();
                FB.api({method:'Connect.shouldShowConnectBar'}, this.bind(function(b) {
                    if (b != 2) {
                        this._animationSpeed = (b == 0) ? 750 : 0;
                        this._showBar();
                    } else this._noRender();
                }));
            } else this._noRender();
            return false;
        }));
    }));
},_showBar:function() {
    var a = FB.Data._selectByIndex(['first_name','profile_url',this._picFieldName], 'user', 'uid', this._uid);
    var b = FB.Data._selectByIndex(['display_name'], 'application', 'api_key', FB._apiKey);
    FB.Data.waitOn([a,b], FB.bind(function(c) {
        c[0][0].site_name = c[1][0].display_name;
        if (!this._displayed) {
            this._displayed = true;
            this._notDisplayed = false;
            this._renderConnectBar(c[0][0]);
            this.fire('render');
            FB.Insights.impression({lid:104,name:'widget_load'});
            this.fire('connectbar.ondisplay');
            FB.Event.fire('connectbar.ondisplay', this);
            FB.Helper.invokeHandler(this.getAttribute('on-display'), this);
        }
    }, this));
},_noRender:function() {
    if (this._displayed) {
        this._displayed = false;
        this._closeConnectBar();
    }
    if (!this._notDisplayed) {
        this._notDisplayed = true;
        this.fire('render');
        this.fire('connectbar.onnotdisplay');
        FB.Event.fire('connectbar.onnotdisplay', this);
        FB.Helper.invokeHandler(this.getAttribute('on-not-display'), this);
    }
},_renderConnectBar:function(d) {
    var b = document.createElement('div'),c = document.createElement('div');
    b.className = 'fb_connect_bar';
    c.className = 'fb_reset fb_connect_bar_container';
    c.appendChild(b);
    document.body.appendChild(c);
    this._container = c;
    this._initialHeight = Math.round(parseFloat(FB.Dom.getStyle(c, 'height')) + parseFloat(FB.Dom.getStyle(c, 'borderBottomWidth')));
    b.innerHTML = FB.String.format('<div class="fb_buttons">' + '<a href="#" class="fb_bar_close">' + '<img src="{1}" alt="{2}" title="{2}"/>' + '</a>' + '</div>' + '<a href="{7}" class="fb_profile" target="_blank">' + '<img src="{3}" alt="{4}" title="{4}"/>' + '</a>' + '{5}' + ' <span>' + '<a href="{8}" class="fb_learn_more" target="_blank">{6}</a> &ndash; ' + '<a href="#" class="fb_no_thanks">{0}</a>' + '</span>', FB.Intl._tx("No Thanks"), FB.getDomain('cdn') + FB.XFBML.ConnectBar.imgs.buttonUrl, FB.Intl._tx("Close"), d[this._picFieldName] || FB.getDomain('cdn') + FB.XFBML.ConnectBar.imgs.missingProfileUrl, FB.String.escapeHTML(d.first_name), FB.Intl._tx("Hi {firstName}. \u003cstrong>{siteName}\u003c\/strong> is using Facebook to personalize your experience.", {firstName:FB.String.escapeHTML(d.first_name),siteName:FB.String.escapeHTML(d.site_name)}), FB.Intl._tx("Learn More"), d.profile_url, FB.getDomain('www') + 'sitetour/connect.php');
    var a = this;
    FB.Array.forEach(b.getElementsByTagName('a'), function(g) {
        g.onclick = FB.bind(a._clickHandler, a);
    });
    this._page = document.body;
    var f = 0;
    if (this._page.parentNode) {
        f = Math.round((parseFloat(FB.Dom.getStyle(this._page.parentNode, 'height')) - parseFloat(FB.Dom.getStyle(this._page, 'height'))) / 2);
    } else f = parseInt(FB.Dom.getStyle(this._page, 'marginTop'), 10);
    f = isNaN(f) ? 0 : f;
    this._initTopMargin = f;
    if (!window.XMLHttpRequest) {
        c.className += " fb_connect_bar_container_ie6";
    } else {
        c.style.top = (-1 * this._initialHeight) + 'px';
        FB.Anim.ate(c, {top:'0px'}, this._animationSpeed);
    }
    var e = {marginTop:this._initTopMargin + this._initialHeight + 'px'};
    if (FB.UA.ie()) {
        e.backgroundPositionY = this._initialHeight + 'px';
    } else e.backgroundPosition = '? ' + this._initialHeight + 'px';
    FB.Anim.ate(this._page, e, this._animationSpeed);
},_clickHandler:function(a) {
    a = a || window.event;
    var b = a.target || a.srcElement;
    while (b.nodeName != 'A')b = b.parentNode;
    switch (b.className) {
        case 'fb_bar_close':
            FB.api({method:'Connect.connectBarMarkAcknowledged'});
            FB.Insights.impression({lid:104,name:'widget_user_closed'});
            this._closeConnectBar();
            break;
        case 'fb_learn_more':
        case 'fb_profile':
            window.open(b.href);
            break;
        case 'fb_no_thanks':
            this._closeConnectBar();
            FB.api({method:'Connect.connectBarMarkAcknowledged'});
            FB.Insights.impression({lid:104,name:'widget_user_no_thanks'});
            FB.api({method:'auth.revokeAuthorization',block:true}, this.bind(function() {
                this.fire('connectbar.ondeauth');
                FB.Event.fire('connectbar.ondeauth', this);
                FB.Helper.invokeHandler(this.getAttribute('on-deauth'), this);
                if (this._getBoolAttribute('auto-refresh', true))window.location.reload();
            }));
            break;
    }
    return false;
},_closeConnectBar:function() {
    this._notDisplayed = true;
    var a = {marginTop:this._initTopMargin + 'px'};
    if (FB.UA.ie()) {
        a.backgroundPositionY = '0px';
    } else a.backgroundPosition = '? 0px';
    var b = (this._animationSpeed == 0) ? 0 : 300;
    FB.Anim.ate(this._page, a, b);
    FB.Anim.ate(this._container, {top:(-1 * this._initialHeight) + 'px'}, b, function(c) {
        c.parentNode.removeChild(c);
    });
    this.fire('connectbar.onclose');
    FB.Event.fire('connectbar.onclose', this);
    FB.Helper.invokeHandler(this.getAttribute('on-close'), this);
}});
FB.provide('XFBML.ConnectBar', {imgs:{buttonUrl:'images/facebook-widgets/close_btn.png',missingProfileUrl:'pics/q_silhouette.gif'}});
FB.subclass('XFBML.Fan', 'XFBML.IframeWidget', null, {_visibleAfter:'load',setupAndValidate:function() {
    this._attr = {api_key:FB._apiKey,connections:this.getAttribute('connections', '10'),css:this.getAttribute('css'),height:this._getPxAttribute('height'),id:this.getAttribute('profile-id'),logobar:this._getBoolAttribute('logo-bar'),name:this.getAttribute('name'),stream:this._getBoolAttribute('stream', true),width:this._getPxAttribute('width', 300)};
    if (!this._attr.id && !this._attr.name) {
        FB.log('<fb:fan> requires one of the "id" or "name" attributes.');
        return false;
    }
    var a = this._attr.height;
    if (!a)if ((!this._attr.connections || this._attr.connections === '0') && !this._attr.stream) {
        a = 65;
    } else if (!this._attr.connections || this._attr.connections === '0') {
        a = 375;
    } else if (!this._attr.stream) {
        a = 250;
    } else a = 550;
    if (this._attr.logobar)a += 25;
    this._attr.height = a;
    return true;
},getSize:function() {
    return {width:this._attr.width,height:this._attr.height};
},getUrlBits:function() {
    return {name:'fan',params:this._attr};
}});
FB.subclass('XFBML.Friendpile', 'XFBML.Facepile', null, {});
FB.subclass('XFBML.EdgeCommentWidget', 'XFBML.IframeWidget', function(a) {
    this._iframeWidth = a.width + 1;
    this._iframeHeight = a.height;
    this._attr = {master_frame_name:a.masterFrameName};
    this.dom = a.commentNode;
    this.dom.style.top = a.relativeHeightOffset;
    if (a.relativeWidthOffset)if (FB._localeIsRtl) {
        this.dom.style.right = a.relativeWidthOffset;
    } else this.dom.style.left = a.relativeWidthOffset;
    this.dom.style.zIndex = FB.XFBML.EdgeCommentWidget.NextZIndex++;
    FB.Dom.addCss(this.dom, 'fb_edge_comment_widget');
}, {_visibleAfter:'load',_showLoader:false,getSize:function() {
    return {width:this._iframeWidth,height:this._iframeHeight};
},getUrlBits:function() {
    return {name:'comment_widget_shell',params:this._attr};
}});
FB.provide('XFBML.EdgeCommentWidget', {NextZIndex:10000});
FB.subclass('XFBML.EdgeWidget', 'XFBML.IframeWidget', null, {_visibleAfter:'immediate',_showLoader:false,setupAndValidate:function() {
    FB.Dom.addCss(this.dom, 'fb_edge_widget_with_comment');
    this._attr = {channel_url:this.getChannelUrl(),debug:this._getBoolAttribute('debug'),href:this.getAttribute('href', window.location.href),is_permalink:this._getBoolAttribute('is-permalink'),node_type:this.getAttribute('node-type', 'link'),width:this._getWidgetWidth(),font:this.getAttribute('font'),layout:this._getLayout(),colorscheme:this.getAttribute('color-scheme'),action:this.getAttribute('action'),ref:this.getAttribute('ref'),show_faces:this._shouldShowFaces(),no_resize:this._getBoolAttribute('no_resize'),send:this.getAttribute('send'),url_map:this.getAttribute('url_map'),extended_social_context:this._getBoolAttribute('extended_social_context', false)};
    return true;
},oneTimeSetup:function() {
    this.subscribe('xd.authPrompted', FB.bind(this._onAuthPrompt, this));
    this.subscribe('xd.edgeCreated', FB.bind(this._onEdgeCreate, this));
    this.subscribe('xd.edgeRemoved', FB.bind(this._onEdgeRemove, this));
    this.subscribe('xd.presentEdgeCommentDialog', FB.bind(this._handleEdgeCommentDialogPresentation, this));
    this.subscribe('xd.dismissEdgeCommentDialog', FB.bind(this._handleEdgeCommentDialogDismissal, this));
    this.subscribe('xd.hideEdgeCommentDialog', FB.bind(this._handleEdgeCommentDialogHide, this));
    this.subscribe('xd.showEdgeCommentDialog', FB.bind(this._handleEdgeCommentDialogShow, this));
},getSize:function() {
    return {width:this._getWidgetWidth(),height:this._getWidgetHeight()};
},_getWidgetHeight:function() {
    var b = this._getLayout();
    var e = this._shouldShowFaces() ? 'show' : 'hide';
    var d = this.getAttribute('send');
    var a = 65 + (d && d !== 'false' ? 25 : 0);
    var c = {standard:{show:80,hide:35},box_count:{show:a,hide:a},button_count:{show:21,hide:21},simple:{show:20,hide:20}};
    return c[b][e];
},_getWidgetWidth:function() {
    var e = this._getLayout();
    var g = this.getAttribute('send');
    var h = this._shouldShowFaces() ? 'show' : 'hide';
    var c = (this.getAttribute('action') === 'recommend' ? 130 : 90) + (g && g !== 'false' ? 60 : 0);
    var b = this.getAttribute('action') === 'recommend' ? 100 : 55;
    var i = this.getAttribute('action') === 'recommend' ? 90 : 50;
    var f = {standard:{show:450,hide:450},box_count:{show:b,hide:b},button_count:{show:c,hide:c},simple:{show:i,hide:i}};
    var d = f[e][h];
    var j = this._getPxAttribute('width', d);
    var a = {standard:{min:225,max:900},box_count:{min:b,max:900},button_count:{min:c,max:900},simple:{min:49,max:900}};
    if (j < a[e].min) {
        j = a[e].min;
    } else if (j > a[e].max)j = a[e].max;
    return j;
},_getLayout:function() {
    return this._getAttributeFromList('layout', 'standard', ['standard','button_count','box_count','simple']);
},_shouldShowFaces:function() {
    return this._getLayout() === 'standard' && this._getBoolAttribute('show-faces', true);
},_handleEdgeCommentDialogPresentation:function(b) {
    if (!this.isValid())return;
    var a = document.createElement('span');
    this._commentSlave = this._createEdgeCommentWidget(b, a);
    this.dom.appendChild(a);
    this._commentSlave.process();
    this._commentWidgetNode = a;
},_createEdgeCommentWidget:function(b, a) {
    var c = {commentNode:a,externalUrl:b.externalURL,width:400,height:225,masterFrameName:b.masterFrameName,layout:this._getLayout(),relativeHeightOffset:this._getHeightOffset(b),relativeWidthOffset:this._getWidthOffset(b)};
    return new FB.XFBML.EdgeCommentWidget(c);
},_getHeightOffset:function(c) {
    if (c && c.preComputedHeightOffset)return parseInt(c.preComputedHeightOffset, 10) + 'px';
    var a = this._getLayout();
    var b = {standard:'22px',button_count:'19px',box_count:'-5px',simple:'18px'};
    return b[a];
},_getCommonEdgeCommentWidgetOpts:function(c, a, d, b) {
    return {colorscheme:this._attr.colorscheme,commentNode:a,controllerID:c.controllerID,nodeImageURL:c.nodeImageURL,nodeRef:this._attr.ref,nodeTitle:c.nodeTitle,nodeURL:c.nodeURL,nodeSummary:c.nodeSummary,width:400,height:300,relativeHeightOffset:(b ? this._getHeightOffset(c) : this._getHeightOffset()),relativeWidthOffset:(d ? this._getWidthOffset(c) : this._getWidthOffset()),error:c.error,siderender:c.siderender,extended_social_context:c.extended_social_context};
},_getWidthOffset:function(c) {
    if (c && c.preComputedWidthOffset)return parseInt(c.preComputedWidthOffset, 10) + 'px';
    var a = this._getLayout();
    var b = {standard:'0px',box_count:'0px',button_count:'0px',simple:'0px'};
    return b[a];
},_handleEdgeCommentDialogDismissal:function(a) {
    if (this._commentWidgetNode) {
        this.dom.removeChild(this._commentWidgetNode);
        delete this._commentWidgetNode;
    }
},_handleEdgeCommentDialogHide:function() {
    if (this._commentWidgetNode)this._commentWidgetNode.style.display = "none";
},_handleEdgeCommentDialogShow:function() {
    if (this._commentWidgetNode)this._commentWidgetNode.style.display = "block";
},_fireEventAndInvokeHandler:function(b, a) {
    FB.Helper.fireEvent(b, this);
    FB.Helper.invokeHandler(this.getAttribute(a), this, [this._attr.href]);
},_onEdgeCreate:function() {
    this._fireEventAndInvokeHandler('edge.create', 'on-create');
},_onEdgeRemove:function() {
    this._fireEventAndInvokeHandler('edge.remove', 'on-remove');
},_onAuthPrompt:function() {
    this._fireEventAndInvokeHandler('auth.prompt', 'on-prompt');
}});
FB.subclass('XFBML.SendButtonFormWidget', 'XFBML.EdgeCommentWidget', function(a) {
    this._base(a);
    FB.Dom.addCss(this.dom, 'fb_send_button_form_widget');
    FB.Dom.addCss(this.dom, a.colorscheme);
    FB.Dom.addCss(this.dom, (typeof a.siderender != 'undefined' && a.siderender) ? 'siderender' : '');
    this._attr.nodeImageURL = a.nodeImageURL;
    this._attr.nodeRef = a.nodeRef;
    this._attr.nodeTitle = a.nodeTitle;
    this._attr.nodeURL = a.nodeURL;
    this._attr.nodeSummary = a.nodeSummary;
    this._attr.channel = this.getChannelUrl();
    this._attr.controllerID = a.controllerID;
    this._attr.colorscheme = a.colorscheme;
    this._attr.error = a.error;
    this._attr.siderender = a.siderender;
    this._attr.extended_social_context = a.extended_social_context;
}, {_showLoader:true,getUrlBits:function() {
    return {name:'send_button_form_shell',params:this._attr};
},oneTimeSetup:function() {
    this.subscribe('xd.messageSent', FB.bind(this._onMessageSent, this));
},_onMessageSent:function() {
    FB.Event.fire('message.send', this._attr.nodeURL, this);
}});
FB.subclass('XFBML.Send', 'XFBML.EdgeWidget', null, {setupAndValidate:function() {
    FB.Dom.addCss(this.dom, 'fb_edge_widget_with_comment');
    this._attr = {channel:this.getChannelUrl(),api_key:FB._apiKey,font:this.getAttribute('font'),colorscheme:this.getAttribute('colorscheme', 'light'),href:this.getAttribute('href', window.location.href),ref:this.getAttribute('ref'),extended_social_context:this.getAttribute('extended_social_context', false)};
    return true;
},getUrlBits:function() {
    return {name:'send',params:this._attr};
},_createEdgeCommentWidget:function(b, a) {
    var c = this._getCommonEdgeCommentWidgetOpts(b, a);
    return new FB.XFBML.SendButtonFormWidget(c);
},_getHeightOffset:function() {
    return '21px';
},_getWidthOffset:function() {
    return '0px';
},getSize:function() {
    return {width:FB.XFBML.Send.Dimensions.width,height:FB.XFBML.Send.Dimensions.height};
}});
FB.provide('XFBML.Send', {Dimensions:{width:80,height:25}});
FB.subclass('XFBML.Like', 'XFBML.EdgeWidget', null, {_widgetPipeEnabled:true,getUrlBits:function() {
    return {name:'like',params:this._attr};
},_createEdgeCommentWidget:function(b, a) {
    if ('send' in this._attr && 'widget_type' in b && b.widget_type == 'send') {
        var c = this._getCommonEdgeCommentWidgetOpts(b, a, true, true);
        return new FB.XFBML.SendButtonFormWidget(c);
    } else return this._callBase("_createEdgeCommentWidget", b, a);
},getIframeTitle:function() {
    return 'Like this content on Facebook.';
}});
FB.subclass('XFBML.LikeBox', 'XFBML.IframeWidget', null, {_visibleAfter:'load',setupAndValidate:function() {
    this._attr = {channel:this.getChannelUrl(),api_key:FB._apiKey,connections:this.getAttribute('connections'),css:this.getAttribute('css'),height:this.getAttribute('height'),id:this.getAttribute('profile-id'),header:this._getBoolAttribute('header', true),name:this.getAttribute('name'),show_faces:this._getBoolAttribute('show-faces', true),stream:this._getBoolAttribute('stream', true),width:this._getPxAttribute('width', 300),href:this.getAttribute('href'),colorscheme:this.getAttribute('colorscheme', 'light'),border_color:this.getAttribute('border_color')};
    if (this._getBoolAttribute('force_wall', false))this._attr.force_wall = true;
    if (this._attr.connections === '0') {
        this._attr.show_faces = false;
    } else if (this._attr.connections)this._attr.show_faces = true;
    if (!this._attr.id && !this._attr.name && !this._attr.href) {
        FB.log('<fb:like-box> requires one of the "id" or "name" attributes.');
        return false;
    }
    var a = this._attr.height;
    if (!a)if (!this._attr.show_faces && !this._attr.stream) {
        a = 62;
    } else {
        a = 95;
        if (this._attr.show_faces)a += 163;
        if (this._attr.stream)a += 300;
        if (this._attr.header && this._attr.header !== '0')a += 32;
    }
    this._attr.height = a;
    this.subscribe('xd.likeboxLiked', FB.bind(this._onLiked, this));
    this.subscribe('xd.likeboxUnliked', FB.bind(this._onUnliked, this));
    return true;
},getSize:function() {
    return {width:this._attr.width,height:this._attr.height};
},getUrlBits:function() {
    return {name:'likebox',params:this._attr};
},_onLiked:function() {
    FB.Helper.fireEvent('edge.create', this);
},_onUnliked:function() {
    FB.Helper.fireEvent('edge.remove', this);
}});
FB.subclass('XFBML.LiveStream', 'XFBML.IframeWidget', null, {_visibleAfter:'load',setupAndValidate:function() {
    this._attr = {app_id:this.getAttribute('event-app-id'),height:this._getPxAttribute('height', 500),hideFriendsTab:this.getAttribute('hide-friends-tab'),redesigned:this._getBoolAttribute('redesigned-stream'),width:this._getPxAttribute('width', 400),xid:this.getAttribute('xid', 'default'),always_post_to_friends:this._getBoolAttribute('always-post-to-friends', false),via_url:this.getAttribute('via_url')};
    return true;
},getSize:function() {
    return {width:this._attr.width,height:this._attr.height};
},getUrlBits:function() {
    var a = this._attr.redesigned ? 'live_stream_box' : 'livefeed';
    return {name:a,params:this._attr};
}});
FB.subclass('XFBML.Login', 'XFBML.Facepile', null, {_visibleAfter:'load',getSize:function() {
    return {width:this._attr.width,height:94};
},getUrlBits:function() {
    return {name:'login',params:this._attr};
}});
FB.subclass('XFBML.LoginButton', 'XFBML.ButtonElement', null, {setupAndValidate:function() {
    if (this._alreadySetup)return true;
    this._alreadySetup = true;
    this._attr = {autologoutlink:this._getBoolAttribute('auto-logout-link'),length:this._getAttributeFromList('length', 'short', ['long','short']),onlogin:this.getAttribute('on-login'),perms:this.getAttribute('perms'),scope:this.getAttribute('scope'),registration_url:this.getAttribute('registration-url'),status:'unknown'};
    if (this._attr.autologoutlink)FB.Event.subscribe('auth.statusChange', FB.bind(this.process, this));
    if (this._attr.registration_url) {
        FB.Event.subscribe('auth.statusChange', this._saveStatus(this.process, false));
        FB.getLoginStatus(this._saveStatus(this.process, false));
    }
    return true;
},getButtonMarkup:function() {
    var a = this.getOriginalHTML();
    if (a)return a;
    if (!this._attr.registration_url) {
        if (FB.getAccessToken() && this._attr.autologoutlink) {
            return FB.Intl._tx("Facebook Logout");
        } else if (FB.getAccessToken()) {
            return '';
        } else return this._getLoginText();
    } else switch (this._attr.status) {
        case 'unknown':
            return this._getLoginText();
        case 'notConnected':
        case 'not_authorized':
            return FB.Intl._tx("Register");
        case 'connected':
            if (FB.getAccessToken() && this._attr.autologoutlink)return FB.Intl._tx("Facebook Logout");
            return '';
        default:
            FB.log('Unknown status: ' + this._attr.status);
            return FB.Intl._tx("Log In");
    }
},_getLoginText:function() {
    return this._attr.length == 'short' ? FB.Intl._tx("Log In") : FB.Intl._tx("Log In with Facebook");
},onClick:function() {
    if (!this._attr.registration_url) {
        if (!FB.getAccessToken() || !this._attr.autologoutlink) {
            FB.login(FB.bind(this._authCallback, this), {perms:this._attr.perms,scope:this._attr.scope});
        } else FB.logout(FB.bind(this._authCallback, this));
    } else switch (this._attr.status) {
        case 'unknown':
            FB.ui({method:'auth.logintoFacebook'}, FB.bind(function(a) {
                FB.bind(FB.getLoginStatus(this._saveStatus(this._authCallback, true), true), this);
            }, this));
            break;
        case 'notConnected':
        case 'not_authorized':
            window.top.location = this._attr.registration_url;
            break;
        case 'connected':
            if (!FB.getAccessToken() || !this._attr.autologoutlink) {
                this._authCallback();
            } else FB.logout(FB.bind(this._authCallback, this));
            break;
        default:
            FB.log('Unknown status: ' + this._attr.status);
    }
},_authCallback:function(a) {
    FB.Helper.invokeHandler(this._attr.onlogin, this, [a]);
},_saveStatus:function(a, b) {
    return FB.bind(function(c) {
        if (b && this._attr.registration_url && (this._attr.status == 'notConnected' || this._attr.status == 'not_authorized') && (c.status == 'notConnected' || c.status == 'not_authorized'))window.top.location = this._attr.registration_url;
        this._attr.status = c.status;
        if (a) {
            a = this.bind(a, this);
            return a(c);
        }
    }, this);
}});
FB.subclass('XFBML.Name', 'XFBML.Element', null, {process:function() {
    FB.copy(this, {_uid:this.getAttribute('uid'),_firstnameonly:this._getBoolAttribute('first-name-only'),_lastnameonly:this._getBoolAttribute('last-name-only'),_possessive:this._getBoolAttribute('possessive'),_reflexive:this._getBoolAttribute('reflexive'),_objective:this._getBoolAttribute('objective'),_linked:this._getBoolAttribute('linked', true),_subjectId:this.getAttribute('subject-id')});
    if (!this._uid) {
        FB.log('"uid" is a required attribute for <fb:name>');
        this.fire('render');
        return;
    }
    var b = [];
    if (this._firstnameonly) {
        b.push('first_name');
    } else if (this._lastnameonly) {
        b.push('last_name');
    } else b.push('name');
    if (this._subjectId) {
        b.push('sex');
        if (this._subjectId == FB.Helper.getLoggedInUser())this._reflexive = true;
    }
    var a;
    FB.Event.monitor('auth.statusChange', this.bind(function() {
        if (!this.isValid()) {
            this.fire('render');
            return true;
        }
        if (!this._uid || this._uid == 'loggedinuser')this._uid = FB.Helper.getLoggedInUser();
        if (!this._uid)return;
        if (FB.Helper.isUser(this._uid)) {
            a = FB.Data._selectByIndex(b, 'user', 'uid', this._uid);
        } else a = FB.Data._selectByIndex(['name','id'], 'profile', 'id', this._uid);
        a.wait(this.bind(function(c) {
            if (this._subjectId == this._uid) {
                this._renderPronoun(c[0]);
            } else this._renderOther(c[0]);
            this.fire('render');
        }));
    }));
},_renderPronoun:function(b) {
    var c = '',a = this._objective;
    if (this._subjectId) {
        a = true;
        if (this._subjectId === this._uid)this._reflexive = true;
    }
    if (this._uid == FB.Connect.get_loggedInUser() && this._getBoolAttribute('use-you', true)) {
        if (this._possessive) {
            if (this._reflexive) {
                c = 'your own';
            } else c = 'your';
        } else if (this._reflexive) {
            c = 'yourself';
        } else c = 'you';
    } else switch (b.sex) {
        case 'male':
            if (this._possessive) {
                c = this._reflexive ? 'his own' : 'his';
            } else if (this._reflexive) {
                c = 'himself';
            } else if (a) {
                c = 'him';
            } else c = 'he';
            break;
        case 'female':
            if (this._possessive) {
                c = this._reflexive ? 'her own' : 'her';
            } else if (this._reflexive) {
                c = 'herself';
            } else if (a) {
                c = 'her';
            } else c = 'she';
            break;
        default:
            if (this._getBoolAttribute('use-they', true)) {
                if (this._possessive) {
                    if (this._reflexive) {
                        c = 'their own';
                    } else c = 'their';
                } else if (this._reflexive) {
                    c = 'themselves';
                } else if (a) {
                    c = 'them';
                } else c = 'they';
            } else if (this._possessive) {
                if (this._reflexive) {
                    c = 'his/her own';
                } else c = 'his/her';
            } else if (this._reflexive) {
                c = 'himself/herself';
            } else if (a) {
                c = 'him/her';
            } else c = 'he/she';
            break;
    }
    if (this._getBoolAttribute('capitalize', false))c = FB.Helper.upperCaseFirstChar(c);
    this.dom.innerHTML = c;
},_renderOther:function(c) {
    var b = '',a = '';
    if (this._uid == FB.Helper.getLoggedInUser() && this._getBoolAttribute('use-you', true)) {
        if (this._reflexive) {
            if (this._possessive) {
                b = 'your own';
            } else b = 'yourself';
        } else if (this._possessive) {
            b = 'your';
        } else b = 'you';
    } else if (c) {
        if (null === c.first_name)c.first_name = '';
        if (null === c.last_name)c.last_name = '';
        if (this._firstnameonly && c.first_name !== undefined) {
            b = FB.String.escapeHTML(c.first_name);
        } else if (this._lastnameonly && c.last_name !== undefined)b = FB.String.escapeHTML(c.last_name);
        if (!b)b = FB.String.escapeHTML(c.name);
        if (b !== '' && this._possessive)b += '\'s';
    }
    if (!b)b = FB.String.escapeHTML(this.getAttribute('if-cant-see', 'Facebook User'));
    if (b) {
        if (this._getBoolAttribute('capitalize', false))b = FB.Helper.upperCaseFirstChar(b);
        if (c && this._linked) {
            a = FB.Helper.getProfileLink(c, b, this.getAttribute('href', null));
        } else a = b;
    }
    this.dom.innerHTML = a;
}});
FB.subclass('XFBML.ProfilePic', 'XFBML.Element', null, {process:function() {
    var d = this.getAttribute('size', 'thumb'),b = FB.XFBML.ProfilePic._sizeToPicFieldMap[d],g = this._getPxAttribute('width'),a = this._getPxAttribute('height'),e = this.dom.style,f = this.getAttribute('uid');
    if (this._getBoolAttribute('facebook-logo'))b += '_with_logo';
    if (g) {
        g = g + 'px';
        e.width = g;
    }
    if (a) {
        a = a + 'px';
        e.height = a;
    }
    var c = this.bind(function(j) {
        var l = j ? j[0] : null,i = l ? l[b] : null;
        if (!i)i = FB.getDomain('cdn') + FB.XFBML.ProfilePic._defPicMap[b];
        var k = ((g ? 'width:' + g + ';' : '') + (a ? 'height:' + g + ';' : '')),h = FB.String.format('<img src="{0}" alt="{1}" title="{1}" style="{2}" class="{3}" />', i, l ? FB.String.escapeHTML(l.name) : '', k, this.dom.className);
        if (this._getBoolAttribute('linked', true))h = FB.Helper.getProfileLink(l, h, this.getAttribute('href', null));
        this.dom.innerHTML = h;
        FB.Dom.addCss(this.dom, 'fb_profile_pic_rendered');
        this.fire('render');
    });
    FB.Event.monitor('auth.statusChange', this.bind(function() {
        if (!this.isValid()) {
            this.fire('render');
            return true;
        }
        if (this.getAttribute('uid', null) == 'loggedinuser')f = FB.Helper.getLoggedInUser();
        if (FB._userStatus && f) {
            FB.Data._selectByIndex(['name',b], FB.Helper.isUser(f) ? 'user' : 'profile', FB.Helper.isUser(f) ? 'uid' : 'id', f).wait(c);
        } else c();
    }));
}});
FB.provide('XFBML.ProfilePic', {_defPicMap:{pic:'pics/s_silhouette.jpg',pic_big:'pics/d_silhouette.gif',pic_big_with_logo:'pics/d_silhouette_logo.gif',pic_small:'pics/t_silhouette.jpg',pic_small_with_logo:'pics/t_silhouette_logo.gif',pic_square:'pics/q_silhouette.gif',pic_square_with_logo:'pics/q_silhouette_logo.gif',pic_with_logo:'pics/s_silhouette_logo.gif'},_sizeToPicFieldMap:{n:'pic_big',normal:'pic_big',q:'pic_square',s:'pic',small:'pic',square:'pic_square',t:'pic_small',thumb:'pic_small'}});
FB.subclass('XFBML.Question', 'XFBML.IframeWidget', null, {_visibleAfter:'load',setupAndValidate:function() {
    this._attr = {channel:this.getChannelUrl(),api_key:FB._apiKey,permalink:this.getAttribute('permalink'),width:this.getAttribute('width', 400),height:0};
    this.subscribe('xd.firstVote', FB.bind(this._onInitialVote, this));
    this.subscribe('xd.vote', FB.bind(this._onChangedVote, this));
    return true;
},getSize:function() {
    return {width:this._attr.width,height:this._attr.height};
},getUrlBits:function() {
    return {name:'question',params:this._attr};
},_onInitialVote:function(a) {
    FB.Event.fire('question.firstVote', this._attr.permalink, a.vote);
},_onChangedVote:function(a) {
    FB.Event.fire('question.vote', this._attr.permalink, a.vote);
}});
FB.subclass('XFBML.Recommendations', 'XFBML.IframeWidget', null, {_visibleAfter:'load',_refreshOnAuthChange:true,setupAndValidate:function() {
    this._attr = {border_color:this.getAttribute('border-color'),colorscheme:this.getAttribute('color-scheme'),filter:this.getAttribute('filter'),font:this.getAttribute('font'),action:this.getAttribute('action'),linktarget:this.getAttribute('linktarget', '_blank'),max_age:this.getAttribute('max_age'),header:this._getBoolAttribute('header'),height:this._getPxAttribute('height', 300),site:this.getAttribute('site', location.hostname),width:this._getPxAttribute('width', 300)};
    return true;
},getSize:function() {
    return {width:this._attr.width,height:this._attr.height};
},getUrlBits:function() {
    return {name:'recommendations',params:this._attr};
}});
FB.subclass('XFBML.RecommendationsBar', 'XFBML.IframeWidget', null, {getUrlBits:function() {
    return {name:'recommendations_bar',params:this._attr};
},setupAndValidate:function() {
    function b(j, i) {
        var k = 0;
        var l = null;

        function m() {
            i();
            l = null;
            k = (new Date()).getTime();
        }

        return function() {
            if (!l) {
                var n = (new Date()).getTime();
                if (n - k < j) {
                    l = window.setTimeout(m, j - (n - k));
                } else m();
            }
            return true;
        };
    }

    function g(j) {
        if (j.match(/^\d+(?:\.\d+)?%$/)) {
            var i = Math.min(Math.max(parseInt(j, 10), 0), 100);
            j = i / 100;
        } else if (j != 'manual' && j != 'onvisible')j = 'onvisible';
        return j;
    }

    function f(i) {
        return Math.max(parseInt(i, 10) || 30, 10);
    }

    this._attr = {channel:this.getChannelUrl(),api_key:FB._apiKey,font:this.getAttribute('font'),colorscheme:this.getAttribute('colorscheme'),side:this.getAttribute('side'),href:FB.URI.resolve(this.getAttribute('href')),site:this.getAttribute('site'),action:this.getAttribute('action'),ref:this.getAttribute('ref'),trigger:g(this.getAttribute('trigger', '')),read_time:f(this.getAttribute('read_time'))};
    FB._inPlugin = true;
    this._showLoader = false;
    this.subscribe('iframe.onload', FB.bind(function() {
        var i = this._attr.side || (FB._localeIsRtl ? 'left' : 'right');
        var j = this.dom.children[0];
        j.className = 'fbpluginrecommendationsbar fbpluginrecommendationsbar' + i;
    }, this));
    var a = FB.bind(function() {
        FB.Event.unlisten(window, 'scroll', a);
        FB.Event.unlisten(document.documentElement, 'click', a);
        FB.Event.unlisten(document.documentElement, 'mousemove', a);
        window.setTimeout(FB.bind(this.arbiterInform, this, 'platform/plugins/social_bar/action', null, FB.Arbiter.BEHAVIOR_STATE), this._attr.read_time * 1000);
        return true;
    }, this);
    FB.Event.listen(window, 'scroll', a);
    FB.Event.listen(document.documentElement, 'click', a);
    FB.Event.listen(document.documentElement, 'mousemove', a);
    if (this._attr.trigger == "manual") {
        var c = FB.bind(function(i) {
            if (i == this._attr.href) {
                FB.Event.unsubscribe('xfbml.recommendationsbar.read', c);
                this.arbiterInform('platform/plugins/social_bar/trigger', null, FB.Arbiter.BEHAVIOR_STATE);
            }
            return true;
        }, this);
        FB.Event.subscribe('xfbml.recommendationsbar.read', c);
    } else {
        var e = b(500, FB.bind(function() {
            if (this.calculateVisibility()) {
                FB.Event.unlisten(window, 'scroll', e);
                FB.Event.unlisten(window, 'resize', e);
                this.arbiterInform('platform/plugins/social_bar/trigger', null, FB.Arbiter.BEHAVIOR_STATE);
            }
            return true;
        }, this));
        FB.Event.listen(window, 'scroll', e);
        FB.Event.listen(window, 'resize', e);
        e();
    }
    this.visible = false;
    var h = b(500, FB.bind(function() {
        if (!this.visible && this.calculateVisibility()) {
            this.visible = true;
            this.arbiterInform('platform/plugins/social_bar/visible');
        } else if (this.visible && !this.calculateVisibility()) {
            this.visible = false;
            this.arbiterInform('platform/plugins/social_bar/invisible');
        }
        return true;
    }, this));
    FB.Event.listen(window, 'scroll', h);
    FB.Event.listen(window, 'resize', h);
    h();
    this.focused = true;
    var d = FB.bind(function() {
        this.focused = !this.focused;
        return true;
    }, this);
    FB.Event.listen(window, 'blur', d);
    FB.Event.listen(window, 'focus', d);
    this.resize_running = false;
    this.animate = false;
    this.subscribe('xd.signal_animation', FB.bind(function() {
        this.animate = true;
    }, this));
    return true;
},getSize:function() {
    return {height:25,width:(this._attr.action == 'recommend' ? 140 : 96)};
},calculateVisibility:function() {
    var b = document.documentElement.clientHeight;
    if (!this.focused && window.console && window.console.firebug)return this.visible;
    switch (this._attr.trigger) {
        case "manual":
            return false;
        case "onvisible":
            var a = this.dom.getBoundingClientRect().top;
            return a <= b;
        default:
            var d = window.scrollY + b;
            var c = document.documentElement.scrollHeight;
            return d / c >= this._attr.trigger;
    }
},_handleResizeMsg:function(a) {
    if (!this.isValid())return;
    if (a.width)this.getIframeNode().style.width = a.width + 'px';
    if (a.height) {
        this._setNextResize(a.height);
        this._checkNextResize();
    }
    this._makeVisible();
},_setNextResize:function(a) {
    this.next_resize = a;
},_checkNextResize:function() {
    if (!this.next_resize || this.resize_running)return;
    var b = this.getIframeNode();
    var a = this.next_resize;
    this.next_resize = null;
    if (this.animate) {
        this.animate = false;
        this.resize_running = true;
        FB.Anim.ate(b, {height:a + 'px'}, 300, FB.bind(function() {
            this.resize_running = false;
            this._checkNextResize();
        }, this));
    } else b.style.height = a + 'px';
}});
FB.XFBML.RecommendationsBar.markRead = function(a) {
    FB.Event.fire('xfbml.recommendationsbar.read', a || window.location.href);
};
FB.subclass('XFBML.Registration', 'XFBML.IframeWidget', null, {_visibleAfter:'immediate',_baseHeight:167,_fieldHeight:28,_skinnyWidth:520,_skinnyBaseHeight:173,_skinnyFieldHeight:52,setupAndValidate:function() {
    this._attr = {action:this.getAttribute('action'),border_color:this.getAttribute('border-color'),channel_url:this.getChannelUrl(),client_id:FB._apiKey,fb_only:this._getBoolAttribute('fb-only', false),fb_register:this._getBoolAttribute('fb-register', false),fields:this.getAttribute('fields'),height:this._getPxAttribute('height'),redirect_uri:this.getAttribute('redirect-uri', window.location.href),no_footer:this._getBoolAttribute('no-footer'),no_header:this._getBoolAttribute('no-header'),onvalidate:this.getAttribute('onvalidate'),width:this._getPxAttribute('width', 600),target:this.getAttribute('target')};
    if (this._attr.onvalidate)this.subscribe('xd.validate', this.bind(function(b) {
        var d = FB.JSON.parse(b.value);
        var a = this.bind(function(e) {
            FB.Arbiter.inform('Registration.Validation', {errors:e,id:b.id}, 'parent.frames["' + this.getIframeNode().name + '"]', window.location.protocol == 'https:');
        });
        var c = FB.Helper.executeFunctionByName(this._attr.onvalidate, d, a);
        if (c)a(c);
    }));
    this.subscribe('xd.authLogin', FB.bind(this._onAuthLogin, this));
    this.subscribe('xd.authLogout', FB.bind(this._onAuthLogout, this));
    return true;
},getSize:function() {
    return {width:this._attr.width,height:this._getHeight()};
},_getHeight:function() {
    if (this._attr.height)return this._attr.height;
    var b;
    if (!this._attr.fields) {
        b = ['name'];
    } else try {
        b = FB.JSON.parse(this._attr.fields);
    } catch(a) {
        b = this._attr.fields.split(/,/);
    }
    if (this._attr.width < this._skinnyWidth) {
        return this._skinnyBaseHeight + b.length * this._skinnyFieldHeight;
    } else return this._baseHeight + b.length * this._fieldHeight;
},getUrlBits:function() {
    return {name:'registration',params:this._attr};
},getDefaultWebDomain:function() {
    return 'https_www';
},_onAuthLogin:function() {
    if (!FB.getSession())FB.getLoginStatus();
    FB.Helper.fireEvent('auth.login', this);
},_onAuthLogout:function() {
    if (!FB.getSession())FB.getLoginStatus();
    FB.Helper.fireEvent('auth.logout', this);
}});
FB.subclass('XFBML.ServerFbml', 'XFBML.IframeWidget', null, {_visibleAfter:'resize',setupAndValidate:function() {
    this._attr = {channel_url:this.getChannelUrl(),fbml:this.getAttribute('fbml'),width:this._getPxAttribute('width')};
    if (!this._attr.fbml) {
        var a = this.dom.getElementsByTagName('script')[0];
        if (a && a.type === 'text/fbml')this._attr.fbml = a.innerHTML;
    }
    if (!this._attr.fbml) {
        FB.log('<fb:serverfbml> requires the "fbml" attribute.');
        return false;
    }
    return true;
},getSize:function() {
    return {width:this._attr.width,height:this._attr.height};
},getUrlBits:function() {
    return {name:'serverfbml',params:this._attr};
}});
FB.subclass('XFBML.ShareButton', 'XFBML.Element', null, {process:function() {
    this._href = this.getAttribute('href', window.location.href);
    this._type = this.getAttribute('type', 'icon_link');
    FB.Dom.addCss(this.dom, 'fb_share_count_hidden');
    this._renderButton(true);
},_renderButton:function(h) {
    if (!this.isValid()) {
        this.fire('render');
        return;
    }
    var d = '',e = '',f = '',c = '',g = FB.Intl._tx("Share"),i = '';
    switch (this._type) {
        case 'icon':
        case 'icon_link':
            c = 'fb_button_simple';
            d = ('<span class="fb_button_text">' + (this._type == 'icon_link' ? g : '&nbsp;') + '</span>');
            h = false;
            break;
        case 'link':
            d = FB.Intl._tx("Share on Facebook");
            h = false;
            break;
        case 'button':
            d = '<span class="fb_button_text">' + g + '</span>';
            c = 'fb_button fb_button_small';
            h = false;
            break;
        case 'button_count':
            d = '<span class="fb_button_text">' + g + '</span>';
            e = ('<span class="fb_share_count_nub_right">&nbsp;</span>' + '<span class="fb_share_count fb_share_count_right">' + this._getCounterMarkup() + '</span>');
            c = 'fb_button fb_button_small';
            break;
        default:
            d = '<span class="fb_button_text">' + g + '</span>';
            f = ('<span class="fb_share_count_nub_top">&nbsp;</span>' + '<span class="fb_share_count fb_share_count_top">' + this._getCounterMarkup() + '</span>');
            c = 'fb_button fb_button_small';
            i = 'fb_share_count_wrapper';
    }
    var b = FB.guid();
    this.dom.innerHTML = FB.String.format('<span class="{0}">{4}<a id="{1}" class="{2}" ' + 'target="_blank">{3}</a>{5}</span>', i, b, c, d, f, e);
    var a = document.getElementById(b);
    a.href = this._href;
    a.onclick = function() {
        FB.ui({method:'stream.share',u:this.href});
        return false;
    };
    if (!h)this.fire('render');
},_getCounterMarkup:function() {
    if (!this._count)this._count = FB.Data._selectByIndex(['total_count'], 'link_stat', 'url', this._href);
    var b = '0';
    if (this._count.value !== undefined) {
        if (this._count.value.length > 0) {
            var a = this._count.value[0].total_count;
            if (a > 3) {
                FB.Dom.removeCss(this.dom, 'fb_share_count_hidden');
                b = a >= 1e+07 ? Math.round(a / 1e+06) + 'M' : (a >= 10000 ? Math.round(a / 1000) + 'K' : a);
            }
        }
    } else this._count.wait(FB.bind(this._renderButton, this, false));
    return '<span class="fb_share_count_inner">' + b + '</span>';
}});
void(0);
FB.provide("", {"_domain":{"api":"https:\/\/api.facebook.com\/","api_read":"https:\/\/api-read.facebook.com\/","cdn":"http:\/\/static.ak.fbcdn.net\/","cdn_foreign":"http:\/\/connect.facebook.net\/","graph":"https:\/\/graph.facebook.com\/","https_cdn":"https:\/\/s-static.ak.fbcdn.net\/","https_staticfb":"https:\/\/s-static.ak.facebook.com\/","https_www":"https:\/\/www.facebook.com\/","staticfb":"http:\/\/static.ak.facebook.com\/","www":"http:\/\/www.facebook.com\/","m":"http:\/\/m.facebook.com\/","https_m":"https:\/\/m.facebook.com\/"},"_locale":"en_US","_localeIsRtl":false}, true);
FB.provide("Flash", {"_minVersions":[
    [10,0,22,87],
    [11,0,0]
],"_swfPath":"rsrc.php\/v1\/yK\/r\/RIxWozDt5Qq.swf"}, true);
FB.provide("XD", {"_xdProxyUrl":"connect\/xd_proxy.php?version=3"}, true);
FB.provide("Arbiter", {"_canvasProxyUrl":"connect\/canvas_proxy.php?version=3"}, true);
FB.provide('Auth', {"_xdStorePath":"xd_localstorage\/v2"}, true);
FB.initSitevars = {"parseXFBMLBeforeDomReady":false,"computeContentSizeVersion":0,"enableMobile":1,"iframePermissions":{"read_stream":false,"manage_mailbox":false,"manage_friendlists":false,"read_mailbox":false,"publish_checkins":true,"status_update":true,"photo_upload":true,"video_upload":true,"sms":false,"create_event":true,"rsvp_event":true,"offline_access":true,"email":true,"xmpp_login":false,"create_note":true,"share_item":true,"export_stream":false,"publish_stream":true,"publish_likes":true,"ads_management":false,"contact_email":true,"access_private_data":false,"read_insights":false,"read_requests":false,"read_friendlists":true,"manage_pages":false,"physical_login":false,"manage_groups":false,"read_deals":false}};
FB.forceOAuth = false;
FB.widgetPipeEnabledApps = {"111476658864976":1,"cca6477272fc5cb805f85a84f20fca1d":1,"179150165472010":1};
FB.widgetPipeTagCountThreshold = 4;
FB.provide("Canvas.Prefetcher", {"_appIdsBlacklist":[144959615576466],"_sampleRate":500}, true);
FB.provide("TemplateData", {"_enabled":true}, true);
FB.provide("TemplateUI", {"_version":17}, true);
FB.provide("XFBML.ConnectBar", {"imgs":{"buttonUrl":"rsrc.php\/v1\/yD\/r\/vTpCGF2NWj7.png","missingProfileUrl":"rsrc.php\/v1\/ym\/r\/nMw9YWcvr3_.gif"}}, true);
FB.provide("XFBML.ProfilePic", {"_defPicMap":{"pic":"rsrc.php\/v1\/yp\/r\/2cLuhrLzxsT.jpg","pic_big":"rsrc.php\/v1\/ya\/r\/Vh4HEOBGqoq.gif","pic_big_with_logo":"rsrc.php\/v1\/yl\/r\/gbd23PK7Uts.gif","pic_small":"rsrc.php\/v1\/yJ\/r\/uLqQ0MPKchK.jpg","pic_small_with_logo":"rsrc.php\/v1\/yh\/r\/vMk65SFB5Ka.gif","pic_square":"rsrc.php\/v1\/ym\/r\/nMw9YWcvr3_.gif","pic_square_with_logo":"rsrc.php\/v1\/y6\/r\/KqC4dWrYX1S.gif","pic_with_logo":"rsrc.php\/v1\/yG\/r\/-So-t1Fe5ja.gif"}}, true);
if (FB.Dom && FB.Dom.addCssRules) {
    FB.Dom.addCssRules(".fb_hidden{position:absolute;top:-10000px;z-index:10001}\n.fb_invisible{display:none}\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{background:rgba(82, 82, 82, .7);position:absolute;top:-10000px;z-index:10001}\n.fb_dialog_advanced{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\/v1\/yq\/r\/IE9JII6Z1Ys.png) no-repeat scroll 0 0 transparent;_background-image:url(http:\/\/static.ak.fbcdn.net\/rsrc.php\/v1\/yL\/r\/s816eWC-2sl.gif);cursor:pointer;display:block;height:15px;position:absolute;right:18px;top:17px;width:15px;top:8px\\9;right:7px\\9}\n.fb_dialog_mobile .fb_dialog_close_icon{top:5px;left:5px;right:auto}\n.fb_dialog_padding{background-color:transparent;position:absolute;width:1px;z-index:-1}\n.fb_dialog_close_icon:hover{background:url(http:\/\/static.ak.fbcdn.net\/rsrc.php\/v1\/yq\/r\/IE9JII6Z1Ys.png) no-repeat scroll 0 -15px transparent;_background-image:url(http:\/\/static.ak.fbcdn.net\/rsrc.php\/v1\/yL\/r\/s816eWC-2sl.gif)}\n.fb_dialog_close_icon:active{background:url(http:\/\/static.ak.fbcdn.net\/rsrc.php\/v1\/yq\/r\/IE9JII6Z1Ys.png) no-repeat scroll 0 -30px transparent;_background-image:url(http:\/\/static.ak.fbcdn.net\/rsrc.php\/v1\/yL\/r\/s816eWC-2sl.gif)}\n.fb_dialog_loader{background-color:#f2f2f2;border:1px solid #606060;font-size: 24px;padding:20px}\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\/v1\/ye\/r\/8YeTNIlTZjm.png) no-repeat 0 0;left:-10px;top:-10px}\n.fb_dialog_top_right{background:url(http:\/\/static.ak.fbcdn.net\/rsrc.php\/v1\/ye\/r\/8YeTNIlTZjm.png) no-repeat 0 -10px;right:-10px;top:-10px}\n.fb_dialog_bottom_left{background:url(http:\/\/static.ak.fbcdn.net\/rsrc.php\/v1\/ye\/r\/8YeTNIlTZjm.png) no-repeat 0 -20px;bottom:-10px;left:-10px}\n.fb_dialog_bottom_right{background:url(http:\/\/static.ak.fbcdn.net\/rsrc.php\/v1\/ye\/r\/8YeTNIlTZjm.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\u0025}\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\u0025;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}\n.fb_dialog_content .dialog_title{background:#6d84b4;border:1px solid #3b5998;color:#fff;font-size: 14px;font-weight:bold;margin:0}\n.fb_dialog_content .dialog_title > span{background:url(http:\/\/static.ak.fbcdn.net\/rsrc.php\/v1\/yd\/r\/Cou7n-nqK52.gif)\nno-repeat 5px 50\u0025;float:left;padding:5px 0 7px 26px}\nbody.fb_hidden{-webkit-transform:none;height:100\u0025;margin:0;left:-10000px;overflow:visible;position:absolute;top:-10000px;width:100\u0025\n}\n.fb_dialog.fb_dialog_mobile.loading{background:url(http:\/\/static.ak.fbcdn.net\/rsrc.php\/v1\/yO\/r\/_j03izEX40U.gif)\nwhite no-repeat 50\u0025 50\u0025;min-height:100\u0025;min-width:100\u0025;overflow:hidden;position:absolute;top:0;z-index:10001}\n.fb_dialog.fb_dialog_mobile.loading.centered{max-height:590px;min-height:590px;max-width:500px;min-width:500px}\n#fb-root #fb_dialog_ipad_overlay{background:rgba(0, 0, 0, .45);position:absolute;left:0;top:0;width:100\u0025;min-height:100\u0025;z-index:10000}\n#fb-root #fb_dialog_ipad_overlay.hidden{display:none}\n.fb_dialog.fb_dialog_mobile.loading iframe{visibility:hidden}\n.fb_dialog_content .dialog_header{-webkit-box-shadow:white 0 1px 1px -1px inset;background:-webkit-gradient(linear, 0 0, 0 100\u0025, from(#738ABA), to(#2C4987));border-bottom:1px solid;border-color:#1d4088;color:#fff;font:14px Helvetica, sans-serif;font-weight:bold;text-overflow:ellipsis;text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0;vertical-align:middle\nwhite-space:nowrap}\n.fb_dialog_content .dialog_header table{-webkit-font-smoothing:subpixel-antialiased;height:43px;width:100\u0025\n}\n.fb_dialog_content .dialog_header td.header_left{font-size: 12px;padding-left:5px;vertical-align:middle;width:60px\n}\n.fb_dialog_content .dialog_header td.header_right{font-size: 12px;padding-right:5px;vertical-align:middle;width:60px\n}\n.fb_dialog_content .touchable_button{background:-webkit-gradient(linear, 0 0, 0 100\u0025, from(#4966A6),\ncolor-stop(0.5, #355492), to(#2A4887));border:1px solid #29447e;-webkit-background-clip:padding-box;-webkit-border-radius:3px;-webkit-box-shadow:rgba(0, 0, 0, .117188) 0 1px 1px inset,\nrgba(255, 255, 255, .167969) 0 1px 0;display:inline-block;margin-top:3px;max-width:85px;line-height:18px;padding:4px 12px;position:relative}\n.fb_dialog_content .dialog_header .touchable_button input{border:none;background:none;color:#fff;font:12px Helvetica, sans-serif;font-weight:bold;margin:2px -12px;padding:2px 6px 3px 6px;text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0}\n.fb_dialog_content .dialog_header .header_center{color:#fff;font-size: 16px;font-weight:bold;line-height:18px;text-align:center;vertical-align:middle}\n.fb_dialog_content .dialog_content{background:url(http:\/\/static.ak.fbcdn.net\/rsrc.php\/v1\/y9\/r\/jKEcVPZFk-2.gif) no-repeat 50\u0025 50\u0025;border:1px solid #555;border-bottom:0;border-top:0;height:150px}\n.fb_dialog_content .dialog_footer{background:#f2f2f2;border:1px solid #555;border-top-color:#ccc;height:40px}\n#fb_dialog_loader_close{float:left}\n.fb_dialog.fb_dialog_mobile .fb_dialog_close_button{text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0}\n.fb_dialog.fb_dialog_mobile .fb_dialog_close_icon{visibility:hidden}\n.fb_iframe_widget{position:relative;display:-moz-inline-block;display:inline-block}\n.fb_iframe_widget iframe{position:relative;vertical-align:text-bottom}\n.fb_iframe_widget span{position:relative}\n.fb_hide_iframes iframe{position:relative;left:-10000px}\n.fb_iframe_widget_loader{position:relative;display:inline-block}\n.fb_iframe_widget_loader iframe{min-height:32px;z-index:2;zoom:1}\n.fb_iframe_widget_loader .FB_Loader{background:url(http:\/\/static.ak.fbcdn.net\/rsrc.php\/v1\/y9\/r\/jKEcVPZFk-2.gif) no-repeat;height:32px;width:32px;margin-left:-16px;position:absolute;left:50\u0025;z-index:4}\n.fb_button_simple,\n.fb_button_simple_rtl{background-image:url(http:\/\/static.ak.fbcdn.net\/rsrc.php\/v1\/yH\/r\/eIpbnVKI9lR.png);background-repeat:no-repeat;cursor:pointer;outline:none;text-decoration:none}\n.fb_button_simple_rtl{background-position:right 0}\n.fb_button_simple .fb_button_text{margin:0 0 0 20px;padding-bottom:1px}\n.fb_button_simple_rtl .fb_button_text{margin:0 10px 0 0}\na.fb_button_simple:hover .fb_button_text,\na.fb_button_simple_rtl:hover .fb_button_text,\n.fb_button_simple:hover .fb_button_text,\n.fb_button_simple_rtl:hover .fb_button_text{text-decoration:underline}\n.fb_button,\n.fb_button_rtl{background:#29447e url(http:\/\/static.ak.fbcdn.net\/rsrc.php\/v1\/yL\/r\/FGFbc80dUKj.png);background-repeat:no-repeat;cursor:pointer;display:inline-block;padding:0 0 0 1px;text-decoration:none;outline:none}\n.fb_button .fb_button_text,\n.fb_button_rtl .fb_button_text{background:#5f78ab url(http:\/\/static.ak.fbcdn.net\/rsrc.php\/v1\/yL\/r\/FGFbc80dUKj.png);border-top:solid 1px #879ac0;border-bottom:solid 1px #1a356e;color:#fff;display:block;font-family:\"lucida grande\",tahoma,verdana,arial,sans-serif;font-weight:bold;padding:2px 6px 3px 6px;margin:1px 1px 0 21px;text-shadow:none}\na.fb_button,\na.fb_button_rtl,\n.fb_button,\n.fb_button_rtl{text-decoration:none}\na.fb_button:active .fb_button_text,\na.fb_button_rtl:active .fb_button_text,\n.fb_button:active .fb_button_text,\n.fb_button_rtl:active .fb_button_text{border-bottom:solid 1px #29447e;border-top:solid 1px #45619d;background:#4f6aa3;text-shadow:none}\n.fb_button_xlarge,\n.fb_button_xlarge_rtl{background-position:left -60px;font-size: 24px;line-height:30px}\n.fb_button_xlarge .fb_button_text{padding:3px 8px 3px 12px;margin-left:38px}\na.fb_button_xlarge:active{background-position:left -99px}\n.fb_button_xlarge_rtl{background-position:right -268px}\n.fb_button_xlarge_rtl .fb_button_text{padding:3px 8px 3px 12px;margin-right:39px}\na.fb_button_xlarge_rtl:active{background-position:right -307px}\n.fb_button_large,\n.fb_button_large_rtl{background-position:left -138px;font-size: 13px;line-height:16px}\n.fb_button_large .fb_button_text{margin-left:24px;padding:2px 6px 4px 6px}\na.fb_button_large:active{background-position:left -163px}\n.fb_button_large_rtl{background-position:right -346px}\n.fb_button_large_rtl .fb_button_text{margin-right:25px}\na.fb_button_large_rtl:active{background-position:right -371px}\n.fb_button_medium,\n.fb_button_medium_rtl{background-position:left -188px;font-size: 11px;line-height:14px}\na.fb_button_medium:active{background-position:left -210px}\n.fb_button_medium_rtl{background-position:right -396px}\n.fb_button_text_rtl,\n.fb_button_medium_rtl .fb_button_text{padding:2px 6px 3px 6px;margin-right:22px}\na.fb_button_medium_rtl:active{background-position:right -418px}\n.fb_button_small,\n.fb_button_small_rtl{background-position:left -232px;font-size: 10px;line-height:10px}\n.fb_button_small .fb_button_text{padding:2px 6px 3px;margin-left:17px}\na.fb_button_small:active,\n.fb_button_small:active{background-position:left -250px}\n.fb_button_small_rtl{background-position:right -440px}\n.fb_button_small_rtl .fb_button_text{padding:2px 6px;margin-right:18px}\na.fb_button_small_rtl:active{background-position:right -458px}\n.fb_share_count_wrapper{position:relative;float:left}\n.fb_share_count{background:#b0b9ec none repeat scroll 0 0;color:#333;font-family:\"lucida grande\", tahoma, verdana, arial, sans-serif;text-align:center}\n.fb_share_count_inner{background:#e8ebf2;display:block}\n.fb_share_count_right{margin-left:-1px;display:inline-block}\n.fb_share_count_right .fb_share_count_inner{border-top:solid 1px #e8ebf2;border-bottom:solid 1px #b0b9ec;margin:1px 1px 0 1px;font-size: 10px;line-height:10px;padding:2px 6px 3px;font-weight:bold}\n.fb_share_count_top{display:block;letter-spacing:-1px;line-height:34px;margin-bottom:7px;font-size: 22px;border:solid 1px #b0b9ec}\n.fb_share_count_nub_top{border:none;display:block;position:absolute;left:7px;top:35px;margin:0;padding:0;width:6px;height:7px;background-repeat:no-repeat;background-image:url(http:\/\/static.ak.fbcdn.net\/rsrc.php\/v1\/yU\/r\/bSOHtKbCGYI.png)}\n.fb_share_count_nub_right{border:none;display:inline-block;padding:0;width:5px;height:10px;background-repeat:no-repeat;background-image:url(http:\/\/static.ak.fbcdn.net\/rsrc.php\/v1\/yX\/r\/i_oIVTKMYsL.png);vertical-align:top;background-position:right 5px;z-index:10;left:2px;margin:0 2px 0 0;position:relative}\n.fb_share_no_count{display:none}\n.fb_share_size_Small .fb_share_count_right .fb_share_count_inner{font-size: 10px}\n.fb_share_size_Medium .fb_share_count_right .fb_share_count_inner{font-size: 11px;padding:2px 6px 3px;letter-spacing:-1px;line-height:14px}\n.fb_share_size_Large .fb_share_count_right .fb_share_count_inner{font-size: 13px;line-height:16px;padding:2px 6px 4px;font-weight:normal;letter-spacing:-1px}\n.fb_share_count_hidden .fb_share_count_nub_top,\n.fb_share_count_hidden .fb_share_count_top,\n.fb_share_count_hidden .fb_share_count_nub_right,\n.fb_share_count_hidden .fb_share_count_right{visibility:hidden}\n.fb_connect_bar_container div,\n.fb_connect_bar_container span,\n.fb_connect_bar_container a,\n.fb_connect_bar_container img,\n.fb_connect_bar_container strong{background:none;border-spacing:0;border:0;direction:ltr;font-style:normal;font-variant: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;vertical-align:baseline}\n.fb_connect_bar_container{position:fixed;left:0 !important;right:0 !important;height:42px !important;padding:0 25px !important;margin:0 !important;vertical-align:middle !important;border-bottom:1px solid #333 !important;background:#3b5998 !important;z-index:99999999 !important;overflow:hidden !important}\n.fb_connect_bar_container_ie6{position:absolute;top:expression(document.compatMode==\"CSS1Compat\"? document.documentElement.scrollTop+\"px\":body.scrollTop+\"px\")}\n.fb_connect_bar{position:relative;margin:auto;height:100\u0025;width:100\u0025;padding:6px 0 0 0 !important;background:none;color:#fff !important;font-family:\"lucida grande\", tahoma, verdana, arial, sans-serif !important;font-size: 13px !important;font-style:normal !important;font-variant:normal !important;font-weight:normal !important;letter-spacing:normal !important;line-height:1 !important;text-decoration:none !important;text-indent:0 !important;text-shadow:none !important;text-transform:none !important;white-space:normal !important;word-spacing:normal !important}\n.fb_connect_bar a:hover{color:#fff}\n.fb_connect_bar .fb_profile img{height:30px;width:30px;vertical-align:middle;margin:0 6px 5px 0}\n.fb_connect_bar div a,\n.fb_connect_bar span,\n.fb_connect_bar span a{color:#bac6da;font-size: 11px;text-decoration:none}\n.fb_connect_bar .fb_buttons{float:right;margin-top:7px}\n.fb_edge_widget_with_comment{position:relative;*z-index:1000}\n.fb_edge_widget_with_comment span.fb_edge_comment_widget{position:absolute}\n.fb_edge_widget_with_comment span.fb_edge_comment_widget iframe.fb_ltr{left:-4px}\n.fb_edge_widget_with_comment span.fb_edge_comment_widget iframe.fb_rtl{left:2px}\n.fb_edge_widget_with_comment span.fb_send_button_form_widget{left:0;z-index:1}\n.fb_edge_widget_with_comment span.fb_send_button_form_widget .FB_Loader{left:0;top:1px;margin-top:6px;margin-left:0;background-position:50\u0025 50\u0025;background-color:#fff;height:150px;width:394px;border:1px #666 solid;border-bottom:2px solid #283e6c;z-index:1}\n.fb_edge_widget_with_comment span.fb_send_button_form_widget.dark .FB_Loader{background-color:#000;border-bottom:2px solid #ccc}\n.fb_edge_widget_with_comment span.fb_send_button_form_widget.siderender\n.FB_Loader{margin-top:0}\n.fbpluginrecommendationsbar{position:fixed !important;bottom:0;z-index:999}\n.fbpluginrecommendationsbarleft{left:10px}\n.fbpluginrecommendationsbarright{right:10px}\n", ["fb.css.base","fb.css.dialog","fb.css.iframewidget","fb.css.button","fb.css.sharebutton","fb.css.connectbarwidget","fb.css.edgecommentwidget","fb.css.sendbuttonformwidget","fb.css.plugin.recommendationsbar"]);
}
