function getObjPosition(obj) {

    var curleft = curtop = 0;

    if (obj.offsetParent) {

        do {
            curleft += obj.offsetLeft;
            curtop += obj.offsetTop;
        } while (obj = obj.offsetParent);
    }
    return [curleft, curtop];
}

function getObjRelPosition(obj, relObjId) {

    var curleft = curtop = 0;

    if (obj.offsetParent) {

        do {
            curleft += obj.offsetLeft;
            curtop += obj.offsetTop;
            obj = obj.offsetParent
        } while (obj.id != relObjId);
        
    }
    return [curleft, curtop];
}

function HTTPRequest() {
    var request;
    if (window.XMLHttpRequest) {
        //Mozilla based browser
        request = new XMLHttpRequest();
        //request.overrideMimeType('text/xml');
    } else if (window.ActiveXObject) {
        //ActiveX compatible browser
        request = new ActiveXObject("Msxml2.XMLHTTP");
        if (!request) {
            request = new ActiveXObject("Microsoft.XMLHTTP")
        }
    }

    return request;
}

function reloadPage() {

    location.href = location.href;
}


function objectify(s) {

    s = s.replace(/å/g, "&aring;");
    s = s.replace(/ä/g, "&auml;");
    s = s.replace(/ö/g, "&ouml;");
    s = s.replace(/Å/g, "&Aring;");
    s = s.replace(/Ä/g, "&Auml;");
    s = s.replace(/Ö/g, "&Ouml;");

    return s;
}

function deObjectify(s) {

    s = s.replace(/&aring;/g, "å");
    s = s.replace(/&auml;/g, "ä");
    s = s.replace(/&ouml;/g, "ö");
    s = s.replace(/&Aring;/g, "Å");
    s = s.replace(/&Äuml;/g, "Ä");
    s = s.replace(/&Öuml;/g, "Ö");

    return s;
}