home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 March / PCWorld_2005-03_cd.bin / komunikace / kmeleon / kmeleon09.exe / flashblock.jar / content / flashblock / options.js < prev    next >
Text File  |  2004-12-06  |  2KB  |  99 lines

  1. function checkSiteName(siteName) {
  2.     var regex = /^[A-Za-z0-9_\-\.\*]+$/;
  3.     return regex.test(siteName);
  4. }
  5.  
  6. function listContainsSite(site) {
  7.     var siteList = document.getElementById("sitelist");
  8.     var numRows = siteList.getRowCount();
  9.     for(i = 0; i < numRows; i++) {
  10.         if(siteList.getItemAtIndex(i).label == site)
  11.             return true;
  12.     }
  13.     return false;
  14. }
  15.  
  16. function addSite() {
  17.     var textbox = document.getElementById("siteTextbox");
  18.     var siteName = textbox.value;
  19.  
  20.     if(siteName.length == 0)
  21.         return false;
  22.  
  23.     if(! checkSiteName(siteName)) {
  24.         alert("Invalid characters in site name.\n\nValid characters are A-Z, 0-9, _ and ."); 
  25.         return;
  26.     }
  27.  
  28.     var siteList = document.getElementById("sitelist");
  29.     if(! listContainsSite(siteName))
  30.         siteList.appendItem(siteName, "");
  31.     textbox.value = "";
  32.     siteInput(textbox);
  33.     textbox.focus();
  34. }
  35.  
  36. function removeSite() {
  37.     var siteList = document.getElementById("sitelist");
  38.     var index = siteList.selectedIndex;
  39.     if(index != -1) {
  40.         siteList.removeItemAt(index);
  41.     }
  42. }
  43.  
  44. function removeAllSites() {
  45.     var siteList = document.getElementById("sitelist");
  46.  
  47.     if(confirm("Are you sure you want to clear the whitelist?")) {
  48.         while(siteList.getRowCount() > 0)
  49.             siteList.removeItemAt(0);
  50.     }
  51. }
  52.  
  53. function doOK() {
  54.     var siteList = document.getElementById("sitelist");
  55.     var numRows = siteList.getRowCount();
  56.     var prefStr = "";
  57.     for(i = 0; i < numRows; i++) {
  58.         if(i != 0) prefStr += ",";
  59.         prefStr += siteList.getItemAtIndex(i).label;
  60.     }
  61.     setWhitelistPref(prefStr);
  62.  
  63.     setEnabled(document.getElementById("enableCheckbox").checked);
  64.  
  65.     window.close();
  66. }
  67.  
  68. function onLoad() {
  69.     document.getElementById("enableCheckbox").checked = isEnabled();
  70.     loadWhitelist();
  71. }
  72.  
  73. function loadWhitelist() {
  74.     var prefStr = getWhitelistPref();
  75.  
  76.     var siteList = document.getElementById("sitelist");
  77.     while(siteList.getRowCount() > 0)
  78.         siteList.removeItemAt(0);
  79.  
  80.     if(prefStr) {
  81.         var array = prefStr.split(",");
  82.         for (i = 0; i < array.length; i++) {
  83.             siteList.appendItem(array[i]);
  84.         }
  85.     }
  86. }
  87.  
  88. function doCancel() {
  89.     window.close();
  90. }
  91.  
  92. function siteInput(siteField) {
  93.     document.getElementById("btnAdd").disabled = !siteField.value;
  94. }
  95.  
  96. function siteSelected(siteList) {
  97.     document.getElementById("btnRemove").disabled = (siteList.selectedIndex == -1);
  98. }
  99.