function noSpam_() {
	if (document.getElementById) {
		var smto = document.getElementsByName('obfmto');                
		var escaped= document.getElementsByName('escaped');

		for (var i = 0; i < smto.length; i++) {
			mto_func(smto[i],escaped[i]);
		}
	
		var snmto= document.getElementsByName('obfnmto');
		var c_snmto=snmto.length;

		while(snmto.length>0) {
			nmto_func(snmto[0]);   
		}
 	
	}
                
}

function mto_func(element,replacement){
	var children = replacement.childNodes;
	var result= null;
	var count =children.length;
	for(var i=0; i < count ; i++){
		var child = children[i].childNodes;
		var child_count = child.length; 
		var temp= child[0].innerHTML.substr(3);
		switch (temp)
			{
			case 'mailto':	
				result = temp + ':'; 
				for(var k=1; k< child_count; k++){
	        			result += nmto_func(child[k]);
	        			if(child_count > k+1){
	        				result += ',';
	        			}
	        		}		
				break;
			case 'bcc':
			case 'cc':
			case 'to':
				result += (1 == i)?'?':'&';						
				result += temp + '=';
				for(var k=1; k< child_count; k++){
	        			result += nmto_func(child[k]);
	        			if(child_count > k+1){
	        				result += ' ';
	        			}
	        		}	
				break;
			default:
				result += (1 == i)?'?':'&';						
				result += temp + '=';
				var content = child[1].childNodes;
				
				for(var k=0; k< content.length; k++){
					if(typeof(content[k].innerHTML) == 'undefined'){
						result += ' ' + content[k].nodeValue  + ' ';
					}else{
						result += nmto_func(content[k]);
					}
				}
				break;
		}
	}
	element.href=result;	
	replacement.innerHTML='';
}
 
function nmto_func(element){
	var sp = element.childNodes;
	var t_element = document.createTextNode(sp[0].innerHTML + '@' + sp[2].innerHTML);
	var p_element= element.parentNode;
	p_element.replaceChild(t_element,element);
	return  t_element.data;	
}


if(window.addEventListener){ // Mozilla, Netscape, Firefox
	window.addEventListener('load', noSpam_, false); 
} else { // IE
	window.attachEvent('onload', noSpam_);
}
