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);
		});
	} 
}

var regExpAlpha = new RegExp("^[0-9A-Za-z !.,?\u00E5\u00E4\u00F6\u002F\u00C5\u00C4\u00D6]+$");
var regExpNum = new RegExp("^[0-9]+$");
var regExpDate = new RegExp("^(\d{4}|\d{2})-(\d{2}|\d{1})-(\d{2}|\d{1})$");
//var regExpDate = new RegExp("^d{4}-d{2}-d{2}$");

function CheckIfValid(inputName, inputType, errMessage)
{
	if(!$(inputName))
		return false;
		
	if(errMessage == '')
		errMessage = "Obs, du m&aring;ste fylla i ett korrekt m&aring;tt."
	
	var valEl = $(inputName);
	var errBox = valEl.getNext('span');
	
	if(inputType == "numerical" && !valEl.value.match(regExpNum))
	{
		errBox.set('html',errMessage);
		return false;
	}
	else if(inputType == "alphabetical" && valEl.value != '' && !valEl.value.match(regExpAlpha))
	{
		errBox.set('html',errMessage);
		return false;
	}
	/**else if(inputType == "date" && !valEl.value.match(regExpDate))
	{
		valEl.setStyle('border','8px solid #FF0000');
		return false;
	}*/
	else
	{
		errBox.set('html','');
		return true;
	}
}