var req;
var targetlb;
var targettb;
function processReqChange () {
    if ((req.readyState == 4) && (req.status == 200)) {
		response  = req.responseXML.documentElement;
		options = response.getElementsByTagName("optiontext");
		targetlb.length=0;
		if (options.length > 0) {
			targetlb.options[0]  = new Option("Make A Selection","");	    
			for (i=0; i < options.length; i++) { 
				opttext   = response.getElementsByTagName("optiontext")[i].firstChild.data;
				optvalue    = response.getElementsByTagName("optionvalue")[i].firstChild.data;
				targetlb.options[i+1]  = new Option(opttext,optvalue );
			} 
		} else {
			    targetlb.options[0]  = new Option("No Values","");
		}
        document.getElementById("divProgress").style.display = 'none';
    }
    else {
	document.getElementById("divProgress").style.display = 'inline';
    }
}
function processReq4Value () {
    if ((req.readyState == 4) && (req.status == 200)) {
		response  = req.responseXML.documentElement;
		options = response.getElementsByTagName("optiontext");
		targettb.value='';
		if (options.length > 0) {	    
			for (i=0; i < options.length; i++) { 
				opttext   = response.getElementsByTagName("optiontext")[i].firstChild.data;
				optvalue    = response.getElementsByTagName("optionvalue")[i].firstChild.data;
				targettb.value  = opttext;
			} 
		} else {
			    targettb.value  = "No Values";
		}
        document.getElementById("divProgress").style.display = 'none';
    }
    else {
	document.getElementById("divProgress").style.display = 'inline';
    }
}
function getMoreHtml () {
    if ((req.readyState == 4) && (req.status == 200)) {
        document.getElementById(targetContainer).innerHTML = req.responseText;
	document.getElementById("divProgress").style.display = 'none';
    }
    else {
	document.getElementById("divProgress").style.display = 'inline';
    }
}
function getXMLHTTP(){
  var A=null;
  try{
    A=new ActiveXObject("Msxml2.XMLHTTP")
  }catch(e){
    try{
      A=new ActiveXObject("Microsoft.XMLHTTP")
    } catch(oc){
      A=null
    }
  }
  if(!A && typeof XMLHttpRequest != "undefined") {
    A=new XMLHttpRequest()
  }
  return A
}
function loadXMLDoc(url) {
    req=getXMLHTTP();
	if(req){
        req.onreadystatechange = processReqChange;
        req.open("GET", url, true);
        req.send(null);
	}
}
function loadXMLValue(url) {
    req=getXMLHTTP();
	if(req){
        req.onreadystatechange = processReq4Value;
        req.open("GET", url, true);
        req.send(null);
	}
}
function loadNewContent(url) {
    req=getXMLHTTP();
	if(req){
        req.onreadystatechange = getMoreHtml;
        req.open("GET", url, true);
        req.send(null);
	}
}
function showID(itemId) {
   document.getElementById(itemId).style.display = tr_display;
}
function hideID (itemId) {
   document.getElementById(itemId).style.display = 'none';
}
function loadInto(url,containerID) {
	targetContainer = containerID;
	loadNewContent(url );
}
function updateGeoList(regionId,lbToChange) {
    targetlb = lbToChange;
    loadXMLDoc("cm_xml.geo_select_options?p_region_id=" + regionId );
}