function removekit(kitNumber) {
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (req != undefined) {
		req.onreadystatechange = function() { updateAction("remove", kitNumber); };
	
		req.open('POST', 'xhr/xhr_favorites_removekit.php', true);
 		req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

 		text = "kit=" + kitNumber;
		req.send(text);
	}
}
function undoRemove(kitNumber) {
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (req != undefined) {
		req.onreadystatechange = function() { updateAction("undo", kitNumber); };
	
		req.open('POST', 'xhr/xhr_favorites_removekit.php', true);
 		req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

 		text = "kit=" + kitNumber;
 		text += "&undo=y";
		req.send(text);
	}
}
function editkit(kitNumber, oldName) {
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (req != undefined) {
		var name = prompt("Please enter your new description", oldName);
  		if (name != null && name != "") {
			req.onreadystatechange = function() { updateAction("edit", kitNumber); };
		
			req.open('POST', 'xhr/xhr_favorites_editkit.php', true);
	 		req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	
	 		text = "kit=" + kitNumber;
	 		text += "&name=" + name;
			req.send(text);
		}
	}
}
function addkit(kitNumber, description) {
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (req != undefined) {
		var description = prompt("Please enter a description for this part:", description);
  		if (description != null && description != "") {
			req.onreadystatechange = function() { updateAction("add", kitNumber); };
		
			req.open('POST', 'xhr/xhr_favorites_addkit.php', true);
	 		req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	
	 		text = "kit=" + kitNumber;
	 		text += "&description=" + description;
			req.send(text);
		}
	}
}
function updateAction(actionType, kitNumber) {
	if (req.readyState == 4) { // only if req is "loaded"
		if (req.status == 200) { // only if "OK"
			if (actionType == "remove") {
				if (req.responseText == "success") {
					document.getElementById("fav_" + kitNumber).innerHTML = "";
					
					txtUndo = "<a class='location' href='javascript: undoRemove(\"" + kitNumber + "\")' style='color: red; font-style: italic;'>( Undo Delete )</a>";
					document.getElementById("response_area").innerHTML = txtUndo
					
					updateFavoritesBox();
				} else {
					document.getElementById("response_area").innerHTML = req.responseText;
				}
			} else if (actionType == "add") {
				document.getElementById("fav_" + kitNumber).innerHTML = req.responseText;
				updateFavoritesBox();
			} else if (actionType == "undo") {
				if (req.responseText == "Kit Not Found in Your Favorites") {
					document.getElementById("response_area").innerHTML = "Unable to perform selected operation";
				} else {
					document.getElementById("response_area").innerHTML = "Successfully restored " + kitNumber;
					document.getElementById("fav_" + kitNumber).innerHTML = req.responseText;
					updateFavoritesBox();
				}
			} else if (actionType == "edit") {
				if (req.responseText == "Kit Not Found in Your Favorites") {
					document.getElementById("response_area").innerHTML = "Unable to perform selected operation";
				} else {
					document.getElementById("response_area").innerHTML = "Successfully Edited Description for " + kitNumber;
					document.getElementById("fav_" + kitNumber).innerHTML = req.responseText;
					updateFavoritesBox();
				}
			} else if (actionType == "box") {
				document.getElementById("favoritesbox").innerHTML = req.responseText;
			}
		}
	}	
}

function updateFavoritesBox() {
	if (window.XMLHttpRequest) {
		req = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (req != undefined) {
		req.onreadystatechange = function() { updateAction("box"); };
	
		req.open('POST', 'xhr/xhr_favorites_box.php', true);
 		req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

 		text = "";
		req.send(text);
	}
}

function updateBox() {
	if (req.readyState == 4) { // only if req is "loaded"
		if (req.status == 200) { // only if "OK"
			document.getElementById("favoritesbox").innerHTML = req.responseText;
		}
	}		
}
