
function cxladdport() {
  var dv = document.getElementById('addport_div');
  if (dv) {
    dv.style.visibility = 'hidden';
  }
}

function add2port(symbol,isopt) {
  loadport('s',symbol,isopt);
  cxladdport();
}

function addport(symbol,isopt) {

  var dv;
  if (!(dv = document.getElementById('addport_div'))) {
    dv = document.createElement('div');
    dv.id = 'addport_div';
    dv.className = 'addport_div';
    loadport('a',symbol,isopt,dv);
  } else {
    dv.style.visibility = '';
  }
}

function valid_float(obj) {
   obj.value =  obj.value.replace(/[^0-9\.\-]/g, "");
   if (!obj.value.match(/^[\-]?[0-9]+\.?[0-9]*$/)) {
      alert('Invalid entry');
   }
}

function valid_int(obj) {
   obj.value =  obj.value.replace(/[^0-9\-]/g, "");
   if (!obj.value.match(/^[\-]?[0-9]+$/)) {
      alert('Invalid entry');
   }
}

function valid_date(obj) {
   obj.value =  obj.value.replace(/[^0-9\-\/]/g, "");
   if (!obj.value.match(/^20[0-9]{2}[\-\/]?[01]?[0-9][\-\/]?[0-3]?[0-9]$/)) {
      alert('Invalid entry - use YYYY-MM-DD');
   }
}

function loadport(op,symbol,isopt,dv) {
  var xmlHttp;

  var url;
  if (op == 's') {
    var pf = document.getElementById('portnames');
    var sh = document.getElementById('add_shares');
    var pp = document.getElementById('add_amtpaid');
    var pd = document.getElementById('add_trddate');
    var os = document.getElementById('add_optsym');
    var un = document.getElementById('add_under');
    url = '/f/portfolio?op=s&ns=1&pf='+pf.value+'&s=0'+'&expiry=0&strike=0&pc=0&shares='+sh.value+'&amtpaid='+pp.value+'&pdate='+pd.value;
    if (os) url = url + '&optsym='+os.value;
    if (un) url = url + '&under='+un.value;
  } else {
    url = '/f/portfolio?op=a&symbol='+symbol+'&isopt='+isopt;
  }

  try {
    xmlHttp=new XMLHttpRequest();
  }

  catch (e) {
    try {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
	xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {
	alert("Please upgrade your browser");
	return false;
      }
    }
  }
  
  xmlHttp.onreadystatechange=function() {
      if(xmlHttp.readyState==4) {
        if (op == 'a') {
          dv.innerHTML = xmlHttp.responseText;
          document.body.appendChild(dv); 
        }
      }	
  }
  
  xmlHttp.open("GET",url,true);
  xmlHttp.send(null);
}
