

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 = "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();