ajax_request = function() {

	var data = [];

	var numArgs=arguments.length;

	data.push({name: "ajaxAction", value: arguments[0]});

	var requestType = arguments[2];

	var i;

	var errorFunction = function errors(request, errmsg, e)
	{
    	/*alert(errmsg+e);*/
	};


	if (numArgs > 0)
	{
		for (i = 0; i < arguments[1].length; i++)
		{
			if (typeof arguments[1][i] == 'function')
			{
            	errorFunction = arguments[1][i];
			}
			else if (typeof arguments[1][i] == 'object')
			{
				//data.push({name: "clientArgv["+i+"]", value: encodeURIComponent($.param(arguments[1][i]))});
				data.push({name: "clientArgv["+i+"]", value: $.param(arguments[1][i])});

				data.push({name: "clientKeyForm[]", value: i});
			}
			else
			{
				//data.push({name: "clientArgv["+i+"]", value: encodeURIComponent(arguments[1][i])});
				data.push({name: "clientArgv["+i+"]", value: arguments[1][i]});
			}
		}
	}

	$.ajax({
		url: requestURI,
		cach: false,
		async: true,
		data: data,
		timeout: 30000,
		type: requestType,
		//beforeSend: ShowLoader,
		//complete: HideLoader,
		dataType: "json",
		error: errorFunction,
		success: function(data)
		{
			$.each(data, function(i, item) {

				switch(item['a']) {

					case "html":
					$('#'+item['t']).html(item['d']);
					break;
					case "js":
					eval(item['d']);
					break;
					case "alert":
					alert(item['d']);
					break;
					case "enable":
					if(item['d'] == 'no') item['d'] = false; else item['d'] = true;
					$('#'+item['t']).enable(item['d']);
					break;
					case "assign":
					eval("$('#"+item['t']+"')[0]."+item['m']+" = '"+item['d']+"';");
					break;
					case "value":
					$('#'+item['t']).attr('value', item['d']);
					break;
					case "css":
					$('#'+item['t']).css(item['s'], item['d']);
					break;
					default:
					break;
				}

			});
		}
	});

}

/*
function ShowLoader() {}
function HideLoader() {}
*/
