jQuery.RequestBuilder = {

	MakeJsonRequest: function(module, controller, action, succesHandler, params){
		var postVars = {
			'type':'json',
			'm':module,
			'c':controller,
			'a':action
		}
		if (params.length > 0 || typeof(params)=="object"){
			for (var i in params)
			{
				postVars['params['+i+']'] = $.toJSON(params[i]);
			}		
		}
		$.getJSON('admin.php',postVars,
		succesHandler
		);
	},

	MakeJsonSyncRequest: function(module, controller, action, succesHandler, params){
		var postVars = {
			'type':'json',
			'm':module,
			'c':controller,
			'a':action
		}
		if (params.length > 0 || typeof(params)=="object"){
			for (var i in params)
			{
				postVars['params['+i+']'] = $.toJSON(params[i]);
			}
		}
		$.ajax({
            type: "POST",
            url:'admin.php',
            data: postVars,
            success:succesHandler,
            async: false
        }

        /*'admin.php',postVars,
		succesHandler*/
		);
	},

	MakeAjaxRequest: function(module, controller, action, succesHandler, params){
        var postVars = {
			'type': 'ajax',
			'm': module,
			'c': controller,
			'a': action
		}
        if (params.length > 0 || typeof(params)=="object"){
			for (var i in params)
			{
		    	postVars['params['+i+']'] = $.toJSON(params[i]);
			}
        }
		$.post('admin.php',postVars,
		function(data){
			succesHandler(data);
		});
	},

	MakeHtmlRequest: function(module, controller, action, succesHandler, params){
        var postVars = {
			'type': 'html',
			'm': module,
			'c': controller,
			'a': action
		}
        var url = "admin.php?m="+postVars.m+"&c="+postVars.c+"&a="+postVars.a;
        
        if (params.length > 0 || typeof(params)=="object"){
			for (var i in params){
		    	url += '&params['+i+']='+ $.toJSON(params[i]);
			}
        }
        window.location.href = url;
	}
};