home *** CD-ROM | disk | FTP | other *** search
- const DEBUG_SITECONTROLS_PANEL = false;
-
- var kSITEPREF = 'browser.preferences.selectedSite';
- var siteList = null;
- var _elementIDs = [ 'trustRatingsAuto_default', 'useTrustRatings', 'trustRatingsAuto',
- 'displayWarnings', 'updateInterval',
- 'showBlockedCount', 'playBlockedSound', 'showEngineIcon' ];
-
- var controlledFields = [ 'displayEngine', 'displayEngine_Gecko', 'displayEngine_Trident',
- 'allowPopups', 'requestedPopupsInTab',
- 'allowImages', 'imagesFromOrigOnly',
- 'enableActiveX', 'enableJava', 'enableJavaScript',
- 'jsMoveResize', 'jsRaiseLower', 'jsContextMenu',
- 'jsHideStatusBar', 'jsStatusBarText', 'jsChangeImages',
- 'allowCookies', 'cookiesFromOrigOnly' ];
- //'showBlockedCount', 'playBlockedSound',
- var controlledButtons = [ 'advancedJavaScript' ];
- // 'viewCookies', 'clearCookies' ];
- //'viewPasswords', 'clearPasswords',
- var bFormDisabled = false;
- var gPrefTabsSelectInit = false;
-
- /**
- * Initialize the Site Controls prefs panel
- **/
- function Startup() {
- debug('Startup()');
-
- if (!sitecontrols.SCSVC) {
- alert('Site Controls service was not initiallized!');
- return;
- }
-
- // This should ensure that the sitecontrols object stays around
- // even when switching between panels
- if ('sitecontrols' in window.top) sitecontrols = window.top.sitecontrols;
- else window.top.sitecontrols = sitecontrols;
-
- disableForm();
- setTimeout('delayedStartup()', 100);
- }
-
- function delayedStartup() {
- siteList = document.getElementById('siteList');
- RefreshTree();
-
- // See if there is a current site we should auto-select
- var currentSite = null;
- var controlledSite = null;
- try {
- currentSite = sitecontrols.PREF.getCharPref(kSITEPREF);
- controlledSite = sitecontrols.getControlledSiteFromHost(currentSite);
- debug('currentSite: '+currentSite+' controlledSite: '+controlledSite);
- } catch(ex) { }
- if (controlledSite) {
- // See if the current starting host exists in our list
- var thisSite = getSiteAtIndex(0);
- var found = false;
- var i = 0;
- while (!found && thisSite) {
- if (thisSite == controlledSite) {
- debug('matched: '+thisSite);
- siteList.tree.view.selection.select(i);
- found = true;
- break;
- }
- i++;
- thisSite = getSiteAtIndex(i);
- }
- if (!found) {
- debug('no match for '+controlledSite+' - using default');
- siteList.tree.view.selection.select(0);
- }
- } else {
- // Just select the first item, which will be 'Default'
- siteList.tree.view.selection.select(0);
- }
-
- parent.hPrefWindow.registerOKCallbackFunc(onSiteControlsOK);
-
- document.updateSiteControl = updateSiteControl;
-
- gPrefTabsSelectInit = true;
- SetPrefTabs();
-
- // need to force this radio selection because nested radiogroup don't behave properly
- var prefService = Components.classes["@mozilla.org/preferences-service;1"]
- .getService(Components.interfaces.nsIPrefBranch);
- var trustPref = prefService.getBoolPref("trustsettings.partnerratings");
- if(!trustPref) {
- document.getElementById('useTrustRatings_no').setAttribute('selected', 'true');
- }
-
- enableDisableTrustRatings();
- document.getElementById('trustRatingsNo_default').selectedIndex =
- document.getElementById('trustRatingsAuto_default').selectedIndex;
-
- // MERC - JCH: Set the following check boxes: pop-up blocking sound, pop-up blocking count,
- // and show engine icon on status bar. These values are not site-specific.
- if (prefService != null) {
- document.getElementById('showBlockedCount').checked =
- prefService.getBoolPref("privacy.popups.show_count");
-
- document.getElementById('playBlockedSound').checked =
- prefService.getBoolPref("privacy.popups.sound_enabled");
-
- document.getElementById('showEngineIcon').checked =
- prefService.getBoolPref("browser.show_engine_icon");
- }
- }
-
- /**
- * Refresh the site list tree from the internal datasource
- **/
- function RefreshTree() {
- debug('RefreshTree()');
- var datasources = siteList.db.GetDataSources();
- while (datasources.hasMoreElements()) {
- var ds = datasources.getNext();
-
- try {
- ds.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource);
- ds.Refresh(true);
- } catch (ex) {
- // This probably means the resource is not there because the
- // list is filtered... do nothing
- }
- }
-
- // MERC - JCH: Needed to get the merged datasource instead of
- // just the profile datasource
- //sitecontrols.SCSVC.startMergeDefaultSiteControls();
- //sitecontrols.SCSVC.removeNegativeEntriesFromDataSource();
- //sitecontrols.SCSVC.loadData();
-
- siteList.tree.builder.rebuild();
- siteList.refreshList();
- }
-
- // Make sure the MasterListSelection and SiteListSelection functions are
- // mutually exclusive
- var selectionMutex = 0;
- var selectedTree = null;
-
- function MasterListSelection(index) {
- if (index < 0) return;
-
- // Respect mutex
- if (selectionMutex) return;
- // Establish mutex
- selectionMutex++;
-
- selectedTree = document.getElementById('masterList');
-
- debug('[][][] MasterListSelection('+index+')');
-
- // Clear the selection in the sitelist tree
- siteList.tree.view.selection.clearSelection();
-
- var selectedItem = document.getElementById('masterList').view.getItemAtIndex(index);
- var site = selectedItem.firstChild.firstChild.getAttribute('value');
- loadSite(site);
-
- // Release mutex
- selectionMutex--;
- }
-
- /**
- * Handler for selection of a site in the site list
- **/
- function SiteListSelection(index) {
- if (index < 0) return;
- var site = getSiteAtIndex(index);
- if (site == null) return;
-
- // Respect mutex
- if (selectionMutex) return;
- // Establish mutex
- selectionMutex++;
-
- selectedTree = siteList.tree;
-
- debug('[][][] SiteListSelection('+index+')');
-
- // Clear the selection in the masterList tree
- document.getElementById('masterList').view.selection.clearSelection();
-
- loadSite(site);
-
- // Remember which site is currently selected
- sitecontrols.PREF.setCharPref(kSITEPREF, getSelectedSite());
-
- // Release mutex
- selectionMutex--;
- }
-
- /**
- * Print debug output to the console
- **/
- function debug(msg) {
- if (DEBUG_SITECONTROLS_PANEL)
- dump('pref-sitecontrols.js: '+msg+'\n');
- }
-
- /**
- * Return the name of the site at the specified index in the site list
- **/
- function getSiteAtIndex(index) {
- if (index < 0) return null;
- var siteRes;
- try {
- siteRes = siteList.tree.view.getResourceAtIndex(index);
- } catch (ex) {
- return null;
- }
- if (!siteRes) return null;
- var titleProp = sitecontrols.RDF.GetResource(sitecontrols.SC_NS+'title');
- var titleRes = sitecontrols.SCDS.GetTarget(siteRes, titleProp, true);
- var titleLit = titleRes.QueryInterface(Components.interfaces.nsIRDFLiteral);
- return titleLit.Value;
- }
-
- /**
- * Return the name of the currently selected site
- **/
- function getSelectedSite() {
- if (selectedTree == siteList.tree)
- return getSiteAtIndex(siteList.tree.currentIndex);
- else {
- var ml = selectedTree;
- var item = ml.view.getItemAtIndex(ml.currentIndex);
- return item.firstChild.firstChild.getAttribute('value');
- }
- }
-
- /**
- * Load all of the site control values for the specified site into the UI
- **/
- function loadSite(site) {
- if (site) {
- if (bFormDisabled) enableForm();
- } else {
- disableForm();
- return;
- }
-
- //var site = getSiteAtIndex(index);
- debug('loadSite('+site+')');
- //document.getElementById('sitegroupcaption').label = site+' Controls';
- var sc = sitecontrols.SCSVC;
-
- var displayEngine = sc.readSiteControl(site,'displayEngine');
- debug('displayEngine: '+displayEngine);
- document.getElementById('displayEngine').selectedIndex = (displayEngine=='Gecko')?0:1;
-
- var allowPopups = sc.readSiteControl(site,'allowPopups');
- debug('allowPopups: '+allowPopups);
- document.getElementById('allowPopups').checked = eval(allowPopups);
-
- var requestedPopupsInTab = sc.readSiteControl(site,'requestedPopupsInTab');
- debug('requestedPopupsInTab: '+requestedPopupsInTab);
- document.getElementById('requestedPopupsInTab').checked = eval(requestedPopupsInTab);
-
- var allowImages = sc.readSiteControl(site,'allowImages');
- debug('allowImages: '+allowImages);
- document.getElementById('allowImages').checked = eval(allowImages);
-
- if (displayEngine=='Gecko') {
- var imagesFromOrigOnly = sc.readSiteControl(site,'imagesFromOrigOnly');
- debug('imagesFromOrigOnly: '+imagesFromOrigOnly);
- document.getElementById('imagesFromOrigOnly').checked = eval(imagesFromOrigOnly);
- document.getElementById('imagesFromOrigOnly').disabled = false;
- } else {
- var imagesFromOrigOnly = sc.readSiteControl(site,'imagesFromOrigOnly');
- debug('imagesFromOrigOnly: '+imagesFromOrigOnly);
- document.getElementById('imagesFromOrigOnly').checked = false;
- document.getElementById('imagesFromOrigOnly').disabled = true;
- }
-
- var enableActiveX = sc.readSiteControl(site,'enableActiveX');
- debug('enableActiveX: '+enableActiveX);
- document.getElementById('enableActiveX').checked = eval(enableActiveX);
-
- var enableJava = sc.readSiteControl(site,'enableJava');
- debug('enableJava: '+enableJava);
- document.getElementById('enableJava').checked = eval(enableJava);
-
- var enableJavaScript = sc.readSiteControl(site,'enableJavaScript');
- debug('enableJavaScript: '+enableJavaScript);
- document.getElementById('enableJavaScript').checked = eval(enableJavaScript);
- //document.getElementById('enableJavaScript').setAttribute('label',
- // (displayEngine=='Gecko')?'Enable JavaScript':'Enable JavaScript/VBScript');
-
- var jsMoveResize = sc.readSiteControl(site,'jsMoveResize');
- debug('jsMoveResize: '+jsMoveResize);
- document.getElementById('jsMoveResize').checked = eval(jsMoveResize);
-
- var jsRaiseLower = sc.readSiteControl(site,'jsRaiseLower');
- debug('jsRaiseLower: '+jsRaiseLower);
- document.getElementById('jsRaiseLower').checked = eval(jsRaiseLower);
-
- var jsContextMenu = sc.readSiteControl(site,'jsContextMenu');
- debug('jsContextMenu: '+jsContextMenu);
- document.getElementById('jsContextMenu').checked = eval(jsContextMenu);
-
- var jsHideStatusBar = sc.readSiteControl(site,'jsHideStatusBar');
- debug('jsHideStatusBar: '+jsHideStatusBar);
- document.getElementById('jsHideStatusBar').checked = eval(jsHideStatusBar);
-
- var jsStatusBarText = sc.readSiteControl(site,'jsStatusBarText');
- debug('jsStatusBarText: '+jsStatusBarText);
- document.getElementById('jsStatusBarText').checked = eval(jsStatusBarText);
-
- var jsChangeImages = sc.readSiteControl(site,'jsChangeImages');
- debug('jsChangeImages: '+jsChangeImages);
- document.getElementById('jsChangeImages').checked = eval(jsChangeImages);
-
- /*
- var rememberPasswords = sc.readSiteControl(site,'rememberPasswords');
- debug('rememberPasswords: '+rememberPasswords);
- // document.getElementById('rememberPasswords').checked = eval(rememberPasswords); // MERC JVL
- */
-
- var allowCookies = sc.readSiteControl(site,'allowCookies');
- debug('allowCookies: '+allowCookies);
- document.getElementById('allowCookies').checked = eval(allowCookies);
-
- var cookiesFromOrigOnly = sc.readSiteControl(site,'cookiesFromOrigOnly');
- debug('cookiesFromOrigOnly: '+cookiesFromOrigOnly);
- document.getElementById('cookiesFromOrigOnly').checked = eval(cookiesFromOrigOnly);
-
- imagesChange();
- cookiesChange();
- engineChange();
-
- // Uncheck disabled activeX checkbox if Gecko is engine.
- removeCheckFromDisabled();
-
- //checkSoundAndCount(); // MERC - JCH
-
- //updateClearPasswordsButton();
- //updateClearCookiesButton();
- }
-
- // MERC - JCH: Ensure that disabled activeX checkbox is unchecked if Gecko applies.
- // See BLT bug #120260.
- function removeCheckFromDisabled() {
-
- var uncheck = (document.getElementById('enableActiveX').disabled &&
- (document.getElementById('displayEngine').value == 'Gecko'));
-
- if (uncheck)
- {
- document.getElementById('enableActiveX').checked = false;
- }
- }
-
-
-
- // MERC - JCH: When either the sound or count checkbox is
- // changed, set the corresponding pref settings.
- // NOTE: This is currently not used BUT you never know
- // when sound and count will be reverted to a per site basis
- function onSoundCountChanged(event) {
-
- var targetId = event.target.getAttribute("id");
-
- var cval = document.getElementById(targetId).checked;
-
- var prefs = GetPreferencesInterface();
- if (prefs == null)
- return;
-
- var pstr = event.target.getAttribute("prefstring");
- prefs.setBoolPref(pstr,cval);
-
- event.preventBubble();
- return;
- }
-
- function disableForm() {
- debug('disableForm()');
- for (var f = 0; f < controlledFields.length; f++) {
- disableId(controlledFields[f]);
- }
- for (var b = 0; b < controlledButtons.length; b++) {
- disableId(controlledButtons[b]);
- }
- bFormDisabled = true;
- }
-
- function enableForm() {
- debug('enableForm()');
- for (var f = 0; f < controlledFields.length; f++) {
- enableId(controlledFields[f]);
- }
- for (var b = 0; b < controlledButtons.length; b++) {
- enableId(controlledButtons[b]);
- }
- bFormDisabled = false;
- }
-
- function filterCommand(value) {
- siteList.refreshList(value);
- if (siteList.tree.currentIndex == -1)
- disableForm();
- }
-
- function updateClearPasswordsButton() {
- // Clear Passwords button disabled?
- debug('updateClearPasswordsButton()');
- var passwordManager = Components.classes["@mozilla.org/passwordmanager;1"]
- .getService(Components.interfaces.nsIPasswordManager);
- var e = passwordManager.enumerator;
- var selectedSite = getSelectedSite();
- var shouldDisable = "true";
- while (e.hasMoreElements()) {
- var thisPasswd = e.getNext();
- thisPasswd = thisPasswd.QueryInterface(Components.interfaces.nsIPassword);
- debug('selectedSite: '+selectedSite+' checking against: '+thisPasswd.host);
- if (thisPasswd.host == selectedSite) {
- shouldDisable = "false";
- break;
- }
- }
- //document.getElementById('clearPasswords').setAttribute('disabled', shouldDisable);
- }
-
- /**
- * Update the internal datasource with values from the UI
- **/
- function updateSiteControl(obj) {
- var site = getSelectedSite();
- if (!site) return;
-
- var control = obj.id;
- var value;
- if (obj.localName == 'checkbox') {
- value = (obj.checked) ? 'true' : 'false';
- } else {
- value = obj.value;
- }
-
- debug("updateSiteControl('"+site+"','"+control+"','"+value+"')");
- sitecontrols.SCSVC.updateSiteControl(site, control, value);
-
- if (selectedTree == siteList.tree) {
- sitecontrols.SCSVC.updateSiteControl(site, "securityLevel", "Custom");
- }
-
- loadSite(site);
- }
-
- /**
- * Handle prefs window OK button press
- **/
- function onSiteControlsOK() {
- //debug('onSiteControlsOK()');
- //sitecontrols.dumpRDF();
- //window.top.sitecontrols.SCSVC.writeSiteControls();
-
- if (!document.getElementById('showBlockedCount') ||
- !document.getElementById('playBlockedSound') ||
- !document.getElementById('showEngineIcon'))
- return;
-
- var prefService = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
-
- // MERC - JCH: Set the following global values: pop-up blocking sound, pop-up blocking count,
- // show engine icon on status bar and default user trust setting.
- if (prefService != null) {
- prefService.setBoolPref("privacy.popups.show_count", document.getElementById('showBlockedCount').checked);
-
- prefService.setBoolPref("privacy.popups.sound_enabled", document.getElementById('playBlockedSound').checked);
-
- prefService.setBoolPref("browser.show_engine_icon", document.getElementById('showEngineIcon').checked);
-
- prefService.setCharPref("trustsettings.default.user", document.getElementById('trustRatingsNo_default').value);
- }
- }
-
- /**
- * Update UI in response to Display Engine value change
- **/
- function engineChange() {
- debug('engineChange()');
-
- var allowCookiesCheckbox = document.getElementById('allowCookies');
- var imagesFromOrigOnlyCheckbox = document.getElementById('cookiesFromOrigOnly');
- var jsDeck = document.getElementById('jsDeck');
- var engine = document.getElementById('displayEngine').value;
- document.getElementById('enableActiveX').disabled = (engine == 'Gecko');
- document.getElementById('advancedJavaScript').disabled = (engine == 'Trident');
- imagesFromOrigOnlyCheckbox.disabled = (engine == 'Trident');
-
- if (engine == 'Trident') {
- disableId('allowCookies');
- disableId('cookiesFromOrigOnly');
- jsDeck.selectedIndex = 1;
- } else {
- enableId('allowCookies');
- if(allowCookiesCheckbox.checked)
- {
- enableId('cookiesFromOrigOnly');
- }
- else
- {
- disableId('cookiesFromOrigOnly');
- }
- jsDeck.selectedIndex = 0;
- }
- }
-
- /**
- * Update UI in response to Allow Images value change
- **/
- function imagesChange() {
- debug('imagesChange()');
- var engine = document.getElementById('displayEngine').value;
- if(engine != 'Trident') {
- var bImages = document.getElementById('allowImages').checked;
- document.getElementById('imagesFromOrigOnly').disabled = (!bImages);
- }
- }
-
- /**
- * Update UI in response to Allow Cookies value change
- **/
- function cookiesChange() {
- debug('cookiesChange()');
- var bCookies = document.getElementById('allowCookies').checked;
- if(bCookies)
- {
- enableId('cookiesFromOrigOnly');
- }
- else
- {
- disableId('cookiesFromOrigOnly');
- }
- //document.getElementById('cookiesFromOrigOnly').disabled = (!bCookies);
- }
-
- function advancedJavaScript() {
- openDialog("chrome://browser/content/pref/pref-sitecontrols-advancedjs.xul",
- "", "chrome,modal");
- }
-
- function viewPasswords() {
- var prefServ = Components.classes["@mozilla.org/preferences-service;1"]
- .getService(Components.interfaces.nsIPrefBranch);
- prefServ.setCharPref('browser.preferences.formfillORpasscard', 'passcardtab');
- window.top.switchPage('catFormFillButton');
- }
-
- function clearPasswords() {
- debug('clearPasswords()');
- var passwordManager = Components.classes["@mozilla.org/passwordmanager;1"]
- .getService(Components.interfaces.nsIPasswordManager);
- var e = passwordManager.enumerator;
- var selectedSite = getSelectedSite();
- var shouldDisable = "true";
- while (e.hasMoreElements()) {
- var thisPasswd = e.getNext();
- thisPasswd = thisPasswd.QueryInterface(Components.interfaces.nsIPassword);
- debug('thisPasswd = { host: '+thisPasswd.host+', user: '+thisPasswd.user+' }');
- if (thisPasswd.host == selectedSite) {
- debug('REMOVING ' + thisPasswd.host);
- passwordManager.removeUser(thisPasswd.host, thisPasswd.user);
- }
- }
- debug('cleared!');
- //document.getElementById('clearPasswords').setAttribute('disabled', 'true');
- }
-
- // MERC - JCH: If there are no cookies for the site, disable the clear all cookies button
- function updateClearCookiesButton() {
-
- var cookiemanager = Components.classes["@mozilla.org/cookiemanager;1"].getService();
- cookiemanager = cookiemanager.QueryInterface(Components.interfaces.nsICookieManager);
-
- if (!cookiemanager)
- return;
-
- var cookieSite = getSelectedSite();
- var foundACookie = false;
- var enumerator = cookiemanager.enumerator;
- while (enumerator.hasMoreElements()) {
- var nextCookie = enumerator.getNext();
- if (!nextCookie)
- break;
- nextCookie = nextCookie.QueryInterface(Components.interfaces.nsICookie);
- var host = nextCookie.host;
-
- dump('this host: '+host+' cookieSite: '+cookieSite+'\n');
- if ((host == cookieSite) || (host == '.'+cookieSite)) {
- foundACookie = true;
- break;
- }
- }
- if (foundACookie)
- document.getElementById('clearCookies').setAttribute('disabled', 'false');
- else
- document.getElementById('clearCookies').setAttribute('disabled', 'true');
- }
-
- // MERC - JCH: Clear all the cookies for the site
- function clearCookies() {
-
- var cookiemanager = Components.classes["@mozilla.org/cookiemanager;1"].getService();
- cookiemanager = cookiemanager.QueryInterface(Components.interfaces.nsICookieManager);
-
- if (!cookiemanager)
- return;
-
- var cookieSite = getSelectedSite();
- var cookieBool = document.getElementById('allowCookies').checked? false:true;
- dump('cookieBool-> permanently blocked?: '+cookieBool+'\n');
-
- var enumerator = cookiemanager.enumerator;
- while (enumerator.hasMoreElements()) {
- var nextCookie = enumerator.getNext();
- if (!nextCookie)
- break;
- nextCookie = nextCookie.QueryInterface(Components.interfaces.nsICookie);
- var host = nextCookie.host;
-
- dump('this host: '+host+' cookieSite: '+cookieSite+'\n');
- if ((host == cookieSite) || (host == '.'+cookieSite)) {
- cookiemanager.remove(nextCookie.host, nextCookie.name, nextCookie.path, cookieBool);
- }
- }
-
- // Also have to delete cookies stored in nsWidgetStateManager.js
- if (parent.hPrefWindow.wsm.dataManager.pageData["chrome://browser/content/pref/pref-sitecontrols-cookies.xul"])
- parent.hPrefWindow.wsm.dataManager.pageData["chrome://browser/content/pref/pref-sitecontrols-cookies.xul"].userData = new Object();
- document.getElementById('clearCookies').setAttribute('disabled', 'true');
- }
-
- function viewCookies() {
- window.top.cookieSite = getSelectedSite();
- openDialog("chrome://browser/content/pref/pref-sitecontrols-cookies.xul",
- "_blank", "chrome,resizable=yes", "cookieManager");
- }
-
- function cookieViewerOnPrefsOK()
- {
- var dataObject = parent.hPrefWindow.wsm.dataManager.pageData["chrome://browser/content/pref/pref-sitecontrols-cookies.xul"].userData;
-
- if ('deletedCookies' in dataObject) {
-
- var cookiemanager = Components.classes["@mozilla.org/cookiemanager;1"].getService();
- cookiemanager = cookiemanager.QueryInterface(Components.interfaces.nsICookieManager);
-
- for (var p = 0; p < dataObject.deletedCookies.length; ++p) {
- cookiemanager.remove(dataObject.deletedCookies[p].host,
- dataObject.deletedCookies[p].name,
- dataObject.deletedCookies[p].path,
- dataObject.cookieBool);
- }
- }
- }
-
- var kPrefs = "browser.sitecontrols.prefs";
-
- function GetPreferencesInterface()
- {
- return Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
- }
-
- function SetPrefTabs()
- {
- var prefs = GetPreferencesInterface();
- if (prefs == null)
- return;
-
- var selectedTabId = prefs.getCharPref(kPrefs);
- dump("The selected sitecontrol preference tab is: " + selectedTabId + "\n");
-
- var theTabBox = document.getElementById("tabbox");
- try {
- var theTab = document.getElementById(selectedTabId);
- theTabBox.selectedTab = theTab;
- } catch (ex) { }
- }
-
- function OnPrefTabsSelect()
- {
- var theTabs = document.getElementById("preftabs");
- if (!theTabs)
- return;
-
- var theTab = theTabs.selectedItem;
- if (!theTab)
- return;
-
- // HACK: don't save the preference until the page has been fully initialized
- // because OnPrefTabsSelect() will be called before Startup()
- if (gPrefTabsSelectInit)
- {
- // set as the last visted tab
- var prefs = GetPreferencesInterface();
- if (prefs)
- prefs.setCharPref(kPrefs, theTab.id);
- }
- }
-
-
- function enableDisableTrustRatings(event) {
- debug('enableDisableTrustRatings()');
- if (event) {
- debug('event.target.id: '+event.target.id);
- }
- if (!event || event.target.id == 'useTrustRatings_yes'
- || event.target.id == 'useTrustRatings_no'
- || event.target.id == 'trustRatingsAuto_yes'
- || event.target.id == 'trustRatingsAuto_no')
- {
- var useTrustRatings = document.getElementById('useTrustRatings').value;
- debug('useTrustRatings: '+useTrustRatings);
- if (useTrustRatings == 'true') {
- enableId('trustRatingsAuto');
- enableId('trustRatingsAuto_yes');
- enableId('trustRatingsAuto_no');
- var useAuto = document.getElementById('trustRatingsAuto').value;
- if (useAuto == 'true') {
- disableId('trustRatingsAuto_default');
- } else {
- enableId('trustRatingsAuto_default');
- }
- enableId('displayWarnings');
- enableId('updateInterval');
- enableId('updateIntervalLbl');
- disableId('trustRatingsNo_default');
- disableId('trustRatingsNoLbl');
- } else {
- disableId('trustRatingsAuto');
- disableId('trustRatingsAuto_yes');
- disableId('trustRatingsAuto_no');
- disableId('trustRatingsAuto_default');
- disableId('displayWarnings');
- disableId('updateInterval');
- disableId('updateIntervalLbl');
- enableId('trustRatingsNo_default');
- enableId('trustRatingsNoLbl');
- }
- }
- }
-
- function enableId(id) { document.getElementById(id).removeAttribute('disabled'); }
- function disableId(id) { document.getElementById(id).setAttribute('disabled', 'true'); }