// Copyright © 2000-2007 etracker®. Alle Rechte vorbehalten.
// This material may not be reproduced, displayed, modified or distributed
// without the express prior written permission of the copyright holder.
var host = 'http://www.etracker.com.au/';
var et   = 'jLs';
var exclude_parameters = new Array();
function stripParameters( url ) {
if(!url) return '';
url = url.replace(/.et_overlay=1/gi, '');
url = url.replace(/.et_overlay=0/gi, '');
url = url.replace(/.et_h=1/gi, '');
url = url.replace(/.et_h=0/gi, '');
url = url.replace(/PHPSESSID=[^&]*&|PHPSESSID=[^&]*$/gi, '');
url = url.replace(/SInit=[^&]*&|SInit=[^&]*$/gi, '');
url = url.replace(/_snd=[^&]*&|_snd=[^&]*$/gi, '');
url = url.replace(/_lng=[^&]*&|_lng=[^&]*$/gi, '');
return url; }
var links=1;
var maxlinks = document.links.length + document.getElementsByTagName('input').length + document.getElementsByTagName('select').length;
 
var toppos = 0;
var leftpos = 0;
var overlay = 0;
var et_search = window.location.search;
et_search = stripParameters(et_search);
var thisHref = window.location.pathname + et_search;

if(window.location.search.match(/.et_overlay=0/gi))
{

	document.cookie='et_overlay=0';

}
else if((window.location.search.match(/.et_overlay=1/gi))||(document.cookie.match(/et_overlay=1/))||(document.cookie.match(/et_overlay=2/)))
{
	if( window.location.search.match(/et_h=1/gi) )
		overlay = 2;
	else if( window.location.search.match(/et_h=0/gi) )
		overlay = 1;
	else if(document.cookie.match(/et_overlay/))
	{
		if( document.cookie.match(/et_overlay=2/) )
			overlay = 2;
		else
			overlay = 1;
	}

	document.cookie='et_overlay='+overlay;

	if(typeof(et_pagename) == 'undefined' || typeof(et_pagename)=='unknown')
		var et_pagename = '';
	
	document.write('<link rel="stylesheet" type="text/css" href="'+host+'et_overlay.php?et='+et+'&style=1&t='+new Date().getTime()+'" media="screen,projection,print" />');
	document.write('<script src="'+host+'et_overlay.php?et='+et+'&n='+thisHref+'&i='+et_pagename+'&o=' + overlay + '&t='+new Date().getTime()+'" language="javascript" id="overlay"></script>');
	addEvent( window, 'load', startOverlay );
}


addEvent( window, 'load', initLinks );

function 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 initLinks () 
{
	for (var i=0; i < document.links.length; i++)
	{
		document.links[i].position = i;
		addEvent(document.links[i], 'mousedown', getLink);
	}

	if(links)
	{	
		for (var i=0; i < document.getElementsByTagName('input').length; i++)
		{
			if(document.getElementsByTagName('input')[i].type != 'hidden')
			{
				document.getElementsByTagName('input')[i].position = i;
				addEvent(document.getElementsByTagName('input')[i], 'mousedown', getInput);
			}
		}
	
		for (var i=0; i < document.getElementsByTagName('select').length; i++)
		{
			document.getElementsByTagName('select')[i].position = i;
			addEvent(document.getElementsByTagName('select')[i], 'mousedown', getSelect);
		}
	}
}	

function recursiveNode( _node )
{
	var _attribute = '';

	if(!_node.hasChildNodes())
	{
		if(_node.src)
			return _node.src;
		else if(_node.data)
			return _node.data;
		else if(_node.tagName)
			return _node.tagName;
		return '';
	}

	for(var i=0; i<_node.childNodes.length; i++)
		_attribute = _attribute + recursiveNode(_node.childNodes[i]);
	
	return strReplaceNode(_attribute);
}

