async function itemsDialog() {
	return new Promise((resolve, reject) => {
		let inputItemsModal = $("#input-items-dialog-modal")
		inputItemsModal.modal("show");
	
		$("#input-item-search").val("");
		
		$.post(`https://${resName}/getAllItems`, JSON.stringify({}), function (items) {
			let itemListDiv = $("#items-list");
	
			itemListDiv.empty();
	
			for(const[itemName, itemData] of Object.entries(items)) {
				let itemDiv = $(`
					
	`);
	objectDiv.find(".delete-limited-object-btn").click(function() {
		objectDiv.remove();
	});
	objectDiv.find(".choose-item-btn").click(async function() {
		let objectType = objectDiv.find(".item-type").val();
		let objectName = await objectDialog(objectType);
		objectDiv.find(".item-name").val(objectName);
	}).tooltip();
	if(objectData) {
		objectDiv.find(".item-type").val(objectData.type);
		objectDiv.find(".item-name").val(objectData.name);
	}
	$("#limited-objects-list").append(objectDiv);
}
$("#limited-objects-list-add-object-btn").click(function() {
	addLimitedObjectToList();
})
async function inputDialog(title, label) {
	return new Promise((resolve, reject) => {
		let inputDialogModal = $("#input-dialog-modal");
		$("#input-dialog-modal-value").val("");
		$("#input-dialog-modal-title").text(title);
		$("#input-dialog-modal-label").text(label);
	
		inputDialogModal.modal("show");
		$("#input-dialog-modal-form").unbind().submit(function(event) {
			if (!this.checkValidity()) {
				event.preventDefault();
				event.stopPropagation();
		
				return;
			} else {
				$(this).removeClass("was-validated");
			}
	
			inputDialogModal.modal("hide");
	
			resolve( $("#input-dialog-modal-value").val() );
		});
	})
}
function toggleCursor(enabled) {
	if (enabled) {
		$.post(`https://${resName}/enableCursor`, JSON.stringify({}));
	} else {
		$.post(`https://${resName}/disableCursor`, JSON.stringify({}));
	}
}
function loadDialog(dialogName) {
	var script = document.createElement('script');
	console.log(`../utils/dialogs/${dialogName}/${dialogName}.js`)
	script.setAttribute('src',`../utils/dialogs/${dialogName}/${dialogName}.js`);
	document.head.appendChild(script);
}
// Messages received by client
window.addEventListener('message', (event) => {
	let data = event.data;
	let action = data.action;
	switch(action) {
		case "loadDialog": {
			var script = document.createElement('script');
			script.setAttribute('src',`../utils/dialogs/${data.dialogName}/${data.dialogName}.js`);
			document.head.appendChild(script);
			break;
		}
	}
})
$.post(`https://${resName}/nuiReady`, JSON.stringify({}));