var request = false;
   try {
     request = new XMLHttpRequest();
   } catch (trymicrosoft) {
     try {
       request = new ActiveXObject("Msxml2.XMLHTTP");
     } catch (othermicrosoft) {
       try {
         request = new ActiveXObject("Microsoft.XMLHTTP");
       } catch (failed) {
         request = false;
       }  
     }
   }

function GetDependent()
{
	var argv = GetDependent.arguments;
	var argc = argv.length;
	var argcless = argc -2;
	var argcless2 = argc -3;
	var argcID = argc -1;
	var handler = argv[argcID];
	//alert("Testing JS Load" +handler);
	
		function GoAjaxing(DataChain, Count, argcless,UpdateIdField, handler){
			if(Count == argcless2) {
				var url = handler+".php?"+DataChain;
				//alert(handler);
				request.open("GET", url, true);
				request.onreadystatechange = updatePage;
				request.send(null);
				//alert("URL to Fetch: " +url+ "Deposit into: " +UpdateIdField);
				}
			}
			
		function updatePage() {
			 if (request.readyState == 4) {
			   if (request.status == 200) {
				 var response = request.responseText;
				document.getElementById(UpdateIdField).innerHTML = response;
			   } else
				 alert("status is " + request.status);
				 
			 }
			}
	
	var DataChain = "";
			for (Count=0; Count< argcless; Count++) {
			  var CurrentField=argv[Count];
			  //alert(CurrentField);
			  var CurrentFieldValue = document.form[CurrentField].value;
			  //alert(CurrentFieldValue);
			  //alert(CurrentField + " Value IS: " + CurrentFieldValue);
			  //CurrentFieldValue = document.form[CurrentField].options[document.form[CurrentField].inputbox].value;
			  DataChain += "&" +CurrentField+ "=" +CurrentFieldValue;	    
			  UpdateIdField = argv[argcless];
			  handler=handler;
			  GoAjaxing(DataChain, Count, argcless, UpdateIdField, handler); 
			  //alert("Data Chain: " +DataChain);
			} 
}