fake_counter = new Date().getTime(); // для предотвращения кэширования данных хромом

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

function successFunction(data)
{
	$.each(data, function(i, item) {
		switch(item['a']) {
			case "html":
			$('#'+item['t']).html(item['d']);
			break;
			case "append":
			$('#'+item['t']).append(item['d']);
			break;
			case "js":
			eval(item['d']);
			break;
			case "alert":
			alert(item['d']);
			break;
			case "enable":
			item['d'] = (item['d'] != 'no');
			$('#'+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;
		}
	});
}

ajax_request = function() {

	var data = [];

	var numArgs=arguments.length;

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

	var requestType = arguments[2];

	var i;

	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]});
			}
		}
	}

	if (requestURI.indexOf('?') != -1) {
		uri = requestURI+'&ctr='+fake_counter++;
	} else {
		uri = requestURI+'?ctr='+fake_counter++;
	}

	$.ajax({url: uri,
		cache: false,
		async: true,
		data: data,
		timeout: 30000,
		type: requestType,
		beforeSend: ShowLoader,
		complete: HideLoader,
		dataType: "json",
		error: errorFunction,
		success: successFunction
	});


};




