// JavaScript Document

//ajax style catalogue functions
function createRequestObject() {
		var ro;
    var browser = navigator.appName;
    if(browser == "Microsoft Internet Explorer"){
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    }else{
        ro = new XMLHttpRequest();
    }
  return ro;
}

var http = createRequestObject();

function sndReq(action) {
  http.open('get', '../inc/rpc.php?action='+action);
  http.onreadystatechange = handleResponse;
  http.send(null);
}

function sndReqArgLevel2(action,arg) {
  http.open('get', '../inc/rpc.php?action='+action+'&arg='+arg);
  http.onreadystatechange = handleResponse;
  http.send(null);
}

function sndReqArgLevel3(action,arg1,arg2) {
  http.open('get', '../inc/rpc.php?action='+action+'&arg1='+arg1+'&arg2='+arg2);
  http.onreadystatechange = handleResponse;
  http.send(null);
}

function sndReqArgLevel4(action,arg1,arg2,arg3) {
  http.open('get', '../inc/rpc.php?action='+action+'&arg1='+arg1+'&arg2='+arg2+'&arg3='+arg3);
  http.onreadystatechange = handleResponse;
  http.send(null);
}

function sndReqArgLevelParts(action,arg1,arg2,arg3, arg4) {
  http.open('get', '../inc/rpc.php?action='+action+'&arg1='+arg1+'&arg2='+arg2+'&arg3='+arg3+'&arg4='+arg4);
  http.onreadystatechange = handleResponse;
  http.send(null);
}

function getLevel1List() {
	document.getElementById("Level1List").innerHTML = "";
	document.getElementById("Level2List").innerHTML = "";
	document.getElementById("Level3List").innerHTML = "";
	document.getElementById("Level4List").innerHTML = "";
	document.getElementById("PartsList").innerHTML = "";
	document.getElementById("Level1").innerHTML = "<select id=\"Level1List\"><option selected=\"selected\">Loading...</option></select>";
	sndReq('Level1');
}

function getLevel2List() {
	document.getElementById("Level2List").innerHTML = "";
	document.getElementById("Level3List").innerHTML = "";
	document.getElementById("Level4List").innerHTML = "";
	document.getElementById("Level2").innerHTML = "<select id=\"Level2List\"><option selected=\"selected\">Loading...</option></select>";
	var x = document.getElementById("Level1List");
	sndReqArgLevel2('Level2',x.value);
}

function getLevel3List() {
	document.getElementById("Level3List").innerHTML = "";
	document.getElementById("Level4List").innerHTML = "";
	document.getElementById("Level3").innerHTML = "<select id=\"Level3List\"><option selected=\"selected\">Loading...</option></select>";
	var x = document.getElementById("Level1List");
	var y = document.getElementById("Level2List");
	sndReqArgLevel3('Level3',x.value,y.value);
}

function getLevel4List() {
	document.getElementById("Level4List").innerHTML = "";
	document.getElementById("PartsList").innerHTML = "";
	document.getElementById("Level4").innerHTML = "<select id=\"Level4List\"><option selected=\"selected\">Loading...</option></select>";
	var w = document.getElementById("Level1List");
	var x = document.getElementById("Level2List");
	var y = document.getElementById("Level3List");
	sndReqArgLevel4('Level4',w.value,x.value,y.value);
}

function getPartsList() {
	document.getElementById("PartsList").innerHTML = "<br/><br/><h3>Loading...</h3>";
	var w = document.getElementById("Level1List");
	var x = document.getElementById("Level2List");
	var y = document.getElementById("Level3List");
	var z = document.getElementById("Level4List");
	sndReqArgLevelParts('parts',w.value,x.value,y.value,z.value);
}

function handleResponse() {

    if(http.readyState == 4){
        var response = http.responseText;
        var update = new Array();

        if(response.indexOf('|' != -1)) {
            update = response.split('|');
			document.getElementById(update[0]).innerHTML = update[1];
			if (update.length == 3) {
				document.getElementById(update[2]).innerHTML = "";
			}
		}
	}
}