
function AntiBot (window)
	{
	this.window = window ;
	this.window.windowControl.addEventListener (this) ;
	}

AntiBot.prototype.reversestr = function (str)
	{
	var	result ;
	var	i ;

	result = '' ;
	for (i = str.length - 1 ; i >= 0 ; i--)
		result += str.charAt (i) ;

	return result ;
	}

AntiBot.prototype.demanglestr = function (str)
	{
	var	bits ;
	var	i ;

	bits = str.split (/\./) ;
	for (i = 0 ; i != bits.length ; i++)
		if ((i % 2) == 0)
			bits[i] = this.reversestr (bits[i]) ;

	return bits.join ('.') ;
	}

AntiBot.prototype.demangleaddress = function (address)
	{
	var	bits ;
	var	i ;

	bits = address.split (/@/) ;
	for (i = 0 ; i != bits.length ; i++)
		bits[i] = this.demanglestr (bits[i]) ;

	return bits.join ('@') ;
	}

AntiBot.prototype.demangle = function (href)
	{
	return 'mailto:' + this.demangleaddress (href.replace (/^postzu:/i, '')) ;
	}

AntiBot.prototype.fixlinks = function (doc)
	{
	var	i ;

	for (i = 0 ; i != doc.links.length ; i++)
		if (doc.links[i].href)
			if (doc.links[i].href.match (/^postzu:/i))
				doc.links[i].href = this.demangle (doc.links[i].href) ;
	}

AntiBot.prototype.onWindowLoad = function (windowControl)
	{
	this.fixlinks (windowControl.window.document) ;
	}

if (!window.antibot)
	window.antibot = new AntiBot (window) ;
