var XMLHttpRequestObject = false;
	
		if (window.XMLHttpRequest) {
			XMLHttpRequestObject = new XMLHttpRequest();
			XMLHttpRequestObject2 = new XMLHttpRequest();
			XMLHttpRequestObject3 = new XMLHttpRequest();
			XMLHttpRequestObject4 = new XMLHttpRequest();
			XMLHttpRequestObject5 = new XMLHttpRequest();
		} else if (window.ActiveXObject) {
			XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
			XMLHttpRequestObject2 = new ActiveXObject("Microsoft.XMLHTTP");
			XMLHttpRequestObject3 = new ActiveXObject("Microsoft.XMLHTTP");
			XMLHttpRequestObject4 = new ActiveXObject("Microsoft.XMLHTTP");
			XMLHttpRequestObject5 = new ActiveXObject("Microsoft.XMLHTTP");
		}	
		
		var options;
		var scheme;
		var editstocking;
		var jacinth;
		
		function getOptions(type, scheme)
		{

			if (!scheme) {
				scheme = document.getElementById('cat3').value;
			}
			var peepo = document.getElementById('cat1');
			var peepe = document.getElementById('cat4');

			if (type == "back") {
				peepe.innerHTML = '<select name=\'cat3\' id=\'cat3\' onChange="getOptions(\'add\')">';
				if (editstocking == "on") {
					removeStock();
				}

			}
			breadCrumbs(type, scheme);



				var urly = "options2.php?type=cat";
				if (XMLHttpRequestObject) {
					XMLHttpRequestObject.open("POST", urly);
					XMLHttpRequestObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

					XMLHttpRequestObject.onreadystatechange = function()
					{
						if (XMLHttpRequestObject.readyState == 4 &&
							XMLHttpRequestObject.status == 200) {

							var xmlDocument = XMLHttpRequestObject.responseXML;
							options = xmlDocument.getElementsByTagName("option");
							listOptions('cat3');
						}
					}
					XMLHttpRequestObject.send("options=" + scheme);
				}
		}
		function listOptions(changeto)
		{
			var loopIndex;
			var loopIndexy;
			var selectControl = document.getElementById(changeto);
			selectControl.options.length=0;



			selectControl.options[0] = new Option("** new **", "0");



			for (loopIndex = 1, loopIndexy = 0; loopIndex <= options.length; loopIndex++, loopIndexy++ )
			{
				selectControl.options[loopIndex] = new Option(options[loopIndexy].firstChild.nodeValue, options[loopIndexy].attributes.getNamedItem('value').nodeValue);
			}
			if (loopIndex == 1) {
				if (changeto == 'producty') {
					document.getElementById('product').innerHTML = "(no products in this category)<BR><BR>";
				} else if (changeto == 'colour3') {
					document.getElementById('colour1').innerHTML = "";
					document.getElementById('colour2').innerHTML = "<BR>";
				} else if (changeto == 'size3') {
					document.getElementById('size1').innerHTML = "";
					document.getElementById('size2').innerHTML = "<BR>";
				} else {
					document.getElementById('cat4').innerHTML = "<BR>";
				}
			}
		}
		
		function breadCrumbs(type, scheme)
		{
			if (!scheme) {
				scheme = document.getElementById('cat3').value;
			}
			var scheme2 = document.getElementById('cat2').value;

			var urly2 = "options1.php?type=cat";
			if (XMLHttpRequestObject2) {
				XMLHttpRequestObject2.open("POST", urly2);
				XMLHttpRequestObject2.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

				XMLHttpRequestObject2.onreadystatechange = function()
				{
					if (XMLHttpRequestObject2.readyState == 4 &&
						XMLHttpRequestObject2.status == 200) {
				
						var obj = document.getElementById('cat1');
						obj.innerHTML = XMLHttpRequestObject2.responseText;
					}
				}
				XMLHttpRequestObject2.send("options=" + scheme + "&options2=" + scheme2 + "&type=" + type);
			}
		}
		function getProducts(scheme, start)
		{
			if (!scheme) {
				var scheme = document.getElementById('cat3').value;
			}
			var peepo = document.getElementById('product');
			
			if (scheme != '0') {
				peepo.innerHTML = "<select name='thisproduct' id='producty' onChange='sizeNColour()'></select><BR>";

				var urly = "options2.php?type=prod";
				if (XMLHttpRequestObject3) {
					XMLHttpRequestObject3.open("POST", urly);
					XMLHttpRequestObject3.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

					XMLHttpRequestObject3.onreadystatechange = function()
					{
						if (XMLHttpRequestObject3.readyState == 4 &&
							XMLHttpRequestObject3.status == 200) {
							
							var xmlDocument = XMLHttpRequestObject3.responseXML;
							options = xmlDocument.getElementsByTagName("option");
							listOptions('producty');
						}
					}
					XMLHttpRequestObject3.send("options=" + scheme);
				}
			} else {
				peepo.innerHTML = "<BR>";
			}
		}
		var counter = 0;
		function chooseSizeclr(which, remove)
		{
			if (remove != "0") {
				var scheme = remove;
				var thislevel2 = which + "2";
				var scheme2 = document.getElementById(thislevel2).value;
				var scheme3 = "remove";

				if (which == "colour") {
					var newthing2 = "showimage" + remove;
					if (document.getElementById(newthing2)) {
						document.getElementById(newthing2).innerHTML = "";
					}

					var newthingtt = "colourid" + remove;
					var newthinga = document.getElementById(newthingtt);
					newthinga.innerHTML = "";
					
					hcounter--;
				}
								
			} else {
				var thislevel = which + "3";
				var thislevel2 = which + "2";
				var scheme = document.getElementById(thislevel).value;
				var scheme2 = document.getElementById(thislevel2).value;
				
				if (which == "colour") {
					var newthing = "colourid" + scheme;
					document.getElementById(newthing).innerHTML = "<BR><div class='lefty'>Image (" + thesecolours[scheme] + "):</div><input type='file' name='image" + scheme + "'>";
				
					hcounter++;
				}
			}

			var urly = "options4.php?type=" + which;
			if (XMLHttpRequestObject) {
				XMLHttpRequestObject.open("POST", urly);
				XMLHttpRequestObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

				XMLHttpRequestObject.onreadystatechange = function()
				{
					if (XMLHttpRequestObject.readyState == 4 &&
						XMLHttpRequestObject.status == 200) {

						var obj1 = which + "1";
						var obj2 = document.getElementById(obj1);
						obj2.innerHTML = XMLHttpRequestObject.responseText;
					}
				}
				XMLHttpRequestObject.send("options=" + scheme + "&options2=" + scheme2 + "&options3=" + scheme3);
			}		
		}
		function sizeNColour()
		{
			var scheme = document.getElementById('producty').value;
			if (scheme != '0') {
				document.getElementById('size1').innerHTML = "Size:";
				document.getElementById('size2').innerHTML = "<select name='size' id='size3'></select> (to add sizes, click <a href='editproduct.php?id=" + scheme + "'>here</a>)<BR>";
				document.getElementById('colour1').innerHTML = "Colour:";
				document.getElementById('colour2').innerHTML = "<select name='colour' id='colour3'></select> (to add colours, click <a href='editproduct.php?id=" + scheme + "'>here</a>)<BR>";
				document.getElementById('stock1').innerHTML = "Stock added:";
				document.getElementById('alert1-1').innerHTML = "Alert (1)*:";
				document.getElementById('alert2-1').innerHTML = "Alert (2)*:";
				document.getElementById('minimum1').innerHTML = "Pre-order possible?*:";
								
				
				var urly = "options2.php?type=size";
				if (XMLHttpRequestObject4) {
					XMLHttpRequestObject4.open("POST", urly);
					XMLHttpRequestObject4.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

					XMLHttpRequestObject4.onreadystatechange = function()
					{
						if (XMLHttpRequestObject4.readyState == 4 &&
							XMLHttpRequestObject4.status == 200) {
							
							var xmlDocument = XMLHttpRequestObject4.responseXML;
							options = xmlDocument.getElementsByTagName("option");
							listOptions('size3');
						}
					}
					XMLHttpRequestObject4.send("options=" + scheme);
				}
				var urly = "options2.php?type=colour";
				if (XMLHttpRequestObject5) {
					XMLHttpRequestObject5.open("POST", urly);
					XMLHttpRequestObject5.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
				
					XMLHttpRequestObject5.onreadystatechange = function()
					{
						if (XMLHttpRequestObject5.readyState == 4 &&
							XMLHttpRequestObject5.status == 200) {
							
							var xmlDocument = XMLHttpRequestObject5.responseXML;
							options = xmlDocument.getElementsByTagName("option");
							listOptions('colour3');
						}
					}
					XMLHttpRequestObject5.send("options=" + scheme);
				}
				
				var urly = "options5.php";
				if (XMLHttpRequestObject) {
					XMLHttpRequestObject.open("POST", urly);
					XMLHttpRequestObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
					
					XMLHttpRequestObject.onreadystatechange = function()
					{
						if (XMLHttpRequestObject.readyState == 4 &&
							XMLHttpRequestObject.status == 200) {
							
							var xmlDocument = XMLHttpRequestObject.responseXML;
							options = xmlDocument.getElementsByTagName("option");

							var loopIndex;
							for (loopIndex = 0; loopIndex < options.length; loopIndex++ )
							{
								var temp1 = options[loopIndex].attributes.getNamedItem('value').nodeValue;
								var temp2 = document.getElementById(temp1);
								if (temp1 == "minimum2") {
									temp2.innerHTML = "<select name='minimum2' id='minimum3'><option value='no'>No</option><option value='yes'>Yes</option></select><BR>";
									document.getElementById('minimum3').value = options[loopIndex].firstChild.nodeValue;
									continue;
								}
								var temp3 = "";
								if (options[loopIndex].firstChild)
									temp3 = options[loopIndex].firstChild.nodeValue;
								temp2.innerHTML = "<input type='text' name='" + temp1 + "' value='" + temp3 + "'><BR>";
							}
							
							
						}
					}
					XMLHttpRequestObject.send("options=" + scheme);
				}			
				document.getElementById('explainer').innerHTML = "<b>Alert (1)</b> is the value at which you (as the administrator) will be alerted to low stock. For instance, a value of 10 means that when only 10 of this product remain, an e-mail will be sent to you informing you of low stock levels.<BR><b>Alert (2)</b> is the value at which customers will be alerted to low stock. For instance, a value of 5 means that when only 5 of this product remain, customers will be informed before trying to purchase the product that only 5 are left in stock.<BR><b>Pre-order possible</b> dictates whether or not a product can be pre-ordered. When stock runs out, customers can either be prevented from purchasing further stock ('No'), or the item can be pre-ordered ('Yes').";
			} else {
				removeStock();
			}
		}
		function removeStock()
		{
			document.getElementById('size1').innerHTML = "";
			document.getElementById('size2').innerHTML = "";
			document.getElementById('colour1').innerHTML = "";
			document.getElementById('colour2').innerHTML = "";
			document.getElementById('stock1').innerHTML = "";
			document.getElementById('stock2').innerHTML = "";
			document.getElementById('alert1-1').innerHTML = "";
			document.getElementById('alert1-2').innerHTML = "";
			document.getElementById('alert2-1').innerHTML = "";
			document.getElementById('alert2-2').innerHTML = "";
			document.getElementById('minimum1').innerHTML = "";
			document.getElementById('minimum2').innerHTML = "";
			document.getElementById('explainer').innerHTML = "";

		}



	function changeStock(id, changeto)
			{
				var urly = "options3.php";
				if (XMLHttpRequestObject) {
					XMLHttpRequestObject.open("POST", urly);
					XMLHttpRequestObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

					XMLHttpRequestObject.onreadystatechange = function()
					{
						if (XMLHttpRequestObject.readyState == 4 &&
							XMLHttpRequestObject.status == 200) {
							
							var peeps = document.getElementById('stocknow');
							var msg = XMLHttpRequestObject.responseText;
							if (msg == "negative") {
								document.getElementById('errormsg').innerHTML = "<BR>You have tried to take away more stock than is available. This is not allowed. Please try a different change.";
							} else {
								peeps.innerHTML = XMLHttpRequestObject.responseText;
								document.getElementById('totalstock').value = XMLHttpRequestObject.responseText;
								document.getElementById('errormsg').innerHTML = "<BR>";
							}
						}
					}
					XMLHttpRequestObject.send("id=" + id + "&newstock=" + changeto);
				}
			}