

function Dispatcher(){

}
/**
*	@param String server
*	@param String query
*	@param String user
*	@param String id
*	@param function successFunc
*	@param String successMsg
*	@param function errorFunc
* 	@param String errorMsg
*/
Dispatcher.prototype.send = function(server,query,user,id,successFunc,successMsg,errorFunc,errorMsg){
    $.facebox.loading();
    $.post(core.server(server), {
        query : query,
        user : user,
        id : id
    }, function(xml){
        if($('error',xml).text() == "No"){
				
            if(successFunc != "")
                eval(successFunc);
            if(successMsg != "")
                $.facebox(successMsg);
        } else if($('error',xml).text() != "Yes"){
            $.facebox($('error',xml).text());
        } else {
            if(errorFunc != "")
                eval(errorFunc);
            if(errorMsg != "")
                $.facebox(errorMsg);

        }
    });
}

/**
*	@param String server
*	@param String query
*	@param String user
*	@param String id
*	@param function successFunc
*	@param String successMsg
*	@param function errorFunc
* 	@param String errorMsg
*/
Dispatcher.prototype.login = function(server,query,user,password,id){
    $.facebox.loading();
    $.post(core.server(server), {
        query : query,
        user : user,
        id : id
    }, function(xml){
        if($('error',xml).text() == "No"){
            var challange = $('userChallange',xml).text();
            var passHash = SHA1(password);
            var response = SHA1(passHash+challange);

            var query = '{"action":"loginDo","response":"'+response+'"}';
            var server = "/server.Auth.php";
            var successFunc = "auth.reload(0)";
            var successMsg = "";//i18n.translate("login:success");
            var errorMsg = i18n.translate("login:error");

            disp.send(server,query,user,id,successFunc,successMsg,"",errorMsg);


        } else {
            $.facebox("wrong username.");
        }
    });
}

/**
*	@param String server
*	@param String query
*	@param function successFunc
*	@param String successMsg
*	@param function errorFunc
* 	@param String errorMsg
*/
Dispatcher.prototype.submit = function(server,query,successFunc,successMsg,errorFunc,errorMsg){
    $.facebox.loading();
    $.post(core.server(server), {
        query : query
    }, function(xml){
        if($('error',xml).text() == "No"){
            if(successFunc != "")
                eval(successFunc);
            $.facebox(successMsg);
        } else {
            if(errorFunc != "")
                eval(errorFunc);
            $.facebox(errorMsg);
        }
    });
}

/**
*	@param String server
*	@param String query
*	@param function successFunc
*	@param String successMsg
*	@param function errorFunc
* 	@param String errorMsg
*/
Dispatcher.prototype.get = function(server,query,successFunc,errorFunc,errorMsg){
    $.facebox.loading();
    $.post(core.server(server), {
        query : query
    }, function(xml){
        if($('error',xml).text() == "No"){
            eval(successFunc);
        } else {
            if(errorFunc != "")
                eval(errorFunc);
            if(errorMsg!= "")
                $.facebox(errorMsg);
        }
    });
}

var disp = new Dispatcher();
