
if (!itdr) var itdr = new Object();
if (!itdr.func) itdr.func = {
	DOMLoad: function (func) {
		var u = navigator.userAgent.toLowerCase();
		var ie = /*@cc_on!@*/false;
		if (/webkit/.test(u)) { // safari
			timeout = setTimeout(function(){
				if (document.readyState == "loaded" || document.readyState == "complete") func();
				else setTimeout(arguments.callee, 10);
			}, 10);
		} else if ((/mozilla/.test(u) && !/(compatible)/.test(u)) || (/opera/.test(u))) { // opera/moz
			document.addEventListener("DOMContentLoaded", func, false);
		} else if (ie) { // IE
			(function (){
				var tempNode = document.createElement('document:ready');
				try {
					tempNode.doScroll('left');
					func();
					tempNode = null;
				} catch(e) {
					setTimeout(arguments.callee, 0);
				}
			})();
		} else {
			window.onload = func;
		}
	},
	/**
	 *
	 * createCSS
	 * this function is totally ripped from bobby vander sluis's UFO.  i *wanted* to use UFO, but
	 * there were issues with it, so i had to revert to SO unfortunatly, but needed this bit of code
	 * thanks bobby!
	 *
	 */
	createCSS: function(selector, declaration) {
		var _h = document.getElementsByTagName("head")[0];
		var _s = document.createElement("style")
		var _u = navigator.userAgent.toLowerCase();
		var isIeWin = /msie/.test(_u) && !/opera/.test(_u) && /win/.test(_u);
		if (!isIeWin) _s.appendChild(document.createTextNode(selector + " {" + declaration + "}")); // bugs in IE/Win
		_s.setAttribute("type", "text/css");
		_s.setAttribute("media", "screen");
		_h.appendChild(_s);
		if (isIeWin && document.styleSheets && document.styleSheets.length > 0) {
			var _ls = document.styleSheets[document.styleSheets.length - 1];
			if (typeof _ls.addRule == "object") _ls.addRule(selector, declaration);
		}
	},
	getElementsByClassName: function (className, tag, elm) {
		var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
		var tag = tag || "*";
		var elm = elm || document;
		var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
		var returnElements = [];
		var current;
		var length = elements.length;
		for(var i=0; i<length; i++){
			current = elements[i];
			if(testClass.test(current.className)){
				returnElements.push(current);
			}
		}
		return returnElements;
	},
	createExternalLinks: function () {
		var links = document.getElementsByTagName('a');
		var mydomain = location.hostname.substr(0, 3)=="www" ? location.hostname.substr(4) : location.hostname;
		for (var i=0; i<links.length; ++i) {
			var link = links[i];
			var href = link.href;
			var absolute = /(http(.)*:\/\/)/;
			if (href!=null&&(href.match(mydomain)==null)&&href.match(absolute)!=null) link.target = "_blank";
		}
	}
};

