// Copyright (c) Microsoft Corporation.  All rights reserved.
registerNamespace("Live.Home.ArgumentException");var __Live_Home_ArgumentException=Live.Home.ArgumentException=function(){this._typeName="Live.Home.ArgumentException";this.number=-1;this.paramName=null;this.description=null;this.actualValue=null;switch(arguments.length){case 0:break;case 1:this.paramName=arguments[0];break;case 2:this.paramName=arguments[0];this.actualValue=arguments[1];break;default:this.paramName=arguments[0];this.actualValue=arguments[1];this.description=arguments[2];break;}this.toString=function(){var format="{0}";if(!Object.isNull(this.paramName)&&!Object.isNull(this.actualValue)&&!Object.isNull(this.description))format="{1} ({2}): {3}";else{if(!Object.isNull(this.paramName)&&!Object.isNull(this.actualValue))format="{1} ({2}): {1} is invalid";else{if(!Object.isNull(this.paramName)&&!Object.isNull(this.description))format="{1}: {3}";else{if(!Object.isNull(this.paramName))format="{1}";else{if(!Object.isNull(this.paramName))format="{3}";}}}}return String.format(format,this.getType(),this.paramName,this.actualValue,this.description);};this.getType=function(){return this._typeName;};};__Live_Home_ArgumentException.registerClass("Live.Home.ArgumentException");registerNamespace("Live.Home.CookieException");var __Live_Home_CookieException=Live.Home.CookieException=function(){this._typeName="Live.Home.CookieException";this.number=-1;this.cookieName=null;this.cookieValue=null;this.description=null;switch(arguments.length){case 0:break;case 1:this.cookieName=arguments[0];break;case 2:this.cookieName=arguments[0];this.cookieValue=arguments[1];break;default:this.cookieName=arguments[0];this.cookieValue=arguments[1];this.description=arguments[2];break;}this.toString=function(){var format="{0}";if(!Object.isNull(this.cookieName)&&!Object.isNull(this.description))format="{1}: {2}";else{if(!Object.isNull(this.cookieName))format="{1}: cookie value too long";}return String.format(format,this.getType(),this.cookieName,this.description);};this.getType=function(){return this._typeName;};};__Live_Home_CookieException.registerClass("Live.Home.CookieException");registerNamespace("Live.Home.EventManager");var __Live_Home_EventManager=Live.Home.EventManager={"_events":{},"_Event":function(b,c,e){var _callback=b;var _filterArgName=c;var _filterArgValue=e;function g(h){return Object.isNull(_filterArgName)||!Object.isNull(h)&&_filterArgValue==h[_filterArgName];}this.fire=function(j){if(!Object.isNull(_callback)&&g(j))_callback(j);};this.isEqual=function(b,c,e){return _callback==b&&_filterArgName==c&&_filterArgValue==e;};},"registerFor":function(k,l,m,n){if(Object.isNull(__Live_Home_EventManager._events[k]))__Live_Home_EventManager._events[k]=[];__Live_Home_EventManager._events[k].push(new __Live_Home_EventManager._Event(l,m,n));},"unregisterFor":function(o,p,q,r){var evnt=__Live_Home_EventManager._events[o];if(!Object.isNull(evnt)){var length=evnt.length;for(var i=0;i<length;i++){if(evnt[i].isEqual(p,q,r)){if(evnt.firing)evnt.unregistered.push(evnt[i]);else{evnt.splice(i--,1);length--;}}}if(0==evnt.length)delete __Live_Home_EventManager._events[o];}},"fire":function(s,t){if(!Object.isNull(__Live_Home_EventManager._events[s])){var evnt=__Live_Home_EventManager._events[s];evnt.firing=true;evnt.unregistered=[];var length=evnt.length;for(var i=0;i<length;i++){if(!evnt.unregistered.contains(evnt[i]))evnt[i].fire(t);}evnt.firing=false;if(evnt.unregistered.length>0)for(var i=length-1;i>=0;i--){if(evnt.unregistered.contains(evnt[i]))evnt.splice(i,1);}}}};registerNamespace("Live.Home.ExceptionManager");Live.Home.onserviceerror=__Web_Event.create();var __Live_Home_ExceptionManager=Live.Home.ExceptionManager=new function(){__Web_Network.onerror.attach(onError);Live.Home.onserviceerror.attach(onServiceError);var _alertedMessages=[];function onError(error){showNotification(L_ServiceException_Text,"RefreshIgnore","Error",reload);}function onServiceError(error){if(error){switch(error.ErrorCode){case "NotSignedInException":showNotification(L_ErrorMustSignIn_Text,"SignInClose","Error",signIn);return;case "MyStuffLimitExceededException":showNotification(L_MyStuffLimit_Text,"OK","Error");return;case "PageLimitExceededException":showNotification(L_PageLimit_Text,"OK","Error");return;case "ModuleLimitExceededException":showNotification(L_GadgetLimit_Text,"OK","Error");return;case "AnonymousServiceError":case "OpmlError":if(error.Error&&error.Error.message){showNotification(error.Error.message,"SignInClose","Error",signIn);return;}case "NotGalleryCompliantException":return;}showNotification(L_ServiceException_Text,"RefreshIgnore","Error",reload);}}function showNotification(message,buttons,icon,callback){var sheet=null;if(theApp&&theApp.GetSheet)sheet=theApp.GetSheet();if(sheet&&"undefined"!=typeof __Start_NotificationBar_Buttons&&"undefined"!=typeof __Start_NotificationBar_Icon&&"undefined"!=typeof __Start_NotificationBar_Importance)sheet.ShowNotificationMessage(message,__Start_NotificationBar_Buttons[buttons],__Start_NotificationBar_Icon[icon],__Start_NotificationBar_Importance.high,callback);else{if(!_alertedMessages.contains(message)){_alertedMessages.push(message);alert(message);}}}function signIn(result){if(__Start_NotificationBar_Result.SignIn==result&&Live&&Live.Header&&Live.Header.Settings)document.location.href=Live.Header.Settings.AuthUrl;}function reload(result){if(__Start_NotificationBar_Result.Refresh==result&&__Live_Home_Util_Url)document.location.href=__Live_Home_Util_Url.getUrlBase();}}();registerNamespace("Live.Home");var __Live_Home_TypeValidator=Live.Home.TypeValidator={"_guidAllowChars":"0123456789abcdefABCDEF","_emptyGuid":"00000000-0000-0000-0000-000000000000","validateNotNull":function(u,v){if(Object.isNull(u))throw new Live.Home.ArgumentException(v,u);},"validateString":function(w,x){if(!Web.Type.isString(w))throw new Live.Home.ArgumentException(x,w);},"validateStringOrNull":function(y,z){if(!Object.isNull(y))__Live_Home_TypeValidator.validateString(y,z);},"validateNonEmptyString":function(A,B){__Live_Home_TypeValidator.validateString(A,B);if(String.isEmpty(A))throw new Live.Home.ArgumentException(B,A);},"validateNumber":function(C,D){if(!Web.Type.isNumber(C))throw new Live.Home.ArgumentException(D,C);},"validateNonNegativeNumber":function(E,F){__Live_Home_TypeValidator.validateNumber(E,F);if(E<0)throw new Live.Home.ArgumentException(F,E);},"validatePositiveNumber":function(G,H){__Live_Home_TypeValidator.validateNonNegativeNumber(G,H);if(G==0)throw new Live.Home.ArgumentException(H,G);},"validateNumberOrNull":function(I,J){if(!Object.isNull(I))__Live_Home_TypeValidator.validateNumber(I,J);},"validateEnum":function(K,L,M){__Live_Home_TypeValidator.validateNotNull(L.parse(K),M);},"validateEnumOrNull":function(N,O,P){if(!Object.isNull(N))__Live_Home_TypeValidator.validateEnum(N,O,P);},"validateFunction":function(Q,R){if(!Web.Type.isFunction(Q))throw new Live.Home.ArgumentException(R,Q);},"validateFunctionOrNull":function(S,T){if(!Object.isNull(S))__Live_Home_TypeValidator.validateFunction(S,T);},"validateGuid":function(U,V){__Live_Home_TypeValidator.validateNonEmptyString(U,V);var length=U.length;if(36!=length)throw new Live.Home.ArgumentException(V,U);for(var i=0;i<length;i++){if(8==i||13==i||18==i||23==i){if("-"!=U.charAt(i))throw new Live.Home.ArgumentException(V,U);}else{if(-1==__Live_Home_TypeValidator._guidAllowChars.indexOf(U.charAt(i)))throw new Live.Home.ArgumentException(V,U);}}},"validateNonEmptyGuid":function(W,X){__Live_Home_TypeValidator.validateGuid(W,X);if(__Live_Home_TypeValidator._emptyGuid==W)throw new Live.Home.ArgumentException(X,W);},"validateGuidOrNull":function(Y,Z){if(!Object.isNull(Y))__Live_Home_TypeValidator.validateGuid(Y,Z);},"validateNonEmptyArray":function(ab,bb){if(Object.isNull(ab)||!Web.Type.isArray(ab)||0==ab.length)throw new Live.Home.ArgumentException(bb,ab);},"ensureNonNull":function(cb,eb){return null==cb?eb:cb;},"ensureNonNullNumber":function(gb,hb){return __Live_Home_TypeValidator.ensureNonNull(gb,hb?hb:0);},"ensureNonNullGuid":function(jb,kb){return __Live_Home_TypeValidator.ensureNonNull(jb,kb?kb:__Live_Home_TypeValidator._emptyGuid);},"ensureNonEmptyGuid":function(lb,mb){lb=__Live_Home_TypeValidator.ensureNonNullGuid(lb,mb);return __Live_Home_TypeValidator._emptyGuid==lb?mb:lb;}};registerNamespace("Live.Home.Const.Cookie");var __Live_Home_Const_Cookie=Live.Home.Const.Cookie={"maxCookieSize":4000,"defaultExpireYear":null,"defaultExpireMonth":null,"defaultExpireDay":null,"defaultExpireHour":null,"defaultExpireMinute":null,"defaultExpireSecond":null,"defaultExpiration":null,"defaultDomain":null,"defaultPath":"/","firstRunMode":null,"folders":"f","market":null,"modules":"m","pages":"p","siteSettings":"s","sessionCookieExpiration":{},"stickyHide":null,"theme":null};registerNamespace("Live.Home.Const.Data");var __Live_Home_Const_Data=Live.Home.Const.Data={"rootFolderID":null};registerNamespace("Live.Home.Data.DataIsland");if("undefined"==typeof __dataIsland)var __dataIsland={};var __Live_Home_Data_DataIsland=Live.Home.Data.DataIsland={"getValue":function(nb){var value=null;if(!Object.isNull(__dataIsland[nb])){if(0==__dataIsland[nb].Status&&Object.isNull(__dataIsland[nb].Error))value=__dataIsland[nb].Value;else __Live_Home_Data_DataIsland.deleteValue(nb);}return value;},"deleteValue":function(ob){if(!Object.isNull(__dataIsland[ob]))delete __dataIsland[ob];},"loadValue":function(pb){var value=__Live_Home_Data_DataIsland.getValue(pb);__Live_Home_Data_DataIsland.deleteValue(pb);return value;}};registerNamespace("Live.Home.Data");var __Live_Home_Data_InitManager=Live.Home.Data.InitManager=function(qb){var _ensuring=false;var _callbacks=[];var _initFunction=qb;var _initialized=false;this.setInitialized=function(rb){_initialized=rb;};this.addCallback=function(sb){if(_initialized){if(sb)sb();}else{if(sb)_callbacks.push(sb);if(!_ensuring){_ensuring=true;function tb(){_initialized=true;_ensuring=false;for(var i=0;i<_callbacks.length;i++){_callbacks[i]();}}_initFunction(tb);}}};};registerNamespace("Live.Home.Data");var __Live_Home_Data_ServiceManager=Live.Home.Data.ServiceManager=function(ub,vb){var _this=this;var _name=vb?vb.replace(".","_"):null;var _service=ub;var _actionTypes={};var _serializationModes={};var _staticCallbacks={};var _serializedExecuting={};var _serializedCalls={};var _singleCallExecuting={};var _singleCallCallbacks={};var _skipAddErrorFunctions=[];var _writeQueue=null;this.registerFunction=function(wb,xb,yb,zb,Ab){_actionTypes[wb]=yb;_serializationModes[wb]=zb;if(xb)_staticCallbacks[wb]=xb;if(Ab)_skipAddErrorFunctions.push(wb);};this.call=function(Bb,Cb,Db,Eb){var serviceArgs=[];for(var i=3;i<arguments.length;i++){serviceArgs.push(arguments[i]);}if(_service[Cb])switch(_actionTypes[Cb]){case __Live_Home_Data_ServiceManager.ActionType.write:Mb(Bb,Cb,Db,serviceArgs);break;case __Live_Home_Data_ServiceManager.ActionType.read:default:Hb(Bb,Cb,Db,serviceArgs);break;}else throw "Not supported!";};this.getRegisteredFunctions=function(Fb){var ret=[];for(var functionName in _actionTypes){if(_actionTypes[functionName]==Fb)ret.push(functionName);}return ret;};function Gb(){if(_writeQueue&&0!=_writeQueue.length){var write=null;while(write=_writeQueue.shift()){Sb(write[0],write[1],write[2],write[3]);}}}function Hb(Ib,Jb,Kb,Lb){if(__Live_Home_Data_ServiceManager._writeExecuting){if(!_writeQueue)_writeQueue=[];_writeQueue.push([Ib,Jb,Kb,Lb]);if(!__Live_Home_Data_ServiceManager._writeQueue)__Live_Home_Data_ServiceManager._writeQueue=[];if(!__Live_Home_Data_ServiceManager._writeQueue.contains(Gb))__Live_Home_Data_ServiceManager._writeQueue.push(Gb);}else Sb(Ib,Jb,Kb,Lb);}function Mb(Nb,Ob,Pb,Qb){if(__Live_Home_Data_ServiceManager._writeExecuted)Sb(Nb,Ob,Pb,Qb);else{function Rb(){__Live_Home_Data_ServiceManager._writeExecuted=true;delete __Live_Home_Data_ServiceManager._writeExecuting;if(__Live_Home_Data_ServiceManager._writeQueue){var flush=null;while(flush=__Live_Home_Data_ServiceManager._writeQueue.shift()){flush();}}delete __Live_Home_Data_ServiceManager._writeQueue;}if(__Live_Home_Data_ServiceManager._writeExecuting){if(!_writeQueue)_writeQueue=[];_writeQueue.push([Nb,Ob,Pb,Qb]);if(!__Live_Home_Data_ServiceManager._writeQueue)__Live_Home_Data_ServiceManager._writeQueue=[];if(!__Live_Home_Data_ServiceManager._writeQueue.contains(Gb))__Live_Home_Data_ServiceManager._writeQueue.push(Gb);}else{__Live_Home_Data_ServiceManager._writeExecuting=true;var writeCallback=[Rb];if(Web.Type.isArray(Nb))writeCallback.concat(Nb);else{if(Web.Type.isFunction(Nb))writeCallback.push(Nb);}Sb(writeCallback,Ob,Pb,Qb);}}}function Sb(Tb,Ub,Vb,Wb){switch(_serializationModes[Ub]){case __Live_Home_Data_ServiceManager.SerializationMode.serialize:cc(Tb,Ub,Vb,Wb);break;case __Live_Home_Data_ServiceManager.SerializationMode.singleCall:nc(Tb,Ub,Vb,Wb);break;default:Xb(Tb,Ub,Vb,Wb);break;}}function Xb(Yb,Zb,ac,bc){yc(Yb,Zb,ac,bc);}function cc(ec,gc,hc,jc){var serviceKey=gc+":"+hc;if(!_serializedCalls[serviceKey])_serializedCalls[serviceKey]=[];_serializedCalls[serviceKey].push([ec,jc]);if(!_serializedExecuting[serviceKey]){_serializedExecuting[serviceKey]=true;var currentCall=_serializedCalls[serviceKey].shift();function kc(lc,mc){uc(currentCall[0],lc,mc);if(0==_serializedCalls[serviceKey].length)_serializedExecuting[serviceKey]=false;else{currentCall=_serializedCalls[serviceKey].shift();yc(kc,gc,hc,currentCall[1]);}}yc(kc,gc,hc,currentCall[1]);}}function nc(oc,pc,qc,rc){var serviceKey=pc+":"+qc;if(oc){if(!_singleCallCallbacks[serviceKey])_singleCallCallbacks[serviceKey]=[];_singleCallCallbacks[serviceKey].push(oc);}if(!_singleCallExecuting[serviceKey]){_singleCallExecuting[serviceKey]=true;function sc(tc){_singleCallExecuting[serviceKey]=false;while(0!=_singleCallCallbacks[serviceKey].length){_singleCallCallbacks[serviceKey].shift()(tc);}}yc(sc,pc,qc,rc);}}function uc(vc,wc,xc){if(vc){if(Web.Type.isArray(vc)){var length=vc.length;for(var i=0;i<length;i++){if(Web.Type.isFunction(vc[i]))vc[i](wc,xc);}}else{if(Web.Type.isFunction(vc))vc(wc,xc);}}}function yc(zc,Ac,Bc,Cc){if(_service[Ac]){function Dc(Ec,Fc,Gc){if(Gc){var pkg={"ErrorCode":Gc.errorCode,"Context":Fc,"Proxy":null,"Error":Gc};Live.Home.onserviceerror.fire(pkg);}if(_staticCallbacks[Ac])_staticCallbacks[Ac](Ec,Cc,Gc);uc(zc,Ec,Gc);}var value=__Live_Home_Data_DataIsland.loadValue((_name?_name+"_":"")+Ac+(Bc?"_"+Bc:""));if(Object.isNull(value)){var serviceArgs=[];var length=Cc.length;for(var i=0;i<length;i++){serviceArgs.push(Cc[i]);}if(!_skipAddErrorFunctions.contains(Ac))serviceArgs.push(null);serviceArgs.push(Dc);_service[Ac].apply(this,serviceArgs);}else Dc(value);}}};__Live_Home_Data_ServiceManager.ActionType=Web.Enum.create("read","write");__Live_Home_Data_ServiceManager.SerializationMode=Web.Enum.create("none","serialize","singleCall");registerNamespace("Live.Home.Data");var __Live_Home_Data_SettingsManager=Live.Home.Data.SettingsManager=function(Hc,Ic,Jc,Kc,Lc){var _this=this;__Live_Home_TypeValidator.validateFunctionOrNull(Hc,"getSettingsFunction");__Live_Home_TypeValidator.validateFunctionOrNull(Ic,"setSettingFunction");__Live_Home_TypeValidator.validateFunctionOrNull(Jc,"deleteSettingFunction");var _getSettingsService=Hc;var _setSettingService=Ic;var _deleteSettingService=Jc;var _name=Kc;var _serviceArgs=Lc;var _settings={};var _settingsInitManager=new __Live_Home_Data_InitManager(oe);this.clearCache=function(){_settings={};_settingsInitManager=new __Live_Home_Data_InitManager(oe);};function Mc(Nc){try{return Object.fromJSON(Nc);}catch(e){return null;}}this.getSettingsFromCache=function(){var settings=null;if(_settings){settings={};for(var Kc in _settings){settings[Kc]=Mc(_settings[Kc]);}}return settings;};this.getSettings=function(Oc){__Live_Home_TypeValidator.validateFunction(Oc,"callback");function Pc(){Oc(_this.getSettingsFromCache());}se(Pc);};this.getSetting=function(Qc,Rc){__Live_Home_TypeValidator.validateFunction(Qc,"callback");__Live_Home_TypeValidator.validateNonEmptyString(Rc,"name");function Sc(){var args={"name":Rc,"value":Mc(_settings[Rc])};Qc(args);}se(Sc);};this.setSetting=function(Tc,Uc,Vc){this.internalSetSetting(Tc,Uc,Vc,true);};this.internalSetSetting=function(Wc,Xc,Yc,Zc){__Live_Home_TypeValidator.validateFunctionOrNull(Wc,"callback");__Live_Home_TypeValidator.validateNonEmptyString(Xc,"name");var stringValue=Object.toJSON(Yc);function ae(){var oldValue=_settings[Xc];function be(ce,ee){if(Wc)Wc({"name":Xc,"value":Object.fromJSON(stringValue),"oldValue":Object.fromJSON(oldValue)},ee);}if(stringValue!=oldValue){_settings[Xc]=stringValue;if(Zc)we(be,Xc,stringValue);else be();}else be();}se(ae);};this.deleteSetting=function(ge,he){__Live_Home_TypeValidator.validateFunctionOrNull(ge,"callback");__Live_Home_TypeValidator.validateNonEmptyString(he,"name");function je(){function ke(le,me){if(ge)ge({"name":he},me);}if(undefined!=_settings[he]){delete _settings[he];Ae(ke,he);}else ke();}se(je);};this.initializeSettings=function(ne){_settingsInitManager.setInitialized(true);_settings=__Live_Home_Data_SettingsManager.decodeSettings(ne);};function oe(pe){function qe(re){_this.initializeSettings(re);if(pe)pe();}var value=null;if(_name)value=__Live_Home_Data_DataIsland.loadValue(_name+(_serviceArgs?"_"+_serviceArgs:""));if(Object.isNull(value))ue(qe);else qe(value);}function se(te){_settingsInitManager.addCallback(te);}function ue(ve){if(_getSettingsService)_getSettingsService(ve,_serviceArgs);else{_settings={};if(ve)ve();}}function we(xe,ye,ze){if(_setSettingService)_setSettingService(xe,_serviceArgs,ye,ze);else xe();}function Ae(Be,Ce){if(_deleteSettingService)_deleteSettingService(Be,_serviceArgs,Ce);else Be();}};Live.Home.Data.SettingsManager.encodeSettings=function(De){var result=[];for(var name in De){result.push({"name":name,"value":Object.toJSON(De[name])});}return result;};Live.Home.Data.SettingsManager.decodeSettings=function(Ee){var result={};if(Ee&&Ee instanceof Array){var length=Ee.length;for(var i=0;i<length;i++){result[Ee[i].name]=Ee[i].value;}}return result;};registerNamespace("Live.Home.Data.Enum");var __Live_Home_Data_Enum_DirectoryItemType=Live.Home.Data.Enum.DirectoryItemType=__Web_Enum.create("rss","gadget","link","folder","template");registerNamespace("Live.Home.Data.Enum");var __Live_Home_Data_Enum_DisplayState=Live.Home.Data.Enum.DisplayState=__Web_Enum.create("collapsed","expanded");registerNamespace("Live.Home.Data.Enum");var __Live_Home_Data_Enum_FolderItemType=Live.Home.Data.Enum.FolderItemType=__Web_Enum.create("folder","module","mobileFolder");registerNamespace("Live.Home.Data.Enum");var __Live_Home_Data_Enum_ModuleType=Live.Home.Data.Enum.ModuleType=__Web_Enum.create("rss","gadget");registerNamespace("Live.Home.Data.Enum");var __Live_Home_Data_Enum_TemplateShareType=Live.Home.Data.Enum.TemplateShareType=Web.Enum.create("email","gallery");registerNamespace("Live.Home.Data.Enum");var __Live_Home_Data_Enum_UserType=Live.Home.Data.Enum.UserType=Web.Enum.create("anonymous","standard","legacy");registerNamespace("Live.Home.Data.Struct");var __Live_Home_Data_Struct_Column=Live.Home.Data.Struct.Column=function(){this.modules=[];};registerNamespace("Live.Home.Data.Struct");var __Live_Home_Data_Struct_Folder=Live.Home.Data.Struct.Folder=function(){this.folderID=null;this.name=null;this.items=[];};registerNamespace("Live.Home.Data.Struct");var __Live_Home_Data_Struct_FolderItem=Live.Home.Data.Struct.FolderItem=function(){this.itemID=null;this.name=null;this.folderItemType=null;};registerNamespace("Live.Home.Data.Struct");var __Live_Home_Data_Struct_Module=Live.Home.Data.Struct.Module=function(){this.moduleID=null;this.name=null;this.url=null;this.moduleType=null;this.displayState=__Live_Home_Data_Enum_DisplayState.expanded;this.settings={};};registerNamespace("Live.Home.Data.Struct");var __Live_Home_Data_Struct_Page=Live.Home.Data.Struct.Page=function(){this.pageID=null;this.name=null;this.settings={};this.columns=[];};registerNamespace("Live.Home.Data.Struct");var __Live_Home_Data_Struct_PageInfo=Live.Home.Data.Struct.PageInfo=function(){this.pageID=null;this.name=null;this.settings={};};registerNamespace("Live.Home.Data");var __Live_Home_Data_Site_Service=function(Fe){var _this=this;var _siteService=Fe;var _siteServiceManager=null;var _siteSettingsManager=new __Live_Home_Data_SettingsManager(gg,kg,pg,"Site_getSiteSettings");var _userType=null;this.clearCache=function(){_siteSettingsManager.clearCache();_userType=null;};this.clearAll=function(Ge){function He(){_this.clearCache();if(Ge)Ge();}Ze();_siteServiceManager.call(He,"clearAll");};this.getSiteSettings=function(Ie){__Live_Home_TypeValidator.validateFunctionOrNull(Ie,"callback");_siteSettingsManager.getSettings(Ie);};this.getSiteSetting=function(Je,Ke){__Live_Home_TypeValidator.validateFunctionOrNull(Je,"callback");__Live_Home_TypeValidator.validateNonEmptyString(Ke,"name");_siteSettingsManager.getSetting(Je,Ke);};this.setSiteSetting=function(Le,Me,Ne){__Live_Home_TypeValidator.validateFunctionOrNull(Le,"callback");__Live_Home_TypeValidator.validateNonEmptyString(Me,"name");function Oe(Pe,Qe){__Live_Home_EventManager.fire("Live.Home.Data.Site.setSiteSetting",Pe);if(Le)Le(Pe,Qe);}_siteSettingsManager.setSetting(Oe,Me,Ne);};this.deleteSiteSetting=function(Re,Se){__Live_Home_TypeValidator.validateFunctionOrNull(Re,"callback");__Live_Home_TypeValidator.validateNonEmptyString(Se,"name");function Te(Ue,Ve){__Live_Home_EventManager.fire("Live.Home.Data.Site.deleteSiteSetting",Ue);if(Re)Re(Ue,Ve);}_siteSettingsManager.deleteSetting(Te,Se);};this.getUserType=function(We){__Live_Home_TypeValidator.validateFunctionOrNull(We,"callback");function Xe(){if(We)We(_userType);}ag(Xe);};function Ye(){if(!_siteService)_siteService=__Live_Home_Services.getService("Site");}function Ze(){if(!_siteServiceManager){Ye();_siteServiceManager=new __Live_Home_Data_ServiceManager(_siteService,"Site");_siteServiceManager.registerFunction("getSettings",null,__Live_Home_Data_ServiceManager.ActionType.read);_siteServiceManager.registerFunction("setSetting",null,__Live_Home_Data_ServiceManager.ActionType.write,__Live_Home_Data_ServiceManager.SerializationMode.serialize);_siteServiceManager.registerFunction("deleteSetting",null,__Live_Home_Data_ServiceManager.ActionType.write);_siteServiceManager.registerFunction("getUserType",cg,__Live_Home_Data_ServiceManager.ActionType.read);_siteServiceManager.registerFunction("clearAll",null,__Live_Home_Data_ServiceManager.ActionType.write);}}function ag(bg){if(null==_userType){Ze();_siteServiceManager.call(bg,"getUserType");}else bg();}function cg(eg){_userType=eg;}function gg(hg,jg){Ze();_siteServiceManager.call(hg,"getSettings",null);}function kg(lg,mg,ng,og){Ze();_siteServiceManager.call(lg,"setSetting",null,ng,og);}function pg(qg,rg,sg){Ze();_siteServiceManager.call(qg,"deleteSetting",null,sg);}};var __Live_Home_Data_Site=Live.Home.Data.Site=new __Live_Home_Data_Site_Service();registerNamespace("Live.Home.Data");var __Live_Home_Data_Subscriptions_Service=function(tg){var _this=this;var _subscriptionsService=tg;var _subscriptionsServiceManager=null;var _folders={};var _pageInfo=null;var _requiredTemplates=null;var _pages={};var _pageSettingsManagers={};var _modules={};var _moduleSettingsManagers={};this.clearCache=function(){_subscriptionsService=null;_subscriptionsServiceManager=null;_folders={};_pageInfo=null;_pages={};_pageSettingsManagers={};_modules={};_moduleSettingsManagers={};};this.clearAll=function(ug){function vg(){_this.clearCache();if(ug)ug();}vm();_subscriptionsServiceManager.call(vg,"clearAll");};this.getServiceDelegate=function(wg,xg){vm();var readMethods=_subscriptionsServiceManager.getRegisteredFunctions(__Live_Home_Data_ServiceManager.ActionType.read);var writeMethods=_subscriptionsServiceManager.getRegisteredFunctions(__Live_Home_Data_ServiceManager.ActionType.write);var delegate=new Object();if(wg)Start.Util.createInterceptor(delegate,readMethods,this,wg);else Start.Util.createDelegator(delegate,readMethods,this);if(xg)Start.Util.createInterceptor(delegate,writeMethods,this,xg);else Start.Util.createDelegator(delegate,writeMethods,this);return delegate;};this.getDirectoryFolder=function(yg,zg,Ag){__Live_Home_TypeValidator.validateFunctionOrNull(yg,"callback");__Live_Home_TypeValidator.validateNonEmptyString(zg,"url");__Live_Home_TypeValidator.validateStringOrNull(Ag,"directoryFolderID");function Bg(Cg,Dg){if(yg)yg(Cg,Dg);}vm();_subscriptionsServiceManager.call(Bg,"getDirectoryFolder",Ag,zg,Ag);};this.getFolder=function(Eg,Fg){__Live_Home_TypeValidator.validateFunctionOrNull(Eg,"callback");__Live_Home_TypeValidator.validateGuidOrNull(Fg,"folderID");Fg=__Live_Home_TypeValidator.ensureNonEmptyGuid(Fg,__Live_Home_Const_Data.rootFolderID).toLowerCase();function Gg(){if(Eg)Eg(_folders[Fg]);}wm(Gg,Fg);};this.addFolder=function(Hg,Ig,Jg){__Live_Home_TypeValidator.validateFunctionOrNull(Hg,"callback");__Live_Home_TypeValidator.validateNonEmptyString(Ig,"name");__Live_Home_TypeValidator.validateGuidOrNull(Jg,"parentFolderID");Jg=__Live_Home_TypeValidator.ensureNonEmptyGuid(Jg,__Live_Home_Const_Data.rootFolderID).toLowerCase();function Kg(Lg,Mg){var folder=null;if(!Mg){folder=_folders[Lg.folderID.toLowerCase()];if(_folders[Jg]){var folderItem=new __Live_Home_Data_Struct_FolderItem();folderItem.itemID=folder.folderID;folderItem.name=folder.name;folderItem.folderItemType=__Live_Home_Data_Enum_FolderItemType.folder;_folders[Jg].items.push(folderItem);}__Live_Home_EventManager.fire("Live.Home.Data.Subscriptions.addFolder",folder);}if(Hg)Hg(folder,Mg);}vm();if(__Live_Home_Const_Data.rootFolderID==Jg)_subscriptionsServiceManager.call(Kg,"addFolderToRoot",Ig,Ig);else _subscriptionsServiceManager.call(Kg,"addFolder",Ig,Ig,Jg);};this.deleteFolder=function(Ng,Og){__Live_Home_TypeValidator.validateFunctionOrNull(Ng,"callback");__Live_Home_TypeValidator.validateNonEmptyGuid(Og,"folderID");function Pg(Qg,Rg){var args={"folderID":Og};__Live_Home_EventManager.fire("Live.Home.Data.Subscriptions.deleteFolder",args);if(Ng)Ng(args,Rg);}vm();_subscriptionsServiceManager.call(Pg,"deleteFolder",Og,Og);};this.moveFolder=function(Sg,Tg,Ug,Vg){__Live_Home_TypeValidator.validateFunctionOrNull(Sg,"callback");__Live_Home_TypeValidator.validateNonEmptyGuid(Tg,"folderID");__Live_Home_TypeValidator.validateGuidOrNull(Ug,"parentFolderID");__Live_Home_TypeValidator.validateNumber(Vg,"position");Ug=__Live_Home_TypeValidator.ensureNonEmptyGuid(Ug,__Live_Home_Const_Data.rootFolderID).toLowerCase();function Wg(){if(_folders[Tg]){var oldParentFolderAndPosition=Om(Tg,__Live_Home_Data_Enum_FolderItemType.folder);var oldParentFolderID=oldParentFolderAndPosition[0];var oldPosition=oldParentFolderAndPosition[1];if(Ug!=oldParentFolderID||Vg!=oldPosition){function Xg(Yg,Zg){var args={"folderID":Tg,"parentFolderID":Ug,"oldParentFolderID":oldParentFolderID,"position":Vg,"oldPosition":oldPosition};__Live_Home_EventManager.fire("Live.Home.Data.Subscriptions.moveFolder",args);if(Sg)Sg(args,Zg);}if(_folders[Ug]){var folderItem=null;if(oldParentFolderID&&-1!=oldPosition)folderItem=_folders[oldParentFolderID].items.removeAt(oldPosition);else{if(_folders[Ug]){folderItem=new __Live_Home_Data_Struct_FolderItem();folderItem.itemID=Tg;folderItem.name=_folders[Tg].name;folderItem.folderItemType=__Live_Home_Data_Enum_FolderItemType.folder;}}_folders[Ug].items.insert(Vg,folderItem);}vm();_subscriptionsServiceManager.call(Xg,"moveFolder",Tg,Tg,Ug,Vg);}}}wm(Wg,Tg);};this.setFolderName=function(ah,bh,ch){__Live_Home_TypeValidator.validateFunctionOrNull(ah,"callback");__Live_Home_TypeValidator.validateNonEmptyGuid(bh,"folderID");__Live_Home_TypeValidator.validateNonEmptyString(ch,"name");function eh(){var oldName=_folders[bh].name;if(ch!=oldName){_folders[bh].name=ch;function gh(hh,jh){var args={"folderID":bh,"name":ch,"oldName":oldName};__Live_Home_EventManager.fire("Live.Home.Data.Subscriptions.setFolderName",args);if(ah)ah(args,jh);}vm();_subscriptionsServiceManager.call(gh,"setFolderName",bh,bh,ch);}}wm(eh,bh);};this.setNoRemove=function(kh,lh,mh,nh){__Live_Home_TypeValidator.validateFunctionOrNull(kh,"callback");__Live_Home_TypeValidator.validateGuidOrNull(lh,"moduleID");__Live_Home_TypeValidator.validateGuidOrNull(mh,"pageID");function oh(ph){if(kh)kh(ph);}vm();_subscriptionsServiceManager.call(oh,"setNoRemove",lh,lh,mh,nh);};this.addModule=function(qh,rh,sh,th,uh,vh,wh,xh,yh,zh,Ah){__Live_Home_TypeValidator.validateFunctionOrNull(qh,"callback");__Live_Home_TypeValidator.validateGuidOrNull(rh,"parentFolderID");__Live_Home_TypeValidator.validateNumberOrNull(sh,"position");__Live_Home_TypeValidator.validateNonEmptyGuid(th,"pageID");__Live_Home_TypeValidator.validateNumberOrNull(uh,"column");__Live_Home_TypeValidator.validateNumberOrNull(vh,"row");__Live_Home_TypeValidator.validateNonEmptyString(wh,"name");__Live_Home_TypeValidator.validateNonEmptyString(xh,"url");__Live_Home_TypeValidator.validateEnum(yh,__Live_Home_Data_Enum_ModuleType,"moduleType");__Live_Home_TypeValidator.validateEnumOrNull(zh,__Live_Home_Data_Enum_DisplayState,"displayState");uh=__Live_Home_TypeValidator.ensureNonNullNumber(uh);rh=__Live_Home_TypeValidator.ensureNonEmptyGuid(rh,__Live_Home_Const_Data.rootFolderID).toLowerCase();sh=__Live_Home_TypeValidator.ensureNonNullNumber(sh);zh=__Live_Home_TypeValidator.ensureNonNull(zh,__Live_Home_Data_Enum_DisplayState.expanded);var settingsArray=__Live_Home_Data_SettingsManager.encodeSettings(Ah);function Bh(){function Ch(Dh,Eh){var module=null;if(!Eh){module=_modules[Dh.moduleID.toLowerCase()];Go(rh,module.moduleID);Jo(th,module.moduleID,uh,vh);function Fh(Gh,Hh){if(!Hh)module.pageTemplate=Gh?Gh.value:null;__Live_Home_EventManager.fire("Live.Home.Data.Subscriptions.addModule",module);if(qh)qh(module,Eh);}jo(th);_pageSettingsManagers[th].getSetting(Fh,"baseTemplate");}else{if(qh)qh(module,Eh);}}vh=Ro(th,uh,vh);vm();_subscriptionsServiceManager.call(Ch,"addModule",rh,rh,sh,th,uh,vh,wh,xh,yh,zh,settingsArray);}wm(Bh,rh);};this.addModuleToDefaultLocations=function(Ih,Jh,Kh,Lh,Mh,Nh){__Live_Home_TypeValidator.validateFunctionOrNull(Ih,"callback");__Live_Home_TypeValidator.validateNonEmptyString(Jh,"name");__Live_Home_TypeValidator.validateNonEmptyString(Kh,"url");__Live_Home_TypeValidator.validateEnum(Lh,__Live_Home_Data_Enum_ModuleType,"moduleType");__Live_Home_TypeValidator.validateEnumOrNull(Mh,__Live_Home_Data_Enum_DisplayState,"displayState");Mh=__Live_Home_TypeValidator.ensureNonNull(Mh,__Live_Home_Data_Enum_DisplayState.expanded);var settingsArray=__Live_Home_Data_SettingsManager.encodeSettings(Nh);function Oh(Ph,Qh){var module=Ph==null?null:_modules[Ph.moduleID.toLowerCase()];if(Ih)Ih(module,Qh);}vm();_subscriptionsServiceManager.call(Oh,"addModuleToDefaultLocations",null,Jh,Kh,Lh,Mh,settingsArray);};this.addModuleToUserStore=function(Rh,Sh,Th,Uh,Vh,Wh,Xh,Yh){__Live_Home_TypeValidator.validateFunctionOrNull(Rh,"callback");__Live_Home_TypeValidator.validateGuidOrNull(Sh,"parentFolderID");__Live_Home_TypeValidator.validateNumberOrNull(Th,"position");__Live_Home_TypeValidator.validateNonEmptyString(Uh,"name");__Live_Home_TypeValidator.validateNonEmptyString(Vh,"url");__Live_Home_TypeValidator.validateEnum(Wh,__Live_Home_Data_Enum_ModuleType,"moduleType");__Live_Home_TypeValidator.validateEnumOrNull(Xh,__Live_Home_Data_Enum_DisplayState,"displayState");Sh=__Live_Home_TypeValidator.ensureNonEmptyGuid(Sh,__Live_Home_Const_Data.rootFolderID).toLowerCase();Th=__Live_Home_TypeValidator.ensureNonNullNumber(Th);Xh=__Live_Home_TypeValidator.ensureNonNull(Xh,__Live_Home_Data_Enum_DisplayState.expanded);var settingsArray=__Live_Home_Data_SettingsManager.encodeSettings(Yh);function Zh(){function aj(bj,cj){var module=null;if(!cj){module=_modules[bj.moduleID.toLowerCase()];Go(Sh,module.moduleID);__Live_Home_EventManager.fire("Live.Home.Data.Subscriptions.addModuleToUserStore",module);}if(Rh)Rh(module,cj);}vm();_subscriptionsServiceManager.call(aj,"addModuleToUserStore",Sh,Sh,Th,Uh,Vh,Wh,Xh,settingsArray);}wm(Zh,Sh);};this.moveModuleInUserStore=function(ej,gj,hj,jj,kj){__Live_Home_TypeValidator.validateFunctionOrNull(ej,"callback");__Live_Home_TypeValidator.validateNonEmptyGuid(gj,"moduleID");__Live_Home_TypeValidator.validateGuidOrNull(hj,"oldParentFolderID");__Live_Home_TypeValidator.validateGuidOrNull(jj,"parentFolderID");__Live_Home_TypeValidator.validateNumberOrNull(kj,"position");hj=__Live_Home_TypeValidator.ensureNonEmptyGuid(hj,__Live_Home_Const_Data.rootFolderID).toLowerCase();jj=__Live_Home_TypeValidator.ensureNonEmptyGuid(jj,hj).toLowerCase();kj=__Live_Home_TypeValidator.ensureNonNullNumber(kj);function lj(){var oldParentFolderAndPosition=Om(gj,__Live_Home_Data_Enum_FolderItemType.module);var oldPosition=oldParentFolderAndPosition[1];if(jj!=hj||kj!=oldPosition){function mj(){var args={"moduleID":gj,"parentFolderID":jj,"oldParentFolderID":hj,"position":kj,"oldPosition":oldPosition};__Live_Home_EventManager.fire("Live.Home.Data.Subscriptions.moveModuleInUserStore",args);if(ej)ej(args);}if(_folders[hj]&&-1!=oldPosition)_folders[hj].items.removeAt(oldPosition);Go(jj,gj);vm();_subscriptionsServiceManager.call(mj,"moveModuleInUserStore",gj,gj,hj,jj,kj);}}xo(lj,gj);};this.deleteModule=function(nj,oj){__Live_Home_TypeValidator.validateFunctionOrNull(nj,"callback");__Live_Home_TypeValidator.validateNonEmptyGuid(oj,"moduleID");function pj(){var module=_modules[oj];var moduleType=module.moduleType;var moduleUrl=module.url;function qj(){var args={"moduleID":oj,"moduleType":moduleType,"url":moduleUrl};__Live_Home_EventManager.fire("Live.Home.Data.Subscriptions.deleteModule",args);if(nj)nj(args);}_subscriptionsServiceManager.call(qj,"deleteModule",oj,oj);}vm();xo(pj,oj);};this.getPages=function(rj,sj){__Live_Home_TypeValidator.validateFunctionOrNull(rj,"callback");function tj(){function uj(){if(rj){op(_pageInfo);rj(_pageInfo);}}on(uj,sj);}Rm(tj,sj);};this.getPage=function(vj,wj,xj){__Live_Home_TypeValidator.validateFunctionOrNull(vj,"callback");__Live_Home_TypeValidator.validateNonEmptyGuid(wj,"pageID");wj=wj.toLowerCase();function yj(){if(vj){_pages[wj].settings=_pageSettingsManagers[wj].getSettingsFromCache();vj(_pages[wj]);}}Um(yj,wj,xj);};this.addPage=function(zj,Aj){__Live_Home_TypeValidator.validateFunctionOrNull(zj,"callback");__Live_Home_TypeValidator.validateNonEmptyString(Aj,"name");function Bj(Cj,Dj){var page=null;if(!Dj){page=_pages[Cj.pageID.toLowerCase()];__Live_Home_EventManager.fire("Live.Home.Data.Subscriptions.addPage",page);}if(zj)zj(page,Dj);}vm();_subscriptionsServiceManager.call(Bj,"addPage",Aj,Aj);};this.deletePage=function(Ej,Fj){__Live_Home_TypeValidator.validateFunctionOrNull(Ej,"callback");__Live_Home_TypeValidator.validateNonEmptyGuid(Fj,"pageID");function Gj(Hj){function Ij(){var args={"pageID":Fj,"baseTemplate":Hj.value};Mm(__Live_Home_Const_Data.rootFolderID);__Live_Home_EventManager.fire("Live.Home.Data.Subscriptions.deletePage",args);if(Ej)Ej(args);}vm();_subscriptionsServiceManager.call(Ij,"deletePage",Fj,Fj);}jo(Fj);_pageSettingsManagers[Fj].getSetting(Gj,"baseTemplate");};this.movePage=function(Jj,Kj,Lj){__Live_Home_TypeValidator.validateFunctionOrNull(Jj,"callback");__Live_Home_TypeValidator.validateNonEmptyGuid(Kj,"pageID");__Live_Home_TypeValidator.validateNumber(Lj,"position");function Mj(){function Nj(){var oldPosition=-1;var length=_pageInfo.length;for(var i=0;i<length;i++){if(Kj==_pageInfo[i].pageID){oldPosition=i;break;}}if(Lj!=oldPosition){function Oj(){var args={"pageID":Kj,"position":Lj,"oldPosition":oldPosition};__Live_Home_EventManager.fire("Live.Home.Data.Subscriptions.movePage",args);if(Jj)Jj(args);}var pageInfo=_pageInfo.removeAt(oldPosition);_pageInfo.insert(Lj,pageInfo);vm();_subscriptionsServiceManager.call(Oj,"movePage",Kj,Kj,Lj);}}Rm(Nj);}Um(Mj,Kj);};this.setPageName=function(Pj,Qj,Rj){__Live_Home_TypeValidator.validateFunctionOrNull(Pj,"callback");__Live_Home_TypeValidator.validateNonEmptyGuid(Qj,"pageID");__Live_Home_TypeValidator.validateNonEmptyString(Rj,"name");function Sj(){var oldName=_pages[Qj].name;if(Rj!=oldName){_pages[Qj].name=Rj;function Tj(){function Uj(Vj){var template=Vj?Vj.value:null;var args={"pageID":Qj,"name":Rj,"oldName":oldName,"template":template};__Live_Home_EventManager.fire("Live.Home.Data.Subscriptions.setPageName",args);if(Pj)Pj(args);}jo(Qj);_pageSettingsManagers[Qj].getSetting(Uj,"baseTemplate");}vm();_subscriptionsServiceManager.call(Tj,"setPageName",Qj,Qj,Rj);}}Um(Sj,Qj);};this.addModuleToPage=function(Wj,Xj,Yj,Zj,ak){__Live_Home_TypeValidator.validateFunctionOrNull(Wj,"callback");__Live_Home_TypeValidator.validateNonEmptyGuid(Xj,"pageID");__Live_Home_TypeValidator.validateNonEmptyGuid(Yj,"moduleID");__Live_Home_TypeValidator.validateNumberOrNull(Zj,"column");__Live_Home_TypeValidator.validateNumberOrNull(ak,"row");Zj=__Live_Home_TypeValidator.ensureNonNullNumber(Zj);function bk(){function ck(){function ek(gk,hk){var module=_modules[Yj];if(!hk){function jk(kk,lk){var pageTemplate=null;if(!lk)pageTemplate=kk?kk.value:null;var args={"pageID":Xj,"moduleID":Yj,"column":Zj,"row":ak,"url":module.url,"moduleType":module.moduleType,"pageTemplate":pageTemplate};__Live_Home_EventManager.fire("Live.Home.Data.Subscriptions.addModuleToPage",args);if(Wj)Wj(args,hk);}jo(Xj);_pageSettingsManagers[Xj].getSetting(jk,"baseTemplate");}else{if(Wj)Wj(args,hk);}}ak=Ro(Xj,Zj,ak);Jo(Xj,Yj,Zj,ak);vm();_subscriptionsServiceManager.call(ek,"addModuleToPage",Xj,Xj,Yj,Zj,ak);}xo(ck,Yj);}Um(bk,Xj);};this.deleteModuleFromPage=function(mk,nk,ok){__Live_Home_TypeValidator.validateFunctionOrNull(mk,"callback");__Live_Home_TypeValidator.validateNonEmptyGuid(nk,"pageID");__Live_Home_TypeValidator.validateNonEmptyGuid(ok,"moduleID");function pk(){function qk(){function rk(){var module=_modules[ok];Mm(__Live_Home_Const_Data.rootFolderID);function sk(tk,uk){var pageTemplate=null;if(!uk)pageTemplate=tk?tk.value:null;var args={"pageID":nk,"moduleID":ok,"moduleType":module.moduleType,"url":module.url,"pageTemplate":pageTemplate};__Live_Home_EventManager.fire("Live.Home.Data.Subscriptions.deleteModuleFromPage",args);if(mk)mk(args);}jo(nk);_pageSettingsManagers[nk].getSetting(sk,"baseTemplate");}vm();_subscriptionsServiceManager.call(rk,"deleteModuleFromPage",nk,nk,ok);}xo(qk,ok);}Um(pk,nk);};this.moveModuleOnPage=function(vk,wk,xk,yk,zk){__Live_Home_TypeValidator.validateFunctionOrNull(vk,"callback");__Live_Home_TypeValidator.validateNonEmptyGuid(wk,"pageID");__Live_Home_TypeValidator.validateNonEmptyGuid(xk,"moduleID");__Live_Home_TypeValidator.validateNumber(yk,"column");__Live_Home_TypeValidator.validateNumber(zk,"row");function Ak(){if(_modules[xk]){var oldColumnAndRow=eo(wk,xk);var oldColumn=oldColumnAndRow[0];var oldRow=oldColumnAndRow[1];if(yk!=oldColumn||zk!=oldRow){function Bk(){var args={"pageID":wk,"moduleID":xk,"column":yk,"oldColumn":oldColumn,"row":zk,"oldRow":oldRow};__Live_Home_EventManager.fire("Live.Home.Data.Subscriptions.moveModuleOnPage",args);if(vk)vk(args);}if(_pages[wk]){if(-1!=oldColumn&&-1!=oldRow)_pages[wk].columns[oldColumn].modules.removeAt(oldRow);Jo(wk,xk,yk,zk);}vm();_subscriptionsServiceManager.call(Bk,"moveModuleOnPage",wk+xk,wk,xk,yk,zk);}}}xo(Ak,xk);};this.moveModuleToPage=function(Ck,Dk,Ek,Fk,Gk,Hk){__Live_Home_TypeValidator.validateFunctionOrNull(Ck,"callback");__Live_Home_TypeValidator.validateNonEmptyGuid(Dk,"oldPageID");__Live_Home_TypeValidator.validateNonEmptyGuid(Ek,"moduleID");__Live_Home_TypeValidator.validateNonEmptyGuid(Fk,"pageID");__Live_Home_TypeValidator.validateNumber(Gk,"column");__Live_Home_TypeValidator.validateNumber(Hk,"row");function Ik(){if(_modules[Ek]){var oldColumnAndRow=eo(Dk,Ek);var oldColumn=oldColumnAndRow[0];var oldRow=oldColumnAndRow[1];if(Fk!=Dk||Gk!=oldColumn||Hk!=oldRow){function Jk(){var args={"pageID":Fk,"oldPageID":Dk,"moduleID":Ek,"column":Gk,"oldColumn":oldColumn,"row":Hk,"oldRow":oldRow};__Live_Home_EventManager.fire("Live.Home.Data.Subscriptions.moveModuleToPage",args);if(Ck)Ck(args);}if(_pages[Dk]&&-1!=oldColumn&&-1!=oldRow)_pages[Dk].columns[oldColumn].modules.removeAt(oldRow);Jo(Fk,Ek,Gk,Hk);vm();_subscriptionsServiceManager.call(Jk,"moveModuleToPage",Dk+Ek,Dk,Ek,Fk,Gk,Hk);}}}xo(Ik,Ek);};this.getPageSettings=function(Kk,Lk){__Live_Home_TypeValidator.validateFunctionOrNull(Kk,"callback");__Live_Home_TypeValidator.validateNonEmptyGuid(Lk,"pageID");Lk=Lk.toLowerCase();jo(Lk);_pageSettingsManagers[Lk].getSettings(Kk,null);};this.getPageSetting=function(Mk,Nk,Ok){__Live_Home_TypeValidator.validateFunctionOrNull(Mk,"callback");__Live_Home_TypeValidator.validateNonEmptyGuid(Nk,"pageID");__Live_Home_TypeValidator.validateNonEmptyString(Ok,"name");Nk=Nk.toLowerCase();jo(Nk);_pageSettingsManagers[Nk].getSetting(Mk,Ok);};this.setPageSetting=function(Pk,Qk,Rk,Sk){__Live_Home_TypeValidator.validateFunctionOrNull(Pk,"callback");__Live_Home_TypeValidator.validateNonEmptyGuid(Qk,"pageID");__Live_Home_TypeValidator.validateNonEmptyString(Rk,"name");Qk=Qk.toLowerCase();function Tk(Uk,Vk){Uk.pageID=Qk;__Live_Home_EventManager.fire("Live.Home.Data.Subscriptions.setPageSetting",Uk);if(Pk)Pk(Uk,Vk);}jo(Qk);_pageSettingsManagers[Qk].setSetting(Tk,Rk,Sk);};this.deletePageSetting=function(Wk,Xk,Yk){__Live_Home_TypeValidator.validateFunctionOrNull(Wk,"callback");__Live_Home_TypeValidator.validateNonEmptyGuid(Xk,"pageID");__Live_Home_TypeValidator.validateNonEmptyString(Yk,"name");Xk=Xk.toLowerCase();function Zk(al,bl){al.pageID=Xk;__Live_Home_EventManager.fire("Live.Home.Data.Subscriptions.deletePageSetting",al);if(Wk)Wk(al,bl);}jo(Xk);_pageSettingsManagers[Xk].deleteSetting(Zk,Yk);};this.getModule=function(cl,el,gl){__Live_Home_TypeValidator.validateFunctionOrNull(cl,"callback");__Live_Home_TypeValidator.validateNonEmptyGuid(el,"moduleID");el=el.toLowerCase();function hl(){if(cl){_modules[el].settings=_moduleSettingsManagers[el].getSettingsFromCache();cl(_modules[el]);}}xo(hl,el,gl);};this.setModuleName=function(jl,kl,ll){__Live_Home_TypeValidator.validateFunctionOrNull(jl,"callback");__Live_Home_TypeValidator.validateNonEmptyGuid(kl,"moduleID");__Live_Home_TypeValidator.validateNonEmptyString(ll,"name");function ml(){var oldName=_modules[kl].name;if(ll!=oldName){_modules[kl].name=ll;function nl(){var args={"moduleID":kl,"name":ll,"oldName":oldName};__Live_Home_EventManager.fire("Live.Home.Data.Subscriptions.setModuleName",args);if(jl)jl(args);}vm();_subscriptionsServiceManager.call(nl,"setModuleName",kl,kl,ll);}}xo(ml,kl);};this.setModuleDisplayState=function(ol,pl,ql){__Live_Home_TypeValidator.validateFunctionOrNull(ol,"callback");__Live_Home_TypeValidator.validateNonEmptyGuid(pl,"moduleID");__Live_Home_TypeValidator.validateEnum(ql,__Live_Home_Data_Enum_DisplayState,"displayState");function rl(){var oldDisplayState=_modules[pl].displayState;if(ql!=oldDisplayState){_modules[pl].displayState=ql;function sl(){var args={"moduleID":pl,"displayState":ql,"oldDisplayState":oldDisplayState};__Live_Home_EventManager.fire("Live.Home.Data.Subscriptions.setModuleDisplayState",args);if(ol)ol(args);}vm();_subscriptionsServiceManager.call(sl,"setModuleDisplayState",pl,pl,ql);}}xo(rl,pl);};this.getModuleSettings=function(tl,ul){__Live_Home_TypeValidator.validateFunctionOrNull(tl,"callback");__Live_Home_TypeValidator.validateNonEmptyGuid(ul,"moduleID");ul=ul.toLowerCase();Vo(ul);_moduleSettingsManagers[ul].getSettings(tl,null);};this.getModuleSetting=function(vl,wl,xl){__Live_Home_TypeValidator.validateFunctionOrNull(vl,"callback");__Live_Home_TypeValidator.validateNonEmptyGuid(wl,"moduleID");__Live_Home_TypeValidator.validateNonEmptyString(xl,"name");wl=wl.toLowerCase();Vo(wl);_moduleSettingsManagers[wl].getSetting(vl,xl);};this.setModuleSetting=function(yl,zl,Al,Bl){__Live_Home_TypeValidator.validateFunctionOrNull(yl,"callback");__Live_Home_TypeValidator.validateNonEmptyGuid(zl,"moduleID");__Live_Home_TypeValidator.validateNonEmptyString(Al,"name");zl=zl.toLowerCase();function Cl(Dl,El){Dl.moduleID=zl;__Live_Home_EventManager.fire("Live.Home.Data.Subscriptions.setModuleSetting",Dl);if(yl)yl(Dl,El);}Vo(zl);_moduleSettingsManagers[zl].setSetting(Cl,Al,Bl);};this.deleteModuleSetting=function(Fl,Gl,Hl){__Live_Home_TypeValidator.validateFunctionOrNull(Fl,"callback");__Live_Home_TypeValidator.validateNonEmptyGuid(Gl,"moduleID");__Live_Home_TypeValidator.validateNonEmptyString(Hl,"name");Gl=Gl.toLowerCase();function Il(Jl,Kl){Jl.moduleID=Gl;__Live_Home_EventManager.fire("Live.Home.Data.Subscriptions.deleteModuleSetting",Jl);if(Fl)Fl(Jl,Kl);}Vo(Gl);_moduleSettingsManagers[Gl].deleteSetting(Il,Hl);};this.getTemplate=function(Ll,Ml){__Live_Home_TypeValidator.validateFunctionOrNull(Ll,"callback");__Live_Home_TypeValidator.validateNonEmptyString(Ml,"templateID");function Nl(Ol){if(Ol!=null){var pageID=Ol.pageID;_pages[Ml]=_pages[pageID];if(Ll){_pages[pageID].settings=_pageSettingsManagers[pageID].getSettingsFromCache();Ll(_pages[pageID]);}}else{if(Ll)Ll();}}Ym(Nl,Ml);};this.getTemplateVersions=function(Pl,Ql){__Live_Home_TypeValidator.validateFunctionOrNull(Pl,"callback");__Live_Home_TypeValidator.validateNonEmptyArray(Ql,"templateIDs");vm();_subscriptionsServiceManager.call(Pl,"getTemplateVersions",null,Ql);};this.addPageFromTemplate=function(Rl,Sl,Tl){__Live_Home_TypeValidator.validateFunctionOrNull(Rl,"callback");__Live_Home_TypeValidator.validateNonEmptyString(Sl,"templateID");Tl=Tl?true:false;function Ul(Vl,Wl){if(Rl){if(Vl){var pageID=Vl.pageID.toLowerCase();_pages[pageID].settings=_pageSettingsManagers[pageID].getSettingsFromCache();Rl(_pages[pageID]);}else Rl(null,Wl);}}vm();_subscriptionsServiceManager.call(Ul,"addPageFromTemplate",null,Sl,Tl);};this.getRequiredTemplates=function(Xl,Yl){__Live_Home_TypeValidator.validateFunctionOrNull(Xl,"callback");function Zl(){if(Xl){var length=_requiredTemplates.length;for(var i=0;i<length;i++){_requiredTemplates[i].settings=_pageSettingsManagers[_requiredTemplates[i].pageID].getSettingsFromCache();}Xl(_requiredTemplates);}}en(Zl,Yl);};this.addTemplates=function(am,bm){__Live_Home_TypeValidator.validateFunctionOrNull(am,"callback");__Live_Home_TypeValidator.validateNonEmptyArray(bm,"templateIDs");vm();_subscriptionsServiceManager.call(am,"addTemplates",null,bm);};this.createUserTemplate=function(cm,em,gm){__Live_Home_TypeValidator.validateFunctionOrNull(cm,"callback");__Live_Home_TypeValidator.validateNonEmptyGuid(em,"pageID");function hm(jm,km){var args={"pageID":em,"templateID":jm};__Live_Home_EventManager.fire("Live.Home.Data.Subscriptions.createUserTemplate",args);if(cm)cm(args,km);}vm();_subscriptionsServiceManager.call(hm,"createUserTemplate",em,em,gm);};this.resetPageToTemplate=function(lm,mm){__Live_Home_TypeValidator.validateFunctionOrNull(lm,"callback");__Live_Home_TypeValidator.validateNonEmptyGuid(mm,"pageID");function nm(om){Mm(__Live_Home_Const_Data.rootFolderID);if(lm){_pages[mm].settings=_pageSettingsManagers[mm].getSettingsFromCache();lm(_pages[mm]);}}vm();_subscriptionsServiceManager.call(nm,"resetPageToTemplate",mm,mm);};this.upgradePageToTemplate=function(pm,qm){__Live_Home_TypeValidator.validateFunctionOrNull(pm,"callback");__Live_Home_TypeValidator.validateNonEmptyGuid(qm,"pageID");function rm(sm,tm){Mm(__Live_Home_Const_Data.rootFolderID);var page=_pages[qm];if(page)page.settings=_pageSettingsManagers[qm].getSettingsFromCache();if(pm)pm(page,tm);}vm();_subscriptionsServiceManager.call(rm,"upgradePageToTemplate",qm,qm);};function um(){if(!_subscriptionsService)_subscriptionsService=Live.Home.Services.getService("Subscriptions");}function vm(){if(!_subscriptionsServiceManager){um();_subscriptionsServiceManager=new __Live_Home_Data_ServiceManager(_subscriptionsService,"Subscriptions");_subscriptionsServiceManager.registerFunction("addFolder",Bm,__Live_Home_Data_ServiceManager.ActionType.write);_subscriptionsServiceManager.registerFunction("addFolderToRoot",Bm,__Live_Home_Data_ServiceManager.ActionType.write);_subscriptionsServiceManager.registerFunction("addModule",Bo,__Live_Home_Data_ServiceManager.ActionType.write);_subscriptionsServiceManager.registerFunction("addModuleToDefaultLocations",Bo,__Live_Home_Data_ServiceManager.ActionType.write);_subscriptionsServiceManager.registerFunction("addModuleToPage",null,__Live_Home_Data_ServiceManager.ActionType.write);_subscriptionsServiceManager.registerFunction("addModuleToPageRoot",null,__Live_Home_Data_ServiceManager.ActionType.write);_subscriptionsServiceManager.registerFunction("addModuleToUserStore",Bo,__Live_Home_Data_ServiceManager.ActionType.write);_subscriptionsServiceManager.registerFunction("addPage",On,__Live_Home_Data_ServiceManager.ActionType.write);_subscriptionsServiceManager.registerFunction("addPageFromTemplate",On,__Live_Home_Data_ServiceManager.ActionType.write);_subscriptionsServiceManager.registerFunction("addTemplates",null,__Live_Home_Data_ServiceManager.ActionType.write);_subscriptionsServiceManager.registerFunction("createUserTemplate",null,__Live_Home_Data_ServiceManager.ActionType.write);_subscriptionsServiceManager.registerFunction("deleteFolder",Dm,__Live_Home_Data_ServiceManager.ActionType.write);_subscriptionsServiceManager.registerFunction("deleteModule",Do,__Live_Home_Data_ServiceManager.ActionType.write);_subscriptionsServiceManager.registerFunction("deleteModuleFromPage",null,__Live_Home_Data_ServiceManager.ActionType.write);_subscriptionsServiceManager.registerFunction("deleteModuleSetting",null,__Live_Home_Data_ServiceManager.ActionType.write);_subscriptionsServiceManager.registerFunction("deletePage",Sn,__Live_Home_Data_ServiceManager.ActionType.write);_subscriptionsServiceManager.registerFunction("deletePageSetting",null,__Live_Home_Data_ServiceManager.ActionType.write);_subscriptionsServiceManager.registerFunction("getDirectoryFolder",null,__Live_Home_Data_ServiceManager.ActionType.read);_subscriptionsServiceManager.registerFunction("getFolder",Bm,__Live_Home_Data_ServiceManager.ActionType.read,__Live_Home_Data_ServiceManager.SerializationMode.singleCall);_subscriptionsServiceManager.registerFunction("getFolderRoot",zm,__Live_Home_Data_ServiceManager.ActionType.read,__Live_Home_Data_ServiceManager.SerializationMode.singleCall);_subscriptionsServiceManager.registerFunction("getModule",Bo,__Live_Home_Data_ServiceManager.ActionType.read,__Live_Home_Data_ServiceManager.SerializationMode.singleCall);_subscriptionsServiceManager.registerFunction("getPage",Qn,__Live_Home_Data_ServiceManager.ActionType.read,__Live_Home_Data_ServiceManager.SerializationMode.singleCall);_subscriptionsServiceManager.registerFunction("getPages",Fn,__Live_Home_Data_ServiceManager.ActionType.read,__Live_Home_Data_ServiceManager.SerializationMode.singleCall);_subscriptionsServiceManager.registerFunction("getTemplate",Qn,__Live_Home_Data_ServiceManager.ActionType.read,__Live_Home_Data_ServiceManager.SerializationMode.singleCall);_subscriptionsServiceManager.registerFunction("getTemplateVersions",null,__Live_Home_Data_ServiceManager.ActionType.read);_subscriptionsServiceManager.registerFunction("getRequiredTemplates",Hn,__Live_Home_Data_ServiceManager.ActionType.read);_subscriptionsServiceManager.registerFunction("moveFolder",null,__Live_Home_Data_ServiceManager.ActionType.write);_subscriptionsServiceManager.registerFunction("moveModuleInUserStore",null,__Live_Home_Data_ServiceManager.ActionType.write);_subscriptionsServiceManager.registerFunction("moveModuleOnPage",null,__Live_Home_Data_ServiceManager.ActionType.write);_subscriptionsServiceManager.registerFunction("moveModuleToPage",null,__Live_Home_Data_ServiceManager.ActionType.write);_subscriptionsServiceManager.registerFunction("movePage",null,__Live_Home_Data_ServiceManager.ActionType.write);_subscriptionsServiceManager.registerFunction("resetPageToTemplate",Qn,__Live_Home_Data_ServiceManager.ActionType.write);_subscriptionsServiceManager.registerFunction("upgradePageToTemplate",Qn,__Live_Home_Data_ServiceManager.ActionType.write);_subscriptionsServiceManager.registerFunction("setFolderName",Gm,__Live_Home_Data_ServiceManager.ActionType.write);_subscriptionsServiceManager.registerFunction("setModuleDisplayState",null,__Live_Home_Data_ServiceManager.ActionType.write);_subscriptionsServiceManager.registerFunction("setModuleName",null,__Live_Home_Data_ServiceManager.ActionType.write);_subscriptionsServiceManager.registerFunction("setModuleSetting",null,__Live_Home_Data_ServiceManager.ActionType.write,__Live_Home_Data_ServiceManager.SerializationMode.serialize);_subscriptionsServiceManager.registerFunction("setPageName",null,__Live_Home_Data_ServiceManager.ActionType.write);_subscriptionsServiceManager.registerFunction("setPageSetting",null,__Live_Home_Data_ServiceManager.ActionType.write,__Live_Home_Data_ServiceManager.SerializationMode.serialize);}}function wm(xm,ym){if(_folders[ym])setTimeout(xm,0);else{vm();if(__Live_Home_Const_Data.rootFolderID==ym)_subscriptionsServiceManager.call(xm,"getFolderRoot");else _subscriptionsServiceManager.call(xm,"getFolder",ym,ym);}}function zm(Am){if(Am){Am.folderID=__Live_Home_Const_Data.rootFolderID;Bm(Am);}}function Bm(Cm){if(Cm){var folder=new __Live_Home_Data_Struct_Folder();folder.folderID=Cm.folderID.toLowerCase();folder.name=Cm.name;folder.items=[];var itemsLength=Cm.items.length;for(var i=0;i<itemsLength;i++){var item=new __Live_Home_Data_Struct_FolderItem();item.itemID=Cm.items[i].itemID;item.name=Cm.items[i].name;item.folderItemType=__Live_Home_Data_Enum_FolderItemType.parse(Cm.items[i].folderItemType);if(__Live_Home_Data_Enum_FolderItemType.module==item.folderItemType)item.moduleType=__Live_Home_Data_Enum_ModuleType.parse(Cm.items[i].moduleType);item.annotations=Live.Home.Data.SettingsManager.decodeSettings(Cm.items[i].annotations);folder.items.push(item);}_folders[folder.folderID]=folder;}}function Dm(Em,Fm){if(Fm instanceof Array&&Fm.length>0)Mm(Fm[0]);}function Gm(Hm,Im){if(Im instanceof Array&&Im.length>1)Jm(Im[0],Im[1]);}function Jm(Km,Lm){if(_folders)for(var cachedFolderID in _folders){if(Km==_folders[cachedFolderID].folderID)_folders[cachedFolderID].name=Lm;if(_folders[cachedFolderID].items){var length=_folders[cachedFolderID].items.length;for(var i=0;i<length;i++){if(__Live_Home_Data_Enum_FolderItemType.folder==_folders[cachedFolderID].items[i].folderItemType&&Km==_folders[cachedFolderID].items[i].itemID)_folders[cachedFolderID].items[i].name=Lm;}}}}function Mm(Nm){for(var parentFolderID in _folders){for(var i=_folders[parentFolderID].items.length-1;i>=0;i--){var item=_folders[parentFolderID].items[i];if(__Live_Home_Data_Enum_FolderItemType.folder==item.folderItemType&&Nm==item.itemID)_folders[parentFolderID].items.removeAt(i++);}}if(_folders[Nm]){var folder=_folders[Nm];delete _folders[Nm];while(folder.items.length>0){var item=folder.items.pop();switch(item.folderItemType){case __Live_Home_Data_Enum_FolderItemType.folder:Mm(item.itemID);break;case __Live_Home_Data_Enum_FolderItemType.module:Oo(item.itemID,Nm);break;}}}}function Om(Pm,Qm){for(var folderID in _folders){var length=_folders[folderID].items.length;for(var i=0;i<length;i++){if((!Qm||Qm==_folders[folderID].items[i].folderItemType)&&Pm==_folders[folderID].items[i].itemID)return [folderID,i];}}return [null,-1];}function Rm(Sm,Tm){if(_pageInfo){if(Tm)Sm();else setTimeout(Sm,0);}else{vm();_subscriptionsServiceManager.call(Sm,"getPages");}}function Um(Vm,Wm,Xm){if(_pages[Wm]){if(Xm==true)Vm();else setTimeout(Vm,0);}else{vm();_subscriptionsServiceManager.call(Vm,"getPage",Wm,Wm);}}function Ym(Zm,an,bn){if(_pages[an]){function cn(){Zm(_pages[an]);}if(bn==true)cn();else setTimeout(cn,0);}else{vm();_subscriptionsServiceManager.call(Zm,"getTemplate",an,an);}}function en(gn,hn){if(_requiredTemplates){if(hn)gn();else setTimeout(gn,0);}else{vm();_subscriptionsServiceManager.call(gn,"getRequiredTemplates");}}function jn(kn,ln,mn){this.coBrandID=kn;this.market=ln;this.componentID=mn;this.toNonMarketString=function(){return this.coBrandID+":"+this.componentID;};}jn.fromString=function(nn){var parts=nn&&nn.split(":");if(parts&&parts.length==3)return new jn(parts[0].toUpperCase(),parts[1],parts[2].toLowerCase());return null;};function on(pn,qn){function rn(){var requiredTemplates=_requiredTemplates;if(requiredTemplates.length>0||pn){op(_pageInfo);op(requiredTemplates);}if(requiredTemplates.length>0){var firstRun=_pageInfo.length==0;var requiredTemplateIDs=[];var pageTemplateIDs={};for(var i=_pageInfo.length-1;i>=0;i--){var baseTemplateIDStr=_pageInfo[i].settings["baseTemplate"];if(baseTemplateIDStr){baseTemplateID=jn.fromString(baseTemplateIDStr);if(baseTemplateID)pageTemplateIDs[baseTemplateID.toNonMarketString()]=true;else pageTemplateIDs[baseTemplateIDStr]=true;}}for(var i=requiredTemplates.length-1;i>=0;i--){var templateIDStr=requiredTemplates[i].settings["baseTemplate"];if(templateIDStr){var baseTemplateIDStr=templateIDStr;var coBrandTemplateID=jn.fromString(templateIDStr);if(coBrandTemplateID)baseTemplateIDStr=coBrandTemplateID.toNonMarketString();if(!pageTemplateIDs[baseTemplateIDStr])requiredTemplateIDs.push(templateIDStr);else firstRun=false;}}function sn(){op(_pageInfo);var nPages=_pageInfo.length;var nTemplates=requiredTemplates.length;var found=false;for(var t=0;!found&&t<nTemplates;t++){var templateID=requiredTemplates[t].settings["baseTemplate"];for(var p=0;p<nPages;p++){if(_pageInfo[p].settings["baseTemplate"]==templateID){found=_pageInfo[p].isDefaultChild=true;break;}}}if(pn)pn();}if(requiredTemplateIDs.length>0)tn(sn,requiredTemplateIDs,firstRun);else sn();}else{if(pn)pn();}}en(rn,qn);}function tn(un,vn,wn){function xn(){if(vn.length>0){function yn(zn){for(var j=_requiredTemplates.length-1;j>=0;j--){if(_requiredTemplates[j].settings["baseTemplate"]==zn)return _requiredTemplates[j];}return null;}var templateID=vn[vn.length-1];var template=yn(templateID);var skipPage=template!=null;if(template){var requiredStatus=template.settings["required"];if(requiredStatus){requiredStatus=requiredStatus.toLowerCase();skipPage=!("always"==requiredStatus||wn&&"firstrun"==requiredStatus);}}if(skipPage){vn.pop();setTimeout(xn,0);}else{if(addRemainingAsTemporary){if(template){jo(templateID);_pageSettingsManagers[templateID]=_pageSettingsManagers[template.pageID];_pageSettingsManagers[templateID].internalSetSetting(null,"temporary","true",false);template.pageID=templateID;_pageInfo.push(template);}vn.pop();setTimeout(xn,0);}else{function An(Bn,Cn){if(!Bn||Cn)addRemainingAsTemporary=true;else vn.pop();setTimeout(xn,0);}_subscriptionsServiceManager.call(An,"addPageFromTemplate",null,templateID,false);}}}else{if(un)un();}}var addRemainingAsTemporary=false;if(_pageInfo.length==1){function Dn(En){if(En&&En.columns&&En.columns.length==0){_subscriptionsServiceManager.call(xn,"deletePage",En.pageID,En.pageID);wn=true;_pageInfo.clear();}else setTimeout(xn,0);}_subscriptionsServiceManager.call(Dn,"getPage",_pageInfo[0].pageID,_pageInfo[0].pageID);}else setTimeout(xn,0);}function Fn(Gn){if(Gn)_pageInfo=Mn(Gn);}function Hn(In){if(In)_requiredTemplates=Mn(In);if(!_requiredTemplates)_requiredTemplates=new Array();}function Jn(Kn,Ln){var pageInfo=new __Live_Home_Data_Struct_PageInfo();pageInfo.pageID=Kn.pageID.toLowerCase();pageInfo.name=Kn.name;Ln.push(pageInfo);if(Kn.settings!=null){jo(pageInfo.pageID);_pageSettingsManagers[pageInfo.pageID].initializeSettings(Kn.settings);}}function Mn(Nn){var pageInfos=[];if(Nn){var length=Nn.length;for(var i=0;i<length;i++){Jn(Nn[i],pageInfos);if(Nn[i].columns!=null)Qn(Nn[i]);}}return pageInfos;}function On(Pn){if(Pn){Jn(Pn,_pageInfo);Qn(Pn);}}function Qn(Rn){if(Rn){var page=new __Live_Home_Data_Struct_Page();page.pageID=Rn.pageID.toLowerCase();page.name=Rn.name;page.columns=[];var columnsLength=Rn.columns.length;for(var i=0;i<columnsLength;i++){var column=new __Live_Home_Data_Struct_Column();var modulesLength=Rn.columns[i].modules.length;for(var j=0;j<modulesLength;j++){Bo(Rn.columns[i].modules[j]);column.modules.push(Rn.columns[i].modules[j].moduleID.toLowerCase());}page.columns.push(column);}jo(page.pageID);_pageSettingsManagers[page.pageID].initializeSettings(Rn.settings);_pages[page.pageID]=page;}}function Sn(Tn,Un){if(Un instanceof Array&&Un.length>0)Yn(Un[0]);}function Vn(Wn,Xn){if(Xn instanceof Array&&Xn.length>1)ao(Xn[0],Xn[1]);}function Yn(Zn){if(_pages[Zn])delete _pages[Zn];if(_pageInfo){var length=_pageInfo.length;for(var i=0;i<length;i++){if(Zn==_pageInfo[i].pageID){_pageInfo.removeAt(i--);length--;}}}}function ao(bo,co){var length=_pages[bo].columns.length;for(var i=0;i<length;i++){_pages[bo].columns[i].modules.remove(co);}}function eo(go,ho){if(_pages[go]){var columnsLength=_pages[go].columns.length;for(var column=0;column<columnsLength;column++){var modulesLength=_pages[go].columns[column].modules.length;for(var row=0;row<modulesLength;row++){if(ho==_pages[go].columns[column].modules[row])return [column,row];}}}return [-1,-1];for(var folderID in _folders){var length=_folders[folderID].items.length;for(var i=0;i<length;i++){if((!folderItemType||folderItemType==_folders[folderID].items[i].folderItemType)&&itemID==_folders[folderID].items[i].itemID)return [folderID,i];}}return [null,-1];}function jo(ko){if(!_pageSettingsManagers[ko])_pageSettingsManagers[ko]=new __Live_Home_Data_SettingsManager(lo,oo,to,null,ko);}function lo(mo,no){vm();_subscriptionsServiceManager.call(mo,"getPage",no,no);}function oo(po,qo,ro,so){vm();_subscriptionsServiceManager.call(po,"setPageSetting",qo,qo,ro,so);}function to(uo,vo,wo){vm();_subscriptionsServiceManager.call(uo,"deletePageSetting",vo,vo,wo);}function xo(yo,zo,Ao){if(_modules[zo]){if(Ao==true)yo();else setTimeout(yo,0);}else{vm();_subscriptionsServiceManager.call(yo,"getModule",zo,zo);}}function Bo(Co){if(Co){var module=new __Live_Home_Data_Struct_Module();module.moduleID=Co.moduleID.toLowerCase();module.name=Co.name;module.url=Co.url;module.moduleType=__Live_Home_Data_Enum_ModuleType.parse(Co.moduleType);module.displayState=__Live_Home_Data_Enum_DisplayState.parse(Co.displayState);module.annotations=Live.Home.Data.SettingsManager.decodeSettings(Co.annotations);Vo(module.moduleID);_moduleSettingsManagers[module.moduleID].initializeSettings(Co.settings);_modules[module.moduleID]=module;}}function Do(Eo,Fo){if(Fo instanceof Array&&Fo.length>0)Oo(Fo[0]);}function Go(Ho,Io){if(_modules[Io]&&_folders[Ho]){var folderItem=new __Live_Home_Data_Struct_FolderItem();folderItem.itemID=Io;folderItem.name=_modules[Io].name;folderItem.folderItemType=__Live_Home_Data_Enum_FolderItemType.module;_folders[Ho].items.push(folderItem);}}function Jo(Ko,Lo,Mo,No){if(_pages[Ko]){var length=_pages[Ko].columns.length;while(length++<=Mo){_pages[Ko].columns.push(new __Live_Home_Data_Struct_Column());}if(Object.isNull(No)||-1==No||_pages[Ko].columns[Mo].modules.length<No)No=_pages[Ko].columns[Mo].modules.length;_pages[Ko].columns[Mo].modules.insert(No,Lo);}}function Oo(Po,Qo){if(_modules[Po])delete _modules[Po];for(var folderID in _folders){if(!Qo||folderID!=Qo){var length=_folders[folderID].items.length;for(var i=0;i<length;i++){if(__Live_Home_Data_Enum_FolderItemType.module==_folders[folderID].items[i].folderItemType&&Po==_folders[folderID].items[i].itemID){_folders[folderID].items.removeAt(i--);length--;}}}}}function Ro(So,To,Uo){if(_pages[So]){var length=_pages[So].columns.length;while(length++<=To){_pages[So].columns.push(new __Live_Home_Data_Struct_Column());}if(Object.isNull(Uo)||-1==Uo||_pages[So].columns[To].modules.length<Uo)Uo=_pages[So].columns[To].modules.length;}return Uo;}function Vo(Wo){if(!_moduleSettingsManagers[Wo])_moduleSettingsManagers[Wo]=new __Live_Home_Data_SettingsManager(Xo,cp,kp,null,Wo);}function Xo(Yo,Zo){function ap(bp){if(bp&&bp.settings)Yo(bp.settings);else Yo({});}vm();_subscriptionsServiceManager.call(ap,"getModule",Zo,Zo);}function cp(ep,gp,hp,jp){vm();_subscriptionsServiceManager.call(ep,"setModuleSetting",gp,gp,hp,jp);}function kp(lp,mp,np){vm();_subscriptionsServiceManager.call(lp,"deleteModuleSetting",mp,mp,np);}function op(pp){var length=pp.length;for(var i=0;i<length;i++){pp[i].settings=_pageSettingsManagers[pp[i].pageID].getSettingsFromCache();}}};var __Live_Home_Data_Subscriptions=Live.Home.Data.Subscriptions=new __Live_Home_Data_Subscriptions_Service();Object.isEmpty=function(qp){var result=true;for(var name in qp){result=false;break;}return result;};Object.fromJSON=function(rp){try{if(/^("(\\.|[^"\\\n\r])*?"|[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t])+?$/.test(rp))return eval("("+rp+")");}catch(e){}return null;};Object.toJSON=function(sp){var _this=Object.toJSON;var json="null";var _wt=Web.Type;if(!Object.isNull(sp)){if(_wt.isArray(sp)){json=[];for(var i=0;i<sp.length;i++){json.push(_this(sp[i]));}json="["+json.join(",")+"]";}else{if(_wt.isObject(sp)){json=[];for(var name in sp){json.push("\""+name+"\":"+_this(sp[name]));}json="{"+json.join(",")+"}";}else{if(_wt.isString(sp))json="\""+sp.replace(_this._reBackslash,"\\\\").replace(_this._reDoubleQuote,"\\\"").replace(_this._reNewLine,"\\n").replace(_this._reCarriageReturn,"\\r")+"\"";else{if(!_wt.isFunction(sp))json=sp.toString();}}}}return json;};Object.toJSON._reBackslash=/\\/g;Object.toJSON._reDoubleQuote=/"/g;Object.toJSON._reNewLine=/\n/g;Object.toJSON._reCarriageReturn=/\r/g;registerNamespace("Live.Home.Util.Cookie");var __Live_Home_Util_Cookie=Live.Home.Util.Cookie={"getAllCookies":function(){return Live.Home.Util.NameValueCollection.deserialize(document.cookie.toString(),";","=",unescape);},"getCookie":function(tp){return __Live_Home_Util_Cookie.getAllCookies()[tp];},"setCookie":function(up,vp,wp,xp,yp,zp){var current=__Live_Home_Util_Cookie.getAllCookies();current[up]=vp;var check=Live.Home.Util.NameValueCollection.serialize(current,";","=",escape);if(check.length>Live.Home.Const.Cookie.maxCookieSize)throw new Live.Home.CookieException(up,vp);var cookie="";if(Live.Home.Const.Cookie.defaultExpiration&&!wp)wp=Live.Home.Const.Cookie.defaultExpiration;if(Web.Type.isNumber(wp)){var expireDate=new Date();expireDate.setTime(wp);wp=expireDate.toGMTString();}if(!Web.Type.isString(wp)){if(wp.toGMTString)wp=wp.toGMTString();else wp=null;}if(Live.Home.Const.Cookie.defaultDomain&&!xp)xp=Live.Home.Const.Cookie.defaultDomain;if(Live.Home.Const.Cookie.defaultPath&&!yp)yp=Live.Home.Const.Cookie.defaultPath;if(Live.Home.Const.Cookie.defaultSecure!=null&&zp==null)zp=Live.Home.Const.Cookie.defaultSecure;if(wp)cookie+="; expires="+wp;if(xp)cookie+="; domain="+xp;if(yp)cookie+="; path="+yp;if(zp)cookie+="; secure";if(vp)document.cookie=up+"="+escape(vp)+cookie;else document.cookie=up+cookie;},"deleteCookie":function(Ap,Bp,Cp){try{__Live_Home_Util_Cookie.setCookie(Ap,"deleted","Thu, 01-Jan-1970 00:00:01 GMT",Bp,Cp);}catch(e){}__Live_Home_Util_Cookie.setCookie(Ap,null,"Thu, 01-Jan-1970 00:00:01 GMT",Bp,Cp);},"deleteAllCookies":function(Dp,Ep){var cookies=__Live_Home_Util_Cookie.getAllCookies();for(var name in cookies){__Live_Home_Util_Cookie.deleteCookie(name,Dp,Ep);}}};registerNamespace("Live.Home.Util.NameValueCollection");var __Live_Home_Util_NameValueCollection=Live.Home.Util.NameValueCollection={"serialize":function(Fp,Gp,Hp,Ip){var data="";if(!Gp)Gp="&";if(!Hp)Hp="=";if(!Ip)Ip=__Live_Home_Util_NameValueCollection._nullEncodeDecode;for(var name in Fp){if(Fp[name]&&!Web.Type.isString(Fp[name]))throw "NameValueCollections should only have string values: "+name+" is of type "+typeof Fp[name];var value=Fp[name]?Fp[name]:"";if(value)data+=(""==data?"":Gp)+Ip(name.trim())+Hp+Ip(Fp[name].trim());}return data;},"deserialize":function(Jp,Kp,Lp,Mp){var collection={};if(!Kp)Kp="&";if(!Lp)Lp="=";if(!Mp)Mp=__Live_Home_Util_NameValueCollection._nullEncodeDecode;if(null!=Jp){var items=Jp.split(Kp);for(var i=0;i<items.length;i++){var itemData=items[i].split(Lp);var name=itemData[0];if(name){name=Mp(name).trim();var value=itemData[1]?Mp(itemData[1]).trim():"";collection[name]=value;}}}return collection;},"_nullEncodeDecode":function(Np){return Np;}};registerNamespace("Live.Home.Util.Url");var __Live_Home_Util_Url=Live.Home.Util.Url={"getUrlRoot":function(){return String.format("{0}//{1}/",location.protocol,location.host);},"getUrlBase":function(){return String.format("{0}//{1}{2}",location.protocol,location.host,location.pathname);},"buildUrl":function(Op,Pp,Qp){if(!Op)Op=__Live_Home_Util_Url.getUrlBase();var url=Op;if(Pp)url+="?"+Pp;if(Qp)url+="#"+Qp;return url;},"buildQueryString":function(Rp){return Live.Home.Util.NameValueCollection.serialize(Rp,"&","=",encodeURIComponent);},"getQueryString":function(Sp){return __Live_Home_Util_Url._getUrlNameValueCollection(Sp,location.search,"?","#");},"getQueryStringItem":function(Tp,Up){return __Live_Home_Util_Url.getQueryString(Up)[Tp];},"getHash":function(Vp){return __Live_Home_Util_Url._getUrlNameValueCollection(Vp,location.hash,"#");},"getHashItem":function(Wp,Xp){return __Live_Home_Util_Url.getHash(Xp)[Wp];},"_getUrlNameValueCollection":function(Yp,Zp,aq,bq){if(Object.isNull(Yp))Yp=Zp;if(Object.isNull(Yp))return {};if(!Object.isNull(aq)){if(Yp.indexOf(aq)==-1)return {};Yp=Yp.substring(Yp.indexOf(aq)+aq.length);}if(!Object.isNull(bq)){if(Yp.indexOf(bq)!=-1)Yp=Yp.substring(0,Yp.indexOf(bq));}return Live.Home.Util.NameValueCollection.deserialize(Yp,"&","=",decodeURIComponent);}};