if (!window.ActiveXObject) {

    Element.prototype.selectNodes = function(sXPath) {
        var oEvaluator = new XPathEvaluator();
        var oResult = oEvaluator.evaluate(sXPath, this, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
        var aNodes = new Array();
        if (oResult != null) {
            var oElement = oResult.iterateNext();
            while(oElement) {
                aNodes.push(oElement);
                oElement = oResult.iterateNext();
            }
        }
        return aNodes;
    }

    Element.prototype.selectSingleNode = function(sXPath) {
        var oEvaluator = new XPathEvaluator();
        var oResult = oEvaluator.evaluate(sXPath, this, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);

        if (oResult != null) {
            return oResult.singleNodeValue;
        } else {
            return null;
        }              

    }
}


var Pager = new Object();

Pager.initPager = function(){
	this.pages = [];
    this.pageNames = [];
	var anchors = '';

	var nodes = document.getElementsByTagName("div");
	for(var i=0; i<nodes.length; ++i) {
		if (nodes[i].className.indexOf("page") != -1) {
            this.pages.push(nodes[i]);
            if (nodes[i].getAttribute('title')) {
                this.pageNames.push(nodes[i].getAttribute('title').toString().split(' ').join('&nbsp;'));
                nodes[i].removeAttribute('title');
            } else {
                this.pageNames.push('Page&nbsp;' + (this.pageNames.length + 1));
            }
            anchors += '<a name="__page_' + (this.pages.length) + '"></a>';
        }
	}
	
	if (this.pages.length < 2) {
		this.setPage(0);
		return;
	}

	document.getElementById("text").parentNode.insertBefore(document.createElement('DIV'),document.getElementById("text")).innerHTML = anchors;

	var topPager='<div class="topPager">';
	var bottomPager='<div class="bottomPager">';
	
	for (var i = 0; i<this.pages.length; ++i) {
		topPager += '<a href="#__page_' + (i+1) + '" id="__topPager_'+i+'" onmouseup="this.blur()" onClick="Pager.setPage('+ i +')">' + this.pageNames[i] + '</a>';
		bottomPager += '<a href="#__page_' + (i+1) + '" id="__bottomPager_'+i+'" onmouseup="this.blur()" onClick="Pager.setPage('+ i +')">' + this.pageNames[i] + '</a>';
		if (i < this.pages.length - 1) {
			topPager += ', ';
			bottomPager += ', ';
		} else {
			topPager += '</div>';
			bottomPager += '</div>';
		}
		
	}

	document.getElementById("topPager").innerHTML = topPager;
	document.getElementById("bottomPager").innerHTML = bottomPager;

    if (window.location.hash && (window.location.hash.indexOf('__page_') != -1)) {
        this.setPage(parseInt(window.location.hash.substring(window.location.hash.indexOf('__page_') + '__page_'.length))-1);
    } else {
    	this.setPage(0);
    }
    	
}

Pager.setPage = function(p) {

    if (isNaN(p)) p = 0;

	for (var i = 0; i<this.pages.length; ++i) {

		if (i == p) {
			this.pages[i].style.display = 'block';
			document.getElementById('__topPager_'+i).className = 'current';
			document.getElementById('__bottomPager_'+i).className = 'current';
		} else {
			this.pages[i].style.display = 'none';
			document.getElementById('__topPager_'+i).className = '';
			document.getElementById('__bottomPager_'+i).className = '';
		}
	}
	
	if (document.getElementById('text').offsetHeight < 500) {
		document.getElementById('bottomPager').style.display = 'none';
		document.getElementById('backToTop').style.display = 'none';
	} else {
		document.getElementById('bottomPager').style.display = 'block';
		document.getElementById('backToTop').style.display = 'block';
	}
	return false;
}

email = function(username, domain, realName) {

	document.write('<a href="mailto:'+username+'@'+domain+'">' + ((realName)?realName:username+'@'+domain)+'</a>');
}
