function getClientScroll() {
	var scrOfX = 0, scrOfY = 0;
	if( typeof( window.pageYOffset ) == 'number' ) {
		//Netscape compliant
		scrOfY = window.pageYOffset;
		scrOfX = window.pageXOffset;
	} else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
		//DOM compliant
		scrOfY = document.body.scrollTop;
		scrOfX = document.body.scrollLeft;
	} else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
		//IE6 standards compliant mode
		scrOfY = document.documentElement.scrollTop;
		scrOfX = document.documentElement.scrollLeft;
	}
	return [ scrOfX, scrOfY ];
}
function getClientDim() {
	if(document.innerWidth && document.innerHeight) {
		return [
			document.innerWidth,
			document.innerHeight
		];
	} else if(document.documentElement.clientWidth && document.documentElement.clientHeight) {
		return [
			document.documentElement.clientWidth,
			document.documentElement.clientHeight
		];
	} else if(document.body) {
		return [
			document.body.clientWidth,
			document.body.clientHeight
		];
	}
	return [0, 0];
}
this.screenie = function() {
	xOffset = 10;
	yOffset = 20;
	
	// Add styling
	$("head").append(
		'<style type="text/css">' +
			'#screenie {' +
				'margin:0; padding:5px;' +
				'display:none;' +
				'position:absolute;' +
				'color:#fff;background:#333;' +
				'border:1px solid #ccc;' +
			'}' +
		'</style>');
	
	// Bind function to links
	$("a.screenie").hover(function(e) {
		this.t = this.title;
		this.title = "";
		
		$("body").append(
			'<p id="screenie">' +
				'<img src="' + this.rel + '" alt="' + this.t + '" />' +
			'</p>'
		);
		
		var xpos = 0;
		if(e.pageX + xOffset + $("#screenie").width() - getClientScroll()[0] > getClientDim()[0] - 16) {
			xpos = e.pageX - xOffset - $("#screenie").width();
		} else {
			xpos = e.pageX + xOffset;
		}
		
		var ypos = 0;
		if(e.pageX + yOffset + $("#screenie").height() - getClientScroll()[1] > getClientDim()[1] - 16) {
			ypos = e.pageY - yOffset - $("#screenie").height();
		} else {
			ypos = e.pageY + yOffset;
		}
		
		$("#screenie")
			.css("top", ypos + "px")
			.css("left", xpos + "px")
			.fadeIn("fast");
	},
	function() {
		this.title = this.t;
		$("#screenie").remove();
	});
	
	// Bind mouse move event
	$("a.screenie").mousemove(function(e) {
		var xpos = 0;
		if(e.pageX + xOffset + $("#screenie").width() - getClientScroll()[0] > getClientDim()[0] - 16) {
			xpos = e.pageX - xOffset - $("#screenie").width();
		} else {
			xpos = e.pageX + xOffset;
		}
		
		var ypos = 0;
		if(e.pageY + yOffset + $("#screenie").height() - getClientScroll()[1] > getClientDim()[1] - 16) {
			ypos = e.pageY - yOffset - $("#screenie").height();
		} else {
			ypos = e.pageY + yOffset;
		}
		$("#screenie")
			.css("top", ypos + "px")
			.css("left", xpos + "px");
	});
}
$(document).ready(function(){
	screenie();
});
