function ProcessMessages (o, msgBoxId, errorBoxId)
{
	if (typeof o != 'object')
	{
		alert('ProcessMessages: first parameter must be object')
		return;
	}
	if (msgBoxId == undefined)
	{
		msgBoxId = 'MessageBox';
	}
	if (errorBoxId == undefined)
	{
		errorBoxId = 'ErrorBox';
	}
	$('#'+errorBoxId).hide(200);
	$('#'+msgBoxId).hide(200);

	if (o.message != undefined)
	{
		$('#'+msgBoxId).html(o.message);
		$('#'+msgBoxId).show(200);
	}
	if (o.errors != undefined)
	{
		if (typeof o.errors == 'object')
		{
			var error = '<ul>';
			for (var n in o.errors)
			{
				error += n+':';
				for (var nn in o.errors[n])
				{
					error += '<li style="margin-left:20px">'+o.errors[n][nn] + ';</li>';
				}
			}
			error += '</ul>';
			$('#'+errorBoxId).html(error);

		} else
		{
			$('#'+errorBoxId).html(o.errors);
		}
		$('#'+errorBoxId).show(200);
	}
}

function ajax(url, method, params, before, success, error) {
	options = {
		url:url,
		method:method
	};
	if (params != undefined && params != '') options['data'] = params;
	if (before != undefined && before != '') options['beforeSend'] = before;
	if (success != undefined && success != '') options['success'] = success;
	if (error != undefined && error != '') options['error'] = error;
	$.ajax(options);
};

function startWait(msg){
//	if (msg == undefined) msg = 'Loading...';
//	notifier.display(msg);
};

function endWait(){
//	notifier.hide();
};


function urlencode( str )
{
	var ret = str;
	ret = ret.toString();
	ret = encodeURIComponent(ret);
	ret = ret.replace(/%20/g, '+');
	return ret;
}