(function($) { 
    $.fn.extend({ 
        getTopLeft: function(fromWindow) {
        	obj = this[0];
        	var curleft = curtop = 0;
			if (obj.offsetParent && $(obj.offsetParent).css("position") != "relative" && $(obj.offsetParent).css("position") != "absolute") {
				while (obj.offsetParent && $(obj).css("position") != "relative" && $(obj.offsetParent).css("position") != "absolute") {
		    		curleft += obj.offsetLeft;
					curtop += obj.offsetTop;
					obj = obj.offsetParent;
				}
			} else{
				curleft += obj.offsetLeft
				curtop += obj.offsetTop
			}
			return {top: curtop ,  left: curleft};
    	},
		 	
 	    getLeft : function () {
 	    	var obj = this[0]
			var curleft = 0;
				if (obj.offsetParent && $(obj.offsetParent).css("position") != "relative" && $(obj.offsetParent).css("position") != "absolute" )
				{
					while (obj.offsetParent && $(obj.offsetParent).css("position") != "relative" && $(obj.offsetParent).css("position") != "absolute")
					{
						curleft += obj.offsetLeft
						obj = obj.offsetParent;
					}
				}
				else if (obj.x)
					curleft += obj.offsetLeft;
				return curleft;
		},
			
		getTop : function () {
			var obj = this[0]
			var curtop = 0;
			if (obj.offsetParent && $(obj.offsetParent).css("position") != "relative" && $(obj.offsetParent).css("position") != "absolute")
			{
				while (obj.offsetParent && $(obj.offsetParent).css("position") != "relative" && $(obj.offsetParent).css("position") != "absolute")
				{
					curtop += obj.offsetTop
					obj = obj.offsetParent;
				}
			}
			else if (obj.y)
				curtop += obj.offsetTop;
			return curtop;
		}  
	}); 
})(jQuery);