/* Demarrage de XmlHttp
*/
var xhr = null;
function Xhr(){
	if(window.XMLHttpRequest) {// Firefox et autres
	   xhr = new XMLHttpRequest(); }
	else if(window.ActiveXObject){ // Internet Explorer
		//xhr = new ActiveXObject("Msxml2.XMLHTTP");
		try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); }
		catch (e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); }}
	else { alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest.. Opera ?"); xhr = false;}
}

/* Scroll 
*/
function Focus(nom) {
	document.getElementById(nom).focus();
}

function Scroll() {
	scrollBy(0,4400);
}

/* Touches
*/
function cmd(value, e){
	var KeyID = window.event ? e.keyCode : e.which;
	if (KeyID == 13) {
		enter(value);}
	else if (KeyID == 8) {
		/*retour(); A faire*/}
	else {
		document.getElementById('state').innerHTML = "En Attente ..<br />";}
}

/* Commandes
*/
var log = "";
function enter(arg) {
  Xhr();
  var url = "cmds.php";
  var state = document.getElementById('state');
  var log_div = document.getElementById('log');
  var cmd = document.getElementById('cmd');
  arg=arg.replace("<", "");
  arg=arg.replace(">", "");
  arg_all = arg;
  arg = arg.split(' ');
  
  if (arg[1] != "") {
   i = 1;
   while(i<4) {
	if (arg[i]==undefined) { arg[i] = ""; }
	i++;}
   url += "?cmd="+arg[0]+"&arg="+arg[1];
   } else {
	url += "?cmd="+arg[0];}

  // Repertoire en cours...
  if ((arg[0] == "cd" || arg[0] == "dir" || arg[0] == "ls" || arg[0] == "list") && arg[1] != "") {
			url += "&dir="+arg[1];
			state.innerHTML += "Rep: [ /"+arg[1]+"/ ]<br />";}


/* Demarrage de XHR
     */
  xhr.onreadystatechange = function(){
	// WAIT
	if(xhr.readyState == 1 || xhr.readyState == 2 || xhr.readyState == 3) {
	Scroll();
	}
	// READY
	else if(xhr.readyState == 4 && xhr.status == 200) {
		if(xhr.responseText != "") {
			log += "<b>></b> "+arg_all+"<br /><br />"+xhr.responseText+"<br />";}
		else if (arg[0] == "cls" || arg[0] == "exit") {
			state.innerHTML = "";
			log = "";}
		else {
			log += "<b>></b> "+arg_all+"<p>/!\\</p>";
			state.innerHTML += " /!\\ Mauvaise Requ&ecirc;te: <b>"+arg_all+"</b><br />";}
		
		/*else if (arg[0] == "exit") {
			window.opener='x';window.stop();window.close();}*/

		cmd.value="";
		log_div.innerHTML = log;
		state.innerHTML += "// Termin&eacute;<br />";
		Scroll();
	}

  }
  xhr.open("GET",url,true);
  xhr.send(null);
}
