function saveNewCategory(t) {
	document.getElementById("newCtrl").innerHTML = small_progress();
	var c = document.getElementById("new-cat").value.replace('+', '[PLUS]');	
	x_saveNewCategory(t, c, saveNewCategory_cb);
}
function saveNewCategory_cb(z) {
	var results = z.split("|");
	document.getElementById("newCtrl").innerHTML = results[2];
	if (results[0] == "0") {
		document.getElementById("newMsg").innerHTML = '<p class="kill">' + results[1] + '</p>';	
	} else {
		document.getElementById("category-list").innerHTML = results[1];	
		document.getElementById("new-cat").value = '';
	}
}
function orderCategories(t, c, p, o) {
	document.getElementById("sortCrtl-"+c).innerHTML = small_progress();
	x_orderCategories(t, c, p, o, orderCategories_cb);
}
function orderCategories_cb(z) {
	document.getElementById("category-list").innerHTML = z;
}
function sortProducts(c, p, o) {
	document.getElementById("sortCtrl-"+p).innerHTML = small_progress();
	x_sortProducts(c, p, o, sortProducts_cb);
}
function sortProducts_cb(z) {
	document.getElementById("stage").innerHTML = z;	
}
function editCategory(c) {
	document.getElementById("editCtrl-"+c).innerHTML = small_progress();
	x_editCategory(c, editCategory_cb);
}
function editCategory_cb(z) {
	var results = z.split("|");
	document.getElementById("editCtrl-"+results[0]).innerHTML = results[2];
	document.getElementById("cName-"+results[0]).innerHTML = results[1];
}
function saveEditCategory(c) {
	var n = document.getElementById("editName-"+c).value.replace('+', '[PLUS]');	
	document.getElementById("editCtrl-"+c).innerHTML = small_progress();
	x_saveEditCategory(c, n, saveEditCategory_cb);
}
function saveEditCategory_cb(z) {
	var results = z.split("|");
	document.getElementById("cName-"+results[0]).innerHTML = results[1];
	document.getElementById("editCtrl-"+results[0]).innerHTML = results[2];
}
function deleteCategory(c) {
	if (confirm("WARNING: This will also delete all the products within this category. Are you sure you wish to continue?")) {
		document.getElementById("rCtrl-"+c).innerHTML = small_progress();
		x_deleteCategory(c, deleteCategory_cb);
	}
}
function deleteCategory_cb(z) {
	document.getElementById("category-list").innerHTML = z;
}
function productsView(c) {
	document.getElementById("prCtrl-"+c).innerHTML = small_progress();
	x_productsView(c, productsView_cb);
}
function productsView_cb(z) {
	document.getElementById("stage").innerHTML = z;
}
function addProduct(c) {
	document.getElementById("addProdCtrl").innerHTML = small_progress();
	var n = document.getElementById("product_name").value.replace('+', '[PLUS]');	
	var d = document.getElementById("product_description").value.replace('+', '[PLUS]');	
	var m = document.getElementById("product_model").value.replace('+', '[PLUS]');
	var per = document.getElementById("piece_per_set").value.replace('+', '[PLUS]');
	var p = document.getElementById("piece_count").value.replace('+', '[PLUS]');	
	var s = document.getElementById("set_count").value.replace('+', '[PLUS]');	
	var r = document.getElementById("racking").value.replace('+', '[PLUS]');	
	x_addProduct(c, n, d, m, per, p, s, r, addProduct_cb);
}
function addProduct_cb(z) {
	var results = z.split("|");
	if (results[0] == "0") {
		document.getElementById("addNewMsg").innerHTML = results[1];
		document.getElementById("addProdCtrl").innerHTML = results[2];
	} else {
		document.getElementById("stage").innerHTML = results[1];	
	}
}
function deleteProduct(c, p) {
	if (confirm("Are you sure you want to remove this product from the database?")) {
		document.getElementById("deleteCtrl-"+p).innerHTML = small_progress();
		x_deleteProduct(c, p, deleteProduct_cb);
	}
}
function deleteProduct_cb(z) {
	document.getElementById("stage").innerHTML = z;	
}
function editProduct(i) {
	x_editProduct(i, editProduct_cb);
}
function editProduct_cb(z) {
	var results = z.split("|");
	document.getElementById(results[0]).innerHTML = results[1];
	document.getElementById("textarea-"+results[0]).focus();
}
function saveEditProduct(i) {
	var v = document.getElementById("textarea-"+i).value.replace('+', '[PLUS]');
	i = i.replace('textarea-', '');
	document.getElementById(i).innerHTML = small_progress();
	x_saveEditProduct(i, v, saveEditProduct_cb);
}
function saveEditProduct_cb(z) {
	var results = z.split("|");
	document.getElementById(results[0]).innerHTML = results[1];
	if (results.length > 2) {
		if (results[3] == 'low-stock') {
			document.getElementById(results[2]).style.background = "#c93";
		} else {
			document.getElementById(results[2]).style.background = "#fff";
		}
	}
}
function setRange(cid, cchecked) {
	if (cchecked) {
		x_setRange(cid, cchecked, setRange_cb);	
	}
}
function setRange_cb(z) {
	var results = z.split("|");
	document.getElementById("smo").value = results[0];
	document.getElementById("sd").value = results[1];
	document.getElementById("sy").value = results[2];
	document.getElementById("emo").value = results[3];
	document.getElementById("ed").value = results[4];
	document.getElementById("ey").value = results[5];
}
function resetRange() {
	for(i = 1; i < 5; i++) {
		document.getElementById("c" + i).checked = false;	
	}
}
function togglePrintFromSite(p) {
	document.getElementById("print_from_site-" + p).innerHTML = small_progress();
	x_togglePrintFromSite(p, togglePrintFromSite_cb);
}
function togglePrintFromSite_cb(z) {
	var results = z.split("|");
	document.getElementById("print_from_site-"+results[0]).innerHTML = results[1];
}