var as = {};as.global = {};as.global.onclick = function() {};as.global.onmouseover = function() {};as.global.onmouseout = function() {};/* MODULE TYPE */ var CONST_MODULE_TYPE_MODULE = "MODULE"; var CONST_MODULE_TYPE_COMPONENT = "COMPONENT"; /* AJAX TYPE */ var CONST_AJAX_TYPE_READFILE = "1"; var CONST_AJAX_TYPE_SENDPOST = "2"; var CONST_AJAX_TYPE_SENDGET = "4"; /* EXECUTE COMMAND TYPE */ var CONST_COMMAND_SERVER_POST = "1"; var CONST_COMMAND_SERVER_GET = "2"; var CONST_COMMAND_SERVER_POST_SYNC = "4"; var CONST_COMMAND_SERVER_GET_SYNC = "8"; var CONST_COMMAND_LOCAL = "16"; var CONST_COMMAND_AUTHKEY = "32"; var CONST_COMMAND_SERVER_POST_UPLOAD = "64";/* COMMON UTILS */ var _onmouseover = function() {}; var _onmouseout = function() {}; var _onclick = function() {}; function a() {}; function $str_rev (str) { var l = str.length-1; var newStr = ""; for (var x=l; x>=0; x--) { newStr += str.charAt(x); }; return newStr; }; function $fixIE() { var newEl = document.createElement ("table"); document.body.appendChild (newEl); newEl.removeNode(true); }; function $getX (obj) { var curleft = 0; if (obj.offsetParent) { while (1) { curleft += obj.offsetLeft; if (!obj.offsetParent) break; obj = obj.offsetParent; }; } else if (obj.x) curleft += obj.x; return curleft; }; function $getY (obj) { var curtop = 0; if (obj.offsetParent) { while (1) { curtop += obj.offsetTop; if (!obj.offsetParent) break; obj = obj.offsetParent; }; } else if (obj.x) curtop += obj.x; return curtop; }; function $decodeURI (str, linebreak) { if (str) { str = str.replace(/##amp;/gi, "&"); str = str.replace(/%2520/gi, " "); str = str.replace(/'/gi, "'"); str = str.replace(/"/gi, '"'); str = str.replace(/</gi, "<"); str = str.replace(/>/gi, ">"); if (linebreak) str = str.replace(/
/gi, "\n"); } else str = ""; return str; }; function $encodeURI (str) { str = encodeURI(str); str = str.replace(/%0A/gi, "
"); str = decodeURI(str); str = str.replace(/'/gi, "'"); str = str.replace(/"/gi, """); str = str.replace(//gi, ">"); str = str.replace(/&/gi, '##amp;'); return str; }; function $escChars(str) { var newstr = str; newstr = newstr.replace(//gi, ">"); newstr = newstr.replace(/%/gi, "%"); newstr = newstr.replace(/%/gi, "&"); newstr = newstr.replace(/'/gi, "'"); newstr = newstr.replace(/"/gi, """); return newstr; }; function $getCurrentHref() { var tmpHref = document.location.href; tmpData = tmpHref.split("/"); return tmpData[tmpData.length-1]; }; /* FORMAT PARAM TO JSON OBJECT */ function $A$F$JSON(params) { var result = null; try { result = $A$F$JSONMAP(params); } catch (e) { as.logs.addLog("util.js", "'$A$F$JSON' CANNOT GENERATE KEY VALUE PAIR CORRECTLY. CHECK YOUR FRONT END PARAMETERS! >> "+e.message); }; return result; }; function $A$F$JSONMAP(params) { var result = ""; if(params instanceof Array){ var innerCounter = 0; result += "["; for (var el in params) { if (innerCounter > 0) result += ","; if (typeof params[el] == 'object') result += $A$F$JSONMAP(params[el]); else result += $A$F$JSONMAP(params[el]); innerCounter++; }; result += "]"; } else if (typeof params == 'object') { var innerCounter = 0; result += "{"; for (var el in params){ if (innerCounter > 0) result += ","; result += '"'+el+'"'+":"; result +=$A$F$JSONMAP(params[el]); innerCounter++; }; result += "}"; } else { result += '"'+params+'"'; }; return result; }; function $executeCommand(requestType, url, params, process) { try { var sendParams = null; if (params) sendParams = $A$F$JSON(params); /* ?bustcache - To force refresh in IE when AJAX load the url page */ switch(requestType) { case CONST_COMMAND_SERVER_GET: requestMethod = "GET"; requestURL = "/"+url requestParams = "bustcache="+new Date().getTime(); break; case CONST_COMMAND_SERVER_GET_SYNC: requestMethod = "GET"; requestURL = "/executeServlet.php"; requestParams = "hub="+as.info.hub+"&command="+url+"&_auth="+$str_rev(as.info._AUTHKEY)+"&bustcache="+new Date().getTime() + "¶ms="+ sendParams; break; case CONST_COMMAND_AUTHKEY: requestMethod = "POST"; requestURL = "/checkAuthKey.php"; requestParams = "_auth="+$str_rev(as.info._AUTHKEY)+"&bustcache="+new Date().getTime() + "¶ms="+ sendParams; break; default: requestMethod = "POST"; switch(as.info.stage) { case "DEV": stage = "local."; break; case "BETA": stage = "beta-"; break; default: stage = ""; break; }; cache = new Date().getTime(); //"http://"+stage+"api."+as.info.namespace+ requestURL = "/servlet/send/json/"+$str_rev(as.info._AUTHKEY)+"/"+cache+"/"+url; requestParams = "params="+sendParams; break; }; //alert(requestParams); // cross-domain //var xdrCfg = { src:'/includes/js/libs/yui/io/io.swf' }; //as.yui.io.transport(xdrCfg); // Success Handler function handleSuccess(ioId, o, process, success) { if (o.responseText !== undefined) { var obj = null; try { if (success) { obj = as.yui.JSON.parse(o.responseText); as.logs.addLog("transaction id >> "+ioId+" >> success params >>"+o.responseText); } else { obj = {validation: false, error: "Cannot process call"}; }; } catch (e) { as.logs.addError(this.filename, url+" >> "+e.message); }; try { this._p = process; this._p(obj); as.yui.detach("io:complete"); as.yui.detach("io:failure"); } catch(e) { as.logs.addError(this.filename, url+" >> "+e.message); }; }; }; // subscribe io handlers as.yui.on('io:complete', handleSuccess, this, process, true); as.yui.on('io:failure', handleSuccess, this, process, false); // config data var cfg = { method: requestMethod, use: 'native', data: requestParams, timeout: 360000 }; // Upload Form if (requestType == CONST_COMMAND_SERVER_POST_UPLOAD) { cfg.form = { id: params._formid, upload: true }; }; as.logs.addLog(url + " using method >> "+requestMethod); as.logs.addLog(url + " params >> "+requestParams); as.yui.io.header('Content-Type', 'application/json'); as.yui.io(requestURL, cfg); } catch(e) { as.logs.addError(this.filename, requestURL + " using method >> "+requestMethod + " >> "+e.message); }; }; function $uploadFile(oForm, oCommand, oParams, callback) { try { var params = "hub="+$_HUB+"&_auth="+$str_rev(_AUTHKEY)+"&bustcache="+new Date().getTime()+"&command="+oCommand+"&"+oParams; YAHOO.util.Connect.setForm(oForm, true); YAHOO.util.Connect.asyncRequest('GET', "/executeServlet.php", callback, params); } catch (e) { $C.addLog("ERROR >> utils.js 'uploadFile()' >> "+e.message); }; }; function $timeoutMessage(obj, text) { obj.setStyle("display", ""); obj.set("innerHTML", text); self.setTimeout("$timeoutMessageAction('"+obj.get("id")+"')", 10000); }; function $timeoutMessageAction(id) { as.yui.one("#"+id).setStyle("display", "none"); }; function $buildImage(params) { var d = params.img.split("."); var img = "http://local.images.edoujinbooks.com/img/jpg/" + params.ws + "/"+params.type + "/"+params.w + "/"+params.id + "/"+d[0] + "/"+(params.name ? params.name : "thumb") +".jpg"; return img; }; function $handleErrors (error) { switch (error) { case "1001": return "Cannot connect to server."; break; case "1002": return "You do not have access to this area."; break; case "1003": return "Invalid captcha input."; break; case "1004": return "You already register to AschSocial's Network. Do you want to join this community?"; break; case "1005": return "Cannot retrieve user info."; break; case "1006": return "Cannot process action."; break; case "1011": return "Your session has timed out. Please relogin."; break; case "1012": return "Your user id does not match current session."; break; case "1013": return "SMTP Error. Cannot send out email."; break; case "1101": return "Cannot connect to Paypal server."; break; case "1102": return "Cannot connect to Amazon AWS server."; break; case "1103": return "Invalid call to Amazon server."; break; default: return error; }; }; function $checkValue(type, obj, text) { var v = true; switch(type) { case "null": var c = as.yui.Lang.isNull(obj); if ((!c) && (obj.get("value") == "")) v = false; break; }; // Load error message if (!v) { var eObj = as.yui.one("#"+obj.get("id")+"Error"); eObj.setStyle("display", ""); eObj.set("innerHTML", text+" is a required field."); } return v; }; // FIELDS CHECK function $checkEmpty(obj, text) { var v = true; text = text || ""; var eObj = YAHOO.util.Dom.get(obj.id+"Error"); eObj.style.display = "none"; if (parseInt(obj.value.length) == 0) { v = false; var eObj = YAHOO.util.Dom.get(obj.id+"Error"); eObj.style.display = ""; eObj.innerHTML = text+" is a required field."; } return v; }; function $checkNumber(obj, text) { var v = true; if (parseInt(obj.value.length) > 0) { var anum=/(^\d+$)|(^\d+\.\d+$)/; if (anum.test(obj.value)) { } else { var eObj = YAHOO.util.Dom.get(obj.id+"Error"); if (eObj && text) { eObj.style.display = ""; eObj.innerHTML = text; }; v = false; }; }; return v; }; function $checkLength(el, l, text) { var v = true; if ($checkEmpty(el, text)) { eObj = YAHOO.util.Dom.get(el.id+"Error"); if (parseInt(el.value.length) < l) { eObj.style.display = ""; eObj.innerHTML = text+" must be a minimum of "+l+" characters."; v = false; } else eObj.innerHTML = ""; } else v = false; return v; }; function $checkEmail(el, text) { var v = true; if ($checkEmpty(el, text)) { var orig_str = el.value; if (orig_str != "" ) { var regexp_Email = /^\w([\w\._\-\&']*)?@\w([\w\._\-]*)?\.\w{2}([\w\.]*)?$/; eObj = YAHOO.util.Dom.get(el.id+"Error"); if ( !regexp_Email.test( orig_str ) ) { eObj.style.display = ""; eObj.innerHTML = text+" is not a valid address."; v = false; } else eObj.innerHTML = ""; }; } else v = false; return v; }; function $checkDropdown(el, text) { var v = true; eObj = YAHOO.util.Dom.get(el.id+"Error"); if ((el.length > 0) && (el.selectedIndex < 1)) { v = false; eObj.innerHTML = text+" is a required field."; } else eObj.innerHTML = ""; return v; }; function $getRadioBoxValue (el) { var length = el.length; for (var x=0; x> "+filename+" - "+msg); }; errorsLogger.prototype.addWarning = function(filename, msg) { this.addLog("WARNING >> "+filename+" - "+msg); }; errorsLogger.prototype.addLog = function(value) { if (this.logsDiv) { var newDate = new Date(); var tmpYear = (newDate.getYear() < 1900) ? 1900 + newDate.getYear() : newDate.getYear(); var tmpHours = (newDate.getHours() < 10) ? "0"+newDate.getHours() : newDate.getHours(); var tmpMinutes = (newDate.getMinutes() < 10) ? "0"+newDate.getMinutes() : newDate.getMinutes(); var tmpSeconds = (newDate.getSeconds() < 10) ? "0"+newDate.getSeconds() : newDate.getSeconds(); var tmpMiliSeconds = newDate.getMilliseconds(); if (tmpMiliSeconds < 10) tmpMiliSeconds = "00" + tmpMiliSeconds; else if (tmpMiliSeconds < 100) tmpMiliSeconds = "0" + tmpMiliSeconds; var newObject = new Object(); newObject.timestamp = (newDate.getMonth()+1) + "/" + newDate.getDate() + "/" + tmpYear + " " + tmpHours + ":" + tmpMinutes + ":" + tmpSeconds + ":" + tmpMiliSeconds; newObject.logString = value; newObject.index = this.logsCounter; this.logsCounter++; this.logsList.add(newObject); this.displayLogs(); }; }; errorsLogger.prototype.deleteLog = function(index) { var deleteObj = this.findLog(index); this.logsList.remove(deleteObj); }; errorsLogger.prototype.clearLog = function() { delete this.logsList; this.logsList = new LinkedList(); this.displayLogs(); }; errorsLogger.prototype.findLog = function(index) { var logObj = this.logsList.getFirst(); var foundObj = null; while(logObj != null) { if (logObj.index == index) { foundObj = logObj; break; }; logObj = this.logsList.getNext(logObj); }; return foundObj; }; errorsLogger.prototype.displayLogs = function() { var htmlValue = ""; htmlValue += ""; htmlValue += ""; var logObj = this.logsList.getFirst(); while(logObj != null) { htmlValue += ""; logObj = this.logsList.getNext(logObj); }; htmlValue += ""; htmlValue += "
Debug Logger: [ Clear Log ]
- "+logObj.timestamp+" >> "+logObj.logString+"
xx-- Close Debugger --xx
"; this.logsDiv.set('innerHTML', htmlValue); }; errorsLogger.prototype.displayNode = function() { this.logsDiv.setStyle("display", ""); this.displayLogs(); }; errorsLogger.prototype.hideNode = function() { this.logsDiv.setStyle("display", "none"); }; errorsLogger.prototype.keyCheck = function(e) { var KeyID = (window.event) ? event.keyCode : e.keyCode; if (KeyID == "123") { as.logs.displayNode(); }; }; errorsLogger.prototype.closeLog = function() { this.hideNode(); }; errorsLogger.prototype.showLog = function() { this.displayNode(); };function moduleDelegation_getContent() { return this.module.content; }; function moduleDelegation_getId() { return this.module.id; }; function moduleDelegation_getNodeObject() { return this.module.nodeObj; }; function moduleDelegation_setNodeObject(node) { this.module.setNodeObject(node); }; function moduleDelegation_readFile(filename) { return this.module.readFile(filename); }; function moduleDelegation_getHTMLReference() { return this.module.htmlReference; }; function moduleDelegation_setHTMLReference(htmlRef) { this.module.htmlReference = htmlRef; }; function moduleDelegation_bind(node) { this.module.bind(node); }; function moduleDelegation_storeObjectsID(content) { this.module.storeObjectsID(content); }; function moduleDelegation_storeObjectsFields(fields) { this.module.storeObjectsFields(fields); }; function moduleDelegation_displayNode() { this.module.nodeObj.setStyle("display", ""); }; function moduleDelegation_hideNode() { this.module.nodeObj.setStyle("display", "none"); }; function moduleDelegation_add(object, node, manualId, parentObj, paramsObj) { return this.module.add(object, node, manualId, parentObj, paramsObj); }; function moduleDelegation_remove(id) { this.module.remove(id); }; function moduleDelegation_executeCommand(type, command, params, callback) { return this.module.executeCommand(type, command, params, callback); }; function moduleDelegation_createButton(id, params, glow) { return this.module.createButton(id, params, glow); }; function moduleDelegation_setParent(obj) { this.module.parentObj = obj; }; function moduleDelegation_getParent() { return this.module.parentObj; }; function moduleDelegation_setParams(params) { this.module.paramsObj = params; }; function moduleDelegation_getParams() { return this.module.paramsObj; }; function moduleDelegation_setComponent(id, obj) { this.module.components[id] = obj; }; function moduleDelegation_getComponent(id) { return this.module.components[id]; }; function moduleDelegation_setField(id, obj) { this.module.fields[id] = obj; }; function moduleDelegation_getField(id) { return this.module.fields[id]; }; function moduleDelegation_setFilename(value) { this.module.filename = value; } function moduleDelegation_getFilename() { return this.module.filename; }; function moduleDelegation_getObject(id) { return as.yui.one("#"+this.module.id+id); }; function moduleDelegation_createOverlay(cfg, html) { var body = as.yui.one(document.body); height = parseInt(body.getStyle("height"))+20; var id = cfg.contentBox.replace("#", ""); var modal = new as.yui.Overlay({width:"100%", height:height+"px", zIndex:2000000, xy:[0,0], shim: true, visible: cfg.visible, bodyContent:"
"+html}); modal.render(); cfg.zIndex = 2000001; var overlay = new as.yui.Overlay(cfg); overlay.render(); overlay._modalId = id+"Modal"; overlay._modal = modal; overlay.hideOverlay = function() { this._modal.hide(); this.hide(); }; overlay.showOverlay = function() { this._modal.show(); this.show(); }; return overlay; };/* MODULE OBJECT */ function module(moduleType, keyid, callback, content) { try { this.id = keyid; this.callback = callback; this.htmlReference = null; this.moduleType = moduleType; this.filename = "'"+as.info.section+"/"+as.info.page+"/applet.js'" this.components = []; // list of components this.fields = []; // list of fields of module var randomid = "RANDOMID"+Math.floor(Math.random()*1000000000000); if (moduleType == CONST_MODULE_TYPE_COMPONENT) { this.id = randomid; if (keyid) this.content = this.readFile(keyid); else this.content = content; } else { this.id = keyid || randomid; }; this.attachDelegation(); return this; } catch(e) { // Error caught as.logs.addError("module.js", "error initializing module"); }; }; /* ADD - REMOVE MODULE */ module.prototype.add = function(object, node, manualId, parentObj, paramsObj) { try { var html = object.getBodyHTML ? object.getBodyHTML() : ""; object.module = new module(CONST_MODULE_TYPE_COMPONENT, null, object, html); manualId = (manualId) ? manualId : object.getId(); var name = manualId+"_"+CONST_MODULE_TYPE_COMPONENT; parentObj.setComponent(name, object); object.setHTMLReference(parentObj.getHTMLReference()+".getComponent('"+name+"')"); object.setParent(parentObj); if (paramsObj) object.setParams(paramsObj); object.bind(node); // Bind node object.init(); return object; } catch(e) { as.logs.addError("module.js", "'add()' >> "+e.message); return null; }; }; module.prototype.remove = function(id) { this.components.pop(id); }; /* MODULE - FUNCTIONS */ module.prototype.attachDelegation = function() { var obj = this.callback; obj.getId = moduleDelegation_getId; obj.getContent = moduleDelegation_getContent; obj.getNodeObject = moduleDelegation_getNodeObject; obj.setNodeObject = moduleDelegation_setNodeObject; obj.getHTMLReference = moduleDelegation_getHTMLReference; obj.setHTMLReference = moduleDelegation_setHTMLReference; obj.readFile = moduleDelegation_readFile; obj.bind = moduleDelegation_bind; obj.displayNode = moduleDelegation_displayNode; obj.hideNode = moduleDelegation_hideNode; obj.add = moduleDelegation_add; obj.remove = moduleDelegation_remove; obj.setComponent = moduleDelegation_setComponent; obj.getComponent = moduleDelegation_getComponent; obj.setField = moduleDelegation_setField; obj.getField = moduleDelegation_getField; obj.getObject = moduleDelegation_getObject; obj.storeObjectsFields = moduleDelegation_storeObjectsFields; obj.createButton = moduleDelegation_createButton; obj.getParent = moduleDelegation_getParent; obj.setParent = moduleDelegation_setParent; obj.getParams = moduleDelegation_getParams; obj.setParams = moduleDelegation_setParams; obj.getFilename = moduleDelegation_getFilename; obj.setFilename = moduleDelegation_setFilename; obj.createOverlay = moduleDelegation_createOverlay; obj.executeCommand = $executeCommand; obj.timeoutMessage = $timeoutMessage; obj.decodeURI = $decodeURI; obj.encodeURI = $encodeURI; obj.buildImage = $buildImage; obj.timeoutMessage = $timeoutMessage; obj.checkValue = $checkValue; obj.getX = $getX; obj.getY = $getY; }; module.prototype.bind = function(node) { try { if (this.content) { var newContent = this.content; newContent = newContent.replace(/##ID##/g, this.id); newContent = newContent.replace(/##OBJECT##/g, this.getHTMLReference()); newContent = newContent.replace(/##TEMPLATE##/g, as.info.templatefolder); newContent = newContent.replace(/##WEBFOLDER##/g, as.info.webfolder); if (node) { this.setNodeObject(node); node.insert(newContent, "insertAfter"); this.storeObjectsID(this.content); }; } else { as.logs.addWarning("module.js", "'bind()' >> Cannot bind! Content is empty!"); }; } catch(e){ as.logs.addError("module.js", "'bind()' >> "+e); }; }; module.prototype.getHTMLReference = function() { return this.htmlReference; }; module.prototype.setHTMLReference = function(htmlRef) { this.htmlReference = htmlRef; }; module.prototype.setNodeObject = function(node) { this.nodeObj = as.yui.one(node); }; module.prototype.storeObjectsFields = function(fields) { var l = fields.length; for (var x=0; x")) { break; } else { storedField += savedContent.charAt(y); if (savedContent.charAt(y) == ')') { /* PASSING PARAM VALUE, IGNORE THIS FIELD */ storeField = ""; break; }; storedCounter++; }; }; if (storedField) { /* STORE ANY FIELD THAT IS NOT EMPTY */ var fldObject = as.yui.one("#"+this.id+storedField); if (fldObject) { this.callback.setField(storedField, fldObject); }; }; x = savedPosition+storedCounter; }; }; }; }; // TODO: 10.15.2009, Need to fix ajax call module.prototype.readFile = function(filename) { var returnResponse = null; if (filename) returnResponse = $executeCommand(CONST_AJAX_TYPE_READFILE, filename, null, null, null, true); return returnResponse; };function corex(htmlReference) { this.module = new module(htmlReference, null, this, null); this.setHTMLReference(htmlReference); this.modulesList = []; this.readQuerystring(); this.filename = "'includes/js/corex.js'"; }; corex.prototype.deleteModule = function(name) { this.modulesList.pop(name); }; corex.prototype.getModule = function(name) { return this.modulesList[name].object; }; corex.prototype.addModule = function(obj, name, keys) { try { //Do we need this auth key? this.checkAUTHKEY(); /* CHECKING AUTH KEY*/ var keyid = keys ? keys._id : null; //var node = keyid+"_MODULE_"+name; obj.module = new module(CONST_MODULE_TYPE_MODULE, keyid, obj); obj.setParent(this); obj.setParams({}); obj.setHTMLReference(this.getHTMLReference()+".getModule('"+name+"')"); if (keys) obj.storeObjectsFields(keys._fields); obj.init(); /* INITIALIZING OBJECT */ /* STORING MODULE */ //alert("added module: "+name); this.modulesList[name] = { object: obj, name: name }; } catch (e) { as.logs.addLog("ERROR: "+this.filename+" 'addModule()' >> "+e.message); }; }; corex.prototype.readQuerystring = function() { var query = window.location.search.substring(1); var vars = query.split("&"); this.queryData = []; for (var i=0;i> 'js/application.js' getQuery("+q+") not found!"); }; return returnValue; }; corex.prototype.checkAUTHKEY = function() { this.executeCommand(CONST_COMMAND_AUTHKEY, CONST_COMMAND_AUTHKEY, null, this.checkAUTHKEYResponse); }; corex.prototype.checkAUTHKEYResponse = function(rObj) { if (rObj.validation == "success") { as.logs.addLog('LOG >> AUTH KEY CONFIRM... NO NEED REFRESH') } else { var sURL = unescape(window.location.pathname)+unescape(window.location.search); window.location.href = sURL; }; };function index() { }; index.prototype.init = function () { try { // Highlighting navigation section var page = as.info.page || "home"; var obj = as.yui.one("#navId"+page); if (obj) obj.addClass("selected"); // Default onmouse-over / out functions as.global.onmouseover = this.onmouseover; as.global.onmouseout = this.onmouseout; as.global.onclick = this.onclick; } catch(e) { as.logs.addError(this.getFilename(), "'init' >>"+e); }; }; index.prototype.onmouseover = function(el, cl) { el.className = cl+" highlight"; }; index.prototype.onmouseout = function(el, cl) {el.className = cl; }; index.prototype.onclick = function(url) { if (url) window.location.href = url; };window.google = window["google"] || {};google.friendconnect = google.friendconnect_ || {};if (!window['__ps_loaded__']) {/*http://www.a.friendconnect.gmodules.com/gadgets/js/rpc.js?c=1*/ var gadgets=gadgets||{},shindig=shindig||{},osapi=osapi||{}; ; gadgets.config=function(){var A=[]; var B; return{register:function(E,D,C){var F=A[E]; if(!F){F=[]; A[E]=F }F.push({validators:D||{},callback:C}) },get:function(C){if(C){return B[C]||{} }return B },init:function(E,L){B=E; for(var C in A){if(A.hasOwnProperty(C)){var D=A[C],I=E[C]; for(var H=0,G=D.length; H1){for(var D=0,C; (C=arguments[D]); ++D){E.push(C) }}else{E=F }return function(H){for(var G=0,I; (I=E[G]); ++G){if(H===E[G]){return true }}} },RegExValidator:function(C){return function(D){return C.test(D) } },ExistsValidator:function(C){return typeof C!=="undefined" },NonEmptyStringValidator:function(C){return typeof C==="string"&&C.length>0 },BooleanValidator:function(C){return typeof C==="boolean" },LikeValidator:function(C){return function(E){for(var F in C){if(C.hasOwnProperty(F)){var D=C[F]; if(!D(E[F])){return false }}}return true } }} }();; gadgets.log=(function(){var E=1; var A=2; var F=3; var C=4; var D=function(I){B(E,I) }; gadgets.warn=function(I){B(A,I) }; gadgets.error=function(I){B(F,I) }; gadgets.setLogLevel=function(I){H=I }; function B(J,I){if(JA){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 }} }() };; ; gadgets.rpctx=gadgets.rpctx||{}; if(!gadgets.rpctx.rmr){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.getRelayUrl(O); if(!N){N=gadgets.rpc.getOrigin(gadgets.util.getUrlParameters()["parent"])+"/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(O){var Q=null; H[O].searchCounter++; try{var N=gadgets.rpc._getTargetWin(O); if(O===".."){Q=N.frames["rmrtransport-"+gadgets.rpc.RPC_ID] }else{Q=N.frames["rmrtransport-.."] }}catch(P){}var M=false; if(Q){M=F(O,Q) }if(!M){if(H[O].searchCounter>E){return }window.setTimeout(function(){D(O) },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; P0)){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) }} }() };; ; gadgets.rpctx=gadgets.rpctx||{}; if(!gadgets.rpctx.ifpc){gadgets.rpctx.ifpc=function(){var E=[]; var D=0; var C; function B(H){var F=[]; for(var I=0,G=H.length; I=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 }} }() };; if(!gadgets.rpc){gadgets.rpc=function(){var T="__cb"; var S=""; var G="__ack"; var R=500; var J=10; var B={}; var C={}; var X={}; var K={}; var N=0; var i={}; var W={}; var D={}; var f={}; var L={}; var V={}; var M=(window.top!==window.self); var O=window.name; var g=(function(){function j(k){return function(){gadgets.log("gadgets.rpc."+k+"("+gadgets.json.stringify(Array.prototype.slice.call(arguments))+"): call ignored. [caller: "+document.location+", isChild: "+M+"]") } }return{getCode:function(){return"noop" },isParentVerifiable:function(){return true },init:j("init"),setup:j("setup"),call:j("call")} })(); if(gadgets.util){f=gadgets.util.getUrlParameters() }var a=(f.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 b(o,m){var k=c; if(!m){k=g }L[o]=k; var j=V[o]||[]; for(var l=0; l4){U(gadgets.json.parse(decodeURIComponent(j[j.length-1]))) }},receiveSameDomain:function(j){j.a=Array.prototype.slice.call(j.a); window.setTimeout(function(){U(j) },0) },getOrigin:e,init:function(){if(c.init(U,b)===false){c=g }if(M){h("..") }},_getTargetWin:I,ACK:G,RPC_ID:O} }(); gadgets.rpc.init() };; gadgets.config.init({"rpc":{"parentRelayUrl":"/rpc_relay.html"}}); var friendconnect_serverBase = "http://www.google.com";var friendconnect_loginUrl = "https://www.google.com/accounts";var friendconnect_gadgetPrefix = "http://www.a.friendconnect.gmodules.com/gadgets"; var friendconnect_serverVersion = "0.548.6"; 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,fcf=Error,fcg=undefined,fch=friendconnect_serverBase,fci=encodeURIComponent,fcaa=parseInt,fcj=String,fck=window,fcba=setTimeout,fcca=Object,fcl=document,fcm=Array,fcn=Math;function fcda(a,b){return a.toString=b}function fcea(a,b){return a.length=b}function fcfa(a,b){return a.className=b}function fco(a,b){return a.width=b}function fcp(a,b){return a.innerHTML=b}function fcq(a,b){return a.height=b} var fcr="appendChild",fcs="push",fcga="toString",fct="length",fcha="propertyIsEnumerable",fcia="stringify",fc="prototype",fcja="test",fcu="width",fcv="round",fcw="slice",fcx="replace",fcy="document",fcka="data",fcz="split",fcA="getElementById",fcla="offsetWidth",fcB="charAt",fcC="location",fcD="getUrlParameters",fcE="indexOf",fcma="Dialog",fcF="style",fcna="body",fcG="left",fcH="call",fcI="match",fcJ="options",fcoa="random",fcK="createElement",fcpa="json",fcqa="addEventListener",fcra="bottom",fcL= "setAttribute",fcsa="href",fcM="util",fcta="maxHeight",fcua="type",fcN="apply",fcva="auth",fcwa="reset",fcxa="getSecurityToken",fcO="name",fcP="parentNode",fcya="display",fcQ="height",fcza="offsetHeight",fcR="register",fcS="join",fcAa="toLowerCase",fcT="right",goog=goog||{},fcU=this,fcCa=function(a,b,c){a=a[fcz](".");c=c||fcU;!(a[0]in c)&&c.execScript&&c.execScript("var "+a[0]);for(var d;a[fct]&&(d=a.shift());)if(!a[fct]&&fcBa(b))c[d]=b;else c=c[d]?c[d]:(c[d]={})},fcDa=function(a){var b=typeof a; if(b=="object")if(a){if(a instanceof fcm||!(a instanceof fcca)&&fcca[fc][fcga][fcH](a)=="[object Array]"||typeof a[fct]=="number"&&typeof a.splice!="undefined"&&typeof a[fcha]!="undefined"&&!a[fcha]("splice"))return"array";if(!(a instanceof fcca)&&(fcca[fc][fcga][fcH](a)=="[object Function]"||typeof a[fcH]!="undefined"&&typeof a[fcha]!="undefined"&&!a[fcha]("call")))return"function"}else return"null";else if(b=="function"&&typeof a[fcH]=="undefined")return"object";return b},fcBa=function(a){return a!== fcg},fcEa=function(a){var b=fcDa(a);return b=="array"||b=="object"&&typeof a[fct]=="number"},fcV=function(a){return typeof a=="string"},fcFa=function(a){a=fcDa(a);return a=="object"||a=="array"||a=="function"};"closure_uid_"+fcn.floor(fcn[fcoa]()*2147483648)[fcga](36); var fcGa=function(a){var b=fcDa(a);if(b=="object"||b=="array"){if(a.clone)return a.clone();b=b=="array"?[]:{};for(var c in a)b[c]=fcGa(a[c]);return b}return a},fcW=function(a,b){var c=b||fcU;if(arguments[fct]>2){var d=fcm[fc][fcw][fcH](arguments,2);return function(){var e=fcm[fc][fcw][fcH](arguments);fcm[fc].unshift[fcN](e,d);return a[fcN](c,e)}}else return function(){return a[fcN](c,arguments)}},fcHa=function(a){var b=fcm[fc][fcw][fcH](arguments,1);return function(){var c=fcm[fc][fcw][fcH](arguments); c.unshift[fcN](c,b);return a[fcN](this,c)}},fcIa=function(a,b){for(var c in b)a[c]=b[c]},fcX=function(a,b,c){fcCa(a,b,c)},fcY=function(a,b){function c(){}c.prototype=b[fc];a.Kc=b[fc];a.prototype=new c;a[fc].constructor=a};SHA1=function(){this.c=fcm(5);this.ba=fcm(64);this.Bc=fcm(80);this.qa=fcm(64);this.qa[0]=128;for(var a=1;a<64;++a)this.qa[a]=0;this[fcwa]()};SHA1[fc].reset=function(){this.c[0]=1732584193;this.c[1]=4023233417;this.c[2]=2562383102;this.c[3]=271733878;this.c[4]=3285377520;this.wa=this.z=0};SHA1[fc].va=function(a,b){return(a<>>32-b)&4294967295}; SHA1[fc].L=function(a){for(var b=this.Bc,c=0;c<64;c+=4){var d=a[c]<<24|a[c+1]<<16|a[c+2]<<8|a[c+3];b[c/4]=d}for(c=16;c<80;++c)b[c]=this.va(b[c-3]^b[c-8]^b[c-14]^b[c-16],1);a=this.c[0];d=this.c[1];var e=this.c[2],h=this.c[3],i=this.c[4],j,k;for(c=0;c<80;++c){if(c<40)if(c<20){j=h^d&(e^h);k=1518500249}else{j=d^e^h;k=1859775393}else if(c<60){j=d&e|h&(d|e);k=2400959708}else{j=d^e^h;k=3395469782}j=this.va(a,5)+j+i+k+b[c]&4294967295;i=h;h=e;e=this.va(d,30);d=a;a=j}this.c[0]=this.c[0]+a&4294967295;this.c[1]= this.c[1]+d&4294967295;this.c[2]=this.c[2]+e&4294967295;this.c[3]=this.c[3]+h&4294967295;this.c[4]=this.c[4]+i&4294967295};SHA1[fc].update=function(a,b){if(!b)b=a[fct];var c=0;if(this.z==0)for(;c+64=56;--c){this.ba[c]=b&255;b>>>=8}this.L(this.ba);for(c=b=0;c<5;++c)for(var d=24;d>=0;d-=8)a[b++]=this.c[c]>>d&255;return a};G_HMAC=function(a,b,c){if(!a||typeof a!="object"||!a[fcwa]||!a.update||!a.digest)fca(fcf("Invalid hasher object. Hasher unspecified or does not implement expected interface."));if(b.constructor!=fcm)fca(fcf("Invalid key."));if(c&&typeof c!="number")fca(fcf("Invalid block size."));this.k=a;this.aa=c||16;this.Rb=fcm(this.aa);this.Qb=fcm(this.aa);if(b[fct]>this.aa){this.k.update(b);b=this.k.digest()}for(c=0;c255;){b[c++]=e&255;e>>=8}b[c++]=e}return b};var fcKa=fcc,fcLa=fcc,fcMa=fcc,fcNa=fcc,fcPa=function(a,b){if(!fcEa(a))fca(fcf("encodeByteArray takes an array as a parameter"));fcOa();for(var c=b?fcMa:fcKa,d=[],e=0;e>2;h=(h&3)<<4|j>>4;j=(j&15)<<2|l>>6;l=l&63;if(!k){l=64;i||(j=64)}d[fcs](c[g],c[h],c[j],c[l])}return d[fcS]("")},fcQa=function(a,b){if(a[fct]%4)fca(fcf("Length of b64-encoded data must be zero mod four"));fcOa();for(var c=b?fcNa:fcLa,d=[],e=0;e>4;d[fcs](h);if(j!=64){i=i<<4&240|j>>2;d[fcs](i);if(k!=64){j=j<<6&192|k;d[fcs](j)}}}return d},fcOa=function(){if(!fcKa){fcKa={};fcLa={};fcMa={};fcNa={};for(var a=0;a<65;a++){fcKa[a]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="[fcB](a);fcLa[fcKa[a]]=a;fcMa[a]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_."[fcB](a);fcNa[fcMa[a]]=a}}};var fcRa=function(a){for(var b=1;b")!=-1)a=a[fcx](fcVa,">");if(a[fcE]('"')!=-1)a=a[fcx](fcWa, """);return a}},fcTa=/&/g,fcUa=//g,fcWa=/\"/g,fcXa=/[&<>\"]/,fc_a=function(a,b){for(var c=0,d=fcj(a)[fcx](/^[\s\xa0]+|[\s\xa0]+$/g,"")[fcz]("."),e=fcj(b)[fcx](/^[\s\xa0]+|[\s\xa0]+$/g,"")[fcz]("."),h=fcn.max(d[fct],e[fct]),i=0;c==0&&ib)return 1;return 0};var fc0a,fc1a,fc2a,fc3a,fc4a,fc5a,fc6a,fc7a,fc8a,fc9a=function(){return fcU.navigator?fcU.navigator.userAgent:fcc},fc$a=function(){return fcU.navigator},fcab=function(){fc4a=fc3a=fc2a=fc1a=fc0a=fcd;var a;if(a=fc9a()){var b=fc$a();fc0a=a[fcE]("Opera")==0;fc1a=!fc0a&&a[fcE]("MSIE")!=-1;fc3a=(fc2a=!fc0a&&a[fcE]("WebKit")!=-1)&&a[fcE]("Mobile")!=-1;fc4a=!fc0a&&!fc2a&&b.product=="Gecko"}};fcab(); var fcbb=fc0a,fcZ=fc1a,fccb=fc4a,fcdb=fc2a,fceb=fc3a,fcfb=function(){var a=fc$a();return a&&a.platform||""},fcgb=fcfb(),fchb=function(){fc5a=fcgb[fcE]("Mac")!=-1;fc6a=fcgb[fcE]("Win")!=-1;fc7a=fcgb[fcE]("Linux")!=-1;fc8a=!!fc$a()&&(fc$a().appVersion||"")[fcE]("X11")!=-1};fchb(); var fcib=function(){var a="",b;if(fcbb&&fcU.opera){a=fcU.opera.version;a=typeof a=="function"?a():a}else{if(fccb)b=/rv\:([^\);]+)(\)|;)/;else if(fcZ)b=/MSIE\s+([^\);]+)(\)|;)/;else if(fcdb)b=/WebKit\/(\S+)/;if(b)a=(a=b.exec(fc9a()))?a[1]:""}return a},fcjb=fcib(),fckb={},fclb=function(a){return fckb[a]||(fckb[a]=fc_a(fcjb,a)>=0)};var fcmb=/\s*;\s*/,fcnb=function(a,b,c,d,e){if(/[;=]/[fcja](a))fca(fcf('Invalid cookie name "'+a+'"'));if(/;/[fcja](b))fca(fcf('Invalid cookie value "'+b+'"'));fcBa(c)||(c=-1);e=e?";domain="+e:"";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*1E3);c=";expires="+c.toUTCString()}fcl.cookie=a+"="+b+e+d+c},fcob=function(a,b){for(var c=a+"=",d=fcj(fcl.cookie)[fcz](fcmb),e=0,h;h=d[e];e++)if(h[fcE](c)==0)return h.substr(c[fct]); return b},fcpb=function(a,b,c){var d=fcBa(fcob(a));fcnb(a,"",0,b,c);return d};var fcqb=function(a){this.stack=fcf().stack||"";if(a)this.message=fcj(a)};fcY(fcqb,fcf);fcqb[fc].name="CustomError";var fcrb=function(a,b){b.unshift(a);fcqb[fcH](this,fcRa[fcN](fcc,b));b.shift();this.messagePattern=a};fcY(fcrb,fcqb);fcrb[fc].name="AssertionError";var fcsb=function(a,b,c,d){var e="Assertion failed";if(c){e+=": "+c;var h=d}else if(a){e+=": "+a;h=b}fca(new fcrb(""+e,h||[]))},fctb=function(a,b){a||fcsb("",fcc,b,fcm[fc][fcw][fcH](arguments,2))},fcub=function(a,b){typeof a=="number"||fcsb("Expected number but got %s.",[a],b,fcm[fc][fcw][fcH](arguments,2));return a};var fc_=fcm[fc],fcvb=fc_[fcE]?function(a,b,c){fctb(a||fcV(a));fcub(a[fct]);return fc_[fcE][fcH](a,b,c)}:function(a,b,c){c=c==fcc?0:c<0?fcn.max(0,a[fct]+c):c;if(fcV(a)){if(!fcV(b)||b[fct]!=1)return-1;return a[fcE](b,c)}for(c=c;c=0},fcyb= function(){return fc_.concat[fcN](fc_,arguments)},fczb=function(a){if(fcDa(a)=="array")return fcyb(a);else{for(var b=[],c=0,d=a[fct];c");c=c[fcS]("")}var h=a[fcK](c);if(d)if(fcV(d))fcfa(h,d);else fcOb(h,d);if(b[fct]>2){d=function(i){if(i)h[fcr](fcV(i)?a.createTextNode(i):i)};for(c=2;c0)?fcwb(fcRb(e)?fczb(e):e,d):d(e)}}return h},fcSb=function(a,b){a[fcr](b)},fcTb=function(a){return a&&a[fcP]?a[fcP].removeChild(a):fcc},fcUb=function(a,b){var c=b[fcP];c&&c.replaceChild(a,b)},fcVb=function(a,b){if(a.contains&&b.nodeType==1)return a==b|| a.contains(b);if(typeof a.compareDocumentPosition!="undefined")return a==b||Boolean(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b[fcP];return b==a},fcRb=function(a){if(a&&typeof a[fct]=="number")if(fcFa(a))return typeof a.item=="function"||typeof a.item=="string";else if(fcDa(a)=="function")return typeof a.item=="function";return fcd},fcWb=function(a){this.tb=a||fcU[fcy]||fcl};fcWb[fc].createElement=function(a){return this.tb[fcK](a)};fcWb[fc].createTextNode=function(a){return this.tb.createTextNode(a)}; fcWb[fc].appendChild=fcSb;fcWb[fc].removeNode=fcTb;fcWb[fc].replaceNode=fcUb;fcWb[fc].contains=fcVb;var fcXb="StopIteration"in fcU?fcU.StopIteration:fcf("StopIteration"),fcYb=function(){};fcYb[fc].next=function(){fca(fcXb)};fcYb[fc].__iterator__=function(){return this};var fc2=function(a){this.i={};this.e=[];var b=arguments[fct];if(b>1){if(b%2)fca(fcf("Uneven number of arguments"));for(var c=0;c2*this.q&&this.K();return fcb}return fcd};fc2[fc].K=function(){if(this.q!=this.e[fct]){for(var a=0,b=0;a=c[fct])fca(fcXb);var j=c[b++];return a?j:d[j]}};return i};var fcZb=function(a,b){return fcca[fc].hasOwnProperty[fcH](a,b)};var fc_b=function(a,b,c,d){this.top=a;this.right=b;this.bottom=c;this.left=d};fc_b[fc].clone=function(){return new fc_b(this.top,this[fcT],this[fcra],this[fcG])};fcda(fc_b[fc],function(){return"("+this.top+"t, "+this[fcT]+"r, "+this[fcra]+"b, "+this[fcG]+"l)"});fc_b[fc].contains=function(a){return fc0b(this,a)};fc_b[fc].expand=function(a,b,c,d){if(fcFa(a)){this.top-=a.top;this.right+=a[fcT];this.bottom+=a[fcra];this.left-=a[fcG]}else{this.top-=a;this.right+=b;this.bottom+=c;this.left-=d}return this}; var fc0b=function(a,b){if(!a||!b)return fcd;if(b instanceof fc_b)return b[fcG]>=a[fcG]&&b[fcT]<=a[fcT]&&b.top>=a.top&&b[fcra]<=a[fcra];return b.x>=a[fcG]&&b.x<=a[fcT]&&b.y>=a.top&&b.y<=a[fcra]};var fc1b=function(a,b,c,d){this.left=a;this.top=b;fco(this,c);fcq(this,d)};fc1b[fc].clone=function(){return new fc1b(this[fcG],this.top,this[fcu],this[fcQ])};fcda(fc1b[fc],function(){return"("+this[fcG]+", "+this.top+" - "+this[fcu]+"w x "+this[fcQ]+"h)"});fc1b[fc].contains=function(a){return a instanceof fc1b?this[fcG]<=a[fcG]&&this[fcG]+this[fcu]>=a[fcG]+a[fcu]&&this.top<=a.top&&this.top+this[fcQ]>=a.top+a[fcQ]:a.x>=this[fcG]&&a.x<=this[fcG]+this[fcu]&&a.y>=this.top&&a.y<=this.top+this[fcQ]};var fc3b=function(a,b,c){fcV(b)?fc2b(a,c,b):fcCb(b,fcHa(fc2b,a))},fc2b=function(a,b,c){a[fcF][fc4b(c)]=b},fc5b=function(a,b){var c=a.nodeType==9?a:a.ownerDocument||a[fcy];if(c.defaultView&&c.defaultView.getComputedStyle)if(c=c.defaultView.getComputedStyle(a,""))return c[b];return fcc},fc8b=function(a,b,c){if(b instanceof fc0){c=b[fcQ];b=b[fcu]}else{if(c==fcg)fca(fcf("missing height argument"));c=c}fc6b(a,b);fc7b(a,c)},fc9b=function(a,b,c,d){if(typeof d=="number")d=(b?fcn[fcv](d):d)+"px";c[fcF][a]= d},fc7b=fcHa(fc9b,"height",fcb),fc6b=fcHa(fc9b,"width",fcb),fc$b=function(a){var b=fcbb&&!fclb("10");if((fc5b(a,"display")||(a.currentStyle?a.currentStyle[fcya]:fcc)||a[fcF][fcya])!="none")return b?new fc0(a[fcla]||a.clientWidth,a[fcza]||a.clientHeight):new fc0(a[fcla],a[fcza]);var c=a[fcF],d=c[fcya],e=c.visibility,h=c.position;c.visibility="hidden";c.position="absolute";c.display="inline";if(b){b=a[fcla]||a.clientWidth;a=a[fcza]||a.clientHeight}else{b=a[fcla];a=a[fcza]}c.display=d;c.position=h;c.visibility= e;return new fc0(b,a)},fcac={},fc4b=function(a){return fcac[a]||(fcac[a]=fcj(a)[fcx](/\-([a-z])/g,function(b,c){return c.toUpperCase()}))},fcbc=function(a,b){a[fcF].display=b?"":"none"};var fccc={},fcdc={};var fcec=function(a,b,c,d){b=b||"800";c=c||"550";d=d||"friendconnect";a=fck.open(a,d,"menubar=no,toolbar=no,dialog=yes,location=yes,alwaysRaised=yes,width="+b+",height="+c+",resizable=yes,scrollbars=1,status=1");fck.focus&&a&&a.focus()},fcfc=function(a,b){var c=fce[fcM][fcD]().communityId;fce.rpc[fcH](fcc,"signin",fcc,c,a,b)};fcX("goog.peoplesense.util.openPopup",fcec);fcX("goog.peoplesense.util.finishSignIn",fcfc);var fcic=function(a,b){var c=fcgc()+"/friendconnect/invite/friends",d=fci(shindig[fcva][fcxa]());fchc(c,d,a,b)},fchc=function(a,b,c,d){a+="?st="+b;if(c)a+="&customMessage="+fci(c);if(d)a+="&customInviteUrl="+fci(d);b=760;if(fcZ)b+=25;fcec(a,fcj(b),"515","friendconnect_invite")};fcX("goog.peoplesense.util.invite",fcic);fcX("goog.peoplesense.util.inviteFriends",fchc);var fcjc=function(a){this.url=a};fcjc[fc].l=function(a,b){if(this.url[fcE]("?"+a+"=")>=0||this.url[fcE]("&"+a+"=")>=0)fca(fcf("duplicate: "+a));if(b===fcc||b===fcg)return this;var c=this.url[fcE]("?")>=0?"&":"?";this.url+=c+a+"="+fci(b);return this};fcda(fcjc[fc],function(){return this.url});var fcgc=function(){return fck.friendconnect_serverBase},fckc=function(a,b,c,d,e,h,i){b=b||"800";c=c||"550";d=d||"friendconnect";h=h||fcd;fce.rpc[fcH](fcc,"openLightboxIframe",i,a,shindig[fcva][fcxa](),b,c,d,e,fcc,fcc,fcc,h)},fclc=function(a,b){var c=fce[fcM][fcD]().psinvite||"",d=new fcjc(fcgc()+"/friendconnect/signin/home");d.l("st",fck.shindig[fcva][fcxa]());d.l("psinvite",c);d.l("iframeId",a);d.l("loginProvider",b);d.l("subscribeOnSignin","1");fcec(d[fcga]());return fcd},fcmc=function(){var a= fce[fcM][fcD]().communityId;fce.rpc[fcH](fcc,"signout",fcc,a)},fcoc=function(a,b){var c=fcgc()+"/friendconnect/settings/edit?st="+fci(shindig[fcva][fcxa]())+(a?"&iframeId="+fci(a):"");if(b)c=c+"&"+b;fcnc(c)},fcpc=function(a){a=fcgc()+"/friendconnect/settings/siteProfile?st="+fci(a);fcnc(a)},fcnc=function(a){var b=800,c=510;if(fcZ)b+=25;fcec(a,fcj(b),fcj(c))},fcqc=function(a,b,c,d){d=d||2;var e=fcc;if(b=="text"){e=fc1("div",{"class":"gfc-button-text"},fc1("div",{"class":"gfc-icon"},fc1("a",{href:"javascript:void(0);"}, c)));a[fcr](e)}else if(b=="long"||b=="standard"){e=d==1?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:" "}),fc1("div",{"class":"gfc-button-base-content"},fc1("div",{"class":"gfc-icon"},c)))))):fc1("table",{"class":"gfc-button-base-v2 gfc-button", cellpadding:"0",cellspacing:"0"},fc1("tbody",{"class":""},fc1("tr",{"class":""},fc1("td",{"class":"gfc-button-base-v2 gfc-button-1"}),fc1("td",{"class":"gfc-button-base-v2 gfc-button-2"},c),fc1("td",{"class":"gfc-button-base-v2 gfc-button-3"}))));a[fcr](e);if(b=="standard"){b=fc1("div",{"class":"gfc-footer-msg"},"with Google Friend Connect");d==1&&a[fcr](fc1("br"));a[fcr](b)}}return e},fcrc=function(a,b){if(!a)fca("google.friendconnect.renderSignInButton: missing options");var c=a[fcF]||"standard", d=a.text,e=a.version;if(c=="standard")d=a.text||"Sign in";else if(c=="text"||c=="long")d=a.text||"Sign in with Friend Connect";var h=a.element;if(!h){h=a.id;if(!h)fca("google.friendconnect.renderSignInButton: options[id] and options[element] == null");h=fcLb(h);if(!h)fca("google.friendconnect.renderSignInButton: element "+a.id+" not found")}fcp(h,"");c=fcqc(h,c,d,e);fck[fcqa]?c[fcqa]("click",b,fcd):c.attachEvent("onclick",b)},fcsc=function(a,b){b=b||fcW(fclc,fcc,fcc,fcc,fcc);fcrc(a,b)},fctc=function(a, b){fce.rpc[fcH](fcc,"putReloadViewParam",fcc,a,b);var c=fce.views.getParams();c[a]=b},fcuc=function(a,b){var c=new fcjc("/friendconnect/gadgetshare/friends");c.l("customMessage",a);c.l("customInviteUrl",b);c.l("container","glb");var d=310;if(fcZ)d+=25;fckc(c[fcga](),fcj(d),"370")};fcX("goog.peoplesense.util.getBaseUrl",fcgc);fcX("goog.peoplesense.util.finishSignIn",fcfc);fcX("goog.peoplesense.util.signout",fcmc);fcX("goog.peoplesense.util.signin",fclc);fcX("goog.peoplesense.util.editSettings",fcoc); fcX("goog.peoplesense.util.editSSProfile",fcpc);fcX("goog.peoplesense.util.setStickyViewParamToken",fctc);fcX("google.friendconnect.renderSignInButton",fcsc);fcX("goog.peoplesense.util.share",fcuc);fcX("goog.peoplesense.util.userAgent.IE",fcZ);var fcvc={},fcwc={},fc3=function(a){this.h=new fc2;this.snippetId=a.id;this.site=a.site;a=a["view-params"];var b=a.skin;this.bc=(b?b.POSITION:"top")||"top";this.Cc={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&&!fclb("7");this.fixedIeSizes=fcZ;fck[fcqa]?fck[fcqa]("resize",fcW(this.$a,this),fcd):fck.attachEvent("onresize",fcW(this.$a,this));this.ob()}; fc3[fc].ob=function(){if(!this.site)fca(fcf("Must supply site ID."));if(!this.snippetId)fca(fcf("Must supply a snippet ID."))};fc3[fc].b=10;fc3[fc].za=1;fc3[fc].p="fc-friendbar-";fc3[fc].t=fc3[fc].p+"outer";fc3[fc].cb=fc3[fc].t+"-shadow";fc3[fc].render=function(){fcl.write(this.xb());var a=fcKb(this.snippetId);fcp(a,this.N())};fc3[fc].yb=function(){var a=fcKb(this.t);return a=fc$b(a)[fcu]};fc3[fc].$a=function(){for(var a=this.h.P(),b=0;b';if(this.n()!="top"&&this.absoluteBottom)f[g++]="html, body {height: 100%; overflow: auto; };";f[g++]="#"+this.t+" {";f[g++]="background:#E0ECFF;";f[g++]="left:0;";f[g++]="height: "+(fcZ?"35px;":"36px;");if(this.n()!="top"&&this.absoluteBottom)f[g++]="margin-right: 20px;";f[g++]="padding:0;";f[g++]=k+" 0;";f[g++]="width:100%;";f[g++]="z-index:5000;";f[g++]="}";f[g++]="#"+this.cb+" {";f[g++]=j(l,"repeat-x");f[g++]="left:0;";f[g++]= "height:"+this.b+"px;";if(this.n()!="top"&&this.absoluteBottom)f[g++]="margin-right: 20px;";f[g++]="padding:0;";f[g++]=k+(fcZ?"35px;":"36px;");f[g++]="width:100%;";f[g++]="z-index:4998;";f[g++]="}";f[g++]="."+this.La()+" {";f[g++]="display: block;";f[g++]="padding:0;";f[g++]=k+(fcZ?"34px;":"35px;");f[g++]="z-index:4999;";f[g++]="}";f[g++]="."+this.Qa()+" {";f[g++]="background: white;";f[g++]="height: 100%;";f[g++]="margin-right: "+this.b+"px;";f[g++]="}";f[g++]="."+this.Pa()+" {";f[g++]="border: "+ this.za+"px solid #ccc;";f[g++]="height: 100%;";f[g++]="left: 0;";f[g++]="background-image: url("+fck.friendconnect_imageUrl+"/loading.gif);";f[g++]="background-position: center;";f[g++]="background-repeat: no-repeat;";f[g++]="}";f[g++]="."+this.d("cr")+" {";f[g++]=j(a,"repeat-y");f[g++]="height: 100%;";f[g++]="position:absolute;";f[g++]="right: 0;";f[g++]="top: 0;";f[g++]="width:"+this.b+"px;";f[g++]="}";f[g++]="."+this.d("bl")+" {";f[g++]=j(d,"no-repeat");f[g++]="height: "+this.b+"px;";f[g++]="position:absolute;"; f[g++]="width:"+this.b+"px;";f[g++]="}";f[g++]="."+this.d("tl")+" {";f[g++]=j(e,"no-repeat");f[g++]="height: "+this.b+"px;";f[g++]="position:absolute;";f[g++]="left:0px;";f[g++]="width:"+this.b+"px;";f[g++]="}";f[g++]="."+this.d("bc")+" {";f[g++]=j(c,"repeat-x");f[g++]="height: "+this.b+"px;";f[g++]="left: "+this.b+"px;";f[g++]="position:absolute;";f[g++]="right: "+this.b+"px;";f[g++]="}";f[g++]="."+this.d("tc")+" {";f[g++]=j(b,"repeat-x");f[g++]="height: "+this.b+"px;";f[g++]="left: "+this.b+"px;"; f[g++]="margin-left: "+this.b+"px;";f[g++]="margin-right: "+this.b+"px;";f[g++]="right: "+this.b+"px;";f[g++]="}";f[g++]="."+this.d("br")+" {";f[g++]=j(i,"no-repeat");f[g++]="height: "+this.b+"px;";f[g++]="position:absolute;";f[g++]="right: 0;";f[g++]="width: "+this.b+"px;";f[g++]="}";f[g++]="."+this.d("tr")+" {";f[g++]=j(h,"no-repeat");f[g++]="height: "+this.b+"px;";f[g++]="position:absolute;";f[g++]="right: 0;";f[g++]="top: 0;";f[g++]="width: "+this.b+"px;";f[g++]="}";f[g++]="";return f[fcS]("")}; fc3[fc].N=function(){var a=['
','
','
'];return a[fcS]("")};fc3[fc].rb=function(a,b,c,d){if(!this.h.qb(a)){b=new fc4(this,a,b,c,d);c=this.h.Ka();d=fcKb(this.ha(c));fcp(d,b.N()+'
');this.h.set(a,b)}};fc3[fc].la=function(a){(a=this.h.get(a))&&a.drawer&&fcbc(a.drawer,fcd)};fc3[fc].dc=function(a){if(a=this.h.get(a))a.rendered=fcd}; fc3[fc].refresh=function(){for(var a=this.h.P(),b=0;b0){i=(this[fcQ]|0)+2;c+="height: "+i+"px; "}i=0;j=[];j[i++]='
';if(this.bar.n()=="bottom")j[i++]='
';j[i++]='
';if(this.bar.n()=="top")j[i++]='
';j[i++]="
";return j[fcS]("")};fc4[fc].zc=function(){this.rendered=this.na()};fc4[fc].Ub=function(){this.loaded=this.na()};fc4[fc].na=function(){return!!this.drawer&&this.drawer[fcF][fcya]!="none"}; fc4[fc].render=function(){if(this.rendered==fcd){var a={};a.url=this.url;a.id=this.bar.Q(this[fcO]);a.site=this.bar.site;a["view-params"]=fcGa(this.bar.Cc);if(this[fcO]=="profile")a["view-params"].profileId="VIEWER";this.skin&&fcGb(a["view-params"].skin,this.skin);a["view-params"].menuName=this[fcO];a["view-params"].opaque="true";a["view-params"].menuPosition=this.bar.bc;fcq(a,"1px");if(fcvc&&fcwc&&fc5)this.id=fc5.render(a)}};fcX("google.friendconnect.FriendBar",fc3);var fczc="0123456789abcdefghijklmnopqrstuv",fcBc=function(a){a=new fcAc(a);if(a.pa()%5)fca(fcf());for(var b=[],c=0;a.pa()>0;c++)b[c]=fczc[fcB](a.$b(5));return b[fcS]("")},fcAc=function(a){this.D=this.r=0;this.ca=a};fcAc[fc].pa=function(){return 8*(this.ca[fct]-this.D)-this.r}; fcAc[fc].$b=function(a){var b=0;if(a>this.pa())fca(fcf());if(this.r>0){b=255>>this.r&this.ca[this.D];var c=8-this.r,d=fcn.min(a%8,c);c=c-d;b=b>>c;a-=d;this.r+=d;if(this.r==8){this.r=0;this.D++}}for(;a>=8;){b<<=8;b|=this.ca[this.D];this.D++;a-=8}if(a>0){b<<=a;b|=this.ca[this.D]>>8-a;this.r=a}return b};var fcCc=function(){};fcCc[fc].F=function(){};fcCc[fc].I=function(){};var fcDc=(new Date).getTime(),fc6=function(){},fcEc=function(){},fcFc=function(){},fcGc=function(){};fcY(fcGc,fcFc);var fcHc=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_.*$/[fcja](c))this.viewParams[c]=fcc};fcHc[fc].render=function(a){var b=this;if(a){b.Ac();this.Ab(function(c){fc3b(a,"visibility","hidden");fcp(a,c);b.refresh(a,c);c=function(d){fc3b(d,"visibility","visible")};c=fcHa(c,a);fcba(c,500);b.chrome=a})}}; fcHc[fc].Ab=function(a){return this.Gb(a)};var fc7=function(a){fcHc[fcH](this,a);this.U="../../";this.rpcToken=fcj(fcn[fcv](2147483647*fcn[fcoa]()))};fcY(fc7,fcHc);fc7[fc].hb="gfc_iframe_";fc7[fc].ib="friendconnect";fc7[fc].Ia="";fc7[fc].oc="rpc_relay.html";fc7[fc].X=function(a){this.U=a};fc7[fc].Ac=function(){return this.Ia=fcj(fcn[fcv](2147483647*fcn[fcoa]()))};fc7[fc].ga=function(){return this.hb+this.Ia+"_"+this.id}; fc7[fc].refresh=function(a,b){var c=fc5.Fc,d,e={},h=fc5.Ja(this.communityId),i=h[fcz]("~"),j=fc5.sb;if(j&&i[fct]>1){d=i[2];i=i[1];var k=[this.specUrl,this.communityId,i,j][fcS](":");e.sig=fc5.hash(d,k);e.userId=i;e.dateStamp=j}e.container=this.ib;e.mid=this.id;e.nocache=fc5.ac;e.view=this.Z;e.parent=fc5.S;if(this.debug)e.debug="1";if(this.specUrl)e.url=this.specUrl;if(this.communityId){j=fce[fcM][fcD]().profileId;e.communityId=this.communityId;if(d=fce[fcM][fcD]().psinvite)e.psinvite=d;if(j)e.profileId= j}e.caller=fcIc();e.rpctoken=this.rpcToken;j=fcd;d="";i=/Version\/3\..*Safari/;if((i=fcdb&&fc9a()[fcI](i))||!fc5.R[this.specUrl]&&this.viewParams){e["view-params"]=fce[fcpa][fcia](this.viewParams);d="?viewParams="+fci(e["view-params"]);j=fcb}if(this.prefs)e.prefs=fce[fcpa][fcia](this.prefs);if(this.viewParams&&this.sendViewParamsToServer)e["view-params"]=fce[fcpa][fcia](this.viewParams);if(this.locale)e.locale=this.locale;if(this.secureToken)e.st=this.secureToken;i=fc5.Oa(this.specUrl);d=i+"ifr"+ d+(this.hashData?"&"+this.hashData:"");if(fc5.Ec!=1||j||h||this.secureToken){if(h&&!e.sig)e.fcauth=h}else e.sig||(c="get");h=this.ga();fcJc(h,d,c,e,a,b,this.rpcToken)};var fc8=function(){this.j={};this.S="http://"+fcl[fcC].host;this.Z="default";this.ac=1;this.Jc=0;this.Gc="US";this.Hc="en";this.Ic=2147483647};fcY(fc8,fcEc);fc8[fc].v=fcHc;fc8[fc].A=new fcGc;fc8[fc].bb=function(a){this.ac=a};fc8[fc].Ga=function(a){this.Ec=a};fc8[fc].Na=function(a){return"gadget_"+a};fc8[fc].w=function(a){return this.j[this.Na(a)]}; fc8[fc].M=function(a){return new this.v(a)};fc8[fc].kb=function(a){a.id=this.Hb();this.j[this.Na(a.id)]=a};fc8[fc].Zb=0;fc8[fc].Hb=function(){return this.Zb++};var fcLc=function(){fc8[fcH](this);this.A=new fcKc};fcY(fcLc,fc8);fcLc[fc].v=fc7;fcLc[fc].W=function(a){a[fcI](/^http[s]?:\/\//)||(a=fcl[fcC][fcsa][fcI](/^[^?#]+\//)[0]+a);this.S=a};fcLc[fc].H=function(a){var b=this.A.Ma(a);a.render(b)};var fcKc=function(){this.wb={}};fcY(fcKc,fcFc); fcKc[fc].lb=function(a,b){this.wb[a]=b;var c=fcl[fcA](b).className;if(!c&&c[fct]==0)fcfa(fcl[fcA](b),"gadgets-gadget-container")};fcKc[fc].Ma=function(a){return(a=this.wb[a.id])?fcl[fcA](a):fcc};var fc9=function(a){fc7[fcH](this,a);a=a||{};this.Z=a.view||"profile"};fcY(fc9,fc7);fc9[fc].nb="canvas.html";fc9[fc].ub="/friendconnect/embed/"; var fcIc=function(){var a=fce[fcM][fcD]().canvas=="1"||fce[fcM][fcD]().embed=="1",b=fcc;if(a)b=fce[fcM][fcD]().caller;if(!b){a=fcl[fcC];b=a.search[fcx](/([&?]?)psinvite=[^&]*(&?)/,function(c,d,e){return e?d:""});b=a.protocol+"//"+a.hostname+(a.port?":"+a.port:"")+a.pathname+b}return b};fc9[fc].wc=function(a){this.Z=a};fc9[fc].ka=function(){return this.Z};fc9[fc].getBodyId=function(){return this.ga()+"_body"}; fc9[fc].Gb=function(a){var b=this.specUrl;if(b===fcg)b="";b=(fc5.Oa(b)||this.U)+this.oc;var c=this.ga();fce.rpc.setRelayUrl(c,b);b='
'}; fc9[fc].Bb=function(a,b){var c=fci(fce[fcpa][fcia](this.viewParams));c=c[fcx]("\\","%5C");return a+"?url="+fci(this.specUrl)+(b?"&"+b:"")+"&view-params="+c};fc9[fc].Kb=function(){var a=fce[fcM][fcD]().canvas=="1"||fce[fcM][fcD]().embed=="1",b=fcc;if(a)(b=fce[fcM][fcD]().caller)||(b="javascript:history.go(-1)");return b};fc9[fc].Lb=function(a){var b=fcc;if(a=="canvas")b=this.zb();else if(a=="profile")b=this.Kb();return b}; var fc$=function(){fcLc[fcH](this);fce.rpc[fcR]("signin",fc6[fc].signin);fce.rpc[fcR]("signout",fc6[fc].signout);fce.rpc[fcR]("resize_iframe",fc6[fc].ab);fce.rpc[fcR]("set_title",fc6[fc].setTitle);fce.rpc[fcR]("requestNavigateTo",fc6[fc].Za);fce.rpc[fcR]("api_loaded",fc6[fc].xa);fce.rpc[fcR]("createFriendBarMenu",fc6[fc].Ca);fce.rpc[fcR]("showFriendBarMenu",fc6[fc].db);fce.rpc[fcR]("hideFriendBarMenu",fc6[fc].Ra);fce.rpc[fcR]("putReloadViewParam",fc6[fc].Va);fce.rpc[fcR]("getViewParams",fc6[fc].Fa); fce.rpc[fcR]("getContainerBaseTime",fc6[fc].Ea);fce.rpc[fcR]("openLightboxIframe",fc6[fc].Ua);fce.rpc[fcR]("showMemberProfile",fc6[fc].fb);fce.rpc[fcR]("closeLightboxIframe",fcW(this.u,this));fce.rpc[fcR]("setLightboxIframeTitle",fcW(this.sc,this));fce.rpc[fcR]("refreshAndCloseIframeLightbox",fcW(this.cc,this));var a=fcMc;a[fcR]();a.gb(this,"load",this.Nb);a.gb(this,"start",this.Ob);this.U="../../";this.W("");this.bb(0);this.Ga(1);this.oa=fcc;this.apiVersion="0.8";this.openSocialSecurityToken=fcc; this.V="";this.Da={};this.Tb=fcc;this.Sb=fcd;this.sb=this.Wb=this.lastIframeLightboxOpenArguments=this.lastLightboxCallback=this.lastLightboxDialog=fcc;this.Fc="post"};fcY(fc$,fcLc);fc$[fc].qc=function(a){this.sb=a};fc$[fc].v=fc9;fc$[fc].R={};fc$[fc].uc=function(a){this.oa=a};fc$[fc].Oa=function(a){var b=fc$[fc].R[a];if(!b)if(this.oa[fcE]("http://")!==0){a=this.pb(a);b=["http://",a,this.oa][fcS]("")}else b=this.oa;return b}; fc$[fc].pb=function(a){var b=new SHA1;a=fcJa(a);b.update(a);b=b.digest();return b=fcBc(b)}; var fcNc=function(a,b){var c=b?b:fck.top,d=c.frames;try{if(c.frameElement.id==a)return c}catch(e){}for(c=0;cwindow.goback=function(){history.go(-1);};setTimeout("goback();", 0);<\/script>':"")+"
";for(var k in d)b+="";b+="
";c=fcNc(a);var l;try{l=c[fcy]||c.contentWindow[fcy]}catch(g){if(e&&h){fcp(e,"");fcp(e,h);c=fcNc(a);l=c[fcy]||c.contentWindow[fcy]}}i&&fce.rpc.setAuthToken(a,i);l.open();l.write(b);l.close();a=l[fcA](j);for(k in d)a[k].value=d[k];fcZ&&a.onsubmit();a.submit()}; fc$[fc].vb=function(){var a=fce[fcM][fcD]().fcsite,b=fce[fcM][fcD]().fcprofile;a&&b&&fc5.I(b,a)};fc$[fc].rc=function(a,b){this.R[a]=b};fc$[fc].T=function(){var a=/Version\/3\..*Safari/;if(a=fcdb&&fc9a()[fcI](a))fcl[fcC].reload();else{fc5.g!=fcc&&fc5.g.refresh();for(var b in fc5.j){a=fc5.j[b];this.H(a)}if(this.lastIframeLightboxOpenArguments!=fcc){b=this.lastIframeLightboxOpenArguments;this.u();this.F[fcN](this,b)}}}; fc$[fc].W=function(a){a[fcI](/^http[s]?:\/\//)||(a=a&&a[fct]>0&&a.substring(0,1)=="/"?fcl[fcC][fcsa][fcI](/^http[s]?:\/\/[^\/]+\//)[0]+a.substring(1):fcl[fcC][fcsa][fcI](/^[^?#]+\//)[0]+a);this.S=a};fc$[fc].ea=function(a){return"fcauth"+a};fc$[fc].ia=function(a){return"fcauth"+a+"-s"};fc$[fc].hash=function(a,b){var c=new SHA1,d=fcQa(a,fcb);c=new G_HMAC(c,d,64);d=fcJa(b);c=c.Fb(d);(new Date).getTime();return fcPa(c,fcb)}; fc$[fc].Ja=function(a){return a=fcob(this.ea(a))||fcob(this.ia(a))||this.Da[a]||""};fc$[fc].X=function(a){this.U=a};fc$[fc].vc=function(a){this.V=a};fc$[fc].M=function(a){a=new this.v(a);a.X(this.U);return a};fc$[fc].ka=function(){return this.Z};fc$[fc].tc=function(a){this.Wb=a};var fcOc=function(a){return(a=a[fcI](/_([0-9]+)$/))?fcaa(a[1],10):fcc}; fc$[fc].Y=function(a,b,c,d,e,h){if(!this.Dc){this.$(fck.friendconnect_serverBase+"/friendconnect/styles/container.css?d="+this.V);this.Dc=fcb}var i=fcPc(d);if(this.Tb!=(i?"rtl":"ltr")){this.$(fck.friendconnect_serverBase+"/friendconnect/styles/lightbox"+(i?"-rtl":"")+".css?d="+this.V);this.Tb=i?"rtl":"ltr"}if(!this.Sb){this.mb(fck.friendconnect_serverBase+"/friendconnect/script/lightbox.js?d="+this.V);this.Sb=fcb}b=b||0;if(goog.ui&&goog.ui[fcma]){this.u();b=new goog.ui[fcma]("lightbox-dialog",fcb); var j=this;goog.events.listen(b,goog.ui[fcma].EventType.AFTER_HIDE,function(){j.lastLightboxCallback&&j.lastLightboxCallback();j.Ba()});b.setDraggable(fcb);b.setDisposeOnHide(fcb);b.setBackgroundElementOpacity(0.5);b.setButtonSet(new goog.ui[fcma].ButtonSet);this.lastLightboxDialog=b;this.lastLightboxCallback=c||fcc;c=b.getDialogElement();e=e||702;fc3b(c,"width",fcj(e)+"px");h&&fc3b(c,"height",fcj(h)+"px");a(b);b.getDialogElement()[fcF].direction=i?"rtl":"ltr"}else if(b<5){b++;a=fcW(this.Y,this,a, b,c,d,e,h);fcba(a,1E3)}else{this.Ba();fca(fcf("lightbox.js failed to load"))}};fc$[fc].u=function(a){var b=this.lastLightboxDialog,c=this.lastLightboxCallback;this.lastLightboxCallback=fcc;if(b!=fcc){this.lastLightboxDialog.dispatchEvent(goog.ui[fcma].EventType.AFTER_HIDE);b.dispose();c!=fcc&&c(a)}};fc$[fc].Ba=function(){this.lastIframeLightboxOpenArguments=this.lastLightboxCallback=this.lastLightboxDialog=fcc};fc$[fc].sc=function(a){this.lastLightboxDialog&&this.lastLightboxDialog.setTitle(a)}; fc$[fc].cc=function(){this.u();this.T()};fc6[fc].Za=function(a,b){var c=fcOc(this.f);c=fc5.w(c);var d=fcGa(c.originalParams);if(b){d["view-params"]=d["view-params"]||{};d["view-params"]=b}d.locale=c.locale;if(c.useLightBoxForCanvas){d.presentation=a;fc5.lastLightboxDialog!=fcc?fc5.u():fc5.eb(d)}else if((c=c.Lb(a))&&fcl[fcC][fcsa]!=c)if(fce[fcM][fcD]().embed=="1")try{fck.parent.location=c}catch(e){fck.top.location=c}else fcl[fcC].href=c}; fc$[fc].eb=function(a,b){a=a||{};var c=a.locale,d=fcPc(c),e=this;this.u();this.Y(function(h){var i=fc1("div",{},fc1("div",{id:"gadget-signin",style:"background-color:#ffffff;height:32px;"}),fc1("div",{id:"gadget-lb-canvas",style:"background-color:#ffffff;"}));h.getTitleTextElement()[fcr](fc1("div",{id:"gfc-canvas-title",style:"color:#000000;"}));h.getContentElement()[fcr](i);h.setVisible(fcb);i=fcGa(a);var j=fcPb(fck),k=fcn[fcv](j[fcQ]*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";i.id="gadget-lb-canvas";fcq(i,fcn.min(498,k)+"px");i.maxHeight=k;if(i.keepMax){fcq(i,k);fc3b(h.getContentElement(),"height",k+35+"px")}i["view-params"]=i["view-params"]||{};i["view-params"].opaque=fcb;i["view-params"].skin= i["view-params"].skin||{};fcIa(i["view-params"].skin,j);e.render(i);k={};k.id="gadget-signin";k.presentation="canvas";k.site=i.site;k.titleDivId="gfc-canvas-title";k["view-params"]={};k["view-params"].opaque=fcb;k.keepMax=i.keepMax;if(i.securityToken)k.securityToken=i.securityToken;i=fcGa(j);i.ALIGNMENT=d?"left":"right";e.Xa(k,i);h.reposition()},fcg,b,c)};fc6[fc].db=function(a,b){fc5.g!=fcc&&fc5.g.yc(a,b)};fc6[fc].Ra=function(a){fc5.g!=fcc&&fc5.g.la(a)}; fc6[fc].Ua=function(a,b,c,d,e,h,i,j,k,l){var g=this.f;a=a+(a[fcE]("?")>=0?"&":"?")+"iframeId="+g;fc5.F(a,b,c,d,e,h,i,j,k,l,this.callback)}; fc$[fc].F=function(a,b,c,d,e,h,i,j,k,l,g){var f=fcPb(fck);d!=fcc||(d=fcn[fcv](f[fcQ]*0.7));c!=fcc||(c=fcn[fcv](f[fcu]*0.7));var m=[];for(f=0;f';q.setContent(u);if(e){q.setTitle(e);if(l){r=q.getTitleTextElement();fcJb(r,"lightbox-dialog-title-small-text")}}q.setVisible(fcb);k||(o.fcauth=fc5.Ja(t));a+=(a[fcE]("?")>=0?"&":"?")+v+"&communityId="+t;fcJc(p,a,"POST",o,fcc,fcc,fcc)},fcg,g,fcg,c,d)}; fc6[fc].Fa=function(){var a=fcOc(this.f);a=fc5.w(a);return a.viewParams};fc6[fc].Ea=function(){return fcDc};fc6[fc].Va=function(a,b){var c=fcOc(this.f);c=fc5.w(c);c.viewParams[a]=b};fc$[fc].Nb=function(a,b){fc5.g!=fcc&&fc5.g.Xb(b)};fc$[fc].Ob=function(a,b){fc5.g!=fcc&&fc5.g.Yb(b)};fc6[fc].Ca=function(a,b,c,d){fc5.g!=fcc&&fc5.g.rb(a,b,c,d)};fc$[fc].H=function(a){var b=this.A.Ma(a);a.render(b);this.A.postProcessGadget&&this.A.postProcessGadget(a)}; fc6[fc].signout=function(a){fc5.Wa(fc5.ea(a));fc5.Wa(fc5.ia(a));fc5.Da={};fc5.T();return fcd};fc$[fc].Wa=function(a){var b=fcl[fcC].pathname;b=b[fcz]("/");for(var c=0;c0)fcq(b[fcF],a+"px");if((b=fcl[fcA](this.f+"_body"))&&a>0)fcq(b[fcF],a+"px");if(b=fcOc(this.f)){var c=fc5.w(b);if(c){if((b=fcl[fcA](c.divId))&&a>0){if(c&&c[fcta]&&c[fcta]8&&(a.substr(0,7)[fcAa]()=="http://"||a.substr(0,8)[fcAa]()=="https://"))fcl[fcC].href=a;else if(a=fce[fcM][fcD]().site)fcl[fcC].href=fch+"/friendconnect/directory/site?id="+a;else fck.history.go(-1)};fc$[fc].G="";fc$[fc].Ib=function(){return this.G};fc$[fc].pc=function(a){this.apiVersion=a};fc$[fc].$=function(a){var b=fcl[fcK]("link");b[fcL]("rel","stylesheet");b[fcL]("type","text/css");b[fcL]("href",a);fcl.getElementsByTagName("head")[0][fcr](b)}; fc$[fc].mb=function(a){var b=fcl[fcK]("script");b[fcL]("src",a);b[fcL]("type","text/javascript");fcl.getElementsByTagName("head")[0][fcr](b)};fc$[fc].Aa=function(a){if(fcl[fcna])a();else fck[fcqa]?fck[fcqa]("load",a,fcd):fck.attachEvent("onload",a)}; fc$[fc].ma=function(a){if(!a.site)fca("API not loaded, please pass in a 'site'");this.$(fck.friendconnect_serverBase+"/friendconnect/styles/container.css?d="+this.V);this.openSocialSiteId=a.site;this.apiLoadedCallback=a.onload;this.Aa(fcW(this.Sa,this,a,"fc-opensocial-api"))};fc$[fc].Vb=fc$[fc].ma;fc$[fc].Pb=function(a){var b={};b.site=this.openSocialSiteId;b["view-params"]={txnId:a};this.Sa(b,"gfc-"+a)}; fc$[fc].ec=function(a){var b={};for(var c in this.j){var d=this.j[c];if(d.viewParams&&d.viewParams.txnId==a)break;else b[c]=d}this.j=b;(a=fcl[fcA]("gfc-"+a))&&a[fcP]&&a[fcP].removeChild&&a[fcP].removeChild(a)};fc$[fc].Cb=function(){return" "}; fc$[fc].Jb=function(){return""}; var fcSc=function(a){var b;if(a.multiple){b=[];for(var c=0;cc&&a["x-selected"]){b=a["x-selected"];for(c=0;c