/* -- DOM READY http://www.vivabit.com/bollocks/2006/06/21/a-dom-ready-extension-for-prototype  -- */
try {
	Object.extend(Event, {
	  _domReady : function() {
		if (arguments.callee.done) return;
		arguments.callee.done = true;
	
		if (this._timer)  clearInterval(this._timer);
		
		this._readyCallbacks.each(function(f) { f() });
		this._readyCallbacks = null;
	},
	  onDOMReady : function(f) {
		if (!this._readyCallbacks) {
		  var domReady = this._domReady.bind(this);
		  
		  if (document.addEventListener)
			document.addEventListener("DOMContentLoaded", domReady, false);
			
			/*@cc_on @*/
			/*@if (@_win32)
				document.write("<script id=__ie_onload defer src=javascript:void(0)><\/script>");
				document.getElementById("__ie_onload").onreadystatechange = function() {
					if (this.readyState == "complete") domReady(); 
				};
			/*@end @*/
			
			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);
	  }
	});
} catch(e) {
}