var buildVers = "1.2";
var TopProducerReport = function(report, par) {
	this.report = report;
	this.getParams = function() {
	return params;
}

this.getSponsorInfo = function(para) {
	frames[params.frameId].getSponsorInfo(para);
}

var launchReport = function(doc, files) {
	doc.partsLoaded = files.length - 1;
	for (var i = 0; i < files.length; i++) {
		var body = doc.getElementsByTagName("head")[0];
		var script = doc.createElement("script");
		script.setAttribute("language", "javascript");
		script.setAttribute("type", "text/javascript");
		var isIE = !!document.body.style.setExpression;
		if (isIE) body.appendChild(script);

		var bootstrap = ";(document.partsLoaded) ? document.partsLoaded-- : sha1Bootstrap() && reportBootstrap();";
		script.setAttribute("src", params.root + params.jsGate + "?buildVers=" + buildVers + "&file=" + files[i] + "&bootstrap=" + escape(bootstrap));
		if (!isIE) body.appendChild(script);
	}
};

window.TopProducerReport.instance = this;

var defaultParams = { home: "/reportset.aspx", prefix: "TPR", jsGate: "/js/jsGate.aspx", Handlers : {},
	titleToken: "",
	themeRoot: "/themes", Theme: "0700201", Mode:"normal",
	brandRoot: "/branded"};
var params = par || {};

if (!params.HostID) {
	report.innerHTML = "<h1 style='color: red'>Please provide a HostID to Top Producer Report</h1>";
	return;
}
params.HostID = params.HostID.toUpperCase();

for (var name in defaultParams) {
	if (params[name] == undefined) params[name] = defaultParams[name]
}

params.frameId = params.prefix + "Frame";
params.historyId = params.prefix + "History";
params.root = TopProducerReport.root.toLowerCase();
params.buildVers = buildVers;
	
report.style.zoom = "1";
report.innerHTML = "<iframe name='" + params.frameId + "' id='" + params.frameId +
	"' scrolling='no' frameborder='no' allowtransparency='true'></iframe>" + 
	"<iframe name='" + params.historyId + "' id='" + params.historyId + "' style='display: none'></iframe>";

var frame = report.getElementsByTagName("iframe")[0];
frame.style.width = "100%";
	
var doc = frames[params.frameId].document;
doc.open();
	
doc.writeln('<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">');
doc.writeln("<html><head><title>TPR Bootstrap</title>");
doc.writeln("<META NAME='WT.si_n' CONTENT='" + params.HostID + "'");
doc.writeln("</head>");
	
// code required by TMK webtrend.
doc.writeln('<SCRIPT LANGUAGE="Javascript"><!--gVersion="1.0";//--></SCRIPT>');
doc.writeln('<SCRIPT LANGUAGE="Javascript1.1"><!--gVersion="1.1";//--></SCRIPT>');
doc.writeln('<SCRIPT LANGUAGE="Javascript1.2"><!--gVersion="1.2";//--></SCRIPT>');
doc.writeln('<SCRIPT LANGUAGE="Javascript1.3"><!--gVersion="1.3";//--></SCRIPT>');
doc.writeln('<SCRIPT LANGUAGE="Javascript1.4"><!--gVersion="1.4";//--></SCRIPT>');
doc.writeln('<SCRIPT LANGUAGE="Javascript1.5"><!--gVersion="1.5";//--></SCRIPT>');

doc.writeln("<!--[if gte IE 8]><body class='IE IE8 IE5+ IE6+ IE7+ IE8+ IE8-'><![endif]-->\
<!--[if IE 7]><body class='IE IE7 IE5+ IE6+ IE7+ IE7- IE8-'><![endif]-->\
<!--[if IE 6]><body class='IE IE6 IE5+ IE6+ IE6- IE7- IE8-'><![endif]-->\
<!--[if IE 5]><body class='IE IE5 IE5+ IE5- IE6- IE7- IE8-'><![endif]-->\
<!--[if !IE]>--><body class='W3C'><!--<![endif]-->");
doc.writeln("</body></html>");
doc.close();

launchReport(doc, ["jquery-readable.js", "sha1.js", "report.js"]);
	return this;
}

TopProducerReport.root = (function() {
	var root;
	if (document.scripts) {
		var scripts = document.scripts.length ? document.scripts : document.getElementsByTagName('script');
		root = scripts[scripts.length - 1].src;
	} else 
		try {  throw new Error() } catch (error)	{
			root = error.fileName;
			if (!root) root = /@(http[^@]*):/.exec(error.stack)[1];
		};
	return root.replace(/\/[^\/]*$/, "").replace("/js", "") // Remove the actual filename and query string, go up one level
})();

TopProducerReport.getSponsorInfo = function(params) {
	frames[params.frameId].getSponsorInfo(params);
}




