function copy(from, to) {
    var dcur = document.getElementById(to);
    var dmes = document.getElementById(from);
    if (dmes != null) {
        dcur.innerHTML = dmes.innerHTML;
    }
    return false;
}

function updateMesBody(mesBody, sendAction) {
    document.getElementsByName(sendAction)[0].disabled = (document.getElementsByName(mesBody)[0].value.length == 0);
}

function updateMesToBody(mesBody, sendAction, toRecipient) {
    document.getElementsByName(sendAction)[0].disabled = (document.getElementsByName(mesBody)[0].value.length == 0 ||
                                                          document.getElementsByName(toRecipient)[0].selectedIndex == 0);
}

function openWindow(url, target, width, height) {
    var popupwindow = window.open(url, target, 'left=200,top=200,width=' + width + ',height=' + height + ',location=1,windowstatus=0,resizable=1,scrollbars=1');
    if (window.focus) {
        popupwindow.focus();
    }
}

var sURL = unescape(window.location.pathname);

function refresh() {
    window.location.href = sURL;
}

var req;

function setLocale(locale) {
    var url = "/ajax/setLocale.xml?locale=" + locale;
    if (typeof XMLHttpRequest != "undefined") {
        req = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
    }
    req.open("GET", url, false);
    req.send(null);
    refresh();
}

function loadAjaxGet(id, url) {
    var req;
    if (typeof XMLHttpRequest != "undefined") {
        req = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
    }
    req.open("GET", url, true);
    function loadAjaxGetCallback() {
        if (id == null) return;
        if (req.readyState == 4) {
            if (req.status == 200) {
                document.getElementById(id).innerHTML = req.responseText;
            } else {
                document.getElementById(id).innerHTML = "ERROR " + req.status;
            }
        }
    }
    req.onreadystatechange = loadAjaxGetCallback;
    req.send(null);
}

function loadAjaxGetSync(id, url) {
    var req;
    if (typeof XMLHttpRequest != "undefined") {
        req = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
    }
    req.open("GET", url, false);
    req.send(null);
    if (req.status == 200) {
        document.getElementById(id).innerHTML = req.responseText;
    } else {
        document.getElementById(id).innerHTML = "ERROR " + req.status;
    }
}

function sendAjaxSyncGet(url) {
    var req;
    if (typeof XMLHttpRequest != "undefined") {
        req = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
    }
    req.open("GET", url, false);
    req.send(null);
}

function loadAjaxPost(id, url, params, async) {
    var req;
    if (typeof XMLHttpRequest != "undefined") {
        req = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        req = new ActiveXObject("Microsoft.XMLHTTP");
    }
    req.open("POST", url, async);
    if (async) {
        function loadAjaxPostCallback() {
            if (id == null) return;
            if (req.readyState == 4) {
                if (req.status == 200) {
                    document.getElementById(id).innerHTML = req.responseText;
                } else {
                    document.getElementById(id).innerHTML = "ERROR " + req.status;
                }
            }
        }
        req.onreadystatechange = loadAjaxPostCallback;
    }
    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    req.setRequestHeader("Content-length", params.length);
    req.setRequestHeader("Connection", "close");
    req.send(params);
    return false;
}

