function CheckandSubmit(x){
var frm = x;
if (validate(frm)) frm.submit();
}

var popWin = null    // function for pop-up window
var winCount = 0
var winName = "popWin"

function openPopWin(winURL, winWidth, winHeight, winFeatures, winLeft, winTop){
  var d_winLeft = 20  // default, pixels from screen left to window left
  var d_winTop = 20   // default, pixels from screen top to window top
  winName = "popWin" + winCount++ //unique name for each pop-up window
  closePopWin()           // close any previously opened pop-up window
  if (openPopWin.arguments.length >= 4)  // any additional features? 
    winFeatures = "," + winFeatures
  else 
    winFeatures = "" 
  if (openPopWin.arguments.length == 6)  // location specified
    winFeatures += getLocation(winWidth, winHeight, winLeft, winTop)
  else
    winFeatures += getLocation(winWidth, winHeight, d_winLeft, d_winTop)
  popWin = window.open(winURL, winName, "width=" + winWidth 
           + ",height=" + winHeight + winFeatures)
}

function closePopWin(){    // close pop-up window if it is open 
  if (navigator.appName != "Microsoft Internet Explorer" 
      || parseInt(navigator.appVersion) >=4) //do not close if early IE
    if(popWin != null) if(!popWin.closed) popWin.close() 
}

function getLocation(winWidth, winHeight, winLeft, winTop){
  return ""
}

function getLocation(winWidth, winHeight, winLeft, winTop){
  var winLocation = ""
  if (winLeft < 0)
    winLeft = screen.width - winWidth + winLeft
  if (winTop < 0)
    winTop = screen.height - winHeight + winTop
  if (winTop == "cen")
    winTop = (screen.height - winHeight)/2 - 20
  if (winLeft == "cen")
    winLeft = (screen.width - winWidth)/2
  if (winLeft>0 & winTop>0)
    winLocation =  ",screenX=" + winLeft + ",left=" + winLeft	
                + ",screenY=" + winTop + ",top=" + winTop
  else
    winLocation = ""
  return winLocation
}

function showSeqCheck(show){
  var trArray = show.split(",");
  var img = document.getElementById(trArray[0]);
  img.src = (img.src.indexOf("Down") >= 0 ? "/Images/_ArrowUp_01.gif":"/Images/_ArrowDown_01.gif");
  for (var i=1; i<trArray.length; i++){
	var dv =document.getElementById(trArray[i]); 
	dv.style.display =(dv.style.display == "none" ? "block":"none"); 
  }
}

function valLen(fName,fLen,maxLen) {
    var flg = fLen.length;
	if (flg > maxLen) {
        alert( fName +' Must be ' + maxLen + ' characters or less in length');
		return false;
    }
    return true;
}

//DYNAMIC OPTIONS FUNCTIONS JKS
function DynamicOptionList(){
  if(arguments.length < 2){
    alert("Not enough arguments in DynamicOptionList()");
  }
  this.target = arguments[0];
  this.dependencies = new Array();
  for(var i=1; i<arguments.length;i++){
    this.dependencies[this.dependencies.length] = arguments[i];
  }
  this.form = null;
  this.dependentValues = new Object();
  this.defaultValues = new Object();
  this.options = new Object();
  this.delimiter = "|";
  this.longestString = "";
  this.numberOfOptions = 0;
  this.addOptions = DynamicOptionList_addOptions;
  this.populate = DynamicOptionList_populate;
  this.setDelimiter = DynamicOptionList_setDelimiter;
  this.setDefaultOption = DynamicOptionList_setDefaultOption;
  this.printOptions = DynamicOptionList_printOptions;
  this.init = DynamicOptionList_init;
}

function DynamicOptionList_setDelimiter(val){
  this.delimiter = val;
}

function DynamicOptionList_setDefaultOption(condition, val){
  if(typeof this.defaultValues[condition] == "undefined" || this.defaultValues[condition]==null){
    this.defaultValues[condition] = new Object();
  }
  for(var i=1;i<arguments.length;i++){
    this.defaultValues[condition][arguments[i]]=1;
  }
}

function DynamicOptionList_init(theform){
  this.form = theform;
  this.populate();
}

function DynamicOptionList_addOptions(dependentValue){
  if(typeof this.options[dependentValue] != "object"){
    this.options[dependentValue] = new Array();
  }
  for(var i=1;i<arguments.length;i+=2){
    if(arguments[i].length > this.longestString.length){
    this.longestString = arguments[i];}this.numberOfOptions++;
    this.options[dependentValue][this.options[dependentValue].length] = arguments[i];
    this.options[dependentValue][this.options[dependentValue].length] = arguments[i+1];
  }
}

function DynamicOptionList_printOptions(){
  if((navigator.appName == 'Netscape') &&(parseInt(navigator.appVersion) <= 4)){
    var ret = "";
    for(var i=0;i<this.numberOfOptions;i++){
	  ret += "<OPTION>";}ret += "<OPTION>"
      for(var i=0;i<this.longestString.length;i++){
	    ret += "_";
	  }
	  document.writeln(ret);
	}
}

function DynamicOptionList_populate(){
  var theform = this.form;
  var i,j,obj,obj2;
  this.dependentValues = new Object;
  var dependentValuesInitialized = false;
  for(i=0;i<this.dependencies.length;i++){
    var sel = theform[this.dependencies[i]];
    var selName = sel.name;
	if(!dependentValuesInitialized){
	  dependentValuesInitialized = true;
	  for(j=0;j<sel.options.length;j++){
        if(sel.options[j].selected){
		  this.dependentValues[sel.options[j].value] = true;
		}
	  }
    }
	else{
	  var tmpList = new Object();
      var newList = new Object();
	  for(j=0;j<sel.options.length;j++){
	    if(sel.options[j].selected){
		  tmpList[sel.options[j].value] = true;
		}
	  }
      for(obj in this.dependentValues){
	    for(obj2 in tmpList){
		  newList[obj + this.delimiter + obj2] = true;
		}
	  }
	  this.dependentValues = newList;
    }
  }
  var targetSel = theform[this.target];
  var targetSelected = new Object();
    for(i=0;i<targetSel.options.length;i++){
      if(targetSel.options[i].selected){
	    targetSelected[targetSel.options[i].value] = true;
	  }
	}
	targetSel.options.length = 0;
    for(i in this.dependentValues){
	  if(typeof this.options[i] == "object"){
	    var o = this.options[i];
        for(j=0;j<o.length;j+=2){
		  var text = o[j];var val = o[j+1];
          targetSel.options[targetSel.options.length] = new Option(text, val, false, false);
          if(typeof this.defaultValues[i] != "undefined" && this.defaultValues[i]!=null){
            for(def in this.defaultValues[i]){
			  if(def == val){
			    targetSelected[val] = true;
			  }
			}
		  }
	    }
	  }
    }
	targetSel.selectedIndex=-1;
    for(i=0;i<targetSel.options.length;i++){
      if(targetSelected[targetSel.options[i].value] != null && targetSelected[targetSel.options[i].value]==true){
        targetSel.options[i].selected = true;
	  }
    }
}
function resetSBOT(){
var frm = document.SBOT;
frm.TS.selectedIndex=0;
frm.Sector.selectedIndex=0;
listBA.populate();
listOrg.populate();
}

function init(){
  var theform = document.SBOT;
  listBA.init(theform);
  listOrg.init(theform);
}