function getLink( e )
{
	if(!e) e = window.event;
	if(e.srcElement) a = e.srcElement; else if(this) a = this;
	while(a && a.tagName && a.tagName.toLowerCase()!='a' && a.tagName.toLowerCase()!='area')
	{
		if(a.parentElement)
			a=a.parentElement;
		else
			break;
	}

	var href = a.href 

	getScrollPosition();
	toppos += e.clientY;
	leftpos += e.clientX;

	sendData( a, strReplace(href), recursiveNode(a), a.position, leftpos, toppos, window.location.search, 'a');
}

function getInput( e )
{
	if(!e) e = window.event;
	if(e.srcElement) a = e.srcElement; else if(this) a = this;

	while(a && a.tagName && a.tagName.toLowerCase()!='input')
	{
		if(a.parentElement)
			a=a.parentElement;
		else
			break;
	}

	getScrollPosition();
	toppos += e.clientY;
	leftpos += e.clientX;

	sendData( a, a.name, a.type+''+(a.type=='radio'?a.value:''), a.position, leftpos, toppos, window.location.search, 'i');
}

function getSelect( e )
{
	if(!e) e = window.event;
	if(e.srcElement) a = e.srcElement; else if(this) a = this;

	while(a && a.tagName && a.tagName.toLowerCase()!='select')
	{
		if(a.parentElement)
			a=a.parentElement;
		else
			break;
	}

	getScrollPosition();
	toppos += e.clientY;
	leftpos += e.clientX;

	sendData( a, a.name, a.length+'', a.position, leftpos, toppos, window.location.search, 's');
}

function sendData( a, n, c, p, x, y, s, t )
{
	var ix = 0;
	var iy = 0;
	while( a && a.tagName && a.tagName.toLowerCase() != 'body' )
	{
		ix += a.offsetLeft;
		iy += a.offsetTop;
		a=a.offsetParent;
	}
	if(a && a.offsetLeft)
	{
		ix += a.offsetLeft;
		iy += a.offsetTop;
	}
	x -= ix;
	y -= iy;

	oh = window.location.pathname + stripParameters(s);

	if(typeof(et_pagename) == 'undefined' || typeof(et_pagename)=='unknown')
		et_pagename = '';

	par = 'et='+et+'&n='+oh+'&i='+et_pagename+'&p='+p+'&m='+maxlinks+'&h='+divHash(n)+'&c='+divHash(c)+'&x='+x+'&y='+y+'&t='+t;
	
	var et_i = new Image ();
	et_i.src = host + 'cnt_links.php?' + par + '&tm=' + new Date().getTime();
}

function divHash(val)
{
	if(val)
	{
		var m = 654321;
		var h = val.charCodeAt(0) % m;
		for(var i = 1; i<val.length; i++)
	   		h = (h * 128 + val.charCodeAt(i)) % m;
		return h;
	}
	return '';
}

function strReplace(tmp)
{
	if(tmp)
	{
		tmp = stripParameters(tmp);
		var temp = ''
		temp = tmp.toString().replace(/http[s]*:\/\/[^\/]+\//gi, '');
		if(!temp) return tmp;
		tmp = temp.replace(/\s/gi, '');
		return tmp;
	}
	return '';
}

function strReplaceNode(tmp)
{
	if(tmp)
	{
		var temp = ''
		temp = tmp.toString().replace(/http[s]*:\/\/[^\/]+\//gi, '');
		if(!temp) return tmp;
		tmp = temp.replace(/\s/gi, '');
		return tmp;
	}
	return '';
}

function startOverlay()
{
	if(typeof(makeOverlay) != 'undefined')
		makeOverlay();
}

function startHeatmap()
{
	if(typeof(makeHeatmap) != 'undefined')
		makeHeatmap();
}

function getScrollPosition()
{
	toppos = 0;
	leftpos = 0;
	if(window.pageYOffset)
	{
		toppos = window.pageYOffset;
		leftpos = window.pageXOffset;
	}
	else if(document.documentElement.scrollTop)
	{
		toppos = document.documentElement.scrollTop;
		leftpos = document.documentElement.scrollLeft;
	}
	else if(document.body.scrollTop) 
	{
		toppos = document.body.scrollTop;
		leftpos = document.body.scrollLeft;
	}
}
