ajax = new Object();
ajax.requestHandler = null;
ajax.callHandler = function(result) {
    if (result.errorCode == -1) {
        alert(result.errorMsg);
    } else {
        if (this.requestHandler) {
            var tempHandler = this.requestHandler;
            this.requestHandler = null;
            tempHandler(result);
        }
    }
}

ajax.createNVArray = function(name, value) {
    var data = new Array();
    data['name'] = name;
    data['value'] = value;
    return data;
}

ajax.call = function(modul, php, action, data, requestHandler) {
    var params;
    params  = '__modul__=' + modul;
    params += '&__php__=' + php;
    params += '&__action__=' + action;
    for(var i = 0; i < data.length; i++) {
        params += '&' + data[i].name + '=' + encodeURIComponent(data[i].value);
    }
//     alert(params);

    var result = new Array();

    var xmlHttp = XmlHttp.create();
    xmlHttp.open('POST', adminurl+'modules/ajax/xml-action-handler.php', true);
//    alert(adminurl+'modules/ajax/xml-action-handler.php');
    xmlHttp.onreadystatechange = function () {
        if (xmlHttp.readyState == 4) {
          eval(xmlHttp.responseText);
//           alert(xmlHttp.responseText);
          if (!result) result = new Array();
          ajax.callHandler(result);
        }
    }
    xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=iso-8859-2');
    xmlHttp.send(params);
    this.requestHandler = requestHandler;
}

