

function h2d(h) {return parseInt(h,16);}

function Hex2Str(tmp) {
  var arr = tmp.split(String.fromCharCode(64));
  var str = '';
  for (var i=1; i<arr.length; i++) {
    c = String.fromCharCode(h2d(arr[i]));
    str += c;
  }
	return str;
}

function ziofuscate(str) {
	var url=Hex2Str(str);
	window.location.href=url;
}

function replacelinks() {
	$$('.ziofuscate').each(function(el) {

		var d=el.className.indexOf('ziofuscate_')+11; //startTag
		var f=el.className.indexOf('__'); //endTag
		var t=el.className.length;
		
		//if success, create a link and hide span
		if(d>0 && f>0) {
			var link = new Element('a', { 'href' : Hex2Str(el.className.substring(d,f)), 'class': 'ziofuscated'+el.className.substring(f+2,t), 'id' : el.readAttribute('id'), 'title' : el.readAttribute('title'), 'onclick' : el.readAttribute('onclick'), 'style' : el.readAttribute('style')  }).update(el.innerHTML);
			el.insert({after: link});
			el.remove();
		}

	});
}

Event.observe(window, 'load', replacelinks, false);
