// idea from http://www.d-mueller.de/blog/javascript-error-handling/
var E =
{
    //true: errors via console.log or alert / false: errors are being logged
    debugMode : false,

    //processes errors
    handle: function(sev, e, jsFile)
    {
		var src = (top.location.protocol === 'https:' ? 'https://': 'http://') + window.location.hostname + 
		    "/error/js?sev=" + encodeURIComponent(sev) +
	        "&e=" + encodeURIComponent(e) +
	        "&file=" + encodeURIComponent(jsFile) + 
	        "&url=" + encodeURIComponent(document.URL);
		
        if (true === E.debugMode) {
        	debug('Datei: ' + jsFile + '\nStufe: ' + sev + '\nMeldung: ' + e + '\nStack:\n' + e.stack);
        } else {
        	var img = new Image();
            img.src = src;
        }
    }
}

var debug = function(ausgabe)
{
	if (true === E.debugMode) {
		if (console && console.log) {
			console.log(ausgabe);
		} else {
			alert(ausgabe);
		}
	}
}

//error has not been caught and forwarded to "errorhandler" manually -> windowerror
window.onerror = function(msg, url, line)
{
    E.handle(3,'Uncaught error:' + msg + " in " + url + ", line " + line, 'errorHandle');
    return true; //continue
}
