function rpcCall(reqtype,reqdata,reqsuccess, reqfail) {
	if(typeof(reqdata) == "undefined") reqdata = new Object();
	if(typeof(reqsuccess) == "undefined") reqsuccess = function(response) { return; }
	if(typeof(reqfail) == "undefined") reqfail = function(response) { alert(response.message); }
	$.post(rpcUrl,{action:reqtype,data:reqdata},function(response) {
		switch(response.status) {
			case "success":
				reqsuccess(response);
				break;
			case "error":
			default:
				reqfail(response);
				break;
		}
	},"json");
}
function showDialog(url,saveBtn,closeBtn) {
	if(typeof(saveBtn) == "undefined") {
		saveBtn = false;
	}
	if(typeof(closeBtn) == "undefined") {
		closeBtn = true;
	}
	$.floatbox({
		ajax: {
			url: url,
			before: "<p>Loading...</p>"
		},
		button: "<p style='margin:0.75em'> "+(saveBtn?"<input type='button' value='Save' class='grey save-floatbox' /> ":"")+(closeBtn?"<input type='button' class='grey close-floatbox' value='Close' /> ":"")+"</p>",
		fade: true,
		boxConfig: {
			top: "25%",
			position: "absolute"
		}
	});
}
$(document).ready(function() {
	$("input.logout").click(function() {
		location = docRoot + "logout.php";
	});
	$("input.home").click(function() {
		location = docRoot + "home.html";
	});
	$("input.logging").click(function() {
		location = docRoot + "admin/access.html";
	});
	$("input.categories").click(function() {
		location = docRoot + "admin/categories.html";
	});
	$("input.users").click(function() {
		location = docRoot + "admin/users.html";
	});
	updateTableRows();
});
$(document).ajaxComplete(updateTableRows);
function updateTableRows() {
	$("tbody tr:odd").each(function() {
		$(this).addClass("oddrow").removeClass("evenrow");
	});
	$("tbody tr:even").each(function() {
		$(this).addClass("evenrow").removeClass("oddrow");
	});
}