if (typeof sld === 'undefined') {
	var sld = {};
}

sld.util = {
	
	clone : function(object) {
		var F = function(){};
		F.prototype = object;
		return new F;
	},
	
	Observer : {
		'fns' : [],
		'add' : function(fn) {
			this.fns.push(fn);
		},
		'remove' : function(url) {
			
		},
		'fire' : function(xhr, url) {
			for (var fn in this.fns) {
				this.fns[fn](xhr);
			}
		}
	},
	
	mouseX : function(evt) {
		if (evt.pageX) return evt.pageX;
		else if (evt.clientX)
		   return evt.clientX + (document.documentElement.scrollLeft ?
		   document.documentElement.scrollLeft :
		   document.body.scrollLeft);
		else return null;
	},
	mouseY : function(evt) {
		if (evt.pageY) return evt.pageY;
		else if (evt.clientY)
		   return evt.clientY + (document.documentElement.scrollTop ?
		   document.documentElement.scrollTop :
		   document.body.scrollTop);
		else return null;
	}
}
