// Zebra Table

var stripe = function() {
  var tables = document.getElementsByTagName("table");  

  for(var x=0;x!=tables.length;x++){
    var table = tables[x];
    if (! table) { return; }
    var tbodies = table.getElementsByTagName("tbody");
    
    for (var h = 0; h < tbodies.length; h++) {
      var even = true;
      var trs = tbodies[h].getElementsByTagName("tr");
      
      for (var i = 0; i < trs.length; i++) {
        trs[i].onmouseover=function(){
          this.className += " ruled"; return false
        }
        trs[i].onmouseout=function(){
          this.className = this.className.replace("ruled", ""); return false
        }
        
        if(even)
          trs[i].className += " even";
        
        even = !even;
      }
    }
  }
}
var spamSpanMainClass	= 'spamspan';
var spamSpanUserClass	= 'u';
var spamSpanDomainClass	= 'd';
var spamSpanAnchorTextClass = 't';

function spamSpan() {
var allSpamSpans = getElementsByClass(spamSpanMainClass, document, 'span');
for (var i=0; i<allSpamSpans.length; i++) {
var user = getSpanValue(spamSpanUserClass, allSpamSpans[i]);
var domain = getSpanValue(spamSpanDomainClass, allSpamSpans[i]);
var anchorText = getSpanValue(spamSpanAnchorTextClass, allSpamSpans[i]);
var at = String.fromCharCode(32*2);
var email = cleanSpan(user) + at + cleanSpan(domain);
var anchorTagText = document.createTextNode(anchorText ? anchorText : email);
var mto = String.fromCharCode(109,97,105,108,116,111,58);
var anchorTag = document.createElement('a');
anchorTag.className = spamSpanMainClass;
anchorTag.setAttribute('href', mto + email);
anchorTag.appendChild(anchorTagText);
allSpamSpans[i].parentNode.replaceChild(anchorTag, allSpamSpans[i]);
}
}
function getElementsByClass(searchClass, scope, tag) {
var classElements = new Array();
if (scope == null) node = document;
if (tag == null) tag = '*';
var els = scope.getElementsByTagName(tag);
var elsLen = els.length;
var pattern = new RegExp("(^|\s)"+searchClass+"(\s|$)");
for (var i = 0, j = 0; i < elsLen; i++) {
if ( pattern.test(els[i].className) ) {
classElements[j] = els[i];
j++;
}
}
return classElements;
}
function getSpanValue(searchClass, scope) {
var span = getElementsByClass(searchClass, scope, 'span');
if (span[0]) return span[0].firstChild.nodeValue;
else return false;
}
function cleanSpan(string) {
string = string.replace(/[\[\(\{]?[dD][oO0][tT][\}\)\]]?/g, '.');
string = string.replace(/\s+/g, '');
return string;
}
function addEvent(obj, type, fn) {
if (obj.addEventListener)
obj.addEventListener(type, fn, false);
else if (obj.attachEvent)
{
obj['e' + type + fn] = fn;
obj[type + fn] = function() { obj['e' + type + fn](window.event); }
obj.attachEvent('on' + type, obj[type + fn]);
}
}

function addEvent(obj, evType, fn){
if (obj.addEventListener){
obj.addEventListener(evType, fn, false);
return true;
} else if (obj.attachEvent){
var r = obj.attachEvent("on"+evType, fn);
return r;
} else {
return false;
}
}

