var gaLoaded = false;
var trackerId = "UA-3564413-5";

function loadScript(sScriptSrc, oCallback) {
	var oHead = document.getElementsByTagName("head")[0];
	var oScript = document.createElement('script');
	oScript.type = 'text/javascript';
	oScript.src = sScriptSrc;

	// most browsers
	oScript.onload = oCallback;
	// onObjectAvailable(oScript, oCallback);

	// IE 6 & 7
	oScript.onreadystatechange = function() {
		if (this.readyState == 'complete') {
			oCallback();
		}
	}
	oHead.appendChild(oScript);
}

// google analytics
function loadGA() {
	if (!gaLoaded) {

		function track() {
			try {
				var pageTracker = _gat._getTracker(trackerId);
				pageTracker._trackPageview();
				// log('tracker called: ' + trackerId);
			} catch(err) {
				log(err);
			}
			gaLoaded = true;
		}

		var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
		var url = unescape(gaJsHost + "google-analytics.com/ga.js");

		loadScript(url, track);
	}
}

function log(msg) {
	var bod = document.getElementsByTagName("body")[0];

	if (!logbox) {
		var logbox = document.createElement('div');
		logbox.style.height = '25px';
		// logbox.style.width = '625px';
		logbox.style.display = 'block';
		logbox.style.backgroundColor = 'white';
	}

	bod.appendChild(logbox);

    logbox.innerHTML += ' ' + new Date() + ': ' + msg;
}

function onFunctionAvailable(sMethod, oCallback, oObject, bScope) {
	if (typeof(eval(sMethod)) === 'function') {
		bScope ? oCallback.call(oObject) : oCallback(oObject);
	} else {
		setTimeout(function () {
			onFunctionAvailable(sMethod, oCallback, oObject, bScope);
		}), 50
	}
}

function onObjectAvailable(obj, oCallback) {
	if (typeof(obj) != 'undefined') {
		oCallback.call();
	} else {
		setTimeout(function () {
			onFunctionAvailable(sMethod, oCallback);
		}), 50;
	}
}

