var REFERRER_MAX_PARENT_LEVELS_SEARCH = 5;
var REDIRECTOR_BASE_URL = "http://tr.admailtiser.com/st";

function parseQuery(query) {
	var params = new Object();
	if (!query) {
		return params;
	}

	var pairs = query.split(/[;&]/);
	var key = null;
	var val = null;

	for (var i = 0; i < pairs.length; i++) {
		var keyVal = pairs[i].split("=");
		if (!keyVal || keyVal.length != 2) {
			continue;
		}

		key = unescape(keyVal[0]);
		val = unescape(keyVal[1]);
	  
		params[key] = val.replace(/\+/g, " ");
	}

	return params;
}

function extractParameter(paramsList, paramName, noParamValue) {
	if (paramsList[paramName] != undefined){
		return paramName + "=" + paramsList[paramName];
	}

	return noParamValue;
}

var cipid = '';
var ttype = '';

function main(){
	var scripts = document.getElementsByTagName("script");
	var myScript = scripts[scripts.length - 1];
	var queryString = myScript.src.replace(/^[^\?]+\??/, "");
	var params = parseQuery(queryString);

	cipid = extractParameter(params, "cipid", "");
	var clickurl = extractParameter(params, "clickurl", "");
	if (clickurl != "") {
		clickurl = '&' + clickurl;
	}
	ttype = extractParameter(params, "ttype", "");

	var currentWindow = window;
	// initialized to the page which loaded us
	var referrer = location.href;
	var currentReferrer = null;
	var level = 0;

	// fetch the highest referrer in the hierarchy we can get
	try {
		for (i = 0; i < REFERRER_MAX_PARENT_LEVELS_SEARCH; ++i) {
			currentReferrer = currentWindow.document.referrer;
			if (currentReferrer != "" && currentReferrer != undefined) {
				referrer = currentReferrer;
			}

			if (currentWindow.parent == null) {
				break;
			}

			currentWindow = currentWindow.parent;
		}
	} catch (e) {
		// nothing to do here?
	}

	document.write('<img src="' + REDIRECTOR_BASE_URL + '?' + cipid + clickurl +'&' + ttype + '&encoded=1&cirf=' + escape(referrer) + '" style="display: none" ></img>');
}

try {
	main();
} catch (e) {
	document.write('<img src="'+REDIRECTOR_BASE_URL+ '?'+ cipid + '&' + ttype +  'errorname=' + escape(e.name) + '&errormessage=' + escape(e.message) + '&ua=' + escape(navigator.userAgent) + '" style="display: none" ></img>');
}
