//from http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/CSS/Q_22821844.html
toggleLinks={  
 links:[], 
 cOn :"active", 
 cOff:"off", 
 init:function(){  
  var a;  
  var cRegEx=new RegExp("(^|\\s)("+toggleLinks.cOn+"|"+toggleLinks.cOff+")(\\s|$)"); 
  var ls=document.getElementsByTagName("a");  
  for(var i=0;i<ls.length;i++){  
   a=ls[i];  
   if(cRegEx.test(a.className)){  
    toggleLinks.links.push(a);   
    var fn=toggleLinks.getSwitchTo(toggleLinks.links.length-1); 
    if(a.addEventListener){ 
     a.addEventListener("click",fn,false);  
     } 
    else if(a.attachEvent){ 
     a.attachEvent("onclick",fn); 
     } 
    else{ 
     a.onclick=fn; 
     } 
    }  
   }  
  },  
 switchTo:function(l){  
  var ls=toggleLinks.links; 
  var onRegEx=new RegExp("(^|\\s)"+toggleLinks.cOn+"(\\s|$)"); 
  var offRegEx=new RegExp("(^|\\s)"+toggleLinks.cOff+"(\\s|$)"); 
  for(var i=0;i<ls.length;i++){  
   ls[i].className=ls[i].className.replace(onRegEx,"$1"+toggleLinks.cOff+"$2");  
   }  
  ls[l].className=ls[l].className.replace(offRegEx,"$1"+toggleLinks.cOn+"$2");  
  },  
 getSwitchTo:function(l){  
  return function(){  
   toggleLinks.switchTo(l);  
   return false;  
   }  
  }  
 } 
if(window.addEventListener){ 
 window.addEventListener("load",toggleLinks.init,false);  
 } 
else if(window.attachEvent){ 
 window.attachEvent("onload",toggleLinks.init); 
 } 
else{ 
 window.onload=toggleLinks.init; 
 }