// ==UserScript==
// @name          Xing/OpenBC UserImages MouseOver
// @namespace     
// @description	  Shows enlarged images when hovering over user's pictures in Xing/OpenBC. (v2.2_DL 16.11.2011)
// @include       *xing.com/*
// ==/UserScript==
// XingEnlargeUserImages.user.js
// Updated v1   05.04.08 to handle ",\d" images names
// Updated v2   02.05.08 to handle ",\d+" images names
// Updated v2.1 02.08.08 cleanup names and links
// Updated v2.2 16.11.11 handle new image file naming

/*
This is a Greasemonkey user script.

To install, you need Greasemonkey: http://www.greasespot.net/
Then restart Firefox and revisit this script.
Under Tools, there will be a new menu item to "Install User Script".
Accept the default configuration and install.

To uninstall, go to Tools/Manage User Scripts,
select "XingEnlargeUserImages", and click Uninstall.
*/

(function() {
	function cumulativeOffset(element) {
		var valueT = 0, valueL = 0;
		do {
			valueT += element.offsetTop || 0;
			valueL += element.offsetLeft || 0;
			element = element.offsetParent;
		} while (element);
		return [valueL, valueT];
	}


   window.addEventListener("load", function(e) {
    	var imgList = document.getElementsByTagName("img");
	for( i=0; i < imgList.length; i++) {
		var imgName = imgList[i].src;
		var s = imgName.search(/\/img\/users\/.+((,\d+\.\d+x\d+)|(_s\d+,\d+))\.(jpg|gif|png)$/);
		if( s != -1) {
			newImg = document.createElement("img");

			ow=imgList[i].width;
			imgList[i].addEventListener("mouseover",
				function(e){
					newX=cumulativeOffset(this)[0]
					newY=cumulativeOffset(this)[1]
					newImg.src=this.src.replace(/((,\d+.\d+x\d+\.)|(_s\d+,\d+\.))/, ".");
					newImg.style.width="140px";
					newImg.style.height = "185px";
					newImg.style.position="absolute";
					newImg.style.zIndex='999';
					newImg.style.top=(newY-185/2).toString() + 'px';
					newImg.style.left=(newX+ow).toString() + 'px';
					document.body.appendChild(newImg);
				},false);
			imgList[i].addEventListener("mouseout",
				function(e){
					document.body.removeChild(newImg);
				},false);

		}
	}
	return;
  }, false);
})();

