var xObj = false;
if(window.XMLHttpRequest) {
 xObj = new XMLHttpRequest();
} else if(window.ActiveXObject) {
 xObj = new ActiveXObject("Microsoft.XMLHTTP");
}
//Now that object variables are set up for AJAX operations, perform getting options
// for <select> dropdowns and then get the actual data for the charts.
function getOption(){
  	xObj.open('POST', '/portfolio/option.jsp', true);
	xObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xObj.onreadystatechange = responseOption;
	var fldstr = "", sql = "", sqlstr = "";
	for(var g in flds){
	  sql = "SELECT "+flds[g]+" as fld FROM bond WHERE portfolio = '"+portfolio+"' "+where+" GROUP BY "+flds[g];
	  sqlstr += ";"+sql;
	}
	xObj.send("sqls="+sqlstr.substring(1));
}

function responseOption(){
  if(xObj.readyState == 4 && xObj.status == 200) {
  var txt = xObj.responseText;
  txt = txt.substr(0, txt.length - 2); //Rid leftover white space
    var arr = txt.split("<br>");
	for(var rec = 0; rec < arr.length; rec++) {
	  var opt_arr = arr[rec].split("|");
	  var elem = document.getElementById(flds[rec]);
	  for(var col = 1; col < opt_arr.length; col++){	
  		var newOpt = new Option(opt_arr[col],opt_arr[col]);
  		elem.options[col+1] = newOpt;
	  }
	}
  } // If state responded
}

function clearFlds(fld){
  var elem = document.getElementById(fld);
  elem.options.length = 2;
}
// Get data for bond portfolio table
function getData(){
  	xObj.open("POST", "/portfolio/results.jsp", true);
	xObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xObj.onreadystatechange = responseData;
	xObj.send("portfolio="+portfolio+"&where="+where);
}

function responseData(){
  if(xObj.readyState == 4 && xObj.status == 200) {
	document.getElementById("tbl").innerHTML = xObj.responseText;
  } // If state responded
}
