MyEXT19866.MyAPI19866=function(E,o,f){var n=MyEXT19866.Utils;var I=MyEXT19866.Consts;var v=MyEXT19866.Console;var z=MyEXT19866.Reports;var g=MyEXT19866.LogFile;var D=MyEXT19866.UserReport;var j=MyEXT19866.ErrorMessage;var b=MyEXT19866.crossriderapp19866;var A=MyEXT19866.ExtensionDataStore;var G=MyEXT19866.UpdateManager;var B=I.CROSSRIDER_DEBUG;var k=I.CROSSRIDER_BRANCH;var e=I.CROSSRIDER_VERSION;var s=I.CROSSRIDER_PLATFORM;var t=n.getFirefoxVersion();var F={BACKGROUND:0,APP_CODE:1,POPUP:5};var w=Components.classes[“@mozilla.org/preferences-service;1″].getService(Components.interfaces.nsIPrefBranch);var y=k+”.”+E+”.”;var u=w.getCharPref(y+”domain”);var p;var l=null;var i=null;var h=null;if(u!==””){l=Components.classes[“@mozilla.org/network/io-service;1”].getService(Components.interfaces.nsIIOService);var x=u;if(x.indexOf(“http”)!==0){x=”http://”+x;}i=l.newURI(x,null,null);h=Components.classes[“@mozilla.org/cookieService;1”].getService(Components.interfaces.nsICookieService);}else{l=Components.classes[“@mozilla.org/network/io-service;1”].getService(Components.interfaces.nsIIOService);i=null;h=Components.classes[“@mozilla.org/cookieService;1”].getService(Components.interfaces.nsICookieService);}var r=function(L){var J={};for(var K in L){if(L.hasOwnProperty(K)){J[K]=L[K];}}J.pageAction=MyEXT19866.pageAction(m);J.exposedProps.pageAction=”wr”;return J;};var c=function(M){var J={};for(var K in M){if(M.hasOwnProperty(K)){J[K]=M[K];}}J.superAlert=function(O){var N=w.getCharPref(y+”name”);alert(N+”:\n”+O);};J.setTargetIframe=function(N){};try{J.BookmarksServices={componentsInterfaces:Components.interfaces,bookmarksService:Components.classes[“@mozilla.org/browser/nav-bookmarks-service;1”].getService(Components.interfaces.nsINavBookmarksService),ioService:Components.classes[“@mozilla.org/network/io-service;1”].getService(Components.interfaces.nsIIOService),historyService:Components.classes[“@mozilla.org/browser/nav-history-service;1”].getService(Components.interfaces.nsINavHistoryService),faviconService:Components.classes[“@mozilla.org/browser/favicon-service;1”].getService(Components.interfaces.nsIFaviconService),folderType:Components.interfaces.nsINavHistoryResultNode.RESULT_TYPE_FOLDER};}catch(L){this.BookmarksServices=undefined;}J.onUninstall=MyEXT19866.UninstallObserver.onUninstall;J.onDisabled=MyEXT19866.UninstallObserver.onDisabled;J.onRequest=MyEXT19866.WebRequests.onRequest;J.onBeforeNavigate=MyEXT19866.WebRequests.onBeforeNavigate;J.webRequest=MyEXT19866.WebRequests.webRequest;J.contextMenu=MyEXT19866.ContextMenu();J.tabs=MyEXT19866.Tabs();J.browserAction=MyEXT19866.BrowserAction(J);J.dom=MyEXT19866.DomBG();J.registry=MyEXT19866.Registry();J.firefox=MyEXT19866.Firefox(M);J.omnibox=J.firefox.omnibox;J.should_activate_validation=true;return J;};var d=(function(){var S=(function(){var V=MyEXT19866.DBManager(undefined,y,”cookie”);V.async=MyEXT19866.AsyncDB.isSupported?new MyEXT19866.AsyncDB(“asyncdb”):MyEXT19866.DBManager(undefined,y,”asyncdb”);if(V&&V.exposedProps){V.exposedProps.async=”wr”;}return V;})();var U=MyEXT19866.Prefs();var M=MyEXT19866.Request();var Q=function(Z,aa){var W=Components.classes[“@mozilla.org/file/directory_service;1”].getService(Components.interfaces.nsIProperties).get(“ProfD”,Components.interfaces.nsIFile);W.append(“extensions”);W.append(MyEXT19866.Consts.CROSSRIDER_EXTENSION_UUID);W.append(“skin”);W.append(“newTab.html”);Components.utils“import”;Components.utils“import”;var V=FileUtils.openSafeFileOutputStream(W);var X=Components.classes[“@mozilla.org/intl/scriptableunicodeconverter”].createInstance(Components.interfaces.nsIScriptableUnicodeConverter);X.charset=”UTF-8″;var Y=X.convertToInputStream(Z);NetUtil.asyncCopy(Y,V,function(ab){if(!Components.isSuccessCode(ab)){return;}aa();});};var P=function(W,V){return{QueryInterface:function(X){if(X.equals(Components.interfaces.nsIWebProgressListener)||X.equals(Components.interfaces.nsISupportsWeakReference)||X.equals(Components.interfaces.nsISupports)){return this;}throw Components.results.NS_NOINTERFACE;},onStateChange:function(Y,X,ac,ad){if((ac&Components.interfaces.nsIWebProgressListener.STATE_STOP)&&(ac&Components.interfaces.nsIWebProgressListener.STATE_IS_DOCUMENT)){if(X.name===”about:blank”){return;}try{if(W.gURLBar.value.indexOf(“skin/newTab.html”)!==-1){W.gURLBar.value=””;}var Z=Y.DOMWindow.wrappedJSObject;V.label=””;Z.onload=function(){if(typeof Z.crossriderMain===”function”){Z.crossriderMain(Z.jQuery);}};Z.sharedObject={wrappedUserReport:D,wrappedConsole:v,wrappedFFInternal:{db:C.db,prefs:C.prefs,request:C.request,appID:C.appID,version:C.version,platform:C.platform,innerOpenURL:C.innerOpenURL,getTabID:C.getTabID,internal:C.internal,cr_version:C.cr_version,background:C.background,isDebugMode:C.isDebugMode,platformVersion:C.platformVersion,message:C.message,should_activate_validation:true,exposedProps:{db:”wr”,prefs:”wr”,request:”wr”,appID:”wr”,version:”wr”,platform:”wr”,innerOpenURL:”wr”,getTabID:”wr”,scope:”wr”,internal:”wr”,cr_version:”wr”,background:”wr”,isDebugMode:”wr”,platformVersion:”wr”,message:”wr”,should_activate_validation:”wr”}},exposedProps:{wrappedAlert:”wr”,wrappedUserReport:”wr”,wrappedConsole:”wr”,wrappedFFInternal:”wr”}};Z.NewXPI=true;Z.firefoxVersion=t;var aa=A.getPagePlugins();Z“eval”;}catch(ab){}}},onProgressChange:function(Z,Y,X,ab,ac,aa){},onStatusChange:function(Y,X,aa,Z){},onSecurityChange:function(Y,X,Z){},onLocationChange:function(Y,X,Z){}};};var R=function(ae,ad){var V,ab;if(typeof ae===”string”){V=ae;ab=ad;openUILinkIn(V,ab);return;}else{if(typeof ae===”object”){var ak=ae;var al=typeof ak.focus===”undefined”?true:ak.focus;var aj;var aa=window;switch(ak.where){case”tab”:aj=gBrowser.addTab(“”);if(al){gBrowser.selectedTab=aj;}break;case”current”:aj=gBrowser.selectedTab;break;case”window”:case”popup”:var Z=typeof ak.width===”undefined”?””:”outerWidth=”+ak.width+”,”;var Y=typeof ak.height===”undefined”?””:”outerHeight=”+ak.height+”,”;var ah=typeof ak.top===”undefined”?””:”top=”+ak.top+”,”;var ac=typeof ak.left===”undefined”?””:”left=”+ak.left+”,”;var W=”resizable=yes,menubar=yes,toolbar=yes,locationbar=yes,personalbar=yes,location=yes,scrollbars=yes”;var X=”resizable=yes,scrollbars=yes,location=no,toolbar=no,locationbar=no,menubar=no”;var ag=Z+Y+ah+ac+(ak.where===”window”?W:X);window.open(“”,”cr_newWindow”,ag);var ai=Components.classes[“@mozilla.org/appshell/window-mediator;1″].getService(Components.interfaces.nsIWindowMediator);aa=ai.getMostRecentWindow(null);aj=aa.gBrowser.selectedTab;if(!al){if(typeof ak.focusTimer===”undefined”){window.focus();}else{setTimeout(function(){window.focus();},ak.focusTimer);}}break;}var af=gBrowser.getBrowserForTab(aj);if(typeof ae.url===”string”){af.setAttribute(“src”,ae.url);}else{if(typeof ae.resourceContent===”string”){Q(ae.resourceContent,function(){af.addProgressListener(new P(aa,aj));af.setAttribute(“src”,”chrome://crossriderapp19866/skin/newTab.html”);});}}}}};var L=function(Y,aa,Z){var V;try{if(Y.defaultView.top.document.location.href!=Y.location.href){if(!Z){var W=Y.createElement(“CR_SocialAPI“+E+”“+aa);W.setAttribute(“id”,”CR_SocialAPI“+E+”_”+aa);Y.documentElement.appendChild(W);}V=gBrowser.mTabs[gBrowser.getBrowserIndexForDocument(Y.defaultView.top.document)].linkedPanel+”&iframeid=”+aa;}else{V=gBrowser.mTabs[gBrowser.getBrowserIndexForDocument(Y)].linkedPanel;}}catch(X){V=undefined;}return V;};var N=(function(){var ab=undefined;var ac=MyEXT19866.DBManager(ab,y,”internaldb”);ac.async=MyEXT19866.AsyncDB.isSupported?new MyEXT19866.AsyncDB(“asyncinternaldb”):MyEXT19866.DBManager(ab,y,”asyncinternaldb”);if(ac&&ac.exposedProps){ac.exposedProps.async=”wr”;}var W=MyEXT19866.FileManager();var Z=function(){G.forceUpdate();};var V=function(ag,ah,af){var ak=this;var aj=null;function ae(al){g.write(“ERROR: “+al);if(d.isDebugMode()){alert(al);}}if(typeof af===”undefined”){af=false;}try{aj=new XMLHttpRequest();aj.open(“GET”,ag,false);aj.send(null);}catch(ai){if(!af){g.write(“SILENT ERROR… return empty string…\n\nCan’t load include file! \n\n”+ag+”\nError: Can’t establish connection to the server”);return””;}else{ae(“Can’t load include file! \n\n”+ag+”\nError: Can’t establish connection to the server”);return””;}}if((aj.readyState===4)&&((aj.status===200)||(aj.status===0))){if(ah){return aj.responseXML;}else{return aj.responseText;}}else{if(!af){g.write(“SILENT ERROR… return empty string…\n\nCan’t load include file! \n\n”+ag+”\nError code: “+aj.status);return””;}else{ae(“Can’t load include file! \n\n”+ag+”\nError code: “+aj.status);return””;}}};var aa=function(){var ah=function(ai){ai(A.getPageCode());};var ae=function(ai){ai(A.getBackgroundCode());};var ag=function(ai){A.setPageCode(ai,function(){});};var af=function(ai){A.setBgCode(ai,K.reload);};return{getExtension:ah,getBackground:ae,setExtension:ag,setBackground:af,exposedProps:{getExtension:”wr”,getBackground:”wr”,setExtension:”wr”,setBackground:”wr”}};};var X=function(){var af=function(ak,al){var ai=A.getPluginsOrderdLists()[ak];for(var aj=0;aj<ai.length;aj++){ai[aj].exposedprops={id:”wr”,order:”wr”,name:”wr”,ver:”wr”};}al(ai);};var ae=”function(ai,aj){ai.exposedProps={id:"wr",order:"wr",name:"wr",ver:"wr"};aj(ai);};var” ah=”function(ai,aj){aj(A.getPluginById(ai.id));};var” ag=”function(ai,aj,ak){A.setPluginCode(ai,aj,ak,K.reload);};return{getOrder:af,getInfo:ae,getCode:ah,setPluginCode:ag,exposedProps:{getOrder:"wr",getInfo:"wr",getCode:"wr",setPluginCode:"wr"}};};var” ad=”function(ag,am,an,ae,af,ap){if((!J())&&(!B)){return;}function” ak(aq){g.write(aq);if(d.isdebugmode()){alert(aq);}}if(typeof=”” ap=”=="undefined"){ap=false;}ag=parseInt(ag,10);af=parseInt(af,10);if(ag”>0){var ao=(ae!==””)?”Worker: “+ae:”File: main debug app”;if(!ap){ak(“App #”+an+” JS error\n\n”+ao+”\nLine: “+ag+”\nDesc: “+am);}else{ak(“App #”+an+” JS error\n\n”+ao+”\nLine: “+ag+”\nDesc: Invalid Javascript code!\n(hint: “+am+”)”);}}if(ag<0){var ah=false;try{var al=p[0].to+ag-af+1;for(var ai=0;ai<p.length;ai++){if((al>=p[ai].from)&&(al<=p[ai].to)){if(!ap){ak(“App #”+an+” JS error\n\nFile: “+p[ai].file+”\nLine: “+(al-p[ai].from+1)+”\nDesc: “+am);}else{ak(“App #”+an+” JS error\n\nFile: “+p[ai].file+”\nLine: “+(al-p[ai].from+1)+”\nDesc: Invalid Javascript code!\n(hint: “+am+”)”);}ah=true;break;}}}catch(aj){}if(!ah){ak(“INTERNAL ERROR: \nLine: “+ag+”\n”+am);}}};var Y=function(){return{db:”wr”,file:”wr”,forceUpdate:”wr”,fetchURL:”wr”,userCode:”wr”,plugins:”wr”,CR__internal__showAppError:”wr”,backgroundPath:”wr”,popupPath:”wr”,installer:”wr”,platformVersion:”wr”};};return{db:ac,file:W,forceUpdate:Z,fetchURL:V,userCode:aa(),plugins:X(),CR__internal__showAppError:ad,backgroundPath:I.BACKGROUND_PATH,popupPath:I.POPUP_PATH,installer:MyEXT19866.Installer(),platformVersion:MyEXT19866.PlatformVersion,exposedProps:Y()};})();var K=MyEXT19866.Background();var J=function(){return w.getBoolPref(k+”.debug”);};var T=MyEXT19866.Message({appID:E,getTabID:L,background:K});var O=new MyEXT19866.Delegate();return{db:S,prefs:U,request:M,appID:E,version:w.getIntPref(y+”ver”),platform:s,innerOpenURL:R,getTabID:L,internal:N,cr_version:e,background:K,isDebugMode:J,platformVersion:parseInt(o,10),message:T,reloadObservers:O,exposedProps:{db:”wr”,prefs:”wr”,request:”wr”,appID:”wr”,version:”wr”,platform:”wr”,innerOpenURL:”wr”,getTabID:”wr”,internal:”wr”,cr_version:”wr”,background:”wr”,isDebugMode:”wr”,platformVersion:”wr”,message:”wr”}};})();var m=c(d);var C=r(d);var q=function(K){var J=false;var M=new XMLHttpRequest();try{M.open(“GET”,K+”?rnd=”+(new Date()).getTime(),false);M.overrideMimeType(“text/javascript”);M.send(null);if((M.readyState==4)&&((M.status==200)||(M.status==0))){appJS=M.responseText;}else{J=true;}}catch(L){J=true;}if(J){appJS=””;alert(“Could not fetch the URL: “+debugURL+”\nPlease make sure you are using ‘file://’ in case of local file and ‘http://’ in case of remote url.”);}return appJS;};var a=function(Q,Y){function L(ad){var ab={};try{ab.href=ad.document.location.href;ab.protocol=ad.document.location.protocol;ab.search=ad.document.location.search;ab.exposedProps={href:”wr”,protocol:”wr”,search:”wr”};}catch(ac){return undefined;}return ab;}function M(ab){return function(ac){try{(ab.document.getElementsByTagName(“head”)[0]||ab.document.getElementsByTagName(“body”)[0]).appendChild(ac);}catch(ad){}};}function V(ab){return function(ad){try{return Components.utils.evalInSandbox(“(function (){“+ad+”})”,ab,”1.8″);}catch(ac){}return null;};}function J(ab,ad){function ac(){ab.sharedObject={wrappedAlert:function(af){alert(af);},wrappedUserReport:D,wrappedFFInternal:{db:C.db,prefs:C.prefs,request:C.request,appID:C.appID,version:C.version,platform:C.platform,innerOpenURL:C.innerOpenURL,getTabID:C.getTabID,scope:C.scope,internal:C.internal,cr_version:C.cr_version,background:C.background,isDebugMode:C.isDebugMode,platformVersion:C.platformVersion,message:C.message,pageAction:C.pageAction,location:L(ad),appendToHeadOrBody:M(ad),newFunction:V(ab),should_activate_validation:true,exposedProps:{db:”wr”,prefs:”wr”,request:”wr”,appID:”wr”,version:”wr”,platform:”wr”,innerOpenURL:”wr”,getTabID:”wr”,scope:”wr”,internal:”wr”,cr_version:”wr”,background:”wr”,isDebugMode:”wr”,platformVersion:”wr”,pageAction:”wr”,message:”wr”,location:”wr”,appendToHeadOrBody:”wr”,newFunction:”wr”,should_activate_validation:”wr”}},exposedProps:{wrappedAlert:”wr”,wrappedUserReport:”wr”,wrappedFFInternal:”wr”}};}function ae(){ab.alert=function(af){alert(af);};ab.UserReport=D;ab.FFInternal=C;ab.FFInternal.location=L(ad);ab.FFInternal.appendToHeadOrBody=M(ad);ab.FFInternal.exposedProps.location=”wr”;ab.FFInternal.exposedProps.appendToHeadOrBody=”wr”;}ab.NewXPI=true;if(t>14){ac();}else{if(t<4){ab.console=v;}ae();}}g.write(“file: api.js, function: MyAPI19866.runJS”);try{d.version=w.getIntPref(y+”ver”);}catch(Z){g.write(“file: api.js, function: MyAPI19866.runJS, error: “+Z.message);}var aa;var O=w.getBoolPref(I.CROSSRIDER_BRANCH+”.debug”);var X=w.getCharPref(I.CROSSRIDER_BRANCH+”.debug_url”);aa=O?q(X):A.getPageCode();var P=aa.split(“\n”).length;if(Q){g.write(“file: api.js, function: MyAPI19866.runJS, action: set contentdoc to iframe”);Y=Q;}try{if(Y.document.getElementsByTagName(“head”).length===0){return;}}catch(N){return;}var S=false;var W=Y.document.location.href.toLowerCase().indexOf(“chrome://crossriderapp19866/skin/popup.html”.toLowerCase())===0;g.write(“file: api.js, function: MyAPI19866.runJS, action: creating sandbox, location: “+Y.location.href);try{var R=Y;var U=R.wrappedJSObject;var K=new Components.utils.Sandbox(R,{sandboxPrototype:R,wantXrays:true});if(t>=8){R.addEventListener(“unload”,function(ab){setTimeout(function(){try{Components.utils.nukeSandbox(K);}catch(ac){}},10);});}K._firefoxVersion=t;if(t<4){K.window=R;K.document=R.document;K.proto=R;}K.ErrorMessage=j;K.Reports=z;K.unsafeWindow=U;J(K,R);}catch(Z){}var T=A.getPagePlugins();if(T===null||aa===null){g.write(“file: api.js, function: MyAPI19866.runJS, error: can NOT run page code content is missing (force updating…)”);G.updateNedded();return;}MyEXT19866.Utils.FunctionsRunner.parallel([d.db.async.onDBReady,d.internal.db.async.onDBReady,d.db.onDBReady,d.internal.db.onDBReady],function(){g.write(“file: api.js, function: MyAPI19866.runJS, action: all dbs onDBReady callback”);try{g.write(“file: api.js, function: MyAPI19866.runJS, action: running, iframe: “+Q);var af=”null”;var al=aa;p=[];var an=T+”\n\n try {\n”;var ad=an+”\n\n”+aa;var ai=ad.split(“\n”).length;var ak=ai-P;var ab=((d.isDebugMode())?1:0);var ac=(new Date()).getTime();var am=ab+0;try{generate_error();}catch(ae){ak=ak+parseInt(ae.lineNumber)+am;}var aj=”\n } catch (err) { FFInternal.internal.CR__internal__showAppError((err.lineNumber – “+ak+”), err.message, “+E+”, “+(am-am)+”); };”;var ah=ad+aj;g.write(“file: api.js, function: MyAPI19866.runJS, action: before evalInSandbox, location: “+Y.location.href);Components.utils.evalInSandbox(ah,K,”1.8”);g.write(“file: api.js, function: MyAPI19866.runJS, action: after evalInSandbox, total run time: “+((new Date()).getTime()-ac)+”msec, location: “+Y.location.href);}catch(ag){g.write(“file: api.js, function: MyAPI19866.runJS, error: “+ag.message+”, lineNumber: “+(ag.lineNumber-ak));d.internal.CR__internal__showAppError(ag.lineNumber-ak,ag.message,E,””,(am-am),true);}});};var H=function(K){function Q(T,U){for(var V in U){if(U.hasOwnProperty(V)){T[V]=U[V];}}}g.write(“file: api.js, function: MyAPI19866.runBackgroundPageJS”);g.write(“file: api.js, function: MyAPI19866.runBackgroundPageJS, action: creating sandbox”);try{var N=content;if(K){N=K;}var M=N.wrappedJSObject;var R=new Components.utils.Sandbox(N);R.unsafeWindow=M;R.window=N;R.document=R.window.document;R.proto=N;R.FFInternal=m;R.isBackground=true;R.alert=m.superAlert;R.console=v;R.ErrorMessage=j;R.Reports=z;R.UserReport=D;R.NewXPI=true;}catch(P){}var J=w.getBoolPref(I.CROSSRIDER_BRANCH+”.debug”);var O=w.getCharPref(I.CROSSRIDER_BRANCH+”.debug_background_url”);var S=J?q(O):A.getBackgroundCode();var L=A.getBackgroundPlugins();if(L===null||S===null){g.write(“file: api.js, function: MyAPI19866.runBackgroundPageJS, error: can NOT run bg code content is missing (force updating…)”);G.updateNedded();return;}g.write(“file: api.js, function: MyAPI19866.runBackgroundPageJS, action: getPluginsCodeByType callback”);MyEXT19866.Utils.FunctionsRunner.parallel([d.db.async.onDBReady,d.internal.db.async.onDBReady,d.db.onDBReady,d.internal.db.onDBReady],function(){g.write(“file: api.js, function: MyAPI19866.runBackgroundPageJS, action: all dbs onDBReady callback”);try{var ab=”try {\n”;var U=L+”\n\n”+ab;var Y=U.split(“\n”).length;var aa=Y;var T=(new Date()).getTime();var ac=2;try{generate_error();}catch(W){aa=aa+parseInt(W.lineNumber)+ac-1;}var Z=”\n } catch (err) {FFInternal.internal.CR__internal__showAppError((err.lineNumber – “+aa+”), err.message, “+E+”, ‘Background Page’, “+(ac-ac)+”); };”;var V=U+”\n\n”+S+Z;g.write(“file: api.js, function: MyAPI19866.runBackgroundPageJS, action: before evalInSandbox”);Components.utils.evalInSandbox(V,R,”1.8″);g.write(“file: api.js, function: MyAPI19866.runBackgroundPageJS, action: after evalInSandbox, total run time: “+((new Date()).getTime()-T)+”msec”);}catch(X){g.write(“file: api.js, function: MyAPI19866.runBackgroundPageJS, error: “+X.message+”, lineNumber: “+(X.lineNumber-aa));d.internal.CR__internal__showAppError(X.lineNumber-aa,X.message,E,”Background Page”,(ac-ac),true);}});};return{runJS:a,runBackgroundPageJS:H,baseAPI:d,pageAPI:C,bgAPI:m};};
</p.length;ai++){if((al></ai.length;aj++){ai[aj].exposedprops={id:”wr”,order:”wr”,name:”wr”,ver:”wr”};}al(ai);};var>