mozilla
Your Search Results

    Interface documentation status

    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")) { 
                  " (NeedsHelp)"; 
              } 
              if(map.contains(newPage.tags, "NeedsAttention")) { 
                  " (NeedsAttention)"; 
              } 
              if(map.contains(newPage.tags, "NeedsMarkupWork")) { 
                  " (NeedsMarkupWork)"; 
              } 
          } else if(wiki.pageExists(lang + '/' + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + '/' + $0), $0)) 
              " - Needs to be moved. [possibly outdated, check tags]"; 
          } else if(!isDOM) { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      %>
    •  
      /* PLEASE DO NOT USE THIS TEMPLATE IN PAGES */ 
       
      /* get a page's language (Don't use page.language!) */ 
      var u = Uri.Parts(Page.uri); 
      var lang = string.toLower(u.path[0]); 
      if(string.Contains(lang, "project")) { 
       lang = string.Substr(lang, 8); 
      } 
      /* fall back to page.language on a user page */ 
      else if (string.StartsWith(lang, "user:")) { 
       lang = page.language; 
      } 
       
      var interface = string.toLower($0); 
      var strPath = ""; 
      var isDOM = false; 
      var isFUEL = false; 
      var domPage = ""; 
       
      if (string.StartsWith(interface, 'nsidomsvg')) { 
          isDOM = true; 
          if (string.EndsWith(interface, 'element') && string.Length(interface) > 16) { 
              interface = string.Substr($0, 9, string.Length(interface) - 16); 
              strPath = lang + '/SVG/Element/' + interface; 
              if(wiki.pageExists(strPath)) { 
                  (web.link(wiki.uri(strPath), interface)) 
              } else { 
                  interface 
                  " - Needs documentation"; 
              } 
          } else { 
              "SVG (Unsure how to handle) " + $0; 
          } 
      } else if (string.StartsWith(interface, 'nsidom')) { 
          isDOM = true; 
          interface = string.Substr($0, 6); 
          var destNewType = lang + '/DOM/' + interface; 
          var destOldType = lang + '/DOM:' + interface; 
       
          if(wiki.pageExists(destNewType)) { /* the page exists from the dekiwiki age */ 
              (web.link(wiki.uri(destNewType),interface)); 
              domPage = wiki.getpage(destNewType); 
          } else if (wiki.pageExists(destOldType)) { /* the page exists from the mediawiki age */ 
              (web.link(wiki.uri(destOldType),interface)); 
              domPage = wiki.getpage(destOldType); 
          } else { /* the page doesn't exist */ 
              <a rel=('internal') href=(wiki.uri(destNewType)) class=('new')>interfacea>; 
              " (" + $0 +")"; 
          } 
      } else if (string.StartsWith(interface, 'exti')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } else if (string.StartsWith(interface, 'fueli')) { 
          isFUEL = true; 
          strPath = lang + "/Toolkit_API/FUEL/" + $0; 
          if(wiki.pageExists(strPath)) { 
              (web.link(wiki.uri(strPath), $0)) 
          } else { 
              $0 
              " - Needs documentation (check if it is an Interface)."; 
          } 
      } 
       
      if (!isFUEL) { 
       
          var str = "/XPCOM_Interface_Reference/"; 
       
          switch(lang) { 
            case 'de': 
              str = "/XPCOM_Interface_Referenz/"; 
              break; 
          } 
       
          /* check $0 exists */ 
          if(wiki.pageExists(lang + str + $0)) { 
              if (isDOM) { 
                  " - "; 
              } 
              (web.link(wiki.uri(lang + str + $0), $0)) 
              var newPage = wiki.getpage(lang + str + $0); 
              if(date.DiffMonths(date.now, newPage.date) > 12) { 
                  " (possibly outdated)"; 
              } 
              if(map.contains(newPage.tags, "NeedsContent")) { 
                  " (NeedsContent)"; 
              } 
              if(map.contains(newPage.tags, "NeedsHelp")