function indeedGetRequest(){
    var a=null;
    if(window.XMLHttpRequest){
        try{
            a=new XMLHttpRequest;
        }
        catch(c){
        }
    } else if(window.ActiveXObject) {
        for(var d=0,b;b=["MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP","Microsoft.XMLHTTP"][d++];) {
            try{
                a=new ActiveXObject(b);
                break;
            }catch(c){}
        }
    }
    return a;
}

function indeedLog(type, obj, url) {
    if(type) {
        var params = 'type=' + encodeURI(type);

        for(var i in obj) {
            params += '&';
            params += i + '=' + encodeURI(obj[i]);
        }

        var request = indeedGetRequest();
        request.open("POST", url);

        request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        request.setRequestHeader("Content-length", params.length);
        request.setRequestHeader("Connection", "close");

        request.send(params);
    }
}

function indeedErrorHandler(message, url, line) {
    if(url) {
        var obj = {'message': message,
                    'url': url,
                    'line': line};
        var burl = '/clientlogger';

        if(window.base_url) {
            burl = window.base_url;
        }

        indeedLog('jhstClientJsErr', obj, burl);
    }
}

window.onerror = indeedErrorHandler;
