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")) { 
                " (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;