window.google = window["google"] || {};google.friendconnect = google.friendconnect_ || {};if (!window['__ps_loaded__']) {var gadgets=gadgets||{};
gadgets.log=function(A){gadgets.log.logAtLevel(gadgets.log.INFO,A)
};
gadgets.warn=function(A){gadgets.log.logAtLevel(gadgets.log.WARNING,A)
};
gadgets.error=function(A){gadgets.log.logAtLevel(gadgets.log.ERROR,A)
};
gadgets.setLogLevel=function(A){gadgets.log.logLevelThreshold_=A
};
gadgets.log.logAtLevel=function(D,C){if(D<gadgets.log.logLevelThreshold_||!gadgets.log._console){return 
}var B;
var A=gadgets.log._console;
if(D==gadgets.log.WARNING&&A.warn){A.warn(C)
}else{if(D==gadgets.log.ERROR&&A.error){A.error(C)
}else{if(A.log){A.log(C)
}}}};
gadgets.log.INFO=1;
gadgets.log.WARNING=2;
gadgets.log.INFO=3;
gadgets.log.NONE=4;
gadgets.log.logLevelThreshold_=gadgets.log.INFO;
gadgets.log._console=window.console?window.console:window.opera?window.opera.postError:undefined;;
var gadgets=gadgets||{};
gadgets.util=function(){function G(L){var M;
var K=L;
var I=K.indexOf("?");
var J=K.indexOf("#");
if(J===-1){M=K.substr(I+1)
}else{M=[K.substr(I+1,J-I-1),"&",K.substr(J+1)].join("")
}return M.split("&")
}var E=null;
var D={};
var C={};
var F=[];
var A={0:false,10:true,13:true,34:true,39:true,60:true,62:true,92:true,8232:true,8233:true};
function B(I,J){return String.fromCharCode(J)
}function H(I){D=I["core.util"]||{}
}if(gadgets.config){gadgets.config.register("core.util",null,H)
}return{getUrlParameters:function(Q){if(E!==null&&typeof Q==="undefined"){return E
}var M={};
E={};
var J=G(Q||document.location.href);
var O=window.decodeURIComponent?decodeURIComponent:unescape;
for(var L=0,K=J.length;
L<K;
++L){var N=J[L].indexOf("=");
if(N===-1){continue
}var I=J[L].substring(0,N);
var P=J[L].substring(N+1);
P=P.replace(/\+/g," ");
M[I]=O(P)
}if(typeof Q==="undefined"){E=M
}return M
},makeClosure:function(L,N,M){var K=[];
for(var J=2,I=arguments.length;
J<I;
++J){K.push(arguments[J])
}return function(){var O=K.slice();
for(var Q=0,P=arguments.length;
Q<P;
++Q){O.push(arguments[Q])
}return N.apply(L,O)
}
},makeEnum:function(J){var L={};
for(var K=0,I;
(I=J[K]);
++K){L[I]=I
}return L
},getFeatureParameters:function(I){return typeof D[I]==="undefined"?null:D[I]
},hasFeature:function(I){return typeof D[I]!=="undefined"
},getServices:function(){return C
},registerOnLoadHandler:function(I){F.push(I)
},runOnLoadHandlers:function(){for(var J=0,I=F.length;
J<I;
++J){F[J]()
}},escape:function(I,M){if(!I){return I
}else{if(typeof I==="string"){return gadgets.util.escapeString(I)
}else{if(typeof I==="array"){for(var L=0,J=I.length;
L<J;
++L){I[L]=gadgets.util.escape(I[L])
}}else{if(typeof I==="object"&&M){var K={};
for(var N in I){if(I.hasOwnProperty(N)){K[gadgets.util.escapeString(N)]=gadgets.util.escape(I[N],true)
}}return K
}}}}return I
},escapeString:function(M){var J=[],L,N;
for(var K=0,I=M.length;
K<I;
++K){L=M.charCodeAt(K);
N=A[L];
if(N===true){J.push("&#",L,";")
}else{if(N!==false){J.push(M.charAt(K))
}}}return J.join("")
},unescapeString:function(I){return I.replace(/&#([0-9]+);/g,B)
}}
}();
gadgets.util.getUrlParameters();;
var gadgets=gadgets||{};
if(window.JSON&&window.JSON.parse&&window.JSON.stringify){gadgets.json={parse:function(B){try{return window.JSON.parse(B)
}catch(A){return false
}},stringify:function(B){try{return window.JSON.stringify(B)
}catch(A){return null
}}}
}else{gadgets.json=function(){function f(n){return n<10?"0"+n:n
}Date.prototype.toJSON=function(){return[this.getUTCFullYear(),"-",f(this.getUTCMonth()+1),"-",f(this.getUTCDate()),"T",f(this.getUTCHours()),":",f(this.getUTCMinutes()),":",f(this.getUTCSeconds()),"Z"].join("")
};
var m={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"};
function stringify(value){var a,i,k,l,r=/["\\\x00-\x1f\x7f-\x9f]/g,v;
switch(typeof value){case"string":return r.test(value)?'"'+value.replace(r,function(a){var c=m[a];
if(c){return c
}c=a.charCodeAt();
return"\\u00"+Math.floor(c/16).toString(16)+(c%16).toString(16)
})+'"':'"'+value+'"';
case"number":return isFinite(value)?String(value):"null";
case"boolean":case"null":return String(value);
case"object":if(!value){return"null"
}a=[];
if(typeof value.length==="number"&&!value.propertyIsEnumerable("length")){l=value.length;
for(i=0;
i<l;
i+=1){a.push(stringify(value[i])||"null")
}return"["+a.join(",")+"]"
}for(k in value){if(k.match("___$")){continue
}if(value.hasOwnProperty(k)){if(typeof k==="string"){v=stringify(value[k]);
if(v){a.push(stringify(k)+":"+v)
}}}}return"{"+a.join(",")+"}"
}}return{stringify:stringify,parse:function(text){if(/^[\],:{}\s]*$/.test(text.replace(/\\["\\\/b-u]/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){return eval("("+text+")")
}return false
}}
}()
};;
var gadgets=gadgets||{};
gadgets.rpctx=gadgets.rpctx||{};
gadgets.rpctx.wpm=function(){var A;
return{getCode:function(){return"wpm"
},isParentVerifiable:function(){return true
},init:function(B,C){A=C;
var D=function(E){B(gadgets.json.parse(E.data))
};
if(typeof window.addEventListener!="undefined"){window.addEventListener("message",D,false)
}else{if(typeof window.attachEvent!="undefined"){window.attachEvent("onmessage",D)
}}A("..",true);
return true
},setup:function(C,B){if(C===".."){gadgets.rpc.call(C,gadgets.rpc.ACK)
}return true
},call:function(C,F,E){var D=C===".."?window.parent:window.frames[C];
var B=gadgets.rpc.getOrigin(gadgets.rpc.getRelayUrl(C));
if(B){D.postMessage(gadgets.json.stringify(E),B)
}else{gadgets.error("No relay set (used as window.postMessage targetOrigin), cannot send cross-domain message")
}return true
}}
}();;
var gadgets=gadgets||{};
gadgets.rpctx=gadgets.rpctx||{};
gadgets.rpctx.frameElement=function(){var E="__g2c_rpc";
var B="__c2g_rpc";
var D;
var C;
function A(G,K,J){try{if(K!==".."){var F=window.frameElement;
if(typeof F[E]==="function"){if(typeof F[E][B]!=="function"){F[E][B]=function(L){D(gadgets.json.parse(L))
}
}F[E](gadgets.json.stringify(J));
return 
}}else{var I=document.getElementById(G);
if(typeof I[E]==="function"&&typeof I[E][B]==="function"){I[E][B](gadgets.json.stringify(J));
return 
}}}catch(H){}return true
}return{getCode:function(){return"fe"
},isParentVerifiable:function(){return false
},init:function(F,G){D=F;
C=G;
return true
},setup:function(J,F){if(J!==".."){try{var I=document.getElementById(J);
I[E]=function(K){D(gadgets.json.parse(K))
}
}catch(H){return false
}}if(J===".."){C("..",true);
var G=function(){window.setTimeout(function(){gadgets.rpc.call(J,gadgets.rpc.ACK)
},500)
};
gadgets.util.registerOnLoadHandler(G)
}return true
},call:function(F,H,G){A(F,H,G)
}}
}();;
var gadgets=gadgets||{};
gadgets.rpctx=gadgets.rpctx||{};
gadgets.rpctx.nix=function(){var C="GRPC____NIXVBS_wrapper";
var D="GRPC____NIXVBS_get_wrapper";
var F="GRPC____NIXVBS_handle_message";
var B="GRPC____NIXVBS_create_channel";
var A=10;
var J=500;
var I={};
var H;
var G=0;
function E(){var L=I[".."];
if(L){return 
}if(++G>A){gadgets.warn("Nix transport setup failed, falling back...");
H("..",false);
return 
}if(!L&&window.opener&&"GetAuthToken" in window.opener){L=window.opener;
if(L.GetAuthToken()==gadgets.rpc.getAuthToken("..")){var K=gadgets.rpc.getAuthToken("..");
L.CreateChannel(window[D]("..",K),K);
I[".."]=L;
window.opener=null;
H("..",true);
return 
}}window.setTimeout(function(){E()
},J)
}return{getCode:function(){return"nix"
},isParentVerifiable:function(){return false
},init:function(L,M){H=M;
if(typeof window[D]!=="unknown"){window[F]=function(O){window.setTimeout(function(){L(gadgets.json.parse(O))
},0)
};
window[B]=function(O,Q,P){if(gadgets.rpc.getAuthToken(O)===P){I[O]=Q;
H(O,true)
}};
var K="Class "+C+"\n Private m_Intended\nPrivate m_Auth\nPublic Sub SetIntendedName(name)\n If isEmpty(m_Intended) Then\nm_Intended = name\nEnd If\nEnd Sub\nPublic Sub SetAuth(auth)\n If isEmpty(m_Auth) Then\nm_Auth = auth\nEnd If\nEnd Sub\nPublic Sub SendMessage(data)\n "+F+"(data)\nEnd Sub\nPublic Function GetAuthToken()\n GetAuthToken = m_Auth\nEnd Function\nPublic Sub CreateChannel(channel, auth)\n Call "+B+"(m_Intended, channel, auth)\nEnd Sub\nEnd Class\nFunction "+D+"(name, auth)\nDim wrap\nSet wrap = New "+C+"\nwrap.SetIntendedName name\nwrap.SetAuth auth\nSet "+D+" = wrap\nEnd Function";
try{window.execScript(K,"vbscript")
}catch(N){return false
}}return true
},setup:function(O,K){if(O===".."){E();
return true
}try{var M=document.getElementById(O);
var N=window[D](O,K);
M.contentWindow.opener=N
}catch(L){return false
}return true
},call:function(K,N,M){try{if(I[K]){I[K].SendMessage(gadgets.json.stringify(M))
}}catch(L){return false
}return true
}}
}();;
var gadgets=gadgets||{};
gadgets.rpctx=gadgets.rpctx||{};
gadgets.rpctx.rmr=function(){var G=500;
var E=10;
var H={};
var B;
var I;
function K(P,N,O,M){var Q=function(){document.body.appendChild(P);
P.src="about:blank";
if(M){P.onload=function(){L(M)
}
}P.src=N+"#"+O
};
if(document.body){Q()
}else{gadgets.util.registerOnLoadHandler(function(){Q()
})
}}function C(O){if(typeof H[O]==="object"){return 
}var P=document.createElement("iframe");
var M=P.style;
M.position="absolute";
M.top="0px";
M.border="0";
M.opacity="0";
M.width="10px";
M.height="1px";
P.id="rmrtransport-"+O;
P.name=P.id;
var N=gadgets.rpc.getOrigin(gadgets.rpc.getRelayUrl(O))+"/robots.txt";
H[O]={frame:P,receiveWindow:null,relayUri:N,searchCounter:0,width:10,waiting:true,queue:[],sendId:0,recvId:0};
if(O!==".."){K(P,N,A(O))
}D(O)
}function D(N){var P=null;
H[N].searchCounter++;
try{if(N===".."){P=window.parent.frames["rmrtransport-"+gadgets.rpc.RPC_ID]
}else{P=window.frames[N].frames["rmrtransport-.."]
}}catch(O){}var M=false;
if(P){M=F(N,P)
}if(!M){if(H[N].searchCounter>E){return 
}window.setTimeout(function(){D(N)
},G)
}}function J(N,P,T,S){var O=null;
if(T!==".."){O=H[".."]
}else{O=H[N]
}if(O){if(P!==gadgets.rpc.ACK){O.queue.push(S)
}if(O.waiting||(O.queue.length===0&&!(P===gadgets.rpc.ACK&&S&&S.ackAlone===true))){return true
}if(O.queue.length>0){O.waiting=true
}var M=O.relayUri+"#"+A(N);
try{O.frame.contentWindow.location=M;
var Q=O.width==10?20:10;
O.frame.style.width=Q+"px";
O.width=Q
}catch(R){return false
}}return true
}function A(N){var O=H[N];
var M={id:O.sendId};
if(O){M.d=Array.prototype.slice.call(O.queue,0);
M.d.push({s:gadgets.rpc.ACK,id:O.recvId})
}return gadgets.json.stringify(M)
}function L(X){var U=H[X];
var Q=U.receiveWindow.location.hash.substring(1);
var Y=gadgets.json.parse(decodeURIComponent(Q))||{};
var N=Y.d||[];
var O=false;
var T=false;
var V=0;
var M=(U.recvId-Y.id);
for(var P=0;
P<N.length;
++P){var S=N[P];
if(S.s===gadgets.rpc.ACK){I(X,true);
if(U.waiting){T=true
}U.waiting=false;
var R=Math.max(0,S.id-U.sendId);
U.queue.splice(0,R);
U.sendId=Math.max(U.sendId,S.id||0);
continue
}O=true;
if(++V<=M){continue
}++U.recvId;
B(S)
}if(O||(T&&U.queue.length>0)){var W=(X==="..")?gadgets.rpc.RPC_ID:"..";
J(X,gadgets.rpc.ACK,W,{ackAlone:O})
}}function F(P,S){var O=H[P];
try{var N=false;
N="document" in S;
if(!N){return false
}N=typeof S.document=="object";
if(!N){return false
}var R=S.location.href;
if(R==="about:blank"){return false
}}catch(M){return false
}O.receiveWindow=S;
function Q(){L(P)
}if(typeof S.attachEvent==="undefined"){S.onresize=Q
}else{S.attachEvent("onresize",Q)
}if(P===".."){K(O.frame,O.relayUri,A(P),P)
}else{L(P)
}return true
}return{getCode:function(){return"rmr"
},isParentVerifiable:function(){return true
},init:function(M,N){B=M;
I=N;
return true
},setup:function(O,M){try{C(O)
}catch(N){gadgets.warn("Caught exception setting up RMR: "+N);
return false
}return true
},call:function(M,O,N){return J(M,N.s,O,N)
}}
}();;
var gadgets=gadgets||{};
gadgets.rpctx=gadgets.rpctx||{};
gadgets.rpctx.ifpc=function(){var E=[];
var D=0;
var C;
function B(H){var F=[];
for(var I=0,G=H.length;
I<G;
++I){F.push(encodeURIComponent(gadgets.json.stringify(H[I])))
}return F.join("&")
}function A(I){var G;
for(var F=E.length-1;
F>=0;
--F){var J=E[F];
try{if(J&&(J.recyclable||J.readyState==="complete")){J.parentNode.removeChild(J);
if(window.ActiveXObject){E[F]=J=null;
E.splice(F,1)
}else{J.recyclable=false;
G=J;
break
}}}catch(H){}}if(!G){G=document.createElement("iframe");
G.style.border=G.style.width=G.style.height="0px";
G.style.visibility="hidden";
G.style.position="absolute";
G.onload=function(){this.recyclable=true
};
E.push(G)
}G.src=I;
window.setTimeout(function(){document.body.appendChild(G)
},0)
}return{getCode:function(){return"ifpc"
},isParentVerifiable:function(){return true
},init:function(F,G){C=G;
C("..",true);
return true
},setup:function(G,F){C(G,true);
return true
},call:function(F,K,I){var J=gadgets.rpc.getRelayUrl(F);
++D;
if(!J){gadgets.warn("No relay file assigned for IFPC");
return 
}var H=null;
if(I.l){var G=I.a;
H=[J,"#",B([K,D,1,0,B([K,I.s,"","",K].concat(G))])].join("")
}else{H=[J,"#",F,"&",K,"@",D,"&1&0&",encodeURIComponent(gadgets.json.stringify(I))].join("")
}A(H);
return true
}}
}();;
var gadgets=gadgets||{};
gadgets.rpc=function(){var S="__cb";
var R="";
var G="__ack";
var Q=500;
var I=10;
var B={};
var C={};
var W={};
var J={};
var M=0;
var h={};
var V={};
var D={};
var e={};
var K={};
var U={};
var L=(window.top!==window.self);
var N=window.name;
var f=(function(){function i(j){return function(){gadgets.log("gadgets.rpc."+j+"("+gadgets.json.stringify(Array.prototype.slice.call(arguments))+"): call ignored. [caller: "+document.location+", isChild: "+L+"]")
}
}return{getCode:function(){return"noop"
},isParentVerifiable:function(){return true
},init:i("init"),setup:i("setup"),call:i("call")}
})();
if(gadgets.util){e=gadgets.util.getUrlParameters()
}var Z=(e.rpc_earlyq==="1");
function A(){return typeof window.postMessage==="function"?gadgets.rpctx.wpm:typeof window.postMessage==="object"?gadgets.rpctx.wpm:window.ActiveXObject?gadgets.rpctx.nix:navigator.userAgent.indexOf("WebKit")>0?gadgets.rpctx.rmr:navigator.product==="Gecko"?gadgets.rpctx.frameElement:gadgets.rpctx.ifpc
}function a(o,m){var k=b;
if(!m){k=f
}K[o]=k;
var j=U[o]||[];
for(var l=0;
l<j.length;
++l){var n=j[l];
n.t=X(o);
k.call(o,n.f,n)
}U[o]=[]
}function T(j){if(j&&typeof j.s==="string"&&typeof j.f==="string"&&j.a instanceof Array){if(J[j.f]){if(J[j.f]!==j.t){throw new Error("Invalid auth token. "+J[j.f]+" vs "+j.t)
}}if(j.s===G){window.setTimeout(function(){a(j.f,true)
},0);
return 
}if(j.c){j.callback=function(k){gadgets.rpc.call(j.f,S,null,j.c,k)
}
}var i=(B[j.s]||B[R]).apply(j,j.a);
if(j.c&&typeof i!=="undefined"){gadgets.rpc.call(j.f,S,null,j.c,i)
}}}function d(k){if(!k){return""
}k=k.toLowerCase();
if(k.indexOf("//")==0){k=window.location.protocol+k
}if(k.indexOf("http://")!=0&&k.indexOf("https://")!=0){k=window.location.protocol+"//"+k
}var l=k.substring(k.indexOf("://")+3);
var i=l.indexOf("/");
if(i!=-1){l=l.substring(0,i)
}var n=k.substring(0,k.indexOf("://"));
var m="";
var o=l.indexOf(":");
if(o!=-1){var j=l.substring(o+1);
l=l.substring(0,o);
if((n==="http"&&j!=="80")||(n==="https"&&j!=="443")){m=":"+j
}}return n+"://"+l+m
}var b=A();
B[R]=function(){gadgets.warn("Unknown RPC service: "+this.s)
};
B[S]=function(j,i){var k=h[j];
if(k){delete h[j];
k(i)
}};
function O(k,i){if(V[k]===true){return 
}if(typeof V[k]==="undefined"){V[k]=0
}var j=document.getElementById(k);
if(k===".."||j!=null){if(b.setup(k,i)===true){V[k]=true;
return 
}}if(V[k]!==true&&V[k]++<I){window.setTimeout(function(){O(k,i)
},Q)
}else{K[k]=f;
V[k]=true
}}function F(j,m){if(typeof D[j]==="undefined"){D[j]=false;
var l=gadgets.rpc.getRelayUrl(j);
if(d(l)!==d(window.location.href)){return false
}var k=null;
if(j===".."){k=window.parent
}else{k=window.frames[j]
}try{D[j]=k.gadgets.rpc.receiveSameDomain
}catch(i){gadgets.error("Same domain call failed: parent= incorrectly set.")
}}if(typeof D[j]==="function"){D[j](m);
return true
}return false
}function H(j,i,k){C[j]=i;
W[j]=!!k
}function X(i){return J[i]
}function E(i,j){j=j||"";
J[i]=String(j);
O(i,j)
}function P(i){function k(n){var p=n?n.rpc:{};
var m=p.parentRelayUrl;
if(m.substring(0,7)!=="http://"&&m.substring(0,8)!=="https://"&&m.substring(0,2)!=="//"){if(typeof e.parent==="string"&&e.parent!==""){if(m.substring(0,1)!=="/"){var l=e.parent.lastIndexOf("/");
m=e.parent.substring(0,l+1)+m
}else{m=d(e.parent)+m
}}}var o=!!p.useLegacyProtocol;
H("..",m,o);
if(o){b=gadgets.rpctx.ifpc;
b.init(T,a)
}E("..",i)
}var j={parentRelayUrl:gadgets.config.NonEmptyStringValidator};
gadgets.config.register("rpc",j,k)
}function Y(k,i){var j=i||e.parent;
if(j){H("..",j);
E("..",k)
}}function c(i,m,o){if(!gadgets.util){return 
}var l=document.getElementById(i);
if(!l){throw new Error("Cannot set up gadgets.rpc receiver with ID: "+i+", element not found.")
}var j=m||l.src;
H(i,j);
var n=gadgets.util.getUrlParameters(l.src);
var k=o||n.rpctoken;
E(i,k)
}function g(i,k,l){if(i===".."){var j=l||e.rpctoken||e.ifpctok||"";
if(gadgets.config){P(j)
}else{Y(j,k)
}}else{c(i,k,l)
}}if(L){g("..")
}return{register:function(j,i){if(j===S||j===G){throw new Error("Cannot overwrite callback/ack service")
}if(j===R){throw new Error("Cannot overwrite default service: use registerDefault")
}B[j]=i
},unregister:function(i){if(i===S||i===G){throw new Error("Cannot delete callback/ack service")
}if(i===R){throw new Error("Cannot delete default service: use unregisterDefault")
}delete B[i]
},registerDefault:function(i){B[R]=i
},unregisterDefault:function(){delete B[R]
},forceParentVerifiable:function(){if(!b.isParentVerifiable()){b=gadgets.rpctx.ifpc
}},call:function(i,j,o,m){i=i||"..";
var n="..";
if(i===".."){n=N
}++M;
if(o){h[M]=o
}var l={s:j,f:n,c:o?M:0,a:Array.prototype.slice.call(arguments,3),t:J[i],l:W[i]};
if(F(i,l)){return 
}var k=K[i]?K[i]:b;
if(!k){if(!U[i]){U[i]=[l]
}else{U[i].push(l)
}return 
}if(W[i]){k=gadgets.rpctx.ifpc
}if(k.call(i,n,l)===false){K[i]=f;
b.call(i,n,l)
}},getRelayUrl:function(j){var i=C[j];
if(i&&i.indexOf("//")==0){i=document.location.protocol+i
}return i
},setRelayUrl:H,setAuthToken:E,setupReceiver:g,getAuthToken:X,getRelayChannel:function(){return b.getCode()
},receive:function(i){if(i.length>4){T(gadgets.json.parse(decodeURIComponent(i[i.length-1])))
}},receiveSameDomain:function(i){i.a=Array.prototype.slice.call(i.a);
window.setTimeout(function(){T(i)
},0)
},getOrigin:d,init:function(){if(b.init(T,a)===false){b=f
}},ACK:G,RPC_ID:N}
}();
gadgets.rpc.init();;
var friendconnect_serverBase = "http://www.google.com";var friendconnect_loginUrl = "https://www.google.com/accounts";var friendconnect_gadgetPrefix = "http://www.friendconnect.gmodules.com/gadgets";
var friendconnect_serverVersion = "0.488.5";
var friendconnect_imageUrl = "http://www.google.com/friendconnect/scs/images";
var friendconnect_lightbox = true;
function fca(a){throw a;}var fcb=true,fcc=null,fcd=false,fce=gadgets,fcaa=undefined,fcf=friendconnect_serverBase,fcg=encodeURIComponent,fcba=parseInt,fch=String,fci=window,fcca=setTimeout,fcj=Object,fck=document,fcl=Math;function fcda(a,b){return a.toString=b}function fcea(a,b){return a.length=b}function fcm(a,b){return a.width=b}function fcn(a,b){return a.innerHTML=b}function fco(a,b){return a.height=b}
var fcp="appendChild",fcq="push",fcr="length",fcfa="propertyIsEnumerable",fcga="stringify",fc="prototype",fcha="test",fcs="width",fct="round",fcia="slice",fcu="replace",fcv="document",fcja="data",fcw="split",fcx="getElementById",fcka="offsetWidth",fcy="location",fcz="getUrlParameters",fcA="indexOf",fcla="Dialog",fcB="style",fcma="body",fcC="left",fcD="call",fcE="match",fcF="options",fcna="random",fcG="createElement",fcH="json",fcoa="forEach",fcI="addEventListener",fcJ="bottom",fcK="setAttribute",
fcpa="href",fcL="util",fcqa="maxHeight",fcra="type",fcsa="contains",fcM="apply",fcN="name",fcO="parentNode",fcta="display",fcP="height",fcua="offsetHeight",fcQ="register",fcva="join",fcR="toLowerCase",fcS="right",goog=goog||{},fcT=this,fcxa=function(a,b,c){a=a[fcw](".");c=c||fcT;!(a[0]in c)&&c.execScript&&c.execScript("var "+a[0]);for(var d;a[fcr]&&(d=a.shift());)if(!a[fcr]&&fcwa(b))c[d]=b;else c=c[d]?c[d]:(c[d]={})},fcya=function(a){var b=typeof a;if(b=="object")if(a){if(a instanceof Array||!(a instanceof
fcj)&&fcj[fc].toString[fcD](a)=="[object Array]"||typeof a[fcr]=="number"&&typeof a.splice!="undefined"&&typeof a[fcfa]!="undefined"&&!a[fcfa]("splice"))return"array";if(!(a instanceof fcj)&&(fcj[fc].toString[fcD](a)=="[object Function]"||typeof a[fcD]!="undefined"&&typeof a[fcfa]!="undefined"&&!a[fcfa]("call")))return"function"}else return"null";else if(b=="function"&&typeof a[fcD]=="undefined")return"object";return b},fcwa=function(a){return a!==fcaa},fcza=function(a){var b=fcya(a);return b=="array"||
b=="object"&&typeof a[fcr]=="number"},fcAa=function(a){return typeof a=="string"},fcBa=function(a){a=fcya(a);return a=="object"||a=="array"||a=="function"};"closure_hashCode_"+fcl.floor(fcl[fcna]()*2147483648).toString(36);
var fcU=function(a){var b=fcya(a);if(b=="object"||b=="array"){if(a.clone)return a.clone[fcD](a);b=b=="array"?[]:{};for(var c in a)b[c]=fcU(a[c]);return b}return a},fcV=function(a,b){var c=b||fcT;if(arguments[fcr]>2){var d=Array[fc][fcia][fcD](arguments,2);return function(){var f=Array[fc][fcia][fcD](arguments);Array[fc].unshift[fcM](f,d);return a[fcM](c,f)}}else return function(){return a[fcM](c,arguments)}},fcCa=function(a){var b=Array[fc][fcia][fcD](arguments,1);return function(){var c=Array[fc][fcia][fcD](arguments);
c.unshift[fcM](c,b);return a[fcM](this,c)}},fcDa=function(a,b){for(var c in b)a[c]=b[c]},fcEa=Date.now||function(){return(new Date).getTime()},fcW=function(a,b,c){fcxa(a,b,c)},fcX=function(a,b){function c(){}c.prototype=b[fc];a.hc=b[fc];a.prototype=new c;a[fc].constructor=a};var fcFa=function(a){return a[fcu](/^[\s\xa0]+|[\s\xa0]+$/g,"")},fcGa=function(a,b){a=fch(a)[fcR]();b=fch(b)[fcR]();return a<b?-1:a==b?0:1},fcMa=function(a,b){if(b)return a[fcu](fcHa,"&amp;")[fcu](fcIa,"&lt;")[fcu](fcJa,"&gt;")[fcu](fcKa,"&quot;");else{if(!fcLa[fcha](a))return a;if(a[fcA]("&")!=-1)a=a[fcu](fcHa,"&amp;");if(a[fcA]("<")!=-1)a=a[fcu](fcIa,"&lt;");if(a[fcA](">")!=-1)a=a[fcu](fcJa,"&gt;");if(a[fcA]('"')!=-1)a=a[fcu](fcKa,"&quot;");return a}},fcHa=/&/g,fcIa=/</g,fcJa=/>/g,fcKa=/\"/g,fcLa=
/[&<>\"]/,fcNa=function(a,b){return a[fcA](b)!=-1},fcPa=function(a,b){var c=0;a=fcFa(fch(a))[fcw](".");b=fcFa(fch(b))[fcw](".");for(var d=fcl.max(a[fcr],b[fcr]),f=0;c==0&&f<d;f++){var i=a[f]||"",h=b[f]||"",j=new RegExp("(\\d*)(\\D*)","g"),k=new RegExp("(\\d*)(\\D*)","g");do{var l=j.exec(i)||["","",""],e=k.exec(h)||["","",""];if(l[0][fcr]==0&&e[0][fcr]==0)break;c=l[1][fcr]==0?0:fcba(l[1],10);var g=e[1][fcr]==0?0:fcba(e[1],10);c=fcOa(c,g)||fcOa(l[2][fcr]==0,e[2][fcr]==0)||fcOa(l[2],e[2])}while(c==0)}return c},
fcOa=function(a,b){if(a<b)return-1;else if(a>b)return 1;return 0};fcEa();var fcY,fcQa,fcRa,fcSa,fcTa,fcUa,fcVa,fcWa,fcXa,fcYa,fcZa=function(){return fcT.navigator?fcT.navigator.userAgent:fcc},fc_a=function(){return fcT.navigator},fc0a=function(){fcUa=fcTa=fcSa=fcRa=fcQa=fcY=fcd;var a;if(a=fcZa()){var b=fc_a();fcY=a[fcA]("Opera")==0;fcQa=!fcY&&a[fcA]("MSIE")!=-1;fcSa=(fcRa=!fcY&&a[fcA]("WebKit")!=-1)&&a[fcA]("Mobile")!=-1;fcUa=(fcTa=!fcY&&!fcRa&&b.product=="Gecko")&&b.vendor=="Camino"}};fc0a();
var fc1a=fcY,fcZ=fcQa,fc2a=fcTa,fc_=fcRa,fc3a=fcSa,fc4a=function(){var a=fc_a();return a&&a.platform||""},fc5a=fc4a(),fc6a=function(){fcVa=fcNa(fc5a,"Mac");fcWa=fcNa(fc5a,"Win");fcXa=fcNa(fc5a,"Linux");fcYa=!!fc_a()&&fcNa(fc_a().appVersion||"","X11")};fc6a();
var fc7a=function(){var a="",b;if(fc1a&&fcT.opera){a=fcT.opera.version;a=typeof a=="function"?a():a}else{if(fc2a)b=/rv\:([^\);]+)(\)|;)/;else if(fcZ)b=/MSIE\s+([^\);]+)(\)|;)/;else if(fc_)b=/WebKit\/(\S+)/;if(b)a=(a=b.exec(fcZa()))?a[1]:""}return a},fc8a=fc7a(),fc9a={},fc$a=function(a){return fc9a[a]||(fc9a[a]=fcPa(fc8a,a)>=0)};var fcab=/\s*;\s*/,fcbb=function(a,b,c,d,f){if(/[;=]/[fcha](a))fca(Error('Invalid cookie name "'+a+'"'));if(/;/[fcha](b))fca(Error('Invalid cookie value "'+b+'"'));fcwa(c)||(c=-1);f=f?";domain="+f:"";d=d?";path="+d:"";if(c<0)c="";else if(c==0){c=new Date(1970,1,1);c=";expires="+c.toUTCString()}else{c=new Date((new Date).getTime()+c*1000);c=";expires="+c.toUTCString()}fck.cookie=a+"="+b+f+d+c},fccb=function(a,b){a=a+"=";for(var c=fch(fck.cookie)[fcw](fcab),d=0,f;f=c[d];d++)if(f[fcA](a)==0)return f.substr(a[fcr]);
return b},fcdb=function(a,b,c){var d=fcwa(fccb(a));fcbb(a,"",0,b,c);return d};var fceb=function(a,b,c){if(a[fcA])return a[fcA](b,c);if(Array[fcA])return Array[fcA](a,b,c);for(c=c=c==fcc?0:c<0?fcl.max(0,a[fcr]+c):c;c<a[fcr];c++)if(c in a&&a[c]===b)return c;return-1},fcfb=function(a,b,c){if(a[fcoa])a[fcoa](b,c);else if(Array[fcoa])Array[fcoa](a,b,c);else for(var d=a[fcr],f=fcAa(a)?a[fcw](""):a,i=0;i<d;i++)i in f&&b[fcD](c,f[i],i,a)},fcgb=function(a,b){if(a[fcsa])return a[fcsa](b);return fceb(a,b)>-1},fchb=function(a){if(fcya(a)=="array")return a.concat();else{for(var b=[],c=
0,d=a[fcr];c<d;c++)b[c]=a[c];return b}};var fcib=function(a,b){this.x=fcwa(a)?a:0;this.y=fcwa(b)?b:0};fcib[fc].clone=function(){return new fcib(this.x,this.y)};fcda(fcib[fc],function(){return"("+this.x+", "+this.y+")"});var fc0=function(a,b){fcm(this,a);fco(this,b)};fc0[fc].clone=function(){return new fc0(this[fcs],this[fcP])};fcda(fc0[fc],function(){return"("+this[fcs]+" x "+this[fcP]+")"});fc0[fc].ceil=function(){fcm(this,fcl.ceil(this[fcs]));fco(this,fcl.ceil(this[fcP]));return this};fc0[fc].floor=function(){fcm(this,fcl.floor(this[fcs]));fco(this,fcl.floor(this[fcP]));return this};fc0[fc].round=function(){fcm(this,fcl[fct](this[fcs]));fco(this,fcl[fct](this[fcP]));return this};
fc0[fc].scale=function(a){this.width*=a;this.height*=a;return this};var fcjb=function(a,b,c){for(var d in a)b[fcD](c,a[d],d,a)},fckb=function(a){var b=[],c=0;for(var d in a)b[c++]=a[d];return b},fclb=function(a){var b=[],c=0;for(var d in a)b[c++]=d;return b},fcmb=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],fcnb=function(a){for(var b,c,d=1;d<arguments[fcr];d++){c=arguments[d];for(b in c)a[b]=c[b];for(var f=0;f<fcmb[fcr];f++){b=fcmb[f];if(fcj[fc].hasOwnProperty[fcD](c,b))a[b]=c[b]}}};var fcob=function(a){return fcAa(a)?fck[fcx](a):a},fcpb=fcob,fcrb=function(a,b,c){return fcqb(fck,a,b,c)},fcqb=function(a,b,c,d){d=d||a;b=b&&b!="*"?b[fcR]():"";if(d.querySelectorAll&&(b||c)&&(!fc_||a.compatMode=="CSS1Compat"||fc$a("528"))){c=b+(c?"."+c:"");return d.querySelectorAll(c)}if(c&&d.getElementsByClassName){a=d.getElementsByClassName(c);if(b){d={};for(var f=0,i=0,h;h=a[i];i++)if(b==h.nodeName[fcR]())d[f++]=h;fcea(d,f);return d}else return a}a=d.getElementsByTagName(b||"*");if(c){d={};for(i=
f=0;h=a[i];i++){b=h.className;if(typeof b[fcw]=="function"&&fcgb(b[fcw](" "),c))d[f++]=h}fcea(d,f);return d}else return a},fctb=function(a,b){fcjb(b,function(c,d){if(d=="style")a[fcB].cssText=c;else if(d=="class")a.className=c;else if(d=="for")a.htmlFor=c;else if(d in fcsb)a[fcK](fcsb[d],c);else a[d]=c})},fcsb={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",rowspan:"rowSpan",valign:"vAlign",height:"height",width:"width",usemap:"useMap",frameborder:"frameBorder",type:"type"},
fcub=function(a){var b=a[fcv];if(fc_&&!fc$a("500")&&!fc3a){if(typeof a.innerHeight=="undefined")a=fci;b=a.innerHeight;var c=a[fcv].documentElement.scrollHeight;if(a==a.top)if(c<b)b-=15;return new fc0(a.innerWidth,b)}a=b.compatMode=="CSS1Compat"&&(!fc1a||fc1a&&fc$a("9.50"))?b.documentElement:b[fcma];return new fc0(a.clientWidth,a.clientHeight)},fc1=function(){return fcvb(fck,arguments)},fcvb=function(a,b){var c=b[0],d=b[1];if(fcZ&&d&&(d[fcN]||d[fcra])){c=["<",c];d[fcN]&&c[fcq](' name="',fcMa(d[fcN]),
'"');if(d[fcra]){c[fcq](' type="',fcMa(d[fcra]),'"');d=fcU(d);delete d[fcra]}c[fcq](">");c=c[fcva]("")}var f=a[fcG](c);if(d)if(fcAa(d))f.className=d;else fctb(f,d);if(b[fcr]>2){function i(h){if(h)f[fcp](fcAa(h)?a.createTextNode(h):h)}for(d=2;d<b[fcr];d++){c=b[d];fcza(c)&&!(fcBa(c)&&c.nodeType>0)?fcfb(fcwb(c)?fchb(c):c,i):i(c)}}return f},fcxb=function(a,b){a[fcp](b)},fcyb=function(a){return a&&a[fcO]?a[fcO].removeChild(a):fcc},fczb=function(a,b){var c=b[fcO];c&&c.replaceChild(a,b)},fcAb=fc_&&fc$a("522"),
fcBb=function(a,b){if(typeof a[fcsa]!="undefined"&&!fcAb&&b.nodeType==1)return a==b||a[fcsa](b);if(typeof a.compareDocumentPosition!="undefined")return a==b||Boolean(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b[fcO];return b==a},fcwb=function(a){if(a&&typeof a[fcr]=="number")if(fcBa(a))return typeof a.item=="function"||typeof a.item=="string";else if(fcya(a)=="function")return typeof a.item=="function";return fcd},fcCb=function(a){this.Va=a||fcT[fcv]||fck};fcCb[fc].createElement=function(a){return this.Va[fcG](a)};
fcCb[fc].createTextNode=function(a){return this.Va.createTextNode(a)};fcCb[fc].appendChild=fcxb;fcCb[fc].removeNode=fcyb;fcCb[fc].replaceNode=fczb;fcCb[fc].contains=fcBb;var fcDb="StopIteration"in fcT?fcT.StopIteration:Error("StopIteration"),fcEb=function(){};fcEb[fc].next=function(){fca(fcDb)};fcEb[fc].__iterator__=function(){return this};var fc2=function(a){this.h={};this.d=[];var b=arguments[fcr];if(b>1){if(b%2)fca(Error("Uneven number of arguments"));for(var c=0;c<b;c+=2)this.set(arguments[c],arguments[c+1])}else a&&this.Ka(a)};fc2[fc].n=0;fc2[fc].B=0;fc2[fc].ra=function(){return this.n};fc2[fc].X=function(){this.C();for(var a=[],b=0;b<this.d[fcr];b++){var c=this.d[b];a[fcq](this.h[c])}return a};fc2[fc].H=function(){this.C();return this.d.concat()};fc2[fc].Ra=function(a){return fcFb(this.h,a)};
fc2[fc].clear=function(){this.h={};fcea(this.d,0);this.B=this.n=0};fc2[fc].remove=function(a){if(fcFb(this.h,a)){delete this.h[a];this.n--;this.B++;this.d[fcr]>2*this.n&&this.C();return fcb}return fcd};fc2[fc].C=function(){if(this.n!=this.d[fcr]){for(var a=0,b=0;a<this.d[fcr];){var c=this.d[a];if(fcFb(this.h,c))this.d[b++]=c;a++}fcea(this.d,b)}if(this.n!=this.d[fcr]){var d={};for(b=a=0;a<this.d[fcr];){c=this.d[a];if(!fcFb(d,c)){this.d[b++]=c;d[c]=1}a++}fcea(this.d,b)}};
fc2[fc].get=function(a,b){if(fcFb(this.h,a))return this.h[a];return b};fc2[fc].set=function(a,b){if(!fcFb(this.h,a)){this.n++;this.d[fcq](a);this.B++}this.h[a]=b};fc2[fc].Ka=function(a){var b;if(a instanceof fc2){b=a.H();a=a.X()}else{b=fclb(a);a=fckb(a)}for(var c=0;c<b[fcr];c++)this.set(b[c],a[c])};fc2[fc].clone=function(){return new fc2(this)};
fc2[fc].__iterator__=function(a){this.C();var b=0,c=this.d,d=this.h,f=this.B,i=this,h=new fcEb;h.next=function(){for(;1;){if(f!=i.B)fca(Error("The map has changed since the iterator was created"));if(b>=c[fcr])fca(fcDb);var j=c[b++];return a?j:d[j]}};return h};var fcFb=function(a,b){return fcj[fc].hasOwnProperty[fcD](a,b)};var fcGb=function(a,b,c,d){this.top=a;this.right=b;this.bottom=c;this.left=d};fcGb[fc].clone=function(){return new fcGb(this.top,this[fcS],this[fcJ],this[fcC])};fcda(fcGb[fc],function(){return"("+this.top+"t, "+this[fcS]+"r, "+this[fcJ]+"b, "+this[fcC]+"l)"});fcGb[fc].contains=function(a){return fcHb(this,a)};fcGb[fc].expand=function(a,b,c,d){if(fcBa(a)){this.top-=a.top;this.right+=a[fcS];this.bottom+=a[fcJ];this.left-=a[fcC]}else{this.top-=a;this.right+=b;this.bottom+=c;this.left-=d}return this};
var fcHb=function(a,b){if(!a||!b)return fcd;if(b instanceof fcGb)return b[fcC]>=a[fcC]&&b[fcS]<=a[fcS]&&b.top>=a.top&&b[fcJ]<=a[fcJ];return b.x>=a[fcC]&&b.x<=a[fcS]&&b.y>=a.top&&b.y<=a[fcJ]};var fcIb=function(a,b,c,d){this.left=a;this.top=b;fcm(this,c);fco(this,d)};fcIb[fc].clone=function(){return new fcIb(this[fcC],this.top,this[fcs],this[fcP])};fcda(fcIb[fc],function(){return"("+this[fcC]+", "+this.top+" - "+this[fcs]+"w x "+this[fcP]+"h)"});fcIb[fc].contains=function(a){return a instanceof fcIb?this[fcC]<=a[fcC]&&this[fcC]+this[fcs]>=a[fcC]+a[fcs]&&this.top<=a.top&&this.top+this[fcP]>=a.top+a[fcP]:a.x>=this[fcC]&&a.x<=this[fcC]+this[fcs]&&a.y>=this.top&&a.y<=this.top+this[fcP]};var fcJb,fcKb,fcLb,fcMb,fcNb,fcOb,fcPb=function(){fcOb=fcNb=fcMb=fcLb=fcKb=fcJb=fcd;var a=fcZa();if(a)if(a[fcA]("Firefox")!=-1)fcJb=fcb;else if(a[fcA]("Camino")!=-1)fcKb=fcb;else if(a[fcA]("iPhone")!=-1||a[fcA]("iPod")!=-1)fcLb=fcb;else if(a[fcA]("Android")!=-1)fcMb=fcb;else if(a[fcA]("Chrome")!=-1)fcNb=fcb;else if(a[fcA]("Safari")!=-1)fcOb=fcb};fcPb();var fcRb=function(a,b,c){fcAa(b)?fcQb(a,c,b):fcjb(b,fcCa(fcQb,a))},fcQb=function(a,b,c){a[fcB][fcSb(c)]=b},fcTb=function(a,b){var c=a.nodeType==9?a:a.ownerDocument||a[fcv];if(c.defaultView&&c.defaultView.getComputedStyle)if(a=c.defaultView.getComputedStyle(a,""))return a[b];return fcc},fcUb=function(a,b,c){if(b instanceof fc0){c=b[fcP];b=b[fcs]}else{if(c==fcaa)fca(Error("missing height argument"));c=c}fcm(a[fcB],typeof b=="number"?fcl[fct](b)+"px":b);fco(a[fcB],typeof c=="number"?fcl[fct](c)+"px":
c)},fcVb=function(a){var b=fc1a&&!fc$a("10");if((fcTb(a,"display")||(a.currentStyle?a.currentStyle[fcta]:fcc)||a[fcB][fcta])!="none")return b?new fc0(a[fcka]||a.clientWidth,a[fcua]||a.clientHeight):new fc0(a[fcka],a[fcua]);var c=a[fcB],d=c[fcta],f=c.visibility,i=c.position;c.visibility="hidden";c.position="absolute";c.display="inline";if(b){b=a[fcka]||a.clientWidth;a=a[fcua]||a.clientHeight}else{b=a[fcka];a=a[fcua]}c.display=d;c.position=i;c.visibility=f;return new fc0(b,a)},fcWb={},fcSb=function(a){return fcWb[a]||
(fcWb[a]=fch(a)[fcu](/\-([a-z])/g,function(b,c){return c.toUpperCase()}))},fcXb=function(a,b){a[fcB].display=b?"":"none"};var fcYb={},fcZb={};var fc_b=function(a,b,c,d){b=b||"800";c=c||"550";d=d||"friendconnect";a=fci.open(a,d,"menubar=no,toolbar=no,dialog=yes,location=yes,alwaysRaised=yes,width="+b+",height="+c+",resizable=yes,scrollbars=1,status=1");fci.focus&&a.focus()},fc0b=function(a,b){var c=fce[fcL][fcz]().communityId;fce.rpc[fcD](fcc,"signin",fcc,c,a,b)};fcW("goog.peoplesense.util.openPopup",fc_b);fcW("goog.peoplesense.util.finishSignIn",fc0b);var fc3b=function(a,b){var c=fc1b()+"/friendconnect/invite/friends",d=fcg(shindig.auth.getSecurityToken());fc2b(c,d,a,b)},fc2b=function(a,b,c,d){a+="?st="+b;if(c)a+="&customMessage="+fcg(c);if(d)a+="&customInviteUrl="+fcg(d);b=760;if(fcZ)b+=25;fc_b(a,fch(b),"515","friendconnect_invite")};fcW("goog.peoplesense.util.invite",fc3b);fcW("goog.peoplesense.util.inviteFriends",fc2b);var fc1b=function(){return fci.friendconnect_serverBase},fc4b=function(a,b,c){var d=fce[fcL][fcz]().psinvite||"";d=fc1b()+"/friendconnect/signin/home?st="+fcg(shindig.auth.getSecurityToken())+"&psinvite="+fcg(d);if(a)d+="&iframeId="+fcg(a);if(b)d+="&loginProvider="+b;if(c)d+="&subscribeOnSignin=1";fc_b(d)};fc0b=function(a,b){var c=fce[fcL][fcz]().communityId;fce.rpc[fcD](fcc,"signin",fcc,c,a,b)};
var fc5b=function(){var a=fce[fcL][fcz]().communityId;fce.rpc[fcD](fcc,"signout",fcc,a)},fc7b=function(a,b){a=fc1b()+"/friendconnect/settings/edit?st="+fcg(shindig.auth.getSecurityToken())+(a?"&iframeId="+fcg(a):"");if(b)a=a+"&"+b;fc6b(a)},fc8b=function(a){a=fc1b()+"/friendconnect/settings/siteProfile?st="+fcg(a);fc6b(a)},fc6b=function(a){var b=800,c=510;if(fcZ)b+=25;fc_b(a,fch(b),fch(c))},fc9b=function(a,b,c){var d=fcc;if(b=="text"){d=fc1("div",{"class":"gfc-button-text"},fc1("div",{"class":"gfc-icon"},
fc1("a",{href:"javascript:void(0);"},c)));a[fcp](d)}else if(b=="long"||b=="standard"){d=fc1("div",{"class":"gfc-inline-block gfc-primaryactionbutton gfc-button-base"},fc1("div",{"class":"gfc-inline-block gfc-button-base-outer-box"},fc1("div",{"class":"gfc-inline-block gfc-button-base-inner-box"},fc1("div",{"class":"gfc-button-base-pos"},fc1("div",{"class":"gfc-button-base-top-shadow",innerHTML:"&nbsp;"}),fc1("div",{"class":"gfc-button-base-content"},fc1("div",{"class":"gfc-icon"},c))))));a[fcp](d);
if(b=="standard"){b=fc1("div",{"class":"gfc-footer-msg"},"with Google Friend Connect");a[fcp](fc1("br"));a[fcp](b)}}return d},fc$b=function(a,b){if(!a)fca("google.friendconnect.renderJoinButton: missing options");var c=a[fcB]||"standard",d=a.text;if(c=="standard")d=a.text||"Sign in";else if(c=="text"||c=="long")d=a.text||"Sign in with Friend Connect";var f=a.element;if(!f){f=a.id;if(!f)fca("google.friendconnect.renderSignInButton: options[id] and options[element] == null");f=fcpb(f);if(!f)fca("google.friendconnect.renderSignInButton: element "+
a.id+" not found")}fcn(f,"");a=fc9b(f,c,d);fci[fcI]?a[fcI]("click",b,fcd):a.attachEvent("onclick",b)},fcac=function(a,b){b=b||fcV(fc4b,fcc,fcc,fcc,fcc);fc$b(a,b)},fcbc=function(a,b){fce.rpc[fcD](fcc,"putReloadViewParam",fcc,a,b);var c=fce.views.getParams();c[a]=b};fcW("goog.peoplesense.util.getBaseUrl",fc1b);fcW("goog.peoplesense.util.finishSignIn",fc0b);fcW("goog.peoplesense.util.signout",fc5b);fcW("goog.peoplesense.util.signin",fc4b);fcW("goog.peoplesense.util.editSettings",fc7b);
fcW("goog.peoplesense.util.editSSProfile",fc8b);fcW("goog.peoplesense.util.setStickyViewParamToken",fcbc);fcW("google.friendconnect.renderSignInButton",fcac);fcW("goog.peoplesense.util.userAgent.IE",fcZ);var fccc={},fcdc={},fc3=function(a){this.g=new fc2;this.snippetId=a.id;this.site=a.site;a=a["view-params"];var b=a.skin;this.Ab=(b?b.POSITION:"top")||"top";this.ac={allowAnonymousPost:a.allowAnonymousPost||fcd,scope:a.scope||"SITE",docId:a.docId||"",features:a.features||"video,comment",startMaximized:"true",disableMinMax:"true",skin:b};this.absoluteBottom=fcZ&&!fc$a("7");this.fixedIeSizes=fcZ;fci[fcI]?fci[fcI]("resize",fcV(this.Ca,this),fcd):fci.attachEvent("onresize",fcV(this.Ca,this));this.Qa()};
fc3[fc].Qa=function(){if(!this.site)fca(new Error("Must supply site ID."));if(!this.snippetId)fca(new Error("Must supply a snippet ID."))};fc3[fc].b=10;fc3[fc].ja=1;fc3[fc].m="fc-friendbar-";fc3[fc].p=fc3[fc].m+"outer";fc3[fc].Fa=fc3[fc].p+"-shadow";fc3[fc].render=function(){fck.write(this.Za());var a=fcob(this.snippetId);fcn(a,this.F())};fc3[fc].$a=function(){var a=fcob(this.p);return a=fcVb(a)[fcs]};
fc3[fc].Ca=function(){for(var a=this.g.H(),b=0;b<a[fcr];b++)this.Nb(a[b]);goog&&fcYb&&fcZb&&fcec&&fcfc("resize")};fc3[fc].k=function(){return this.Ab};fc3[fc].c=function(a){return this.m+"shadow-"+a};fc3[fc].V=function(a){return this.m+"menus-"+a};fc3[fc].I=function(a){return this.m+a+"Target"};fc3[fc].T=function(a){return this.m+a+"Drawer"};fc3[fc].va=function(){return this.I("")};fc3[fc].wa=function(){return this.m+"wallpaper"};fc3[fc].sa=function(){return this.T("")};
fc3[fc].Za=function(){var a=fci.friendconnect_imageUrl+"/",b=a+"shadow_tc.png",c=a+"shadow_bc.png",d=a+"shadow_bl.png",f=a+"shadow_tl.png",i=a+"shadow_tr.png",h=a+"shadow_br.png";a=a+"shadow_cr.png";var j=function(n,m){return fcZ?'filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+n+'", sizingMethod="scale");':"background-image: url("+n+");background-repeat: "+m+"; "},k="position:absolute; top:";if(this.k()!="top"){k="position:fixed; bottom:";if(this.absoluteBottom)k="position:absolute; bottom:"}var l=
c;if(this.k()!="top")l=b;var e=0,g=[];g[e++]='<style type="text/css">';if(this.k()!="top"&&this.absoluteBottom)g[e++]="html, body {height: 100%; overflow: auto; };";g[e++]="#"+this.p+" {";g[e++]="background:#E0ECFF;";g[e++]="left:0;";g[e++]="height: "+(fcZ?"35px;":"36px;");if(this.k()!="top"&&this.absoluteBottom)g[e++]="margin-right: 20px;";g[e++]="padding:0;";g[e++]=k+" 0;";g[e++]="width:100%;";g[e++]="z-index:5000;";g[e++]="}";g[e++]="#"+this.Fa+" {";g[e++]=j(l,"repeat-x");g[e++]="left:0;";g[e++]=
"height:"+this.b+"px;";if(this.k()!="top"&&this.absoluteBottom)g[e++]="margin-right: 20px;";g[e++]="padding:0;";g[e++]=k+(fcZ?"35px;":"36px;");g[e++]="width:100%;";g[e++]="z-index:4998;";g[e++]="}";g[e++]="."+this.sa()+" {";g[e++]="display: block;";g[e++]="padding:0;";g[e++]=k+(fcZ?"34px;":"35px;");g[e++]="z-index:4999;";g[e++]="}";g[e++]="."+this.wa()+" {";g[e++]="background: white;";g[e++]="height: 100%;";g[e++]="margin-right: "+this.b+"px;";g[e++]="}";g[e++]="."+this.va()+" {";g[e++]="border: "+
this.ja+"px solid #ccc;";g[e++]="height: 100%;";g[e++]="left: 0;";g[e++]="background-image: url("+fci.friendconnect_imageUrl+"/loading.gif);";g[e++]="background-position: center;";g[e++]="background-repeat: no-repeat;";g[e++]="}";g[e++]="."+this.c("cr")+" {";g[e++]=j(a,"repeat-y");g[e++]="height: 100%;";g[e++]="position:absolute;";g[e++]="right: 0;";g[e++]="top: 0;";g[e++]="width:"+this.b+"px;";g[e++]="}";g[e++]="."+this.c("bl")+" {";g[e++]=j(d,"no-repeat");g[e++]="height: "+this.b+"px;";g[e++]="position:absolute;";
g[e++]="width:"+this.b+"px;";g[e++]="}";g[e++]="."+this.c("tl")+" {";g[e++]=j(f,"no-repeat");g[e++]="height: "+this.b+"px;";g[e++]="position:absolute;";g[e++]="left:0px;";g[e++]="width:"+this.b+"px;";g[e++]="}";g[e++]="."+this.c("bc")+" {";g[e++]=j(c,"repeat-x");g[e++]="height: "+this.b+"px;";g[e++]="left: "+this.b+"px;";g[e++]="position:absolute;";g[e++]="right: "+this.b+"px;";g[e++]="}";g[e++]="."+this.c("tc")+" {";g[e++]=j(b,"repeat-x");g[e++]="height: "+this.b+"px;";g[e++]="left: "+this.b+"px;";
g[e++]="margin-left: "+this.b+"px;";g[e++]="margin-right: "+this.b+"px;";g[e++]="right: "+this.b+"px;";g[e++]="}";g[e++]="."+this.c("br")+" {";g[e++]=j(h,"no-repeat");g[e++]="height: "+this.b+"px;";g[e++]="position:absolute;";g[e++]="right: 0;";g[e++]="width: "+this.b+"px;";g[e++]="}";g[e++]="."+this.c("tr")+" {";g[e++]=j(i,"no-repeat");g[e++]="height: "+this.b+"px;";g[e++]="position:absolute;";g[e++]="right: 0;";g[e++]="top: 0;";g[e++]="width: "+this.b+"px;";g[e++]="}";g[e++]="</style>";return g[fcva]("")};
fc3[fc].F=function(){var a=['<div id="'+this.p+'"></div>','<div id="'+this.Fa+'"></div>','<div id="'+this.V(this.g.ra())+'"></div>'];return a[fcva]("")};fc3[fc].Ta=function(a,b,c,d){if(!this.g.Ra(a)){b=new fc4(this,a,b,c,d);c=this.g.ra();d=fcob(this.V(c));fcn(d,b.F()+'<div id="'+this.V(c+1)+'"></div>');this.g.set(a,b)}};fc3[fc].Z=function(a){(a=this.g.get(a))&&a.drawer&&fcXb(a.drawer,fcd)};fc3[fc].Db=function(a){if(a=this.g.get(a))a.rendered=fcd};
fc3[fc].refresh=function(){for(var a=this.g.H(),b=0;b<a[fcr];b++){var c=a[b];this.Z(c);this.Db(c)}};fc3[fc].xb=function(a){for(var b=this.g.X(),c=0;c<b[fcr];c++){var d=b[c];if(d.id==a){d.Zb();break}}};fc3[fc].wb=function(a){for(var b=this.g.X(),c=0;c<b[fcr];c++){var d=b[c];if(d.id==a){d.tb();break}}};fc3[fc].Nb=function(a){if((a=this.g.get(a))&&a.drawer&&a.aa()){a.R();a.oa();a.ia()}};
fc3[fc].Yb=function(a,b){var c=this.g.get(a);if(c){if(!c.drawer){c.drawer=fcob(this.T(c[fcN]));c.target=fcob(this.I(c[fcN]));c.sha_bc=fcrb("div",this.k()=="top"?this.c("bc"):this.c("tc"),c.drawer)[0];c.sha_cr=fcrb("div",this.c("cr"),c.drawer)[0]}for(var d=this.g.H(),f=0;f<d[fcr];f++){var i=d[f];a!=this.g.get()&&this.Z(i)}c.R(b);fcXb(c.drawer,fcb);fci.setTimeout(function(){c.ia();c.oa();c.render()},0)}};
var fc4=function(a,b,c,d,f){this.id=-1;this.bar=a;this.name=b;this.constraints=d;this.skin=f||{};fco(this,this.skin.HEIGHT||"0");this.url=fci.friendconnect_serverBase+c;this.sha_bc=this.target=this.drawer=fcc;this.loaded=this.rendered=fcd;this.R()};
fc4[fc].R=function(a){fcnb(this.constraints,a||{});fcnb(this.skin,this.constraints);if(this.bar.fixedIeSizes&&this.constraints[fcC]&&this.constraints[fcS]){a=this.bar.$a();var b=this.constraints[fcC],c=this.constraints[fcS];a=a-(b+c);if(a%2){a-=1;this.skin.right+=1}fcm(this.skin,a);delete this.skin[fcC]}};
fc4[fc].ia=function(){if(this.drawer){if(this.skin[fcs]){var a=this.bar.ja,b=this.bar.b,c=fcZ?2:0;fcUb(this.target,this.skin[fcs],"");fcUb(this.sha_bc,this.skin[fcs]-b+2*a-c,"");this.skin.rightShadow?fcUb(this.drawer,this.skin[fcs]+b+2*a-c,""):fcUb(this.drawer,this.skin[fcs]+2*a-c,"")}if(this.skin[fcS])this.drawer[fcB].right=this.skin[fcS]+0+"px"}};
fc4[fc].oa=function(){if(fcZ&&this.drawer){var a=fcVb(this.target),b=a[fcs]-this.bar.b;a=a[fcP];if(b<0)b=0;this.sha_bc&&this.sha_bc[fcB]&&fcUb(this.sha_bc,b,"");this.sha_cr&&this.sha_cr[fcB]&&fcUb(this.sha_cr,"",a)}};
fc4[fc].F=function(){var a="display:none;",b="position: relative; ",c="",d="",f="",i="",h=!!this.skin.rightShadow;if(!h){c+="display: none; ";f+="display: none; ";d+="right: 0px; ";i+="margin-right: 0px; "}for(var j in this.skin){var k=Number(this.skin[j]);if(h&&fcGa(j,"width")==0)k+=this.b;if(fcGa(j,"height")==0)b+=j+": "+k+"px; ";if(j!="rightShadow"){if(fcGa(j,"height")==0)k+=this.b;if(fcGa(j,"width")==0)k+=2;a+=j+": "+k+"px; "}if(fcZ&&fcGa(j,"width")==0){k-=h?2*this.b:this.b;d+=j+": "+k+"px; "}}if(fcZ&&
(this[fcP]|0)>0){h=(this[fcP]|0)+2;c+="height: "+h+"px; "}h=0;j=[];j[h++]='<div id="'+this.bar.T(this[fcN])+'"class="'+this.bar.sa()+'"style="'+a+'"> ';if(this.bar.k()=="bottom")j[h++]='<div class="'+this.bar.c("tl")+'"></div> <div class="'+this.bar.c("tc")+'"style="'+d+'"></div> <div class="'+this.bar.c("tr")+'"style="'+f+'"></div> ';j[h++]='<div style="'+b+'"> <div class="'+this.bar.wa()+'"style="'+i+'"><div id="'+this.bar.I(this[fcN])+'"class="'+this.bar.va()+'"></div> <div class="'+this.bar.c("cr")+
'"style="'+c+'"></div> </div> </div> ';if(this.bar.k()=="top")j[h++]='<div class="'+this.bar.c("bl")+'"></div> <div class="'+this.bar.c("bc")+'"style="'+d+'"></div> <div class="'+this.bar.c("br")+'"style="'+f+'"></div> ';j[h++]="</div> ";return j[fcva]("")};fc4[fc].Zb=function(){this.rendered=this.aa()};fc4[fc].tb=function(){this.loaded=this.aa()};fc4[fc].aa=function(){return!!this.drawer&&this.drawer[fcB][fcta]!="none"};
fc4[fc].render=function(){if(this.rendered==fcd){var a={};a.url=this.url;a.id=this.bar.I(this[fcN]);a.site=this.bar.site;a["view-params"]=fcU(this.bar.ac);if(this[fcN]=="profile")a["view-params"].profileId="VIEWER";this.skin&&fcnb(a["view-params"].skin,this.skin);a["view-params"].menuName=this[fcN];a["view-params"].opaque="true";a["view-params"].menuPosition=this.bar.Ab;fco(a,"1px");if(fccc&&fcdc&&fc5)this.id=fc5.render(a)}};fcW("google.friendconnect.FriendBar",fc3);var fcgc=function(){},fchc=function(){},fcic=function(){};fcX(fcic,fchc);var fcjc=function(a){if(a)for(var b in a)if(a.hasOwnProperty(b))this[b]=a[b];if(this.viewParams)for(var c in this.viewParams)if(/^FC_RELOAD_.*$/[fcha](c))this.viewParams[c]=fcc};fcjc[fc].render=function(a){var b=this;if(a){b.$b();this.bb(function(c){fcRb(a,"visibility","hidden");fcn(a,c);b.refresh(a,c);c=function(d){fcRb(d,"visibility","visible")};c=fcCa(c,a);fcca(c,500);b.chrome=a})}};fcjc[fc].bb=function(a){return this.gb(a)};
var fc6=function(a){fcjc[fcD](this,a);this.A="../../"};fcX(fc6,fcjc);fc6[fc].Ia="gfc_iframe_";fc6[fc].Ja="friendconnect";fc6[fc].pa="";fc6[fc].Da=fch(fcl[fct](2147483647*fcl[fcna]()));fc6[fc].Ob="rpc_relay.html";fc6[fc].N=function(a){this.A=a};fc6[fc].$b=function(){return this.pa=fch(fcl[fct](2147483647*fcl[fcna]()))};fc6[fc].U=function(){return this.Ia+this.pa+"_"+this.id};
fc6[fc].refresh=function(a,b){var c=fc5.qa(this.communityId),d="post",f,i={};i.container=this.Ja;i.mid=this.id;i.nocache=fc5.zb;i.view=this.P;i.parent=fc5.J;if(this.debug)i.debug="1";if(this.specUrl)i.url=this.specUrl;if(this.communityId){f=fce[fcL][fcz]().profileId;i.communityId=this.communityId;var h=fce[fcL][fcz]().psinvite;if(h)i.psinvite=h;if(f)i.profileId=f}i.caller=fckc();i.rpctoken=this.Da;h=fcd;if(fc_||!fc5.ba[this.specUrl]&&this.viewParams){i["view-params"]=fce[fcH][fcga](this.viewParams);
h=fcb}if(this.prefs)i.prefs=fce[fcH][fcga](this.prefs);if(this.viewParams&&this.sendViewParamsToServer)i["view-params"]=fce[fcH][fcga](this.viewParams);if(this.locale)i.locale=this.locale;if(this.secureToken)i.st=this.secureToken;f=this.A+"ifr"+(this.hashData?"&"+this.hashData:"");if(fc5.cc!=1||h||c||this.secureToken){if(c)i.fcauth=c}else d="get";c=this.U();fclc(c,f,d,i,a,b,this.Da)};
var fc7=function(){this.i={};this.J="http://"+fck[fcy].host;this.P="default";this.zb=1;this.gc=0;this.dc="US";this.ec="en";this.fc=2147483647};fcX(fc7,fcgc);fc7[fc].r=fcjc;fc7[fc].t=new fcic;fc7[fc].Ea=function(a){this.zb=a};fc7[fc].na=function(a){this.cc=a};fc7[fc].ua=function(a){return"gadget_"+a};fc7[fc].s=function(a){return this.i[this.ua(a)]};fc7[fc].D=function(a){return new this.r(a)};fc7[fc].La=function(a){a.id=this.hb();this.i[this.ua(a.id)]=a};fc7[fc].yb=0;fc7[fc].hb=function(){return this.yb++};
var fcmc=function(){fc7[fcD](this)};fcX(fcmc,fc7);fcmc[fc].r=fc6;fcmc[fc].M=function(a){a[fcE](/^http[s]?:\/\//)||(a=fck[fcy][fcpa][fcE](/^[^?#]+\//)[0]+a);this.J=a};fcmc[fc].z=function(a){var b=this.t.ta(a);a.render(b)};var fcnc=function(){this.Ya={}};fcX(fcnc,fchc);fcnc[fc].Ma=function(a,b){this.Ya[a]=b;a=fck[fcx](b).className;if(!a&&a[fcr]==0)fck[fcx](b).className="gadgets-gadget-container"};fcnc[fc].ta=function(a){return(a=this.Ya[a.id])?fck[fcx](a):fcc};
var fc8=function(a){fc6[fcD](this,a);a=a||{};this.P=a.view||"profile"};fcX(fc8,fc6);fc8[fc].Pa="canvas.html";fc8[fc].Wa="/friendconnect/embed/";var fckc=function(){var a=fce[fcL][fcz]().canvas=="1"||fce[fcL][fcz]().embed=="1",b=fcc;if(a)b=fce[fcL][fcz]().caller;if(!b){a=fck[fcy];b=a.search[fcu](/([&?]?)psinvite=[^&]*(&?)/,function(c,d,f){return f?d:""});b=a.protocol+"//"+a.hostname+(a.port?":"+a.port:"")+a.pathname+b}return b};fc8[fc].Vb=function(a){this.P=a};fc8[fc].Y=function(){return this.P};
fc8[fc].getBodyId=function(){return this.U()+"_body"};
fc8[fc].gb=function(a){var b=(fc5.ba[this.specUrl]||this.A)+this.Ob,c=this.U();fce.rpc.setRelayUrl(c,b);b='<div id="'+this.getBodyId()+'"><iframe id="'+c+'" name="'+c+'" style="width:100%;';if(this.viewParams.opaque)b+="background-color:white;";b+='"';b+=' frameborder="0" scrolling="no"';this.viewParams.opaque||(b+=' allowtransparency="true"');b+=this[fcP]?' height="'+this[fcP]+'"':"";b+=this[fcs]?' width="'+this[fcs]+'"':"";b+="></iframe>";if(this.showEmbedThis)b+='<a href="javascript:void(0);" onclick="google.friendconnect.container.showEmbedDialog(\''+
this.divId+"'); return false;\">Embed this</a>";b+="</div>";a(b)};
fc8[fc].ab=function(){var a=fckc();a="canvas=1&caller="+fcg(a);var b=fce[fcL][fcz]().psinvite;if(b)a+="&psinvite="+fcg(b);a+="&site="+fcg(this.communityId);b=fcU(this.viewParams);if(b.skin!=fcc)for(var c=["BG_IMAGE","BG_COLOR","FONT_COLOR","BG_POSITION","BG_REPEAT","ANCHOR_COLOR","FONT_FACE","BORDER_COLOR","CONTENT_BG_COLOR","CONTENT_HEADLINE_COLOR","CONTENT_LINK_COLOR","CONTENT_SECONDARY_TEXT_COLOR","CONTENT_SECONDARY_LINK_COLOR","CONTENT_TEXT_COLOR","ENDCAP_BG_COLOR","ENDCAP_LINK_COLOR","ENDCAP_TEXT_COLOR",
"CONTENT_VISITED_LINK_COLOR","ALTERNATE_BG_COLOR"],d=0;d<c[fcr];d++)delete b.skin[c[d]];b=fcg(fce[fcH][fcga](b));b=b[fcu]("\\","%5C");return fc5.J+this.Pa+"?url="+fcg(this.specUrl)+(a?"&"+a:"")+"&view-params="+b};fc8[fc].v=function(a){a=a||fcf+this.Wa+this.communityId;return this.cb(a,"embed=1")};fc8[fc].u=function(a){return'<iframe src="'+this.v(a)+'" style="height:500px" scrolling="no" allowtransparency="true" border="0" frameborder="0" ></iframe>'};
fc8[fc].cb=function(a,b){var c=fcg(fce[fcH][fcga](this.viewParams));c=c[fcu]("\\","%5C");return a+"?url="+fcg(this.specUrl)+(b?"&"+b:"")+"&view-params="+c};fc8[fc].kb=function(){var a=fce[fcL][fcz]().canvas=="1"||fce[fcL][fcz]().embed=="1",b=fcc;if(a)(b=fce[fcL][fcz]().caller)||(b="javascript:history.go(-1)");return b};fc8[fc].lb=function(a){var b=fcc;if(a=="canvas")b=this.ab();else if(a=="profile")b=this.kb();return b};
var fc9=function(){fcmc[fcD](this);fce.rpc[fcQ]("signin",this.signin);fce.rpc[fcQ]("signout",this.signout);fce.rpc[fcQ]("resize_iframe",this.Rb);fce.rpc[fcQ]("set_title",this.setTitle);fce.rpc[fcQ]("requestNavigateTo",fcoc);fce.rpc[fcQ]("api_loaded",this.Oa);fce.rpc[fcQ]("createFriendBarMenu",this.Sa);fce.rpc[fcQ]("showFriendBarMenu",this.Xb);fce.rpc[fcQ]("hideFriendBarMenu",this.pb);fce.rpc[fcQ]("putReloadViewParam",this.Bb);fce.rpc[fcQ]("getViewParams",this.Ua);fce.rpc[fcQ]("openLightboxIframe",
fcpc);fce.rpc[fcQ]("showMemberProfile",fcqc);fce.rpc[fcQ]("closeLightboxIframe",fcV(this.q,this));fce.rpc[fcQ]("setLightboxIframeTitle",fcV(this.Sb,this));fce.rpc[fcQ]("refreshAndCloseIframeLightbox",fcV(this.Cb,this));var a=fcrc;a[fcQ]();a.Ha(this,"load",this.nb);a.Ha(this,"start",this.ob);this.A="../../";this.M("");this.Ea(0);this.na(0);this.t=new fcnc;this.apiVersion="0.8";this.openSocialSecurityToken=this.openSocialSiteId=fcc;this.L="";this.ma={};this.sb=fcc;this.rb=fcd;this.vb=this.lastIframeLightboxOpenArguments=
this.lastLightboxCallback=this.lastLightboxDialog=fcc};fcX(fc9,fcmc);fc9[fc].r=fc8;fc9[fc].ba={};
var fcsc=function(a,b){var c=b?b:fci.top;b=c.frames;try{if(c.frameElement.id==a)return c}catch(d){}for(c=0;c<b[fcr];++c){var f=fcsc(a,b[c]);if(f)return f}return fcc},fclc=function(a,b,c,d,f,i,h){var j="gfc_load_"+a;b='<html><head><style type="text/css">body {background:transparent;}</style>'+(fcZ?'<script type="text/javascript">window.goback=function(){history.go(-1);};setTimeout("goback();", 0);<\/script>':"")+"</head><body><form onsubmit='window.goback=function(){};return false;' style='margin:0;padding:0;' id='"+
j+"' method='"+c+"' ' action='"+b+"'>";for(var k in d)b+="<input type='hidden' name='"+k+"' value='' >";b+="</form></body></html>";c=fcsc(a);var l;try{l=c[fcv]||c.contentWindow[fcv]}catch(e){if(f&&i){fcn(f,"");fcn(f,i);c=fcsc(a);l=c[fcv]||c.contentWindow[fcv]}}h&&fce.rpc.setAuthToken(a,h);l.open();l.write(b);l.close();a=l[fcx](j);for(k in d)a[k].value=d[k];fcZ&&a.onsubmit();a.submit()};fc9[fc].Xa=function(){var a=fce[fcL][fcz]().fcsite,b=fce[fcL][fcz]().fcprofile;a&&b&&fc5.ha(b,a)};
fc9[fc].Qb=function(a,b){this.ba[a]=b};fc9[fc].K=function(){var a=/Version\/3\..*Safari/;if(a=fc_&&fcZa()[fcE](a))fck[fcy].reload();else{fc5.e!=fcc&&fc5.e.refresh();for(var b in fc5.i){a=fc5.i[b];this.z(a)}if(this.lastIframeLightboxOpenArguments!=fcc){b=this.lastIframeLightboxOpenArguments;this.q();this.ca[fcM](this,b)}}};
fc9[fc].M=function(a){a[fcE](/^http[s]?:\/\//)||(a=a&&a[fcr]>0&&a.substring(0,1)=="/"?fck[fcy][fcpa][fcE](/^http[s]?:\/\/[^\/]+\//)[0]+a.substring(1):fck[fcy][fcpa][fcE](/^[^?#]+\//)[0]+a);this.J=a};fc9[fc].S=function(a){return"fcauth"+a};fc9[fc].W=function(a){return"fcauth"+a+"-s"};fc9[fc].qa=function(a){return a=fccb(this.S(a))||fccb(this.W(a))||this.ma[a]||""};fc9[fc].N=function(a){this.A=a};fc9[fc].Ub=function(a){this.L=a};fc9[fc].D=function(a){a=new this.r(a);a.N(this.A);return a};
fc9[fc].Y=function(){return this.P};fc9[fc].Tb=function(a){this.vb=a};var fc$=function(a){return fcba(a[fcE](/_([0-9]+)$/)[1],10)};
fc9[fc].O=function(a,b,c,d,f,i){if(!this.bc){this.Q(fci.friendconnect_serverBase+"/friendconnect/styles/container.css?v="+this.L);this.bc=fcb}var h=fctc(d);if(this.sb!=(h?"rtl":"ltr")){this.Q(fci.friendconnect_serverBase+"/friendconnect/styles/lightbox"+(h?"-rtl":"")+".css?v="+this.L);this.sb=h?"rtl":"ltr"}if(!this.rb){this.Na(fci.friendconnect_serverBase+"/friendconnect/script/lightbox.js?v="+this.L);this.rb=fcb}b=b||0;if(goog.ui&&goog.ui[fcla]){this.q();b=new goog.ui[fcla](fcc,fcb);var j=this;goog.events.listen(b,
goog.ui[fcla].EventType.AFTER_HIDE,function(){j.lastLightboxCallback&&j.lastLightboxCallback();j.la()});b.setDraggable(fcb);b.setDisposeOnHide(fcb);b.setBackgroundElementOpacity(0.5);b.setButtonSet(new goog.ui[fcla].ButtonSet);this.lastLightboxDialog=b;this.lastLightboxCallback=c;c=b.getDialogElement();f=f||702;fcRb(c,"width",fch(f)+"px");i&&fcRb(c,"height",fch(i)+"px");a(b);b.getDialogElement()[fcB].direction=h?"rtl":"ltr"}else if(b<5){b++;a=fcV(this.O,this,a,b,c,d,f,i);fcca(a,1000)}else{this.la();
fca(Error("lightbox.js failed to load"))}};fc9[fc].q=function(a){var b=this.lastLightboxDialog,c=this.lastLightboxCallback;this.lastLightboxCallback=fcc;if(b!=fcc){this.lastLightboxDialog.dispatchEvent(goog.ui[fcla].EventType.AFTER_HIDE);b.dispose();c!=fcc&&c(a)}};fc9[fc].la=function(){this.lastIframeLightboxOpenArguments=this.lastLightboxCallback=this.lastLightboxDialog=fcc};fc9[fc].Sb=function(a){this.lastLightboxDialog&&this.lastLightboxDialog.setTitle(a)};fc9[fc].Cb=function(){this.q();this.K()};
var fcoc=function(a,b){var c=fc$(this.f);c=fc5.s(c);var d=fcU(c.originalParams);if(b){d["view-params"]=d["view-params"]||{};d["view-params"]=b}d.locale=c.locale;if(c.useLightBoxForCanvas){d.presentation=a;this.lastLightboxDialog!=fcc?fc5.q():fc5.Ga(d)}else if((a=c.lb(a))&&fck[fcy][fcpa]!=a)if(fce[fcL][fcz]().embed=="1")try{fci.parent.location=a}catch(f){fci.top.location=a}else fck[fcy].href=a};
fc9[fc].Ga=function(a,b){a=a||{};var c=a.locale,d=fctc(c),f=this;this.q();this.O(function(i){var h=fc1("div",{},fc1("div",{id:"gadget-signin",style:"background-color:#ffffff;height:32px;"}),fc1("div",{id:"gadget-lb-canvas",style:"background-color:#ffffff;"}));i.getTitleTextElement()[fcp](fc1("div",{id:"gfc-canvas-title",style:"color:#000000;"})),i.getContentElement()[fcp](h);i.setVisible(fcb);h=fcU(a);var j=fcub(fci),k=fcl[fct](j[fcP]*0.7);j={};j.BORDER_COLOR="#cccccc";j.ENDCAP_BG_COLOR="#e0ecff";
j.ENDCAP_TEXT_COLOR="#333333";j.ENDCAP_LINK_COLOR="#0000cc";j.ALTERNATE_BG_COLOR="#ffffff";j.CONTENT_BG_COLOR="#ffffff";j.CONTENT_LINK_COLOR="#0000cc";j.CONTENT_TEXT_COLOR="#333333";j.CONTENT_SECONDARY_LINK_COLOR="#7777cc";j.CONTENT_SECONDARY_TEXT_COLOR="#666666";j.CONTENT_HEADLINE_COLOR="#333333";h.id="gadget-lb-canvas";fco(h,fcl.min(498,k)+"px");h.maxHeight=k;if(h.keepMax){fco(h,k);fcRb(i.getContentElement(),"height",k+35+"px")}h["view-params"]=h["view-params"]||{};h["view-params"].opaque=fcb;h["view-params"].skin=
h["view-params"].skin||{};fcDa(h["view-params"].skin,j);f.render(h);k={};k.id="gadget-signin";k.presentation="canvas";k.site=h.site;k.titleDivId="gfc-canvas-title";k["view-params"]={};k["view-params"].opaque=fcb;k.keepMax=h.keepMax;h=fcU(j);h.ALIGNMENT=d?"left":"right";f.Aa(k,h);i.reposition()},fcaa,b,c)};fc9[fc].Xb=function(a,b){fc5.e!=fcc&&fc5.e.Yb(a,b)};fc9[fc].pb=function(a){fc5.e!=fcc&&fc5.e.Z(a)};
var fcpc=function(a,b,c,d,f,i,h,j,k){var l=this,e=this.f;a=a+(a[fcA]("?")>=0?"&":"?")+"iframeId="+e;fc5.ca(a,b,c,d,f,i,h,j,k,l.callback)};
fc9[fc].ca=function(a,b,c,d,f,i,h,j,k,l){for(var e=[],g=0;g<arguments[fcr]&&g<9;g++)e[fcq](arguments[g]);if(!a[0]=="/")fca(new Error("lightbox iframes must be relative to fc server"));var n=this,m=i?fcU(i):{},p=fch(fcl[fct](2147483647*fcl[fcna]())),o="gfc_lbox_iframe_"+p;fce.rpc.setAuthToken(o,p);if(!b)b=fc5.openSocialSecurityToken;var r=fc5.openSocialSiteId;fc5.O(function(q){n.lastIframeLightboxOpenArguments=e;var t="st="+fcg(b)+"&parent="+fcg(fc5.J)+"&rpctoken="+fcg(p);if(!j){m.iframeId=o;m.iurl=
a;a=fcf+"/friendconnect/lightbox"}var u=d-54,s='<iframe id="'+o;s+='" width="100%" height="'+u+'" frameborder="0" scrolling="auto"></iframe>';q.setContent(s);f&&q.setTitle(f);q.setVisible(fcb);k||(m.fcauth=fc5.qa(r));a+=(a[fcA]("?")>=0?"&":"?")+t+"&communityId="+r;fclc(o,a,"POST",m,fcc,fcc,fcc)},fcc,l,fcc,c,d)};fc9[fc].Ua=function(){var a=fc$(this.f);a=fc5.s(a);return a.viewParams};fc9[fc].Bb=function(a,b){var c=fc$(this.f);c=fc5.s(c);c.viewParams[a]=b};fc9[fc].nb=function(a,b){fc5.e!=fcc&&fc5.e.wb(b)};
fc9[fc].ob=function(a,b){fc5.e!=fcc&&fc5.e.xb(b)};fc9[fc].Sa=function(a,b,c,d){fc5.e!=fcc&&fc5.e.Ta(a,b,c,d)};fc9[fc].z=function(a){var b=this.t.ta(a);a.render(b);this.t.postProcessGadget&&this.t.postProcessGadget(a)};fc9[fc].signout=function(a){fc5.za(fc5.S(a));fc5.za(fc5.W(a));fc5.ma={};fc5.K();return fcd};fc9[fc].za=function(a){var b=fck[fcy].pathname;b=b[fcw]("/");for(var c=0;c<b[fcr];c++){for(var d=new Array(c+1),f=0;f<c+1;f++)d[f]=b[f];fcdb(a,d[fcva]("/")+"/")}};
fc9[fc].Rb=function(a){var b=fck[fcx](this.f);if(b&&a>0)fco(b[fcB],a+"px");if((b=fck[fcx](this.f+"_body"))&&a>0)fco(b[fcB],a+"px");b=fc$(this.f);var c=fc5.s(b);if(c){if((b=fck[fcx](c.divId))&&a>0){if(c[fcqa]&&c[fcqa]<a){a=c[fcqa];b[fcB].overflowY="auto"}fco(b[fcB],a+"px")}!c.keepMax&&c.Y()=="canvas"&&fc5.lastLightboxDialog&&fc5.lastLightboxDialog.reposition()}fcRb(c.chrome,"visibility","visible")};fc9[fc].setTitle=function(a){var b=fc$(this.f);b=fc5.s(b);if(b=b.titleDivId)fcn(fck[fcx](b),fce[fcL].escapeString(a))};
fc9[fc].signin=function(a,b,c){fcbb(fc5.S(a),b,31104000,c);fcbb(fc5.W(a),b,-1,c);fc5.ma[a]=b;fc5.K()};var fcvc=function(a){fc$b(a,fcuc)};fc9[fc].Ib=function(a,b){b&&this.j(b,a);b={};b.url=fcf+"/friendconnect/gadgets/members.xml";this.render(this.o(a,b))};fc9[fc].Kb=function(a,b){b&&this.j(b,a);b={};b.url=fcf+"/friendconnect/gadgets/review.xml";b["view-params"]={startMaximized:"true",disableMinMax:"true",features:"review"};this.render(this.o(a,b))};
fc9[fc].da=function(a,b){b&&this.j(b,a);b={};b.url=fcf+"/friendconnect/gadgets/wall.xml";b["view-params"]={startMaximized:"true",disableMinMax:"true",features:"comment"};this.render(this.o(a,b))};fc9[fc].Aa=function(a,b){b&&this.j(b,a);b={};b.url=fcf+"/friendconnect/gadgets/signin.xml";fco(b,32);this.render(this.o(a,b))};
fc9[fc].Fb=function(a,b){b&&this.j(b,a);a.prefs=a.prefs||{};a.sendViewParamsToServer=fcb;a.prefs.hints=fci.google_hints;b={};b.url=fcf+"/friendconnect/gadgets/ads.xml";fco(b,90);this.render(this.o(a,b))};fc9[fc].ga=function(a,b){if(a.id){b&&this.j(b,a);a["view-params"]=a["view-params"]||{};a["view-params"].opaque="true";this.e=new fc3(a);this.e.render();b={};b.url=fcf+"/friendconnect/gadgets/friendbar.xml";a.id=this.e.p;fco(a,"1");this.render(this.o(a,b))}};fc9[fc].Hb=fc9[fc].ga;
fc9[fc].fa=function(a,b){a=a||{};a.url=fcf+"/friendconnect/gadgets/signin.xml";a.site=a.site||fce[fcL][fcz]().site;fco(a,32);this.ea(a,b)};fc9[fc].Gb=fc9[fc].fa;fc9[fc].Mb=fc9[fc].da;fc9[fc].j=function(a,b){var c=b["view-params"];if(!c){c={};b["view-params"]=c}c.skin=a};fc9[fc].o=function(a,b){var c=this.ya(b,a);if(b["view-params"]){b=b["view-params"];if(a["view-params"])b=this.ya(b,a["view-params"]);c["view-params"]=b}return c};fc9[fc].Jb=function(a,b){b&&this.j(b,a);this.render(a)};
fc9[fc].ya=function(a,b){var c={},d;for(d in b)c[d]=b[d];for(d in a)if(typeof c[d]=="undefined")c[d]=a[d];return c};
fc9[fc].render=function(a){this.openSocialSiteId=a.site;a["view-params"]=a["view-params"]||{};var b=this.D({divId:a.id,specUrl:a.url,communityId:a.site,height:a[fcP],locale:a.locale||this.vb,secureToken:a.securityToken,titleDivId:a.titleDivId,showEmbedThis:a.showEmbedThis,useLightBoxForCanvas:a.useLightBoxForCanvas||typeof a.useLightBoxForCanvas=="undefined"&&fci.friendconnect_lightbox,viewParams:a["view-params"],prefs:a.prefs,originalParams:a,debug:a.debug,maxHeight:a[fcqa],sendViewParamsToServer:a.sendViewParamsToServer,
keepMax:a.keepMax});a.presentation&&b.Vb(a.presentation);this.La(b);this.t.Ma(b.id,a.id);fc5.z(b);return b.id};fc9[fc].Lb=function(a,b){a=a||{};a.presentation="canvas";this.Ba(a,b)};
fc9[fc].Ba=function(a,b,c){a=a||{};a.url=fce[fcL][fcz]().url;a.site=fce[fcL][fcz]().site||a.site;var d=fce[fcL][fcz]()["view-params"];if(d)a["view-params"]=fce[fcH].parse(decodeURIComponent(d));if(c){a["view-params"]=a["view-params"]||{};a["view-params"].useFixedHeight=fcb;fco(a["view-params"],c);b=b||{};b.HEIGHT=fch(c)}this.ea(a,b)};fc9[fc].ea=function(a,b){a=a||{};b&&this.j(b,a);if(fce[fcL][fcz]().canvas=="1")a.presentation="canvas";else if(fce[fcL][fcz]().embed=="1")a.presentation="embed";fc5.render(a)};
fc9[fc].mb=function(){var a=fce[fcL][fcz]().caller;if(a&&fck[fcy][fcpa]!=a&&a[fcr]>8&&(a.substr(0,7)[fcR]()=="http://"||a.substr(0,8)[fcR]()=="https://"))fck[fcy].href=a;else if(a=fce[fcL][fcz]().site)fck[fcy].href=fcf+"/friendconnect/directory/site?id="+a;else fci.history.go(-1)};fc9[fc].w="";fc9[fc].ib=function(){return this.w};fc9[fc].Pb=function(a){this.apiVersion=a};fc9[fc].Q=function(a){var b=fck[fcG]("link");b[fcK]("rel","stylesheet");b[fcK]("type","text/css");b[fcK]("href",a);fck.getElementsByTagName("head")[0][fcp](b)};
fc9[fc].Na=function(a){var b=fck[fcG]("script");b[fcK]("src",a);b[fcK]("type","text/javascript");fck.getElementsByTagName("head")[0][fcp](b)};fc9[fc].ka=function(a){if(fck[fcma])a();else fci[fcI]?fci[fcI]("load",a,fcd):fci.attachEvent("onload",a)};
fc9[fc].$=function(a){if(!a.site)fca("API not loaded, please pass in a 'site'");this.Q(fci.friendconnect_serverBase+"/friendconnect/styles/container.css?v="+this.L);this.openSocialSiteId=a.site;this.apiLoadedCallback=a.onload;this.ka(fcV(this.xa,this,a,"fc-opensocial-api"))};fc9[fc].ub=fc9[fc].$;fc9[fc].qb=function(a){var b={};b.site=this.openSocialSiteId;b["view-params"]={txnId:a};this.xa(b,"gfc-"+a)};
fc9[fc].Eb=function(a){var b={};for(var c in this.i){var d=this.i[c];if(d.viewParams&&d.viewParams.txnId==a)break;else b[c]=d}this.i=b;(a=fck[fcx]("gfc-"+a))&&a[fcO]&&a[fcO].removeChild&&a[fcO].removeChild(a)};fc9[fc].db=function(){return"<Templates xmlns:fc='http://www.google.com/friendconnect/makeThisReal'>  <Namespace prefix='fc' url='http://www.google.com/friendconnect/makeThisReal'/>  <Template tag='fc:signIn'>    <div onAttach='google.friendconnect.renderSignInButton({element: this})'></div>  </Template></Templates>"};
fc9[fc].jb=function(){return"<Templates xmlns:os='http://ns.opensocial.org/2008/markup'><Namespace prefix='os' url='http://ns.opensocial.org/2008/markup'/><Template tag='os:Name'>  <span if='${!My.person.profileUrl}'>${My.person.displayName}</span>  <a if='${My.person.profileUrl}' href='${My.person.profileUrl}'>      ${My.person.displayName}</a></Template><Template tag='os:Badge'>  <div><img if='${My.person.thumbnailUrl}' src='${My.person.thumbnailUrl}'/>   <os:Name person='${My.person}'/></div></Template><Template tag='os:PeopleSelector'>  <select onchange='google.friendconnect.PeopleSelectorOnChange(this)' name='${My.inputName}'          multiple='${My.multiple}' x-var='${My.var}' x-max='${My.max}'          x-onselect='${My.onselect}'>    <option repeat='${My.group}' value='${Cur.id}' selected='${Cur.id == My.selected}'>        ${Cur.displayName}    </option>  </select></Template></Templates>"};
var fcwc=function(a){var b;if(a.multiple){b=[];for(var c=0;c<a[fcF][fcr];c++)a[fcF][c].selected&&b[fcq](a[fcF][c].value);c=a.getAttribute("x-max");try{c=1*c}catch(d){c=0}if(c&&b[fcr]>c&&a["x-selected"]){b=a["x-selected"];for(c=0;c<a[fcF][fcr];c++){a[fcF][c].selected=fcd;for(var f=0;f<b[fcr];f++)if(a[fcF][c].value==b[f]){a[fcF][c].selected=fcb;break}}}}else b=a[fcF][a.selectedIndex].value;a["x-selected"]=b;(c=a.getAttribute("x-var"))&&fci.opensocial[fcja]&&fci.opensocial[fcja].getDataContext().putDataSet(c,
b);if(c=a.getAttribute("x-onselect"))if(fci[c]&&typeof fci[c]=="function")fci[c](b);else if(a["x-onselect-fn"])a["x-onselect-fn"][fcM](a);else a["x-onselect-fn"]=new Function(c)};
fc9[fc].xa=function(a,b){fci.opensocial.template.Loader.loadContent(this.jb());fci.opensocial.template.Loader.loadContent(this.db());fci.opensocial[fcja].processDocumentMarkup();var c=fck[fcG]("div");c.id=b;fco(c[fcB],"0px");fcm(c[fcB],"0px");c[fcB].position="absolute";c[fcB].visibility="hidden";fck[fcma][fcp](c);b={};b.url=fcf+"/friendconnect/gadgets/osapi-"+this.apiVersion+".xml";fco(b,0);b.id=c.id;b.site=a.site;b["view-params"]=a["view-params"];this.render(b)};
fc9[fc].Oa=function(){fc5.w=this.f;fc5.openSocialSecurityToken=this.a[0];var a=fc5.openSocialSecurityToken;fci.opensocial[fcja].executeRequests();fci.opensocial.template.process();if(fc5.apiLoadedCallback){a=fcCa(fc5.apiLoadedCallback,a);fcca(a,0)}};fc9[fc].G=function(a){var b=fcc;for(var c in this.i)if(this.i[c].divId==a){b=this.i[c];break}return b};fc9[fc].v=function(a,b){a=this.G(a);var c=fcc;if(a)c=a.v(b);return c};fc9[fc].u=function(a,b){a=this.G(a);var c=fcc;if(a)c=a.u(b);return c};
fc9[fc].Wb=function(a,b){this.O(function(c){var d=fck.createTextNode("Copy & paste this code into your site.");c.getContentElement()[fcp](d);c.getContentElement()[fcp](fck[fcG]("br"));d=fc5.u(a,b);var f=fck[fcG]("textarea");fcn(f,d);f[fcK]("style","width:500px;");c.getContentElement()[fcp](f);c.setVisible(fcb)})};
var fcxc=["ar","dv","fa","iw","he","ku","pa","sd","tk","ug","ur","yi"],fctc=function(a){a=a;var b=fcd;if(a){a=a[fcw]("_")[0];b=fcgb(fcxc,a)}else b=(a=fcTb(fck[fcma],"direction"))&&a=="rtl";return b},fcqc=function(a){var b=this,c=fc$(b.f);c=fc5.s(c);fc5.ha(a,c.communityId,b.callback)};fc9[fc].ha=function(a,b,c){b=b||this.openSocialSiteId;a={keepMax:fcb,presentation:"canvas",url:fcf+"/friendconnect/gadgets/members.xml",site:b,"view-params":{profileId:a}};this.Ga(a,c)};
fc9[fc].fb=function(a){var b=fcc;if((a=this.G(a))&&a.secureToken)b=a.secureToken;return b};fc9[fc].eb=function(a){var b=fcc;if((a=this.G(a))&&a.communityId)b=a.communityId;return b};var fcuc=function(a){fc5.w&&fc4b(fc5.w,a)},fcyc=function(){fc5.signout(fc5.openSocialSiteId)},fczc=function(){fc7b(fc5.w)},fcAc=function(a,b){fc3b(a,b)},fcec=function(){this.l={}};fcec[fc].register=function(){fce.rpc[fcQ]("subscribeEventType",fcBc);fce.rpc[fcQ]("publishEvent",fcfc)};
var fcBc=function(a){var b=fcrc;b.l[a]=b.l[a]||[];a=b.l[a];a[a[fcr]]={frameId:this.f}};fcec[fc].Ha=function(a,b,c){var d=this;d.l[b]=d.l[b]||[];b=d.l[b];b[b[fcr]]={container:a,callback:c}};var fcfc=function(a){var b=fcrc,c=0;if(this.f)c=fc$(this.f);b.l[a]=b.l[a]||[];b=b.l[a];for(var d=0;d<b[fcr];d++)b[d].container?b[d].callback[fcD](b[d].container,a,c):fce.rpc[fcD](b[d].frameId,a,fcc,a,c)},fcrc=new fcec,fc5=new fc9;fc5.ka(fc5.Xa);fcW("google.friendconnect.container",fc5);
fcW("google.friendconnect.container.refreshGadgets",fc5.K);fcW("google.friendconnect.container.setParentUrl",fc5.M);fcW("google.friendconnect.container.setServerBase",fc5.N);fcW("google.friendconnect.container.setServerVersion",fc5.Ub);fcW("google.friendconnect.container.createGadget",fc5.D);fcW("google.friendconnect.container.openLightboxIframe",fc5.ca);fcW("google.friendconnect.container.renderGadget",fc5.z);fcW("google.friendconnect.container.render",fc5.render);
fcW("google.friendconnect.container.goBackToSite",fc5.mb);fcW("google.friendconnect.container.renderMembersGadget",fc5.Ib);fcW("google.friendconnect.container.renderReviewGadget",fc5.Kb);fcW("google.friendconnect.container.renderCommentsGadget",fc5.da);fcW("google.friendconnect.container.renderSignInGadget",fc5.Aa);fcW("google.friendconnect.container.renderFriendBar",fc5.Hb);fcW("google.friendconnect.container.renderSocialBar",fc5.ga);
fcW("google.friendconnect.container.renderCanvasSignInGadget",fc5.Gb);fcW("google.friendconnect.container.renderUrlCanvasGadget",fc5.Lb);fcW("google.friendconnect.container.renderEmbedSignInGadget",fc5.fa);fcW("google.friendconnect.container.renderUrlEmbedGadget",fc5.Ba);fcW("google.friendconnect.container.renderEmbedGadget",fc5.ea);fcW("google.friendconnect.container.renderWallGadget",fc5.Mb);fcW("google.friendconnect.container.renderAdsGadget",fc5.Fb);
fcW("google.friendconnect.container.renderOpenSocialGadget",fc5.Jb);fcW("google.friendconnect.container.setNoCache",fc5.Ea);fcW("google.friendconnect.container.enableProxy",fc5.na);fcW("google.friendconnect.container.setDomain",fc5.Qb);fcW("google.friendconnect.container.setLocale",fc5.Tb);fcW("google.friendconnect.container.loadOpenSocialApi",fc5.ub);fcW("google.friendconnect.container.initOpenSocialApi",fc5.$);fcW("google.friendconnect.container.getOpenSocialApiIframeId",fc5.ib);
fcW("google.friendconnect.container.setApiVersion",fc5.Pb);fcW("google.friendconnect.container.getEmbedUrl",fc5.v);fcW("google.friendconnect.container.getEmbedHtml",fc5.u);fcW("google.friendconnect.container.getGadgetSecurityToken",fc5.fb);fcW("google.friendconnect.container.getGadgetCommunityId",fc5.eb);fcW("google.friendconnect.container.showEmbedDialog",fc5.Wb);fcW("google.friendconnect.container.showMemberProfile",fc5.ha);fcW("google.friendconnect.requestSignIn",fcuc);
fcW("google.friendconnect.requestSignOut",fcyc);fcW("google.friendconnect.requestSettings",fczc);fcW("google.friendconnect.requestInvite",fcAc);fcW("google.friendconnect.renderSignInButton",fcvc);fcW("google.friendconnect.container.invokeOpenSocialApiViaIframe",fc5.qb);fcW("google.friendconnect.container.removeOpenSocialApiViaIframe",fc5.Eb);fcW("google.friendconnect.userAgent.WEBKIT",fc_);fcW("google.friendconnect.userAgent.IE",fcZ);fcW("google.friendconnect.PeopleSelectorOnChange",fcwc);
google.friendconnect.container.setServerBase('http://www.friendconnect.gmodules.com/ps/');google.friendconnect.container.setServerVersion('0.488.5');google.friendconnect.container.setApiVersion('0.8');
google.friendconnect.container.setDomain('http://www.google.com/friendconnect/gadgets/activities.xml', 'http://q8j0igk2u2f6kf7jogh6s66md2d7r154.friendconnect.gmodules.com/ps/');

google.friendconnect.container.setDomain('http://www.google.com/friendconnect/gadgets/ads.xml', 'http://t767uouk8skpac15v8ue0n16regb3m2t.friendconnect.gmodules.com/ps/');

google.friendconnect.container.setDomain('http://www.google.com/friendconnect/gadgets/ask.xml', 'http://uofgf6lm45rimd9jp6hn983ul6n2en81.friendconnect.gmodules.com/ps/');

google.friendconnect.container.setDomain('http://www.google.com/friendconnect/gadgets/friendbar.xml', 'http://p7rjrrl49ose4gob99eonlvp0drmce3d.friendconnect.gmodules.com/ps/');

google.friendconnect.container.setDomain('http://www.google.com/friendconnect/gadgets/content_reveal.xml', 'http://n0mc7q283f00tpk3uifa7sjv4hmrults.friendconnect.gmodules.com/ps/');

google.friendconnect.container.setDomain('http://www.google.com/friendconnect/gadgets/chat.xml', 'http://4mmefl67as0q39gf1o4pnocubqmdgei0.friendconnect.gmodules.com/ps/');

google.friendconnect.container.setDomain('http://www.google.com/friendconnect/gadgets/donate.xml', 'http://7v4nflqvq38notsghmcr5a9t6o9g6kn4.friendconnect.gmodules.com/ps/');

google.friendconnect.container.setDomain('http://www.google.com/friendconnect/gadgets/lamegame.xml', 'http://ffbrstu9puk7qmt45got9mqe5k7ijrs4.friendconnect.gmodules.com/ps/');

google.friendconnect.container.setDomain('http://www.google.com/friendconnect/gadgets/map.xml', 'http://k0dfp8trn0hi5d2spmo7jmc88n6kr1cc.friendconnect.gmodules.com/ps/');

google.friendconnect.container.setDomain('http://www.google.com/friendconnect/gadgets/members.xml', 'http://r1rk9np7bpcsfoeekl0khkd2juj27q3o.friendconnect.gmodules.com/ps/');

google.friendconnect.container.setDomain('http://www.google.com/friendconnect/gadgets/newsletterSubscribe.xml', 'http://k830suiki828goudg9448o6bp0tpu5r3.friendconnect.gmodules.com/ps/');

google.friendconnect.container.setDomain('http://www.google.com/friendconnect/gadgets/poll.xml', 'http://1ivjd75aqp679vbgohjv74tlhn13rgdu.friendconnect.gmodules.com/ps/');

google.friendconnect.container.setDomain('http://www.google.com/friendconnect/gadgets/recommended_pages.xml', 'http://iqavu79a908u5vcecp0pq80hhbhkv33b.friendconnect.gmodules.com/ps/');

google.friendconnect.container.setDomain('http://www.google.com/friendconnect/gadgets/review.xml', 'http://r85jiaoot111joesr8bilfhfeslcc496.friendconnect.gmodules.com/ps/');

google.friendconnect.container.setDomain('http://www.google.com/friendconnect/gadgets/sample.xml', 'http://785aoao97uti9iqffknjp5e0kn2ljlm4.friendconnect.gmodules.com/ps/');

google.friendconnect.container.setDomain('http://www.google.com/friendconnect/gadgets/signin.xml', 'http://8fkcem1ves287v3g5lu9gep1j91p3kk1.friendconnect.gmodules.com/ps/');

google.friendconnect.container.setDomain('http://www.google.com/friendconnect/gadgets/wall.xml', 'http://o29lt44ell30t7ljcdfr8lq2mjakv2co.friendconnect.gmodules.com/ps/');

google.friendconnect.container.setDomain('http://www.google.com/friendconnect/gadgets/osapi-0.8.xml', 'http://mc8tdi0ripmbpds25eboaupdulritrp6.friendconnect.gmodules.com/ps/');
window['__ps_loaded__'] = true; 
 }google.friendconnect_ = google.friendconnect;
if (!window['__fc_os_loaded__']) {var GLOBAL_navigator=navigator,GLOBAL_gadgets=gadgets,GLOBAL_window=window,GLOBAL_Object=Object,GLOBAL_document=document,GLOBAL_google=google;function SETPROP_length(SETPROP_length$a,SETPROP_length$b){return SETPROP_length$a.length=SETPROP_length$b}function SETPROP_prototype(SETPROP_prototype$a,SETPROP_prototype$b){return SETPROP_prototype$a.prototype=SETPROP_prototype$b}
var $$PROP_appendChild="appendChild",$$PROP_push="push",$$PROP_object="object",$$PROP_global="global",$$PROP_length="length",$$PROP_propertyIsEnumerable="propertyIsEnumerable",$$PROP_container="container",$$PROP_prototype="prototype",$$PROP_slice="slice",$$PROP_setTimeout="setTimeout",$$PROP_replace="replace",$$PROP_nodeType="nodeType",$$PROP_data="data",$$PROP_split="split",$$PROP_getElementById="getElementById",$$PROP_charAt="charAt",$$PROP_createTextNode="createTextNode",$$PROP_getData="getData",
$$PROP_value="value",$$PROP_indexOf="indexOf",$$PROP_hasOwnProperty="hasOwnProperty",$$PROP_friendconnect="friendconnect",$$PROP_removeChild="removeChild",$$PROP_call="call",$$PROP_match="match",$$PROP_send="send",$$PROP_remove="remove",$$PROP_getAttribute="getAttribute",$$PROP_createElement="createElement",$$PROP_firstChild="firstChild",$$PROP_setAttribute="setAttribute",$$PROP_substring="substring",$$PROP_cloneNode="cloneNode",$$PROP_util="util",$$PROP_type="type",$$PROP_apply="apply",$$PROP_childNodes=
"childNodes",$$PROP_tagName="tagName",$$PROP_attributes="attributes",$$PROP_removeAttribute="removeAttribute",$$PROP_parentNode="parentNode",$$PROP_nextSibling="nextSibling",$$PROP_join="join",$$PROP_unshift="unshift",$$PROP_getElementsByTagName="getElementsByTagName",$$PROP_execScript="execScript",$$PROP_nodeValue="nodeValue",$$PROP_toLowerCase="toLowerCase",$$PROP_substr="substr",a,goog=goog||{};goog.global=this;goog.DEBUG=true;goog.LOCALE="en";goog.evalWorksForGlobals_=null;goog.provide=function(name){goog.exportPath_(name)};
goog.exportPath_=function(name,opt_object,opt_objectToExportTo){var parts=name[$$PROP_split]("."),cur=opt_objectToExportTo||goog[$$PROP_global];!(parts[0]in cur)&&cur[$$PROP_execScript]&&cur[$$PROP_execScript]("var "+parts[0]);for(var part;parts[$$PROP_length]&&(part=parts.shift());)if(!parts[$$PROP_length]&&goog.isDef(opt_object))cur[part]=opt_object;else cur=cur[part]?cur[part]:(cur[part]={})};
goog.getObjectByName=function(name,opt_obj){for(var parts=name[$$PROP_split]("."),cur=opt_obj||goog[$$PROP_global],part;part=parts.shift();)if(cur[part])cur=cur[part];else return null;return cur};goog.globalize=function(obj,opt_global){var global=opt_global||goog[$$PROP_global];for(var x in obj)global[x]=obj[x]};goog.addDependency=function(){};goog.require=function(){};goog.useStrictRequires=false;goog.basePath="";goog.nullFunction=function(){};goog.identityFunction=function(){return arguments[0]};
goog.abstractMethod=function(){throw Error("unimplemented abstract method");};goog.addSingletonGetter=function(ctor){ctor.getInstance=function(){return ctor.instance_||(ctor.instance_=new ctor)}};
goog.typeOf=function(value){var s=typeof value;if(s=="object")if(value){if(value instanceof Array||!(value instanceof GLOBAL_Object)&&GLOBAL_Object[$$PROP_prototype].toString[$$PROP_call](value)=="[object Array]"||typeof value[$$PROP_length]=="number"&&typeof value.splice!="undefined"&&typeof value[$$PROP_propertyIsEnumerable]!="undefined"&&!value[$$PROP_propertyIsEnumerable]("splice"))return"array";if(!(value instanceof GLOBAL_Object)&&(GLOBAL_Object[$$PROP_prototype].toString[$$PROP_call](value)==
"[object Function]"||typeof value[$$PROP_call]!="undefined"&&typeof value[$$PROP_propertyIsEnumerable]!="undefined"&&!value[$$PROP_propertyIsEnumerable]("call")))return"function"}else return"null";else if(s=="function"&&typeof value[$$PROP_call]=="undefined")return"object";return s};
goog.propertyIsEnumerableCustom_=function(object,propName){if(propName in object)for(var key in object)if(key==propName&&GLOBAL_Object[$$PROP_prototype][$$PROP_hasOwnProperty][$$PROP_call](object,propName))return true;return false};goog.propertyIsEnumerable_=function(object,propName){return object instanceof GLOBAL_Object?GLOBAL_Object[$$PROP_prototype][$$PROP_propertyIsEnumerable][$$PROP_call](object,propName):goog.propertyIsEnumerableCustom_(object,propName)};
goog.isDef=function(val){return val!==undefined};goog.isNull=function(val){return val===null};goog.isDefAndNotNull=function(val){return val!=null};goog.isArray=function(val){return goog.typeOf(val)=="array"};goog.isArrayLike=function(val){var type=goog.typeOf(val);return type=="array"||type=="object"&&typeof val[$$PROP_length]=="number"};goog.isDateLike=function(val){return goog.isObject(val)&&typeof val.getFullYear=="function"};goog.isString=function(val){return typeof val=="string"};
goog.isBoolean=function(val){return typeof val=="boolean"};goog.isNumber=function(val){return typeof val=="number"};goog.isFunction=function(val){return goog.typeOf(val)=="function"};goog.isObject=function(val){var type=goog.typeOf(val);return type=="object"||type=="array"||type=="function"};
goog.getHashCode=function(obj){if(obj[$$PROP_hasOwnProperty]&&obj[$$PROP_hasOwnProperty](goog.HASH_CODE_PROPERTY_))return obj[goog.HASH_CODE_PROPERTY_];obj[goog.HASH_CODE_PROPERTY_]||(obj[goog.HASH_CODE_PROPERTY_]=++goog.hashCodeCounter_);return obj[goog.HASH_CODE_PROPERTY_]};goog.removeHashCode=function(obj){"removeAttribute"in obj&&obj[$$PROP_removeAttribute](goog.HASH_CODE_PROPERTY_);try{delete obj[goog.HASH_CODE_PROPERTY_]}catch(ex){}};
goog.HASH_CODE_PROPERTY_="closure_hashCode_"+Math.floor(Math.random()*2147483648).toString(36);goog.hashCodeCounter_=0;goog.cloneObject=function(proto){var type=goog.typeOf(proto);if(type=="object"||type=="array"){if(proto.clone)return proto.clone[$$PROP_call](proto);var clone=type=="array"?[]:{};for(var key in proto)clone[key]=goog.cloneObject(proto[key]);return clone}return proto};
goog.bind=function(fn,selfObj){var context=selfObj||goog[$$PROP_global];if(arguments[$$PROP_length]>2){var boundArgs=Array[$$PROP_prototype][$$PROP_slice][$$PROP_call](arguments,2);return function(){var newArgs=Array[$$PROP_prototype][$$PROP_slice][$$PROP_call](arguments);Array[$$PROP_prototype][$$PROP_unshift][$$PROP_apply](newArgs,boundArgs);return fn[$$PROP_apply](context,newArgs)}}else return function(){return fn[$$PROP_apply](context,arguments)}};
goog.partial=function(fn){var args=Array[$$PROP_prototype][$$PROP_slice][$$PROP_call](arguments,1);return function(){var newArgs=Array[$$PROP_prototype][$$PROP_slice][$$PROP_call](arguments);newArgs[$$PROP_unshift][$$PROP_apply](newArgs,args);return fn[$$PROP_apply](this,newArgs)}};goog.mixin=function(target,source){for(var x in source)target[x]=source[x]};goog.now=Date.now||function(){return(new Date).getTime()};
goog.globalEval=function(script){if(goog[$$PROP_global][$$PROP_execScript])goog[$$PROP_global][$$PROP_execScript](script,"JavaScript");else if(goog[$$PROP_global].eval){if(goog.evalWorksForGlobals_==null){goog[$$PROP_global].eval("var _et_ = 1;");if(typeof goog[$$PROP_global]._et_!="undefined"){delete goog[$$PROP_global]._et_;goog.evalWorksForGlobals_=true}else goog.evalWorksForGlobals_=false}if(goog.evalWorksForGlobals_)goog[$$PROP_global].eval(script);else{var doc=goog[$$PROP_global].document,scriptElt=
doc[$$PROP_createElement]("script");scriptElt.type="text/javascript";scriptElt.defer=false;scriptElt[$$PROP_appendChild](doc[$$PROP_createTextNode](script));doc.body[$$PROP_appendChild](scriptElt);doc.body[$$PROP_removeChild](scriptElt)}}else throw Error("goog.globalEval not available");};goog.typedef=true;
goog.getCssName=function(className,opt_modifier){var cssName=className+(opt_modifier?"-"+opt_modifier:"");return goog.cssNameMapping_&&cssName in goog.cssNameMapping_?goog.cssNameMapping_[cssName]:cssName};goog.setCssNameMapping=function(mapping){goog.cssNameMapping_=mapping};goog.getMsg=function(str,opt_values){var values=opt_values||{};for(var key in values)str=str[$$PROP_replace](new RegExp("\\{\\$"+key+"\\}","gi"),values[key]);return str};
goog.exportSymbol=function(publicPath,object,opt_objectToExportTo){goog.exportPath_(publicPath,object,opt_objectToExportTo)};goog.exportProperty=function(object,publicName,symbol){object[publicName]=symbol};goog.inherits=function(childCtor,parentCtor){function tempCtor(){}SETPROP_prototype(tempCtor,parentCtor[$$PROP_prototype]);childCtor.superClass_=parentCtor[$$PROP_prototype];SETPROP_prototype(childCtor,new tempCtor);childCtor[$$PROP_prototype].constructor=childCtor};
goog.MODIFY_FUNCTION_PROTOTYPES=true;
if(goog.MODIFY_FUNCTION_PROTOTYPES){Function[$$PROP_prototype].bind=function(selfObj){if(arguments[$$PROP_length]>1){var args=Array[$$PROP_prototype][$$PROP_slice][$$PROP_call](arguments,1);args[$$PROP_unshift](this,selfObj);return goog.bind[$$PROP_apply](null,args)}else return goog.bind(this,selfObj)};Function[$$PROP_prototype].partial=function(){var args=Array[$$PROP_prototype][$$PROP_slice][$$PROP_call](arguments);args[$$PROP_unshift](this,null);return goog.bind[$$PROP_apply](null,args)};Function[$$PROP_prototype].inherits=
function(parentCtor){goog.inherits(this,parentCtor)};Function[$$PROP_prototype].mixin=function(source){goog.mixin(this[$$PROP_prototype],source)}};goog.peoplesense={};goog.peoplesense.PeopleSenseContainer=function(){};goog.peoplesense.PeopleSenseContainer[$$PROP_prototype].openLightboxIframe=function(){};goog.peoplesense.PeopleSenseContainer[$$PROP_prototype].showMemberProfile=function(){};goog.peoplesense.PeopleSenseContainerImpl=null;goog.peoplesense.DirectPeopleSenseContainer=function(){goog.peoplesense.PeopleSenseContainer[$$PROP_call](this)};
goog.peoplesense.DirectPeopleSenseContainer[$$PROP_prototype].openLightboxIframe=function(url,opt_width,opt_height,opt_title,opt_additionalPostBodyParams,opt_noDoubleIframe,opt_noIncludeFcAuth,opt_callback){var communityId=null;GLOBAL_window.google[$$PROP_friendconnect][$$PROP_container].openLightboxIframe(url,null,opt_width,opt_height,opt_title,opt_additionalPostBodyParams,communityId,opt_noDoubleIframe,opt_noIncludeFcAuth,opt_callback)};
goog.peoplesense.DirectPeopleSenseContainer[$$PROP_prototype].showMemberProfile=function(profileId,opt_siteId,opt_callback){GLOBAL_window.google[$$PROP_friendconnect][$$PROP_container].showMemberProfile(profileId,opt_siteId,opt_callback)};goog.peoplesense.PeopleSenseContainerImpl=new goog.peoplesense.DirectPeopleSenseContainer;goog.object={};goog[$$PROP_object].forEach=function(obj,f,opt_obj){for(var key in obj)f[$$PROP_call](opt_obj,obj[key],key,obj)};goog[$$PROP_object].filter=function(obj,f,opt_obj){var res={};for(var key in obj)if(f[$$PROP_call](opt_obj,obj[key],key,obj))res[key]=obj[key];return res};goog[$$PROP_object].map=function(obj,f,opt_obj){var res={};for(var key in obj)res[key]=f[$$PROP_call](opt_obj,obj[key],key,obj);return res};
goog[$$PROP_object].some=function(obj,f,opt_obj){for(var key in obj)if(f[$$PROP_call](opt_obj,obj[key],key,obj))return true;return false};goog[$$PROP_object].every=function(obj,f,opt_obj){for(var key in obj)if(!f[$$PROP_call](opt_obj,obj[key],key,obj))return false;return true};goog[$$PROP_object].getCount=function(obj){var rv=0;for(var key in obj)rv++;return rv};goog[$$PROP_object].getAnyKey=function(obj){for(var key in obj)return key};goog[$$PROP_object].getAnyValue=function(obj){for(var key in obj)return obj[key]};
goog[$$PROP_object].contains=function(obj,val){return goog[$$PROP_object].containsValue(obj,val)};goog[$$PROP_object].getValues=function(obj){var res=[],i=0;for(var key in obj)res[i++]=obj[key];return res};goog[$$PROP_object].getKeys=function(obj){var res=[],i=0;for(var key in obj)res[i++]=key;return res};goog[$$PROP_object].containsKey=function(obj,key){return key in obj};goog[$$PROP_object].containsValue=function(obj,val){for(var key in obj)if(obj[key]==val)return true;return false};
goog[$$PROP_object].findKey=function(obj,f,opt_this){for(var key in obj)if(f[$$PROP_call](opt_this,obj[key],key,obj))return key;return undefined};goog[$$PROP_object].findValue=function(obj,f,opt_this){var key=goog[$$PROP_object].findKey(obj,f,opt_this);return key&&obj[key]};goog[$$PROP_object].isEmpty=function(obj){for(var key in obj)return false;return true};
goog[$$PROP_object].clear=function(obj){for(var keys=goog[$$PROP_object].getKeys(obj),i=keys[$$PROP_length]-1;i>=0;i--)goog[$$PROP_object][$$PROP_remove](obj,keys[i])};goog[$$PROP_object].remove=function(obj,key){var rv;if(rv=key in obj)delete obj[key];return rv};goog[$$PROP_object].add=function(obj,key,val){if(key in obj)throw Error('The object already contains the key "'+key+'"');goog[$$PROP_object].set(obj,key,val)};
goog[$$PROP_object].get=function(obj,key,opt_val){if(key in obj)return obj[key];return opt_val};goog[$$PROP_object].set=function(obj,key,value){obj[key]=value};goog[$$PROP_object].setIfUndefined=function(obj,key,value){return key in obj?obj[key]:(obj[key]=value)};goog[$$PROP_object].clone=function(obj){var res={};for(var key in obj)res[key]=obj[key];return res};goog[$$PROP_object].transpose=function(obj){var transposed={};for(var key in obj)transposed[obj[key]]=key;return transposed};
goog[$$PROP_object].PROTOTYPE_FIELDS_=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"];
goog[$$PROP_object].extend=function(target){for(var key,source,i=1;i<arguments[$$PROP_length];i++){source=arguments[i];for(key in source)target[key]=source[key];for(var j=0;j<goog[$$PROP_object].PROTOTYPE_FIELDS_[$$PROP_length];j++){key=goog[$$PROP_object].PROTOTYPE_FIELDS_[j];if(GLOBAL_Object[$$PROP_prototype][$$PROP_hasOwnProperty][$$PROP_call](source,key))target[key]=source[key]}}};
goog[$$PROP_object].create=function(){var argLength=arguments[$$PROP_length];if(argLength==1&&goog.isArray(arguments[0]))return goog[$$PROP_object].create[$$PROP_apply](null,arguments[0]);if(argLength%2)throw Error("Uneven number of arguments");for(var rv={},i=0;i<argLength;i+=2)rv[arguments[i]]=arguments[i+1];return rv};
goog[$$PROP_object].createSet=function(){var argLength=arguments[$$PROP_length];if(argLength==1&&goog.isArray(arguments[0]))return goog[$$PROP_object].createSet[$$PROP_apply](null,arguments[0]);for(var rv={},i=0;i<argLength;i++)rv[arguments[i]]=true;return rv};var shindig=shindig||{};shindig.auth={getSecurityToken:function(){return GLOBAL_google[$$PROP_friendconnect][$$PROP_container].openSocialSecurityToken}};var opensocial=opensocial||{};opensocial.requestSendMessage=function(recipients,message,opt_callback,opt_params){opensocial.Container.get().requestSendMessage(recipients,message,opt_callback,opt_params)};opensocial.requestShareApp=function(recipients,reason,opt_callback,opt_params){opensocial.Container.get().requestShareApp(recipients,reason,opt_callback,opt_params)};
opensocial.requestCreateActivity=function(activity,priority,opt_callback){if(!activity||!activity.getField(opensocial.Activity.Field.TITLE)&&!activity.getField(opensocial.Activity.Field.TITLE_ID))opt_callback&&GLOBAL_window[$$PROP_setTimeout](function(){opt_callback(new opensocial.ResponseItem(null,null,opensocial.ResponseItem.Error.BAD_REQUEST,"You must pass in an activity with a title or title id."))},0);else opensocial.Container.get().requestCreateActivity(activity,priority,opt_callback)};
opensocial.CreateActivityPriority={HIGH:"HIGH",LOW:"LOW"};opensocial.hasPermission=function(permission){return opensocial.Container.get().hasPermission(permission)};opensocial.requestPermission=function(permissions,reason,opt_callback){opensocial.Container.get().requestPermission(permissions,reason,opt_callback)};opensocial.Permission={VIEWER:"viewer"};opensocial.getEnvironment=function(){return opensocial.Container.get().getEnvironment()};opensocial.newDataRequest=function(){return opensocial.Container.get().newDataRequest()};
opensocial.newActivity=function(params){return opensocial.Container.get().newActivity(params)};opensocial.newMediaItem=function(mimeType,url,opt_params){return opensocial.Container.get().newMediaItem(mimeType,url,opt_params)};opensocial.newMessage=function(body,opt_params){return opensocial.Container.get().newMessage(body,opt_params)};opensocial.EscapeType={HTML_ESCAPE:"htmlEscape",NONE:"none"};opensocial.newIdSpec=function(params){return opensocial.Container.get().newIdSpec(params)};
opensocial.newNavigationParameters=function(params){return opensocial.Container.get().newNavigationParameters(params)};Function[$$PROP_prototype].inherits=function(parentCtor){function tempCtor(){}SETPROP_prototype(tempCtor,parentCtor[$$PROP_prototype]);this.superClass_=parentCtor[$$PROP_prototype];SETPROP_prototype(this,new tempCtor);this[$$PROP_prototype].constructor=this};opensocial.Activity=function(params){this.fields_=params};
opensocial.Activity.Field={TITLE_ID:"titleId",TITLE:"title",TEMPLATE_PARAMS:"templateParams",URL:"url",MEDIA_ITEMS:"mediaItems",BODY_ID:"bodyId",BODY:"body",EXTERNAL_ID:"externalId",STREAM_TITLE:"streamTitle",STREAM_URL:"streamUrl",STREAM_SOURCE_URL:"streamSourceUrl",STREAM_FAVICON_URL:"streamFaviconUrl",PRIORITY:"priority",ID:"id",USER_ID:"userId",APP_ID:"appId",POSTED_TIME:"postedTime"};opensocial.Activity[$$PROP_prototype].getId=function(){return this.getField(opensocial.Activity.Field.ID)};
opensocial.Activity[$$PROP_prototype].getField=function(key,opt_params){return opensocial.Container.getField(this.fields_,key,opt_params)};opensocial.Activity[$$PROP_prototype].setField=function(key,data){return this.fields_[key]=data};opensocial.Address=function(opt_params){this.fields_=opt_params||{}};
opensocial.Address.Field={TYPE:"type",UNSTRUCTURED_ADDRESS:"unstructuredAddress",PO_BOX:"poBox",STREET_ADDRESS:"streetAddress",EXTENDED_ADDRESS:"extendedAddress",REGION:"region",LOCALITY:"locality",POSTAL_CODE:"postalCode",COUNTRY:"country",LATITUDE:"latitude",LONGITUDE:"longitude"};opensocial.Address[$$PROP_prototype].getField=function(key,opt_params){return opensocial.Container.getField(this.fields_,key,opt_params)};opensocial.BodyType=function(opt_params){this.fields_=opt_params||{}};
opensocial.BodyType.Field={BUILD:"build",HEIGHT:"height",WEIGHT:"weight",EYE_COLOR:"eyeColor",HAIR_COLOR:"hairColor"};opensocial.BodyType[$$PROP_prototype].getField=function(key,opt_params){return opensocial.Container.getField(this.fields_,key,opt_params)};opensocial.Collection=function(array,opt_offset,opt_totalSize){this.array_=array||[];this.offset_=opt_offset||0;this.totalSize_=opt_totalSize||this.array_[$$PROP_length]};a=opensocial.Collection[$$PROP_prototype];
a.getById=function(id){for(var i=0;i<this.size();i++){var item=this.array_[i];if(item.getId()==id)return item}return null};a.size=function(){return this.array_[$$PROP_length]};a.each=function(fn){for(var i=0;i<this.size();i++)fn(this.array_[i])};a.asArray=function(){return this.array_};a.getTotalSize=function(){return this.totalSize_};a.getOffset=function(){return this.offset_};opensocial.Container=function(){};opensocial.Container.container_=null;
opensocial.Container.setContainer=function(container){opensocial.Container.container_=container};opensocial.Container.get=function(){return opensocial.Container.container_};a=opensocial.Container[$$PROP_prototype];a.getEnvironment=function(){};a.requestSendMessage=function(recipients,message,opt_callback){opt_callback&&GLOBAL_window[$$PROP_setTimeout](function(){opt_callback(new opensocial.ResponseItem(null,null,opensocial.ResponseItem.Error.NOT_IMPLEMENTED,null))},0)};
a.requestShareApp=function(recipients,reason,opt_callback){opt_callback&&GLOBAL_window[$$PROP_setTimeout](function(){opt_callback(new opensocial.ResponseItem(null,null,opensocial.ResponseItem.Error.NOT_IMPLEMENTED,null))},0)};a.requestCreateActivity=function(activity,priority,opt_callback){opt_callback&&GLOBAL_window[$$PROP_setTimeout](function(){opt_callback(new opensocial.ResponseItem(null,null,opensocial.ResponseItem.Error.NOT_IMPLEMENTED,null))},0)};a.hasPermission=function(){return false};
a.requestPermission=function(permissions,reason,opt_callback){opt_callback&&GLOBAL_window[$$PROP_setTimeout](function(){opt_callback(new opensocial.ResponseItem(null,null,opensocial.ResponseItem.Error.NOT_IMPLEMENTED,null))},0)};a.requestData=function(){};a.newFetchPersonRequest=function(){};a.newFetchPeopleRequest=function(){};a.newFetchPersonAppDataRequest=function(){};a.newUpdatePersonAppDataRequest=function(){};a.newRemovePersonAppDataRequest=function(){};a.newFetchActivitiesRequest=function(){};
a.newCollection=function(array,opt_offset,opt_totalSize){return new opensocial.Collection(array,opt_offset,opt_totalSize)};a.newPerson=function(opt_params,opt_isOwner,opt_isViewer){return new opensocial.Person(opt_params,opt_isOwner,opt_isViewer)};a.newActivity=function(opt_params){return new opensocial.Activity(opt_params)};a.newMediaItem=function(mimeType,url,opt_params){return new opensocial.MediaItem(mimeType,url,opt_params)};
a.newMessage=function(body,opt_params){return new opensocial.Message(body,opt_params)};a.newIdSpec=function(params){return new opensocial.IdSpec(params)};a.newNavigationParameters=function(params){return new opensocial.NavigationParameters(params)};a.newResponseItem=function(originalDataRequest,data,opt_errorCode,opt_errorMessage){return new opensocial.ResponseItem(originalDataRequest,data,opt_errorCode,opt_errorMessage)};
a.newDataResponse=function(responseItems,opt_globalError){return new opensocial.DataResponse(responseItems,opt_globalError)};a.newDataRequest=function(){return new opensocial.DataRequest};a.newEnvironment=function(domain,supportedFields){return new opensocial.Environment(domain,supportedFields)};opensocial.Container.isArray=function(val){return val instanceof Array};
opensocial.Container.getField=function(fields,key,opt_params){var value=fields[key];return opensocial.Container.escape(value,opt_params,false)};opensocial.Container.escape=function(value,opt_params,opt_escapeObjects){return opt_params&&opt_params.escapeType=="none"?value:GLOBAL_gadgets[$$PROP_util].escape(value,opt_escapeObjects)};opensocial.DataRequest=function(){this.requestObjects_=[]};opensocial.DataRequest[$$PROP_prototype].requestObjects_=null;
opensocial.DataRequest[$$PROP_prototype].getRequestObjects=function(){return this.requestObjects_};opensocial.DataRequest[$$PROP_prototype].add=function(request,opt_key){return this.requestObjects_[$$PROP_push]({key:opt_key,request:request})};opensocial.DataRequest[$$PROP_prototype].send=function(opt_callback){var callback=opt_callback||function(){};opensocial.Container.get().requestData(this,callback)};opensocial.DataRequest.SortOrder={TOP_FRIENDS:"topFriends",NAME:"name"};
opensocial.DataRequest.FilterType={ALL:"all",HAS_APP:"hasApp",TOP_FRIENDS:"topFriends",IS_FRIENDS_WITH:"isFriendsWith"};opensocial.DataRequest.PeopleRequestFields={PROFILE_DETAILS:"profileDetail",SORT_ORDER:"sortOrder",FILTER:"filter",FILTER_OPTIONS:"filterOptions",FIRST:"first",MAX:"max"};a=opensocial.DataRequest[$$PROP_prototype];a.addDefaultParam=function(params,name,defaultValue){params[name]=params[name]||defaultValue};
a.addDefaultProfileFields=function(params){var fields=opensocial.DataRequest.PeopleRequestFields,profileFields=params[fields.PROFILE_DETAILS]||[];params[fields.PROFILE_DETAILS]=profileFields.concat([opensocial.Person.Field.ID,opensocial.Person.Field.NAME,opensocial.Person.Field.THUMBNAIL_URL])};a.asArray=function(keys){return opensocial.Container.isArray(keys)?keys:[keys]};
a.newFetchPersonRequest=function(id,opt_params){opt_params=opt_params||{};this.addDefaultProfileFields(opt_params);return opensocial.Container.get().newFetchPersonRequest(id,opt_params)};
a.newFetchPeopleRequest=function(idSpec,opt_params){opt_params=opt_params||{};var fields=opensocial.DataRequest.PeopleRequestFields;this.addDefaultProfileFields(opt_params);this.addDefaultParam(opt_params,fields.SORT_ORDER,opensocial.DataRequest.SortOrder.TOP_FRIENDS);this.addDefaultParam(opt_params,fields.FILTER,opensocial.DataRequest.FilterType.ALL);this.addDefaultParam(opt_params,fields.FIRST,0);this.addDefaultParam(opt_params,fields.MAX,20);return opensocial.Container.get().newFetchPeopleRequest(idSpec,
opt_params)};opensocial.DataRequest.DataRequestFields={ESCAPE_TYPE:"escapeType"};opensocial.DataRequest[$$PROP_prototype].newFetchPersonAppDataRequest=function(idSpec,keys,opt_params){return opensocial.Container.get().newFetchPersonAppDataRequest(idSpec,this.asArray(keys),opt_params)};opensocial.DataRequest[$$PROP_prototype].newUpdatePersonAppDataRequest=function(id,key,value){return opensocial.Container.get().newUpdatePersonAppDataRequest(id,key,value)};
opensocial.DataRequest[$$PROP_prototype].newRemovePersonAppDataRequest=function(id,keys){return opensocial.Container.get().newRemovePersonAppDataRequest(id,keys)};opensocial.DataRequest.ActivityRequestFields={APP_ID:"appId"};opensocial.DataRequest[$$PROP_prototype].newFetchActivitiesRequest=function(idSpec,opt_params){opt_params=opt_params||{};return opensocial.Container.get().newFetchActivitiesRequest(idSpec,opt_params)};
opensocial.DataResponse=function(responseItems,opt_globalError,opt_errorMessage){this.responseItems_=responseItems;this.globalError_=opt_globalError;this.errorMessage_=opt_errorMessage};opensocial.DataResponse[$$PROP_prototype].hadError=function(){return!!this.globalError_};opensocial.DataResponse[$$PROP_prototype].getErrorMessage=function(){return this.errorMessage_};opensocial.DataResponse[$$PROP_prototype].get=function(key){return this.responseItems_[key]};
opensocial.Email=function(opt_params){this.fields_=opt_params||{}};opensocial.Email.Field={TYPE:"type",ADDRESS:"address"};opensocial.Email[$$PROP_prototype].getField=function(key,opt_params){return opensocial.Container.getField(this.fields_,key,opt_params)};opensocial.Enum=function(key,displayValue){this.key=key;this.displayValue=displayValue};opensocial.Enum[$$PROP_prototype].getKey=function(){return GLOBAL_gadgets[$$PROP_util].escape(this.key)};
opensocial.Enum[$$PROP_prototype].getDisplayValue=function(){return GLOBAL_gadgets[$$PROP_util].escape(this.displayValue)};opensocial.Enum.Smoker={NO:"NO",YES:"YES",SOCIALLY:"SOCIALLY",OCCASIONALLY:"OCCASIONALLY",REGULARLY:"REGULARLY",HEAVILY:"HEAVILY",QUITTING:"QUITTING",QUIT:"QUIT"};opensocial.Enum.Drinker={NO:"NO",YES:"YES",SOCIALLY:"SOCIALLY",OCCASIONALLY:"OCCASIONALLY",REGULARLY:"REGULARLY",HEAVILY:"HEAVILY",QUITTING:"QUITTING",QUIT:"QUIT"};opensocial.Enum.Gender={MALE:"MALE",FEMALE:"FEMALE"};
opensocial.Enum.LookingFor={DATING:"DATING",FRIENDS:"FRIENDS",RELATIONSHIP:"RELATIONSHIP",NETWORKING:"NETWORKING",ACTIVITY_PARTNERS:"ACTIVITY_PARTNERS",RANDOM:"RANDOM"};opensocial.Enum.Presence={AWAY:"AWAY",CHAT:"CHAT",DND:"DND",OFFLINE:"OFFLINE",ONLINE:"ONLINE",XA:"XA"};opensocial.Environment=function(domain,supportedFields){this.domain=domain;this.supportedFields=supportedFields};opensocial.Environment[$$PROP_prototype].getDomain=function(){return this.domain};
opensocial.Environment.ObjectType={PERSON:"person",ADDRESS:"address",BODY_TYPE:"bodyType",EMAIL:"email",NAME:"name",ORGANIZATION:"organization",PHONE:"phone",URL:"url",ACTIVITY:"activity",MEDIA_ITEM:"mediaItem",MESSAGE:"message",MESSAGE_TYPE:"messageType",SORT_ORDER:"sortOrder",FILTER_TYPE:"filterType"};opensocial.Environment[$$PROP_prototype].supportsField=function(objectType,fieldName){var supportedObjectFields=this.supportedFields[objectType]||[];return!!supportedObjectFields[fieldName]};
opensocial.IdSpec=function(opt_params){this.fields_=opt_params||{}};opensocial.IdSpec.Field={USER_ID:"userId",GROUP_ID:"groupId",NETWORK_DISTANCE:"networkDistance"};opensocial.IdSpec.PersonId={OWNER:"OWNER",VIEWER:"VIEWER"};opensocial.IdSpec.GroupId={SELF:"SELF",FRIENDS:"FRIENDS",ALL:"ALL"};opensocial.IdSpec[$$PROP_prototype].getField=function(key,opt_params){return opensocial.Container.getField(this.fields_,key,opt_params)};
opensocial.IdSpec[$$PROP_prototype].setField=function(key,data){return this.fields_[key]=data};opensocial.MediaItem=function(mimeType,url,opt_params){this.fields_=opt_params||{};this.fields_[opensocial.MediaItem.Field.MIME_TYPE]=mimeType;this.fields_[opensocial.MediaItem.Field.URL]=url};opensocial.MediaItem.Type={IMAGE:"image",VIDEO:"video",AUDIO:"audio"};opensocial.MediaItem.Field={TYPE:"type",MIME_TYPE:"mimeType",URL:"url"};
opensocial.MediaItem[$$PROP_prototype].getField=function(key,opt_params){return opensocial.Container.getField(this.fields_,key,opt_params)};opensocial.MediaItem[$$PROP_prototype].setField=function(key,data){return this.fields_[key]=data};opensocial.Message=function(body,opt_params){this.fields_=opt_params||{};this.fields_[opensocial.Message.Field.BODY]=body};opensocial.Message.Field={TYPE:"type",TITLE:"title",BODY:"body",TITLE_ID:"titleId",BODY_ID:"bodyId"};
opensocial.Message.Type={EMAIL:"email",NOTIFICATION:"notification",PRIVATE_MESSAGE:"privateMessage",PUBLIC_MESSAGE:"publicMessage"};opensocial.Message[$$PROP_prototype].getField=function(key,opt_params){return opensocial.Container.getField(this.fields_,key,opt_params)};opensocial.Message[$$PROP_prototype].setField=function(key,data){return this.fields_[key]=data};opensocial.Name=function(opt_params){this.fields_=opt_params||{}};
opensocial.Name.Field={FAMILY_NAME:"familyName",GIVEN_NAME:"givenName",ADDITIONAL_NAME:"additionalName",HONORIFIC_PREFIX:"honorificPrefix",HONORIFIC_SUFFIX:"honorificSuffix",UNSTRUCTURED:"unstructured"};opensocial.Name[$$PROP_prototype].getField=function(key,opt_params){return opensocial.Container.getField(this.fields_,key,opt_params)};opensocial.NavigationParameters=function(opt_params){this.fields_=opt_params||{}};opensocial.NavigationParameters.Field={VIEW:"view",OWNER:"owner",PARAMETERS:"parameters"};
opensocial.NavigationParameters[$$PROP_prototype].getField=function(key,opt_params){return opensocial.Container.getField(this.fields_,key,opt_params)};opensocial.NavigationParameters[$$PROP_prototype].setField=function(key,data){return this.fields_[key]=data};opensocial.NavigationParameters.DestinationType={VIEWER_DESTINATION:"viewerDestination",RECIPIENT_DESTINATION:"recipientDestination"};opensocial.Organization=function(opt_params){this.fields_=opt_params||{}};
opensocial.Organization.Field={NAME:"name",TITLE:"title",DESCRIPTION:"description",FIELD:"field",SUB_FIELD:"subField",START_DATE:"startDate",END_DATE:"endDate",SALARY:"salary",ADDRESS:"address",WEBPAGE:"webpage"};opensocial.Organization[$$PROP_prototype].getField=function(key,opt_params){return opensocial.Container.getField(this.fields_,key,opt_params)};opensocial.Person=function(opt_params,opt_isOwner,opt_isViewer){this.fields_=opt_params||{};this.isOwner_=opt_isOwner;this.isViewer_=opt_isViewer};
opensocial.Person.Field={ID:"id",NAME:"name",NICKNAME:"nickname",THUMBNAIL_URL:"thumbnailUrl",PROFILE_URL:"profileUrl",CURRENT_LOCATION:"currentLocation",ADDRESSES:"addresses",EMAILS:"emails",PHONE_NUMBERS:"phoneNumbers",ABOUT_ME:"aboutMe",STATUS:"status",PROFILE_SONG:"profileSong",PROFILE_VIDEO:"profileVideo",GENDER:"gender",SEXUAL_ORIENTATION:"sexualOrientation",RELATIONSHIP_STATUS:"relationshipStatus",AGE:"age",DATE_OF_BIRTH:"dateOfBirth",BODY_TYPE:"bodyType",ETHNICITY:"ethnicity",SMOKER:"smoker",
DRINKER:"drinker",CHILDREN:"children",PETS:"pets",LIVING_ARRANGEMENT:"livingArrangement",TIME_ZONE:"timeZone",LANGUAGES_SPOKEN:"languagesSpoken",JOBS:"jobs",JOB_INTERESTS:"jobInterests",SCHOOLS:"schools",INTERESTS:"interests",URLS:"urls",MUSIC:"music",MOVIES:"movies",TV_SHOWS:"tvShows",BOOKS:"books",ACTIVITIES:"activities",SPORTS:"sports",HEROES:"heroes",QUOTES:"quotes",CARS:"cars",FOOD:"food",TURN_ONS:"turnOns",TURN_OFFS:"turnOffs",TAGS:"tags",ROMANCE:"romance",SCARED_OF:"scaredOf",HAPPIEST_WHEN:"happiestWhen",
FASHION:"fashion",HUMOR:"humor",LOOKING_FOR:"lookingFor",RELIGION:"religion",POLITICAL_VIEWS:"politicalViews",HAS_APP:"hasApp",NETWORK_PRESENCE:"networkPresence"};opensocial.Person[$$PROP_prototype].getId=function(){return this.getField(opensocial.Person.Field.ID)};var ORDERED_NAME_FIELDS_=[opensocial.Name.Field.HONORIFIC_PREFIX,opensocial.Name.Field.GIVEN_NAME,opensocial.Name.Field.FAMILY_NAME,opensocial.Name.Field.HONORIFIC_SUFFIX,opensocial.Name.Field.ADDITIONAL_NAME];
opensocial.Person[$$PROP_prototype].getDisplayName=function(){var name=this.getField(opensocial.Person.Field.NAME);if(name){var unstructured=name.getField(opensocial.Name.Field.UNSTRUCTURED);if(unstructured)return unstructured;for(var fullName="",i=0;i<ORDERED_NAME_FIELDS_[$$PROP_length];i++){var nameValue=name.getField(ORDERED_NAME_FIELDS_[i]);if(nameValue)fullName+=nameValue+" "}return fullName[$$PROP_replace](/^\s+|\s+$/g,"")}return this.getField(opensocial.Person.Field.NICKNAME)};
opensocial.Person[$$PROP_prototype].getField=function(key,opt_params){return opensocial.Container.getField(this.fields_,key,opt_params)};opensocial.Person[$$PROP_prototype].isViewer=function(){return!!this.isViewer_};opensocial.Person[$$PROP_prototype].isOwner=function(){return!!this.isOwner_};opensocial.Phone=function(opt_params){this.fields_=opt_params||{}};opensocial.Phone.Field={TYPE:"type",NUMBER:"number"};
opensocial.Phone[$$PROP_prototype].getField=function(key,opt_params){return opensocial.Container.getField(this.fields_,key,opt_params)};opensocial.ResponseItem=function(originalDataRequest,data,opt_errorCode,opt_errorMessage){this.originalDataRequest_=originalDataRequest;this.data_=data;this.errorCode_=opt_errorCode;this.errorMessage_=opt_errorMessage};opensocial.ResponseItem[$$PROP_prototype].hadError=function(){return!!this.errorCode_};
opensocial.ResponseItem.Error={NOT_IMPLEMENTED:"notImplemented",UNAUTHORIZED:"unauthorized",FORBIDDEN:"forbidden",BAD_REQUEST:"badRequest",INTERNAL_ERROR:"internalError",LIMIT_EXCEEDED:"limitExceeded"};opensocial.ResponseItem[$$PROP_prototype].getErrorCode=function(){return this.errorCode_};opensocial.ResponseItem[$$PROP_prototype].getErrorMessage=function(){return this.errorMessage_};opensocial.ResponseItem[$$PROP_prototype].getOriginalDataRequest=function(){return this.originalDataRequest_};
opensocial.ResponseItem[$$PROP_prototype].getData=function(){return this.data_};opensocial.Url=function(opt_params){this.fields_=opt_params||{}};opensocial.Url.Field={TYPE:"type",LINK_TEXT:"linkText",ADDRESS:"address"};opensocial.Url[$$PROP_prototype].getField=function(key,opt_params){return opensocial.Container.getField(this.fields_,key,opt_params)};var FieldTranslations={};
FieldTranslations.translateServerPersonToJsPerson=function(serverJson){if(serverJson.emails)for(var i=0;i<serverJson.emails[$$PROP_length];i++)serverJson.emails[i].address=serverJson.emails[i][$$PROP_value];if(serverJson.phoneNumbers)for(var p=0;p<serverJson.phoneNumbers[$$PROP_length];p++)serverJson.phoneNumbers[p].number=serverJson.phoneNumbers[p][$$PROP_value];if(serverJson.birthday)serverJson.dateOfBirth=serverJson.birthday;if(serverJson.utcOffset)serverJson.timeZone=serverJson.utcOffset;if(serverJson.addresses)for(var j=
0;j<serverJson.addresses[$$PROP_length];j++)serverJson.addresses[j].unstructuredAddress=serverJson.addresses[j].formatted;if(serverJson.gender){var key=serverJson.gender=="male"?"MALE":serverJson.gender=="female"?"FEMALE":null;serverJson.gender={key:key,displayValue:serverJson.gender}}FieldTranslations.translateUrlJson(serverJson.profileSong);FieldTranslations.translateUrlJson(serverJson.profileVideo);if(serverJson.urls)for(var u=0;u<serverJson.urls[$$PROP_length];u++)FieldTranslations.translateUrlJson(serverJson.urls[u]);
FieldTranslations.translateEnumJson(serverJson.drinker);FieldTranslations.translateEnumJson(serverJson.lookingFor);FieldTranslations.translateEnumJson(serverJson.networkPresence);FieldTranslations.translateEnumJson(serverJson.smoker);if(serverJson.organizations){serverJson.jobs=[];serverJson.schools=[];for(var o=0;o<serverJson.organizations[$$PROP_length];o++){var org=serverJson.organizations[o];if(org[$$PROP_type]=="job")serverJson.jobs[$$PROP_push](org);else org[$$PROP_type]=="school"&&serverJson.schools[$$PROP_push](org)}}};
FieldTranslations.translateEnumJson=function(enumJson){if(enumJson)enumJson.key=enumJson[$$PROP_value]};FieldTranslations.translateUrlJson=function(urlJson){if(urlJson)urlJson.address=urlJson[$$PROP_value]};FieldTranslations.translateJsPersonFieldsToServerFields=function(fields){for(var i=0;i<fields[$$PROP_length];i++)if(fields[i]=="dateOfBirth")fields[i]="birthday";else if(fields[i]=="timeZone")fields[i]="utcOffset";fields[$$PROP_push]("id");fields[$$PROP_push]("displayName")};
var JsonActivity=function(opt_params,opt_skipConversions){opt_params=opt_params||{};opt_skipConversions||JsonActivity.constructArrayObject(opt_params,"mediaItems",JsonMediaItem);opensocial.Activity[$$PROP_call](this,opt_params)};JsonActivity.inherits(opensocial.Activity);
JsonActivity[$$PROP_prototype].toJsonObject=function(){for(var jsonObject=JsonActivity.copyFields(this.fields_),oldMediaItems=jsonObject.mediaItems||[],newMediaItems=[],i=0;i<oldMediaItems[$$PROP_length];i++)newMediaItems[i]=oldMediaItems[i].toJsonObject();jsonObject.mediaItems=newMediaItems;return jsonObject};var JsonMediaItem=function(opt_params){opensocial.MediaItem[$$PROP_call](this,opt_params.mimeType,opt_params.url,opt_params)};JsonMediaItem.inherits(opensocial.MediaItem);
JsonMediaItem[$$PROP_prototype].toJsonObject=function(){return JsonActivity.copyFields(this.fields_)};JsonActivity.constructArrayObject=function(map,fieldName,className){var fieldValue=map[fieldName];if(fieldValue)for(var i=0;i<fieldValue[$$PROP_length];i++)fieldValue[i]=new className(fieldValue[i])};JsonActivity.copyFields=function(oldObject){var newObject={};for(var field in oldObject)newObject[field]=oldObject[field];return newObject};
var JsonPerson=function(opt_params){opt_params=opt_params||{};JsonPerson.constructObject(opt_params,"bodyType",opensocial.BodyType);JsonPerson.constructObject(opt_params,"currentLocation",opensocial.Address);JsonPerson.constructObject(opt_params,"dateOfBirth",Date);JsonPerson.constructObject(opt_params,"name",opensocial.Name);JsonPerson.constructObject(opt_params,"profileSong",opensocial.Url);JsonPerson.constructObject(opt_params,"profileVideo",opensocial.Url);JsonPerson.constructArrayObject(opt_params,
"addresses",opensocial.Address);JsonPerson.constructArrayObject(opt_params,"emails",opensocial.Email);JsonPerson.constructArrayObject(opt_params,"jobs",opensocial.Organization);JsonPerson.constructArrayObject(opt_params,"phoneNumbers",opensocial.Phone);JsonPerson.constructArrayObject(opt_params,"schools",opensocial.Organization);JsonPerson.constructArrayObject(opt_params,"urls",opensocial.Url);JsonPerson.constructEnum(opt_params,"gender");JsonPerson.constructEnum(opt_params,"smoker");JsonPerson.constructEnum(opt_params,
"drinker");JsonPerson.constructEnum(opt_params,"networkPresence");JsonPerson.constructEnumArray(opt_params,"lookingFor");opensocial.Person[$$PROP_call](this,opt_params,opt_params.isOwner,opt_params.isViewer)};JsonPerson.inherits(opensocial.Person);JsonPerson.constructEnum=function(map,fieldName){var fieldValue=map[fieldName];if(fieldValue)map[fieldName]=new opensocial.Enum(fieldValue.key,fieldValue.displayValue)};
JsonPerson.constructEnumArray=function(map,fieldName){var fieldValue=map[fieldName];if(fieldValue)for(var i=0;i<fieldValue[$$PROP_length];i++)fieldValue[i]=new opensocial.Enum(fieldValue[i].key,fieldValue[i].displayValue)};JsonPerson.constructObject=function(map,fieldName,className){var fieldValue=map[fieldName];if(fieldValue)map[fieldName]=new className(fieldValue)};
JsonPerson.constructArrayObject=function(map,fieldName,className){var fieldValue=map[fieldName];if(fieldValue)for(var i=0;i<fieldValue[$$PROP_length];i++)fieldValue[i]=new className(fieldValue[i])};JsonPerson[$$PROP_prototype].getDisplayName=function(){return this.getField("displayName")};
var JsonRpcContainer=function(baseUrl,domain,supportedFieldsArray){opensocial.Container[$$PROP_call](this);var supportedFieldsMap={};for(var objectType in supportedFieldsArray)if(supportedFieldsArray[$$PROP_hasOwnProperty](objectType)){supportedFieldsMap[objectType]={};for(var i=0;i<supportedFieldsArray[objectType][$$PROP_length];i++){var supportedField=supportedFieldsArray[objectType][i];supportedFieldsMap[objectType][supportedField]=true}}this.environment_=new opensocial.Environment(domain,supportedFieldsMap);
this.baseUrl_=baseUrl;this.securityToken_=shindig.auth.getSecurityToken()};JsonRpcContainer.inherits(opensocial.Container);JsonRpcContainer[$$PROP_prototype].getEnvironment=function(){return this.environment_};JsonRpcContainer[$$PROP_prototype].requestCreateActivity=function(activity,priority,opt_callback){opt_callback=opt_callback||function(){};var req=opensocial.newDataRequest(),viewer=new opensocial.IdSpec({userId:"VIEWER"});req.add(this.newCreateActivityRequest(viewer,activity),"key");req[$$PROP_send](function(response){opt_callback(response.get("key"))})};
JsonRpcContainer[$$PROP_prototype].requestData=function(dataRequest,callback){callback=callback||function(){};var requestObjects=dataRequest.getRequestObjects(),totalRequests=requestObjects[$$PROP_length];if(totalRequests==0)GLOBAL_window[$$PROP_setTimeout](function(){callback(new opensocial.DataResponse({},true))},0);else{for(var jsonBatchData=new Array(totalRequests),j=0;j<totalRequests;j++){var requestObject=requestObjects[j];jsonBatchData[j]=requestObject.request.rpc;if(requestObject.key)jsonBatchData[j].id=
requestObject.key}var sendResponse=function(result){if(result.errors[0])JsonRpcContainer.generateErrorResponse(result,requestObjects,callback);else{result=result[$$PROP_data];for(var globalError=false,responseMap={},i=0;i<result[$$PROP_length];i++)result[result[i].id]=result[i];for(var k=0;k<requestObjects[$$PROP_length];k++){var request=requestObjects[k],response=result[k];if(request.key&&response.id!=request.key)throw"Request key("+request.key+") and response id("+response.id+") do not match";var rawData=
response[$$PROP_data],error=response.error,errorMessage="";if(error)errorMessage=error.message;var processedData=request.request.processResponse(request.request,rawData,error,errorMessage);globalError=globalError||processedData.hadError();if(request.key)responseMap[request.key]=processedData}var dataResponse=new opensocial.DataResponse(responseMap,globalError);callback(dataResponse)}},makeRequestParams={CONTENT_TYPE:"JSON",METHOD:"POST",AUTHORIZATION:"SIGNED",POST_DATA:GLOBAL_gadgets.json.stringify(jsonBatchData)},
url=[this.baseUrl_,"/rpc"],token=shindig.auth.getSecurityToken();token&&url[$$PROP_push]("?st=",encodeURIComponent(token));this.sendRequest(url[$$PROP_join](""),sendResponse,makeRequestParams,"application/json")}};JsonRpcContainer[$$PROP_prototype].sendRequest=function(relativeUrl,callback,params,contentType){GLOBAL_gadgets.io.makeNonProxiedRequest(relativeUrl,callback,params,contentType)};
JsonRpcContainer.generateErrorResponse=function(result,requestObjects,callback){for(var globalErrorCode=JsonRpcContainer.translateHttpError(result.errors[0]||result[$$PROP_data].error)||opensocial.ResponseItem.Error.INTERNAL_ERROR,errorResponseMap={},i=0;i<requestObjects[$$PROP_length];i++)errorResponseMap[requestObjects[i].key]=new opensocial.ResponseItem(requestObjects[i].request,null,globalErrorCode);callback(new opensocial.DataResponse(errorResponseMap,true))};
JsonRpcContainer.translateHttpError=function(httpError){if(httpError=="Error 501")return opensocial.ResponseItem.Error.NOT_IMPLEMENTED;else if(httpError=="Error 401")return opensocial.ResponseItem.Error.UNAUTHORIZED;else if(httpError=="Error 403")return opensocial.ResponseItem.Error.FORBIDDEN;else if(httpError=="Error 400")return opensocial.ResponseItem.Error.BAD_REQUEST;else if(httpError=="Error 500")return opensocial.ResponseItem.Error.INTERNAL_ERROR;else if(httpError=="Error 404")return opensocial.ResponseItem.Error.BAD_REQUEST;
else if(httpError=="Error 417")return opensocial.ResponseItem.Error.LIMIT_EXCEEDED};a=JsonRpcContainer[$$PROP_prototype];a.makeIdSpec=function(id){return new opensocial.IdSpec({userId:id})};
a.translateIdSpec=function(newIdSpec){var userIds=newIdSpec.getField("userId"),groupId=newIdSpec.getField("groupId");opensocial.Container.isArray(userIds)||(userIds=[userIds]);for(var i=0;i<userIds[$$PROP_length];i++)if(userIds[i]=="OWNER")userIds[i]="@owner";else if(userIds[i]=="VIEWER")userIds[i]="@viewer";if(groupId=="FRIENDS")groupId="@friends";else if(groupId=="SELF"||!groupId)groupId="@self";return{userId:userIds,groupId:groupId}};
a.newFetchPersonRequest=function(id,opt_params){var peopleRequest=this.newFetchPeopleRequest(this.makeIdSpec(id),opt_params),me=this;return new JsonRpcRequestItem(peopleRequest.rpc,function(rawJson){return me.createPersonFromJson(rawJson)})};
a.newFetchPeopleRequest=function(idSpec,opt_params){var rpc={method:"people.get"};rpc.params=this.translateIdSpec(idSpec);if(opt_params.profileDetail){FieldTranslations.translateJsPersonFieldsToServerFields(opt_params.profileDetail);rpc.params.fields=opt_params.profileDetail}if(opt_params.first)rpc.params.startIndex=opt_params.first;if(opt_params.max)rpc.params.count=opt_params.max;if(opt_params.sortOrder)rpc.params.sortBy=opt_params.sortOrder;if(opt_params.filter)rpc.params.filterBy=opt_params.filter;
if(idSpec.getField("networkDistance"))rpc.params.networkDistance=idSpec.getField("networkDistance");var me=this;return new JsonRpcRequestItem(rpc,function(rawJson){var jsonPeople;jsonPeople=rawJson.list?rawJson.list:[rawJson];for(var people=[],i=0;i<jsonPeople[$$PROP_length];i++)people[$$PROP_push](me.createPersonFromJson(jsonPeople[i]));return new opensocial.Collection(people,rawJson.startIndex,rawJson.totalResults)})};
a.createPersonFromJson=function(serverJson){FieldTranslations.translateServerPersonToJsPerson(serverJson);return new JsonPerson(serverJson)};a.getFieldsList=function(keys){return this.hasNoKeys(keys)||this.isWildcardKey(keys[0])?[]:keys};a.hasNoKeys=function(keys){return!keys||keys[$$PROP_length]==0};a.isWildcardKey=function(key){return key=="*"};
a.newFetchPersonAppDataRequest=function(idSpec,keys,opt_params){var rpc={method:"appdata.get"};rpc.params=this.translateIdSpec(idSpec);rpc.params.appId="@app";rpc.params.fields=this.getFieldsList(keys);if(idSpec.getField("networkDistance"))rpc.params.networkDistance=idSpec.getField("networkDistance");return new JsonRpcRequestItem(rpc,function(appData){return opensocial.Container.escape(appData,opt_params,true)})};
a.newUpdatePersonAppDataRequest=function(id,key,value){var rpc={method:"appdata.update"};rpc.params=this.translateIdSpec(this.makeIdSpec(id));rpc.params.appId="@app";rpc.params.data={};rpc.params[$$PROP_data][key]=value;rpc.params.fields=key;return new JsonRpcRequestItem(rpc)};a.newRemovePersonAppDataRequest=function(id,keys){var rpc={method:"appdata.delete"};rpc.params=this.translateIdSpec(this.makeIdSpec(id));rpc.params.appId="@app";rpc.params.fields=this.getFieldsList(keys);return new JsonRpcRequestItem(rpc)};
a.newFetchActivitiesRequest=function(idSpec){var rpc={method:"activities.get"};rpc.params=this.translateIdSpec(idSpec);rpc.params.appId="@app";if(idSpec.getField("networkDistance"))rpc.params.networkDistance=idSpec.getField("networkDistance");return new JsonRpcRequestItem(rpc,function(rawJson){rawJson=rawJson.list;for(var activities=[],i=0;i<rawJson[$$PROP_length];i++)activities[$$PROP_push](new JsonActivity(rawJson[i]));return new opensocial.Collection(activities)})};
a.newActivity=function(opt_params){return new JsonActivity(opt_params,true)};a.newMediaItem=function(mimeType,url,opt_params){opt_params=opt_params||{};opt_params.mimeType=mimeType;opt_params.url=url;return new JsonMediaItem(opt_params)};
a.newCreateActivityRequest=function(idSpec,activity){var rpc={method:"activities.create"};rpc.params=this.translateIdSpec(idSpec);rpc.params.appId="@app";if(idSpec.getField("networkDistance"))rpc.params.networkDistance=idSpec.getField("networkDistance");rpc.params.activity=activity.toJsonObject();return new JsonRpcRequestItem(rpc)};
var JsonRpcRequestItem=function(rpc,opt_processData){this.rpc=rpc;this.processData=opt_processData||function(rawJson){return rawJson};this.processResponse=function(originalDataRequest,rawJson,error,errorMessage){var errorCode=error?JsonRpcContainer.translateHttpError("Error "+error.code):null;return new opensocial.ResponseItem(originalDataRequest,error?null:this.processData(rawJson),errorCode,errorMessage)}};JsonRpcContainer.txns={};JsonRpcContainer.doesBrowserNotSupportContainerToGadget=GLOBAL_google[$$PROP_friendconnect].userAgent.WEBKIT&&!(typeof GLOBAL_window.postMessage==="function"||typeof GLOBAL_document.postMessage==="function");
JsonRpcContainer[$$PROP_prototype].sendRequest=function(relativeUrl,callback,params){var txnId=String(Math.round(2147483647*Math.random()));JsonRpcContainer.txns[txnId]={};JsonRpcContainer.txns[txnId].callback=callback;JsonRpcContainer.txns[txnId].result=[];JsonRpcContainer.txns[txnId].done=false;JsonRpcContainer.txns[txnId].total=0;JsonRpcContainer.txns[txnId].POST_DATA=params.POST_DATA;JsonRpcContainer.doesBrowserNotSupportContainerToGadget?GLOBAL_google[$$PROP_friendconnect][$$PROP_container].invokeOpenSocialApiViaIframe(txnId):
GLOBAL_gadgets.rpc[$$PROP_call](GLOBAL_google[$$PROP_friendconnect][$$PROP_container].getOpenSocialApiIframeId(),"FetchOpenSocialData",null,{txn:txnId,POST_DATA:params.POST_DATA})};
JsonRpcContainer.checkIfTxnDoneAndCallCallback_=function(txn){var response=JsonRpcContainer.txns[txn],reallyDone=false;if(response.done){reallyDone=true;for(var i=0;i<response.total;i++)if(typeof response.result[i]=="undefined"){reallyDone=false;break}if(reallyDone){var combinedString=response.result[$$PROP_join](""),result=GLOBAL_gadgets.json.parse(combinedString);response.callback(result);JsonRpcContainer.doesBrowserNotSupportContainerToGadget&&GLOBAL_google[$$PROP_friendconnect][$$PROP_container].removeOpenSocialApiViaIframe(txn);
delete response}}};JsonRpcContainer.processResponseRequest=function(data){var response=JsonRpcContainer.txns[data.txn];if(data.done){response.done=true;response.total=data.total}else response.result[data.index]=data.chunk;JsonRpcContainer.checkIfTxnDoneAndCallCallback_(data.txn)};GLOBAL_gadgets.rpc.register("FetchOpenSocialDataResponse",JsonRpcContainer.processResponseRequest);
JsonRpcContainer.fetchQueuedCommand=function(txnId){var txn=JsonRpcContainer.txns[txnId],txnData=!txn||{txn:txnId,POST_DATA:txn.POST_DATA};return txnData};GLOBAL_gadgets.rpc.register("FetchQueuedCommand",JsonRpcContainer.fetchQueuedCommand);
var supportedFields={name:["unstructured","familyName","givenName","additionalName","honorificPrefix","honorificSuffix"],person:["id","name","thumbnailUrl","nickname","profileUrl"],activity:["id","externalId","userId","appId","streamTitle","streamUrl","streamSourceUrl","streamFaviconUrl","title","body","url","mediaItems","postedTime"],activityMediaItem:["type","mimeType","url"],sortOrder:["name"],filterType:["all","hasApp"]};
opensocial.Container.setContainer(new JsonRpcContainer("friendconnect.google.com","friendconnect.google.com",supportedFields));opensocial.xmlutil=opensocial.xmlutil||{};opensocial.xmlutil.parser_=null;
opensocial.xmlutil.parseXML=function(str){if(typeof DOMParser!="undefined"){opensocial.xmlutil.parser_=opensocial.xmlutil.parser_||new DOMParser;var doc=opensocial.xmlutil.parser_.parseFromString(str,"text/xml");if(doc[$$PROP_firstChild]&&doc[$$PROP_firstChild][$$PROP_tagName]=="parsererror")throw doc[$$PROP_firstChild][$$PROP_firstChild][$$PROP_nodeValue];return doc}else if(typeof ActiveXObject!="undefined"){doc=new ActiveXObject("MSXML2.DomDocument");doc.validateOnParse=false;doc.loadXML(str);if(doc.parseError&&
doc.parseError.errorCode)throw doc.parseError.reason;return doc}throw"No XML parser found in this browser.";};opensocial.xmlutil.NSMAP={os:"http://opensocial.org/"};
opensocial.xmlutil.getRequiredNamespaces=function(xml){var codeToInject=[];for(var ns in opensocial.xmlutil.NSMAP)if(xml[$$PROP_indexOf]("<"+ns+":")>=0&&xml[$$PROP_indexOf]("xmlns:"+ns+":")<0){codeToInject[$$PROP_push](" xmlns:");codeToInject[$$PROP_push](ns);codeToInject[$$PROP_push]('="');codeToInject[$$PROP_push](opensocial.xmlutil.NSMAP[ns]);codeToInject[$$PROP_push]('"')}return codeToInject[$$PROP_join]("")};opensocial.xmlutil.ENTITIES='<!ENTITY nbsp "&#160;">';
opensocial.xmlutil.prepareXML=function(xml){var namespaces=opensocial.xmlutil.getRequiredNamespaces(xml);return"<!DOCTYPE root ["+opensocial.xmlutil.ENTITIES+']><root xml:space="preserve"'+namespaces+">"+xml+"</root>"};opensocial.data=opensocial[$$PROP_data]||{};
opensocial[$$PROP_data].DataContext=function(){var listeners=[],dataSets={},putDataSet=function(key,obj,opt_fireListeners){if(typeof obj==="undefined"||obj===null)delete dataSets[key];else dataSets[key]=obj;opt_fireListeners!==false&&fireCallbacks(key)},registerListener=function(keys,callback,oneTimeListener){var oneTime=!!oneTimeListener,listener={keys:{},callback:callback,oneTime:oneTime};if(typeof keys==="string"){listener.keys[keys]=true;if(keys!="*")keys=[keys]}else for(var i=0;i<keys[$$PROP_length];i++)listener.keys[keys[i]]=
true;listeners[$$PROP_push](listener);keys!=="*"&&isDataReady(listener.keys)&&GLOBAL_window[$$PROP_setTimeout](function(){maybeFireListener(listener,keys)},1)},isDataReady=function(keys){if(keys["*"])return true;for(var key in keys)if(typeof dataSets[key]==="undefined")return false;return true},maybeFireListener=function(listener,key){if(isDataReady(listener.keys)){listener.callback(key);listener.oneTime&&removeListener(listener)}},removeListener=function(listener){for(var i=0;i<listeners[$$PROP_length];++i)if(listeners[i]==
listener){listeners.splice(i,1);return}},fireCallbacks=function(keys){if(typeof keys=="string")keys=[keys];for(var i=0;i<listeners[$$PROP_length];++i)for(var listener=listeners[i],j=0;j<keys[$$PROP_length];j++){var key=keys[j];if(listener.keys[key]||listener.keys["*"]){maybeFireListener(listener,keys);break}}};return{getData:function(){return dataSets},registerListener:function(keys,callback){registerListener(keys,callback,false)},registerOneTimeListener_:function(keys,callback){registerListener(keys,
callback,true)},getDataSet:function(key){return dataSets[key]},putDataSet:function(key,obj){putDataSet(key,obj,true)},putDataSets:function(dataSets){var keys=[];for(var key in dataSets){keys[$$PROP_push](key);putDataSet(key,dataSets[key],false)}fireCallbacks(keys)}}}();opensocial[$$PROP_data].getDataContext=function(){return opensocial[$$PROP_data].DataContext};opensocial[$$PROP_data].ATTR_KEY="key";opensocial[$$PROP_data].SCRIPT_TYPE="text/os-data";opensocial[$$PROP_data].NSMAP={};
opensocial[$$PROP_data].VAR_REGEX=/^([\w\W]*?)(\$\{[^\}]*\})([\w\W]*)$/;
opensocial[$$PROP_data].RequestDescriptor=function(xmlNode){this.tagName=xmlNode[$$PROP_tagName];this.tagParts=this[$$PROP_tagName][$$PROP_split](":");this.attributes={};this.dependencies=false;for(var i=0;i<xmlNode[$$PROP_attributes][$$PROP_length];++i){var name=xmlNode[$$PROP_attributes][i].nodeName;if(name){var value=xmlNode[$$PROP_getAttribute](name);if(name&&value){this[$$PROP_attributes][name]=value;this.computeNeededKeys_(value)}}}this.key=this[$$PROP_attributes][opensocial[$$PROP_data].ATTR_KEY];
this.register_()};opensocial[$$PROP_data].RequestDescriptor[$$PROP_prototype].hasAttribute=function(name){return!!this[$$PROP_attributes][name]};opensocial[$$PROP_data].RequestDescriptor[$$PROP_prototype].getAttribute=function(name){var attrExpression=this[$$PROP_attributes][name];if(!attrExpression)return attrExpression;var expression=opensocial[$$PROP_data].parseExpression_(attrExpression);if(!expression)return attrExpression;return opensocial[$$PROP_data].DataContext.evalExpression(expression)};
opensocial[$$PROP_data].parseExpression_=function(value){if(!value[$$PROP_length])return null;var substRex=opensocial[$$PROP_data].VAR_REGEX,text=value,parts=[],match=text[$$PROP_match](substRex);if(!match)return null;for(;match;){match[1][$$PROP_length]>0&&parts[$$PROP_push](opensocial[$$PROP_data].transformLiteral_(match[1]));var expr=match[2][$$PROP_substring](2,match[2][$$PROP_length]-1);parts[$$PROP_push]("("+expr+")");text=match[3];match=text[$$PROP_match](substRex)}text[$$PROP_length]>0&&parts[$$PROP_push](opensocial[$$PROP_data].transformLiteral_(text));
return parts[$$PROP_join]("+")};opensocial[$$PROP_data].transformLiteral_=function(string){return"'"+string[$$PROP_replace](/'/g,"\\'")[$$PROP_replace](/\n/g," ")+"'"};opensocial[$$PROP_data].RequestDescriptor[$$PROP_prototype].sendRequest=function(){var ns=opensocial[$$PROP_data].NSMAP[this.tagParts[0]],handler=null;if(ns)handler=ns[this.tagParts[1]];if(!handler)throw"Data handler undefined for "+this[$$PROP_tagName];handler(this)};
opensocial[$$PROP_data].RequestDescriptor[$$PROP_prototype].getSendRequestClosure=function(){var self=this;return function(){self.sendRequest()}};
opensocial[$$PROP_data].RequestDescriptor[$$PROP_prototype].computeNeededKeys_=function(attribute){for(var substRex=opensocial[$$PROP_data].VAR_REGEX,match=attribute[$$PROP_match](substRex);match;){var token=match[2][$$PROP_substring](2,match[2][$$PROP_length]-1),key=token[$$PROP_split](".")[0];if(!this.neededKeys)this.neededKeys={};this.neededKeys[key]=true;match=match[3][$$PROP_match](substRex)}};opensocial[$$PROP_data].RequestDescriptor[$$PROP_prototype].register_=function(){opensocial[$$PROP_data].registerRequestDescriptor(this)};
opensocial[$$PROP_data].DataContext.evalExpression=function(expr){return(new Function("context","with (context) return "+expr))(opensocial[$$PROP_data].DataContext[$$PROP_getData]())};opensocial[$$PROP_data].requests_={};opensocial[$$PROP_data].registerRequestDescriptor=function(requestDescriptor){if(opensocial[$$PROP_data].requests_[requestDescriptor.key])throw"Request already registered for "+requestDescriptor.key;opensocial[$$PROP_data].requests_[requestDescriptor.key]=requestDescriptor};
opensocial[$$PROP_data].currentAPIRequest_=null;opensocial[$$PROP_data].currentAPIRequestKeys_=null;opensocial[$$PROP_data].currentAPIRequestCallbacks_=null;opensocial[$$PROP_data].getCurrentAPIRequest=function(){if(!opensocial[$$PROP_data].currentAPIRequest_){opensocial[$$PROP_data].currentAPIRequest_=opensocial.newDataRequest();opensocial[$$PROP_data].currentAPIRequestKeys_=[];opensocial[$$PROP_data].currentAPIRequestCallbacks_={}}return opensocial[$$PROP_data].currentAPIRequest_};
opensocial[$$PROP_data].addToCurrentAPIRequest=function(request,key,opt_callback){opensocial[$$PROP_data].getCurrentAPIRequest().add(request,key);opensocial[$$PROP_data].currentAPIRequestKeys_[$$PROP_push](key);if(opt_callback)opensocial[$$PROP_data].currentAPIRequestCallbacks_[key]=opt_callback;GLOBAL_window[$$PROP_setTimeout](opensocial[$$PROP_data].sendCurrentAPIRequest_,0)};
opensocial[$$PROP_data].sendCurrentAPIRequest_=function(){if(opensocial[$$PROP_data].currentAPIRequest_){opensocial[$$PROP_data].currentAPIRequest_[$$PROP_send](opensocial[$$PROP_data].createSharedRequestCallback_());opensocial[$$PROP_data].currentAPIRequest_=null}};
opensocial[$$PROP_data].createSharedRequestCallback_=function(){var keys=opensocial[$$PROP_data].currentAPIRequestKeys_,callbacks=opensocial[$$PROP_data].currentAPIRequestCallbacks_;return function(data){opensocial[$$PROP_data].onAPIResponse(data,keys,callbacks)}};
opensocial[$$PROP_data].onAPIResponse=function(responseItem,keys,callbacks){for(var i=0;i<keys[$$PROP_length];i++){var key=keys[i],item=responseItem.get(key),data=null;item.hadError()||(data=opensocial[$$PROP_data].extractJson_(item,key));callbacks[key]?callbacks[key](key,data):opensocial[$$PROP_data].DataContext.putDataSet(key,data)}};
opensocial[$$PROP_data].extractJson_=function(responseItem,key){var data=responseItem[$$PROP_getData]();if(data.array_){for(var out=[],i=0;i<data.array_[$$PROP_length];i++)out[$$PROP_push](data.array_[i].fields_);data=out;var request=opensocial[$$PROP_data].requests_[key];if(request[$$PROP_tagName]=="os:PeopleRequest"){var groupId=request[$$PROP_getAttribute]("groupId");if((!groupId||groupId=="@self")&&data[$$PROP_length]==1)data=data[0]}}else data=data.fields_||data;return data};
opensocial[$$PROP_data].registerRequestHandler=function(name,handler){var tagParts=name[$$PROP_split](":"),ns=opensocial[$$PROP_data].NSMAP[tagParts[0]];if(ns){if(ns[tagParts[1]])throw"Request handler "+tagParts[1]+" is already defined.";}else{opensocial.xmlutil.NSMAP[tagParts[0]]||(opensocial.xmlutil.NSMAP[tagParts[0]]=null);ns=opensocial[$$PROP_data].NSMAP[tagParts[0]]={}}ns[tagParts[1]]=handler};
opensocial[$$PROP_data].processDocumentMarkup=function(opt_doc){for(var doc=opt_doc||GLOBAL_document,nodes=doc[$$PROP_getElementsByTagName]("script"),i=0;i<nodes[$$PROP_length];++i){var node=nodes[i];node[$$PROP_type]==opensocial[$$PROP_data].SCRIPT_TYPE&&opensocial[$$PROP_data].loadRequests(node)}opensocial[$$PROP_data].registerRequestDependencies();opensocial[$$PROP_data].executeRequests()};GLOBAL_window.gadgets&&GLOBAL_window.gadgets[$$PROP_util]&&GLOBAL_gadgets[$$PROP_util].registerOnLoadHandler(opensocial[$$PROP_data].processDocumentMarkup);
opensocial[$$PROP_data].loadRequests=function(xml){if(typeof xml!="string"){var node=xml;xml=node[$$PROP_value]||node.innerHTML}opensocial[$$PROP_data].loadRequestsFromMarkup_(xml)};opensocial[$$PROP_data].loadRequestsFromMarkup_=function(xml){xml=opensocial.xmlutil.prepareXML(xml);for(var doc=opensocial.xmlutil.parseXML(xml),node=doc[$$PROP_firstChild];node[$$PROP_nodeType]!=1;)node=node[$$PROP_nextSibling];opensocial[$$PROP_data].processDataNode_(node)};
opensocial[$$PROP_data].processDataNode_=function(node){for(var child=node[$$PROP_firstChild];child;child=child[$$PROP_nextSibling])child[$$PROP_nodeType]==1&&new opensocial[$$PROP_data].RequestDescriptor(child)};
opensocial[$$PROP_data].registerRequestDependencies=function(){for(var key in opensocial[$$PROP_data].requests_){var request=opensocial[$$PROP_data].requests_[key],neededKeys=request.neededKeys,dependencies=[];for(var neededKey in neededKeys)opensocial[$$PROP_data].DataContext.getDataSet(neededKey)==null&&opensocial[$$PROP_data].requests_[neededKey]&&dependencies[$$PROP_push](neededKey);if(dependencies[$$PROP_length]>0){opensocial[$$PROP_data].DataContext.registerListener(dependencies,request.getSendRequestClosure());
request.dependencies=true}}};opensocial[$$PROP_data].executeRequests=function(){for(var key in opensocial[$$PROP_data].requests_){var request=opensocial[$$PROP_data].requests_[key];request.dependencies||request.sendRequest()}};opensocial[$$PROP_data].transformSpecialValue=function(value){if(value[$$PROP_substring](0,1)=="@")return value[$$PROP_substring](1).toUpperCase();return value};
(function(){opensocial[$$PROP_data].registerRequestHandler("os:ViewerRequest",function(descriptor){var req=opensocial[$$PROP_data].getCurrentAPIRequest().newFetchPersonRequest("VIEWER");opensocial[$$PROP_data].addToCurrentAPIRequest(req,descriptor.key)});opensocial[$$PROP_data].registerRequestHandler("os:OwnerRequest",function(descriptor){var req=opensocial[$$PROP_data].getCurrentAPIRequest().newFetchPersonRequest("OWNER");opensocial[$$PROP_data].addToCurrentAPIRequest(req,descriptor.key)});opensocial[$$PROP_data].registerRequestHandler("os:PeopleRequest",
function(descriptor){var userId=descriptor[$$PROP_getAttribute]("userId"),groupId=descriptor[$$PROP_getAttribute]("groupId")||"@self",idSpec={};idSpec.userId=opensocial[$$PROP_data].transformSpecialValue(userId);if(groupId!="@self")idSpec.groupId=opensocial[$$PROP_data].transformSpecialValue(groupId);var req=opensocial[$$PROP_data].getCurrentAPIRequest().newFetchPeopleRequest(opensocial.newIdSpec(idSpec));opensocial[$$PROP_data].addToCurrentAPIRequest(req,descriptor.key)});opensocial[$$PROP_data].registerRequestHandler("os:ActivitiesRequest",
function(descriptor){var userId=descriptor[$$PROP_getAttribute]("userId"),groupId=descriptor[$$PROP_getAttribute]("groupId")||"@self",idSpec={};idSpec.userId=opensocial[$$PROP_data].transformSpecialValue(userId);if(groupId!="@self")idSpec.groupId=opensocial[$$PROP_data].transformSpecialValue(groupId);var req=opensocial[$$PROP_data].getCurrentAPIRequest().newFetchActivitiesRequest(opensocial.newIdSpec(idSpec));opensocial[$$PROP_data].addToCurrentAPIRequest(req,descriptor.key)});opensocial[$$PROP_data].registerRequestHandler("os:HttpRequest",
function(descriptor){var href=descriptor[$$PROP_getAttribute]("href"),format=descriptor[$$PROP_getAttribute]("format")||"json",params={};params[GLOBAL_gadgets.io.RequestParameters.CONTENT_TYPE]=format[$$PROP_toLowerCase]()=="text"?GLOBAL_gadgets.io.ContentType.TEXT:GLOBAL_gadgets.io.ContentType.JSON;params[GLOBAL_gadgets.io.RequestParameters.METHOD]=GLOBAL_gadgets.io.MethodType.GET;GLOBAL_gadgets.io.makeRequest(href,function(obj){opensocial[$$PROP_data].DataContext.putDataSet(descriptor.key,obj[$$PROP_data])},
params)})})();(opensocial[$$PROP_data].populateParams_=function(){GLOBAL_window.gadgets&&GLOBAL_gadgets[$$PROP_util].hasFeature("views")&&opensocial[$$PROP_data].DataContext.putDataSet("ViewParams",GLOBAL_gadgets.views.getParams())})();var TYPE_boolean="boolean",TYPE_number="number",TYPE_object="object",TYPE_undefined="undefined";function copyProperties(to,from){for(var p in from)to[p]=from[p]}
function arraySlice(){return Function[$$PROP_prototype][$$PROP_call][$$PROP_apply](Array[$$PROP_prototype][$$PROP_slice],arguments)}function bindFully(object,method){var args=arraySlice(arguments,2);return function(){return method[$$PROP_apply](object,args)}}function domTraverseElements(node,callback){var traverser=new DomTraverser(callback);traverser.run(node)}function DomTraverser(callback){this.callback_=callback}DomTraverser[$$PROP_prototype].run=function(root){var me=this;for(me.queue_=[root];me.queue_[$$PROP_length];)me.process_(me.queue_.shift())};
DomTraverser[$$PROP_prototype].process_=function(node){var me=this;me.callback_(node);for(var c=node[$$PROP_firstChild];c;c=c[$$PROP_nextSibling])c[$$PROP_nodeType]==1&&me.queue_[$$PROP_push](c)};function domSetAttribute(node,name,value){node[$$PROP_setAttribute](name,value)}function domRemoveAttribute(node,name){node[$$PROP_removeAttribute](name)}function displayDefault(node){node.style.display=""}function displayNone(node){node.style.display="none"}
var VAR_index="Index",VAR_count="Count",VAR_this="$this",VAR_context="$context",VAR_top="$top",VAR_loop="$loop",GLOB_default="$default",CHAR_colon=":",REGEXP_semicolon=/\s*;\s*/;function JsEvalContext(){this.constructor_[$$PROP_apply](this,arguments)}
JsEvalContext[$$PROP_prototype].constructor_=function(opt_data,opt_parent){var me=this;if(!me.vars_)me.vars_={};opt_parent?copyProperties(me.vars_,opt_parent.vars_):copyProperties(me.vars_,JsEvalContext.globals_);me.vars_[VAR_this]=opt_data;me.vars_[VAR_context]=me;me.data_=typeof opt_data!=TYPE_undefined&&opt_data!=null?opt_data:"";if(!opt_parent)me.vars_[VAR_top]=me.data_};JsEvalContext.globals_={};JsEvalContext.setGlobal=function(name,value){JsEvalContext.globals_[name]=value};
JsEvalContext.setGlobal(GLOB_default,null);JsEvalContext.recycledInstances_=[];JsEvalContext.create=function(opt_data,opt_parent){if(JsEvalContext.recycledInstances_[$$PROP_length]>0){var instance=JsEvalContext.recycledInstances_.pop();JsEvalContext[$$PROP_call](instance,opt_data,opt_parent);return instance}else return new JsEvalContext(opt_data,opt_parent)};JsEvalContext.recycle=function(instance){for(var i in instance.vars_)delete instance.vars_[i];instance.data_=null;JsEvalContext.recycledInstances_[$$PROP_push](instance)};
a=JsEvalContext[$$PROP_prototype];a.jsexec=function(exprFunction,template){try{return exprFunction[$$PROP_call](template,this.vars_,this.data_)}catch(e){return JsEvalContext.globals_[GLOB_default]}};a.clone=function(data,index,count){var ret=JsEvalContext.create(data,this);if(typeof index=="number"||typeof count=="number"){var loopContext={};loopContext[VAR_index]=index;loopContext[VAR_count]=count;ret.setVariable(VAR_loop,loopContext)}return ret};
a.setVariable=function(name,value){this.vars_[name]=value};a.getVariable=function(name){return this.vars_[name]};a.evalExpression=function(expr,opt_template){var exprFunction=jsEvalToFunction(expr);return this.jsexec(exprFunction,opt_template)};var STRING_a="a_",STRING_b="b_",STRING_with="with (a_) with (b_) return ";JsEvalContext.evalToFunctionCache_={};
function jsEvalToFunction(expr){if(!JsEvalContext.evalToFunctionCache_[expr])try{JsEvalContext.evalToFunctionCache_[expr]=new Function(STRING_a,STRING_b,STRING_with+expr)}catch(e){}return JsEvalContext.evalToFunctionCache_[expr]}function jsEvalToSelf(expr){return expr}
function jsEvalToValues(expr){for(var ret=[],values=expr[$$PROP_split](REGEXP_semicolon),i=0,I=values[$$PROP_length];i<I;++i){var colon=values[i][$$PROP_indexOf](CHAR_colon);if(!(colon<0)){var label,JSCompiler_inline_str=values[i][$$PROP_substr](0,colon),JSCompiler_inline_str$$4_64=JSCompiler_inline_str[$$PROP_replace](/^\s+/,"");label=JSCompiler_inline_str$$4_64[$$PROP_replace](/\s+$/,"");var value=jsEvalToFunction(values[i][$$PROP_substr](colon+1));ret[$$PROP_push](label,value)}}return ret}
function jsEvalToExpressions(expr){for(var ret=[],values=expr[$$PROP_split](REGEXP_semicolon),i=0,I=values[$$PROP_length];i<I;++i)if(values[i]){var value=jsEvalToFunction(values[i]);ret[$$PROP_push](value)}return ret}
var ATT_select="jsselect",ATT_instance="jsinstance",ATT_display="jsdisplay",ATT_values="jsvalues",ATT_vars="jsvars",ATT_eval="jseval",ATT_transclude="transclude",ATT_content="jscontent",ATT_skip="jsskip",ATT_innerselect="jsinnerselect",ATT_jstcache="jstcache",PROP_jstcache="__jstcache",CHAR_asterisk="*",CHAR_dollar="$",CHAR_period=".",CHAR_ampersand="&",STRING_id="id",STRING_asteriskzero="*0",STRING_zero="0";
function jstProcess(context,template){var processor=new JstProcessor;JstProcessor.prepareTemplate_(template);processor.document_=template?template[$$PROP_nodeType]==9?template:template.ownerDocument||GLOBAL_document:GLOBAL_document;processor.run_(bindFully(processor,processor.jstProcessOuter_,context,template))}function JstProcessor(){}JstProcessor.jstid_=0;JstProcessor.jstcache_={};JstProcessor.jstcache_[0]={};JstProcessor.jstcacheattributes_={};JstProcessor.attributeValues_={};
JstProcessor.attributeList_=[];JstProcessor.prepareTemplate_=function(template){template[PROP_jstcache]||domTraverseElements(template,function(node){JstProcessor.prepareNode_(node)})};var JST_ATTRIBUTES=[[ATT_select,jsEvalToFunction],[ATT_display,jsEvalToFunction],[ATT_values,jsEvalToValues],[ATT_vars,jsEvalToValues],[ATT_eval,jsEvalToExpressions],[ATT_transclude,jsEvalToSelf],[ATT_content,jsEvalToFunction],[ATT_skip,jsEvalToFunction],[ATT_innerselect,jsEvalToFunction]];
JstProcessor.prepareNode_=function(node){if(node[PROP_jstcache])return node[PROP_jstcache];var jstid=node[$$PROP_getAttribute](ATT_jstcache);if(jstid!=null)return node[PROP_jstcache]=JstProcessor.jstcache_[jstid];var attributeValues=JstProcessor.attributeValues_,attributeList=JstProcessor.attributeList_;SETPROP_length(attributeList,0);for(var i=0,I=JST_ATTRIBUTES[$$PROP_length];i<I;++i){var name=JST_ATTRIBUTES[i][0],value=node[$$PROP_getAttribute](name);attributeValues[name]=value;value!=null&&attributeList[$$PROP_push](name+
"="+value)}if(attributeList[$$PROP_length]==0){node[$$PROP_setAttribute](ATT_jstcache,STRING_zero);return node[PROP_jstcache]=JstProcessor.jstcache_[0]}var attstring=attributeList[$$PROP_join](CHAR_ampersand);if(jstid=JstProcessor.jstcacheattributes_[attstring]){node[$$PROP_setAttribute](ATT_jstcache,jstid);return node[PROP_jstcache]=JstProcessor.jstcache_[jstid]}var jstcache={};i=0;for(I=JST_ATTRIBUTES[$$PROP_length];i<I;++i){var att=JST_ATTRIBUTES[i];name=att[0];var parse=att[1];value=attributeValues[name];
if(value!=null)jstcache[name]=parse(value)}jstid=""+ ++JstProcessor.jstid_;node[$$PROP_setAttribute](ATT_jstcache,jstid);JstProcessor.jstcache_[jstid]=jstcache;JstProcessor.jstcacheattributes_[attstring]=jstid;return node[PROP_jstcache]=jstcache};a=JstProcessor[$$PROP_prototype];
a.run_=function(f){var me=this,calls=me.calls_=[],queueIndices=me.queueIndices_=[];me.arrayPool_=[];f();for(var queue,queueIndex,method,arg1,arg2;calls[$$PROP_length];){queue=calls[calls[$$PROP_length]-1];queueIndex=queueIndices[queueIndices[$$PROP_length]-1];if(queueIndex>=queue[$$PROP_length]){me.recycleArray_(calls.pop());queueIndices.pop()}else{method=queue[queueIndex++];arg1=queue[queueIndex++];arg2=queue[queueIndex++];queueIndices[queueIndices[$$PROP_length]-1]=queueIndex;method[$$PROP_call](me,
arg1,arg2)}}};a.push_=function(args){this.calls_[$$PROP_push](args);this.queueIndices_[$$PROP_push](0)};a.setDebugging=function(){};a.createArray_=function(){return this.arrayPool_[$$PROP_length]?this.arrayPool_.pop():[]};a.recycleArray_=function(array){SETPROP_length(array,0);this.arrayPool_[$$PROP_push](array)};
a.jstProcessOuter_=function(context,template){var me=this,jstAttributes=me.jstAttributes_(template),transclude=jstAttributes[ATT_transclude];if(transclude){var tr;var JSCompiler_inline_name=transclude,JSCompiler_inline_doc=GLOBAL_document,JSCompiler_inline_section_74;if(JSCompiler_inline_section_74=JSCompiler_inline_doc[$$PROP_getElementById](JSCompiler_inline_name)){JstProcessor.prepareTemplate_(JSCompiler_inline_section_74);var JSCompiler_inline_ret=JSCompiler_inline_section_74[$$PROP_cloneNode](true);
JSCompiler_inline_ret[$$PROP_removeAttribute](STRING_id);tr=JSCompiler_inline_ret}else tr=null;if(tr){template[$$PROP_parentNode].replaceChild(tr,template);var call=me.createArray_();call[$$PROP_push](me.jstProcessOuter_,context,tr);me.push_(call)}else template[$$PROP_parentNode][$$PROP_removeChild](template)}else{var select=jstAttributes[ATT_select];select?me.jstSelect_(context,template,select):me.jstProcessInner_(context,template)}};
a.jstProcessInner_=function(context,template){var me=this,jstAttributes=me.jstAttributes_(template),display=jstAttributes[ATT_display];if(display){var shouldDisplay=context.jsexec(display,template);if(!shouldDisplay){displayNone(template);return}displayDefault(template)}var values=jstAttributes[ATT_vars];values&&me.jstVars_(context,template,values);(values=jstAttributes[ATT_values])&&me.jstValues_(context,template,values);var expressions=jstAttributes[ATT_eval];if(expressions)for(var i=0,I=expressions[$$PROP_length];i<
I;++i)context.jsexec(expressions[i],template);var skip=jstAttributes[ATT_skip];if(skip){var shouldSkip=context.jsexec(skip,template);if(shouldSkip)return}var content=jstAttributes[ATT_content];if(content)me.jstContent_(context,template,content);else{for(var queue=me.createArray_(),ctx=null,c=template[$$PROP_firstChild];c;c=c[$$PROP_nextSibling])if(c[$$PROP_nodeType]==1){if(!ctx){ctx=context;var selectInner=jstAttributes[ATT_innerselect];if(selectInner&&selectInner!=VAR_this)ctx=context.clone(context.jsexec(selectInner,
template),0,0)}queue[$$PROP_push](me.jstProcessOuter_,ctx,c)}queue[$$PROP_length]&&me.push_(queue)}};
a.jstSelect_=function(context,template,select){var me=this,value=context.jsexec(select,template),instance=template[$$PROP_getAttribute](ATT_instance),instanceLast=false;if(instance)if(instance[$$PROP_charAt](0)==CHAR_asterisk){var JSCompiler_inline_s=instance[$$PROP_substr](1);instance=parseInt(JSCompiler_inline_s,10);instanceLast=true}else instance=parseInt(instance,10);var multiple=value!=null&&typeof value==TYPE_object&&typeof value[$$PROP_length]==TYPE_number,count=multiple?value[$$PROP_length]:
1,multipleEmpty=multiple&&count==0;if(multiple)if(multipleEmpty)if(instance)template[$$PROP_parentNode][$$PROP_removeChild](template);else{template[$$PROP_setAttribute](ATT_instance,STRING_asteriskzero);displayNone(template)}else{displayDefault(template);if(instance===null||instance===""||instanceLast&&instance<count-1){var queue=me.createArray_(),instancesStart=instance||0,i,I,clone;for(i=instancesStart,I=count-1;i<I;++i){var node=template[$$PROP_cloneNode](true);template[$$PROP_parentNode].insertBefore(node,
template);jstSetInstance(node,value,i);clone=context.clone(value[i],i,count);queue[$$PROP_push](me.jstProcessInner_,clone,node,JsEvalContext.recycle,clone,null)}jstSetInstance(template,value,i);clone=context.clone(value[i],i,count);queue[$$PROP_push](me.jstProcessInner_,clone,template,JsEvalContext.recycle,clone,null);me.push_(queue)}else if(instance<count){var v=value[instance];jstSetInstance(template,value,instance);clone=context.clone(v,instance,count);queue=me.createArray_();queue[$$PROP_push](me.jstProcessInner_,
clone,template,JsEvalContext.recycle,clone,null);me.push_(queue)}else template[$$PROP_parentNode][$$PROP_removeChild](template)}else if(value==null)displayNone(template);else{displayDefault(template);clone=context.clone(value,0,1);queue=me.createArray_();queue[$$PROP_push](me.jstProcessInner_,clone,template,JsEvalContext.recycle,clone,null);me.push_(queue)}};
a.jstVars_=function(context,template,values){for(var i=0,I=values[$$PROP_length];i<I;i+=2){var label=values[i],value=context.jsexec(values[i+1],template);context.setVariable(label,value)}};
a.jstValues_=function(context,template,values){for(var i=0,I=values[$$PROP_length];i<I;i+=2){var label=values[i],value=context.jsexec(values[i+1],template);if(label[$$PROP_charAt](0)==CHAR_dollar)context.setVariable(label,value);else if(label[$$PROP_charAt](0)==CHAR_period){for(var nameSpaceLabel=label[$$PROP_substr](1)[$$PROP_split](CHAR_period),nameSpaceObject=template,nameSpaceDepth=nameSpaceLabel[$$PROP_length],j=0,J=nameSpaceDepth-1;j<J;++j){var jLabel=nameSpaceLabel[j];nameSpaceObject[jLabel]||
(nameSpaceObject[jLabel]={});nameSpaceObject=nameSpaceObject[jLabel]}nameSpaceObject[nameSpaceLabel[nameSpaceDepth-1]]=value}else if(label)if(typeof value==TYPE_boolean)value?domSetAttribute(template,label,label):domRemoveAttribute(template,label);else template[$$PROP_setAttribute](label,""+value)}};
a.jstContent_=function(context,template,content){var value=""+context.jsexec(content,template);if(template.innerHTML!=value){for(;template[$$PROP_firstChild];)template[$$PROP_firstChild][$$PROP_parentNode][$$PROP_removeChild](template[$$PROP_firstChild]);var t=this.document_[$$PROP_createTextNode](value);template[$$PROP_appendChild](t)}};
a.jstAttributes_=function(template){if(template[PROP_jstcache])return template[PROP_jstcache];var jstid=template[$$PROP_getAttribute](ATT_jstcache);if(jstid)return template[PROP_jstcache]=JstProcessor.jstcache_[jstid];return JstProcessor.prepareNode_(template)};function jstSetInstance(template,values,index){index==values[$$PROP_length]-1?domSetAttribute(template,ATT_instance,CHAR_asterisk+index):domSetAttribute(template,ATT_instance,""+index)}JstProcessor[$$PROP_prototype].logState_=function(){};
JstProcessor[$$PROP_prototype].getLogs=function(){return this.logs_};opensocial=opensocial||{};opensocial.template=opensocial.template||{};var os=opensocial.template;os.log=function(msg){var console=GLOBAL_window.console;console&&console.log&&console.log(msg)};GLOBAL_window.log=os.log;os.warn=function(msg){os.log("WARNING: "+msg)};os.isArray=function(obj){return typeof obj=="object"&&typeof obj[$$PROP_length]=="number"&&typeof obj[$$PROP_push]=="function"};os.ATT_customtag="customtag";os.VAR_my="$my";
os.VAR_cur="$cur";os.VAR_node="$node";os.VAR_msg="Msg";os.VAR_parentnode="$parentnode";os.VAR_uniqueId="$uniqueId";os.VAR_identifierresolver="$_ir";os.VAR_callbacks="$callbacks_";os.regExps_={ONLY_WHITESPACE:/^[ \t\n]*$/,VARIABLE_SUBSTITUTION:/^([\w\W]*?)(\$\{[^\}]*\})([\w\W]*)$/};
os.compileTemplate=function(node,opt_id){if(typeof node=="string")return os.compileTemplateString(node,opt_id);opt_id=opt_id||node.name;var src=node[$$PROP_value]||node.innerHTML;src=os.trim(src);var template=os.compileTemplateString(src,opt_id);if(!node.name)node.name=template.id;return template};os.compileTemplateString=function(src,opt_id){src=opensocial.xmlutil.prepareXML(src);var doc=opensocial.xmlutil.parseXML(src);return os.compileXMLDoc(doc,opt_id)};
os.renderTemplateNode_=function(compiledNode,context){var template=compiledNode[$$PROP_cloneNode](true);template[$$PROP_removeAttribute]&&template[$$PROP_removeAttribute](STRING_id);jstProcess(context,template);return template};os.elementIdCounter_=0;
os.createTemplateCustomTag=function(template){return function(node,data,context){context.setVariable(os.VAR_my,node);context.setVariable(os.VAR_node,node);context.setVariable(os.VAR_uniqueId,os.elementIdCounter_++);var ret=template.render(data,context);os.markNodeToSkip(ret);return ret}};
os.computeChildMap_=function(node){for(var map={},i=0;i<node[$$PROP_childNodes][$$PROP_length];i++){var child=node[$$PROP_childNodes][i];if(child[$$PROP_tagName]){var name=child[$$PROP_getAttribute](os.ATT_customtag);if(name){var parts=name[$$PROP_split](":");parts[$$PROP_length]==2?(name=parts[1]):(name=parts[0])}else name=child[$$PROP_tagName];name=name[$$PROP_toLowerCase]();var prev=map[name];if(prev)if(os.isArray(prev))prev[$$PROP_push](child);else{map[name]=[];map[name][$$PROP_push](prev);map[name][$$PROP_push](child)}else map[name]=
child}}return map};os.createNodeAccessor_=function(node){return function(name){return os.getValueFromNode_(node,name)}};os.gadgetPrefs_=null;if(GLOBAL_window.gadgets&&GLOBAL_window.gadgets.Prefs)os.gadgetPrefs_=new GLOBAL_window.gadgets.Prefs;os.getPrefMessage=function(key){if(!os.gadgetPrefs_)return null;return os.gadgetPrefs_.getMsg(key)};os.globalDisallowedAttributes_={data:1};os.customAttributes_={};os.registerAttribute_=function(attrName,functor){os.customAttributes_[attrName]=functor};
os.doAttribute=function(node,attrName,data,context){if(os.customAttributes_[$$PROP_hasOwnProperty](attrName)){var attrFunctor=os.customAttributes_[attrName];attrFunctor(node,node[$$PROP_getAttribute](attrName),data,context)}};
os.doTag=function(node,ns,tag,data,context){var tagFunction=os.getCustomTag(ns,tag);if(tagFunction){for(var ctx=null,child=node[$$PROP_firstChild];child;child=child[$$PROP_nextSibling])if(child[$$PROP_nodeType]==1){if(ctx==null){var selectInner=node[PROP_jstcache]?node[PROP_jstcache][ATT_innerselect]:null;if(selectInner){data=context.jsexec(selectInner,node);ctx=context.clone(data,0,0)}else ctx=context}jstProcess(ctx,child);os.markNodeToSkip(child)}ctx=context.clone({},0,0);var result=tagFunction[$$PROP_call](null,
node,data,ctx);if(!result&&typeof result!="string")throw"Custom tag <"+ns+":"+tag+"> failed to return anything.";if(typeof result=="string")node.innerHTML=result?result:"";else if(os.isArray(result)){os.removeChildren(node);for(var i=0;i<result[$$PROP_length];i++)if(result[i][$$PROP_nodeType]==1||result[i][$$PROP_nodeType]==3){node[$$PROP_appendChild](result[i]);result[i][$$PROP_nodeType]==1&&os.markNodeToSkip(result[i])}}else{var callbacks=context.getVariable(os.VAR_callbacks),resultNode=null;if(result[$$PROP_nodeType]==
1)resultNode=result;else if(result.root&&result.root[$$PROP_nodeType]==1)resultNode=result.root;if(resultNode&&resultNode!=node&&(!resultNode[$$PROP_parentNode]||resultNode[$$PROP_parentNode][$$PROP_nodeType]==11)){os.removeChildren(node);node[$$PROP_appendChild](resultNode);os.markNodeToSkip(resultNode)}result.onAttach&&callbacks[$$PROP_push](result)}}else os.warn("Custom tag <"+ns+":"+tag+"> not defined.")};
os.setContextNode_=function(data,context){data[$$PROP_nodeType]==1&&context.setVariable(os.VAR_node,data)};os.markNodeToSkip=function(node){node[$$PROP_setAttribute](ATT_skip,"true");node[$$PROP_removeAttribute](ATT_select);node[$$PROP_removeAttribute](ATT_eval);node[$$PROP_removeAttribute](ATT_values);node[$$PROP_removeAttribute](ATT_display);node[PROP_jstcache]=null;node[$$PROP_removeAttribute](ATT_jstcache)};os.nsmap_={};
os.createNamespace=function(ns,url){var tags=os.nsmap_[ns];if(os.nsmap_[$$PROP_hasOwnProperty](ns))if(opensocial.xmlutil.NSMAP[ns]==null)opensocial.xmlutil.NSMAP[ns]=url;else{if(opensocial.xmlutil.NSMAP[ns]!=url)throw"Namespace "+ns+" already defined with url "+opensocial.xmlutil.NSMAP[ns];}else{tags={};os.nsmap_[ns]=tags;opensocial.xmlutil.NSMAP[ns]=url}return tags};os.getNamespace=function(prefix){return os.nsmap_[prefix]};
os.addNamespace=function(ns,url,nsObj){if(!os.nsmap_[$$PROP_hasOwnProperty](ns))if(opensocial.xmlutil.NSMAP[ns]==null){opensocial.xmlutil.NSMAP[ns]=url;return}else throw"Namespace '"+ns+"' already exists!";os.nsmap_[ns]=nsObj;opensocial.xmlutil.NSMAP[ns]=url};os.getCustomTag=function(ns,tag){if(!os.nsmap_[$$PROP_hasOwnProperty](ns))return null;var nsObj=os.nsmap_[ns];return nsObj.getTag?nsObj.getTag(tag):nsObj[tag]};os.trim=function(string){return string[$$PROP_replace](/^\s+|\s+$/g,"")};
os.isAlphaNum=function(ch){return ch>="a"&&ch<="z"||ch>="A"&&ch<="Z"||ch>="0"&&ch<="9"||ch=="_"};os.removeChildren=function(node){for(;node[$$PROP_firstChild];)node[$$PROP_removeChild](node[$$PROP_firstChild])};os.appendChildren=function(sourceNode,targetNode){if(sourceNode!=targetNode)for(;sourceNode[$$PROP_firstChild];)targetNode[$$PROP_appendChild](sourceNode[$$PROP_firstChild])};
os.getPropertyGetterName=function(propertyName){var getter="get"+propertyName[$$PROP_charAt](0).toUpperCase()+propertyName[$$PROP_substring](1);return getter};
os.convertToCamelCase=function(str){var upper=str.toUpperCase(),words=str[$$PROP_toLowerCase]()[$$PROP_split]("_"),out=[],index=words[0][$$PROP_length]+1;out[$$PROP_push](words[0]);for(var i=1;i<words[$$PROP_length];++i){if(words[i][$$PROP_length]>0){var piece=upper[$$PROP_charAt](index)+words[i][$$PROP_substring](1);out[$$PROP_push](piece)}index+=words[i][$$PROP_length]+1}return out[$$PROP_join]("")};
os.createContext=function(data,opt_globals){var context=JsEvalContext.create(data);context.setVariable(os.VAR_callbacks,[]);context.setVariable(os.VAR_identifierresolver,os.getFromContext);if(opt_globals)for(var global in opt_globals)opt_globals.hasOwnproperty(global)&&context.setVariable(global,opt_globals[global]);return context};os.Template=function(opt_id){this.templateRoot_=GLOBAL_document[$$PROP_createElement]("span");this.id=opt_id||"template_"+os.Template.idCounter_++};
os.Template.idCounter_=0;os.registeredTemplates_={};os.registerTemplate=function(template){os.registeredTemplates_[template.id]=template};os.unRegisterTemplate=function(template){delete os.registeredTemplates_[template.id]};os.getTemplate=function(templateId){return os.registeredTemplates_[templateId]};os.Template[$$PROP_prototype].setCompiledNode_=function(node){os.removeChildren(this.templateRoot_);this.templateRoot_[$$PROP_appendChild](node)};
os.Template[$$PROP_prototype].setCompiledNodes_=function(nodes){os.removeChildren(this.templateRoot_);for(var i=0;i<nodes[$$PROP_length];i++)this.templateRoot_[$$PROP_appendChild](nodes[i])};os.Template[$$PROP_prototype].render=function(opt_data,opt_context){opt_context||(opt_context=os.createContext(opt_data));return os.renderTemplateNode_(this.templateRoot_,opt_context)};
os.Template[$$PROP_prototype].renderInto=function(root,opt_data,opt_context){opt_context||(opt_context=os.createContext(opt_data));var result=this.render(opt_data,opt_context);os.removeChildren(root);os.appendChildren(result,root);os.fireCallbacks(opt_context)};os.SEMICOLON=";";os.isIe=GLOBAL_navigator.userAgent[$$PROP_indexOf]("Opera")!=0&&GLOBAL_navigator.userAgent[$$PROP_indexOf]("MSIE")!=-1;
os.compileXMLNode=function(node,opt_id){for(var nodes=[],child=node[$$PROP_firstChild];child;child=child[$$PROP_nextSibling])if(child[$$PROP_nodeType]==1)nodes[$$PROP_push](os.compileNode_(child));else if(child[$$PROP_nodeType]==3)if(child!=node[$$PROP_firstChild]||!child[$$PROP_nodeValue][$$PROP_match](os.regExps_.ONLY_WHITESPACE))for(var compiled=os.breakTextNode_(child),i=0;i<compiled[$$PROP_length];i++)nodes[$$PROP_push](compiled[i]);var template=new os.Template(opt_id);template.setCompiledNodes_(nodes);
return template};os.compileXMLDoc=function(doc,opt_id){for(var node=doc[$$PROP_firstChild];node[$$PROP_nodeType]!=1;)node=node[$$PROP_nextSibling];return os.compileXMLNode(node,opt_id)};os.operatorMap={and:"&&",eq:"==",lte:"<=",lt:"<",gte:">=",gt:">",neq:"!=",or:"||",not:"!"};os.regExps_.SPLIT_INTO_TOKENS=/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|\w+|[^"'\w]+/g;
os.remapOperators_=function(src){return src[$$PROP_replace](os.regExps_.SPLIT_INTO_TOKENS,function(token){return os.operatorMap[$$PROP_hasOwnProperty](token)?os.operatorMap[token]:token})};os.transformVariables_=function(expr){return expr=os.replaceTopLevelVars_(expr)};os.variableMap_={my:os.VAR_my,My:os.VAR_my,cur:VAR_this,Cur:VAR_this,$cur:VAR_this,Top:VAR_top,Context:VAR_loop};
os.replaceTopLevelVars_=function(text){var regex;regex=os.regExps_.TOP_LEVEL_VAR_REPLACEMENT;if(!regex){regex=/(^|[^.$a-zA-Z0-9])([$a-zA-Z0-9]+)/g;os.regExps_.TOP_LEVEL_VAR_REPLACEMENT=regex}return text[$$PROP_replace](regex,function(whole,left,right){return os.variableMap_[$$PROP_hasOwnProperty](right)?left+os.variableMap_[right]:whole})};os.identifierResolver_=function(data,name){return data[$$PROP_hasOwnProperty](name)?data[name]:"get"in data?data.get(name):null};
os.setIdentifierResolver=function(resolver){os.identifierResolver_=resolver};
os.getFromContext=function(context,name,opt_default){var ret;if(context.vars_&&context.data_){if(context.data_[$$PROP_nodeType]==1){ret=os.getValueFromNode_(context.data_,name);if(ret==null)ret=void 0}else ret=os.identifierResolver_(context.data_,name);if(typeof ret=="undefined")ret=os.identifierResolver_(context.vars_,name);if(typeof ret=="undefined"&&context.vars_[os.VAR_my])ret=os.getValueFromNode_(context.vars_[os.VAR_my],name);if(typeof ret=="undefined"&&context.vars_[VAR_top])ret=context.vars_[VAR_top][name]}else ret=
context[$$PROP_nodeType]==1?os.getValueFromNode_(context,name):os.identifierResolver_(context,name);if(typeof ret=="undefined"||ret==null)ret=typeof opt_default!="undefined"?opt_default:"";return ret};os.transformExpression_=function(expr,opt_default){expr=os.remapOperators_(expr);expr=os.transformVariables_(expr);if(os.identifierResolver_)expr=os.wrapIdentifiersInExpression(expr,opt_default);return expr};os.attributeMap_={"if":ATT_display,repeat:ATT_select,cur:ATT_innerselect};
os.appendJSTAttribute_=function(node,attrName,value){var previousValue=node[$$PROP_getAttribute](attrName);if(previousValue)value=previousValue+";"+value;node[$$PROP_setAttribute](attrName,value)};
os.copyAttributes_=function(from,to,opt_customTag){for(var dynamicAttributes=null,i=0;i<from[$$PROP_attributes][$$PROP_length];i++){var name=from[$$PROP_attributes][i].nodeName,value=from[$$PROP_getAttribute](name);if(name&&value)if(name=="var")os.appendJSTAttribute_(to,ATT_vars,from[$$PROP_getAttribute](name)+": $this");else if(name=="context")os.appendJSTAttribute_(to,ATT_vars,from[$$PROP_getAttribute](name)+": "+VAR_loop);else if(name[$$PROP_length]<7||name[$$PROP_substring](0,6)!="xmlns:"){if(os.customAttributes_[name])os.appendJSTAttribute_(to,
ATT_eval,"os.doAttribute(this, '"+name+"', $this, $context)");else name=="repeat"&&os.appendJSTAttribute_(to,ATT_eval,"os.setContextNode_($this, $context)");var outName=os.attributeMap_[$$PROP_hasOwnProperty](name)?os.attributeMap_[name]:name,substitution=os.attributeMap_[name]||opt_customTag&&os.globalDisallowedAttributes_[outName]?null:os.parseAttribute_(value);if(substitution){if(outName=="class")outName=".className";else if(outName=="style")outName=".style.cssText";else if(to[$$PROP_getAttribute](os.ATT_customtag))outName=
"."+outName;else if(os.isIe&&!os.customAttributes_[outName]&&outName[$$PROP_substring](0,2)[$$PROP_toLowerCase]()=="on"){outName="."+outName;substitution="new Function("+substitution+")"}else if(outName=="selected"&&to[$$PROP_tagName]=="OPTION")outName=".selected";dynamicAttributes||(dynamicAttributes=[]);dynamicAttributes[$$PROP_push](outName+":"+substitution)}else{if(os.attributeMap_[$$PROP_hasOwnProperty](name)){if(value[$$PROP_length]>3&&value[$$PROP_substring](0,2)=="${"&&value[$$PROP_charAt](value[$$PROP_length]-
1)=="}")value=value[$$PROP_substring](2,value[$$PROP_length]-1);value=os.transformExpression_(value,"null")}else if(outName=="class")to[$$PROP_setAttribute]("className",value);else if(outName=="style")to.style.cssText=value;os.isIe&&!os.customAttributes_[$$PROP_hasOwnProperty](outName)&&outName[$$PROP_substring](0,2)[$$PROP_toLowerCase]()=="on"?to.attachEvent(outName,new Function(value)):to[$$PROP_setAttribute](outName,value)}}}dynamicAttributes&&os.appendJSTAttribute_(to,ATT_values,dynamicAttributes[$$PROP_join](";"))};
os.compileNode_=function(node){if(node[$$PROP_nodeType]==3){var textNode=node[$$PROP_cloneNode](false);return os.breakTextNode_(textNode)}else if(node[$$PROP_nodeType]==1){var output;if(node[$$PROP_tagName][$$PROP_indexOf](":")>0)if(node[$$PROP_tagName]=="os:Repeat"){output=GLOBAL_document[$$PROP_createElement](os.computeContainerTag_(node));output[$$PROP_setAttribute](ATT_select,os.parseAttribute_(node[$$PROP_getAttribute]("expression")));var varAttr=node[$$PROP_getAttribute]("var");varAttr&&os.appendJSTAttribute_(output,
ATT_vars,varAttr+": $this");var contextAttr=node[$$PROP_getAttribute]("context");contextAttr&&os.appendJSTAttribute_(output,ATT_vars,contextAttr+": "+VAR_loop);os.appendJSTAttribute_(output,ATT_eval,"os.setContextNode_($this, $context)")}else if(node[$$PROP_tagName]=="os:If"){output=GLOBAL_document[$$PROP_createElement](os.computeContainerTag_(node));output[$$PROP_setAttribute](ATT_display,os.parseAttribute_(node[$$PROP_getAttribute]("condition")))}else{output=GLOBAL_document[$$PROP_createElement]("span");
output[$$PROP_setAttribute](os.ATT_customtag,node[$$PROP_tagName]);var custom=node[$$PROP_tagName][$$PROP_split](":");os.appendJSTAttribute_(output,ATT_eval,'os.doTag(this, "'+custom[0]+'", "'+custom[1]+'", $this, $context)');var context=node[$$PROP_getAttribute]("cur")||"{}";output[$$PROP_setAttribute](ATT_innerselect,context);if(node[$$PROP_tagName]=="os:render"||node[$$PROP_tagName]=="os:Render"||node[$$PROP_tagName]=="os:renderAll"||node[$$PROP_tagName]=="os:RenderAll")os.appendJSTAttribute_(output,
ATT_values,os.VAR_parentnode+":"+os.VAR_node);os.copyAttributes_(node,output,node[$$PROP_tagName])}else output=os.xmlToHtml_(node);if(output&&!os.processTextContent_(node,output))for(var child=node[$$PROP_firstChild];child;child=child[$$PROP_nextSibling]){var compiledChild=os.compileNode_(child);if(compiledChild)if(os.isArray(compiledChild))for(var i=0;i<compiledChild[$$PROP_length];i++)output[$$PROP_appendChild](compiledChild[i]);else if(compiledChild[$$PROP_tagName]=="TR"&&output[$$PROP_tagName]==
"TABLE"){for(var lastEl=output.lastChild;lastEl&&lastEl[$$PROP_nodeType]!=1&&lastEl.previousSibling;)lastEl=lastEl.previousSibling;if(!lastEl||lastEl[$$PROP_tagName]!="TBODY"){lastEl=GLOBAL_document[$$PROP_createElement]("tbody");output[$$PROP_appendChild](lastEl)}lastEl[$$PROP_appendChild](compiledChild)}else output[$$PROP_appendChild](compiledChild)}return output}return null};
os.computeContainerTag_=function(element){var child=element[$$PROP_firstChild];if(child){for(;child&&!child[$$PROP_tagName];)child=child[$$PROP_nextSibling];if(child){var tag=child[$$PROP_tagName][$$PROP_toLowerCase]();if(tag=="option")return"optgroup";if(tag=="tr")return"tbody"}}return"span"};os.ENTITIES='<!ENTITY nbsp "&#160;">';os.xmlToHtml_=function(xmlNode){var htmlNode=GLOBAL_document[$$PROP_createElement](xmlNode[$$PROP_tagName]);os.copyAttributes_(xmlNode,htmlNode);return htmlNode};
os.fireCallbacks=function(context){for(var callbacks=context.getVariable(os.VAR_callbacks);callbacks[$$PROP_length]>0;){var callback=callbacks.pop();if(callback.onAttach)callback.onAttach();else typeof callback=="function"&&callback[$$PROP_apply]({})}};
os.processTextContent_=function(fromNode,toNode){if(fromNode[$$PROP_childNodes][$$PROP_length]==1&&!toNode[$$PROP_getAttribute](os.ATT_customtag)&&fromNode[$$PROP_firstChild][$$PROP_nodeType]==3){var substitution=os.parseAttribute_(fromNode[$$PROP_firstChild][$$PROP_data]);substitution?toNode[$$PROP_setAttribute](ATT_content,substitution):toNode[$$PROP_appendChild](GLOBAL_document[$$PROP_createTextNode](os.trimWhitespaceForIE_(fromNode[$$PROP_firstChild][$$PROP_data],true,true)));return true}return false};
os.pushTextNode=function(array,text){text[$$PROP_length]>0&&array[$$PROP_push](GLOBAL_document[$$PROP_createTextNode](text))};os.trimWhitespaceForIE_=function(string,opt_trimStart,opt_trimEnd){if(os.isIe){var ret=string[$$PROP_replace](/[\x09-\x0d ]+/g," ");if(opt_trimStart)ret=ret[$$PROP_replace](/^\s/,"");if(opt_trimEnd)ret=ret[$$PROP_replace](/\s$/,"");return ret}return string};
os.breakTextNode_=function(textNode){for(var substRex=os.regExps_.VARIABLE_SUBSTITUTION,text=textNode[$$PROP_data],nodes=[],match=text[$$PROP_match](substRex);match;){match[1][$$PROP_length]>0&&os.pushTextNode(nodes,os.trimWhitespaceForIE_(match[1]));var token=match[2][$$PROP_substring](2,match[2][$$PROP_length]-1);token||(token=VAR_this);var tokenSpan=GLOBAL_document[$$PROP_createElement]("span");tokenSpan[$$PROP_setAttribute](ATT_content,os.transformExpression_(token));nodes[$$PROP_push](tokenSpan);
match=text[$$PROP_match](substRex);text=match[3];match=text[$$PROP_match](substRex)}text[$$PROP_length]>0&&os.pushTextNode(nodes,os.trimWhitespaceForIE_(text));return nodes};os.transformLiteral_=function(string){return"'"+string[$$PROP_replace](/'/g,"\\'")[$$PROP_replace](/\n/g," ")[$$PROP_replace](/;/g,"'+os.SEMICOLON+'")+"'"};
os.parseAttribute_=function(value){if(!value[$$PROP_length])return null;var substRex=os.regExps_.VARIABLE_SUBSTITUTION,text=value,parts=[],match=text[$$PROP_match](substRex);if(!match)return null;for(;match;){match[1][$$PROP_length]>0&&parts[$$PROP_push](os.transformLiteral_(os.trimWhitespaceForIE_(match[1],parts[$$PROP_length]==0)));var expr=match[2][$$PROP_substring](2,match[2][$$PROP_length]-1);expr||(expr=VAR_this);parts[$$PROP_push]("("+os.transformExpression_(expr)+")");text=match[3];match=
text[$$PROP_match](substRex)}text[$$PROP_length]>0&&parts[$$PROP_push](os.transformLiteral_(os.trimWhitespaceForIE_(text,false,true)));return parts[$$PROP_join]("+")};
os.getValueFromNode_=function(node,name){if(name=="*"){for(var children=[],child=node[$$PROP_firstChild];child;child=child[$$PROP_nextSibling])children[$$PROP_push](child);return children}if(name[$$PROP_indexOf](":")>=0)name=name[$$PROP_substring](name[$$PROP_indexOf](":")+1);var ret=node[name];if(typeof ret=="undefined"||ret==null)ret=node[$$PROP_getAttribute](name);if(typeof ret!="undefined"&&ret!=null){if(ret=="false")ret=false;else if(ret=="0")ret=0;return ret}var myMap=node[os.VAR_my];if(!myMap){myMap=
os.computeChildMap_(node);node[os.VAR_my]=myMap}return ret=myMap[name[$$PROP_toLowerCase]()]};os.identifiersNotToWrap_={};os.identifiersNotToWrap_["true"]=true;os.identifiersNotToWrap_["false"]=true;os.identifiersNotToWrap_["null"]=true;os.identifiersNotToWrap_["var"]=true;os.identifiersNotToWrap_[os.VAR_my]=true;os.identifiersNotToWrap_[VAR_this]=true;os.identifiersNotToWrap_[VAR_context]=true;os.identifiersNotToWrap_[VAR_top]=true;os.identifiersNotToWrap_[VAR_loop]=true;
os.canStartIdentifier=function(ch){return ch>="a"&&ch<="z"||ch>="A"&&ch<="Z"||ch=="_"||ch=="$"};os.canBeInIdentifier=function(ch){return os.canStartIdentifier(ch)||ch>="0"&&ch<="9"||ch==":"};os.canBeInToken=function(ch){return os.canBeInIdentifier(ch)||ch=="("||ch==")"||ch=="["||ch=="]"||ch=="."};
os.wrapSingleIdentifier=function(iden,opt_context,opt_default){if(os.identifiersNotToWrap_[$$PROP_hasOwnProperty](iden)&&(!opt_context||opt_context==VAR_context))return iden;return os.VAR_identifierresolver+"("+(opt_context||VAR_context)+", '"+iden+"'"+(opt_default?", "+opt_default:"")+")"};
os.wrapIdentifiersInToken=function(token,opt_default){if(!os.canStartIdentifier(token[$$PROP_charAt](0)))return token;if(token[$$PROP_substring](0,os.VAR_msg[$$PROP_length]+1)==os.VAR_msg+"."&&os.gadgetPrefs_){var key=token[$$PROP_split](".")[1],msg=os.getPrefMessage(key)||"";return os.parseAttribute_(msg)||os.transformLiteral_(msg)}for(var identifiers=os.tokenToIdentifiers(token),parts=false,buffer=[],output=null,i=0;i<identifiers[$$PROP_length];i++){var iden=identifiers[i];if(parts=os.breakUpParens(iden)){SETPROP_length(buffer,
0);buffer[$$PROP_push](os.wrapSingleIdentifier(parts[0],output));for(var j=1;j<parts[$$PROP_length];j+=3){buffer[$$PROP_push](parts[j]);parts[j+1]&&buffer[$$PROP_push](os.wrapIdentifiersInExpression(parts[j+1]));buffer[$$PROP_push](parts[j+2])}output=buffer[$$PROP_join]("")}else output=os.wrapSingleIdentifier(iden,output,opt_default)}return output};
os.wrapIdentifiersInExpression=function(expr,opt_default){for(var out=[],tokens=os.expressionToTokens(expr),i=0;i<tokens[$$PROP_length];i++)out[$$PROP_push](os.wrapIdentifiersInToken(tokens[i],opt_default));return out[$$PROP_join]("")};
os.expressionToTokens=function(expr){for(var tokens=[],inquotes=false,inidentifier=false,inparens=0,escaped=false,quotestart=null,buffer=[],i=0;i<expr[$$PROP_length];i++){var ch=expr[$$PROP_charAt](i);if(inquotes)if(!escaped&&ch==quotestart)inquotes=false;else escaped=ch=="\\"?true:false;else if(ch=="'"||ch=='"'){inquotes=true;quotestart=ch}else{if(ch=="(")inparens++;else ch==")"&&inparens>0&&inparens--;if(!(inparens>0))if(!inidentifier&&os.canStartIdentifier(ch)){if(buffer[$$PROP_length]>0){tokens[$$PROP_push](buffer[$$PROP_join](""));
SETPROP_length(buffer,0)}inidentifier=true}else if(inidentifier)if(!os.canBeInToken(ch)){tokens[$$PROP_push](buffer[$$PROP_join](""));SETPROP_length(buffer,0);inidentifier=false}}buffer[$$PROP_push](ch)}tokens[$$PROP_push](buffer[$$PROP_join](""));return tokens};
os.tokenToIdentifiers=function(token){for(var inquotes=false,quotestart=null,escaped=false,buffer=[],identifiers=[],i=0;i<token[$$PROP_length];i++){var ch=token[$$PROP_charAt](i);if(inquotes){if(!escaped&&ch==quotestart)inquotes=false;else escaped=ch=="\\"?true:false;buffer[$$PROP_push](ch)}else if(ch=="'"||ch=='"'){buffer[$$PROP_push](ch);inquotes=true;quotestart=ch}else if(ch=="."&&!inquotes){identifiers[$$PROP_push](buffer[$$PROP_join](""));SETPROP_length(buffer,0)}else buffer[$$PROP_push](ch)}identifiers[$$PROP_push](buffer[$$PROP_join](""));
return identifiers};
os.breakUpParens=function(identifier){var parenIndex=identifier[$$PROP_indexOf]("("),bracketIndex=identifier[$$PROP_indexOf]("[");if(parenIndex<0&&bracketIndex<0)return false;var parts=[];if(parenIndex<0||bracketIndex>=0&&bracketIndex<parenIndex){parenIndex=0;parts[$$PROP_push](identifier[$$PROP_substring](0,bracketIndex))}else{bracketIndex=0;parts[$$PROP_push](identifier[$$PROP_substring](0,parenIndex))}for(var parenstart=null,inquotes=false,quotestart=null,parenlevel=0,escaped=false,buffer=[],i=
bracketIndex+parenIndex;i<identifier[$$PROP_length];i++){var ch=identifier[$$PROP_charAt](i);if(inquotes){if(!escaped&&ch==quotestart)inquotes=false;else escaped=ch=="\\"?true:false;buffer[$$PROP_push](ch)}else if(ch=="'"||ch=='"'){inquotes=true;quotestart=ch;buffer[$$PROP_push](ch)}else if(parenlevel==0){if(ch=="("||ch=="["){parenstart=ch;parenlevel++;parts[$$PROP_push](ch);SETPROP_length(buffer,0)}}else if(parenstart=="("&&ch==")"||parenstart=="["&&ch=="]"){parenlevel--;if(parenlevel==0){parts[$$PROP_push](buffer[$$PROP_join](""));
parts[$$PROP_push](ch)}else buffer[$$PROP_push](ch)}else{ch==parenstart&&parenlevel++;buffer[$$PROP_push](ch)}}return parts};os.Loader={};os.Loader.loadedUrls_={};os.Loader.loadUrl=function(url,callback){typeof GLOBAL_window.gadgets!="undefined"?os.Loader.requestUrlGadgets_(url,callback):os.Loader.requestUrlXHR_(url,callback)};
os.Loader.requestUrlXHR_=function(url,callback){if(os.Loader.loadedUrls_[url])GLOBAL_window[$$PROP_setTimeout](callback,0);else{var req=null;req=typeof XMLHttpRequest!="undefined"?new XMLHttpRequest:new ActiveXObject("MSXML2.XMLHTTP");req.open("GET",url,true);req.onreadystatechange=function(){if(req.readyState==4){os.Loader.loadContent(req.responseText);os.Loader.loadedUrls_[url]=true;callback()}};req[$$PROP_send](null)}};
os.Loader.requestUrlGadgets_=function(url,callback){var params={},gadgets=GLOBAL_window.gadgets;if(os.Loader.loadedUrls_[url])GLOBAL_window[$$PROP_setTimeout](callback,0);else{params[gadgets.io.RequestParameters.CONTENT_TYPE]=gadgets.io.ContentType.TEXT;gadgets.io.makeRequest(url,function(obj){os.Loader.loadContent(obj[$$PROP_data]);os.Loader.loadedUrls_[url]=true;callback()},params)}};
os.Loader.loadUrls=function(urls,callback){var loadOne=function(){urls[$$PROP_length]==0?callback():os.Loader.loadUrl(urls.pop(),loadOne)};loadOne()};os.Loader.loadContent=function(xmlString){var doc=opensocial.xmlutil.parseXML(xmlString),templatesNode=doc[$$PROP_firstChild];os.Loader.processTemplatesNode(templatesNode)};os.Loader.getProcessorFunction_=function(tagName){return os.Loader["process"+tagName+"Node"]||null};
os.Loader.processTemplatesNode=function(node){for(var child=node[$$PROP_firstChild];child;child=child[$$PROP_nextSibling])if(child[$$PROP_nodeType]==1){var handler=os.Loader.getProcessorFunction_(child[$$PROP_tagName]);handler&&handler(child)}};os.Loader.processNamespaceNode=function(node){var prefix=node[$$PROP_getAttribute]("prefix"),url=node[$$PROP_getAttribute]("url");os.createNamespace(prefix,url)};
os.Loader.processTemplateDefNode=function(node){for(var tag=node[$$PROP_getAttribute]("tag"),name=node[$$PROP_getAttribute]("name"),child=node[$$PROP_firstChild];child;child=child[$$PROP_nextSibling])if(child[$$PROP_nodeType]==1){var handler=os.Loader.getProcessorFunction_(child[$$PROP_tagName]);handler&&handler(child,tag,name)}};
os.Loader.processTemplateNode=function(node,opt_tag,opt_name){var tag=opt_tag||node[$$PROP_getAttribute]("tag"),name=opt_name||node[$$PROP_getAttribute]("name");if(tag){var tagParts=tag[$$PROP_split](":");if(tagParts[$$PROP_length]!=2)throw"Invalid tag name: "+tag;var nsObj=os.getNamespace(tagParts[0]);if(!nsObj)throw"Namespace not registered: "+tagParts[0]+" while trying to define "+tag;var template=os.compileXMLNode(node);nsObj[tagParts[1]]=os.createTemplateCustomTag(template)}else if(name){template=
os.compileXMLNode(node);template.id=name;os.registerTemplate(template)}};os.Loader.processJavaScriptNode=function(node){for(var contentNode=node[$$PROP_firstChild];contentNode;contentNode=contentNode[$$PROP_nextSibling])os.Loader.injectJavaScript(contentNode[$$PROP_nodeValue])};os.Loader.processStyleNode=function(node){for(var contentNode=node[$$PROP_firstChild];contentNode;contentNode=contentNode[$$PROP_nextSibling])os.Loader.injectStyle(contentNode[$$PROP_nodeValue])};
os.Loader.headNode_=GLOBAL_document[$$PROP_getElementsByTagName]("head")[0]||GLOBAL_document[$$PROP_getElementsByTagName]("*")[0];os.Loader.injectJavaScript=function(jsCode){var scriptNode=GLOBAL_document[$$PROP_createElement]("script");scriptNode.type="text/javascript";scriptNode.text=jsCode;os.Loader.headNode_[$$PROP_appendChild](scriptNode)};
os.Loader.injectStyle=function(cssCode){var sheet;GLOBAL_document.styleSheets[$$PROP_length]==0&&GLOBAL_document[$$PROP_getElementsByTagName]("head")[0][$$PROP_appendChild](GLOBAL_document[$$PROP_createElement]("style"));sheet=GLOBAL_document.styleSheets[0];for(var rules=cssCode[$$PROP_split]("}"),i=0;i<rules[$$PROP_length];i++){var rule=rules[i][$$PROP_replace](/\n/g,"")[$$PROP_replace](/\s+/g," ");if(rule[$$PROP_length]>2)if(sheet.insertRule){rule+="}";sheet.insertRule(rule,sheet.cssRules[$$PROP_length])}else{var ruleParts=
rule[$$PROP_split]("{");sheet.addRule(ruleParts[0],ruleParts[1])}}};os.Container={};os.Container.inlineTemplates_=[];os.Container.domLoadCallbacks_=null;os.Container.domLoaded_=false;os.Container.autoProcess_=true;if(GLOBAL_window.gadgets){var params=GLOBAL_gadgets[$$PROP_util].getFeatureParameters("opensocial-templates");if(params&&params.disableAutoProcessing&&params.disableAutoProcessing[$$PROP_toLowerCase]!="false")os.Container.autoProcess_=false}os.Container.processed_=false;
os.Container.disableAutoProcessing=function(){if(os.Container.processed_)throw"Document already processed.";os.Container.autoProcess_=false};os.disableAutoProcessing=os.Container.disableAutoProcessing;
os.Container.registerDomLoadListener_=function(){var gadgets=GLOBAL_window.gadgets;if(gadgets&&gadgets[$$PROP_util])gadgets[$$PROP_util].registerOnLoadHandler(os.Container.onDomLoad_);else typeof GLOBAL_navigator!="undefined"&&GLOBAL_navigator.product&&GLOBAL_navigator.product=="Gecko"&&GLOBAL_window.addEventListener("DOMContentLoaded",os.Container.onDomLoad_,false);if(GLOBAL_window.addEventListener)GLOBAL_window.addEventListener("load",os.Container.onDomLoad_,false);else if(GLOBAL_document.body){var oldOnLoad=
GLOBAL_window.onload||function(){};GLOBAL_window.onload=function(){oldOnLoad();os.Container.onDomLoad_()}}else setTimeout(arguments.callee,0)};os.Container.onDomLoad_=function(){if(!os.Container.domLoaded_){for(;os.Container.domLoadCallbacks_[$$PROP_length];)try{os.Container.domLoadCallbacks_.pop()()}catch(e){os.log(e)}os.Container.domLoaded_=true}};
os.Container.executeOnDomLoad=function(callback){if(os.Container.domLoaded_)setTimeout(callback,0);else{if(os.Container.domLoadCallbacks_==null){os.Container.domLoadCallbacks_=[];os.Container.registerDomLoadListener_()}os.Container.domLoadCallbacks_[$$PROP_push](callback)}};
os.Container.registerDocumentTemplates=function(opt_doc){for(var doc=opt_doc||GLOBAL_document,nodes=doc[$$PROP_getElementsByTagName](os.Container.TAG_script_),i=0;i<nodes[$$PROP_length];++i){var node=nodes[i];if(os.Container.isTemplateType_(node[$$PROP_type])){var tag=node[$$PROP_getAttribute]("tag");if(tag)os.Container.registerTagElement_(node,tag);else node[$$PROP_getAttribute]("name")&&os.Container.registerTemplateElement_(node,node[$$PROP_getAttribute]("name"))}}};
os.Container.compileInlineTemplates=function(opt_data,opt_doc){for(var doc=opt_doc||GLOBAL_document,nodes=doc[$$PROP_getElementsByTagName](os.Container.TAG_script_),i=0;i<nodes[$$PROP_length];++i){var node=nodes[i];if(os.Container.isTemplateType_(node[$$PROP_type])){var name=node[$$PROP_getAttribute]("name")||node[$$PROP_getAttribute]("tag");if(!name||name[$$PROP_length]<0){var template=os.compileTemplate(node);template?os.Container.inlineTemplates_[$$PROP_push]({template:template,node:node}):os.warn("Failed compiling inline template.")}}}};
os.Container.defaultContext=null;os.Container.getDefaultContext=function(){if(!os.Container.defaultContext)os.Container.defaultContext=GLOBAL_window.gadgets&&GLOBAL_gadgets[$$PROP_util].hasFeature("opensocial-data")||opensocial[$$PROP_data].DataContext?os.createContext(opensocial[$$PROP_data].DataContext[$$PROP_getData]()):os.createContext({});return os.Container.defaultContext};
os.Container.renderInlineTemplates=function(opt_doc){for(var doc=opt_doc||GLOBAL_document,context=os.Container.getDefaultContext(),inlined=os.Container.inlineTemplates_,i=0;i<inlined[$$PROP_length];++i){var template=inlined[i].template,node=inlined[i].node,id="_T_"+template.id,el=doc[$$PROP_getElementById](id);if(!el){el=doc[$$PROP_createElement]("div");el[$$PROP_setAttribute]("id",id);node[$$PROP_parentNode].insertBefore(el,node)}if(GLOBAL_window.gadgets&&GLOBAL_gadgets[$$PROP_util].hasFeature("opensocial-data")||
opensocial[$$PROP_data].DataContext){var beforeData=node[$$PROP_getAttribute]("before")||node[$$PROP_getAttribute]("beforeData");if(beforeData){var keys=beforeData[$$PROP_split](/[\, ]+/);opensocial[$$PROP_data].DataContext.registerListener(keys,os.Container.createHideElementClosure(el))}var requiredData=node[$$PROP_getAttribute]("require")||node[$$PROP_getAttribute]("requireData");if(requiredData){keys=requiredData[$$PROP_split](/[\, ]+/);var callback=os.Container.createRenderClosure(template,el,
null,os.Container.getDefaultContext());"true"==node[$$PROP_getAttribute]("autoUpdate")?opensocial[$$PROP_data].DataContext.registerListener(keys,callback):opensocial[$$PROP_data].DataContext.registerOneTimeListener_(keys,callback)}else template.renderInto(el,null,context)}else template.renderInto(el,null,context)}};os.Container.createRenderClosure=function(template,element,opt_data,opt_context){var closure=function(){template.renderInto(element,opt_data,opt_context)};return closure};
os.Container.createHideElementClosure=function(element){var closure=function(){displayNone(element)};return closure};os.Container.registerTemplate=function(elementId){var element=GLOBAL_document[$$PROP_getElementById](elementId);return os.Container.registerTemplateElement_(element)};os.Container.registerTag=function(elementId){var element=GLOBAL_document[$$PROP_getElementById](elementId);os.Container.registerTagElement_(element,elementId)};
os.Container.renderElement=function(elementId,templateId,opt_data){var template=os.getTemplate(templateId);if(template){var element=GLOBAL_document[$$PROP_getElementById](elementId);element?template.renderInto(element,opt_data):os.warn("Element ("+elementId+") not found to render into.")}else os.warn("Template ("+templateId+") not registered.")};os.Container.processInlineTemplates=function(opt_doc){os.Container.compileInlineTemplates(opt_doc);os.Container.renderInlineTemplates(opt_doc)};
os.Container.processDocument=function(opt_doc){os.Container.registerDocumentTemplates(opt_doc);os.Container.processInlineTemplates(opt_doc);os.Container.processed_=true};os.process=os.Container.processDocument;os.Container.executeOnDomLoad(function(){os.Container.autoProcess_&&os.Container.processDocument()});os.Container.TAG_script_="script";os.Container.templateTypes_={};os.Container.templateTypes_["text/os-template"]=true;os.Container.templateTypes_["text/template"]=true;
os.Container.isTemplateType_=function(typeName){return os.Container.templateTypes_[typeName]!=null};os.Container.registerTemplateElement_=function(element,opt_id){var template=os.compileTemplate(element,opt_id);template?os.registerTemplate(template):os.warn("Could not compile template ("+element.id+")");return template};
os.Container.registerTagElement_=function(element,name){var template=os.Container.registerTemplateElement_(element);if(template){var tagParts=name[$$PROP_split](":"),nsObj=os.getNamespace(tagParts[0]);nsObj||(nsObj=os.createNamespace(tagParts[0],null));nsObj[tagParts[1]]=os.createTemplateCustomTag(template)}};
os.defineBuiltinTags=function(){var osn=os.getNamespace("os")||os.createNamespace("os","http://ns.opensocial.org/2008/markup");osn.Render=function(node,data,context){var parent=context.getVariable(os.VAR_parentnode),exp=node[$$PROP_getAttribute]("content")||"*",result=os.getValueFromNode_(parent,exp);if(result)if(typeof result=="string"){var textNode=GLOBAL_document[$$PROP_createTextNode](result);result=[];result[$$PROP_push](textNode)}else if(os.isArray(result)){if(exp!="*"&&result[$$PROP_length]==
1&&result[0][$$PROP_nodeType]==1){resultArray=[];for(var child=result[0][$$PROP_firstChild];child;child=child[$$PROP_nextSibling])resultArray[$$PROP_push](child);result=resultArray}}else{for(var resultArray=[],i=0;i<result[$$PROP_childNodes][$$PROP_length];i++)resultArray[$$PROP_push](result[$$PROP_childNodes][i]);result=resultArray}else return"";if(os.isIe)for(i=0;i<result[$$PROP_length];i++)if(result[i][$$PROP_nodeType]==3){var trimmed=os.trimWhitespaceForIE_(result[i][$$PROP_nodeValue],i==0,i==
result[$$PROP_length]-1);if(trimmed!=result[i][$$PROP_nodeValue]){result[i][$$PROP_parentNode][$$PROP_removeChild](result[i]);result[i]=GLOBAL_document[$$PROP_createTextNode](trimmed)}}return result};osn.render=osn.RenderAll=osn.renderAll=osn.Render;osn.Html=function(node){var html=node.code?""+node.code:node[$$PROP_getAttribute]("code")||"";return html};function createClosure(object,method){return function(){method[$$PROP_apply](object)}}function processOnAttach(node,code,data,context){var callbacks=
context.getVariable(os.VAR_callbacks),func=new Function(code);callbacks[$$PROP_push](createClosure(node,func))}os.registerAttribute_("onAttach",processOnAttach)};os.defineBuiltinTags();
os.resolveOpenSocialIdentifier=function(object,name){if(typeof object[name]!="undefined")return object[name];var functionName=os.getPropertyGetterName(name);if(object[functionName])return object[functionName]();if(object.getField){var fieldData=object.getField(name);if(fieldData)return fieldData}if(object.get){var responseItem=object.get(name);if(responseItem&&responseItem[$$PROP_getData]){var data=responseItem[$$PROP_getData]();return data.array_||data}return responseItem}var und;return und};os.setIdentifierResolver(os.resolveOpenSocialIdentifier);
os.createOpenSocialGetMethods_=function(object,fields){if(object&&fields)for(var key in fields){var value=fields[key],getter=os.getPropertyGetterName(value);object[$$PROP_prototype][getter]=function(){this.getField(key)}}};os.registerOpenSocialFields_=function(){};os.registerOpenSocialFields_();opensocial.template.Container.disableAutoProcessing();goog.friendconnect={};goog[$$PROP_friendconnect].newFetchInterestHintRequest=function(opt_max_hints,opt_seed){var rpcParams={command:"GetInterestHint",params:{maxHints:opt_max_hints?opt_max_hints:1,seed:opt_seed?opt_seed:0}},rpc={method:"extensions.get",params:rpcParams};return new JsonRpcRequestItem(rpc)};
goog[$$PROP_friendconnect].updateProfileExtensions=function(extensions,opt_callback){var person={},personExtensions={};person.profileExtensions=personExtensions;for(var extId in extensions){var extensionIn=extensions[extId];if(extensionIn.choiceId&&!goog.isArray(extensionIn.choiceId))extensionIn.choiceId=[extensionIn.choiceId];var extensionOut={};extensionOut.value=extensionIn;personExtensions[extId]=extensionOut}var rpc={method:"people.put",params:{}};rpc.params={};rpc.params.person=person;rpc.params.userId=
["@viewer"];var req=opensocial.newDataRequest();req.add(new JsonRpcRequestItem(rpc),"update");var callback=function(response){opt_callback&&opt_callback(response.get("update"))};req[$$PROP_send](callback)};goog[$$PROP_friendconnect].showMemberProfile=function(memberId,opt_siteId,opt_onCloseCallback){goog.peoplesense.PeopleSenseContainerImpl.showMemberProfile(memberId,opt_siteId,opt_onCloseCallback)};goog.exportSymbol("google.friendconnect.newFetchInterestHintRequest",goog[$$PROP_friendconnect].newFetchInterestHintRequest);
goog.exportSymbol("google.friendconnect.updateProfileExtensions",goog[$$PROP_friendconnect].updateProfileExtensions);goog.exportSymbol("google.friendconnect.showMemberProfile",goog[$$PROP_friendconnect].showMemberProfile);goog.peoplesense.DataRequest=function(){opensocial.DataRequest[$$PROP_call](this);this.addedRequestObjects_=[];this.finalCallback_=this.responseItem_=this.response_=this.requestObject_=null};goog.inherits(goog.peoplesense.DataRequest,opensocial.DataRequest);a=goog.peoplesense.DataRequest[$$PROP_prototype];a.add=function(req,opt_key){this.addedRequestObjects_[$$PROP_push]({key:opt_key,request:req});return goog.peoplesense.DataRequest.superClass_.add[$$PROP_call](this,req,opt_key)};
a.resendCallback_=function(signature){if(signature){this.requestObject_.rpc.params.sig=signature;var req=opensocial.newDataRequest();req.add(this.requestObject_,"internalRetry");var callback=goog.bind(this.resendDone_,this);req[$$PROP_send](callback)}goog[$$PROP_object][$$PROP_remove](this.responseItem_,"urlForApproval");goog[$$PROP_object][$$PROP_remove](this.responseItem_,"width");goog[$$PROP_object][$$PROP_remove](this.responseItem_,"height");goog[$$PROP_object][$$PROP_remove](this.responseItem_,
"title")};a.resendDone_=function(data){var newResponseItem=data.get("internalRetry");goog[$$PROP_object].clear(this.responseItem_);for(var key in newResponseItem)this.responseItem_[key]=newResponseItem[key];this.sendCallback_()};
a.sendCallback_=function(opt_callback,opt_response){if(opt_callback)this.finalCallback_=opt_callback;if(opt_response)this.response_=opt_response;for(var openedLightbox=false,i=0;i<this.addedRequestObjects_[$$PROP_length];++i){var entry=this.addedRequestObjects_[i],key=entry.key;if(key){this.requestObject_=entry.request;this.responseItem_=this.response_.get(key);var responseData=this.responseItem_[$$PROP_getData]();if(responseData&&responseData.urlForApproval){var url=responseData.urlForApproval,width=
responseData.width,height=responseData.height,title=responseData.title;openedLightbox=true;var postBody={};postBody.json=GLOBAL_gadgets.json.stringify(this.requestObject_.rpc);var callback=goog.bind(this.resendCallback_,this);goog.peoplesense.PeopleSenseContainerImpl.openLightboxIframe(url,width,height,title,postBody,true,false,callback);break}}}!openedLightbox&&this.finalCallback_&&this.finalCallback_(this.response_)};
a.send=function(opt_callback){var callback=goog.bind(this.sendCallback_,this,opt_callback);opensocial.Container.get().requestData(this,callback)};goog.peoplesense.newDataRequest=function(){return new goog.peoplesense.DataRequest};goog.exportSymbol("google.friendconnect.DataRequest.prototype.send",goog.peoplesense.DataRequest[$$PROP_prototype][$$PROP_send]);goog.exportSymbol("opensocial.newDataRequest",goog.peoplesense.newDataRequest);
window['__fc_os_loaded__'] = true; 
 }