All pastes #589965 Raw Edit

Unnamed

public text v1 · immutable
#589965 ·published 2007-06-26 08:46 UTC
rendered paste body
// ==UserScript==
// @name          theOne
// @namespace     clf/wp
// @description   clf+wp quick nav v4.0
// @include       http://mycoffeelounge.net/*
// @include       http://www.mycoffeelounge.net/*
// @include       http://whirlpool.net.au/*
// @include       http://*.whirlpool.net.au/*
// ==/UserScript==
(function() {
//
  if(document.body) {
    var gm_thisScript='clf/wp/theOne';
    var gm_thisTitle='clf+wp quick nav v4.0';
    if(document.getElementById(gm_thisScript)) return; //already running
    var gm_link=document.createElement('A');
    gm_link.id=gm_thisScript;
    gm_link.rel='greasemonkey';
    gm_link.title=gm_thisTitle;
    gm_link.style.display="none";
    document.body.appendChild(gm_link);
  }
//
  var EventManager= {
    _registry: null,
    Initialise: function() {
      if (this._registry == null) {
        this._registry = [];
        EventManager.Add(window, '_unload', this.CleanUp);
      }
    },
    Add: function(obj, type, fn, useCapture) {
      this.Initialise();
      var realType=(type=='_unload'?'unload':type);
      if (typeof obj == 'string')
        obj = document.getElementById(obj);
      if (obj == null || fn == null)
        return false;
      obj.addEventListener(realType, fn, useCapture);
      this._registry.push({obj:obj, type:type, fn:fn, useCapture:useCapture});
      return true;
    },
    CleanUp: function() {
      for (var i = 0; i < EventManager._registry.length; i++) {
        with(EventManager._registry[i]) {
          if(type=='unload') fn();
          obj.removeEventListener(type,fn,useCapture);
        }
      }
      EventManager._registry = null;
    }
  };
  var dodge=[ "data:image/png;base64,",
    "iVBORw0KGgoAAAANSUhEUgAAAAEAAABkCAYAAABHLFpgAAAABmJLR0QA/wD/AP+g",
    "vaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QsRFgUFBOT53wAAADZJ",
    "REFUeNpj+P//fz0TAwMDAxMDA8M/JgYGhv+oxD+8XGwSRCghnUttdUR4lcaOpNhB",
    "/8iMNwAb6GTGZICmgQAAAABJRU5ErkJggg=="
  ].join('');
  function addElement(rt, typ) {
    var obj=document.createElement(typ);
    return rt.appendChild(obj);
  }
  function createPopup(conf) {
    var name=conf.name;
    var wideWork=conf.dropDown.width*conf.other.sizePX;
    var navW=wideWork+3*(conf.other.sizePX);
    var ddW=wideWork+2*(conf.other.sizePX);
    var divW=wideWork+1*(conf.other.sizePX);
    var topPos=-(conf.other.sizePX*3);
    var leftPos=-(conf.other.sizePX+1);
    var leftW=wideWork;
    var rightPos=wideWork+conf.flyOut.offset;
    var retVal={root:null, sect:null, zIndex:999, name:name};
    var root = document.createElement("div");
    retVal.root=root;
    root.id=name+"_nav";
      var uList=addElement(root, "ul");
        var lButton=addElement(uList, "li");
        lButton.id=name+"_button";
          var dParent=addElement(lButton, "div");
          dParent.id=name+"_parent";
            var trigLink=addElement(dParent, "a");
            trigLink.href="";
            trigLink.appendChild(conf.icon.el);
            var dDrop=addElement(dParent, "div");
            dDrop.id=name+"_dropdown";
              var uDrop=addElement(dDrop, "ul");
              retVal.sect=uDrop;
    var style=[
      "#@_nav { position: fixed; left:",conf.icon.left,"; top: ",conf.icon.top,"; ",
               "font-size:",conf.other.sizePX,"px;",
               "font-family:Arial,sans-serif; background: transparent;",
               "width: ",conf.icon.width,"; height:",conf.icon.height,";}",
      "#@_nav ul, #@_nav li { padding: 0; margin: 0; list-style: none; }",
      "#@_nav:hover { width:",navW,"px; }",
      //"#@_button { width: 16px; }",
      "#@_dropdown { width: ",ddW,"px; position: absolute; left: -3000px; top: 0;",
                    "background: transparent; }",
      "#@_dropdown div { width: ",divW,"px; position: absolute; left: -3000px; top: 0;",
                        "background: transparent; }",
      "#@_dropdown ul { width: ",leftW,"px; margin: ",conf.other.sizePX,"px;",
                       "border: 1px solid #444;border-width: 0 0 1px; }",
      "#@_dropdown div ul { margin: 30px 30px 30px 0; }",
      "#@_nav a,",
      "#@_nav span { display: block; text-decoration: none;}",
      "#@_dropdown a,",
      "#@_dropdown span { padding: 2px; }",
      "#@_dropdown span { cursor:default; }",
      "#@_nav ul ul li { border: 1px solid #444; border-width:1px 1px 0;}",
      "#@_dropdown li { position: relative; }",
      "#@_button:hover #@_dropdown { left:",leftPos,"px; top:",topPos,"px;}",
      "#@_dropdown li:hover div { top:-31px; left:",rightPos,"px;}",
      "#@_nav #@_mini-zone { padding: 0; width: 15px; height: 15px; font-size: 1px; left: -3000px;",
                            "bottom: -15px; top: auto; background: transparent; }",
      "#@_nav #@_dropdown li:hover #@_mini-zone { left: auto; right: -4px; top: auto; }",
      "#@_parent {z-index: 1000;}",
      //
      //"#@_parent a { color:#f0f; }",
      "#@_dropdown li { background: ",conf.dropDown.bg,"; }",
      "#@_dropdown li:hover { background: ",conf.dropDown.hBg,";color:",conf.dropDown.hFg,"; }",
      "#@_dropdown ul ul li { background: ",conf.flyOut.bg,"; }",
      "#@_dropdown ul ul li:hover { background: ",conf.flyOut.hBg,";color:",conf.flyOut.hFg,"; }",
      "#@_dropdown li a,",
      "#@_dropdown li span { color: ",conf.dropDown.fg,"; }",
      "#@_dropdown ul ul li a,",
      "#@_dropdown ul ul li a { color: ",conf.flyOut.fg,"; }",
      "#@_dropdown ul { border-color:",conf.dropDown.border,";}", 
      "#@_nav ul ul li { border-color:",conf.flyOut.border,"; }",
//      "TD.mainforum>DIV+A+TABLE+TABLE+TABLE {position:fixed;top:0;}",
      ".@_sep { height:4px; background-color:",conf.dropDown.border,"; }",
      ".@_section:before { content: '- '; }",
      ".@_hidden { visibility:hidden; }"
    ].join("");
    var realStyle=style.replace(/@_/g, name+"_");
    var head = document.getElementsByTagName('head')[0];
    if (!head) return null;
    var el = document.createElement('style');
    el.type = 'text/css';
    el.innerHTML = realStyle;
    head.appendChild(el);
    return retVal;
  }
  function addSection(sect, obj, className) {
    for(var s in sect) { // build up the menu
      var x=sect[s];
      var lHead=addElement(obj.sect, "li");
      lHead.className=obj.name+"_drop "+obj.name+"_left";
      if(className=='hidden') lHead.className+=' '+obj.name+"_"+className;
      lHead.style.zIndex=obj.zIndex--;
      var aHead=addElement(lHead, "span");
      aHead.className=obj.name+"_"+className;
      if(x.click && typeof x.click == "function") {
        aHead.addEventListener("click", x.click, false);
        aHead.style.cursor="pointer";
      }
      //aHead.href="";
      aHead.appendChild(document.createTextNode(s));
      if(s.length) {
        var dZone=addElement(lHead, "div");
        dZone.id=obj.name+"_mini-zone";
        var dCont=addElement(lHead, "div");
        var uCont=addElement(dCont, "ul");
        for(var f in x) {
          var y=x[f];
          if(typeof y != "function") {
            var lItem=addElement(uCont, "li");
            lItem.className=obj.name+"_drop "+obj.name+"_right";
            var aItem=addElement(lItem, "a");
            aItem.href=y;
            aItem.appendChild(document.createTextNode(f));
          }
        }
      }
    }
  }
//------------------------------------------
  var menuConfig={
    name: "theOne",
    other: { sizePX:11 }, // text size in pixels
    icon: { el:null, width:"16px", height:"16px", left:"146px", top:"24px" },
    dropDown: { fg:"#fff", bg:"#004", hFg:"#fff", hBg:"orange", border:"#000000", 
                width:12 }, // multiplied by sizePX to get width of menu column
    flyOut:   { fg:"#fff", bg:"#448", hFg:"#fff", hBg:"orange", border:"#000000",
                offset:-2 } // left offset of flyout menu ... 0 or negative works better
  };
//------------------------------------------
  var gfx=[ "data:image/png;base64,",
  "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",
  "RK5CYII="
  ].join('');
  var contacts={}; // id : {name:"blah", online:true/false}
  function readContacts(url) {
    GM_xmlhttpRequest( {
      method:"GET",
      url:url,
      headers: {
        "User-Agent":window.navigator.userAgent,
        "Accept":"text/html,text/xml,text/plain"
      },
      onload: function(resp) {
        if(resp.status=="200") {
          var xmlDoc;
          if(unsafeWindow) {
            var dp=new XPCNativeWrapper(window, "DOMParser()");
            xmlDoc=new dp.DOMParser().parseFromString(resp.responseText,"application/xml");
          }
          else
            xmlDoc=new uWin.DOMParser().parseFromString(resp.responseText,"application/xml");
          var trig=[
            "//whirlpool/contact/userid/text()",
            "//whirlpool/contact/username/text()",
            "//whirlpool/contact/online/text()"
          ].join("|");
          var things=document.evaluate(trig,
            xmlDoc,null,XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);
          var pop="";
          for(var i=0; i < things.snapshotLength; i+=3) {
            var userId=things.snapshotItem(i).nodeValue;
            var name=things.snapshotItem(i+1).nodeValue;
            var online=things.snapshotItem(i+2).nodeValue;
            contacts[userId]={name:name, online:online};
            pop+=(pop.length?"<br/>":"");
            pop+=(online=="True"?"<b>":"<i>")+name+": is ";
            pop+=(online=="True"?"online</b>":"offline</i>");
          }
          if(pop.length) doPopup2(pop);
        }
        else doPopu2("contacts RSS seems broken");
      }
    });
  }
  function fader(e,v,f) {
//    var h;
    function fadeIn(el, delta, to, atEnd) {
      var x=parseFloat(el.style.opacity)+delta;
      if(x > 0.99) x=0.99;
      el.style.opacity=x;
//      var y=parseInt(h-h*x);
//      el.style.bottom="-"+y+"px";
      if(x<0.99) window.setTimeout(fadeIn, to, el, delta, to, atEnd);
      else if(typeof atEnd == "function") atEnd();
    }
    function fadeOut(el, delta, to, atEnd) {
      var x=parseFloat(el.style.opacity)-delta;
      if(x < 0.01) x=0.01;
      el.style.opacity=x;
//      var y=parseInt(h-h*x);
//      el.style.bottom="-"+y+"px";
      if(x>0.01) window.setTimeout(fadeOut, to, el, delta, to, atEnd);
      else if(typeof atEnd == "function") atEnd();
    }
    e.style.bottom="0";
//    e.style.bottom="-1000em";
    e.style.display="block";
//    h=e.clientHeight;
    fadeIn(e, 0.03, 50, function() {
      window.setTimeout( function() { 
        fadeOut(e, 0.03, 50, function() {
          e.style.display="none";
          if(typeof f == "function") f();
        });
      }, v);
    });
  }
  var pup=document.createElement("div");
  pup.style.display="none";
  pup.style.position="fixed";
  pup.style.right="32px";
  pup.style.opacity="0.01";
  pup.style.backgroundColor="orange";
  pup.style.backgroundRepeat='repeat-x';
  pup.style.backgroundPosition='top left';
  pup.style.backgroundImage='url('+dodge+')';
  pup.style.padding="10px";
  pup.style.border="gold 3px ridge";
  pup=document.body.appendChild(pup);
  function doPopup2(html) {
    pup.innerHTML=html;
    fader(pup, 3000, null);
  }
  function loadIndex(lookFor) { // read index, and return section/forums in an object
    var sections={};
    var inSection=false;
    var things = document.evaluate(lookFor, document.body, null, 
                                   XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null);
    var currSect=null;
    for(var i=0; i<things.snapshotLength; i++) {
      var el=things.snapshotItem(i);
      var section=(el.parentNode.nodeName!="A");
      if(section) {
        sections[el.firstChild.nodeValue]={};
        currSect=sections[el.firstChild.nodeValue];
      }
      else {
        if(currSect) currSect[el.firstChild.nodeValue]=el.parentNode.href;
                                //el.parentNode.getAttribute("href");
      }
    }
    return sections;
  }
  function getAny(trig) { // get a single node specified in an xPath
    var res = document.evaluate(trig,document,null,XPathResult.ANY_UNORDERED_NODE_TYPE,null);
    return res.singleNodeValue;
  }
  var inWP=(document.location.host.indexOf("whirlpool") >= 0);
  var inCLF=(document.location.host.indexOf("mycoffeelounge") >= 0);
  // WP  
  var wpSectObj=null;
  var wpContrib="forum-user.cfm";
  var serialNo="Undefined";
  if(inWP && 
     document.location.host.indexOf("whirlpool.") == 0 &&
     document.location.pathname=="/profile/index.cfm" && 
     document.location.search=="?a=preferences") {
    var serial=document.getElementById("serialno");
    if(serial) {
      serialNo=serial.firstChild.nodeValue;
      GM_setValue("WpSerial", serialNo);
    }
  }
  else
    serialNo=GM_getValue("WpSerial", serialNo);
  if(inWP && 
     (document.location.pathname=="/" || document.location.pathname=="/forum.cfm")&& 
     document.location.host.indexOf("forums.") == 0) {
    wpSectObj=loadIndex('//TD[@class="indexhead"]/B|//TD[@class="indexL2"]/DIV/A/B');
    GM_setValue("wpForums", uneval(wpSectObj));
    var lnk=getAny('//DIV[@class="nav_item_name"]/A[contains(@href, "forum-user.cfm?id=")]');
    if(lnk)
      wpContrib=lnk.href;
    GM_setValue("wpContrib", lnk.href);
  }
  else {
    wpSectObj=eval(GM_getValue("wpForums", 
                   "({'Please visit index page':{'Click Here':'http://forums.whirlpool.net.au/'}})"));
    wpContrib=GM_getValue("wpContrib", wpContrib);
  }
  var wpX=wpContrib.indexOf("=");
  var wpLogout="";
  if(wpX>0)
    wpLogout=wpContrib.substr(wpX);
  var wpRssLinks="http://whirlpool.net.au/external/rss-links.cfm?serial="+serialNo;
  var wpRssContacts="http://whirlpool.net.au/external/wpm-contacts.cfm?serial="+serialNo;
  function doContacts(e) {
    if(e) {
      e.stopPropagation();
      e.preventDefault();
    }
    readContacts(wpRssContacts);
  }
//  window.setInterval(doContacts, 60000);
//  doContacts();
  var wpSection={
    "WP User":{
      "Contributed Threads" : wpContrib,
      "People Online"       : "http://forums.whirlpool.net.au/forum-user-online.cfm",
      "Inbox"               : "http://forums.whirlpool.net.au/whim.cfm?show=inbox",
      "Outbox"              : "http://forums.whirlpool.net.au/whim.cfm?show=outbox",
      "Contacts"            : "http://forums.whirlpool.net.au/whim-contacts.cfm",
      "Subscriptions"       : "http://forums.whirlpool.net.au/forum-subs.cfm",
      "Thread Search"       : "http://forums.whirlpool.net.au/forum-search.cfm",
      "Your Settings"       : "http://whirlpool.net.au/user.cfm",
      "Log out"             : "http://whirlpool.net.au/login.cfm?logout"+wpLogout,
	  "Whoogle"             : "http://ideatriage.com/WPSearch.html",
//      "Links RSS"           : wpRssLinks,
//      "Contacts RSS"        : wpRssContacts,
      "click"               : doContacts
    }
  };
// CLF
  var clfSectObj=null;
  var clfContrib="cl-user.php";
  if(inCLF && document.location.pathname == "/index.php") {
    var indexStyle1=getAny('//TD[@class="Coffee3"]');
    var xp=indexStyle1?'//TR/TD[@class="Coffee3"][2]/B|'+
                       '//TR/TD[@class="themeindex3"]/DIV/A/B|'+
                       '//TR/TD[@class="themeindex1"]/DIV/A/B':
                       '//TD[@class="IndexingHeading"]/FONT/B|//TD[@class="IndexPageTD2"]/DIV/A/B';
    clfSectObj=loadIndex(xp);
    GM_setValue("clfForums", uneval(clfSectObj));
    var lnk=getAny('//DIV[@class="welcomemsg2"]/A[contains(@href, "cl-user.php?")]');
    if(lnk) {
      var x=lnk.href.split("&");
      clfContrib=x[0]
    }
    GM_setValue("clfContrib", clfContrib);
  }
  else {
    clfSectObj=eval(GM_getValue("clfForums", 
         "({'Please visit index page':{'Click Here':'http://www.mycoffeelounge.net/index.php'}})"));
    clfContrib=GM_getValue("clfContrib", clfContrib);
  }
  var clfSection={
    "CLF User":{
      "Recent Threads"      : "http://mycoffeelounge.net/forum-recent.php",
      "Contributed Threads" : clfContrib,
      "People Online"       : "http://www.mycoffeelounge.net/cl-members.php",
      "Inbox"               : "http://www.mycoffeelounge.net/coaster-inbox.php",
      "Outbox"              : "http://www.mycoffeelounge.net/coaster-outbox.php",
      "Caffeine Level"      : "http://www.mycoffeelounge.net/cl-caffeine-level.php",
      "Thread Search"       : "http://www.mycoffeelounge.net/cl-thread-search.php",
      "Full Text Search"    : "http://www.mycoffeelounge.net/cl-full-text-search.php",
      "Your Settings"       : "http://www.mycoffeelounge.net/user.php",
      "Log out"             : "http://www.mycoffeelounge.net/logout.php",
	  "Meh-oogle"           : "http://goodbyepolar.com/search/",
	  "Mod"                 : "http://www.mycoffeelounge.net/mod-main.php",
	  "Froth Central"       : "http://www.mycoffeelounge.net/mod-froth-central.php",
	  "The Grinder"         : "http://www.mycoffeelounge.net/cl-mod-grinder.php?cid=85",
	  "User Notes"          : "http://www.mycoffeelounge.net/mod-user-notes.php",
	  "Online Members"      : "http://www.mycoffeelounge.net/mod-online.php",
    }
  };
  //
  var separator={"":{}};
  if(inWP) { //let's match the current theme
    var dummy=document.createElement("DIV");
    dummy.className="navlink1";
    menuConfig.dropDown.bg=
      document.defaultView.getComputedStyle(dummy, '').getPropertyValue("background-color");
    dummy.className="navlink3";
    menuConfig.flyOut.bg=
      document.defaultView.getComputedStyle(dummy, '').getPropertyValue("background-color");
  }
  if(inCLF) { //let's match the current theme
    var dummy=document.createElement("TD");
    dummy.className="navmenu";
    menuConfig.dropDown.bg=menuConfig.flyOut.bg=
      document.defaultView.getComputedStyle(dummy, '').getPropertyValue("background-color");
    if(getAny('//a[starts-with(@onclick, "psmiley")]') && document.forms[0] && ! document.post) {
      document.post=document.forms[0];
    }

  }
  //
  var sideNav=inCLF?getAny('//TD[@class="navmenu"]'):true;
  var Img=document.createElement("img");
  Img.src=inWP?gfx:"http://www.mycoffeelounge.net/wiki/56-663.gif";
  Img.style.borderStyle="none";
  Img.style.backgroundColor="transparent";
  Img.style.width=(sideNav || inWP)?"16px":"19px";
  Img.style.height=Img.style.width;
  menuConfig.icon.el=Img;
  menuConfig.icon.left=sideNav?"146px":"0";
  var pu=createPopup(menuConfig);
  var clfForum={"Forums":clfSectObj};
  var wpForum={"Forums":wpSectObj};
  addSection(({'Hidden':{'Hidden':''}}), pu, "hidden");
  addSection(clfSection, pu, "site");
  addSection(clfSectObj, pu, "section");
  addSection(separator, pu, "sep");
  addSection(wpSection, pu, "site");
  addSection(wpSectObj, pu, "section");
  document.body.appendChild(pu.root);
})();