var doBackgroundHover = function(elm){
	var width = elm.clientWidth,
	bgoffset = width/2,
	getOffset = function(elm){
		var offset_left = 0,
		offset_elm = elm;
		while(offset_elm.nodeName.toLowerCase() !== "body") {
			offset_left += offset_elm.offsetLeft;
			offset_elm = offset_elm.offsetParent;
		};
		return offset_left;
	},
	dom_offset = getOffset(elm);
	elm.onmousemove = function(e){
		var evt = e || window.event;
		elm.style.backgroundPosition = ((evt.clientX - dom_offset) - bgoffset + 3)  + "px";
	};
};
