var pathname = window.location.pathname.toLowerCase();
filename = pathname.substring(0,(pathname.lastIndexOf('nsf')+4)) ;
filenameR = pathname.substring(0,(pathname.lastIndexOf('nsf')+3)) ;
theDomain =  window.location.protocol + '//' + window.location.hostname;

var isIE = (document.all) ? true : false;
if (isIE) window.onerror = showError;

function UserException (message, name, url, line) {
	this.message = message;
	this.name = name;
	this.fileName = url;
	this.lineNumber = line;
}
function showError(e,url,line) {
	var blnReturn = false;
	try {
		if (!e.message) { e = new UserException(e, '', url, line ); blnReturn = true; }
		var winError = window.open('',"Error","width=600,height=300,scrollbars=yes,resizable=yes");
		var doc = winError.document;
		doc.open();
		doc.writeln('<html><head><title>JavaScript Error</title>');
		doc.writeln('<style type="text/css">.label { color:blue; font-size:10pt;} .value { color:black; font-size:10pt;}</style>');
		doc.writeln('</head><body style="color:black; font-size:12px;">');
		doc.writeln('<table style="border-width:0px; border-style:none;">');
		if (e.name) doc.writeln('<tr><td class="label">Error:</td><td class="value">' + e.name + '</td></tr>');
		if (e.message) doc.writeln('<tr><td class="label">Message:</td><td class="value">' + e.message + '</td></tr>');
		if (e.lineNumber) doc.writeln('<tr><td class="label">Line:</td><td class="value">' + e.lineNumber + '</td></tr>');
		if (e.fileName) doc.writeln('<tr><td class="label">URL:</td><td class="value">' + e.fileName + '</td></tr>');
		doc.writeln('</table>');
		if (arguments.callee.caller) {
			var routine = arguments.callee.caller;
			var f = routine.toString().replace(/^\s+|\s+$/g,"");
			var pattern = new RegExp(e.message.substr(0,e.message.indexOf(' ')).replace(/^'|'$/g, "" ));
			doc.writeln('<pre>' + f.replace(pattern,'<span id="error" style="color:red; font-weight:bold;">' + pattern.source + '</span>') + '</pre>');
		}
		doc.writeln("</body></html>");
		winError.focus();
	} catch(e) {
		alert(e.message);
	} finally {
		doc.close();
	}
	return blnReturn;
}