// Local variable creation for XMLHTTP Object and Key pressed
var xmlHttp = createXmlHttpRequestObject();

// --- Create XMLHTTP object ---
function createXmlHttpRequestObject() {
	var xmlHttp;
	try {
		xmlHttp = new XMLHttpRequest();
	} catch(e) {
		var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0","MSXML2.XMLHTTP.5.0","MSXML2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP");
		for (var i = 0; i < XmlHttpVersions.length && !xmlHttp; i++) {
			try { 
				xmlHttp = new ActiveXObject(XmlHttpVersions[i]);
			} catch (e) {}
		}
	}
	// Return the XMLHTTP object or display the error message
	if (!xmlHttp)
		alert("Error creating the XMLHttpRequest object.");
	else 
		return xmlHttp;
}
// --- END ---

// --- Check play input ---
function checkForFunction(event) {
	var outputDiv = document.getElementById("play_output");
	var inputDiv = document.getElementById("play_input");
	if(event.which == 13) {
		xmlHttp.onreadystatechange = function() {
			if(xmlHttp.readyState == 4) {
				outputDiv.innerHTML += xmlHttp.responseText;
				inputDiv.value = "";
				outputDiv.scrollTop = outputDiv.scrollHeight;
				refreshDrawer();
			}
		}
		
		var input = inputDiv.value;
		xmlHttp.open("POST", "Pages/[M4] Play/checkFunction.php", true);
		xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
		xmlHttp.send('play_input=' + input);
	}
}
// --- END ---

// --- Check character input for false characters ---
/*
function checkFalseChars(event, var type) {
	var key = event.which();
	var box = document.getElementsByName("");
	if(type == "number") {
		if(key < 47 || key > 58) {
			
		}
	} elseif(type == "letters") {
		if() {
		
		}
	}
}
*/
// --- END ---

var global = "";

// --- Character Creation ---
function updateStat(stat, addOrSubtract) {
	var pointSpan = document.getElementById("points");
	var statSpan = document.getElementById(stat+"val");
	var buttonSpan = document.getElementById(stat);
	var submitSpan = document.getElementById("submit");
	var stats = new Array("str", "dex", "con", "int", "wis", "cha");
	var i;
	
	xmlHttp.onreadystatechange = function() {
		if(xmlHttp.readyState == 4) {
			var array = xmlHttp.responseText.split("|");
			
			pointSpan.innerHTML = array[0];
			statSpan.value = array[1];
			buttonSpan.innerHTML = array[2];
			submitSpan.innerHTML = array[3];
			
			if(global != "") {
				global = "";
				window.location.reload();
			} else if(array[4] == "true") {
				for(i in stats) {
					var statval = document.getElementById((stats[i])+"val").innerHTML;
					global = array[4];
					document.getElementById(stats[i]).innerHTML = " <img src='images/Plus Grey.png' alt='You cant add any more!' title='You cant add any more!' /> <img src='images/Minus.png' id='"+(stats[i])+"' alt='Click to minus 1 from "+(stats[i])+"' title='Click to minus 1 from "+(stats[i])+"' onclick='updateStat(\""+(stats[i])+"\", \"subtract\");' />";		
				}
			}
		}
	}
		
	xmlHttp.open("POST", "Pages/[M3] Character Select/updatestat.php", true);
	xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
	xmlHttp.send('stat='+stat+'&addOrSubtract='+addOrSubtract);
}
// --- END ---

// --- Character Selection ---
function selectChar(charNum) {
	var outputDiv = document.getElementById("error");
	xmlHttp.onreadystatechange = function() {
		if(xmlHttp.readyState == 4) {
			outputDiv.innerHTML = xmlHttp.responseText;
		}
	}
	
	xmlHttp.open("POST", "Pages/[M3] Character Select/selectcharacter.php", true);
	xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
	xmlHttp.send('charNum=' + charNum);
}
// --- END ---

// --- Drawer Functions ---
function changeDrawer() {
	var outputDiv = document.getElementById("bottom-drawer");
	xmlHttp.onreadystatechange = function() {
		if(xmlHttp.readyState == 4) {
			outputDiv.innerHTML = xmlHttp.responseText;
		}
	}
			
	xmlHttp.open("POST", "Pages/[M0] Home/drawerChanges.php", true);
	xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
	xmlHttp.send('buttonValue=' + document.getElementById("detailButton").value);
}

function refreshDrawer() {
	var outputDiv = document.getElementById("bottom-drawer");
	xmlHttp.onreadystatechange = function() {
		if(xmlHttp.readyState == 4) {
			outputDiv.innerHTML = xmlHttp.responseText;
		}
	}
		
	xmlHttp.open("POST", "Pages/[M0] Home/drawerChanges.php", true);
	xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
	xmlHttp.send('buttonValue=Show Details');
}
// --- END ---