/**
 * ClickTrackr click saturation stat logger.
 *
 * @version 0.4
 * @author Rasmus Andersson (flajm.se), modified by miken
 */
var SCT = {
	triggerUrl: 'http://cts.stardoll.com/i/ct.gif',
	currPage: '',
	signedIn: 0,
	posX: -1,
	posY: -1,
	maxY: 0,
	debug: false,
	isIe: document.all ? true:false,
	body: (document.documentElement && document.compatMode == 'CSS1Compat') ? document.documentElement : document.body,

	activate: function(currPage, signedIn, maxY) {
		SCT.currPage = escape(currPage);
		if (SCT.currPage == '')
			return;
		SCT.signedIn = (signedIn == undefined) ? 0 : signedIn;
		if (SCT.isIe) {
			document.attachEvent('onclick', SCT.hook_onClick);
		} else {
			window.captureEvents(Event.CLICK);
		}
		SCT.maxY = (0 < maxY) ? maxY : -1;
		document.onclick = SCT.hook_onClick;
		document.onmousedown = SCT.hook_onClick;
		window.onunload = SCT.hook_onLeavePage;
	},

	translate: function(x,y) {
		var curleft = curtop = 0;
		var obj = document.getElementById('header');
		if (obj.offsetParent) {
			curleft = obj.offsetLeft
			curtop = obj.offsetTop
			while (obj = obj.offsetParent) {
				curleft += obj.offsetLeft
				curtop += obj.offsetTop
			}
		}
		return [x-curleft, y-curtop];
	},

	hook_onClick: function(e) {
		var tempX, tempY;
		if (SCT.isIe) {
			tempX = event.clientX + SCT.body.scrollLeft;
			tempY = event.clientY + SCT.body.scrollTop;
		} else {
			tempX = e.pageX;
			tempY = e.pageY;
		}
		if (tempX < 0){tempX = 0;}
		if (tempY < 0){tempY = 0;}
		SCT.posX = tempX;
		SCT.posY = tempY;

		return true;
	},

	hook_onLeavePage: function() {
		var pos = SCT.translate(SCT.posX, SCT.posY);
		if ((pos[0] < 830) && (pos[0] > 0) && (pos[1] > 0) && ((0 < SCT.maxY && pos[1] <= SCT.maxY) || 0 > SCT.maxY)) {
			SCT.trigger(pos[0], pos[1]);
		}
	},

	trigger: function(x, y) {
		if (SCT.debug)
			alert('SCT:trigger() pos: ['+x+','+y+']');
		var im = new Image(1,1);
		im.onload = function(){};
		im.src = SCT.triggerUrl + '?p='+SCT.currPage+'&s='+SCT.signedIn+'&x=' + x + '&y=' + y;

		return true;
	}
}

SCT.debug = (document.location.href.indexOf('#debugClickTrackr#') != -1);
