Rambler.ru write message

By larytet Last update Sep 6, 2005 — Installed 500 times.
// ==UserScript==

// @name           Rambler.ru write message

// @namespace      http://rambler.ru/user.script

// @description    adds letter M(essage) and link between name and age in the search results

// @include        http://love.rambler.ru/*

// ==/UserScript==


var allLinks, link, newLink, hrefLinkValue, linkInnerHTML, mediaLink, mediaLinkRes;

// discover all links - <A>, <IMG>, etc.
allLinks = document.evaluate('//a[@href]', document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
for (var i = 0; i < allLinks.snapshotLength; i++) 
{
  link = allLinks.snapshotItem(i);

  // this is <A>, now i have to figure out the data. read value first
  hrefLinkValue = link.href;
  // link should be to "anketa" (form)
  if (hrefLinkValue.match(/.+anketa.phtml\?oid=\d+\&s_.+/) == null)  
     continue;

  if (hrefLinkValue.indexOf("http://love.rambler.ru/anketa.phtml?oid") == -1)  
     continue;

  linkInnerHTML = link.innerHTML;
  if (linkInnerHTML.indexOf("<img") != -1)  //skip images
     continue;
  
  // fetch OID (object ID ?) and construct link to the chat
  mediaLinkRes = hrefLinkValue.replace(/(.+anketa.phtml\?oid=)(\d+)(\&s_.+)/, '$2');
  mediaLinkRes = "http://love.rambler.ru/my/message.phtml?action=Message&oid=" + mediaLinkRes;

  GM_log("href= "+hrefLinkValue+" Result= "+mediaLinkRes);

  // create new href
  newLink = document.createElement("a");
  newLink.innerHTML = "M ";
  newLink.href = mediaLinkRes;
  link.parentNode.insertBefore(newLink, link);
}