function errorLoggerXMLHttpObject() {
	var xmlhttp=false;
	if(typeof XMLHttpRequest!="undefined"){
		try{
			xmlhttp=new XMLHttpRequest();
			// this is usually text/xml, but the mapping returns only plain text
			try { xmlhttp.overrideMimeType("text/plain"); } catch (c) {}
		}catch(e){
			xmlhttp=false;
		}
	}
	if(!xmlhttp && typeof ActiveXObject!="undefined"){
		try{
			xmlhttp=new ActiveXObject("MSXML2.XMLHTTP");
		}catch(e){
			try{
				xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
			}catch(c){
				xmlhttp=false;
			}
		}
	}
	return xmlhttp;
}

function WideJSErrorLogger(errorMessage,errorFileName,errorLineNumber){
	try{
		var tempAjaxErrLogObj = errorLoggerXMLHttpObject();
		tempAjaxErrLogObj.open("POST", "cometErrorLogger.php", true);
		tempAjaxErrLogObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		tempAjaxErrLogObj.send(
			"&errorWIDEString="+encodeURIComponent('A JavaScript error has occured in WIDE.') +
			"&errorMessage="+encodeURIComponent(errorMessage) +
			"&errorFileName="+encodeURIComponent(errorFileName) +
			"&errorLineNumber="+encodeURIComponent(errorLineNumber)
		);
		tempAjaxErrLogObj = null;
	} catch (wjsErr) { }
	return false;
}

window.onerror = WideJSErrorLogger;
