function set_external_links() {
 if (!document.getElementsByTagName) return;
 var anchors = document.getElementsByTagName("a");
 for (var i=0; i<anchors.length; i++) {
   var anchor = anchors[i];
   if (anchor.getAttribute("href")
   	&& anchor.getAttribute("href").substr(0, 25) != 'http://www.inspire.net.nz'
   	&& anchor.getAttribute("href").substr(0, 7) == 'http://') {
     anchor.target = "_blank";
     oc_addEvent(anchor, "click", track_out_click);
   }
 }
}


function oc_addEvent(elm, evType, fn, useCapture) {
	if (elm.addEventListener) {
		elm.addEventListener(evType, fn, useCapture);
		return true;
	}
	else if (elm.attachEvent) {
		var r = elm.attachEvent('on' + evType, fn);
		return r;
	}
	else {
		elm['on' + evType] = fn;
	}
}


function track_out_click (e) {
    e = (e) ? e : ((window.event) ? window.event : "");
    if(e){
        var elem = (e.target) ? e.target : e.srcElement;
        var path = '/js/track.php';

				var outclick = 'undefined';

				if (elem.nodeName == 'A') outclick = elem.href;
				else if (elem.parentNode.nodeName == 'A') outclick = elem.parentNode.href;

        path += "?outclick="+esc(outclick);
        path += "&from_title="+esc(document.title);
        path += "&from="+esc(self.location);

        // old browsers
        if (typeof encodeURIComponent == 'undefined') {
                // when user clicks a site, then back, then clicks another, don't retrack their hits
                // don't worry, it confuses me too
                c = document.getElementById('outClickTracker');
                if (c) c.parentNode.removeChild(c);
                document.body.innerHTML += '<script src="'+path+'" language="javascript" id="outClickTracker"></script>';
        }
        else {

            var data = false;
            /*@cc_on @*/
            /*@if (@_jscript_version >= 5)
            try { data = new ActiveXObject("Msxml2.XMLHTTP"); }
            catch (e) { try { data = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { data = false; } }
            @end @*/
            if (!data && typeof XMLHttpRequest!='undefined') data = new XMLHttpRequest();
            if (data) data.open("GET", path, false); data.send(null);

        }
    }

}

function esc (str) {
	if (typeof encodeURIComponent == 'undefined')
		return escape(str);
	else
		return encodeURIComponent(str);
}