All pastes #115778 Raw Edit

Untitled

public javascript v1 · immutable
·published 2006-08-04 20:34 UTC
rendered paste body
// JavaScript Document/*Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus posuere lorem a sem. Pellentesque auctor mattis ipsum. Vestibulum tellus. Nunc vel lectus at mauris pulvinar lobortis. In auctor. In luctus. Nulla scelerisque erat at nulla. In quis leo et massa adipiscing condimentum. Proin varius commodo elit. Maecenas imperdiet leo sit amet magna.Ut dignissim accumsan dui. Phasellus ac magna et nisi pulvinar varius. Vestibulum consequat, urna faucibus luctus ullamcorper, turpis neque aliquam ante, id viverra arcu sem hendrerit velit. Cras urna diam, volutpat id, auctor et, varius id, sem. Maecenas ut tortor vel arcu dictum pellentesque. Suspendisse eu nulla. Ut id dui non tortor elementum commodo. Vivamus mi. Donec sagittis, tellus nec accumsan porta, nibh mauris blandit ipsum, ut semper lorem pede vitae arcu. Sed ac purus. Nullam facilisis quam eu augue. Quisque hendrerit massa in velit interdum malesuada.Curabitur nulla velit, commodo a, aliquam non, ullamcorper eu, mauris. Nulla pharetra porta mi. Vestibulum justo. Cras quam. Nunc lorem. Duis vitae erat in enim molestie blandit. Sed odio purus, aliquam ut, scelerisque ut, pharetra ac, sem. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed eleifend cursus nunc. Proin vel tortor. Vivamus faucibus ligula a mi. Curabitur placerat mauris a nisi. Nam sed sem. Ut a libero. Vivamus at nisl vel nisi volutpat pharetra. Aliquam erat volutpat. Morbi euismod condimentum est. Praesent ante urna, consequat sit amet, auctor eget, tincidunt eget, purus.Mauris metus. Cras vulputate. Vestibulum sagittis mauris. Sed elit nulla, molestie non, nonummy id, auctor interdum, mi. Ut nonummy viverra justo. Suspendisse potenti. Proin lectus. Fusce id arcu vel lacus convallis rhoncus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Pellentesque pellentesque velit ut massa. Quisque in risus eu felis porta ornare. Quisque fermentum. Aliquam mauris.Ut viverra sollicitudin diam. Nunc suscipit, risus non lacinia suscipit, neque dui convallis libero, eget dictum tellus odio a elit. Fusce tincidunt, mi quis ultricies sagittis, turpis pede pretium eros, quis laoreet urna magna pulvinar augue. Fusce ut nunc. Aliquam erat volutpat. In hac habitasse platea dictumst. Donec eget nunc. Ut venenatis, elit non laoreet facilisis, leo ligula interdum lacus, et semper metus ipsum nec nibh. Duis id nulla. Donec consequat pharetra odio.*/var words = new Array('lorem ipsum','adipiscing','bananas','nunc','cras','purus','elit non');var urls = new Array('http://www.google.com','http://www.yahoo.com','http://www.msn.com','http://www.ask.com','http://www.digg.com','http://www.fark.com','http://www.fxcm.com');window.onload = function() { loadSmartLinks(); }function loadSmartLinks() {/* traverse through dom and check for nodeType == 3 (text) */  _travEle(document.getElementById('lol'));}function _travEle(e) {  var c = e.childNodes;  for (var i = 0; i < c.length; i++) {    if (c[i].nodeType == 3) { if (_parseEle(c[i])) { /* i++; */ } }    else if (!(c[i].nodeName == 'A' && c[i].href.length > 0)) {      _travEle(c[i]);    }  }}function _parseEle(e) {    var orig = e.nodeValue;  if (orig.replace(/\s+/).length == 0) return;  var i = orig;  var l = i.toLowerCase();    var firstTermPos = -1;  var firstTerm = null;    for (j = 0; j < words.length; j++) {    var term = words[j];    var url = urls[j];        var t = l.indexOf(term);    if (t > -1 && (t < firstTermPos || firstTermPos < 0)) {      firstTermPos = t;      firstTerm = j;    }  }    if (firstTermPos > -1) {    var first = document.createTextNode(i.substring(0,firstTermPos));    var second = document.createElement('a');    second.appendChild(document.createTextNode(i.substring(firstTermPos, firstTermPos+words[firstTerm].length)));    second.setAttribute("href", urls[firstTerm]);    second.setAttribute("target", "_blank");    var third = document.createTextNode(i.substring(firstTermPos+words[firstTerm].length, i.length));        var p = e.parentNode;        p.replaceChild(third,e)    p.insertBefore(second, third);    p.insertBefore(first, second);    return true;  }    return false;}