		var oldinput = -1;
		var old="";
		var popout="";
		var treeH = 0;
		var treeW = 0;
		FileTree =  new Array();
		FileTree[0] = new Array();
		FileTree[1] = new Array();
		FileTree[2] = new Array();
		FileTree[0][0] = "php_data www";
		FileTree[1][0] = "phpstuff.txt";
		FileTree[1][1] = "images index.html";
		FileTree[2][0] = "image.jpg";
		Mod =  new Array();
		Mod[0] = new Array();
		Mod[1] = new Array();
		Mod[2] = new Array();
		Mod[0][0] = "drwx------ php_data \n  drwx------ www";
		Mod[1][0] = "-rw------- phpstuff.txt";
		Mod[1][1] = "drwx------ images \n  -rw------- index.html";
		Mod[2][0] = "-rw------- image.jpg";
		var newFolder = "";
				
		function keyHandler(e)
		{
			var code;
			if (!e) var e = window.event;
			if (e.keyCode) code = e.keyCode;
			else if (e.which) code = e.which;
			if(code == 13) {
				checkCode();	
			}
		}
		document.onkeypress = keyHandler;
		
		function pwd() {
			var location = "/home/";
			switch(treeH) {
				case 0:
					location += "";
					break;
				case 1:
					if(treeW == 1) {
						location += "www/";	
					}
					else if(treeW == 0) {
						location += "php_data/";	
					}
					else if(treeW == 2) {
						location += newFolder + "/";
					}
					else {
						location += "";	
					}
					break;
				case 2:
					if(treeW == 0) {
						location+="www/images/";	
					}
				default:
					location += "";
					break;
			}
			return location;
		}
		
		function ls() {
			var files = "  ";
			switch(treeH) {
				case 0:
					files += FileTree[0][0];
					break;
				case 1:
					if(treeW == 1){
						files += FileTree[1][1];
					}
					else if(treeW == 0){
						files += FileTree[1][0];
					}
					else if(treeW == 2){
						files += FileTree[1][2];	
					}
					break;
				case 2:
					if(treeW == 0){
						files += FileTree[2][0];
					}
					break;
				default:
					files = "  ";
					break;
			}
			return files;
		}	
		
		function ls2() {
			var files = "  ";
			switch(treeH) {
				case 0:
					files +=  Mod[0][0];
					break;
				case 1:
					if(treeW == 1){
						files +=  Mod[1][1];
					}
					else if(treeW == 0){
						files +=  Mod[1][0];
					}
					else if(treeW == 2){
						files +=  Mod[1][2];	
					}
					break;
				case 2:
					if(treeW == 0){
						files +=  Mod[2][0];
					}
					break;
				default:
					files = "  ";
					break;
			}
			return files;
		}
		function cd(com) {
			folder = com.substr(3);
			switch(treeH) {
				 case 0:
					if(folder == "www") {
						treeH = 1;
						treeW = 1;
					}
					else if(folder == "php_data") {
						treeH = 1;
						treeW = 0;
					}
					else if(folder =="www/images") {
						treeH = 2;
						treeW = 0;	
					}
					else if(folder == newFolder) {
						treeH = 1;
						treeW = 2;	
					}
					break;
				case 1:
					if(folder == "images" && treeW == 1) {
						treeH = 2;
						treeW = 0;	
					}
				default:
					break;
			}
		}	
		
		function mkdir(input) {
			folder = input.substr(6);
			FileTree[0][0] += " " + folder;
			FileTree[1][2] = "blank.html";
			newFolder = folder;
		}
		
		function checkCode() {
			var input = (document.getElementById("textArea").value).substr(oldinput+1);
			if (input == "pwd") {
				popout = "  " + pwd();	
			}
			else if (input == "ls -l") {
				popout = ls2();	
			}
			else if (input == "ls") {
				popout = ls();
			}
			else if(input == "cd ..") {
				if(treeH == 0) {
					treeH = 0;	
				}
				else {
					treeH -= 1;
				}
				popout = "  " + pwd();
			}	
			else if (input.substr(0,2) == "cd"){
				cd(input);
				popout = "  " + pwd();
			}
			else if(input.substr(0,5) == "mkdir"){
				mkdir(input);
				popout = "  Done";
			}
			else if(input.substr(0,5) == "chmod"){
				chmod(input);
				popout = "  Done";
			}
			else {
				popout = "   Error: This is not a valid command";
			}
			document.getElementById("textArea").value = (old + input + "\n" + popout); 	
			old = document.getElementById("textArea").value + "\n";
			oldinput = document.getElementById("textArea").value.length;
		}
		
		function chmod(mods) {
			if((parseInt(mods.substr(6, mods.indexOf(" ", 6))) > 777) || parseInt(mods.substr(6, mods.indexOf(" ", 6))) < 0) {
				return 0;
			}
			if((mods.charAt(5) != " " || mods.charAt(9) != " ")) {
				return 0;
			}
			var file = mods.substr(10);
			var oldInfo = Mod[treeH][treeW].substr(Mod[treeH][treeW].indexOf(file)-11, 11+file.length);
			var newInfo = oldInfo.substr(0,1);
			var num = new Array();
			var perm = ""
			num[0] = parseInt(mods.substr(6,1));
			num[1] = parseInt(mods.substr(7,1));
			num[2] = parseInt(mods.substr(8,1));
			for(var a=0; a<num.length; a++) {
				switch(num[a]) {
					case 7:
						perm = "rwx";
						break;
					case 6:
						perm = "rw-";
						break;
					case 5:
						perm = "r-x";
						break;
					case 4:
						perm = "r--";
						break;
					case 3:
						perm = "-wx";
						break;
					case 2:
						perm = "-w-";
						break;
					case 1:
						perm = "--x";
						break;
					case 0:
						perm = "---";
						break;
					default:
						break;
				}
				newInfo += perm;
			}
			if(Mod[treeH][treeW].indexOf(file) < Mod[treeH][treeW].indexOf("\n")) {
				Mod[treeH][treeW] = newInfo + " " + Mod[treeH][treeW].substr(Mod[treeH][treeW].indexOf(file), file.length) + "\n " + Mod[treeH][treeW].substr(Mod[treeH][treeW].indexOf("\n")+2);
			}
			else {
				Mod[treeH][treeW] = Mod[treeH][treeW].substr(0, Mod[treeH][treeW].indexOf("\n") + 3) + newInfo + " " + Mod[treeH][treeW].substr(Mod[treeH][treeW].indexOf(file), file.length);
			}
		}
		
		function doReset() {
			document.getElementById('textArea').focus(); 
			document.getElementById('textArea').value = "";
			oldinput = -1;
			old="";
			popout="";
			treeH = 0;
			treeW = 0;
			FileTree =  new Array();
			FileTree[0] = new Array();
			FileTree[1] = new Array();
			Mod =  new Array();
			Mod[0] = new Array();
			Mod[1] = new Array();
			Mod[2] = new Array();
			FileTree[0][0] = "php_data www";
			FileTree[1][0] = "phpstuff.txt";
			FileTree[1][1] = "index.html";
			Mod[0][0] = "drwx------ php_data \n  drwx------ www";
			Mod[1][0] = "-rw------- phpstuff.txt";
			Mod[1][1] = "drwx------ images \n  -rw------- index.html";
			Mod[2][0] = "-rw------- image.jpg";
			newFolder = "";
		}
