var rtb = {};
rtb.registerEvent = function(event) {
};
rtb.pageExit = function() {
};
rtb.setReferrer = function(referrer) {
};
rtb.rtbFrame = document.createElement('iframe');
rtb.rtbFrame.style.width = "0px";
rtb.rtbFrame.style.height = "0px";
rtb.rtbFrame.style.border = "0px";
rtb.baseURL = null;


rtb.init = function() {
	var createCookie = function(name, value, days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
			var expires = "; expires=" + date.toGMTString();
		}
		else var expires = "";
		document.cookie = name + "=" + value + expires + "; path=/";
	}

	rtb.frameLoaded = function() {
		if (document.cookie.indexOf("NEWUSERSESSION") == -1) {
			rtb.setReferrer(document.referrer);
		}

		var metas = document.getElementsByTagName('meta');
		for (var i = 0; i < metas.length; i++) {
			var meta = metas[i];
			var metaName = meta.getAttribute('name');

			if (metaName == "rtb_application") {
				rtb.application = meta.getAttribute('content');
			} else if (metaName == "rtb_event") {
				rtb.registerEvent(meta.getAttribute('content'));
			}
		}
		if (typeof(rtb.onload) != 'undefined') {
			rtb.onload();
		}
	}

	rtb.pageExit = function() {
		createCookie("rtb_lastloading", (new Date()).getTime());
	}

	rtb.rtbFrame.src = rtb.baseURL + "/rtb.jsp";
	document.body.appendChild(rtb.rtbFrame);
}

if (typeof(appendToHandler) == 'undefined') {
	function appendToHandler(sHandler, sFunctions) {
		var handlerString;
		if (navigator.userAgent.toLowerCase().indexOf("msie") > -1) {
			var eventDOMref = "window.";
		} else {
			var eventDOMref = "parent.";
		}
		if (eval(eventDOMref + sHandler + " != null")) {
			try {
				tempString = eval(eventDOMref + sHandler + ".toString()");
				handlerString = tempString.substring(tempString.indexOf("{") + 1, tempString.length - 2);
			} catch(e) {
				handlerString = "";
			}
		} else {
			handlerString = "";
		}
		handlerString = handlerString + sFunctions;
		eval(eventDOMref + sHandler + " = new Function(handlerString);");
	}
}


(function() {
	var matchedRtbBaseURL = function(elem) {
		var src = elem.getAttribute("src");
		if (!src) {
			return false;
		}
		var lastIx = src.lastIndexOf("rtb.js");
		if (lastIx != -1 && lastIx == (src.length - "rtb.js".length)) {
			if (elem.getAttribute("collector_client_path") != null) {
				rtb.baseURL = elem.getAttribute("collector_client_path") + "/";
			} else {
				rtb.baseURL = src.substring(0, lastIx);
			}
			return true;
		}
	}

	var rtb_baseurl_elem = document.getElementById("rtb_baseurl_elem");

	if (rtb_baseurl_elem != null) {
		if (matchedRtbBaseURL(rtb_baseurl_elem))
			return;
	}

	var scripts = document.getElementsByTagName("script");
	var i;
	for (i = 0; i < scripts.length; i++) {
		if (matchedRtbBaseURL(scripts[i]))
			break;
	}
})();

if (rtb.baseURL == null)
	rtb.baseURL = ".";

if (rtb.baseURL.search("\\.\\.") == 0) { //starts with ..
	rtb.baseURL = window.location.pathname + rtb.baseURL;
}

appendToHandler("onload", "rtb.init();");
appendToHandler("onunload", "rtb.pageExit();");