

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