function doAjaxJSON(UrlResource, Data, Callback, CallbackArgs) {
	if(Data == null)
		Data = "";

	new Request({
		"url": UrlResource,
		"data": Data,
		"headers": {"X-Request": "JSON"},
		"onSuccess": function(req) {
			var r = JSON.decode(req);
			if (r.status > 0) {
				if (Callback)
					Callback(r, CallbackArgs);
			} else {
				switch(r.status) {
					case -1:
						alert(r.statusmessage);
					break;
					case -2:
					default:
						alert("Internal error");
					break;
				}
			}
		}
	}).send();
}

function doAjaxHTML(UrlResource, Data, Callback, CallbackArgs) {
	new Request({
		"url": UrlResource,
		"data": Data,
		"headers": {"X-Request": "JSON"},
		"onSuccess": function(req) {
			if (Callback)
				Callback(req, CallbackArgs);
		}
	}).send();
}

function SetContent(content, target)
{		
	if ($(target) !== null) {
		$(target).set("html", content.html);
	}
	
	if (content.perform) {
		$each(content.perform, function(fn, obj) {
			eval(fn);
		});
	} 
}


function SetContentArray(content, targetArray)
{
    for(target in targetArray)
    {
	    if ($(targetArray[target]) !== null)
		    $(targetArray[target]).set("html", content.html);
    }
	
	if (content.perform) {
		$each(content.perform, function(fn, obj) {
			eval(fn);
		});
	} 
}

function openWindow(url) {
	var popup = window.open(url, "", "width=550,height=600,top=20,left=100,resizable=1,address=0,status=0,toolbar=1,scrollbars=1");
	if (popup)
		popup.focus();
}