var fOnDomReady = "";
function dOnDomReady() {
	if(arguments.callee.done) {return;}
	arguments.callee.done = true;
	if(fOnDomReady) {fOnDomReady();}
}
function onDomReady(f) {
	var pOnDomReady = fOnDomReady;
	if(typeof fOnDomReady != "function") {
		fOnDomReady = f;
		switch(browserCorrespondsTo()) {
			case "firefox" : case "opera" : case "chrome" :
				document.addEventListener("DOMContentLoaded", dOnDomReady, false);
				break;
			case "ie" :
				(function () {
					var tempNode = document.createElement("document:ready");
					try {
						tempNode.doScroll("left");
						dOnDomReady();
						tempNode = null;
					} catch(e) {
						setTimeout(arguments.callee, 0);
					}
				})();
				break;
			case "safari" :
				var _timer = setInterval(function() {
					if(/loaded|complete/.test(document.readyState)) {
						clearInterval(_timer);
						dOnDomReady();
					}
				}, 10);
				break;
			default :
				window.onload = dOnDomReady;
				break;
		}
	} else {
		fOnDomReady = function() {
			pOnDomReady();
			f();
		}
	}
}
