// onDOMReady function, loads when all the DOM elements are ready and loaded
Object.extend(Event,{
	_domReady:function(){
		if(arguments.callee.done){
			return;
		}
		arguments.callee.done=true;
		if(Event._timer){
			clearInterval(Event._timer);
		}
		Event._readyCallbacks.each(function(f){
			f();
		});
		
		Event._readyCallbacks=null;
	},
	
	onDOMReady:function(f){
		if(!this._readyCallbacks){
			var domReady = this._domReady;
			if(domReady.done){
				return f();
			}
			if(document.addEventListener){
				document.addEventListener("DOMContentLoaded",domReady,false);
			}
			
			if(/WebKit/i.test(navigator.userAgent)){
				this._timer=setInterval(function(){
					if(/loaded|complete/.test(document.readyState)){domReady();}
				},10);
			}
			Event.observe(window,'load',domReady);
			Event._readyCallbacks=[];}Event._readyCallbacks.push(f);
		}
	}
);
