window.onerror = errHandler;

function errHandler(m,u,l) {

    var ajaxOb = initxmlhttp();
    var postData = "m="+encodeURIComponent(m)+"&u="+encodeURIComponent(u)+"&l="+encodeURIComponent(l)+"&h="+encodeURIComponent(document.getElementsByTagName("html")[0].innerHTML);
	url = '/pub/jserror.php';
	ajaxOb.open( "POST", url, true ) ;
	ajaxOb.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	
	ajaxOb.send(postData);

	ajaxOb.onreadystatechange=function() {

		if (ajaxOb.readyState==4) {
		
			var response = ajaxOb.responseXML;
			var responseText = ajaxOb.responseText;
			
			if (responseText=='1') {
				alert("A Javascript error has been encountered and an adminstrator has been notified.");
				return;
			} 
		}
	}
	
	try {
		ajaxOb.send(null);
	} catch (e) {
	
	}
	return false;
}


function getJsVars() {
	var result = '';
	for (var i in window) {
	  result += "window." + i + " = " + window[i] + "\n"
	}
	return result;
}

function initxmlhttp() {
	var xmlhttp ;
	/*@cc_on @*/
	/*@if (@_jscript_version >= 5)
	try {
		xmlhttp=new ActiveXObject("Msxml2.XMLHTTP")
	} catch (e) {
		try {
			xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
		} catch (E) {
			xmlhttp=false
		}
	}
	@else
	xmlhttp=false
	@end @*/
	if ( !xmlhttp && typeof XMLHttpRequest!='undefined' ) {
		try {
			xmlhttp = new XMLHttpRequest() ;
		}
		catch (e) {
			xmlhttp = false ;
		}
	} 
	return xmlhttp ;
}
