﻿window.onerror = handleScriptErrors;

function handleScriptErrors(msg, url, line) {
    //Es werden erstmal nur Fehler in unseren selbst geschriebenen IwAG.* JavaScript Dateien behandelt.
    if (url.indexOf("IwAG") > -1 || url.indexOf("Fewo") > -1) {
        if (document.forms.length == 0) {
            var form = document.createElement("form");
            form.setAttribute('method', 'POST');
            document.appendChild(form);
            var errInitial = document.createElement("input");
            errInitial.setAttribute('id', 'initailErrorForm');
            errInitial.setAttribute('name', 'initialErrorForm');
            errInitial.setAttribute('type', 'hidden');
            errInitial.setAttribute('value', 'true');
            document.forms[0].appendChild(errInitial);
        }
        var errMsg = document.createElement("input");
        errMsg.setAttribute('id', 'ClientErrorMessage');
        errMsg.setAttribute('name', 'ClientErrorMessage');
        errMsg.setAttribute('type', 'hidden');
        errMsg.setAttribute('value', msg);
        document.forms[0].appendChild(errMsg);
        var errUrl = document.createElement("input");
        errUrl.setAttribute('id', 'ClientErrorUrl');
        errUrl.setAttribute('name', 'ClientErrorUrl');
        errUrl.setAttribute('type', 'hidden');
        errUrl.setAttribute('value', url);
        document.forms[0].appendChild(errUrl);
        var errLine = document.createElement("input");
        errLine.setAttribute('id', 'ClientErrorLine');
        errLine.setAttribute('name', 'ClientErrorLine');
        errLine.setAttribute('type', 'hidden');
        errLine.setAttribute('value', line);
        document.forms[0].appendChild(errLine);
        
        //MedienID wird mit übergeben, wenn die globale JS Variable mid gesetzt ist.
        if (mid != undefined && mid != "") {
            var errMid = document.createElement("input");
            errMid.setAttribute('id', 'mid');
            errMid.setAttribute('name', 'mid');
            errMid.setAttribute('type', 'hidden');
            errMid.setAttribute('value', mid);
            document.forms[0].appendChild(errMid);
        }
        document.forms[0].submit();
    }
}
